Race can also be creature race and needed for future implementation of spells.
RACE_UNDEAD_PLAYER renamed to more proper RACE_UNDEAD
Signed-off-by: NoFantasy <nofantasy@nf.no>
Also
* Use typename for mail item info vector.
* Include tools/characters_mail_items_cleanup.sql for cleanup lost mail items.
It also included as sql update part. Sql update also fix receiver for stored
in DB expired mail items.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Fix some bugs when all uint32 field modified instead byte parts.
In some cases added byte way set/get but code line itself need additinal reserch/fix
for use correctness in line pos.
* Always use QuestStatus data for current counters set
This let be sure that that we not have non sync values in client view and server state.
* Remove some access functions for quest update fields that expected to be only updated/set.
* Fixed wrong arenaid use at leave arena queue.
* Fixed memory lost and etc at not virtual EndBattleground call
* Fixed crash at arena join with fake data from client.
* Code cleanups.
* Not exclude trainer flags for client for pet trainers.
* Not report error for pet trianers empty spell lists.
TODO:
* Add check for redundent trainer spell data for pet trainers at server startup
* Need hide train gossip option for pet trainers, but currently without it gossip
window not open for pet trainer by some unknown reason.
* Also remove redundant zone/area args for zone/area update function like UpdateZoneDependentAuras.
* Merge Player::*AllControlledUnits functions to Unit version with replace option args by mask arg.
* Unit::*AllControlledUnits guardian iteration make working with internal unsummon call suport for guardians case.
Also move related code to Unit and allow summon minipets by creatures.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also fix creature's totems unsummon at owner remove from world.
* Merge Player::RemovePet and Pet::Remove function code to Pet::Unsummon
This let be sure that in all cases all required steps doen. For example this fix
creature's guardians propertly remove from guardians list.
* Add new pet save mode PET_SAVE_REAGENTS as replacement PET_SAVE_NOT_IN_SLOT+true-arg stable pair in old function args
This will avoid use reagent save arg with wrong different save modes.
* Fixed recently added code with absent check for re-summon protector pet call.
Now server side rewar same as reported at client side.
Also thanks to KiriX for patch prepering to commit and testing.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Use anum instead raw uint8 type in args
* Fixed crash when gm at continent invite to group gm in instance
and then teleport to instance using .goname.
When group leader teleport to instance it must get group bind instead solo bind.
* In other semilar cases detection report error as before but replace solo by group bind instead
assert crash at enter to map.
Field action_menu_id in gossip_menu_option table can be set to -1 where close gossip is expected, instead of sending a new menu.
Signed-off-by: NoFantasy <nofantasy@nf.no>
This can affect correct result in cases big guid values
(out of range for possitive part of int32 range) at x86 platforms.
Some other cases addded in addition to original patch fixes
where %d wrongly/unsafe used for unsigned values.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>