Draft:Traps

From Omega Wiki
Revision as of 12:27, 20 September 2026 by OmegaAdmin (talk | contribs) (修正陷阱拆除概率表的行分隔)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Omega 0.90.4

Traps are concealed map effects that can injure, immobilize or relocate an adventurer. A discovered trap normally uses the red ^ symbol. There are thirteen trap types; nine can yield portable components for setting your own traps. The same trap can affect the player and monsters differently.[1]

Discovery

Search examines your square and its eight neighbors. Each checked square has a two-in-three chance to reveal eligible hidden features; alertness, such as from a potion of alertness, makes that check automatic. Fear prevents searching. Many traps also reveal themselves when triggered, but a fire or abyss trap can become a different visible hazard instead.[2]

Ordinary dungeon trap placement selects among all thirteen types on eligible floor squares. Fixed maps also contain traps, including the alarms and approach hazards of Rampart Castle Vault. A trap's position and type therefore need not come from random placement.[3]

Avoiding and removing traps

An unmounted levitating player normally bypasses trap effects. Riding negates that protection, and @ deliberately activates the square beneath you even while levitating. Shadowform bypasses these thirteen trap handlers, but does not prevent entering an already open abyss. A mount is not general protection: some traps kill it, and some then affect the rider as well.[4]

Revealing a trap lets you walk around it or disarm it from an adjacent square. A nonnegative dispel directed at an unoccupied fire, teleport or disintegration trap removes the effect without a component or disarming reward. This is not a universal way to remove all traps.[5]

Disarming and recovery

Use Disarm (D) and choose a direction. The target must visibly show a trap. Success removes it, restores ordinary floor and awards 5 experience. A second successful check recovers one identified component for the nine supported types and awards another 25 experience. Siren, pit, trapdoor and blade traps do not yield components.[6]

Let D be the current location's difficulty and R your Thieves' Guild rank. Rank is zero for a nonmember; membership is not required. Probabilities below are bounded between zero and one.

Check Probability
Disarm succeeds (2 × Dexterity + 3 × level + 10R) / (50 + 5D)
Component recovered, given a successful disarm of a supported trap (Dexterity + 10R) / 100
Accident, given a failed disarm (9 + 2D − Dexterity) / (10 + 2D)

An accident moves you onto the target square and invokes its effect. Otherwise a failed attempt leaves the trap in place. As an example, a level-1 nonmember with Dexterity 12 in Rampart (D = 3) has a 27/65 disarm chance, then a 12% component recovery chance on success. A failed disarm has a 3/16 accident chance.[7]

Setting components

Activate an identified component as an item while standing on ordinary floor with no existing location effect. One component installs a trap under you; the square still looks like floor, and setting it does not immediately trigger it. The trap is not friendly to its owner: returning to it can activate it normally.[8]

An unknown component on a valid square instead causes an immediate trap accident without first installing the normal trap. An invalid position simply fails. Both outcomes consume the component. The attempt teaches the component's type globally, but that does not make the first unknown use safe. Recovered components are already identified. Blessing and enchantment do not improve a placed trap.[9]

Trap types

Below, D means the current location's difficulty, not the component's item level or necessarily dungeon depth. Rampart has D = 3, a village D = 1, and the arena D = 5. Dungeon formulas are depth/6 + 3 in the sewers, depth/3 + 1 in the caves, depth/4 + 4 in the castle and depth/4 + 5 in the volcano, using integer division.[10]

Damage numbers are before relevant immunity and absorption, except where final player damage is explicitly stated. Random ranges include both endpoints. Monster effects require actual entry and do not apply to flying or intangible monsters.[11]

Dart

Dart-trap component: a triggering monster takes 2D physical damage. For an unmounted player, absorption gives an absorption/100 chance to stop the dart outright; otherwise it deals D physical damage and has a one-in-three chance to add D poison counts. Poison immunity is separate from physical protection. A mounted player's horse is only annoyed.[12]

Pit

There is no pit component. An unmounted player carrying strictly less than half maximum load avoids the pit; otherwise it deals 2D physical damage, or 5D for spikes on one third of falls, and adds one immobilization count. A mount is lost instead. A triggering monster loses mobility and takes 5D physical damage.[13]

Trapdoor

