aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureGroups.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-02-04 10:33:18 -0600
committermegamage <none@none>2009-02-04 10:33:18 -0600
commit4d008f2043084b72fb9d4a9929ff2793c7bbd8ee (patch)
tree13e4adc5b3dae7f3c1805c95e940d785535375af /src/game/CreatureGroups.cpp
parentedbfb386ce87f918da8e11e843d7b5a227e5328d (diff)
Replace tabs with spaces, and fix crlf issues
--HG-- branch : trunk
Diffstat (limited to 'src/game/CreatureGroups.cpp')
-rw-r--r--src/game/CreatureGroups.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/game/CreatureGroups.cpp b/src/game/CreatureGroups.cpp
index e008a3f9316..49d77881e74 100644
--- a/src/game/CreatureGroups.cpp
+++ b/src/game/CreatureGroups.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/>
*
* Copyright (C) 2008 Trinity <http://www.trinitycore.org/>
@@ -34,7 +34,7 @@ UNORDERED_MAP<uint32, FormationMember*> CreatureGroupMap;
void CreatureGroupManager::UpdateCreatureGroup(uint32 group_id, Creature *member)
{
if(CreatureGroupHolder.find(group_id) != CreatureGroupHolder.end())
- {
+ {
sLog.outDebug("Group found: %u, inserting creature GUID: %u", group_id, member->GetGUIDLow());
CreatureGroupHolder[group_id]->AddMember(member);
}
@@ -67,10 +67,10 @@ void CreatureGroupManager::LoadCreatureFormations()
{
//Clear existing map
CreatureGroupMap.clear();
-
+
//Check Integrity of the table
QueryResult *result = WorldDatabase.PQuery("SELECT MAX(`leaderGUID`) FROM `creature_formations`");
-
+
if(!result)
{
sLog.outErrorDb(" an error occured while loading the table `creature_formations` ( maybe it doesn't exist ?)\n");
@@ -80,7 +80,7 @@ void CreatureGroupManager::LoadCreatureFormations()
//Get group data
result = WorldDatabase.PQuery("SELECT `leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI` FROM `creature_formations` ORDER BY `leaderGUID`");
-
+
if(!result)
{
sLog.outErrorDb("The table `creature_formations` is empty or corrupted");
@@ -90,13 +90,13 @@ void CreatureGroupManager::LoadCreatureFormations()
uint32 total_records = result->GetRowCount(), lastLeaderGUID = 0;
barGoLink bar( total_records);
Field *fields;
-
+
FormationMember *group_member;
//Loading data...
do
{
fields = result->Fetch();
-
+
bar.step();
//Load group member data
group_member = new FormationMember;
@@ -109,14 +109,14 @@ void CreatureGroupManager::LoadCreatureFormations()
group_member->follow_dist = fields[2].GetUInt32();
group_member->follow_angle = fields[3].GetUInt32();
}
-
+
CreatureGroupMap[group_member->memberGUID] = group_member;
-
+
if(lastLeaderGUID != group_member->leaderGUID)
lastLeaderGUID = group_member->leaderGUID;
- }
+ }
while(result->NextRow()) ;
-
+
sLog.outString();
sLog.outString( ">> Loaded %u creatures in formations", total_records );
sLog.outString();
@@ -127,14 +127,14 @@ void CreatureGroupManager::LoadCreatureFormations()
void CreatureGroup::AddMember(Creature *member)
{
sLog.outDebug("Adding unit GUID: %u.", member->GetGUIDLow());
-
+
uint64 guid = member->GetGUID();
//We first search creature member if exist
if(CreatureGroupMembers.find(guid) != CreatureGroupMembers.end())
return;
//Check is that shit is a leader
if(member->IsFormationLeader())
- {
+ {
sLog.outDebug("Unit GUID: %u is formation leader. Adding group.", member->GetGUIDLow());
m_leader = member;
}
@@ -146,7 +146,7 @@ void CreatureGroup::AddMember(Creature *member)
void CreatureGroup::RemoveMember(uint64 guid)
{
if(CreatureGroupMembers.find(guid) != CreatureGroupMembers.end())
- CreatureGroupMembers.erase(guid);
+ CreatureGroupMembers.erase(guid);
}
void CreatureGroup::MemberHasAttacked(Creature *member)
@@ -165,9 +165,9 @@ void CreatureGroup::MemberHasAttacked(Creature *member)
case 1:
if(!member->IsFormationLeader())
return;
- }
+ }
//Attack if everything is OK
- itr->second->AI()->AttackStart(member->getVictim());
+ itr->second->AI()->AttackStart(member->getVictim());
}
}
}
@@ -177,31 +177,31 @@ void CreatureGroup::LeaderMovedInEvade()
for(UNORDERED_MAP<uint64, Creature*>::iterator itr = CreatureGroupMembers.begin(); itr != CreatureGroupMembers.end(); itr++)
{
if(itr->second && itr->second->isAlive() && !itr->second->isInCombat() && !itr->second->getVictim())
- SetMemberDestination(itr->second);
+ SetMemberDestination(itr->second);
}
}
-
+
void CreatureGroup::SetMemberDestination(Creature *member)
{
if(!member || !m_leader || member->IsFormationLeader())
return;
-
+
float x,y,z;
uint32 lowguid = member->GetGUIDLow();
-
+
UNORDERED_MAP<uint32, FormationMember*>::iterator itr2 = CreatureGroupMap.find(lowguid);
-
+
if(m_leader->GetMotionMaster()->GetDestination(x,y,z) && itr2 != CreatureGroupMap.end())
- {
+ {
float dist, angle, pathangle;
-
- angle = CreatureGroupMap[lowguid]->follow_angle;
- dist = CreatureGroupMap[lowguid]->follow_dist;
+
+ angle = CreatureGroupMap[lowguid]->follow_angle;
+ dist = CreatureGroupMap[lowguid]->follow_dist;
pathangle = atan2(m_leader->GetPositionY()-y, m_leader->GetPositionX()-x);
-
+
x = x+cos(angle+pathangle)*dist;
y = y+sin(angle+pathangle)*dist;
-
+
member->GetMotionMaster()->Clear();
if(member->GetDistance(m_leader) < dist+MAX_DESYNC)