Skip to content

Instantly share code, notes, and snippets.

@Demonid
Forked from sirikfoll/ShadowOrbsFixTry.diff
Created June 21, 2016 13:21
Show Gist options
  • Save Demonid/00ed23c14a84e3e30f50c3517d533cd1 to your computer and use it in GitHub Desktop.
Save Demonid/00ed23c14a84e3e30f50c3517d533cd1 to your computer and use it in GitHub Desktop.
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index c02d617..fd5f654 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -25,6 +25,7 @@
#include "ScriptedCreature.h"
#include "ruby_sanctum.h"
#include "Player.h"
+#include "MoveSplineInit.h"
enum Texts
{
@@ -909,6 +910,37 @@ class npc_orb_carrier : public CreatureScript
me->SetFacingToObject(rotationFocus); // setInFront
}
+ void PassengerBoarded(Unit* who, int8 seatId, bool /*apply*/) override
+ {
+ /// @HACK - Change passenger offset to the one taken directly from sniffs
+ /// Remove this when proper calculations are implemented.
+ /// Fixes weird issues with Shadow Orbs positioning
+ float x = 0.0f;
+ float y = 0.0f;
+ switch (seatId)
+ {
+ case SEAT_NORTH:
+ y = 46;
+ break;
+ case SEAT_SOUTH:
+ y = -46;
+ break;
+ case SEAT_EAST:
+ x = 46;
+ break;
+ case SEAT_WEST:
+ x = -46;
+ break;
+ default:
+ break;
+ }
+
+ Movement::MoveSplineInit init(who);
+ init.DisableTransportPathTransformations();
+ init.MoveTo(x, y, -2.5f, false);
+ init.Launch();
+ }
+
void DoAction(int32 action) override
{
switch (action)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment