aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw1sht0l1v3 <w1sht0l1v3@gmail.com>2014-04-27 02:23:33 +0300
committerw1sht0l1v3 <w1sht0l1v3@gmail.com>2014-04-27 02:23:33 +0300
commitc20d0cb77e0bf1e8770856d2080205a1dc2e76fd (patch)
treeffaa956a94fa35521ca9cfbcf24eb8a066fed00b /src
parent113e6b0162f88679c12981756b1dd87b79993e4f (diff)
Scripts/Sholazar Basin: Reconnaissance Flight (12671)
Add workaround for the player/accessory mounting issue. Some small additions. Closes: 9443
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 6e39d341c58..770a95c23d7 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -1021,7 +1021,14 @@ public:
void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) OVERRIDE
{
if (apply && passenger->GetTypeId() == TYPEID_PLAYER)
+ {
+ /// @workaround - Because accessory gets unmounted when using vehicle_template_accessory.
+ /// When vehicle spawns accessory is mounted to seat 0,but when player mounts
+ /// he uses the same seat (instead of mounting to seat 1) kicking the accessory out.
+ passenger->ChangeSeat(1, false);
+ me->GetVehicleKit()->InstallAccessory(NPC_PILOT, 0, true, TEMPSUMMON_DEAD_DESPAWN, 0);
me->GetMotionMaster()->MovePath(NPC_PLANE, false);
+ }
}
void MovementInform(uint32 type, uint32 id) OVERRIDE
@@ -1056,6 +1063,7 @@ public:
case 25:
Talk(PLANE_EMOTE);
DoCast(SPELL_ENGINE);
+ me->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FORCE_MOVEMENT);
break;
}
}