aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index 6de2b61b8be..493ae48148b 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -146,7 +146,7 @@ public:
Map* map = player->GetMap();
GameObject* object = new GameObject;
- if (!object->Create(objectInfo->entry, map, 0, x, y, z, o, 0.0f, 0.0f, 0.0f, 0.0f, 0, GO_STATE_READY))
+ if (!object->Create(objectInfo->entry, map, 0, x, y, z, o, G3D::Quat(), 0, GO_STATE_READY))
{
delete object;
return false;
@@ -416,25 +416,36 @@ public:
}
char* orientation = strtok(NULL, " ");
- float o;
+ float oz = 0.f, oy = 0.f, ox = 0.f;
if (orientation)
- o = (float)atof(orientation);
+ {
+ oz = float(atof(orientation));
+
+ orientation = strtok(NULL, " ");
+ if (orientation)
+ {
+ oy = float(atof(orientation));
+ orientation = strtok(NULL, " ");
+ if (orientation)
+ ox = float(atof(orientation));
+ }
+ }
else
{
Player* player = handler->GetSession()->GetPlayer();
- o = player->GetOrientation();
+ oz = player->GetOrientation();
}
- object->Relocate(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), o);
- object->RelocateStationaryPosition(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), o);
- object->UpdateRotationFields();
+ object->Relocate(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ());
+ object->RelocateStationaryPosition(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation());
+ object->SetWorldRotationAngles(oz, oy, ox);
object->DestroyForNearbyPlayers();
object->UpdateObjectVisibility();
object->SaveToDB();
- handler->PSendSysMessage(LANG_COMMAND_TURNOBJMESSAGE, object->GetSpawnId(), object->GetGOInfo()->name.c_str(), object->GetGUID().ToString().c_str(), o);
+ handler->PSendSysMessage(LANG_COMMAND_TURNOBJMESSAGE, object->GetSpawnId(), object->GetGOInfo()->name.c_str(), object->GetGUID().ToString().c_str(), object->GetOrientation());
return true;
}