Draft:Monster spellcasting: Difference between revisions

From Omega Wiki
Jump to navigation Jump to search
提取怪物攻击、行为与施法机制,更新总览、信息卡及相关草稿链接
整理恐惧失明禁锢与吸级机制,修正保护规则并连接相关草稿
 
(One intermediate revision by the same user not shown)
Line 64: Line 64:


== Effects and timing ==
== Effects and timing ==
The direct level-loss spell and protected undead touch are compared in [[Draft:Level drain|Level drain]], including retained experience and recovery. [[Draft:Fear|Fear]] can prevent the player's own casting command even while monsters continue to cast.
[[Draft:Damage and immunity|Damage and immunity]] distinguishes damage protection from spell resistance. The [[Draft:Poison|Poison]], [[Draft:Disease|Disease]] and [[Draft:Sleep|Sleep]] pages cover additional sources, timing and recovery beyond this shared spell repertoire.
The damage figures are raw rolls or amounts, not promised HP loss after protection. Lightning and cold use a ball if the caster is immune to that element or farther than two squares away; otherwise they use a bolt. Balls can also affect nearby creatures, including the caster. Bolts that reach the player check deflection rather than an ordinary melee hit roll.<ref>{{Source|mspec.c|135|215}}; {{Source|effect1.c|245|433}}; {{Source|aux1.c|498|513}}.</ref>
The damage figures are raw rolls or amounts, not promised HP loss after protection. Lightning and cold use a ball if the caster is immune to that element or farther than two squares away; otherwise they use a bolt. Balls can also affect nearby creatures, including the caster. Bolts that reach the player check deflection rather than an ordinary melee hit roll.<ref>{{Source|mspec.c|135|215}}; {{Source|effect1.c|245|433}}; {{Source|aux1.c|498|513}}.</ref>



Latest revision as of 12:56, 12 September 2026

Omega 0.90.4

Monster spellcasting is a shared random spell repertoire used by many creatures. A caster's base level determines the available spells; a name such as necromancer does not by itself add a separate summoning or undead-raising power. Individual pages distinguish this repertoire from dedicated attacks such as a frost demon's snowball.[1]

When monsters cast

The shared spell routine requires a hostile caster with line of sight. In ordinary scheduled actions, it can be reached through a nearby special ability, a ranged ability, or both, according to the creature. Nearby attempts require an awake, living creature closer than the larger of five squares or its level, then a 50% check. Ranged attempts require hostility, a non-wandering creature, distance greater than two but less than its sense range, a 50% check, line of sight and no player invisibility. These initial distances are taken at the start of the action. Sanctuary prevents either ordinary route.[2]

A caster with both routes, such as a high thaumaturgist, can attempt more than one spell in the same action. The nearby spell routine itself does not reject an invisible player. For the surrounding movement and attack checks, see Monster attacks.[3]

The Archmage's and Prime Sorceror's court response is an additional entry: it makes creatures on the level hostile and invokes the shared spell routine for each. Those participants do not wait for their own scheduled action or awake check. The initial ordinary special trigger is stopped by sanctuary; the shared spell routine itself has no separate sanctuary check. Each cast still has its own line-of-sight and resistance checks.[4]

Spell repertoire

For caster levels 0 through 10, there are level + 7 approximately equally likely choices after resistance. A level-2 caster has the first nine choices below, a level-5 caster the first twelve, and a level-9 caster all sixteen. At level 10, disintegration occupies two of the seventeen choices: its chance is approximately 2/17 per unresisted cast. Each other listed effect occupies one choice. These figures describe the shared repertoire, not the probability of casting on every player command; the game's integer random-number scaling introduces a small bias.[5]

Minimum caster level Spell Effect and main limitation
0 Physical missile Raw physical damage 0–9; deflection stops a bolt reaching you
0 Recovery Caster gains 0 to level squared minus 1 HP, without a cap at its original HP; at level 0 it gains 0 HP
0 Slow Adds 250–499 slow counts unless you are already hasted
0 Disease Adds 1–24 disease counts unless you have infection immunity
0 Lightning Raw electricity damage 0–19; bolt or nine-square ball depending on the caster's immunity and distance
0 Cold Raw cold damage 0–29; bolt or nine-square snowball depending on the caster's immunity and distance
0 Remove item magic A random eligible carried object loses its special use, enchantment and charges; ordinary equipment and several other kinds are exempt
1 Weaken blessing A random carried object's blessing falls by 2; the result may become cursed
2 Poison Adds the caster's level in poison counts unless you have poison immunity
3 Sleep Adds 2 through (2 × floor(level / 2) + 1) sleep counts; sleep immunity prevents it and existing sleep is not extended
4 Fire bolt Raw fire damage 0–49; deflection can stop it
5 Destroy item Destroys one object from a random carried slot, rather than necessarily the whole stack
6 Dispel benefits Ends several temporary benefits and advances a ten-minute status check; not every lasting effect is removed
7 Disruption 50 physical damage before applicable absorption or immunity
8 Drain levels Loses the caster's level in character levels, with corresponding current and maximum HP loss; no separate negative-energy immunity check
9 Disintegration Destroys a worn cloak first, otherwise body armor; with neither present, attempts 250 damage

Resisting a spell

