Difference between revisions of "User:Rogerb-on-NAO/sandbox"

From NetHackWiki
Jump to navigation Jump to search
m (WikiHack Errors?: tourist macro.)
(WikiHack Errors?: .)
 
(24 intermediate revisions by 2 users not shown)
Line 95: Line 95:
 
==WikiHack Errors?==
 
==WikiHack Errors?==
  
 +
magic flute - area of effect sqrt(xplevel*5) , puts to sleep unless resists.
  
 +
[[Sink]] - nasssty tablesssess
  
;A monster will never use its breath weapon if it can hit in melee. ([[Breath weapon]])
+
[[Tourist]] should mention it has a macro to be compiled out.
:it can do if it moves away from the player for some reason, e.g. it is [[impaired]] or you are [[Displacement|displaced]]
 
  
[[Sink]] - nasssty tablesssess
+
[[Valkyrie]] femaleness needs clarification/correction (males can be "Daddy!").
  
 +
Guidebook redirects to options are majorly b0rked.
  
Dwarf monster appears on [[Dwarf]] and [[Dwarf (monster)]]. Oops.
+
[[Dungeon level#Dungeon levels and difficulty levels]] - true but misleading.
  
[[Tourist]] should mention it has a macro to be compiled out.
+
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?==
 
==Buggy?==
Line 126: Line 141:
  
 
Monsters that steal then teleport don't try to wear the stuff they've stolen.
 
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 ({{sourcecode|mhitu.c|1233}}; {{sourcecode|trap.c|2947}}; {{sourcecode|mkmaze.c|1147}})
 +
 +
 +
Passive attacks with zero dice do (actual level + 1) dice to players ({{sourcecode|uhitm.c|2150}}), but (base level + 1) to monsters ({{sourcecode|mhitm.c|1292}}, {{sourcecode|mhitu.c|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==
 
==Random==
Line 135: Line 168:
  
 
====control====
 
====control====
:{{monsymlink|gnome king}}
+
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king}}
 +
 
 +
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|after}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|after}}
 +
 
 +
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|before}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|before}}
 +
 
 +
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|only}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|only}}
 +
 
 +
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|none}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|gnome king|none}}
  
 
====irregular====
 
====irregular====
:{{monsymlink|Death}}
+
<nowiki>
:{{monsymlink|human}}
+
*{{User:Rogerb-on-NAO/monsymlink|Death}}
:{{monsymlink|gnome}}
+
</nowiki>
:{{monsymlink|elf}}
+
*{{User:Rogerb-on-NAO/monsymlink|Death}}
  
=Enlightenment=
+
<nowiki>
==Attributes Displayed==
+
*{{User:Rogerb-on-NAO/monsymlink|Death|after}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|Death|after}}
  
Enlightenment will give you information about the following attributes. If you do not have a particular attribute, no message will be displayed.
+
<nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|Death|before}}
 +
</nowiki>
 +
*{{User:Rogerb-on-NAO/monsymlink|Death|before}}
  
