Skip to content

Lua Mods

Inside the directory https://github.com/EQEmu/Server/tree/master/utils/mods you can find example scripts on how to override combat to a legacy eqemu formula. This page helps details the process to set up adding lua hooks, so you can customize this to your server's needs

In your eqemu server root directory (where zone, world, shared_memory etc exists) create a new folder called mods

On linux, ensure mods and scripts are chmod 755

Ensure load_order.txt exists under mods, and refers to any hooks that need to be loaded.

Most functions have a e.IgnoreDefault boolean that by default is false. If set to true, you can override all default logic and inject your own.

You can use #reload quest to reload the scripts in your zone to reflect your latest changes. Be sure to #reload world once you finalize your setup and want it to go across all zones.

Function List

Function Description
CalcSpellEffectValue_formula Apply custom spell formulas to how a spell value is deduced
CheckHitChance Check if an attacker hit a defender. e.hit will have hit information
AvoidDamage Check if an attacker avoided damage, no example available
MeleeMitigation Process melee mitigation (damage reduction)
TryCriticalHit Try executing a critical hit
ApplyDamageTable Adjust damage based on a table, no example available
CommonOutgoingHitSuccess This is the final value of an outgoing hit success. Note that if any critical hits occured, if this value is modified, the crit won't match up as the text for the crit would already be displayed.
GetExperienceForKill Get experience earned for a kill, and modify the amount
GetEXPForLevel Get raw experience normally rewarded for leveling
GetRequiredAAExperience Get how much experience is needed for an AA gain
RegisterBug When a /bug report occurs, this fires with info. Can use githubeq for example to redirect bugs to github