Skip to content

Instantly share code, notes, and snippets.

@atroche
Last active January 17, 2026 22:15
Show Gist options
  • Select an option

  • Save atroche/ca4304437d4936b774d2fe4ef47b89ff to your computer and use it in GitHub Desktop.

Select an option

Save atroche/ca4304437d4936b774d2fe4ef47b89ff to your computer and use it in GitHub Desktop.
EverQuest EQEmu Spell Effects reference

EQEmu Spell Effects Reference

A Ctrl+F friendly reference for spell effects (SPAs) in EQEmu. This is designed for custom content creators designing set bonuses, abilities, and other spells.


Understanding Spell Parameters

Each spell slot has these key values:

Parameter DB Field Description
Effect ID effect_id1 - effect_id12 The SPA (Spell Affect) number - what the effect does
Base base_value1 - base_value12 Primary value for the effect
Limit limit_value1 - limit_value12 Secondary value, often a cap, type restriction, or spell ID
Max max_value1 - max_value12 Maximum/cap value, or third parameter
Formula formula1 - formula12 How the base value scales with caster level

Formula Values (Level Scaling)

Formula Calculation Notes
0 base No scaling
100 base No scaling (same as 0)
101 base + (level / 2) Half level scaling
102 base + level Full level scaling
103 base + (level * 2) Double level scaling
104 base + (level * 3) Triple level scaling
105 base + (level * 4) Quadruple level scaling
107 Degenerating Value decreases over buff duration
108-111 Degenerating variants Various degeneration rates
121 base + (level / 4) Quarter level scaling
122 Splurt Special incremental effect
200+ Stacking slots Used for buff stacking rules

Damage Types & Resist Types

Spells have a resist_type field that determines what resistance is checked AND what "damage type" the spell is considered. Many focus effects and limiters use these values.

Resist Type IDs

ID Name Description
0 RESIST_NONE Unresistable (always lands)
1 RESIST_MAGIC Magic damage/resist
2 RESIST_FIRE Fire damage/resist
3 RESIST_COLD Cold/Ice damage/resist
4 RESIST_POISON Poison damage/resist
5 RESIST_DISEASE Disease damage/resist
6 RESIST_CHROMATIC Lowest of MR/FR/CR/PR/DR
7 RESIST_PRISMATIC Average of MR/FR/CR/PR/DR
8 RESIST_PHYSICAL Physical resist (rare, see Muscle Shock)
9 RESIST_CORRUPTION Corruption resist

Using Resist Types in Focus Effects

SPA 135 (LimitResist) restricts which spell damage types a focus affects:

  • Positive value = Include only this resist type
  • Negative value = Exclude this resist type

Example: A focus that only boosts fire spells would use:

  • Effect: SPA 124 (ImprovedDamage), Base: 10
  • Effect: SPA 135 (LimitResist), Base: 2 (positive = fire only)

Example: A focus that boosts all damage EXCEPT cold:

  • Effect: SPA 124 (ImprovedDamage), Base: 10
  • Effect: SPA 135 (LimitResist), Base: -3 (negative = exclude cold)

Skill Types (Melee Damage)

Many melee effects use skill IDs to specify which attacks are affected. The limit field often contains these values.

Common Combat Skill IDs

ID Skill ID Skill
0 1H Blunt 1 1H Slashing
2 2H Blunt 3 2H Slashing
7 Archery 8 Backstab
10 Bash 21 Dragon Punch / Tail Rake
23 Eagle Strike 26 Flying Kick
28 Hand to Hand 30 Kick
36 1H Piercing 38 Round Kick
51 Throwing 52 Tiger Claw
74 Frenzy 77 2H Piercing

Special value: -1 = ALL skills

Effects That Use Skill Types

SPA Effect Limit Field
169 CriticalHitChance Skill ID (-1 = all)
185 DamageModifier Skill ID (-1 = all)
186 MinDamageModifier Skill ID
197 SkillDamageTaken Skill ID (damage taken from this skill)
220 SkillDamageAmount Skill ID
330 CriticalDamageMob Skill ID
418 SkillDamageAmount2 Skill ID
459 DamageModifier2 Skill ID

Damage Shield Types

Damage shields can have visual/message types. These are cosmetic but may be relevant for custom content.

ID Type Message
244 DS_DECAY "was burned"
245 DS_CHILLED "was chilled"
246 DS_FREEZING "was frozen"
247 DS_TORMENT "was tormented"
248 DS_BURN "was burned"
249 DS_THORNS "was pierced by thorns"

Core Combat Stats

SPA 0: CurrentHP (Heals & Damage)

