Draft:Damage and immunity: Difference between revisions

From Omega Wiki
Jump to navigation Jump to search
整理恐惧失明禁锢与吸级机制,修正保护规则并连接相关草稿
整理投喂赠礼与盗窃机制,修正宝石交付并连接相关草稿
 
Line 83: Line 83:
| [[Draft:Cloak of negimmunity|Cloak of negimmunity]] || Its noncursed power adds negative-energy immunity while used; applying its cursed worn power instead directly drains levels
| [[Draft:Cloak of negimmunity|Cloak of negimmunity]] || Its noncursed power adds negative-energy immunity while used; applying its cursed worn power instead directly drains levels
|-
|-
| Shadow form || Adds physical, acid, theft and infection immunity; its status duration controls the eventual removal of those contributions
| Shadow form || Adds physical, acid, [[Draft:Theft#Monster theft|theft]] and infection immunity; its status duration controls the eventual removal of those contributions
|-
|-
| [[Draft:Unicorn|Unicorn horn]], eaten || Sets poison immunity to 1000; this is not 1000 ordinary poison-free minutes and does not itself clear poisoning
| [[Draft:Unicorn|Unicorn horn]], eaten || Sets poison immunity to 1000; this is not 1000 ordinary poison-free minutes and does not itself clear poisoning

Latest revision as of 14:13, 12 September 2026

Omega 0.90.4

Damage and immunity determine what happens after an attack or hazard reaches its target. Armor, damage immunity, resistance to a spell and protection from a status effect answer different questions. A creature can ignore the HP damage while still becoming hostile, and a player can avoid physical damage while suffering a separate poison or sleep effect.[1]

Damage resolution

An attack may first need a hit check, a clear path, an unresisted spell or another condition. Those checks belong to the attack. The rules below describe ordinary HP damage after it reaches damage resolution; they do not turn every spell, trap or conversation into an ordinary melee hit.[2]

Target Immune to this damage type Otherwise
Player, physical damage No HP loss from this damage call Loses max(1, raw damage - Arm) HP
Player, other damage types No HP loss from this damage call Loses the raw damage amount; Arm does not absorb it
Monster No HP loss from this damage call Loses the raw damage amount; this routine has no player-style armor subtraction or minimum-one rule

The monster damage routine awakens and angers its target before checking immunity. A zero-damage or immune hit can therefore provoke it. Monster defense affects relevant hit checks, but is not an absorption rating. For the player's Def and Arm sources, exact hit formula and tactical blocks, see Defense and protection.[3]

For example, with Arm 4, ten physical damage costs six HP and two physical damage still costs one. Ten fire damage still costs ten unless fire immunity prevents it. Conversely, a zero physical damage call against a non-immune monster takes no HP. These formulas describe the damage call, not the total outcome of a multi-part attack.[4]

Damage types

The following types actually occur in HP damage. Some also protect against related effects. The game also has protection categories for sleep, theft, gaze and infection; these are not interchangeable kinds of elemental damage.[5]

Type Representative source Important distinction
Physical Ordinary melee, physical missiles, disruption Player Arm applies; disruption is physical despite being magical
Fire Fire bolts, fireballs, dragon melee A dragon's physical component is separate
Cold Ice bolts and snowballs Several monsters' cold-named melee attacks instead deal electricity
Electricity Lightning and certain cold-named melee attacks Cold immunity does not block electricity
Poison Poison damage and poisoned gifts to monsters Player poisoning is a lasting state; monster poison damage need not be one
Acid Acid clouds and acid traps Preventing HP damage does not automatically protect equipment
Fear Ghost-inspired heart attack The ghost's special action can deal one fear-type HP damage as well as apply fear
Negative energy Draining energy from a monster Undead life drain and direct player level drain have distinct checks
Other magic Sonic blasts This damage immunity is not the general spell-resistance check
Unstoppable Manastorms and bare-body disintegration Ignores Arm and ordinary elemental immunities; direct death and direct HP changes are separate again

The table describes actual effects, not conclusions drawn from their names. In particular, monster spellcasting can apply curses, item destruction or direct level drain without dealing other-magic HP damage.[6]

Immunity and status protection

For the distinct checks and recovery routes of fear, blindness, immobilization and level drain, see their individual mechanism pages.

Damage immunity, preventing a new status and removing an existing status are separate operations. The relevant source decides which ones to perform.[7]

Protection What it prevents What it does not by itself do
Poison immunity Ordinary new poisoning and poison-type HP damage Clear existing poison counts; those still decrease at status updates
Infection immunity Ordinary disease applications Cure an existing disease or prevent every direct disease-setting event
Sleep immunity The ordinary player sleep effect Make alertness equivalent to immunity, or protect a monster from every area-sleep effect
Negative-energy immunity The checked life-drain attack used by some undead Prevent the shared monster spell that directly subtracts levels
Physical immunity or displacement Qualifying physical damage, or the displacement check's melee damage component Cancel the independent poison, disease, sleep, grapple or life-drain step after a landed melee attack

For spell resistance and the College/Circle counterspell formulas, use Monster spellcasting. That check occurs before choosing the shared spell's effect; passing a later damage-immunity check is a different result.[8]

Obtaining and losing protection

Player immunities are counted separately by type. Most ordinary sources add a contribution and removal subtracts it; having a positive contribution supplies the corresponding damage immunity. A monster instead has a set of immune types. Neither system makes a monster's corpse automatically grant its own immunities.[9]

Source Protection and duration
Dragonscale armor Adds fire immunity while used; removing it removes that contribution
Prismatrix armor or demonhide armor Adds fire, cold and electricity immunity while used
Victrix Adds poison, fear and infection immunity while used; does not itself clear existing poison or disease
Cloak of negimmunity Its noncursed power adds negative-energy immunity while used; applying its cursed worn power instead directly drains levels
Shadow form Adds physical, acid, theft and infection immunity; its status duration controls the eventual removal of those contributions
Unicorn horn, eaten Sets poison immunity to 1000; this is not 1000 ordinary poison-free minutes and does not itself clear poisoning
Szechuan pepper, eaten Adds sleep immunity after one unstoppable damage; ordinary time passage does not consume that contribution

Equipment powers are not identical to curses: dragonscale's fire protection remains even when the armor is cursed, while a cursed poison-resistance ring clears poison immunity and applies poisoning. Erasing an item's special power can also remove its protection despite leaving its familiar name. Refer to the individual item for these differences.[10]

Shadow form has a notable level-zero edge case: it adds its immunities but adds zero to the form's duration. Ordinary expiry and cancellation therefore do not remove those contributions, and the zero duration does not activate the player's usual shadow-form terrain behavior. For a positive duration below 1000, expiry or cancellation does subtract the added protections. This is distinct from a general rule that every immunity expires with time.[11]

Exceptions and strategy

An acid cloud can damage a cloak or body armor independently of whether acid immunity blocks its HP damage. Disintegration consumes a cloak first, otherwise body armor, and only attempts bare-body damage when neither is present. Elemental immunity is therefore not a way to preserve that equipment.[12]

Not every HP change uses the ordinary damage routine. Reversed healing subtracts HP directly, and the shared level-drain spell directly reduces levels and current and maximum HP. A lethal drowning or lava result for a non-flying, tangible monster calls death rather than rolling elemental damage. An immunity list alone cannot establish survival against such effects.[13]

There are also unusual signed-damage results. A monster struck by a blade trap takes 7 × (difficulty + 1) - the player's Def as raw physical damage. This uses your defense even though the monster is the victim, and a negative result heals a non-immune monster because its damage routine does not clamp the amount. This is a version-specific trap interaction, not ordinary monster armor.[14]

Choose protection for the attack's actual result. Against mixed physical and fire melee, fire immunity leaves the physical component. Against poisoning, a full antidote and an immunity source solve different problems. Against a caster, spell resistance can matter even when every elemental attack is harmless. Finally, flight and intangibility control movement and some terrain effects; neither word is a substitute for a checked damage-immunity list.

References

  1. aux1.c in Omega 0.90.4, lines 498–513; mon.c in Omega 0.90.4, lines 113–131; mmelee.c in Omega 0.90.4, lines 8–148.
  2. effect1.c in Omega 0.90.4, lines 253–433; aux3.c in Omega 0.90.4, lines 395–414.
  3. mon.c in Omega 0.90.4, lines 113–131; aux1.c in Omega 0.90.4, lines 498–513; aux2.c in Omega 0.90.4, lines 172–176; defs.h in Omega 0.90.4, line 1625.
  4. aux1.c in Omega 0.90.4, lines 498–513; mon.c in Omega 0.90.4, lines 113–131.
  5. defs.h in Omega 0.90.4, lines 445–463.
  6. mmelee.c in Omega 0.90.4, lines 55–148; mstrike.c in Omega 0.90.4, lines 8–82; mspec.c in Omega 0.90.4, lines 117–129; mspec.c in Omega 0.90.4, lines 135–215; effect1.c in Omega 0.90.4, lines 245–433; effect3.c in Omega 0.90.4, lines 323–397; effect3.c in Omega 0.90.4, lines 476–500; effect3.c in Omega 0.90.4, lines 1027–1055; inv.c in Omega 0.90.4, lines 427–447.
  7. effect3.c in Omega 0.90.4, lines 215–224; effect3.c in Omega 0.90.4, lines 537–545; effect3.c in Omega 0.90.4, lines 770–811.
  8. aux2.c in Omega 0.90.4, lines 201–208; effect3.c in Omega 0.90.4, lines 177–224; effect3.c in Omega 0.90.4, lines 323–339; effect3.c in Omega 0.90.4, lines 1167–1192; aux3.c in Omega 0.90.4, lines 998–1005; mmelee.c in Omega 0.90.4, lines 8–148; aux3.c in Omega 0.90.4, lines 395–414.
  9. aux2.c in Omega 0.90.4, lines 172–176; defs.h in Omega 0.90.4, line 1625; item.c in Omega 0.90.4, lines 63–139.
  10. itemf2.c in Omega 0.90.4, lines 73–98; itemf2.c in Omega 0.90.4, lines 138–151; itemf2.c in Omega 0.90.4, lines 518–533; itemf1.c in Omega 0.90.4, lines 370–385; itemf1.c in Omega 0.90.4, lines 426–444; itemf1.c in Omega 0.90.4, lines 714–717; effect3.c in Omega 0.90.4, lines 1114–1132; aux2.c in Omega 0.90.4, lines 340–350; effect1.c in Omega 0.90.4, lines 8–54.
  11. effect3.c in Omega 0.90.4, lines 1114–1132; aux2.c in Omega 0.90.4, lines 340–350; command3.c in Omega 0.90.4, lines 850–862; movef.c in Omega 0.90.4, lines 14–48.
  12. effect3.c in Omega 0.90.4, lines 375–397; effect3.c in Omega 0.90.4, lines 476–500.
  13. effect1.c in Omega 0.90.4, lines 203–226; effect3.c in Omega 0.90.4, lines 323–339; mon.c in Omega 0.90.4, lines 992–1047; movef.c in Omega 0.90.4, lines 166–198.
  14. mon.c in Omega 0.90.4, lines 849–864; mon.c in Omega 0.90.4, lines 113–131.