mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
Restructured/Reordered Npc Commands
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
18c8e861f4
commit
d440ff3184
5 changed files with 928 additions and 922 deletions
|
|
@ -417,26 +417,25 @@ ChatCommand * ChatHandler::getCommandTable()
|
|||
|
||||
static ChatCommand npcCommandTable[] =
|
||||
{
|
||||
{ "say", SEC_MODERATOR, false, &ChatHandler::HandleNpcSayCommand, "", NULL },
|
||||
{ "textemote", SEC_MODERATOR, false, &ChatHandler::HandleNpcTextEmoteCommand, "", NULL },
|
||||
{ "add", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcAddCommand, "", NULL },
|
||||
{ "additem", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcAddVendorItemCommand, "", NULL },
|
||||
{ "addmove", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcAddMoveCommand, "", NULL },
|
||||
{ "changeentry", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcChangeEntryCommand, "", NULL },
|
||||
{ "changelevel", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcChangeLevelCommand, "", NULL },
|
||||
{ "delete", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcDeleteCommand, "", NULL },
|
||||
{ "factionid", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFactionIdCommand, "", NULL },
|
||||
{ "flag", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFlagCommand, "", NULL },
|
||||
{ "follow", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFollowCommand, "", NULL },
|
||||
{ "info", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcInfoCommand, "", NULL },
|
||||
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcMoveCommand, "", NULL },
|
||||
{ "playemote", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcPlayEmoteCommand, "", NULL },
|
||||
{ "setmodel", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetModelCommand, "", NULL },
|
||||
{ "setmovetype", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetMoveTypeCommand, "", NULL },
|
||||
{ "setphase", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetPhaseCommand, "", NULL },
|
||||
{ "spawndist", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSpawnDistCommand, "", NULL },
|
||||
{ "spawntime", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSpawnTimeCommand, "", NULL },
|
||||
{ "factionid", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFactionIdCommand, "", NULL },
|
||||
{ "addmove", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcAddMoveCommand, "", NULL },
|
||||
{ "setmovetype", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetMoveTypeCommand, "", NULL },
|
||||
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcMoveCommand, "", NULL },
|
||||
{ "changelevel", SEC_GAMEMASTER, false, &ChatHandler::HandleChangeLevelCommand, "", NULL },
|
||||
{ "setmodel", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetModelCommand, "", NULL },
|
||||
{ "additem", SEC_GAMEMASTER, false, &ChatHandler::HandleAddVendorItemCommand, "", NULL },
|
||||
{ "delitem", SEC_GAMEMASTER, false, &ChatHandler::HandleDelVendorItemCommand, "", NULL },
|
||||
{ "flag", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFlagCommand, "", NULL },
|
||||
{ "changeentry", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcChangeEntryCommand, "", NULL },
|
||||
{ "info", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcInfoCommand, "", NULL },
|
||||
{ "playemote", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcPlayEmoteCommand, "", NULL },
|
||||
{ "follow", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcFollowCommand, "", NULL },
|
||||
{ "setphase", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetPhaseCommand, "", NULL },
|
||||
{ "say", SEC_MODERATOR, false, &ChatHandler::HandleNpcSayCommand, "", NULL },
|
||||
{ "textemote", SEC_MODERATOR, false, &ChatHandler::HandleNpcTextEmoteCommand, "", NULL },
|
||||
{ "unfollow", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcUnFollowCommand, "", NULL },
|
||||
{ "whisper", SEC_MODERATOR, false, &ChatHandler::HandleNpcWhisperCommand, "", NULL },
|
||||
{ "yell", SEC_MODERATOR, false, &ChatHandler::HandleNpcYellCommand, "", NULL },
|
||||
|
|
@ -444,9 +443,9 @@ ChatCommand * ChatHandler::getCommandTable()
|
|||
{ "setdeathstate", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSetDeathStateCommand, "", NULL },
|
||||
|
||||
//{ TODO: fix or remove this commands
|
||||
{ "name", SEC_GAMEMASTER, false, &ChatHandler::HandleNameCommand, "", NULL },
|
||||
{ "subname", SEC_GAMEMASTER, false, &ChatHandler::HandleSubNameCommand, "", NULL },
|
||||
{ "addweapon", SEC_ADMINISTRATOR, false, &ChatHandler::HandleAddWeaponCommand, "", NULL },
|
||||
{ "addweapon", SEC_ADMINISTRATOR, false, &ChatHandler::HandleNpcAddWeaponCommand, "", NULL },
|
||||
{ "name", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcNameCommand, "", NULL },
|
||||
{ "subname", SEC_GAMEMASTER, false, &ChatHandler::HandleNpcSubNameCommand, "", NULL },
|
||||
//}
|
||||
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
|
|
|
|||
|
|
@ -176,10 +176,14 @@ class ChatHandler
|
|||
bool HandleModifyPhaseCommand(const char* args);
|
||||
bool HandleModifyGenderCommand(const char* args);
|
||||
|
||||
//-----------------------Npc Commands-----------------------
|
||||
bool HandleNpcAddCommand(const char* args);
|
||||
bool HandleNpcAddMoveCommand(const char* args);
|
||||
bool HandleNpcAddVendorItemCommand(const char* args);
|
||||
bool HandleNpcChangeEntryCommand(const char *args);
|
||||
bool HandleNpcChangeLevelCommand(const char* args);
|
||||
bool HandleNpcDeleteCommand(const char* args);
|
||||
bool HandleNpcDelVendorItemCommand(const char* args);
|
||||
bool HandleNpcFactionIdCommand(const char* args);
|
||||
bool HandleNpcFlagCommand(const char* args);
|
||||
bool HandleNpcFollowCommand(const char* args);
|
||||
|
|
@ -187,6 +191,7 @@ class ChatHandler
|
|||
bool HandleNpcMoveCommand(const char* args);
|
||||
bool HandleNpcPlayEmoteCommand(const char* args);
|
||||
bool HandleNpcSayCommand(const char* args);
|
||||
bool HandleNpcSetDeathStateCommand(const char* args);
|
||||
bool HandleNpcSetModelCommand(const char* args);
|
||||
bool HandleNpcSetMoveTypeCommand(const char* args);
|
||||
bool HandleNpcSetPhaseCommand(const char* args);
|
||||
|
|
@ -197,7 +202,12 @@ class ChatHandler
|
|||
bool HandleNpcUnFollowCommand(const char* args);
|
||||
bool HandleNpcWhisperCommand(const char* args);
|
||||
bool HandleNpcYellCommand(const char* args);
|
||||
bool HandleNpcSetDeathStateCommand(const char* args);
|
||||
|
||||
//TODO: NpcCommands that needs to be fixed :
|
||||
bool HandleNpcAddWeaponCommand(const char* args);
|
||||
bool HandleNpcNameCommand(const char* args);
|
||||
bool HandleNpcSubNameCommand(const char* args);
|
||||
//----------------------------------------------------------
|
||||
|
||||
bool HandleReloadAllCommand(const char* args);
|
||||
bool HandleReloadAllAreaCommand(const char* args);
|
||||
|
|
@ -300,13 +310,8 @@ class ChatHandler
|
|||
bool HandleDebugSpellFailCommand(const char* args);
|
||||
|
||||
bool HandleGUIDCommand(const char* args);
|
||||
bool HandleNameCommand(const char* args);
|
||||
bool HandleSubNameCommand(const char* args);
|
||||
bool HandleItemMoveCommand(const char* args);
|
||||
bool HandleDeMorphCommand(const char* args);
|
||||
bool HandleAddVendorItemCommand(const char* args);
|
||||
bool HandleDelVendorItemCommand(const char* args);
|
||||
bool HandleChangeLevelCommand(const char* args);
|
||||
bool HandleSetPoiCommand(const char* args);
|
||||
bool HandleEquipErrorCommand(const char* args);
|
||||
bool HandleGoCreatureCommand(const char* args);
|
||||
|
|
@ -341,7 +346,6 @@ class ChatHandler
|
|||
bool HandleGoXYZCommand(const char* args);
|
||||
bool HandleGoZoneXYCommand(const char* args);
|
||||
bool HandleGoGridCommand(const char* args);
|
||||
bool HandleAddWeaponCommand(const char* args);
|
||||
bool HandleAllowMovementCommand(const char* args);
|
||||
bool HandleGoCommand(const char* args);
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
#include "VMapFactory.h"
|
||||
#endif
|
||||
|
||||
//-----------------------Npc Commands-----------------------
|
||||
bool ChatHandler::HandleNpcSayCommand(const char* args)
|
||||
{
|
||||
if(!*args)
|
||||
|
|
@ -119,6 +120,7 @@ bool ChatHandler::HandleNpcWhisperCommand(const char* args)
|
|||
|
||||
return true;
|
||||
}
|
||||
//----------------------------------------------------------
|
||||
|
||||
// global announce
|
||||
bool ChatHandler::HandleAnnounceCommand(const char* args)
|
||||
|
|
|
|||
1586
src/game/Level2.cpp
1586
src/game/Level2.cpp
File diff suppressed because it is too large
Load diff
|
|
@ -3260,77 +3260,6 @@ bool ChatHandler::HandleGetDistanceCommand(const char* args)
|
|||
return true;
|
||||
}
|
||||
|
||||
// FIX-ME!!!
|
||||
|
||||
bool ChatHandler::HandleAddWeaponCommand(const char* /*args*/)
|
||||
{
|
||||
/*if (!*args)
|
||||
return false;
|
||||
|
||||
uint64 guid = m_session->GetPlayer()->GetSelection();
|
||||
if (guid == 0)
|
||||
{
|
||||
SendSysMessage(LANG_NO_SELECTION);
|
||||
return true;
|
||||
}
|
||||
|
||||
Creature *pCreature = ObjectAccessor::GetCreature(*m_session->GetPlayer(), guid);
|
||||
|
||||
if(!pCreature)
|
||||
{
|
||||
SendSysMessage(LANG_SELECT_CREATURE);
|
||||
return true;
|
||||
}
|
||||
|
||||
char* pSlotID = strtok((char*)args, " ");
|
||||
if (!pSlotID)
|
||||
return false;
|
||||
|
||||
char* pItemID = strtok(NULL, " ");
|
||||
if (!pItemID)
|
||||
return false;
|
||||
|
||||
uint32 ItemID = atoi(pItemID);
|
||||
uint32 SlotID = atoi(pSlotID);
|
||||
|
||||
ItemPrototype* tmpItem = objmgr.GetItemPrototype(ItemID);
|
||||
|
||||
bool added = false;
|
||||
if(tmpItem)
|
||||
{
|
||||
switch(SlotID)
|
||||
{
|
||||
case 1:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
case 2:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_01, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
case 3:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_02, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
default:
|
||||
PSendSysMessage(LANG_ITEM_SLOT_NOT_EXIST,SlotID);
|
||||
added = false;
|
||||
break;
|
||||
}
|
||||
if(added)
|
||||
{
|
||||
PSendSysMessage(LANG_ITEM_ADDED_TO_SLOT,ItemID,tmpItem->Name1,SlotID);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PSendSysMessage(LANG_ITEM_NOT_FOUND,ItemID);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleDieCommand(const char* /*args*/)
|
||||
{
|
||||
Unit* target = getSelectedUnit();
|
||||
|
|
@ -3664,21 +3593,28 @@ bool ChatHandler::HandleNearGraveCommand(const char* args)
|
|||
return true;
|
||||
}
|
||||
|
||||
//play npc emote
|
||||
bool ChatHandler::HandleNpcPlayEmoteCommand(const char* args)
|
||||
//-----------------------Npc Commands-----------------------
|
||||
bool ChatHandler::HandleNpcChangeEntryCommand(const char *args)
|
||||
{
|
||||
uint32 emote = atoi((char*)args);
|
||||
if(!args)
|
||||
return false;
|
||||
|
||||
Creature* target = getSelectedCreature();
|
||||
if(!target)
|
||||
uint32 newEntryNum = atoi(args);
|
||||
if(!newEntryNum)
|
||||
return false;
|
||||
|
||||
Unit* unit = getSelectedUnit();
|
||||
if(!unit || unit->GetTypeId() != TYPEID_UNIT)
|
||||
{
|
||||
SendSysMessage(LANG_SELECT_CREATURE);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
target->SetUInt32Value(UNIT_NPC_EMOTESTATE,emote);
|
||||
|
||||
Creature* creature = (Creature*)unit;
|
||||
if(creature->UpdateEntry(newEntryNum))
|
||||
SendSysMessage(LANG_DONE);
|
||||
else
|
||||
SendSysMessage(LANG_ERROR);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -3727,6 +3663,95 @@ bool ChatHandler::HandleNpcInfoCommand(const char* /*args*/)
|
|||
return true;
|
||||
}
|
||||
|
||||
//play npc emote
|
||||
bool ChatHandler::HandleNpcPlayEmoteCommand(const char* args)
|
||||
{
|
||||
uint32 emote = atoi((char*)args);
|
||||
|
||||
Creature* target = getSelectedCreature();
|
||||
if(!target)
|
||||
{
|
||||
SendSysMessage(LANG_SELECT_CREATURE);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
target->SetUInt32Value(UNIT_NPC_EMOTESTATE,emote);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//TODO: NpcCommands that needs to be fixed :
|
||||
|
||||
bool ChatHandler::HandleNpcAddWeaponCommand(const char* /*args*/)
|
||||
{
|
||||
/*if (!*args)
|
||||
return false;
|
||||
|
||||
uint64 guid = m_session->GetPlayer()->GetSelection();
|
||||
if (guid == 0)
|
||||
{
|
||||
SendSysMessage(LANG_NO_SELECTION);
|
||||
return true;
|
||||
}
|
||||
|
||||
Creature *pCreature = ObjectAccessor::GetCreature(*m_session->GetPlayer(), guid);
|
||||
|
||||
if(!pCreature)
|
||||
{
|
||||
SendSysMessage(LANG_SELECT_CREATURE);
|
||||
return true;
|
||||
}
|
||||
|
||||
char* pSlotID = strtok((char*)args, " ");
|
||||
if (!pSlotID)
|
||||
return false;
|
||||
|
||||
char* pItemID = strtok(NULL, " ");
|
||||
if (!pItemID)
|
||||
return false;
|
||||
|
||||
uint32 ItemID = atoi(pItemID);
|
||||
uint32 SlotID = atoi(pSlotID);
|
||||
|
||||
ItemPrototype* tmpItem = objmgr.GetItemPrototype(ItemID);
|
||||
|
||||
bool added = false;
|
||||
if(tmpItem)
|
||||
{
|
||||
switch(SlotID)
|
||||
{
|
||||
case 1:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
case 2:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_01, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
case 3:
|
||||
pCreature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_02, ItemID);
|
||||
added = true;
|
||||
break;
|
||||
default:
|
||||
PSendSysMessage(LANG_ITEM_SLOT_NOT_EXIST,SlotID);
|
||||
added = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if(added)
|
||||
PSendSysMessage(LANG_ITEM_ADDED_TO_SLOT,ItemID,tmpItem->Name1,SlotID);
|
||||
}
|
||||
else
|
||||
{
|
||||
PSendSysMessage(LANG_ITEM_NOT_FOUND,ItemID);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
//----------------------------------------------------------
|
||||
|
||||
bool ChatHandler::HandleExploreCheatCommand(const char* args)
|
||||
{
|
||||
if (!*args)
|
||||
|
|
@ -5685,30 +5710,6 @@ bool ChatHandler::HandleLoadPDumpCommand(const char *args)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleNpcChangeEntryCommand(const char *args)
|
||||
{
|
||||
if(!args)
|
||||
return false;
|
||||
|
||||
uint32 newEntryNum = atoi(args);
|
||||
if(!newEntryNum)
|
||||
return false;
|
||||
|
||||
Unit* unit = getSelectedUnit();
|
||||
if(!unit || unit->GetTypeId() != TYPEID_UNIT)
|
||||
{
|
||||
SendSysMessage(LANG_SELECT_CREATURE);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
Creature* creature = (Creature*)unit;
|
||||
if(creature->UpdateEntry(newEntryNum))
|
||||
SendSysMessage(LANG_DONE);
|
||||
else
|
||||
SendSysMessage(LANG_ERROR);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleWritePDumpCommand(const char *args)
|
||||
{
|
||||
if(!args)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue