mirror of
https://codeberg.org/noisytoot/notnotdnethack.git
synced 2024-11-14 13:26:10 +00:00
a26a0d6f8c
Smiths make items for the player if provided with raw materials. #chat with a smith to access their services. While a very early smith could possibly be used to fill out the PCs own armor or weapons, the main use-case is probably to help equip pets in a mythical beastmaster run. However, magic smiths can duplicate GoP and the like in metals other than iron, useful for iron-haters. (Part 2 will have to wait untill after I yoink forges from EvilHack <.<) Add an esmt struct to track the various resource types, the knowledge of the smith, and (eventually) their home forge if applicable. -Whether or not a monster is_smith_mon is determined only by having one of these structs. -Structs are added when monsters are created on the basis of is_smit_mtyp -Provides fields for more material types than are currently used. For example, "gold" is provided but no smith does goldsmithing. Generic smith monsters: -goblin smiths --can make goblin armor and weapons out of iron -dwarf smiths --can make dwarf armor and weapons out of iron --can duplicate some magic items using silver -treesingers --unimplemented in this version, won't need raw materials -mithril smiths --can make elf mithril gear out of mithril, can duplicate some magic items --a chunk of unrefined mithril from the moria dwarf quest can be turned in for 1000 mithril (3x the required starting amount) --can make upgrade kits -shadowsmiths --can make drow armor out of mithril, can duplicate some magic items and insight weapons --a chunk of fossil dark can be turned in for 1000 shadowsteel, 3x the required starting amount. --can make upgrade kits -human smiths --can make generic (human) armor and weapons out of iron. --1/3rd of armor and weapon shop shopkeepers will be human smiths ---The smith menu is accessable after the "services" menu ---Armor, weapons, and tools count as "known" for ID purposes ---Shop credit can be used to pay for commissions Dracae "smiths" -Can grow a variety of organic items for the PC --Includes living armor --Can duplicate cans of grease and unicorn horns. -Only do "smith" work if tame -Need to be fed food rather than material, it needs ~8 food rations to be ready to make the first item. -Can grow loyal pets for the PC, there is a game limit of how many derived from Cha (tracked by u.dracae_pets). Oona smithing services -Will only perform smith services if tame. -Makes a wide variety of weapons, eilistran armor, and harmonium armor -Can duplicate a variety of magic armor -Can make upgrade kits -Planned to be able to create minions, but this is unimplemented. -Items can be attuned to one of her elements. Offensive items (weapons, gloves, boots) get the offensive trait, armors get defensive axiomatic and elemental resistance. --Plausibly quite useful for Monks, if they forgo artifacts in those slots. Placement -Oona is currently the only guaranteed smith monster in the game -In games where dracae are the eladrin precursors, Oona's two dracae are also "smiths" -Smiths are included in most throne-room prisoner and healer-quest plague lists. Make some formerly-shopkeeper-specific functions safe to call with non-shopkeeper smiths The smith struct will not be included if a monster is cloned, and is not included on summoned or non-intelligent (presumably zombie-templated) monsters. Split metalic_material(mat) away from is_metallic(otmp) so that it can be used in the smith code if desired. Increase the Grue platinum bar sizes to LARGE platinum bars (which contain enough platinum for an item from Oona). Harmonium armor can come in various metals (ex: oona's platinum)
340 lines
14 KiB
Text
340 lines
14 KiB
Text
# SCCS Id: @(#) Grue.des
|
|
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
# Copyright (c) 1990, 1991 by M. Stephenson
|
|
# NetHack may be freely redistributed. See license for details.
|
|
#
|
|
# These are the Grue's levels :
|
|
#
|
|
|
|
MAZE:"chall-5",' '
|
|
FLAGS: noteleport,shortsighted
|
|
GEOMETRY:center,center
|
|
# 1 2 3 4 5 6 7
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
MAP
|
|
0 ---- ---- ---- ---- -}}- -}}- ---- ---- ---- ----
|
|
1 -------- -------- -.-}}-.- ---}}---}}-.- --- -.- --- ---
|
|
2 | }}}}}} |
|
|
3 | { }}}}} .
|
|
4 |-| --- -.---..- -.- -- }---} -.-} --- --- --- |-|
|
|
5 |- | . | . | | |. }}. |} | | }. . | | | . -|
|
|
6 |- -.- -----..- -.- -- }}-.-} | | }--- --- -.- -|
|
|
7 |- } }}}} }}}} . | -|
|
|
8|- } }}}} }} . | -|
|
|
9| -.- ---}}-- -.-}}-.-}}-.- | | -.- --- |
|
|
0| | | | . }|-- | |}}| |}}| | . | | . | . |
|
|
1| -.- ---} -.- -.-}}-.-}}--- --- S#F -.- |
|
|
2|- }} }}}}}}}}} }}} . | -|
|
|
3 |- }}} }}}}}}}}}} }} | . -|
|
|
4 |- -.- ---} --- --- }---}} --- -.- | | -.----.- -|
|
|
5 |- | | | .}}. | | . }| .}} . | | . | | | . -|
|
|
6 |-| | | --- }--- -.- }---} -.- -.- -.- --- --- |-|
|
|
7 | -.- }}}}}} { | | |
|
|
8 | ---- }}}}}} | | |
|
|
9 ---}}--- --| |--}}---}}---}}--- ---}}---}}--- --- ---}}---
|
|
0 ---- ---- ---- -}}- -}}- ---- ---- ---- ---- ----
|
|
ENDMAP
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
# 1 2 3 4 5 6 7
|
|
|
|
# unlit light sources in the walls, waiting to be lit and/or looted
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"wax candle",(40,05)
|
|
OBJECT:'(',"wax candle",(33,15)
|
|
OBJECT:'(',"wax candle",(37,09)
|
|
OBJECT:'(',"wax candle",(37,11)
|
|
OBJECT:'*',"chunk of fossil dark",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[10%]:'*',"chunk of fossil dark",random
|
|
|
|
GEOMETRY:center,center
|
|
# 1 2 3 4 5 6 7
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
MAP
|
|
0 ---- ---- ---- ---- -}}- -}}- ---- ---- ---- ----
|
|
1 --------..--------..---}}---..---}}---}}---..---..---..---..---
|
|
2 |.................................}}}}}}......................|
|
|
3 |..............................{..}}}}}.......................|
|
|
4 |-|....---..--------..---..--.......}---}.---}.---..---..---....|-|
|
|
5 |-......| |..| |..| |..||......}}| |}.| |.}| |..| |..| |......-|
|
|
6 |-.......---..--------..---..--......}}---}.| |.}---..---..---.......-|
|
|
7 |-...................}.............}}}}.}}}}.| |.......................-|
|
|
8|-...................}.............}}}}.}}....| |........................-|
|
|
9|...............---..---}}--...---}}---}}---..| |..---..---...............|
|
|
0|...............| |..| |.}|--..| |}}| |}}| |..| |..| |..| |...............|
|
|
1|...............---..---}.---..---}}---}}---..---..S#F..---...............|
|
|
2|-.........................}}...}}}}}}}}}.....}}}..| |...................-|
|
|
3 |-.......................}}}.}}}}}}}}}}.......}}..| |..................-|
|
|
4 |-.......---..---}.---..---.}---}}.....---..---..| |..--------.......-|
|
|
5 |-......| |..| |}}| |..| |.}| |}}.....| |..| |..| |..| |......-|
|
|
6 |-|....| |..---.}---..---.}---}......---..---..---..--- ---....|-|
|
|
7 |....---...............}}}}}}..{....................| |......|
|
|
8 |...........----.......}}}}}}.......................| |......|
|
|
9 ---}}---..--| |--}}---}}---}}---..---}}---}}---..--- ---}}---
|
|
0 ---- ---- ---- -}}- -}}- ---- ---- ---- ---- ----
|
|
ENDMAP
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
# 1 2 3 4 5 6 7
|
|
|
|
# Dungeon Description
|
|
RANDOM_PLACES:(63,18),(64,19),(52,11),(72,09)
|
|
REGION:(00,00,75,20),unlit,"ordinary"
|
|
|
|
# Teleport: down to upstairs area, up to downstairs area
|
|
TELEPORT_REGION:(02,02,20,18),(0,0,0,0),down
|
|
TELEPORT_REGION:(55,02,73,18),(0,0,0,0),up
|
|
|
|
# Stairs
|
|
STAIR:(08,10),up
|
|
STAIR:(68,10),down
|
|
|
|
# Treasure
|
|
OBJECT:'#',"uncharged lantern",(62,18)
|
|
CONTAINER:'(',"sack",(62,18)
|
|
OBJECT:'#',"+2 blessed wrathful silver elven broadsword",contained
|
|
OBJECT:'(',"magic torch",contained
|
|
OBJECT:'#',"large platinum bar",contained
|
|
|
|
# Warning
|
|
ENGRAVING:(08,10), dust, "BEWARE OF GRUE"
|
|
|
|
# Non diggable walls
|
|
NON_DIGGABLE:(00,00,75,20)
|
|
|
|
# Objects
|
|
OBJECT:'%',"egg",random,"dark worm",0
|
|
OBJECT:'?',"light",random,blessed,0
|
|
OBJECT:'?',"light",random,cursed,0
|
|
OBJECT[50%]:'%',"egg",random,"dark worm",0
|
|
OBJECT[50%]:'%',"egg",random,"dark worm",0
|
|
OBJECT[50%]:'%',"egg",random,"dark worm",0
|
|
OBJECT[90%]:'!',"healing",place[0],blessed,0
|
|
OBJECT[50%]:'!',"extra healing",place[0],blessed,0
|
|
OBJECT[75%]:'%',"egg",place[1],"deep wyrmling",0
|
|
OBJECT:'%',"corpse",place[2],"Elvenqueen",0
|
|
OBJECT:'/',"light",place[2]
|
|
OBJECT:')',"elven broadsword",place[2],uncursed,1
|
|
OBJECT:'[',"cloak of displacement",place[2]
|
|
ENGRAVING:place[2], engrave, "Elbere-"
|
|
OBJECT:random,random,random
|
|
OBJECT:random,random,random
|
|
OBJECT:random,random,random
|
|
|
|
# Traps (to put out your lightsource)
|
|
TRAP:random,random
|
|
TRAP:"magic",random
|
|
TRAP:"rust",random
|
|
TRAP:"rust",random
|
|
TRAP:"rust",random
|
|
TRAP:"rust",random
|
|
TRAP:"rust",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
|
|
# Monsters
|
|
MONSTER:'U',"Grue",(68,10),asleep
|
|
MONSTER:'w',"dark worm",(68,11)
|
|
MONSTER:'w',"dark worm",(68,09)
|
|
MONSTER:'w',"dark worm",(66,10)
|
|
MONSTER:'w',"dark worm",(69,10)
|
|
MONSTER:'w',"dark worm",(60,07)
|
|
MONSTER:'w',"dark worm",(60,13)
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'P',"gray ooze",random
|
|
MONSTER:'B',"vampire bat",random
|
|
MONSTER:';',"giant eel",random
|
|
MONSTER:';',"giant eel",random
|
|
MONSTER:';',"piranha",random
|
|
MONSTER:';',"piranha",random
|
|
|
|
|
|
|
|
|
|
MAZE:"chall-6",' '
|
|
FLAGS: noteleport,shortsighted
|
|
|
|
GEOMETRY:center,center
|
|
# 1 2 3 4 5 6 7
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
MAP
|
|
0
|
|
1 |---.----| |---|
|
|
2 |-.- -.----.- -----|
|
|
3 |- }}}}}} ----.----|
|
|
4 |- }}}}}}}} -|
|
|
5 |-----| |- }}}}}} -|
|
|
6 |-- --| |- - -.-----.- |
|
|
7 |- --| |- -|- ---| |- |
|
|
8 | -.------.- -| | --.----| . -|
|
|
9 | --| | | |- -|
|
|
0 | | |-- . |--.--| |-.- -.--- -|
|
|
1 |- -- -.-- | |-.- -||-- --| | |
|
|
2 |- -||-.- -||- -- --| | ---|
|
|
3 |--.- -- |- -- -| |- -|
|
|
4 | -| |- --| | |
|
|
5 |-- -.-----.- -.-- --| | |
|
|
6 |- -| |-.- -- .-| | |
|
|
7 | | |- -.--||- - --| |- -|
|
|
8 | | |--.--| |-|---| |----|
|
|
9 |- -|
|
|
0 |-----.-----.---|
|
|
ENDMAP
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
# 1 2 3 4 5 6 7
|
|
|
|
# unlit light sources in the walls, waiting to be lit and/or looted
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'(',"tallow candle",random
|
|
OBJECT:'*',"chunk of fossil dark",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[50%]:'(',"wax candle",random
|
|
OBJECT[10%]:'*',"chunk of fossil dark",random
|
|
|
|
GEOMETRY:center,center
|
|
# 1 2 3 4 5 6 7
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
MAP
|
|
0
|
|
1 |--------| |---|
|
|
2 |---........--------...-----|
|
|
3 |-....}}}}}}.................---------|
|
|
4 |-....}}}}}}}}.........................-|
|
|
5 |-----| |-......}}}}}}...........................-|
|
|
6 |--.....--| |-....-.............---------..............|
|
|
7 |-.........--| |-....-|-.........---| |-.............|
|
|
8 |............----------....-| |..-------| |............-|
|
|
9 |........................--| |..| |-..........-|
|
|
0 |........................| |--..| |-----| |---....-----.-|
|
|
1 |-.........--............----....| |---.....-||--.....--| |.|
|
|
2 |-.......-||---.................-||-.........--.....--| |.---|
|
|
3 |----.-- |-.................--................-| |-....-|
|
|
4 |.-| |-.................................--| |......|
|
|
5 |--.---------...----.........................--| |......|
|
|
6 |-...............-| |---..........--........--| |......|
|
|
7 |.................| |-.....----||-.-...--| |-....-|
|
|
8 |.................| |-----| |-|---| |----|
|
|
9 |-...............-|
|
|
0 |---------------|
|
|
ENDMAP
|
|
#0123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
# 1 2 3 4 5 6 7
|
|
|
|
# Dungeon Description
|
|
RANDOM_PLACES:(31,11),(45,11),(50,02)
|
|
REGION:(00,00,75,20),unlit,"ordinary"
|
|
|
|
# Teleport
|
|
TELEPORT_REGION:(03,04,18,19),(0,0,0,0),down
|
|
|
|
# Stairs
|
|
STAIR:(13,18),up
|
|
STAIR:(66,15),down
|
|
|
|
# Treasure
|
|
OBJECT:'#',"uncharged lantern",(67,17)
|
|
CONTAINER:'(',"sack",(67,17)
|
|
OBJECT:'#',"+2 blessed wrathful silver elven broadsword",contained
|
|
OBJECT:'(',"magic torch",contained
|
|
OBJECT:'#',"large platinum bar",contained
|
|
|
|
# Non diggable walls
|
|
NON_DIGGABLE:(00,00,75,20)
|
|
|
|
# Objects
|
|
OBJECT:'%',"egg",random,"dark worm",0
|
|
OBJECT:'?',"light",random,blessed,0
|
|
OBJECT:'?',"light",random,cursed,0
|
|
OBJECT[50%]:'%',"egg",random,"dark worm",0
|
|
OBJECT[50%]:'%',"egg",random,"dark worm",0
|
|
OBJECT:'!',"gain level",random
|
|
OBJECT:'+',random,random
|
|
OBJECT:')',"golden arrow",random
|
|
OBJECT:random,random,random
|
|
OBJECT:random,random,random
|
|
OBJECT:random,random,random
|
|
|
|
# Warning
|
|
ENGRAVING:(13,18), dust, "BEWARE OF GRUE"
|
|
|
|
# An unlucky adventurer
|
|
OBJECT:'%',"corpse",place[0],"Elvenking",0
|
|
OBJECT:'/',"light",place[0]
|
|
OBJECT:')',"elven broadsword",place[0],uncursed,4
|
|
OBJECT:'[',"cloak of invisibility",place[0],cursed,-1
|
|
ENGRAVING:place[0], engrave, "Elbere-"
|
|
|
|
# Traps
|
|
TRAP:random,random
|
|
TRAP:random,random
|
|
TRAP:"rust",random
|
|
TRAP:"rust",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
TRAP:"board",random
|
|
TRAP:"board",(64,11)
|
|
|
|
# Monsters
|
|
MONSTER:'U',"Grue",(66,15),asleep
|
|
MONSTER:'w',"dark worm",(67,15)
|
|
MONSTER:'w',"dark worm",(65,15)
|
|
MONSTER:'w',"dark worm",(68,14)
|
|
MONSTER:'w',"dark worm",(64,14)
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:'w',"dark worm",random
|
|
MONSTER:';',"kraken",(36,04)
|
|
MONSTER:'L',"lich",place[1]
|
|
MONSTER:'W',"barrow wight",(41,15)
|
|
MONSTER:'d',"warg",(48,04)
|
|
MONSTER:'d',"warg",(49,04)
|
|
MONSTER:'d',"warg",(50,04)
|
|
MONSTER:'d',"warg",(51,04)
|