Dwarven Hall


The plan appears to be “merge first, redesign later”. We'll merge the current state (massaging the code and fixing bugs), and edit it later.

dpeg: yes, that sounds good to me. We know what we (= all of us want): a branch populated by deep dwarves (this gives monster set) and competing with Elven Halls (this gives difficulty). The design by blue_anna is surely close enough to warrant this approach (merge first, modify later).
blue_anna had said: could you add code only above of the commit “unborn reset to lvl 11”, and not edit commits below it? (resolving rebases is ok, I mean actual fixes and changes that would muddle diffs)
I asked this but since that commit I have fixed my code to conform to crawl whitespace standards. You might want to update to this commit instead: 6a355421f0907c78522735fa157f96b760b7fabe «renormalizing spacing for all files I changed (bad vim! bad)»

This page is to discuss questions, bugs with an obvious solution are out of scope here.


Mislead, Forest, witches

Giving Mislead to witches is no good. It should remain a trademark of Mara, especially that it, while cool, goes against our design by being a mostly UI thing. Except for monsters who came in later, it can be worked around by tracking monsters, either manually or with a bot.

kilobyte: my verdict: definitely no
blue_anna - while I will definitely get rid of it to preserve Mara theme, its a simply beautiful illusion spell that fits perfectly with huldra. :) Can you help me brainstorm a replacement? :)
I agree that Misled should stay special for Mara. Typical things that witches could do: slow, short time toad form (funnier and better than paralyse), curse (speech and items). — dpeg 2010-09-20 13:51
Toads would be just a calque of porkalator, but then, it's such a staple in fairy tales about witches that it's probably not a bad idea. — KiloByte 2010-09-23 22:43
That is true, but we are free to make Hog form and Toad form to be different in some ways. Since there'll be more witches than Kirkes, I suggest that the latter be more forgiving. — dpeg 2010-09-26 21:00

Awaken Forest is probably overused too. Forest witches using it is slightly bad, giving it to regular ones as an arbitrary spell is far worse.

kilobyte: my verdict: Forest Witches: somewhat dislike, regular ones: definitely no
The Awaken Forest will be used somewhere else, too, I think. Since the deep dwarf branch is pretty full with flavour and monsters, I agree that the Forest Witches are not needed. — dpeg 2010-09-20 13:51
The different witches are all called “witch” in-game, despite differing in more than just spellbooks; they should be named differently. Also, “evil witch” is rather bland as far as names go. — dolorous
Brothers in Arms

kilobyte: Brothers in Arms are massively overpowered. Trog's wrath frequently kills xl 27 players in a couple of rounds, you're putting this in an earlyish midgame branch.

blue_anna Please note that this is not the wrath version of the spell, the monsters summoned are the same as a lvl 7-8 player with the skill – ie, right when you first get it. - have you played it? if not, please kill a berserker (or die trying) and report back. I only say that because – I find that it is not overpowered in-game; I mean I've killed more than just a handful of berserkers, and their berserk summon at the end. It is dangerous, but its not that bad.
I would suggest to leave them in. They'll make a fine threat on branch end. — dpeg 2010-09-20 13:51
I spawned a berserker and was instantly facing a berserk stone giant and rock troll. Yep. — OG17 2010-09-24 00:03
What “yep”? The whole point is that berserkers might make interesting opponents on Dwarf:5. If need be, they'll come as rare as DEMAs and DEMBs. — dpeg 2010-09-26 21:00
Single berserk orb guardians can take down zot-capable characters, and a stone giant, though slower, has identical damage and health. Look at rock trolls, even. These aren't comparable to elf's slower easily-abjured summoned demons, and will be even worse if haste's speed is nerfed and not berserk's, as has been suggested. — OG17 2010-09-27 00:41
Sticks to Snakes monster spell

Sticks to Snakes, Evaporate work without components.

