*CreatureGroups fixed and improoved. By TrullyONE

- Multimap support for instances added.
 - Removed redundant group checks.
 - New movement rules (bool group formed/dismissed added).
 - uint32 Creature::GroupID replaced with CreatureGroup pointer.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-06 13:27:42 -05:00
parent 69657cad7c
commit e8866340ce
12 changed files with 229 additions and 142 deletions
+5 -3
View File
@@ -110,9 +110,11 @@ template<>
inline void Traveller<Creature>::MoveTo(float x, float y, float z, uint32 t)
{
//Call for creature group update
if(i_traveller.IsFormationLeader() && !i_traveller.isInCombat() &&
CreatureGroupHolder.find(i_traveller.GetFormationID()) != CreatureGroupHolder.end())
CreatureGroupHolder[i_traveller.GetFormationID()]->LeaderMovedInEvade();
if(i_traveller.GetFormation() && i_traveller.GetFormation()->getLeader() == &i_traveller && !i_traveller.isInCombat())
{
i_traveller.GetFormation()->LeaderMovedInEvade();
sLog.outDebug("Traveller<Creature>::MoveTo(){GUID %u calls LeaderMovedInEvade()}", i_traveller.GetGUIDLow());
}
//i_traveller.AI_SendMoveToPacket(x, y, z, t, i_traveller.GetUnitMovementFlags(), 0);
i_traveller.SendMonsterMove(x, y, z, t);