diff options
author | w1sht0l1v3 <w1sht0l1v3@gmail.com> | 2014-04-27 02:23:33 +0300 |
---|---|---|
committer | w1sht0l1v3 <w1sht0l1v3@gmail.com> | 2014-04-27 02:23:33 +0300 |
commit | c20d0cb77e0bf1e8770856d2080205a1dc2e76fd (patch) | |
tree | ffaa956a94fa35521ca9cfbcf24eb8a066fed00b /src | |
parent | 113e6b0162f88679c12981756b1dd87b79993e4f (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.cpp | 8 |
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; } } |