Now any creatures/gameobjects loaded base at DB data
in non-instanceable/instanceable maps always have same guid
as in DB data.
* Also remove useless by same reasons MaNGOS::GameObjectWithDbGUIDCheck
* Creature/GameObject guid generators moved to Map
* For avoid wrong not converted cases generic function in ObjectMgr has been replaced by
specilized guid generation function like sObjectMgr.GeneratePlayerLowGuid().
This let catch all cases that need update in custom code or scripts.
* Drop many ObjectAcessor.h now dead code. This is also make mangos more thread safe.
* Restore one more time unix build broken in prev. commits.
Note: many cases when something not wotk in instance but work in continents
possible magicly start work after this commit. For example, some gm commands.
From large systems that need more chnages for start work in full power in instances
can be referecned pool/gamevent system. Last need just small hacks drop changes but
in will addded in independent commit.
* Fixed bug with not unloaded InstanceSave for BGs/ArenasPartly.
This bug introduced with recent InstanceSave creating for all maps.
* Avoid save respawn data to DB for BGs/Arenas.
No reason save to DB because BGs/Arenas reset at map unload.
* Always create InstanceSave for Map without recheck suggested data integrity.
Map::GetInstanceSave expected always return != NULL value.
* 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.
* Added BattleGroundAVTeamIndex enum type for 3-case special team list fo AV.
* Rename BattleGroundTeamId -> BattleGroundTeamIndex for clarify
* Some safe checks added and dropped bogus call RewardReputationToTeam in BattleGroundAV::HandleQuestComplete
for BattleGroundTeamIndex as faction. Unclear for what it expected used so dropped.
* 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.
Also other classes have been affected, due to the use of search&replace.
This will probably break some patches and 3rd party libraries, so make sure to update them if required.
Thanks to Phille for the original idea and patch!
Add a default define and use it instead of hard coded value.
Some additional minor corrections for transport GO's
Signed-off-by: NoFantasy <nofantasy@nf.no>
this will be useful, if we have multithreaded mapupdates one day
since i couldn't reproduce any errors regarding to self deletions of
battlegrounds i removed the m_deleteThis variable
when a bg gets created it will also get it's map
(old behaviour was, that map got's created when first player entered the instance)
the reason why battlegroundmaps aren't instantiated with a player object:
* the only information from player-class we need is player->GetBattleGround()
also we can't use anything else
(e.g. playerlevel can be outside of bg-levelrange)
-> cause bgs depend pretty much on their maps this caused circualr dependencies between map,bg,player
* battlegroundmaps will _always_ be prepared by the bgsystem to set the proper data
* there is not much shared in the creational process with dungeonmaps
even the functioncall is different since players need to enqueue first for bgs,
therefore again the player's way to that instance is only through the bgMgr
Also make more wide set achievement type criterias expected requirement in DB table.
Original patch in achievement call part provided BudIcePenguin.
Prepared to mangos sources by Burned@ru-mangos.ru
* Drop Battleground.QueueAnnouncer.Enable and Battleground.QueueAnnouncer.PlayerOnly
* Add Battleground.QueueAnnouncer.Join with 0..2 values (1=to joined player, 2=to world)
* Add Battleground.QueueAnnouncer.Start for start bg event
Also fixed bug when not rated arenas announced as BG announces
Also lost mangosd.config changes from prev commit.
it will now correctly drop the flag and correctly remove the player from
eye of the storm objectives
+ also avoid the spamming of all "Player not found!" messages in battlegrounds
maybe all existing "player not found!" places should now get an assert(false)
since this shouldn't happen anymore
+ also better error output in GetBattleGroundQueueIdFromLevel
This reverts commit 72f7a7ee56c63672faa7786b1d162a7a3b9ab406.
This is temporary revert due to bug in ACE_Thread_Mutex.
Original code itself in commit has no problem.
Conflicts:
src/shared/revision_nr.h
* Move send functions to new MailDraft class from WorldSession
* Simplify use different args combinations used in SendMailTo
by groupping its by functionality in Helper classes. This also will prevent wrong way use args combinations.