Purpose: Direct HP modification - heals (positive) or damage (negative)

  • Base: Amount of HP change
  • Limit: Not used
  • Max: Cap on the effect
  • Notes: Repeats every tick if part of a buff (DoT/HoT). For one-time effects, use SPA 79.

SPA 79: CurrentHPOnce

Purpose: One-time HP heal or damage (non-repeating in buffs)

  • Base: Amount of HP change
  • Limit: Not used
  • Max: Cap
  • Notes: Use this for instant heals/nukes that shouldn't tick.

SPA 69: TotalHP

Purpose: Increase maximum HP

  • Base: Amount of HP increase
  • Limit: Not used
  • Max: Not used

SPA 214: MaxHPChange

Purpose: Modify maximum HP by percentage

  • Base: Percentage change
  • Limit: Not used
  • Max: Not used

SPA 15: CurrentMana

Purpose: Mana modification (restores or drains)

  • Base: Amount of mana
  • Limit: Not used
  • Max: Cap

SPA 97: ManaPool

Purpose: Increase maximum mana

  • Base: Amount of mana increase
  • Limit: Not used
  • Max: Not used

SPA 189: CurrentEndurance

Purpose: Endurance modification

  • Base: Amount of endurance
  • Limit: Not used
  • Max: Cap

SPA 190: EndurancePool

Purpose: Increase maximum endurance

  • Base: Amount of endurance increase
  • Limit: Not used
  • Max: Not used

Primary Stats

SPA Name Base = Amount
1 ArmorClass AC amount
2 ATK Attack amount
4 STR Strength
5 DEX Dexterity
6 AGI Agility
7 STA Stamina
8 INT Intelligence
9 WIS Wisdom
10 CHA Charisma
159 AllStats All stats at once
416 ACv2 New AC effect (stacks differently)

Resistances

SPA Name Base = Amount
46 ResistFire Fire resist
47 ResistCold Cold resist
48 ResistPoison Poison resist
49 ResistDisease Disease resist
50 ResistMagic Magic resist
370 ResistCorruption Corruption resist
111 ResistAll All resists except physical

Combat Modifiers

Attack Speed

SPA Name Description
11 AttackSpeed Haste/Slow (100 = normal, 150 = 50% haste)
98 AttackSpeed2 Stacks with AttackSpeed
119 AttackSpeed3 Additional stacking haste
371 AttackSpeed4 Stackable slow (Inhibit Melee)

Base values:

  • Haste: Values > 100 (e.g., 130 = 30% haste)
  • Slow: Values < 100 (e.g., 70 = 30% slow)

SPA 3: MovementSpeed

Purpose: Run speed modification

  • Base: Percentage (100 = normal, 150 = SoW-level speed)
  • Limit: Not used
  • Max: Not used
  • Notes: Spirit of Wolf is typically 150-165

SPA 185: DamageModifier

Purpose: Modify melee damage by percentage per skill type

  • Base: Percentage bonus
  • Limit: Skill type (-1 = all)
  • Max: Not used

SPA 186: MinDamageModifier

Purpose: Increase minimum melee damage

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 220: SkillDamageAmount

Purpose: Flat damage bonus to skills

  • Base: Damage amount
  • Limit: Skill type
  • Max: Not used

Critical Hit Modifiers

SPA 169: CriticalHitChance

Purpose: Melee critical hit chance

  • Base: Percentage chance
  • Limit: Skill type (-1 = all skills)
  • Max: Not used

SPA 170: SpellCritChance

Purpose: Spell critical hit chance

  • Base: Percentage chance
  • Limit: Not used
  • Max: Not used

SPA 171: CrippBlowChance

Purpose: Crippling blow chance

  • Base: Percentage chance
  • Limit: Not used
  • Max: Not used

SPA 273: CriticalDoTChance

Purpose: DoT critical chance

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 274: CriticalHealChance

Purpose: Heal critical chance

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 294: CriticalSpellChance

Purpose: Increase spell crit chance AND damage modifier

  • Base: Crit chance percentage
  • Limit: Crit damage mod percentage
  • Max: Not used

SPA 330: CriticalDamageMob

Purpose: Critical damage modifier for melee

  • Base: Percentage modifier
  • Limit: Skill type
  • Max: Not used

Attack Bonuses

SPA 266: ExtraAttackChance

Purpose: Chance for extra attack with 2H weapons

  • Base: Percentage chance
  • Limit: Number of extra attacks
  • Max: Not used

SPA 498: AddExtraAttackPct_1h_Primary