kilobyte: my verdict: somewhat acceptable, but needs discussion
blue_anna sticks to snakes could use materials, I'll go back and rework that. The problem with evaporate requiring potions for monsters is that monsters have a potion slot – that is, they can only carry one potion. it makes sense to pretend they used all their potions before dying.
Can stay in, in my opinion. Consistency is less important than new/interesting monster behaviour in this case (and in my opinion). — dpeg 2010-09-20 13:51
Ok, let's pretend the stuff they actually carry is what was left from their use. — KiloByte 2010-09-23 22:43
There's a deeper issue with Evaporate. Until it was added, all monsters with cloud spells were immune to the effects of those clouds (swamp drakes “cast” Mephitic Cloud but are poison-resistant, death drakes “cast” miasma but are rotting-resistant, etc.), as shown by their not caring about walking into them. This is not the case anymore. For example, Paracelsus can easily be led to commit suicide by e.g. letting him use Evaporate to cast the equivalent of Poisonous Cloud, after which he'll blithely walk into the cloud and poison himself. (On a similar note, evil witches can cast Mephitic Cloud but aren't poison-resistant, so they have the same problem.) — dolorous

Paracelsus uses the name of an actual human. Nikola already raised quite an outcry, and that's a popular first name in quite a bunch of countries – while Paracelsus is unique. I'd use an invented or mythological name instead.

kilobyte: my verdict: strong dislike, but not a blocker, and not an urgent matter
Not really urgent, no. It is painful to come up with a name, but if pressed, I'll take that responsibility. — dpeg 2010-09-20 13:51
Another Paracelsus issue: Should he be the same color as deep dwarf death knights? — dolorous
(No.) Berserkers, vanilla deep dwarves, and witches are also identical, as are scions, artificers, and trollkoners. — OG17 2010-09-24 12:16

One last Paracelsus issue: as a unique, he has no speech. (And should he and/or other deep dwarves have accents as Wiglaf does?) — dolorous 2010-09-27 01:57

Wiglaf's speech is embarrassing. Please don't spread this. — OG17 2010-09-27 13:35
Why? It kicks ass! We need more uniques with accented speech. Even if that's just a lithp or thomething.
Note that Wiglaf is a surface dwarf, though, so we are not bound to make deep ones consistent with him. — KiloByte 2010-09-27 14:59
The name's fine as long as there's even a token attempt to create a fictional background. — OG17 2010-09-24 12:18
I am not really happy with Paracelsus (the name) and even less so with the description. If you want to model a unique after a figure of (recent) history, please be much more subtle (think of Sigmund and, to a lesser extent, Nikola). — dpeg 2010-09-27 11:11
Perhaps you could change to a name based on the purported attributes of Paracelsus? Per Wikipedia (here:[http://en.wikipedia.org/wiki/Paracelsus]), he was known for his lack of humility and high self-opinion, and the name Paracelsus itself is a reference to being the equal of or better than an earlier scholar. I would suggest something along the lines of a title rather than a traditional name. Perhaps “The Master” (or “Der Meister” if you want to go German) or “The Great Alchemist”. — jeffqyzt 2011-02-22 13:59
Rods used by monsters

Rod use is fully deterministic: monsters always use the strongest spell, and after that, always the weakest.

That's not good. They should also be able to do something else instead? (Like fight if they have picked up a weapon — can they?) — dpeg 2010-09-20 13:51
blue_anna rod use is implemented as a preferred action over a wand use. ie, when the monster is considering to use a wand (which it does even if it doesnt have a wand), if it has a rad it will abort that action and use the rod instead (I see room for improvement here a bit). Wand use, rod use, spells, scrolls, these things do not interrupt a mosnters ability to attack the player.. they happen in addition.
Casket of three fates

casket of the three fates: it's completely unconnected without the Dwarven Hall, and the design is dubious

kilobyte: my verdict: ambivalent
Not a big problem either way. If you can, leave it out of trunk so we discuss its merits further. If it goes in, we are forced to think about it, so we'll do. — dpeg 2010-09-20 13:51
monster Pain Mirror

Pain Mirror paralyzes the monster for the duration – why?? Player version leaves people fully mobile.

blue_anna - that's an important bug! The bk_yred version should simply mirror damage (I read the description instead of the code, thought you had to be praying), but the unborn version should remain as mirroring while they kneel down and shut you down. – its a cool effect :)
You have to be praying, but prayer never turned you immobile. — KiloByte 2010-09-24 16:46

== monster Burn Book =0 Monster Burn Spellbooks is pretty much without merit. It currently results in berserkers wasting a turn from time to time. Even with that fixed, they don't carry books on them and lack the AI to throw them at you. And adding that would probably be not worth the effort.

blue_anna spells are implemented as costing no time for monsters, so it only wastes the chance to cast a spell that turn. it's main benefit is that a berserker will destroy a spellbook if combat happens near the spellbook, so casters have to weigh priorities very carefully (see Brothers in arms against squishy casters).
What if the berserker is friendly? Should it only cast it if you worship Trog, or should it never cast it? (The issues are the same as in my friendly Drain Life question below.) — dolorous

Okay to leave in, in my opinion. Will make for interesting vaults :) — dpeg 2010-09-20 13:51

Does anyone else find a deep-dwarf-branch tormenting monster to be a bit questionable? Regardless, deep dwarf unborn glyph needs to be z or perhaps L or n, depending on flavor, as a @-glyph monster isn't going to be undead, never mind when it's labelled “dwarf.” — OG17 2010-09-24 00:03
Actually yes. I don't think that Dwarf needs torment. — dpeg 2010-09-26 21:00
Monster descriptions

Monster descriptions are lacking. Generally, they need to be more crawl-specific and less mythology-encyclopedia-entry. Paracelsus is mentioned above, but his reads like a book report (and misspells zinc). Huldra's assumes all player characteres are male, and even if that's addressed, there'll be interesting questions if the cat race is added. Trollkoner's uses non-ascii characters or something. — OG17 2010-09-24 00:03

We can't assume the player is of any specific gender – NetHack does keep track of the player's gender, we don't. And it's not just cats who wouldn't care about a pretty human – I guess ogres, centaurs, ghouls and nagas wouldn't do either. Unless you strive for Star Wars-level realism with sound in space and a blob of goo surrounding itself with human slaves. — KiloByte 2010-09-24 00:14

Greater wraiths were missing descriptions entirely; I've added one, based somewhat on the descriptions of other wraiths. — dolorous

I have a more fundamental issue with Trollkoner and Huldra: they're too specific lore to me. (Granted, centaurs and sphinxes are as well, but I believe — perhaps mistakenly — that they are known in a broader context.) Therefore, I suggest to replace one by “deep witch” or “deep dwarf witch” (I like the witch topic). — dpeg 2010-09-26 21:00

Seconded. — dolorous
What does “deep” even mean here? It's rather common for such a vague modifier. A witch from the deep? “Hag” names might have more character. — OG17 2010-09-27 00:41

Should monster deep dwarves get one level of negative energy resistance, as high-level player deep dwarves do? — dolorous

After looking into it, I've noted that this would make them invulnerable to vampiric draining and drain life, so I'd guess not. (Sorry for replying to myself.) — dolorous

A statue can't “come to life” as a ghost. They should crumble and release a ghost, or whatever. — OG17 2010-09-24 13:58

How should we handle two DKs/Unborns, both with Pain Mirror on, and one hitting another due to confusion/etc? Note that it works after AC but before DD damage shaving, so 1 hp would keep getting reflected forever, doing 0 damage every time. — KiloByte 2010-09-24 16:46

Regarding monster gear: deep dwarves can get spears or halberds, but dwarves are supposed to be bad with polearms. Also, nisse can get spears, but are related to kobolds, which are even worse with polearms than deep dwarves are. — dolorous

Regarding Drain Life: How should it be handled if the caster is friendly for whatever reason (charmed, etc.)? Currently, the spell just indiscriminately draws life force from every vulnerable monster in the caster's LOS, regardless of attitude, so the caster could cheerfully damage you and other vulnerable allies. Note that the player version has the same problem (and should probably be handled similarly), but it's less of an issue there since as an Yred worshipper, most if not all your allies would be undead and immune to Drain Life, and you can choose not to use it, whereas the monster version has hostile deep dwarf death knights drawing life from their hostile dwarven allies, and is automatically used much more regularly at low caster HP. — dolorous

monster Healers

Whatever happened to having a healer? A player that can quickly kill dwarves can walk out of the branch with 20-30 each of healing and heal wounds potions. These can't really be factored into the overall (nonexistent) loot either, as they're useless to the mummy race, meaning that the branch coinflip coming up “dwarf” would result in a disproportionately weaker game for them. Also, trollkoner currently have minor (self) healing, and making them actual support healers would give them a much stronger reason to exist. — OG17 2010-09-26 16:03

I don't care so much for Mummies. I always supported a deep dwarf healer type. This has been shot down because everyone hated the priest idea (the healers would be deep dwarves believing in Elyvilon) but my actual point was that a it would be very interesting to have a non-healing monster set (the deep dwarves) who bring smite-targeting healers (this is like orc priests in reverse). I still support this idea, Elyvilon or not. — dpeg 2010-09-26 21:00
This didn't occur to me before, but Ely-worshipping DD would raise difficulties if the player was a holy/Ely worshipper. I'd also think that a player shouldn't be openly handicapped by random branch selection, mummy or not. — OG17 2010-09-27 00:41
Idea for healers: no attacks of their own; try to slip behind others, particularly bands; flee if no other monsters are around; good gods dislike it if you harm them. — MrMisterMonkey 2010-09-27 03:11
melee monsters

There's way too many boring melee enemies here, and the interesting enemies are very rare. I'd suggest dumping scions and replacing them with artificers, tweaked as needed, so that the “slightly stronger melee dwarf” would have some life to it. Also, these artificers should spawn with bucklers so that the resource is available in either branch - it's not uncommon for players to dip into elf to grab a shield, and there's none to be found in dwarf. (A surplus of striking rods hardly seems like a problem, though nemelex weight might need to be adjusted?) — OG17 2010-09-26 16:03

One thing I find interesting is that this branch does provide earlier access to crossbows, assuming that you don't find a high-level orc in the Orcish Mines to steal one from and that you can't/don't want to hold out until the yaktaurs in the Vaults. — dolorous
This is true, though bucklers are much more widely appealing than crossbows and general early scarcity is a separate issue (ranged classes having race-dictated weapons, etc). I'd think it's more like how elf is a bow-user's dream, or how shoals gives tons of javelins - this concern can't be avoided if randomized branches provide themed items. — OG17 2010-09-26 17:32
The fact that one branch yields one thing, but the competing branch something else is Good. There is no problem is both are good sources of bucklers (say), but it is neither a problem if one doesn't. — dpeg 2010-09-26 21:00

What is with the dogs, rats, and bugs, seriously. They don't belong here, never mind in legions. — OG17 2010-09-26 16:03

If there were a type of undead dog, that might be fitting here, but that's really a different issue. — dolorous
Similarly with vanilla elves, assorted trolls & giants, trollkoner, wraithlies, etc.; they clutter up the branch and don't particularly add do the whole “dwarven hall” deal. While Hall of Obtuse Scandinavian Folklore might have some appeal akin to that of the Shoals, I personally feel that the branch would work much better if it focused on being a dwarven hall (this also means putting the whole veneration of fallen heroes thing off as a tiny sideshow (in flavour text and speech?), if it even needs to remain, instead of a driving force for putting in wraithlies, and anything else (i.e. interfering with gameplay); it's hard to tell a story with a branch, and honestly, it feels really weird). — MrMisterMonkey 2010-09-26 20:39
I think I agree, see below. Let me recap what I think Dwarf could be about: (a) ranged threats but very different from those encountered in Elf; (b) non-healing monsters but they employ healers; © some (new!) mixture of alive and undead monsters. The fallen heroes bit is okay if it can be made part of the actual gameplay; for example, if those fallen heroes would rise from their crypts when something's triggered… — dpeg 2010-09-26 21:00 (I also agree with the following comment by OG17)
Troll-family monsters would be fine if they were deliberately chosen to act as the branch's brawlers. Instead, they're just there to be trolls. I think that the combination of non-regenerating dd and quickly-regenerating trolls is fundamentally interesting, though, as long as some thought is put into it. — OG17 2010-09-26 21:18


I did not review the .des part at all, it's something for our vault masters.

Will do, but cannot do this week. — dpeg 2010-09-20 13:51
For some obvious non-mastery stuff:
  • dhfh_hall's s doors are placed so that the player can potentially teleport into a dead-end 3×3 stone room. If that room has a door, there's no path to the side area at all. One entrance seems low for such an easily-missed area, too. — OG17 2010-09-26 16:03
  • The guard_house vaults have one door for four loot closets, but cTele into a three-square area is an exercise in frustration, and LRD is neither expected nor really justified. — OG17 2010-09-26 16:03
  • This might be a design decision, but vaults with blank spaces for concave edges and no border of floor (eg guard_house) often end up looking sloppy - I'd think that the blank spaces should be floor or walls instead, and that there'd be surrounding floor when appropriate. — OG17 2010-09-26 16:03
  • dhfh_hill_giant is a fire giant. — OG17 2010-09-26 16:03
  • Is dhfh_barracks_1 supposed to have sheep corpses or hell hound corpses? Hell hounds (and griffons) are a strange foodstuff, if that's the idea here, and it's also strange that a troll-friendly branch would stock troll corpses. There's other “fridge” vaults that use some freezing clouds, which might be fitting here. Also, the mermaid's cute, but would be better patrolling. — OG17 2010-09-26 16:03

Code matters

I'll try to correct those while merging.

  • rod code uses a hard-coded list of spells every rod has
    • it does. spell power and charge expendature for rods are not implemented directly from the spell data. really the whole rod system could be overhauled – except Ive mostly centered my attention so far on monster code. — blue_anna 2010-09-21 18:00
  • that infamous monster_at() byzantine cast is not only wrong, it causes actual crashes, since it can remove the attacker while the caller in some cases relies on him being still there
    • mm, I wanted not to discuss this here – but I'm curious aobut the claim of crashes. any crash here should also occur any place where a creature attacks a player with spines mutation. I should look at that code.
      • spines trigger only for melee, which has checks for this. On the other hand, hurt() is called from 58 places in the code, we'd have to either review every single of them and then drop the const flag, or code pain mirror in another way. While the former would take less work, I'm somewhat inclined to do the latter as that could let us avoid related problems with some brands, especially chaos. For a crash, an example was a monster at 5 hp casting Vampiric Draining (7 damage, 3 heal), getting killed by Pain Mirror (to -2 hp) and then trying to heal back (to +1)… — KiloByte 2010-09-24 00:14
  • generate_rod_power() tries to duplicate the behaviour for players too hard, copying ancient code in a dire need of refactoring

> blue_anna this does get a little sticky, just for clarity let me describe what this function does.

        // power is actually 5 + Evocations + 2d(Evocations)
        // modified by shield and shield skill
I provide a system to fudge evocations skill and shields skill with a monster's hit dice. This is because, artificers should have a higher skill than, say necromancers. Some future fighter-type might use shields and have a higher shield skill. The easiest way to do this is to multiply, then divide, so you get two toggles for each skill: numerador and denominador. Skills in hand, we then apply the proper reduction for the type of shield, and return the power. Certain rods which will remain nameless, have an artificial rod power instead of the formula they are supposed to have. I allow the overriding power to be returned (this is a dummy event, f(n) = n).
  • having separate enchantments for monster Trog's hand probably just muddles the code; player version has this only as a legacy of being implemented using normal Regeneration
    • blue_anna on the plus side, when someone implements a monster spell_regeneration, it will be much easier.
  • vamp draining code uses static buffers in an unsafe manner. Even using snprintf() instead of sprintf() would be better, but it can just as easily support arbitrary lengths.
  • _monster_already_benefits_from_enchant() duplicates parts of, and should be merged into, ms_waste_of_time() which does the very same thing
  • Some of the new monsters need their genders handled (e.g. the ones consistently described as female or as wives) and their pluralized names handled, in mon-util.cc:mons_pronoun() and libutil.cc:pluralise(), respectively. — dolorous
    • I did update the pronouns. For pluralizing – what is the plural for trollkonor? I guess as a rare foreign word, English plural is correct, but if not, someone please correct me.
  • Regarding monster flags/gods: Is the nisse ability to turn invisible an intrinsic power or an actual spell (does it work while silenced? either way, they need proper spellcasting flags)? Also, since deep dwarf unborn have the Mirror Damage spell, equivalent to Yred's Injury Mirror, are they supposed to be marked as Yred worshippers? — dolorous
Logged in as: Anonymous (VIEWER)
dcss/issue/2359.txt · Last modified: 2011-02-22 20:01 by jeffqyzt
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki