Commands for GO manipulations (gobj): anim, state, lootstate
This commit is contained in:
parent
7907beb0f6
commit
1d35902127
@ -63,6 +63,7 @@
|
|||||||
#include "MoveMap.h" // for mmap manager
|
#include "MoveMap.h" // for mmap manager
|
||||||
#include "PathFinder.h" // for mmap commands
|
#include "PathFinder.h" // for mmap commands
|
||||||
#include "movement/MoveSplineInit.h"
|
#include "movement/MoveSplineInit.h"
|
||||||
|
#include "../../modules/SD2/include/sc_grid_searchers.h"
|
||||||
|
|
||||||
static uint32 ReputationRankStrIndex[MAX_REPUTATION_RANK] =
|
static uint32 ReputationRankStrIndex[MAX_REPUTATION_RANK] =
|
||||||
{
|
{
|
||||||
@ -1142,6 +1143,10 @@ bool ChatHandler::HandleGameObjectAddCommand(char* args)
|
|||||||
|
|
||||||
bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
|
bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
|
||||||
{
|
{
|
||||||
|
Player *pl = m_session->GetPlayer();
|
||||||
|
if (!pl)
|
||||||
|
return false;
|
||||||
|
|
||||||
uint32 lowguid;
|
uint32 lowguid;
|
||||||
if (!ExtractUInt32(&args, lowguid))
|
if (!ExtractUInt32(&args, lowguid))
|
||||||
return false;
|
return false;
|
||||||
@ -1154,7 +1159,7 @@ bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
|
|||||||
if (!goData)
|
if (!goData)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
|
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
|
||||||
{
|
{
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
go->SendObjectDeSpawnAnim(go->GetObjectGuid());
|
go->SendObjectDeSpawnAnim(go->GetObjectGuid());
|
||||||
@ -1167,6 +1172,10 @@ bool ChatHandler::HandleGameObjectAnimationCommand(char* args)
|
|||||||
|
|
||||||
bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
|
bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
|
||||||
{
|
{
|
||||||
|
Player *pl = m_session->GetPlayer();
|
||||||
|
if (!pl)
|
||||||
|
return false;
|
||||||
|
|
||||||
uint32 lowguid;
|
uint32 lowguid;
|
||||||
if (!ExtractUInt32(&args, lowguid))
|
if (!ExtractUInt32(&args, lowguid))
|
||||||
return false;
|
return false;
|
||||||
@ -1179,7 +1188,7 @@ bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
|
|||||||
if (!goData)
|
if (!goData)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
|
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
|
||||||
{
|
{
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
PSendSysMessage(LANG_GET_GAMEOBJECT_LOOTSTATE, lowguid, go->getLootState());
|
PSendSysMessage(LANG_GET_GAMEOBJECT_LOOTSTATE, lowguid, go->getLootState());
|
||||||
@ -1192,6 +1201,10 @@ bool ChatHandler::HandleGameObjectLootstateCommand(char* args)
|
|||||||
|
|
||||||
bool ChatHandler::HandleGameObjectStateCommand(char* args)
|
bool ChatHandler::HandleGameObjectStateCommand(char* args)
|
||||||
{
|
{
|
||||||
|
Player *pl = m_session->GetPlayer();
|
||||||
|
if (!pl)
|
||||||
|
return false;
|
||||||
|
|
||||||
uint32 lowguid;
|
uint32 lowguid;
|
||||||
if (!ExtractUInt32(&args, lowguid))
|
if (!ExtractUInt32(&args, lowguid))
|
||||||
return false;
|
return false;
|
||||||
@ -1204,7 +1217,7 @@ bool ChatHandler::HandleGameObjectStateCommand(char* args)
|
|||||||
if (!goData)
|
if (!goData)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (GameObject *go = GetGameObjectWithGuid(lowguid, goData->id))
|
if (GameObject *go = GetClosestGameObjectWithEntry(pl, goData->id, 10.0f))
|
||||||
{
|
{
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
PSendSysMessage(LANG_GET_GAMEOBJECT_STATE, lowguid, go->GetGoState());
|
PSendSysMessage(LANG_GET_GAMEOBJECT_STATE, lowguid, go->GetGoState());
|
||||||
|
@ -597,8 +597,8 @@ enum MangosStrings
|
|||||||
LANG_GET_UINT_FIELD = 570,
|
LANG_GET_UINT_FIELD = 570,
|
||||||
LANG_GET_FLOAT = 571, // log
|
LANG_GET_FLOAT = 571, // log
|
||||||
LANG_GET_FLOAT_FIELD = 572,
|
LANG_GET_FLOAT_FIELD = 572,
|
||||||
// 573, // not used
|
LANG_GET_GAMEOBJECT_LOOTSTATE = 573,
|
||||||
// 574, // not used
|
LANG_GET_GAMEOBJECT_STATE = 574,
|
||||||
LANG_CHANGE_INT32 = 575, // log
|
LANG_CHANGE_INT32 = 575, // log
|
||||||
LANG_CHANGE_INT32_FIELD = 576,
|
LANG_CHANGE_INT32_FIELD = 576,
|
||||||
|
|
||||||
|
@ -275,9 +275,12 @@ ChatCommand* ChatHandler::getCommandTable()
|
|||||||
static ChatCommand gobjectCommandTable[] =
|
static ChatCommand gobjectCommandTable[] =
|
||||||
{
|
{
|
||||||
{ "add", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAddCommand, "", NULL },
|
{ "add", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAddCommand, "", NULL },
|
||||||
|
{ "anim", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAnimationCommand, "", NULL },
|
||||||
{ "delete", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectDeleteCommand, "", NULL },
|
{ "delete", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectDeleteCommand, "", NULL },
|
||||||
|
{ "lootstate", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectLootstateCommand, "", NULL },
|
||||||
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectMoveCommand, "", NULL },
|
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectMoveCommand, "", NULL },
|
||||||
{ "near", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectNearCommand, "", NULL },
|
{ "near", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectNearCommand, "", NULL },
|
||||||
|
{ "state", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectStateCommand, "", NULL },
|
||||||
{ "target", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTargetCommand, "", NULL },
|
{ "target", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTargetCommand, "", NULL },
|
||||||
{ "turn", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTurnCommand, "", NULL },
|
{ "turn", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectTurnCommand, "", NULL },
|
||||||
{ NULL, 0, false, NULL, "", NULL }
|
{ NULL, 0, false, NULL, "", NULL }
|
||||||
|
@ -243,10 +243,13 @@ class ChatHandler
|
|||||||
bool HandleEventInfoCommand(char* args);
|
bool HandleEventInfoCommand(char* args);
|
||||||
|
|
||||||
bool HandleGameObjectAddCommand(char* args);
|
bool HandleGameObjectAddCommand(char* args);
|
||||||
|
bool HandleGameObjectAnimationCommand(char* args);
|
||||||
bool HandleGameObjectDeleteCommand(char* args);
|
bool HandleGameObjectDeleteCommand(char* args);
|
||||||
|
bool HandleGameObjectLootstateCommand(char* args);
|
||||||
bool HandleGameObjectMoveCommand(char* args);
|
bool HandleGameObjectMoveCommand(char* args);
|
||||||
bool HandleGameObjectNearCommand(char* args);
|
bool HandleGameObjectNearCommand(char* args);
|
||||||
bool HandleGameObjectPhaseCommand(char* args);
|
bool HandleGameObjectPhaseCommand(char* args);
|
||||||
|
bool HandleGameObjectStateCommand(char* args);
|
||||||
bool HandleGameObjectTargetCommand(char* args);
|
bool HandleGameObjectTargetCommand(char* args);
|
||||||
bool HandleGameObjectTurnCommand(char* args);
|
bool HandleGameObjectTurnCommand(char* args);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user