Purpose: Chance for extra attack with 1H primary

  • Base: Percentage chance
  • Limit: Number of extra attacks
  • Max: Not used

SPA 499: AddExtraAttackPct_1h_Secondary

Purpose: Chance for extra attack with 1H offhand

  • Base: Percentage chance
  • Limit: Number of extra attacks
  • Max: Not used

SPA 177: DoubleAttackChance

Purpose: Double attack chance bonus

  • Base: Percentage bonus
  • Limit: Not used
  • Max: Not used

SPA 364: TripleAttackChance

Purpose: Triple attack chance

  • Base: Percentage bonus
  • Limit: Not used
  • Max: Not used

SPA 279: Flurry

Purpose: Flurry chance (extra attacks)

  • Base: Percentage chance
  • Limit: Not used
  • Max: Not used

SPA 205: Rampage

Purpose: AE melee attacks

  • Base: Number of attack rounds
  • Limit: Max entities hit per round
  • Max: Not used
  • Notes: Default AE range is 40 units

Defensive Modifiers

SPA 168: MeleeMitigation

Purpose: Reduce melee damage taken by percentage

  • Base: Percentage reduction
  • Limit: Not used
  • Max: Not used

SPA 172: AvoidMeleeChance

Purpose: Chance to avoid melee attacks

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 173: RiposteChance

Purpose: Riposte chance bonus

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 174: DodgeChance

Purpose: Dodge chance bonus

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 175: ParryChance

Purpose: Parry chance bonus

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 188: IncreaseBlockChance

Purpose: Block chance bonus

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 320: ShieldBlock

Purpose: Block attacks with shield

  • Base: Percentage chance
  • Limit: Not used
  • Max: Not used

Runes & Damage Absorption

SPA 55: Rune

Purpose: Absorbs melee damage

  • Base: Amount of damage absorbed
  • Limit: Not used
  • Max: Not used
  • Notes: Buff fades when rune is depleted

SPA 78: AbsorbMagicAtt

Purpose: Absorbs spell damage (spell rune)

  • Base: Amount of damage absorbed
  • Limit: Not used
  • Max: Not used

SPA 161: MitigateSpellDamage

Purpose: Percentage-based spell damage mitigation rune

  • Base: Percent mitigation
  • Limit: Max damage absorbed per hit
  • Max: Total rune amount
  • Notes: On items/AAs, provides stackable percent mitigation

SPA 162: MitigateMeleeDamage

Purpose: Percentage-based melee damage mitigation rune

  • Base: Percent mitigation
  • Limit: Max damage absorbed per hit
  • Max: Total rune amount

SPA 163: NegateAttacks

Purpose: Completely negate attacks

  • Base: Number of attacks negated
  • Limit: Not used
  • Max: Max damage per hit that can be negated

SPA 450: MitigateDotDamage

Purpose: DoT damage mitigation rune

  • Base: Percent mitigation
  • Limit: Max damage absorbed per hit
  • Max: Total rune amount

Procs (Triggered Effects)

SPA 85: WeaponProc

Purpose: Add weapon proc (spell cast on melee hit)

  • Base: Proc rate modifier
  • Limit: Spell ID to cast
  • Max: Not used
  • Notes: Higher base = higher proc rate

SPA 419: AddMeleeProc

Purpose: Add a melee proc effect

  • Base: Proc rate modifier
  • Limit: Spell ID to cast
  • Max: Not used

SPA 201: RangedProc

Purpose: Proc on ranged attacks

  • Base: Proc rate modifier
  • Limit: Spell ID to cast
  • Max: Not used

SPA 323: DefensiveProc

Purpose: Proc when being hit

  • Base: Proc rate modifier
  • Limit: Spell ID to cast
  • Max: Not used

SPA 200: ProcChance

Purpose: Modify proc rate

  • Base: Percentage modifier
  • Limit: Not used
  • Max: Not used

SPA 288: SkillAttackProc

Purpose: Proc spell when using a skill

  • Base: Chance (1000 = 100%)
  • Limit: Skill ID
  • Max: Spell ID (or use AA spell field)

Damage Shields

SPA 59: DamageShield

Purpose: Deal damage to attackers

  • Base: Damage amount (negative = damage dealt)
  • Limit: Not used
  • Max: Not used
  • Notes: Triggers when you are hit by melee

SPA 121: ReverseDS

Purpose: Deal damage to self when attacking

  • Base: Damage amount
  • Limit: Not used
  • Max: Not used

SPA 157: SpellDamageShield

Purpose: Deal damage to casters who hit you with spells

  • Base: Damage amount (negative)
  • Limit: Not used
  • Max: Same as base but positive?

