User:Rogerb-on-NAO/sandbox

From NetHackWiki
Jump to navigation Jump to search

Edit a new section

Observations

As yet unadded and possibly unverified and/or wholly inaccurate:

Conflict

Pets will not hold you with a "sticky" attack (u.ustuck), unless conflict is in operation (no resist) or your pet is confused. Source:apply.c#line1240 Source:dogmove.c#line571 Source:hack.c#line991

Steeds throw you under conflict, unless they resist. Source:dogmove.c#line513

You get 1-4 hostile angels if you enter Astral with conflict Source:do.c#line1377(but we knew that.) Also, if you put the ring on later and the angel is in range of conflict and doesn't resist, your guardian angel disappears and you get the hostile angels. Source:dogmove.c#line549

If you abuse your pet while under Conflict, tameness is halved, rather than reduced by one. Also if you aggravate monster. Source:dog.c#line918

Pets can attack you under conflict (duh!) but have the chance to resist. Source:dogmove.c#line547

Under conflict, pets will attack peaceful monsters more aggressively; the pet does not have to have 25% HP or more, and it will attack the quest guardians and leader. Otherwise, attack criteria (at Source:dogmove.c#line622 at least) appear unchanged. For example, stonable pets won't touch monsters that stone on touch, even under conflict (this is in contrast to hostile monsters, which mix it up with footrices quite happily. Until they turn to stone, that is.Source:mhitm.c#line279 This inludes you, if you stone on touch Source:mhitu.c#line563) Inconsistency is a bug?

Conflict reduces hunger variable on even turns, unless from an artifact. (we knew that too, except maybe the artifact bit) Source:eat.c#line2144.

When monsters fight each other due to conflict, they have the chance to resist. Source:mhitm.c#line114

Conflict works in an 8-square radius, within line-of-sight. Source:mon.c#line618

Pet mind flayers' psychic attack will blast you if they fail to resist (knew that). Source:monmove.c#line415

Peaceful monsters affected by conflict will wield weapons like hostile monsters Source:monmove.c#line454

Elbereth

Elbereth protects pets' regular attacks Source:dogmove.c#line638. Not so under conflict Source:mon.c#line609.

Engraving Elbereth on a trap (if/when even possible - it is; I engraved on a hole when I escaped it, similarly a trapdoor, a teleport trap with magic resistance, polymorph trap) will prevent a monster using it for escape (although it could probably blunder into it due to bug C343-215) Appears to be the case; kobolds jump on the poly trap ASAP if no Elbereth; won't if there is.

C343-215 - Elbereth is sometimes ignored by monsters affects all play unless you are displaced(!) Source:mon.c#line1098 Intended behaviour, according to Talk:Elbereth is that Elbereth should always be respected, whether or not there is an item there. Source should be altered as follows (untested):


               info[cnt] = 0;
-              if ((checkobj || Displaced) && onscary(dispx, dispy, mon)) {
                   if(!(flag & ALLOW_SSM)) continue;
                   info[cnt] |= ALLOW_SSM;
---- 

               info[cnt] = 0;
+              if (onscary(dispx, dispy, mon)) {
                   if(!(flag & ALLOW_SSM)) continue;
                   info[cnt] |= ALLOW_SSM;

Monster Movement

Monster movement happens thusly:

mon.c

movemon()

  • Foreach monster:
    • Do nothing if monster is dead, too slow to move now, unable to move due to being in lava or water or a hidden ambush monster
    • If conflict is in operation, resolve for all unblinded monsters, except the Wizard of Yendor.
    • Do nothing more for any monster that attacked, unless it has swallowed you (such a monster can do a conflict attack, move and digest you - strictly, it should not move. However, as LOS to the hero is necessary for conflict attacks, how exactly will this occur?)

monmove.c

dochugw()

dochug()

Stunning monsters

Monsters can be stunned, although it is rare. A monster may be stunned when:

Stunning a monster:



Monsters can recover from stunning:

Monsters' stun status can be ascertained:

WikiHack Errors?

magic flute - area of effect sqrt(xplevel*5) , puts to sleep unless resists.

Sink - nasssty tablesssess

Tourist should mention it has a macro to be compiled out.

Valkyrie femaleness needs clarification/correction (males can be "Daddy!").

Guidebook redirects to options are majorly b0rked.

Dungeon level#Dungeon levels and difficulty levels - true but misleading.

Following pages have monster template issues:

  • spheres (none)
  • gas spore (none)
  • cockatrice (2 not in sections)
  • mind flayer (2 not in sections)
  • mimic (3 not in sections) possibly use a single template?
  • werecreature (6 not in sections)
  • long worm (2 not in sections)
  • purple worm
  • centaur
  • dragon
  • Keystone Kops
  • Yendorian army
  • watchman

Buggy?

Vampires are scared by altars of Moloch.

Xorns can walk through walls but get stuck in lava (i.e. liquid rock). Strange, but could be intended behaviour. I would expect lava to affect Xorns like a rather hot pit. Lava is a bit mean anyway, as it will kill a fire resistant, unbreathing hero(check). No idea of the justification.

Broken wands of lightning don't blind.

Capitalisation of angelic beings? (Archon, Angel, Aleax vs ki-rin, couatl)?

Source:muse.c#line276 - some unicorns have hands?! At least reverse the order as nohands() is cheaper, and more monsters don't have hands than are unicorns. Also, ISTR that unicorns revived with a wand of undead turning don't drop (as many) unicorn horns; should such unicorns be able to heal themselves? Yes: "The white unicorn's recently regrown horn crumbles to dust."

Dismounting and remounting a steed may heal its legs?

Stunned monsters appear to move normally; appr is not set to 0 in m_move(), but is for confusion. This is in contrast to players, where stunning has a stronger effect on movement than confusion.

Stoning (killing?) a pet who is lifesaved produces a peaceful monster. Wouldn't it be angry?

Monsters that steal then teleport don't try to wear the stuff they've stolen.

The 'elf' monster is the same difficulty as player monsters, presumably because it used to be a role. It should (?) be the same difficulty as human/dwarf/gnome/orc monsters, for consistency.

All player monsters are same speed? Should roles with intrinsic speed be faster?

Digging a pit by a moat usually produces a moat. Evaporating a pool by a moat always produces a pit.

Drowning does not use the usual routine for determining what to call water (mhitu.c, line 1233; trap.c, line 2947; mkmaze.c, line 1147)


Passive attacks with zero dice do (actual level + 1) dice to players (uhitm.c, line 2150), but (base level + 1) to monsters (mhitm.c, line 1292, mhitu.c, line 2464.


dlord() in minion.c

A random demon lord between Juiblex and Yeenoghu is chosen up to 20 times, in an attempt to find one that has not been created already. Unless the altar is unaligned, the alignment of the demon must match the alignment of the altar.

Currently, Yeenoghu follows Juiblex in monst.c. Thus only these two demons are eligible to appear. As both are chaotic, demon lords will only be summoned at chaotic altars. To the casual observer, this has the appearance of a bug.

Random

V vampires are not only scared by being hit by a clove of garlic, wielded (tested) or thrown (unverified; yet to hit one!), but they will not step on a square if there is a clove of garlic on it! Source:mon.c#line1138


monarticle test

control

*{{User:Rogerb-on-NAO/monsymlink|gnome king}}

*{{User:Rogerb-on-NAO/monsymlink|gnome king|after}}

*{{User:Rogerb-on-NAO/monsymlink|gnome king|before}}

*{{User:Rogerb-on-NAO/monsymlink|gnome king|only}}

*{{User:Rogerb-on-NAO/monsymlink|gnome king|none}}

irregular

*{{User:Rogerb-on-NAO/monsymlink|Death}}

*{{User:Rogerb-on-NAO/monsymlink|Death|after}}

*{{User:Rogerb-on-NAO/monsymlink|Death|before}}

*{{User:Rogerb-on-NAO/monsymlink|Death|only}}

*{{User:Rogerb-on-NAO/monsymlink|Death|none}}