Before choosing its spell, the caster allows a general magic-resistance check. College or Circle membership can supply an earlier counterspell attempt when the two guild ranks sum to a positive value. If the counterspell succeeds and current mana is strictly greater than the caster's level squared, that amount of mana is spent and the spell stops. Otherwise the normal resistance check still follows.[6]

Check Success condition
Guild counterspell floor(player level / 2) + random 0–19 > caster level + random 0–19
Normal resistance floor(player level / 4) + protection + random 0–19 > caster level + random 0–29

All random draws in these comparisons are separate. Resistance happens before spell selection, so it can even prevent the caster from choosing recovery. Passing an elemental immunity check later is not the same as resisting the cast: immunity to fire, cold or electricity does not itself stop curses, item loss or direct level drain.[7]

Effects and timing

The direct level-loss spell and protected undead touch are compared in Level drain, including retained experience and recovery. Fear can prevent the player's own casting command even while monsters continue to cast.

Damage and immunity distinguishes damage protection from spell resistance. The Poison, Disease and Sleep pages cover additional sources, timing and recovery beyond this shared spell repertoire.

The damage figures are raw rolls or amounts, not promised HP loss after protection. Lightning and cold use a ball if the caster is immune to that element or farther than two squares away; otherwise they use a bolt. Balls can also affect nearby creatures, including the caster. Bolts that reach the player check deflection rather than an ordinary melee hit roll.[8]

Slow, poison and sleep counts normally decrease at game-minute updates, with extra checks during some longer advances. Disease and similar recovery counts normally decrease every ten game minutes indoors; countryside hourly advances also run these checks. A status count is therefore not one player command. Existing haste prevents this slow spell; it is not removed by the attempt.[9]

Item-magic removal skips ordinary weapons, armor and shields, food, launchers and several inert objects; cursed eligible objects resist it, and artifacts have an additional two-thirds resistance chance. Item destruction can affect equipped objects as well as other carried property. Disintegration removes a cloak or armor before checking bare-body damage; elemental immunity does not preserve that equipment. The level-drain spell directly reduces levels and HP, which differs from the separately checked life-drain attacks of some undead.[10]

Strategy

Breaking line of sight prevents this shared repertoire, including direct curses and the caster's own recovery spell. Invisibility is narrower protection: it stops the ordinary ranged attempt, but a nearby hostile caster can still use its special casting route. Moving away can reduce nearby attempts while leaving you inside an expanded countryside or arena sense range; check the actual encounter.[11]

Judge the caster by its available spell range as well as its HP damage. A level-2 caster can poison you and damage item magic even without the high-level destructive spells. At level 8, direct level drain joins the pool; at level 9, disintegration makes an encounter dangerous to worn equipment as well as your HP. Elemental immunity does not cover either threat.

Guild counterspelling can stop even these spells before selection, but depends on the level comparison and having more mana than the square of the caster's level. Against a level-9 caster, 81 mana is insufficient for the counterspell payment: you need at least 82, and a success spends 81. Normal resistance still follows a failed or unaffordable counterspell attempt. Keeping a mana reserve can therefore matter, but it is not a guarantee of resisting the next spell.[12]

References

  1. mspec.c in Omega 0.90.4, lines 135–215; minit.h in Omega 0.90.4, lines 171–175.
  2. mon.c in Omega 0.90.4, lines 12–68; mon.c in Omega 0.90.4, lines 389–409; mspec.c in Omega 0.90.4, lines 135–215.
  3. minit.h in Omega 0.90.4, line 279; mon.c in Omega 0.90.4, lines 12–68; mspec.c in Omega 0.90.4, lines 135–215.
  4. mspec.c in Omega 0.90.4, lines 723–738; mon.c in Omega 0.90.4, lines 402–409; mspec.c in Omega 0.90.4, lines 135–155.
  5. mspec.c in Omega 0.90.4, lines 135–215; util.c in Omega 0.90.4, lines 25–31.
  6. aux3.c in Omega 0.90.4, lines 395–414.
  7. aux3.c in Omega 0.90.4, lines 395–414; mspec.c in Omega 0.90.4, lines 135–155; aux2.c in Omega 0.90.4, lines 172–175.
  8. mspec.c in Omega 0.90.4, lines 135–215; effect1.c in Omega 0.90.4, lines 245–433; aux1.c in Omega 0.90.4, lines 498–513.
  9. time.c in Omega 0.90.4, lines 19–23; aux2.c in Omega 0.90.4, lines 186–255; aux2.c in Omega 0.90.4, lines 340–445; aux3.c in Omega 0.90.4, lines 11–47; effect2.c in Omega 0.90.4, lines 432–448; effect3.c in Omega 0.90.4, lines 215–224; effect3.c in Omega 0.90.4, lines 770–811.
  10. effect1.c in Omega 0.90.4, lines 8–54; effect1.c in Omega 0.90.4, lines 118–156; effect1.c in Omega 0.90.4, lines 647–664; inv.c in Omega 0.90.4, lines 475–503; effect3.c in Omega 0.90.4, lines 323–397; effect3.c in Omega 0.90.4, lines 888–910; effect3.c in Omega 0.90.4, lines 1167–1192.
  11. mspec.c in Omega 0.90.4, lines 135–155; mon.c in Omega 0.90.4, lines 12–68; lev.c in Omega 0.90.4, lines 47–66; env.c in Omega 0.90.4, lines 63–70.
  12. aux3.c in Omega 0.90.4, lines 395–414.