There is no trapdoor component. Outside the current dungeon, the player effect does nothing. Inside it, an unmounted player avoids falling with an Agility/100 chance; otherwise the fall deals D physical damage and descends one level. Natural trapdoors also add depth × D unstoppable damage from a rockslide. A trapdoor made by disintegrating a pit omits that rockslide. Riding loses the mount and does not make the avoidance check. Monsters vanish without normal death rewards.[14]

Snare

Snare component: a monster loses mobility, without a built-in duration. This does not disable nearby attacks or spellcasting. An unmounted player avoids it with an Agility/100 chance; failure adds D immobilization counts. A mount steps clear. It does no HP damage.[15]

Blade

There is no blade component. A player dodges with probability (Agility + level)/30, capped at certainty. A failed dodge kills a mount or hits the unmounted player. For the latter, roll an integer from D through 4D minus one, subtract twice absorption, and apply a minimum of one HP loss unless physically immune. The double absorption comes from the trap's own reduction followed by normal physical damage handling. Monster damage is (D + 1) × 7 minus the player's Defense, an unusual dependence in this version.[16]

Fire

Fire-trap component: a monster takes 5(D + 1) flame damage. An unmounted player dodges with probability (Agility + level)/50, capped at certainty, or takes zero through 5(D + 1) minus one flame damage. A mount is killed instead of that initial hit. After a player trigger, the square becomes persistent fire even if the blast was dodged; a monster trigger leaves the fire-trap effect in place.[17]

Teleport

Teleport-trap component: an awake monster relocates to a free square on the same map; the monster teleport routine leaves sleeping creatures unmoved. The player normally relocates to a free square, but with probability (D squared + 1)/10,000 the destination is an unrestricted random map square. In that dangerous branch, anything other than floor or an open door kills the player immediately.[18]

Disintegration

Disintegration-trap component: a monster takes 100 unstoppable damage. A player loses the cloak in the cloak slot first, then body armor if no cloak is present, or suffers 250 unstoppable damage with neither. A mount is destroyed before the player effect. The trap is not automatically lethal to a monster with more than 100 HP, nor does a mount absorb the player's hit.[19]

Sleep gas

Sleepgas-trap component: a monster without sleep immunity falls asleep. The player receives sleep strength floor(D/5) + 1, producing between 2 and twice that strength plus 1 sleep counts. Sleep immunity prevents this, and existing sleep is not extended. The gas deals no direct HP damage.[20]

Acid

Acid-trap component: a monster takes zero through D squared minus one acid damage. The player is hit only when a random integer from zero through 99 exceeds Agility + level. A hit kills a mount and deals zero through 5D minus one acid damage to the player. Without acid immunity it also tries to damage the first zero through four occupied accessible inventory slots. Acid immunity protects those possessions from this particular trap's secondary effect.[21]

Mana drain

Manadrain-trap component: a monster with the ordinary spellcasting special ability loses that ability. Other special routines are unaffected even if they can also cast spells. A player with nonzero mana loses it all and receives adverse dispelling, expiring eligible temporary enhancements. At exactly zero mana, there is instead a 10% chance to overload and remove the trap, refilling normal mana; otherwise nothing changes.[22]

Abyss

Abyss-trap component: a monster vanishes without kill experience or normal loot. When seen, that trigger also changes the square to an open abyss. A player falls if a zero-through-99 roll exceeds Dexterity + level; riding invokes an abyss entry before this separate check. The player trigger exposes an abyss symbol but retains the trap effect, whereas a seen monster trigger changes it to the open-abyss effect.[23]

Outside the current dungeon, abyss entry attempts to teleport you to a random countryside location; the normal restriction on strategic teleportation blocks this in the Astral Plane and Circle demesne. Inside the dungeon, it can send you several floors deeper with damage, eject you high above the countryside for a damaging fall, or produce an encounter with Yog Sothoth. That encounter kills a player whose alignment is above −10. Avoid using the abyss as casual transportation.[24]

Siren

There is no siren component. A klaxon in a house or mansion sends the player to jail while the Order remains intact; a hovel alarm receives no response. Elsewhere it wakes local monsters and doubles their sensing range, with city and village guards becoming hostile. In the Circle demesne it also summons three demon princes and makes local monsters hostile. Monsters have no corresponding siren-trap handler.[25]

Monsters and tactics

Ordinary monster movement can enter a hidden floor trap, but normally avoids a revealed trap symbol. Confused movement can enter such hazards. Flying and intangible monsters skip trap effects even when entering their squares, so revealing a trap or choosing the wrong target can invalidate an otherwise promising lure.[26]

