aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-22 01:54:15 -0300
committerShauren <shauren.trinity@gmail.com>2021-06-16 19:26:32 +0200
commit861cf261c5dfc29d6980908ec36ebe7aad68a462 (patch)
tree07114f8f4c1d972834a49319459e948324a633f9 /src/server/scripts
parent0c56ec914f5f6b55251a7a8889b61ef93d56c924 (diff)
Core/Formations: update codestyle and fix crash
Closes #21288 (cherry picked from commit 73cc613dc86d7d72d78f22affe2faba6786bccc5)
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp21
-rw-r--r--src/server/scripts/EasternKingdoms/zone_goldshire.cpp2
-rw-r--r--src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp2
3 files changed, 10 insertions, 15 deletions
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 48c13f9bf8b..b33548acc68 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -1722,7 +1722,7 @@ public:
ObjectGuid::LowType lowguid = creature->GetSpawnId();
if (creature->GetFormation())
{
- handler->PSendSysMessage("Selected creature is already member of group " UI64FMTD, creature->GetFormation()->GetId());
+ handler->PSendSysMessage("Selected creature is already member of group " UI64FMTD, creature->GetFormation()->GetLeaderSpawnId());
return false;
}
@@ -1730,24 +1730,19 @@ public:
return false;
Player* chr = handler->GetSession()->GetPlayer();
- FormationInfo* group_member;
- group_member = new FormationInfo;
- group_member->follow_angle = (creature->GetAngle(chr) - chr->GetOrientation()) * 180 / float(M_PI);
- group_member->follow_dist = std::sqrt(std::pow(chr->GetPositionX() - creature->GetPositionX(), 2.f) + std::pow(chr->GetPositionY() - creature->GetPositionY(), 2.f));
- group_member->leaderGUID = leaderGUID;
- group_member->groupAI = 0;
-
- sFormationMgr->CreatureGroupMap[lowguid] = group_member;
+ float followAngle = (creature->GetAngle(chr) - chr->GetOrientation()) * 180.0f / float(M_PI);
+ float followDist = std::sqrt(std::pow(chr->GetPositionX() - creature->GetPositionX(), 2.f) + std::pow(chr->GetPositionY() - creature->GetPositionY(), 2.f));
+ uint32 groupAI = 0;
+ sFormationMgr->AddFormationMember(lowguid, followAngle, followDist, leaderGUID, groupAI);
creature->SearchFormation();
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_CREATURE_FORMATION);
-
stmt->setUInt64(0, leaderGUID);
stmt->setUInt64(1, lowguid);
- stmt->setFloat(2, group_member->follow_dist);
- stmt->setFloat(3, group_member->follow_angle);
- stmt->setUInt32(4, uint32(group_member->groupAI));
+ stmt->setFloat (2, followAngle);
+ stmt->setFloat (3, followDist);
+ stmt->setUInt32(4, groupAI);
WorldDatabase.Execute(stmt);
diff --git a/src/server/scripts/EasternKingdoms/zone_goldshire.cpp b/src/server/scripts/EasternKingdoms/zone_goldshire.cpp
index 3ba89e98f1f..fe6450cf4fe 100644
--- a/src/server/scripts/EasternKingdoms/zone_goldshire.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_goldshire.cpp
@@ -252,7 +252,7 @@ struct npc_cameron : public ScriptedAI
_childrenGUIDs.push_back(jose->GetGUID());
// If Formation was disbanded, remake.
- if (!me->GetFormation()->isFormed())
+ if (!me->GetFormation()->IsFormed())
for (ObjectGuid guid : _childrenGUIDs)
if (Creature* child = ObjectAccessor::GetCreature(*me, guid))
child->SearchFormation();
diff --git a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp
index c999435f051..77e8eabe75c 100644
--- a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp
+++ b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp
@@ -93,7 +93,7 @@ class instance_stonecore : public InstanceMapScript
creature->SearchFormation();
if (CreatureGroup* group = creature->GetFormation())
{
- switch (group->GetId())
+ switch (group->GetLeaderSpawnId())
{
case CREATURE_FORMATION_MILLHOUSE_EVENT_TRASH:
millhouseTrashGUIDs.push_back(creature->GetGUID());