diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2018-01-22 01:54:15 -0300 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-06-16 19:26:32 +0200 |
| commit | 861cf261c5dfc29d6980908ec36ebe7aad68a462 (patch) | |
| tree | 07114f8f4c1d972834a49319459e948324a633f9 /src/server/scripts | |
| parent | 0c56ec914f5f6b55251a7a8889b61ef93d56c924 (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.cpp | 21 | ||||
| -rw-r--r-- | src/server/scripts/EasternKingdoms/zone_goldshire.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp | 2 |
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()); |
