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 |