Shielding & Damage Shield Modifiers

These modify how shielding effects work, or reduce damage taken from enemy damage shields.

SPA 467: DS_Mitigation_Amount

Purpose: Reduce incoming damage shield damage by flat amount

  • Base: Amount to reduce
  • Limit: Not used
  • Max: Not used
  • Notes: When YOU hit something with a damage shield, take less DS damage

SPA 468: DS_Mitigation_Percentage

Purpose: Reduce incoming damage shield damage by percentage

  • Base: Percentage reduction
  • Limit: Not used
  • Max: Not used
  • Notes: When YOU hit something with a damage shield, take less DS damage

SPA 305: MitigateDamageShield

Purpose: Shielding Resistance (offhand attacks only)

  • Base: Mitigation value
  • Limit: Not used
  • Max: Not used
  • Notes: Reduces damage from enemy DS when attacking with offhand

SPA 320: ShieldBlock

Purpose: Chance to block attacks with a shield

  • Base: Percentage chance bonus
  • Limit: Not used
  • Max: Not used
  • Notes: Requires shield equipped

SPA 349: ShieldEquipDmgMod

Purpose: Damage bonus when wearing a shield

  • Base: Damage bonus amount
  • Limit: Not used
  • Max: Not used
  • Notes: Indirectly increases hate generation

SPA 230: ExtendedShielding

Purpose: Extend range of /shield ability

  • Base: Distance units to add
  • Limit: Not used
  • Max: Not used

SPA 255: ShieldDuration

Purpose: Extend duration of /shield ability

  • Base: Seconds to add
  • Limit: Not used
  • Max: Not used

SPA 210: PetShield

Purpose: Pet shields owner, taking damage for them

  • Base: Time multiplier (1=12sec, 2=24sec, etc.)
  • Limit: Mitigation % on owner (optional override)
  • Max: Mitigation % on pet (optional override)
  • Notes: Default is 50% damage transferred to pet

SPA 463: Shield_Target

Purpose: Shield another player (like /shield command via spell)

  • Base: Percentage of damage shielded
  • Limit: Not used
  • Max: Not used

SPA 476: Weapon_Stance

Purpose: Auto-apply buff based on weapon/shield equipped

  • Base: Spell ID to apply
  • Limit: Stance type (0=2H, 1=Shield, 2=Dual Wield)
  • Max: Not used
  • Notes: Great for conditional set bonuses!

Lifetap & Resource Conversion

SPA 178: MeleeLifetap

Purpose: Heal for percentage of melee damage dealt

  • Base: Percentage of damage returned as healing
  • Limit: Not used
  • Max: Not used

SPA 457: ResourceTap

Purpose: Convert spell damage to HP/Mana/Endurance

  • Base: Percentage of damage converted
  • Limit: Resource type (0=HP, 1=Mana, 2=End)
  • Max: Not used

SPA 324: HPToMana

Purpose: Convert HP to Mana

  • Base: Conversion ratio
  • Limit: Not used
  • Max: Not used

Focus Effects (Spell Modifiers)

These modify spells you cast. They require Limit effects (134-144, etc.) to specify which spells are affected.

SPA 124: ImprovedDamage

Purpose: Increase spell damage by percentage

  • Base: Minimum percentage
  • Limit: Maximum percentage (random between min/max)
  • Max: Not used

SPA 125: ImprovedHeal

Purpose: Increase healing by percentage

  • Base: Minimum percentage
  • Limit: Maximum percentage
  • Max: Not used

SPA 127: IncreaseSpellHaste

Purpose: Reduce spell cast time

  • Base: Percentage reduction
  • Limit: Not used
  • Max: Not used

SPA 128: IncreaseSpellDuration

Purpose: Increase buff duration

  • Base: Percentage increase
  • Limit: Not used
  • Max: Not used

SPA 132: ReduceManaCost

Purpose: Reduce mana cost

  • Base: Minimum percentage
  • Limit: Maximum percentage
  • Max: Not used

SPA 286: FcDamageAmt

Purpose: Flat spell damage bonus

  • Base: Damage amount
  • Limit: Not used
  • Max: Not used

SPA 392: FcHealAmt

Purpose: Flat healing bonus

  • Base: Healing amount
  • Limit: Not used
  • Max: Not used

SPA 399: FcTwincast

Purpose: Chance to cast spell twice

  • Base: Percentage chance
  • Limit: Not used
  • Max: Not used

Focus Limiters

These restrict which spells a focus effect applies to:

