Magic: Difference between revisions

From Project Tamriel Wiki
Jump to navigation Jump to search
(Add dispel)
(Drain vs Damage and "random" magnitudes)
Line 2,709: Line 2,709:


Note that Dispel only affects spells. Not enchantments, not potions, not powers. Just spells. Also note that a spell with the Dispel effect can dispel itself. When this happens the Dispel magic effect cannot be detected using mwscript because it will be gone by the time the script runs.
Note that Dispel only affects spells. Not enchantments, not potions, not powers. Just spells. Also note that a spell with the Dispel effect can dispel itself. When this happens the Dispel magic effect cannot be detected using mwscript because it will be gone by the time the script runs.
== Drain / Damage / Absorb ==
Drain effects temporarily reduce a stat by their magnitude. Drain Health 10pts for 5s will reduce the target's current health by 10 when it is applied and restore 10 health when it expires 5 seconds later, for example. This means that these effects should always have a duration.
Damage effects permanently reduce a stat by their magnitude per second. So Damage Strength 10 pts for 5s will reduce a target's strength by a total of 50 points. **Do not** create abilities with these effects as they will reduce the target's base stats instead. (So a Damage Health ability will permanently reduce the target's maximum health, requiring level ups to increase again.)
Absorb Attribute and Absorb Skill act like a combined Fortify and Drain effect: temporarily increasing the caster's stats while reducing the target's. Like Drain effects, these should always have a duration.
Absorb Health/Magicka/Fatigue, on the other hand, act like combined Restore and Damage effects. This means they do not need a duration to be effective.
== Magnitude and Duration ==
Magic effects without the Applied Once flag are applied every frame. So a Fire Damage 1pt for 5s effect is applied continuously over every frame in those 5 seconds, doing 1 point of damage multiplied by the (fractional) number of seconds since the last frame, or about 0.0167 damage per frame at 60 FPS.
Effects without the Applied Once flag with variable magnitudes (e.g. 1-5pts) have their magnitude recalculated every frame. This means that the magnitude of any of these effects with a duration over 0 seconds is effectively non-random at playable frame rates. A spell of Fire Damage 1-5pts for 5s is essentially guaranteed to do 15 damage because of this. If you want the magnitude to actually be variable, use a duration of 0 seconds so it is only calculated for one frame.
Effects with the Applied Once flag are, as the name implies, only applied once. Meaning a random magnitude is picked only once.

Revision as of 06:59, 14 May 2024

Effect Flags

Each magic effect has a number of hard coded effect flags. Some of these affect how the game behaves (like using Harmful effects on friendly NPCs being assault) and some of them do nothing at all (Illegal Daedra.)

Effect Target Skill Target Attribute No Duration No Magnitude Harmful Continuous Vfx Cast Self Cast Touch Cast Target Applied Once Stealth Non Recastable Illegal Daedra Unreflectable Caster Linked
Water Breathing
Swift Swim
Water Walking
Shield
Fire Shield
Lightning Shield
Frost Shield
Burden
Feather
Jump
Levitate
Slow Fall
Lock
Open
Fire Damage
Shock Damage
Frost Damage
Drain Attribute
Drain Health
Drain Magicka
Drain Fatigue
Drain Skill
Damage Attribute
Damage Health
Damage Magicka
Damage Fatigue
Damage Skill
Poison
Weakness to Fire
Weakness to Frost
Weakness to Shock
Weakness to Magicka
Weakness to Common Disease
Weakness to Blight Disease
Weakness to Corprus Disease
Weakness to Poison
Weakness to Normal Weapons
Disintegrate Weapon
Disintegrate Armor
Invisibility
Chameleon
Light
Sanctuary
Night Eye
Charm
Paralyze
Silence
Blind
Sound
Calm Humanoid
Calm Creature
Frenzy Humanoid
Frenzy Creature
Demoralize Humanoid
Demoralize Creature
Rally Humanoid
Rally Creature
Dispel
Soultrap
Telekinesis
Mark
Recall
Divine Intervention
Almsivi Intervention
Detect Animal
Detect Enchantment
Detect Key
Spell Absorption
Reflect
Cure Common Disease
Cure Blight Disease
Cure Corprus Disease
Cure Poison
Cure Paralyzation
Restore Attribute
Restore Health
Restore Magicka
Restore Fatigue
Restore Skill
Fortify Attribute
Fortify Health
Fortify Magicka
Fortify Fatigue
Fortify Skill
Fortify Maximum Magicka
Absorb Attribute
Absorb Health
Absorb Magicka
Absorb Fatigue
Absorb Skill
Resist Fire
Resist Frost
Resist Shock
Resist Magicka
Resist Common Disease
Resist Blight Disease
Resist Corprus Disease
Resist Poison
Resist Normal Weapons
Resist Paralysis
Remove Curse
Turn Undead
Summon Scamp
Summon Clannfear
Summon Daedroth
Summon Dremora
Summon Ancestral Ghost
Summon Skeletal Minion
Summon Bonewalker
Summon Greater Bonewalker
Summon Bonelord
Summon Winged Twilight
Summon Hunger
Summon Golden Saint
Summon Flame Atronach
Summon Frost Atronach
Summon Storm Atronach
Fortify Attack
Command Creature
Command Humanoid
Bound Dagger
Bound Longsword
Bound Mace
Bound Battle Axe
Bound Spear
Bound Longbow
ExtraSpell
Bound Cuirass
Bound Helm
Bound Boots
Bound Shield
Bound Gloves
Corprus
Vampirism
Summon Centurion Sphere
Sun Damage
Stunted Magicka
Summon Fabricant
Summon Wolf
Summon Bear
Summon Bonewolf
Summon Creature04
Summon Creature05

Weaknesses and Resistances

The magnitude of a magic effect can be increased or decreased by various effects. Adding the magnitude of all resistances and subtracting all weaknesses gives the percentage by which the magnitude is modified. For example: 10 Resist Fire + 5 Fire Shield - 50 Weakness to Fire = 35% more damage taken from Fire Damage effects.

It's important to realize that this multiplying percentage is calculated only once, when the spell is first applied. This means that a Resist Magicka 100% for 1s effect can be used to ignore the Blind effect of the Boots of Blinding Speed. It also means casting Weakness to Fire on an NPC already taking Fire Damage over time will not increase that other effect's damage.

In addition to the effects in the Resist column, Willpower and Luck also help resist magic. Note that only magic effects with a corresponding resting effect can benefit from attribute resistance. Effects with the No Magnitude flag can be resisted entirely by attributes if the target successfully rolls against the caster's chance of casting the spell in question (100% for non-spells.) Effects without this flag make the same roll, but only receive a negligible boost to resistance.

NB: Effects added by AddSpell (e.g. abilities) ignore weaknesses and resistances.

Effect Resist Weakness
Fire Damage Resist Fire Fire Shield Weakness to Fire
Frost Damage Resist Frost Frost Shield Weakness to Frost
Shock Damage Resist Shock Lightning Shield Weakness to Shock
Poison Resist Poison Weakness to Poison
Absorb Attribute Resist Magicka Weakness to Magicka
Absorb Health Resist Magicka Weakness to Magicka
Absorb Magicka Resist Magicka Weakness to Magicka
Absorb Fatigue Resist Magicka Weakness to Magicka
Absorb Skill Resist Magicka Weakness to Magicka
Blind Resist Magicka Weakness to Magicka
Burden Resist Magicka Weakness to Magicka
Calm Humanoid Resist Magicka Weakness to Magicka
Calm Creature Resist Magicka Weakness to Magicka
Charm Resist Magicka Weakness to Magicka
Corprus Resist Corprus Disease Weakness to Corprus Disease
Damage Attribute Resist Magicka Weakness to Magicka
Damage Health Resist Magicka Weakness to Magicka
Damage Magicka Resist Magicka Weakness to Magicka
Damage Fatigue Resist Magicka Weakness to Magicka
Damage Skill Resist Magicka Weakness to Magicka
Demoralize Humanoid Resist Magicka Weakness to Magicka
Demoralize Creature Resist Magicka Weakness to Magicka
Disintegrate Armor Sanctuary
Disintegrate Weapon Sanctuary
Drain Attribute Resist Magicka Weakness to Magicka
Drain Health Resist Magicka Weakness to Magicka
Drain Magicka Resist Magicka Weakness to Magicka
Drain Fatigue Resist Magicka Weakness to Magicka
Drain Skill Resist Magicka Weakness to Magicka
Frenzy Humanoid Resist Magicka Weakness to Magicka
Frenzy Creature Resist Magicka Weakness to Magicka
Paralyze Resist Paralysis
Rally Humanoid Resist Magicka Weakness to Magicka
Rally Creature Resist Magicka Weakness to Magicka
Silence Resist Magicka Weakness to Magicka
Sound Resist Magicka Weakness to Magicka
Turn Undead Resist Magicka
Vampirism Resist Common Disease Weakness to Common Disease
Weakness to Fire Resist Magicka
Weakness to Frost Resist Magicka
Weakness to Shock Resist Magicka
Weakness to Poison Resist Magicka
Weakness to Magicka Resist Magicka
Weakness to Common Disease Resist Magicka
Weakness to Blight Disease Resist Magicka
Weakness to Corprus Disease Resist Magicka
Weakness to Normal Weapons Resist Magicka

Reflect and Spell Absorption

Upon being hit by a spell or enchantment, there is a chance some or all of its effects will be reflected or absorbed by the target. The order in which Reflect and Spell Absorption are considered is the same order in which the effects were added to the target. This means that casting Reflect 100% and then casting Spell Absorption 100% will always reflect everything, but casting Spell Absorption 100% followed by Reflect 100% will cause everything to be absorbed.

Note that reflected effects and spells cast by Cast or ExplodeSpell cannot be reflected. It's also not possible to absorb or reflect your own spells. Also be aware that beneficial effects can be absorbed or reflected.

Dispel

Dispel removes active spells affecting the target. The magnitude is the percent chance any given spell will be cancelled.

Note that Dispel only affects spells. Not enchantments, not potions, not powers. Just spells. Also note that a spell with the Dispel effect can dispel itself. When this happens the Dispel magic effect cannot be detected using mwscript because it will be gone by the time the script runs.

Drain / Damage / Absorb

Drain effects temporarily reduce a stat by their magnitude. Drain Health 10pts for 5s will reduce the target's current health by 10 when it is applied and restore 10 health when it expires 5 seconds later, for example. This means that these effects should always have a duration.

Damage effects permanently reduce a stat by their magnitude per second. So Damage Strength 10 pts for 5s will reduce a target's strength by a total of 50 points. **Do not** create abilities with these effects as they will reduce the target's base stats instead. (So a Damage Health ability will permanently reduce the target's maximum health, requiring level ups to increase again.)

Absorb Attribute and Absorb Skill act like a combined Fortify and Drain effect: temporarily increasing the caster's stats while reducing the target's. Like Drain effects, these should always have a duration.

Absorb Health/Magicka/Fatigue, on the other hand, act like combined Restore and Damage effects. This means they do not need a duration to be effective.

Magnitude and Duration

Magic effects without the Applied Once flag are applied every frame. So a Fire Damage 1pt for 5s effect is applied continuously over every frame in those 5 seconds, doing 1 point of damage multiplied by the (fractional) number of seconds since the last frame, or about 0.0167 damage per frame at 60 FPS.

Effects without the Applied Once flag with variable magnitudes (e.g. 1-5pts) have their magnitude recalculated every frame. This means that the magnitude of any of these effects with a duration over 0 seconds is effectively non-random at playable frame rates. A spell of Fire Damage 1-5pts for 5s is essentially guaranteed to do 15 damage because of this. If you want the magnitude to actually be variable, use a duration of 0 seconds so it is only calculated for one frame.

Effects with the Applied Once flag are, as the name implies, only applied once. Meaning a random magnitude is picked only once.