Lay a trap before the enemy reaches you and leave an escape route. Snares and sleep offer control; disintegration supplies fixed damage; abyss removal sacrifices loot and death-triggered quest progress. A mana-drain trap can silence a qualifying grounded caster, or be deliberately overloaded for your own mana, but repeated attempts take time and zero mana is essential to the refill branch. A trap's item price is a poor measure of its tactical power or danger.

References

  1. defs.h in Omega 0.90.4, line 660; defs.h in Omega 0.90.4, lines 1368–1387; command2.c in Omega 0.90.4, lines 316–396.
  2. command2.c in Omega 0.90.4, lines 164–179; aux1.c in Omega 0.90.4, lines 246–276; trap.c in Omega 0.90.4, lines 172–190; trap.c in Omega 0.90.4, lines 258–273.
  3. gen1.c in Omega 0.90.4, lines 349–358; city.c in Omega 0.90.4, lines 159–207.
  4. movef.c in Omega 0.90.4, lines 9–90; trap.c in Omega 0.90.4, lines 50–283.
  5. effect3.c in Omega 0.90.4, lines 825–884.
  6. command1.c in Omega 0.90.4, lines 110–113; command2.c in Omega 0.90.4, lines 316–396.
  7. command2.c in Omega 0.90.4, lines 316–396; lev.c in Omega 0.90.4, lines 470–497.
  8. command2.c in Omega 0.90.4, lines 100–125; itemf1.c in Omega 0.90.4, lines 955–974; movef.c in Omega 0.90.4, lines 9–90.
  9. itemf1.c in Omega 0.90.4, lines 955–974; command2.c in Omega 0.90.4, lines 367–382.
  10. lev.c in Omega 0.90.4, lines 470–497.
  11. aux1.c in Omega 0.90.4, lines 498–513; movef.c in Omega 0.90.4, lines 166–200.
  12. trap.c in Omega 0.90.4, lines 50–69; mon.c in Omega 0.90.4, lines 755–770; effect3.c in Omega 0.90.4, lines 540–550.
  13. trap.c in Omega 0.90.4, lines 70–94; mon.c in Omega 0.90.4, lines 772–790.
  14. trap.c in Omega 0.90.4, lines 96–134; mon.c in Omega 0.90.4, lines 792–807; effect3.c in Omega 0.90.4, lines 415–424; mmove.c in Omega 0.90.4, lines 228–241.
  15. trap.c in Omega 0.90.4, lines 135–147; mon.c in Omega 0.90.4, lines 831–847.
  16. trap.c in Omega 0.90.4, lines 149–170; aux1.c in Omega 0.90.4, lines 498–513; mon.c in Omega 0.90.4, lines 849–864.
  17. trap.c in Omega 0.90.4, lines 172–190; mon.c in Omega 0.90.4, lines 866–883.
  18. trap.c in Omega 0.90.4, lines 192–200; mon.c in Omega 0.90.4, lines 901–917; mmove.c in Omega 0.90.4, lines 244–254; effect3.c in Omega 0.90.4, lines 503–537.
  19. trap.c in Omega 0.90.4, lines 202–215; mon.c in Omega 0.90.4, lines 919–935; effect3.c in Omega 0.90.4, lines 375–410.
  20. trap.c in Omega 0.90.4, lines 217–227; mon.c in Omega 0.90.4, lines 937–953; effect3.c in Omega 0.90.4, lines 215–227.
  21. trap.c in Omega 0.90.4, lines 229–256; mon.c in Omega 0.90.4, lines 955–971; aux1.c in Omega 0.90.4, lines 498–513.
  22. trap.c in Omega 0.90.4, lines 275–302; mon.c in Omega 0.90.4, lines 973–990; effect3.c in Omega 0.90.4, lines 885–909.
  23. mon.c in Omega 0.90.4, lines 809–829; mmove.c in Omega 0.90.4, lines 228–241; trap.c in Omega 0.90.4, lines 258–273.
  24. move.c in Omega 0.90.4, lines 148–211; effect3.c in Omega 0.90.4, lines 574–599.
  25. trap.c in Omega 0.90.4, lines 11–48; movef.c in Omega 0.90.4, lines 166–200.
  26. util.c in Omega 0.90.4, lines 93–162; mmove.c in Omega 0.90.4, lines 191–212; movef.c in Omega 0.90.4, lines 166–200.