SPA Name Base = Value
134 LimitMaxLevel Maximum spell level
135 LimitResist Resist type (+include, -exclude)
136 LimitTarget Target type (+include, -exclude)
137 LimitEffect Spell effect (+include, -exclude)
138 LimitSpellType 0=detrimental, 1=beneficial
139 LimitSpell Specific spell ID (+include, -exclude)
140 LimitMinDur Minimum duration in ticks
141 LimitInstant 0=exclude instant, 1=only instant
142 LimitMinLevel Minimum spell level
143 LimitCastTimeMin Minimum cast time (ms)
144 LimitCastTimeMax Maximum cast time (ms)
348 LimitManaMin Minimum mana cost
385 LimitSpellGroup Spell group ID (+include, -exclude)
391 LimitManaMax Maximum mana cost
411 LimitClass Classes that can use focus
414 LimitCastingSkill Casting skill type

Damage Vulnerability (Debuffs)

These effects are placed ON THE TARGET to modify how much damage they take. Useful for creating debuffs like "target takes 10% more fire damage."

SPA 296: FcSpellVulnerability

Purpose: Increase spell damage taken by percentage

  • Base: Minimum percentage
  • Limit: Maximum percentage (random between min/max)
  • Max: Not used
  • Notes: Combined with LimitResist (SPA 135) to target specific damage types

SPA 297: FcDamageAmtIncoming

Purpose: Increase spell damage taken by flat amount

  • Base: Damage amount
  • Limit: Not used
  • Max: Not used

SPA 197: SkillDamageTaken

Purpose: Modify melee damage taken by skill type

  • Base: Percentage modifier
  • Limit: Skill ID (see Skill Types section)
  • Max: Not used
  • Notes: Positive = take more damage, Negative = take less

SPA 483: Fc_Spell_Damage_Pct_IncomingPC

Purpose: Modify spell damage taken (player-specific)

  • Base: Minimum percentage
  • Limit: Maximum percentage
  • Max: Not used

SPA 484: Fc_Spell_Damage_Amt_IncomingPC

Purpose: Modify spell damage taken by flat amount (player-specific)

  • Base: Damage amount
  • Limit: Not used
  • Max: Not used

Creating a "Fire Vulnerability" Debuff Example

To make a debuff that causes target to take 15% more fire damage:

Slot Effect Base Limit Max
1 296 (FcSpellVulnerability) 15 15 0
2 135 (LimitResist) 2 0 0

Note: Resist type 2 = Fire


Crowd Control

SPA 21: Stun

Purpose: Stun the target

  • Base: Duration in milliseconds
  • Limit: Not used
  • Max: Max level affected

SPA 31: Mez

Purpose: Mesmerize the target

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used
  • Notes: Duration controlled by buff duration

SPA 22: Charm

Purpose: Charm the target

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 23: Fear

Purpose: Fear the target

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 99: Root

Purpose: Root the target in place

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 96: Silence

Purpose: Prevent spellcasting

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 191: Amnesia

Purpose: Prevent combat abilities (silence for melee)

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

Aggro / Hate

SPA 92: InstantHate

Purpose: Add instant hate

  • Base: Hate amount
  • Limit: Not used
  • Max: Not used

SPA 192: Hate

Purpose: Hate modification (instant or over time)

  • Base: Hate amount
  • Limit: Not used
  • Max: Not used

SPA 114: ChangeAggro

Purpose: Modify hate generation

  • Base: Percentage modifier
  • Limit: Not used
  • Max: Not used

SPA 130: SpellHateMod

Purpose: Modify spell hate generation

  • Base: Minimum percentage
  • Limit: Maximum percentage
  • Max: Not used

SPA 321: ReduceHate

Purpose: Reduce hate on target

  • Base: Hate amount reduced
  • Limit: Not used
  • Max: Not used

SPA 455: AddHatePct

Purpose: Modify total hate by percentage

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

Special Abilities

SPA 217: HeadShot

Purpose: Headshot ability (ranger)

  • Base: Proc rate
  • Limit: Damage amount
  • Max: Not used

SPA 346: HeadShotLevel

Purpose: Max level for headshot

  • Base: Maximum level
  • Limit: Not used
  • Max: Not used

SPA 219: SlayUndead

Purpose: Extra damage vs undead

  • Base: Proc rate
  • Limit: Damage modifier
  • Max: Not used

SPA 278: FinishingBlow

Purpose: Massive damage to low HP targets

  • Base: Chance percentage
  • Limit: Damage amount
  • Max: Not used
  • Notes: Triggers when target below 10% HP

SPA 440: FinishingBlowLvl

Purpose: Max level for finishing blow

  • Base: Maximum NPC level
  • Limit: Not used
  • Max: Not used

