Commands for GO manipulations (gobj): anim, state, lootstate

This commit is contained in:
stormrage-project 2015-09-02 20:19:22 +02:00 committed by Antz
parent 7907beb0f6
commit 1d35902127
4 changed files with 24 additions and 5 deletions

View File

@ -63,6 +63,7 @@
#include "MoveMap.h" // for mmap manager
#include "PathFinder.h" // for mmap commands
#include "movement/MoveSplineInit.h"
#include "../../modules/SD2/include/sc_grid_searchers.h"
static uint32 ReputationRankStrIndex[MAX_REPUTATION_RANK] =
{
@ -1142,6 +1143,10 @@ bool ChatHandler::HandleGameObjectAddCommand(char* args)
bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
{
Player *pl = m_session->GetPlayer();
if (!pl)
return false;
uint32 lowguid;
if (!ExtractUInt32(&args, lowguid))
return false;
@ -1154,7 +1159,7 @@ bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
if (!goData)
return false;
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
{
if (type < 0)
go->SendObjectDeSpawnAnim(go->GetObjectGuid());
@ -1167,6 +1172,10 @@ bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
{
Player *pl = m_session->GetPlayer();
if (!pl)
return false;
uint32 lowguid;
if (!ExtractUInt32(&args, lowguid))
return false;
@ -1179,7 +1188,7 @@ bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
if (!goData)
return false;
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
{
if (type < 0)
PSendSysMessage(LANG_GET_GAMEOBJECT_LOOTSTATE, lowguid, go->getLootState());
@ -1192,6 +1201,10 @@ bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
bool ChatHandler::HandleGameObjectStateCommand(char* args)
{
Player *pl = m_session->GetPlayer();
if (!pl)
return false;
uint32 lowguid;
if (!ExtractUInt32(&args, lowguid))
return false;
@ -1204,7 +1217,7 @@ bool ChatHandler::HandleGameObjectStateCommand(char* args)
if (!goData)
return false;
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
{
if (type < 0)
PSendSysMessage(LANG_GET_GAMEOBJECT_STATE, lowguid, go->GetGoState());

View File

@ -597,8 +597,8 @@ enum MangosStrings
LANG_GET_UINT_FIELD = 570,
LANG_GET_FLOAT = 571, // log
LANG_GET_FLOAT_FIELD = 572,
// 573, // not used
// 574, // not used
LANG_GET_GAMEOBJECT_LOOTSTATE = 573,
LANG_GET_GAMEOBJECT_STATE = 574,
LANG_CHANGE_INT32 = 575, // log
LANG_CHANGE_INT32_FIELD = 576,

View File

@ -275,9 +275,12 @@ ChatCommand* ChatHandler::getCommandTable()
static ChatCommand gobjectCommandTable[] =
{
{ "add", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAddCommand, "", NULL },
{ "anim", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAnimationCommand, "", NULL },
{ "delete", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectDeleteCommand, "", NULL },
{ "lootstate", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectLootstateCommand, "", NULL },
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectMoveCommand, "", NULL },
{ "near", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectNearCommand, "", NULL },
{ "state", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectStateCommand, "", NULL },
{ "target", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTargetCommand, "", NULL },
{ "turn", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTurnCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }

View File

@ -243,10 +243,13 @@ class ChatHandler
bool HandleEventInfoCommand(char* args);
bool HandleGameObjectAddCommand(char* args);
bool HandleGameObjectAnimationCommand(char* args);
bool HandleGameObjectDeleteCommand(char* args);
bool HandleGameObjectLootstateCommand(char* args);
bool HandleGameObjectMoveCommand(char* args);
bool HandleGameObjectNearCommand(char* args);
bool HandleGameObjectPhaseCommand(char* args);
bool HandleGameObjectStateCommand(char* args);
bool HandleGameObjectTargetCommand(char* args);
bool HandleGameObjectTurnCommand(char* args);