Issue #71
- Region Maps support water! Later on to add lava/no fly/other potential regions
- new LUA functions:
* InWater(spawn)
* HasControlEffect(spawn, type)
* GetBaseAggroRadius(spawn)
* GetAggroRadius(spawn)
* SetAggroRadius(spawn, distance, override) - override true sets base to this, otherwise its temporary and doesn't impact GetBaseAggroRadius
* SetDeity(spawn, value)
Changed string* WorldDatabase::GetZoneName to string WorldDatabase::GetZoneName, this will prevent memory leaks when people forget to delete the memory
Changed ZoneScripts to use the one in the ZoneScripts directory if the lua_script field in the zones table is empty, but the zonescript file exists on disk, warning is displayed it World
Spells/Fighter/Crusader/Shadowknight/Painbringer.lua
function customspell(Spell, Caster, Target)
SetSpellData(Spell,"name","Painbringer 2.0!")
end
sets name to Painbringer 2.0! instead of 'Painbringer'
- Allows custom spell_display_effects
- Spell examine is now unique to the spell cast, we have to create a unique spell id that is temporarily used by the custom spell to accomplish this
eg.
Spell = GetSpell(90044, 1)
SetSpellDisplayEffect(Spell, 0, "description", "Applies Painbringer. Lasts for millions of seconds!")
CastCustomSpell(Spell, Player, Player)
result: https://cdn.discordapp.com/attachments/684934458738212962/758297380302225418/unknown.png
Standardized the message numbers and will send the correct one based on client version
Fixed /tell to not assume that both clients were the same version
Tons of quest fixes
Fixed various spawn bugs
Complete Fix#196 - need to rebuild the SpellData structure so as to not mess with the base Spell's memory. Also delete the inner spell when we RemoveSpell since its only a one-off.
Fix#196 - LUA custom spell support (for things like item scripts)
Fix#195 - Alignment LUA functions
CastSpell now has a cast_time argument extended to it
- Fixed a async query for npc_appearance on skin_color to use insert param
- spell 'remove' function now has third parameter 'reason', canceled, expired, purged, death and pet_death
SpawnSet(NPC, "skin_color", "255 0 0", false, true)
skin_color takes in 3 arguments as a string, R G B
two new parameters after value:
- no_update, when set to true (default false, its an inverse flag of send_update) we will not send update of spawn changes
- temporary_flag, when set to true database is not update (default false again to keep compat with LUA scripts).
SpellHeal(Spawn, "heal", min, max, NPC, 0, 0, "New Spell Name")
Prevents corruption in the group member pointers.. clients couldn't see each other in group lists or chat to each other depending on special conditions