SPA 439: Assassinate

Purpose: Assassinate damage

  • Base: Damage amount
  • Limit: Not used
  • Max: Not used

SPA 345: AssassinateLevel

Purpose: Max level for assassinate

  • Base: Maximum level
  • Limit: Not used
  • Max: Not used

Spell Triggers

SPA 340: SpellTrigger

Purpose: Chance to trigger another spell

  • Base: Chance percentage (or spell ID sharing roll)
  • Limit: Spell ID to trigger
  • Max: Not used
  • Notes: All base2 spells share roll, only 1 casts

SPA 339: TriggerOnCast

Purpose: Trigger spell when you cast a spell

  • Base: Chance percentage
  • Limit: Spell ID to trigger
  • Max: Not used

SPA 360: ProcOnKillShot

Purpose: Trigger spell when you kill an enemy

  • Base: Chance percentage
  • Limit: Spell ID to trigger
  • Max: Minimum enemy level

SPA 361: SpellOnDeath

Purpose: Cast spell when buffed target dies

  • Base: Spell ID
  • Limit: Not used
  • Max: Not used

SPA 289: CastOnFadeEffect

Purpose: Cast spell when buff fades naturally

  • Base: Spell ID
  • Limit: Not used
  • Max: Not used

SPA 373: CastOnFadeEffectAlways

Purpose: Cast spell when buff fades (any reason)

  • Base: Spell ID
  • Limit: Not used
  • Max: Not used

SPA 333: CastOnRuneFadeEffect

Purpose: Cast spell when rune is depleted

  • Base: Spell ID
  • Limit: Not used
  • Max: Not used

Utility Effects

SPA 12: Invisibility

Purpose: Make invisible

  • Base: Invisibility level
  • Limit: Not used
  • Max: Not used

SPA 28: InvisVsUndead

Purpose: Invisible to undead

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 29: InvisVsAnimals

Purpose: Invisible to animals

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 57: Levitate

Purpose: Levitation

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 14: WaterBreathing

Purpose: Breathe underwater

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

SPA 58: Illusion

Purpose: Change race/appearance

  • Base: Race ID
  • Limit: Not used
  • Max: Not used

SPA 89: ModelSize

Purpose: Change model size (shrink/growth)

  • Base: Size percentage (100 = normal)
  • Limit: Not used
  • Max: Not used

SPA 83: Teleport

Purpose: Teleport to location

  • Base: Zone ID
  • Limit: Not used
  • Max: Not used
  • Notes: Uses teleport_zone field for coordinates

SPA 88: Succor

Purpose: Evacuate/Succor

  • Base: 1 (enables effect)
  • Limit: Not used
  • Max: Not used

Pet Effects

SPA 33: SummonPet

Purpose: Summon a pet

  • Base: Pet power/level modifier
  • Limit: Not used
  • Max: Not used
  • Notes: Pet type from teleport_zone field

SPA 167: PetPowerIncrease

Purpose: Increase pet power

  • Base: Power value
  • Limit: Not used
  • Max: Not used

SPA 213: PetMaxHP

Purpose: Increase pet maximum HP

  • Base: HP amount
  • Limit: Not used
  • Max: Not used

SPA 215: PetAvoidance

Purpose: Increase pet avoidance

  • Base: Amount
  • Limit: Not used
  • Max: Not used

SPA 218: PetCriticalHit

Purpose: Pet critical hit chance

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 280: PetFlurry

Purpose: Pet flurry chance

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

Dispel & Cure

SPA 27: CancelMagic

Purpose: Dispel magic

  • Base: Power level
  • Limit: Not used
  • Max: Not used

SPA 154: DispelDetrimental

Purpose: Remove detrimental effects only

  • Base: Chance percentage (950 = 95%)
  • Limit: Not used
  • Max: Not used

SPA 209: DispelBeneficial

Purpose: Remove beneficial effects only

  • Base: Chance percentage (950 = 95%)
  • Limit: Not used
  • Max: Not used

SPA 291: Purify

Purpose: Remove detrimental spells

  • Base: Number of effects removed
  • Limit: Not used
  • Max: Not used
  • Notes: Excludes charm, fear, rez sickness

SPA 35: DiseaseCounter

Purpose: Add disease counters (negative cures)

  • Base: Counter amount
  • Limit: Not used
  • Max: Not used

SPA 36: PoisonCounter

Purpose: Add poison counters (negative cures)

  • Base: Counter amount
  • Limit: Not used
  • Max: Not used

SPA 116: CurseCounter

