diff options
author | ariel- <ariel-@users.noreply.github.com> | 2016-08-01 14:55:13 -0300 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-11 21:37:40 +0100 |
commit | 9c0f2c49457930bf4a0dc27a51e5c22b2013dbfd (patch) | |
tree | 7b6ee83e7f90ef060ffa79d63622d0765ff1e838 /src/server/game/Battlefield/Battlefield.cpp | |
parent | af11f48356475a516c0cc0b6ca972c64e8dab93b (diff) |
Core/PvP: Gameobject rotation in BGs and Wintergrasp.
- Add a workaround in BattleGround correcting for bad rotations in BG scripts
- Calculate rotation from rotation in Wintergrasp, this function hasn't a rotation parameter and should be added in the future.
- Also removed an ugly hardcode in Battlefield::SpawnGameObject
Closes #17711
(cherry picked from commit 33fbc453d236d943c24fb10522ac0720c3174c3d)
# Conflicts:
# src/server/game/Battlefield/Battlefield.cpp
# src/server/game/Battlegrounds/Battleground.cpp
Diffstat (limited to 'src/server/game/Battlefield/Battlefield.cpp')
-rw-r--r-- | src/server/game/Battlefield/Battlefield.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp index 90db806ad28..cd037f8002d 100644 --- a/src/server/game/Battlefield/Battlefield.cpp +++ b/src/server/game/Battlefield/Battlefield.cpp @@ -826,9 +826,12 @@ GameObject* Battlefield::SpawnGameObject(uint32 entry, float x, float y, float z return nullptr; } + // Calculate rotation + G3D::Quat rot = G3D::Matrix3::fromEulerAnglesZYX(o, 0.f, 0.f); + // Create gameobject GameObject* go = new GameObject; - if (!go->Create(entry, map, PHASEMASK_NORMAL, Position(x, y, z, o), G3D::Quat(), 255, GO_STATE_READY)) + if (!go->Create(entry, map, PHASEMASK_NORMAL, Position(x, y, z, o), rot, 255, GO_STATE_READY)) { TC_LOG_ERROR("bg.battlefield", "Battlefield::SpawnGameObject: Could not create gameobject template %u! Battlefield has not been created!", entry); delete go; |