- 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
- Fix lifetime of remove_target_list Spawn* -> int32 entity ID (resolve entity id to spawn on demand, makes sure we don't have a dead ptr)
- Fix for hang behavior with mutex lock when coming in from LUA spell functions
after 30 seconds of zone process hung, attempt normal shutdown. If at 60s then force SpawnProcess/ZoneProcess threads to cancel (only linux supports 60s feature to cancel thread). For windows 60s+ is only notification and does not attempt to cancel threads.
second stage for linux may/may not succeed (either shuts the zone down or crashes the world). Idea being this is worst case scenario to try to recover/make server owner aware of the hung nature of the zone.