Purpose: Add curse counters (negative cures)

  • Base: Counter amount
  • Limit: Not used
  • Max: Not used

SPA 369: CorruptionCounter

Purpose: Add corruption counters (negative cures)

  • Base: Counter amount
  • Limit: Not used
  • Max: Not used

Regeneration

SPA 100: HealOverTime

Purpose: HP regeneration (buff)

  • Base: HP per tick
  • Limit: Not used
  • Max: Not used

SPA 417: ManaRegen_v2

Purpose: Mana regeneration

  • Base: Mana per tick
  • Limit: Not used
  • Max: Not used

SPA 317: ItemHPRegenCapIncrease

Purpose: Increase item HP regen cap

  • Base: Amount
  • Limit: Not used
  • Max: Not used

SPA 318: ItemManaRegenCapIncrease

Purpose: Increase item mana regen cap

  • Base: Amount
  • Limit: Not used
  • Max: Not used

Buff Stacking

SPA 148: StackingCommand_Block

Purpose: Prevent buff stacking

  • Base: Slot to check
  • Limit: Not used
  • Max: Value to check against

SPA 149: StackingCommand_Overwrite

Purpose: Overwrite existing buff

  • Base: Slot to check
  • Limit: Not used
  • Max: Value to check against

SPA 446-449: AStacker, BStacker, CStacker, DStacker

Purpose: Additional stacking blockers

  • Base: Stacking value
  • Notes: Used for complex stacking rules

Percentage-Based HP/Mana/End

SPA 522: Instant_Mana_Pct

Purpose: Modify mana by percentage of max

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 523: Instant_Endurance_Pct

Purpose: Modify endurance by percentage of max

  • Base: Percentage
  • Limit: Not used
  • Max: Not used

SPA 524: Duration_HP_Pct

Purpose: HP drain per tick by percentage

  • Base: Percentage per tick
  • Limit: Not used
  • Max: Max amount per tick

SPA 525: Duration_Mana_Pct

Purpose: Mana drain per tick by percentage

  • Base: Percentage per tick
  • Limit: Not used
  • Max: Max amount per tick

SPA 526: Duration_Endurance_Pct

Purpose: Endurance drain per tick by percentage

  • Base: Percentage per tick
  • Limit: Not used
  • Max: Max amount per tick

Conditional Effects (Spell Restrictions)

Use SPA 442 (TriggerOnReqTarget) or SPA 443 (TriggerOnReqCaster) to trigger spells only when conditions are met. The limit field contains a Spell Restriction ID.

Common Spell Restriction IDs

HP-Based Conditions:

ID Condition
201 HP above 75%
203 HP below 20%
204 HP below 50%
205 HP below 75%
521 HP above 50%
571 HP under 50%
1004 HP below 80%

Mana/Endurance Conditions:

ID Condition
575 Mana below 20%
576 Mana above 50%
582 Mana or End above 20%
583 Mana or End below 10%
584 Mana or End below 30%

Class Restrictions:

ID Condition
128 Pure melee (War/Mnk/Rog/Ber)
129 Pure caster (Nec/Wiz/Mag/Enc)
130 Hybrid (Pal/Rng/SK/Brd/Bst)
131-146 Specific class (War=131, Clr=132, etc.)
147 Priests (Clr/Shm/Dru)
148 NOT plate tanks

Body Type Restrictions:

ID Condition
100 Animal or humanoid
101 Dragon
105 Plant
106 Giant
118 Summoned
120 Undead
123 Humanoid

Combat/Stance Conditions:

ID Condition
216 NOT in combat
2000 In 2H stance
2001 In dual wield stance
2002 In shield stance
2010 NOT in 2H stance
2011 NOT in DW stance
2012 NOT in shield stance

Other:

ID Condition
5 Not on horse
190 NOT a raid boss
191 IS a raid boss
572 Offhand equipped

Example: Proc that only fires below 50% HP

Slot 1: SPA 443 (TriggerOnReqCaster)
  Base: [spell_id to cast]
  Limit: 204 (IS_HP_LESS_THAN_50_PCT)

Limited-Use Effects (NumHits)

Buffs can be set to fade after a certain number of "hits" or uses. This is controlled by two spell fields:

Field Description
numhits Number of times effect can trigger before fading
numhitstype What counts as a "hit"

NumHit Type Values

Type What Counts as a Hit
1 Incoming hit attempts
2 Outgoing hit attempts
3 Incoming spell casts
4 Outgoing spell casts
5 Outgoing hit success
6 Incoming hit success (landing on you)
7 Matching spell casts
8 Incoming hits (used for runes)
9 Reflected spells

