Core/Movement:

- Don't abort relocation if movementflag restrictions were violated. There might be lag between client and server and even different parts of the core that made this approach improper.
- MOVEMENTFLAG_ROOT cannot be used in conjunction with MOVEMENTFLAG_MASK_MOVING, but it's a valid flag to receive from client.
- Fix falling to ground when unapplying fly/waterwalk aura. NOTE: This is a client-side initiated fall, in the future this should be initiated and updated by the server. (Working on it)
- Rename MOVEMENTFLAG_FALLING to MOVEMENTFLAG_FALLING_FAR
- Rename MOVEMENTFLAG_JUMPING to MOVEMENTFLAG_FALLING

Closes #5751
This commit is contained in:
Machiavelli
2012-03-17 20:34:03 +01:00
parent 01f3620d45
commit 41cc704bf8
13 changed files with 94 additions and 110 deletions

View File

@@ -456,7 +456,7 @@ class boss_krick : public CreatureScript
case EVENT_OUTRO_10:
//! HACK: Creature's can't have MOVEMENTFLAG_FLYING
me->RemoveUnitMovementFlag(MOVEMENTFLAG_FLYING);
me->AddUnitMovementFlag(MOVEMENTFLAG_FALLING);
me->AddUnitMovementFlag(MOVEMENTFLAG_FALLING_FAR);
me->GetMotionMaster()->MovePoint(0, outroPos[6]);
_events.ScheduleEvent(EVENT_OUTRO_11, 2000);
break;

View File

@@ -90,12 +90,12 @@ public:
case 17:
case 18:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_SWIMMING);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_JUMPING);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING);
me->SetSpeed(MOVE_SWIM, 0.85f, true);
me->AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_DISABLE_GRAVITY);
break;
case 19:
me->SetUnitMovementFlags(MOVEMENTFLAG_JUMPING);
me->SetUnitMovementFlags(MOVEMENTFLAG_FALLING);
break;
case 28:
player->GroupEventHappens(QUEST_FORTUNATE_MISUNDERSTANDINGS, me);
@@ -139,7 +139,7 @@ public:
{
CAST_AI(npc_escortAI, (creature->AI()))->Start(true, false, player->GetGUID());
CAST_AI(npc_escortAI, (creature->AI()))->SetMaxPlayerDistance(35.0f);
creature->SetUnitMovementFlags(MOVEMENTFLAG_JUMPING);
creature->SetUnitMovementFlags(MOVEMENTFLAG_FALLING);
DoScriptText(SAY_START_IRO, creature);
switch (player->GetTeam()){

View File

@@ -143,7 +143,7 @@ class boss_omor_the_unscarred : public CreatureScript
if (Player* temp = Unit::GetPlayer(*me, PlayerGUID))
{
//if unit dosen't have this flag, then no pulling back (script will attempt cast, even if orbital strike was resisted)
if (temp->HasUnitMovementFlag(MOVEMENTFLAG_FALLING))
if (temp->HasUnitMovementFlag(MOVEMENTFLAG_FALLING_FAR))
{
me->InterruptNonMeleeSpells(false);
DoCast(temp, SPELL_SHADOW_WHIP);