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>
In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.
Original version provided by ciphercom.
This reverts commit 10784a8c7cc81c468b5411e973d36ecf31de9603.
Main reason: impossibility for me as commiter test problem and fix all corner cases problems.
* Implment vendor at show replace BoA item with reputation requirement
by identical item without rep. reqs for player that fit this requirements
of original item.
* Table also can be used for store item convertion data form one team items
to similar other team items. This case not impement but added function easy
used for it.
* Note: strict single convert for item not created problem for both way use:
item converted for same team or all, can't be original item for conversion to
another team.