kimjoy2002 / crawl

Dungeon Crawl: Stone Soup Korean fork repository
Other
29 stars 20 forks source link

새로운 미니던전 추가(실험 중) #469

Closed youredoomed closed 3 years ago

youredoomed commented 3 years ago
###############################################################################
#
# The Forge of Golems (youredoomed)
#
###############################################################################

{{
function golemforge_portal(e)
  local timeout_turns = crawl.random_range(600, 800)

  local messager =
    timed_msg {
      initmsg = { "You hear a sound of hammering.",
                  "There is an entrance to the golemforge on this level. "
                  .. "Hurry and find it before the portal melts!" },
      finalmsg = "A sound of hammering is finaly fades away.",
      verb = 'hammering',
      noisemaker = 'artificial gateway',
      ranges = {
        { 5000, 'faint ' },  { 4000, '' },
        { 2500, 'steady ' }, { 1500, 'quick ' },
        { 0, 'loud ' }
      }
    }

  e.lua_marker('O',
      timed_marker {
        disappear = "The gateway is sealed and disappears.",
        entity = 'gateway',
        turns = timeout_turns,
        single_timed = true,
        floor = "expired_portal",
        feat_tile = "dngn_portal_golem_gone",
        msg = messager })
  e.tags("uniq_golemforge chance_golemforge")
  e.chance(500)
  e.kfeat("O = enter_golem")
  e.colour("X = lightblue")
  e.kfeat("X = x")
  e.rtile("X = dngn_crystal_lightblue")
  e.colour(".1234 = lightblue")
  e.ftile(".12345O+^ = floor_crystal_squares")
end

function golemforge_appearance(e)
  e.kfeat("< = exit_golem")
  e.kprop("w = no_tele_into")
  e.set_feature_name("crystal_wall", "wall of crystal")
end

-- Monster set functions. '9' for gargoyle.

function golem_list_gargoyle(e)
   gargoyle_type = "gargoyle w:3 / war gargoyle w:3 / " ..
               "molten gargoyle w:1"
end

}}

# Entries ##########################################
default-depth: Elf, Depths:1-4

NAME:   portal_golemforge_entry_pillars_three
TAGS:   transparent
DEPTH:  Elf, Depths:1-4
: golemforge_portal(_G)
MAP
   ...
....X...
.X...XX.
..XXOXX..
 .XX...X.
 ...X....
   ...
ENDMAP

NAME:   portal_golemforge_entry_pillars_four
TAGS:   transparent
DEPTH:  Elf, Depths:1-4
WEIGHT: 6
: golemforge_portal(_G)
MAP
   ...
  .X.X.
 .X.X.X.
.X.X.X.X.
..X.O.X..
.X.X.X.X.
 .X.X.X.
  .X.X.
   ...
ENDMAP

NAME:     portal_golemforge_entry_ugly_swarm
TAGS:     no_monster_gen no_item_gen transparent
DEPTH:    Elf, Depths:1-4
WEIGHT:   2
SHUFFLE:  ABC
SUBST:    A = X, B = X., C = ., : = 1.
NSUBST:   2 = 1:12 / 3 = 1. / *:.
NSUBST:   1 = 7:1 / 1:1. / *:.
: golemforge_portal(_G)
MAP
    '''''''
   '''''''''
  '''.....'''
 '''.A:B:C.'''
'''.:..:..:.'''
''.C..111..A.''
''.:.12221.:.''
''.B:12O21:B.''
''.:.12221.:.''
''.A..111..C.''
'''.:..:..:.'''
 '''.C:B:A.'''
  '''.....'''
   '''''''''
    '''''''
ENDMAP

# The destination Depths:1-4s ############

default-depth: Golemforge

NAME:   golemforge_statue_garden_chambered
TAGS:   no_item_gen no_monster_gen no_pool_fixup
ORIENT: encompass
MONS:   crystal guardian / iron golem / electric golem w:1
KMONS:  ! = lightning spire
KMONS:  I = iron golem
: golem_list_gargoyle(_G)
: mons(gargoyle_type)
KITEM: i randbook disc:necromancy slevels:16 / \
       randbook disc:conjuration slevels:16 / \
       randbook disc:summoning slevels:16 / \
       any weapon good_item randart / \
       any armour good_item randart / \
       any randart jewellery
: golemforge_appearance(_G)
MAP
ccccccccccc
c|*iiiii*|c
c*.IIIII.*c
c%.......%c
c.........c
c.........c
cc.......cc
ccc.....ccc
ccccc.ccccc
ccc.....ccc
cc.......cc
c!.......!c
cI........c
c........Ic
cI........c
c........Ic
ccccc.ccccc
x%*.....*%x
x%.......%x
x*.......*x
x!.......!x
x....I....x
xx.......xx
xxx.....xxx
xxxxx.xxxxx
xxx.....xxx
xx.......xx
x....A....x
x.........x
x.........x
x....<....x
x.........x
xxxxxxxxxxx
ENDMAP

화면 캡처 2020-09-20 113408 golemforge_portal golemforge_portal_closed 화면 캡처 2020-09-20 113631 image

목표 모든 무기/방어구/장신구/책이 랜다트로만 드랍되는 후반부(엘프, 심층부) 미니던전 추가 수정 수호자, 강철 골렘 위주로 구성된 마법면역+높은 저항+높은 AC를 지닌 몹들 내부 벽을 수정 벽으로 배치하여 멀티잽이 가장 큰 변수로 작용하는게 특징

진척도 미니던전 추가, 지형 변경, 몹 배치 변경, 보상 설정까지 구현됨

TODO 굴착이 불가능한 수정 벽으로 변경하기수정 벽으로 안쪽을 감싸주기만 하면 됨 전용 골렘들 추가하기(약 4~6종류) 바리에이션 추가하기(장기적 목표)

youredoomed commented 3 years ago

moss_golem clay_golem stone_golem crystal_golem aether_sentinel armour_golem orange_crystal_guardian 구버전 몹들의 타일을 바탕으로 새로운 몹을 위한 타일을 만드는 중

youredoomed commented 3 years ago

https://github.com/youredoomed/the_legion_from_beyond/commit/d95cec3bf2ab7f96b6885d55151a26a89ea4a7a3 새로운 미니던전 추가에 필요한 최소한의 커밋을 모아둠.

youredoomed commented 3 years ago

화면 캡처 2020-09-20 233419 엘프홀 3층에서 정상적으로 생성되는 걸 확인함.