Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. else
  2. {
  3. if (flankingMoguGuid[indx].IsEmpty())
  4. indx = indx > 6 ? indx - 6 : indx + 6;
  5.  
  6. float dist = 13.5f;
  7. float angle = M_PI / 2;
  8. Position alignmentPos; //The position regarding which we will align the Flanking Mogu
  9. Position alignmentPosList[6];
  10. ObjectGuid leaderGuid = flankingMoguGuid[indx + 3];
  11.  
  12. if (auto leader = me->GetCreature(*me, leaderGuid))
  13. {
  14. leader->GetNearPosition(alignmentPos, 3.0f, 0.0f);
  15.  
  16. for (uint8 i = 0; i < 6; ++i)
  17. if (auto flanking = me->GetCreature(*me, flankingMoguGuid[indx + i]))
  18. {
  19. alignmentPos.SimplePosXYRelocationByAngle(alignmentPosList[i], abs(dist), angle);
  20. dist = dist != 0 ? dist - 4.5 : -4.5f;
  21.  
  22. if (i == 2)
  23. angle = 3 * M_PI / 2;
  24.  
  25. flanking->RemoveAura(SPELL_GHOSTLY_VISUAL);
  26. flanking->CastSpell(flanking, SPELL_OVERHAND_STRIKE);
  27.  
  28. flanking->AddDelayedEvent(2100, [=]()-> void
  29. {
  30. flanking->GetMotionMaster()->MovePoint(1, alignmentPosList[i], false);
  31.  
  32. flanking->AddDelayedEvent(1500, [=]()-> void
  33. {
  34. Position movePos;
  35.  
  36. GetPositionWithDistInOrientation(flanking, 85.0f, flankingSumPos[indx + 3].GetOrientation(), movePos.m_positionX, movePos.m_positionY);
  37. movePos.m_positionZ = flanking->GetPositionZ();
  38.  
  39. flanking->GetMotionMaster()->MovePoint(1, movePos, false);
  40. flanking->DespawnOrUnsummon(13000);
  41. });
  42. });
  43.  
  44. //Spawn a new one to remplace the old one
  45. flankingMoguGuid[indx + i].Clear();
  46. me->AddDelayedEvent(20000, [=]()-> void {SummonOrActivateFlankingMogu(indx + i, true); });
  47. }
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement