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

From NetHackWiki
Jump to navigation Jump to search
m (.)
(Monster Movement: new section)
Line 335: Line 335:
 
  ![[Ability to pray]]
 
  ![[Ability to pray]]
 
|}
 
|}
 +
 +
== 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===

Revision as of 22:46, 8 June 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;

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

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. No idea of the justification.


Enlightenment

Attributes Displayed

Enlightenment will give you information about the following attributes. If you do not have a particular attribute, no message will be displayed.

attribute message meaning
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
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
Blinded "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 diseased
Turning to stone "You are turning to stone" You are stiffening
Turning to slime "You are turning into slime" You are slimed
Strangulation "You are being strangled" You have the strangulation intrinsic.
"You are buried" You have the strangulation intrinsic and are 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 "You hunger rapidly" You have the 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
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" Catchall default. This message can only appear for players who are not warned about orcs or demons.
Warning of undead "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

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