Current source code now resides at https://github.com/emagi/eq2emu/
0.9.8-ThetaScorpii started in 2024, this page only includes 2025 changelog entries.
- LUA movement functions added support for nav path
- smoothing out pathing (few code updates)
- disable bank / shared bank in trade and also sellitem function (previously discarded from sell list)
- mitigation_modifier sint16 added to info struct to allow modification of mitigation after the base is obtained from items
- mitigation vs physical support added (independently had slash, crush, pierce, physical is a combo of all 3)
- Allow NPC's that cannot be attacked to be able to aggro/attack other attackable NPC's for quest related content. Such as through their aggro factions (friendly/enemy).
- Fix accidentally not nullifying the spell pointer when we remove a spell effect
- Lua Function GetID(Spawn) added..
- Additionally RemoveProc should only remove the target, not all targets in the spell
- RemoveSpellBonus should only remove the target if specified, otherwise it can remove the entire target set/group accidentally
- script protection on spells against reuse of the lua state between proc / other spell processes
- LUA functions added: GetSpellCaster(Spell) and GetCasterSpellLevel(Spell) the Spell field is optional if in a spell script
- alter table character_spell_effects add column caster_level smallint(5) unsigned not null default 0;
- Fixed hangup with remove spell due to remove target list lock
- call spell remove function for reason "target_dead" and "target_removed" also address the long delay between calling the remove function and the death of a spawn. Lastly made it so we can reference the spawn group id after death for a spawn since we remove it from a spawn group.
- Fixed issues with /reload spells causing a crash
- properly limit classic spell level limits when 0 is applied
- lua spell function remove updated for lua arguments, eg. function remove(Caster, Target, Reason, ..data args..), similar to function cast(Caster, Target, ..data args..)
- Fixed resistances + scaling eventual factor decided
- Added classic spell level support (aka mini ding spells) like warrior getting knee break at lvl 19.6
- LUA function Resurrect updated with 8th and 9th argument for revive_sickness_spell_id and revive_sickness_spell_tier respectively. Fixed avoiding crash with bad spawn ptr if resurrect caster left zone
- fix and restrict selling to city merchants, must be in a guild to get status and in the level range, selling will get no status
- assure the spell is friendly when applying only to group members
- Added Lua Functions PlayAnimationString(Spawn: Spawn, String: EmoteStringCommand, Spawn: OptTarget, Boolean: SetNoTarget, Boolean: UseAllSpellTargets, Boolean: IgnoreSelf) and GetSpellTargets(Optional_Spell) if no argument must be in spell script.
- Fixed spells with no range that are group based to apply to all in group.
- only create a persisted respawn if it has a respawn time
- NPCs use their base level for spells
- LUA Function GetSpellRequiredLevel(Player) added
- add select command to support checking for accepted dialogs
- support flight paths in KoS and earlier clients, also start of showing loot to other group/raid members
- fix flags in KoS client so we can see mounts / set invis so on
- zone unlock lock and zone/zoneid commands now have duplicate id as a second number, incomplete cureplayer for raid groups, lastly patched issues with claim command