Related SPAs

SPA Name Purpose
406 CastonNumHitFade Cast a spell when buff fades due to numhits depleted
420 FcLimitUse Modify numhits by percentage
421 FcIncreaseNumHits Add flat numhits
422 LimitUseMin Focus only works if spell has at least X numhits
423 LimitUseType Focus only works if spell has specific numhit type

Bard & Song Modifiers

SPA 179: AllInstrumentMod

Purpose: Set modifier for ALL instrument/singing skills

  • Base: Mod percentage
  • Limit: Not used
  • Max: Not used
  • Notes: Used if higher than item mods

SPA 260: AddSingingMod

Purpose: Set modifier for specific instrument type

  • Base: Mod percentage
  • Limit: ItemType ID (instrument type)
  • Max: Not used

SPA 270: BardSongRange

Purpose: Increase range of beneficial bard songs

  • Base: Mod percentage
  • Limit: Not used
  • Max: Not used

SPA 261: SongModCap

Purpose: Raise maximum song modifier cap

  • Base: Amount to raise cap
  • Limit: Not used
  • Max: Not used
  • Notes: No longer used on live

Notes for Set Bonus Design

Common Set Bonus Patterns:

  1. Stat bonuses: Use SPAs 4-10, 159 for stats; 1-2 for AC/ATK
  2. Damage bonuses: Use SPA 185 (DamageModifier) with Limit = skill type
  3. Crit bonuses: Use SPA 169 (melee), 170 (spell), 273 (DoT)
  4. Proc effects: Use SPA 85 (WeaponProc) or 419 (AddMeleeProc)
  5. Focus effects: Use SPA 124/125/286/392 with appropriate limiters
  6. Survivability: Use SPAs 168 (mitigation), 55/78 (runes), 172-175 (avoidance)
  7. Damage type focus: Use SPA 124 + SPA 135 (LimitResist) to boost specific damage types
  8. Vulnerability debuff: Use SPA 296 + SPA 135 to make targets take more of a damage type

Tips:

  • For set bonuses, create a hidden buff spell that applies the bonuses
  • Use CastSpell() from item scripts when set threshold is met
  • Use BuffFadeBySpellID() when pieces are removed
  • Test stacking with existing game buffs!
  • Resist types are damage types - Fire resist = fire damage, etc.
  • Use positive limiter values to include, negative to exclude

Quick Reference by Category

Offensive Buffs

0, 79, 2, 11, 85, 124, 169-171, 177-178, 185-186, 200-201, 217-220, 266, 273, 279, 286, 294, 301, 330, 364, 419, 457

Defensive Buffs

1, 46-50, 55, 78, 111, 161-163, 168, 172-176, 180-181, 188, 195-196, 259, 305, 320, 370, 416, 450-452

Shielding & DS Modifiers

59 (DS), 157 (spell DS), 210 (pet shield), 230 (shield range), 255 (shield duration), 305 (DS mitigation), 320 (shield block), 349 (shield dmg bonus), 463 (shield target), 467-468 (DS mitigation), 476 (weapon stance)

Utility

3, 12-14, 28-29, 40, 57-58, 83, 88-89, 194, 256, 271, 290, 327-328

Resource Management

15, 69, 97, 100, 189-190, 214, 317-318, 324, 329, 417, 489, 522-526

Crowd Control

21-23, 31, 63-64, 86, 96, 99, 191, 195

Hate/Aggro

92, 114, 130, 192, 199, 206, 312, 321, 455-456

Procs & Triggers

85, 200-201, 288, 289, 323, 333, 339-340, 360-361, 365, 373, 383, 406-407, 419, 427, 429

Conditional Triggers

442 (TriggerOnReqTarget), 443 (TriggerOnReqCaster) - use with SpellRestriction IDs

Limited Use (NumHits)

406 (cast on fade), 420-423 (numhit modifiers)

Bard/Song

179 (all instrument mod), 260 (specific instrument), 261 (song cap), 270 (song range)

Damage Type Modifiers (use with SPA 135 LimitResist)

124 (spell dmg%), 125 (heal%), 286/462 (spell dmg flat), 296 (vulnerability%), 297 (vuln flat)

Resist/Damage Type IDs

0=None, 1=Magic, 2=Fire, 3=Cold, 4=Poison, 5=Disease, 6=Chromatic, 7=Prismatic, 8=Physical, 9=Corruption


Generated from EQEmu source code - spdat.h and spell_effects.cpp Source: https://web.archive.org/web/20250816011656/https://forums.everquest.com/index.php?threads/enumerated-spa-list.206288/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment