diff --git a/data/sql/updates/pending_db_world/rev_1631550138111515600.sql b/data/sql/updates/pending_db_world/rev_1631550138111515600.sql new file mode 100644 index 000000000..22fa8d626 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1631550138111515600.sql @@ -0,0 +1,4 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1631550138111515600'); + +UPDATE `creature_template` SET `InhabitType`=3 WHERE `entry` IN (28859,31734,33186,33724,36853,38265,38266,38267,37534,38219,37533,38220); +UPDATE `creature_template_addon` SET `bytes1`=0 WHERE `entry` IN (28859,31734,33186,33724,36853,38265,38266,38267,37534,38219,37533,38220); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index f32cff7a4..ddfade1bc 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -294,7 +294,6 @@ public: if (!_summoned) { - me->SetCanFly(true); me->SetDisableGravity(true); } } @@ -366,7 +365,6 @@ public: instance->SetBossState(DATA_SINDRAGOSA, FAIL); if (_summoned) { - me->SetCanFly(false); me->SetDisableGravity(false); } } @@ -407,7 +405,6 @@ public: return; me->setActive(true); - me->SetCanFly(true); me->SetDisableGravity(true); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->SetSpeed(MOVE_RUN, 4.28571f); @@ -434,7 +431,6 @@ public: { case POINT_FROSTWYRM_LAND: me->setActive(false); - me->SetCanFly(false); me->SetDisableGravity(false); me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run); me->SetHomePosition(SindragosaLandPos); @@ -462,7 +458,6 @@ public: case POINT_LAND_GROUND: { _isInAirPhase = false; - me->SetCanFly(false); me->SetDisableGravity(false); me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run); me->SetReactState(REACT_AGGRESSIVE); @@ -612,9 +607,7 @@ public: me->AttackStop(); me->GetMotionMaster()->MoveIdle(); me->StopMoving(); - me->SetCanFly(true); me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f); events.CancelEventGroup(EVENT_GROUP_LAND_PHASE); events.ScheduleEvent(EVENT_AIR_PHASE, 110000); @@ -1402,7 +1395,6 @@ public: if (!_summoned) { - me->SetCanFly(true); me->SetDisableGravity(true); } } @@ -1412,7 +1404,6 @@ public: ScriptedAI::JustReachedHome(); if (_summoned) { - me->SetCanFly(false); me->SetDisableGravity(false); } } @@ -1456,7 +1447,6 @@ public: return; me->setActive(false); - me->SetCanFly(false); me->SetDisableGravity(false); me->SetHomePosition(SpinestalkerLandPos); me->SetFacingTo(SpinestalkerLandPos.GetOrientation()); @@ -1536,7 +1526,6 @@ public: if (!_summoned) { - me->SetCanFly(true); me->SetDisableGravity(true); } } @@ -1546,7 +1535,6 @@ public: ScriptedAI::JustReachedHome(); if (_summoned) { - me->SetCanFly(false); me->SetDisableGravity(false); } } @@ -1592,7 +1580,6 @@ public: if (point == POINT_FROSTWYRM_LAND) { me->setActive(false); - me->SetCanFly(false); me->SetDisableGravity(false); me->SetHomePosition(RimefangLandPos); me->SetFacingTo(RimefangLandPos.GetOrientation()); @@ -1600,7 +1587,6 @@ public: } else if (point == POINT_LAND_GROUND) { - me->SetCanFly(false); me->SetDisableGravity(false); me->SetReactState(REACT_DEFENSIVE); if (Unit* victim = me->SelectVictim()) @@ -1644,9 +1630,7 @@ public: me->SendMeleeAttackStop(me->GetVictim()); me->AttackStop(); - me->SetCanFly(true); me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); float destZ; if (floorZ > 190.0f) destZ = floorZ + 25.0f; diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index b24e95775..d8e9ed844 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -219,6 +219,12 @@ public: uint8 IntroCounter; bool bLockHealthCheck; + void InitializeAI() override + { + me->SetDisableGravity(true); + Reset(); + } + void Reset() override { events.Reset(); @@ -233,9 +239,6 @@ public: me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE); - me->SetCanFly(true); - me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); if (pInstance) { @@ -287,7 +290,6 @@ public: switch (id) { case MI_POINT_INTRO_LAND: - me->SetCanFly(false); me->SetDisableGravity(false); events.RescheduleEvent(EVENT_START_FIGHT, 0, 1); break; @@ -295,7 +297,6 @@ public: events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0, 1); break; case MI_POINT_VORTEX_LAND: - me->SetCanFly(false); me->SetDisableGravity(false); events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1); break; @@ -466,9 +467,7 @@ public: me->GetMotionMaster()->MoveIdle(); me->StopMoving(); - me->SetCanFly(true); me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f); events.DelayEvents(25000, 1); // don't delay berserk (group 0) @@ -492,7 +491,6 @@ public: if (Creature* vp = me->SummonCreature(NPC_WORLD_TRIGGER_LAOI, pos, TEMPSUMMON_TIMED_DESPAWN, 14000)) { - vp->SetCanFly(true); vp->SetDisableGravity(true); Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers(); @@ -583,10 +581,7 @@ public: me->SendMeleeAttackStop(me->GetVictim()); me->GetMotionMaster()->MoveIdle(); me->DisableSpline(); - me->SetCanFly(true); me->SetDisableGravity(true); - //me->SetHover(true); - me->SendMovementFlagUpdate(); me->GetMotionMaster()->MoveTakeoff(MI_POINT_CENTER_AIR_PH_2, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 32.0f, 7.0f); events.RescheduleEvent(EVENT_START_PHASE_2_MOVE_TO_SIDE, 22500, 1); break; @@ -821,6 +816,7 @@ public: void EnterEvadeMode() override { + me->SetDisableGravity(true); me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE); ScriptedAI::EnterEvadeMode(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 3e9df5ffb..35f0f624d 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -146,6 +146,13 @@ public: bool startPath; uint8 flyTimes; + void InitializeAI() override + { + me->SetDisableGravity(true); + me->setActive(true); + Reset(); + } + void Reset() override { events.Reset(); @@ -158,11 +165,6 @@ public: bGroundPhase = false; flyTimes = 0; - me->SetCanFly(true); - me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); - me->setActive(true); - if( pInstance ) pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED); } @@ -302,7 +304,6 @@ public: me->DisableRotate(true); me->SetOrientation((float)(M_PI + 0.01) / 2); me->SetFacingTo(M_PI / 2); - me->SetCanFly(false); me->SetDisableGravity(false); me->CastSpell(me, 62794, true); events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000); @@ -515,9 +516,7 @@ public: me->SendMeleeAttackStop(me->GetVictim()); me->GetMotionMaster()->MoveIdle(); me->StopMoving(); - me->SetCanFly(true); me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f); events.ScheduleEvent(EVENT_RESUME_FIXING, 22000); } @@ -591,6 +590,7 @@ public: void EnterEvadeMode() override { + me->SetDisableGravity(true); me->SetControlled(false, UNIT_STATE_ROOT); me->DisableRotate(false); ScriptedAI::EnterEvadeMode();