diff --git a/src/strategy/raids/icecrown/RaidIccActions.cpp b/src/strategy/raids/icecrown/RaidIccActions.cpp index 08496f1b..913a4cbb 100644 --- a/src/strategy/raids/icecrown/RaidIccActions.cpp +++ b/src/strategy/raids/icecrown/RaidIccActions.cpp @@ -2250,7 +2250,8 @@ bool IccSindragosaFrostBeaconAction::Execute(Event event) return false; // Different behavior for air phase - if (boss->HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY)) + Difficulty diff = bot->GetRaidDifficulty(); + if (boss->HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY) && (diff == RAID_DIFFICULTY_25MAN_NORMAL || diff == RAID_DIFFICULTY_25MAN_HEROIC)) { if (!bot->HasAura(70126)) // If not beaconed, move to safe position { @@ -2266,6 +2267,22 @@ bool IccSindragosaFrostBeaconAction::Execute(Event event) } return false; } + else if (boss->HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY) && (diff == RAID_DIFFICULTY_10MAN_NORMAL || diff == RAID_DIFFICULTY_10MAN_HEROIC)) + { + if (!bot->HasAura(70126)) // If not beaconed, move to safe position + { + float dist = bot->GetExactDist2d(ICC_SINDRAGOSA_FBOMB10_POSITION.GetPositionX(), + ICC_SINDRAGOSA_FBOMB10_POSITION.GetPositionY()); + if (dist > POSITION_TOLERANCE) + { + return MoveTo(bot->GetMapId(), ICC_SINDRAGOSA_FBOMB10_POSITION.GetPositionX(), + ICC_SINDRAGOSA_FBOMB10_POSITION.GetPositionY(), + ICC_SINDRAGOSA_FBOMB10_POSITION.GetPositionZ(), + false, false, false, false, MovementPriority::MOVEMENT_COMBAT); + } + } + return false; + } else { // Ground phase - use existing vector-based movement diff --git a/src/strategy/raids/icecrown/RaidIccActions.h b/src/strategy/raids/icecrown/RaidIccActions.h index f14adbf0..fa80646d 100644 --- a/src/strategy/raids/icecrown/RaidIccActions.h +++ b/src/strategy/raids/icecrown/RaidIccActions.h @@ -50,6 +50,7 @@ const Position ICC_SINDRAGOSA_THOMB5_POSITION = Position(4381.819f, 2495.1448f, const Position ICC_SINDRAGOSA_CENTER_POSITION = Position(4408.0464f, 2484.478f, 203.37529f); const Position ICC_SINDRAGOSA_THOMBMB2_POSITION = Position(4382.6113f, 2505.4922f, 203.38197f); const Position ICC_SINDRAGOSA_FBOMB_POSITION = Position(4400.031f, 2507.0295f, 203.37929f); //old 4400.031f, 2507.0295f, 203.37929f //alternate for 10 man 4366.0225f, 2501.569f, 203.38226f +const Position ICC_SINDRAGOSA_FBOMB10_POSITION = Position(4366.0225f, 2501.569f, 203.38226f); const Position ICC_SINDRAGOSA_LOS2_POSITION = Position(4376.0938f, 2511.103f, 203.38303f); const Position ICC_LICH_KING_ADDS_POSITION = Position(486.63647f, -2095.7915f, 840.857f); const Position ICC_LK_FROST1_POSITION = Position(503.96548f, -2183.216f, 840.857f);