{|class="prettytable"
+
<nowiki>
!attribute
+
*{{User:Rogerb-on-NAO/monsymlink|Death|only}}
!message
+
</nowiki>
!meaning
+
*{{User:Rogerb-on-NAO/monsymlink|Death|only}}
|-
 
!rowspan=3|[[Crowning]]
 
|"You are the Hand of Elbereth"
 
|You are crowned and [[lawful]]
 
|-
 
|"You are the Envoy of Balance"
 
|You are crowned and [[neutral]]
 
|-
 
|"You are the Glory of Arioch"
 
|You are crowned and [[chaotic]]
 
|-
 
!rowspan=10|[[Alignment record]]
 
(always displayed)
 
|"You are piously aligned"
 
| Your alignment record is 20 or more
 
|-
 
|"You are devoutly aligned"
 
| Your alignment record is 14 to 19
 
|-
 
|"You are fervently aligned"
 
| Your alignment record is 9 to 13
 
|-
 
|"You are stridently aligned"
 
| Your alignment record is 4 to 8
 
|-
 
|"You are aligned"
 
| Your alignment record is 3
 
|-
 
|"You are haltingly aligned"
 
| Your alignment record is 1 or 2
 
|-
 
|"You are nominally aligned"
 
| Your alignment record is 0
 
|-
 
|"You have strayed"
 
| Your alignment record is -3 to -1
 
|-
 
|"You have sinned"
 
| Your alignment record is -8 to -4
 
|-
 
|"You have transgressed"
 
| Your alignment record is -9 or less
 
|-
 
![[Fire resistance]]
 
| "You are fire resistant"
 
| You have [[fire resistance]]
 
|-
 
![[Cold resistance]]
 
| "You are cold resistant"
 
| You have [[cold resistance]]
 
|-
 
![[Sleep resistance]]
 
| "You are sleep resistant"
 
| You have [[sleep resistance]]
 
|-
 
![[Disintegration resistance]]
 
| "You are disintegration-resistant"
 
| You have [[disintegration resistance]]
 
|-
 
![[Shock resistance]]
 
| "You are shock resistant"
 
| You have [[shock resistance]]
 
|-
 
![[Poison resistance]]
 
| "You are poison resistant"
 
| You have [[poison resistance]]
 
|-
 
!Level [[drain resistance]]
 
| "You are level-drain resistant"
 
| You have [[drain resistance]]
 
|-
 
![[Sickness resistance]]
 
| "You are immune to sickness"
 
| You have [[Sickness resistance]] and cannot get [[food poisoning]] or [[disease]]
 
|-
 
![[Magic resistance]]
 
| "You are Magic-Protected"
 
| You have [[magic resistance]]
 
|-
 
![[Acid resistance]]
 
| "You are acid resistant"
 
| You have [[acid resistance]]
 
|-
 
![[Stoning resistance]]
 
| "You are petrification resistant"
 
| You have [[stoning resistance]]
 
|-
 
![[Invulnerability]]
 
| "You are invulnerable"
 
| You have [[invulnerability]]
 
|-
 
![[Food appraisal]]
 
| "You can recognize detrimental food"
 
| You have [[food appraisal]]
 
|-
 
![[Hallucination resistance]]
 
| "You resist hallucinations"
 
| You have [[hallucination resistance]]
 
|-
 
![[Hallucination]]
 
| "You were hallucinating"
 
| You were [[hallucinating]] when the game ended
 
|-
 
![[Stunning]]
 
| "You were stunned"
 
| You were [[stunned]] when the game ended
 
|-
 
![[Confusion]]
 
| "You were confused"
 
| You were [[confused]] when the game ended
 
|-
 
![[Blind]]ed
 
| "You were blinded"
 
| You were [[blind]] from a cause other than wearing a blindfold or being polymorphed into a blind monster when the game ended, or would have been blind had you not had [[astral vision]]
 
|-
 
![[Food poisoning]]
 
| "You are sick from food poisoning"
 
| You have [[food poisoning]]
 
|-
 
![[Disease]]
 
| "You are sick from illness"
 
| You are [[disease]]d
 
|-
 
![[Stiffening|Turning to stone]]
 
| "You are turning to stone"
 
| You are [[stiffening]]
 
|-
 
![[slimed|Turning to slime]]
 
| "You are turning into slime"
 
| You are [[slimed]]
 
|-
 
!rowspan=2|[[Strangulation]]
 
| "You are being strangled"
 
| You have the [[strangulation]] intrinsic.
 
|-
 
| "You are buried"
 
| You have the [[strangulation]] intrinsic and are [[Deferred_features#Burying|buried]] ([[deferred feature]])
 
|-
 
![[Slippery fingers]]
 
| "You have slippery [[foo]]"
 
| You have [[slippery fingers]]
 
|-
 
![[Fumbling]]
 
| "You fumble"
 
| You are [[fumbling]]
 
|-
 
![[Wounded legs]]
 
| "You have wounded [[foo]]"
 
| You have [[wounded legs]]
 
|-
 
![[restful sleep]]
 
| "You fall asleep"
 
| You have [[restful sleep]]
 
|-
 
![[Hunger (intrinsic property)|Hunger]]
 
| "You hunger rapidly"
 
| You have the [[Hunger (intrinsic property)|Hunger]] property
 
|-
 
![[See invisible]]
 
| "You see invisible"
 
| You have [[see invisible]]
 
|-
 
![[Telepathy]]
 
| "You are telepathic"
 
| You have [[telepathy]]
 
|-
 
![[Warning]]
 
| "You are warned"
 
| You have [[warning]]
 
|-
 
!rowspan=3|[[Warning of monster type]]
 
|"You are warned of orcs"
 
|You are [[warned of orcs]].
 
|-
 
| "You are warned of demons"
 
| You are [[warned of demons]] (nothing currently warns of demons). This message can only appear for players who are not warned about orcs.
 
|-
 
  
| "You are warned of something"
+
<nowiki>
| Catchall default. This message can only appear for players who are not warned about orcs or demons.
+
*{{User:Rogerb-on-NAO/monsymlink|Death|none}}
|-
+
</nowiki>
![[Warning of undead]]
+
*{{User:Rogerb-on-NAO/monsymlink|Death|none}}
| "You are warned of undead"
 
| You are [[warned of undead]] (nothing in [[Nethack]] currently warns of undead). Note this is a separate category to warning of monster type.
 
|-
 
![[Searching]]
 
|-
 
![[Clairvoyance]]
 
|-
 
![[Infravision]]
 
|-
 
![[Detection of monsters]]
 
|-
 
![[Confusion of monsters]]
 
|-
 
![[adornment]]
 
|-
 
![[Invisibility]]
 
|-
 
![[Displacing]]
 
|-
 
![[Stealth]]
 
|-
 
![[Aggravation of monsters]]
 
|-
 
![[Conflict]]
 
|-
 
![[Ability to jump]]
 
|-
 
![[Ability to teleport]]
 
|-
 
![[Ability to control teleport]]
 
|-
 
![[Levitation]] or [[flying]]
 
|-
 
![[Ability to walk on water]]
 
|-
 
![[Ability to swim]]
 
|-
 
![[Need to breathe]]
 
|-
 
![[Ability to pass through walls]]
 
|-
 
![[Riding]]
 
|-
 
![[Engulfing by monsters]]
 
|-
 
![[Holding by monsters]]
 
|-
 
![[To hit bonus]]
 
|-
 
![[Damage bonus]]
 
|-
 
![[Slow digestion]]
 
|-
 
![[Regeneration]]
 
|-
 
![[Protection]]
 
|-
 
![[Protection from shape changers]]
 
|-
 
![[Polymorphitis]]
 
|-
 
![[Polymorph Control]]
 
|-
 
![[Polymorphed form]]
 
|-
 
![[Unchanging]]
 
|-
 
![[Speed]]
 
|-
 
![[Reflection]]
 
|-
 
![[Free action]]
 
|-
 
![[Sustaining abilities]]
 
|-
 
![[Life saving]]
 
|-
 
![[Twoweaponing]]
 
|-
 
![[Luck]]
 
|-
 
![[Extra luck]]
 
|-
 
![[Luck timeout]]
 
|-
 
![[God's anger]]
 
|-
 
![[Ability to pray]]
 
|}
 

Latest revision as of 21:19, 17 July 2008

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}}