mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-26 15:16:24 +00:00
Fix Maexxna's portal rotation. (#925)
* Maexxna portal rotation. * Rewritten sql to update, ready to be merged. * Portal's visual effect should be in different phasemask and appear only when maexxna is killed. * split the update query in two, forgot that visual is in phase2 * i want to kms.. all should be good now
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
INSERT INTO version_db_world (`sql_rev`) VALUES ('1528849180165830100');
|
||||
|
||||
|
||||
-- proper coords:
|
||||
-- 3465.16, -3940.45, 308.788, 0.441179, -0.305481, 0.637715, 0.305481, 0.637716,
|
||||
-- requires two guids, one for the 'visual effect' and one for the
|
||||
-- teleporter gameobject itself
|
||||
|
||||
-- teleporter itself
|
||||
UPDATE `gameobject` SET
|
||||
`spawnmask` = 3, `phasemask`= 1,
|
||||
`position_x` = 3465.16, `position_y` = -3940.45, `position_z` = 308.788,`orientation` = 0.441179,
|
||||
`rotation0` = -0.305481, `rotation1` = 0.637715, `rotation2` = 0.305481, `rotation3` = 0.637716
|
||||
where `guid` = 65857; -- check if guid is valid
|
||||
|
||||
-- visual effect
|
||||
UPDATE `gameobject` SET
|
||||
`spawnmask` = 3, `phasemask`= 2,
|
||||
`position_x` = 3465.16, `position_y` = -3940.45, `position_z` = 308.788,`orientation` = 0.441179,
|
||||
`rotation0` = -0.305481, `rotation1` = 0.637715, `rotation2` = 0.305481, `rotation3` = 0.637716
|
||||
WHERE `guid` = 268045; -- check if guid is valid
|
||||
@@ -262,12 +262,26 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
|
||||
}
|
||||
|
||||
GameObjectAddon const* addon = sObjectMgr->GetGameObjectAddon(guidlow);
|
||||
// xinef: hackfix - but make it possible to use original WorldRotation (using special gameobject addon data)
|
||||
// pussywizard: temporarily calculate WorldRotation from orientation, do so until values in db are correct
|
||||
if (addon && addon->invisibilityType == INVISIBILITY_GENERAL && addon->InvisibilityValue == 0)
|
||||
SetWorldRotation(rotation);
|
||||
else
|
||||
SetWorldRotationAngles(NormalizeOrientation(GetOrientation()), 0.0f, 0.0f);
|
||||
|
||||
// hackfix for the hackfix down below
|
||||
switch (goinfo->entry)
|
||||
{
|
||||
// excluded ids from the hackfix below
|
||||
// used switch since there should be more
|
||||
case 181233: // maexxna portal effect
|
||||
case 181575: // maexxna portal
|
||||
SetWorldRotation(rotation);
|
||||
break;
|
||||
default:
|
||||
// xinef: hackfix - but make it possible to use original WorldRotation (using special gameobject addon data)
|
||||
// pussywizard: temporarily calculate WorldRotation from orientation, do so until values in db are correct
|
||||
if (addon && addon->invisibilityType == INVISIBILITY_GENERAL && addon->InvisibilityValue == 0)
|
||||
SetWorldRotation(rotation);
|
||||
else
|
||||
SetWorldRotationAngles(NormalizeOrientation(GetOrientation()), 0.0f, 0.0f);
|
||||
break;
|
||||
}
|
||||
|
||||
// pussywizard: no PathRotation for normal gameobjects
|
||||
SetTransportPathRotation(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user