mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/scripts/Commands/cs_misc.cpp src/server/scripts/Commands/cs_modify.cpp src/server/scripts/Commands/cs_reload.cpp
This commit is contained in:
25
sql/updates/auth/2013_09_10_00_auth_misc.sql
Normal file
25
sql/updates/auth/2013_09_10_00_auth_misc.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
/* cs_group.cpp */
|
||||
|
||||
SET @id = 472;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+6;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0 , 'group'),
|
||||
(@id+1 , 'group leader'),
|
||||
(@id+2 , 'group disband'),
|
||||
(@id+3 , 'group remove'),
|
||||
(@id+4 , 'group join'),
|
||||
(@id+5 , 'group list'),
|
||||
(@id+6 , 'group summon');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+6;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5),
|
||||
(4, @id+6);
|
||||
15
sql/updates/auth/2013_09_10_00_auth_misc_434.sql
Normal file
15
sql/updates/auth/2013_09_10_00_auth_misc_434.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
/* cs_modify.cpp & cs_debug.cpp only 4.3.4 */
|
||||
|
||||
SET @id = 775;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'modify currency'),
|
||||
(@id+1, 'debug phase');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(3, @id+0),
|
||||
(4, @id+1);
|
||||
19
sql/updates/auth/2013_09_10_01_auth_misc.sql
Normal file
19
sql/updates/auth/2013_09_10_01_auth_misc.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
/* cs_pet.cpp */
|
||||
|
||||
SET @id = 479;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+3;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0 , 'pet'),
|
||||
(@id+1 , 'pet create'),
|
||||
(@id+2 , 'pet learn'),
|
||||
(@id+3 , 'pet unlearn');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+3;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(3, @id+0),
|
||||
(3, @id+1),
|
||||
(3, @id+2),
|
||||
(3, @id+3);
|
||||
21
sql/updates/auth/2013_09_10_02_auth_misc.sql
Normal file
21
sql/updates/auth/2013_09_10_02_auth_misc.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
/* cs_send.cpp */
|
||||
|
||||
SET @id = 483;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0 , 'send'),
|
||||
(@id+1 , 'send items'),
|
||||
(@id+2 , 'send mail'),
|
||||
(@id+3 , 'send message'),
|
||||
(@id+4 , 'send money');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(2, @id+1),
|
||||
(3, @id+2),
|
||||
(3, @id+3),
|
||||
(3, @id+4);
|
||||
107
sql/updates/auth/2013_09_10_03_auth_misc.sql
Normal file
107
sql/updates/auth/2013_09_10_03_auth_misc.sql
Normal file
@@ -0,0 +1,107 @@
|
||||
/* cs_misc.cpp */
|
||||
|
||||
SET @id = 488;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+47;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'additem'),
|
||||
(@id+1, 'additemset'),
|
||||
(@id+2, 'appear'),
|
||||
(@id+3, 'aura'),
|
||||
(@id+4, 'bank'),
|
||||
(@id+5, 'bindsight'),
|
||||
(@id+6, 'combatstop'),
|
||||
(@id+7, 'cometome'),
|
||||
(@id+8, 'commands'),
|
||||
(@id+9, 'cooldown'),
|
||||
(@id+10, 'damage'),
|
||||
(@id+11, 'dev'),
|
||||
(@id+12, 'die'),
|
||||
(@id+13, 'dismount'),
|
||||
(@id+14, 'distance'),
|
||||
(@id+15, 'flusharenapoints'),
|
||||
(@id+16, 'freeze'),
|
||||
(@id+17, 'gps'),
|
||||
(@id+18, 'guid'),
|
||||
(@id+19, 'help'),
|
||||
(@id+20, 'hidearea'),
|
||||
(@id+21, 'itemmove'),
|
||||
(@id+22, 'kick'),
|
||||
(@id+23, 'linkgrave'),
|
||||
(@id+24, 'listfreeze'),
|
||||
(@id+25, 'maxskill'),
|
||||
(@id+26, 'movegens'),
|
||||
(@id+27, 'mute'),
|
||||
(@id+28, 'neargrave'),
|
||||
(@id+29, 'pinfo'),
|
||||
(@id+30, 'playall'),
|
||||
(@id+31, 'possess'),
|
||||
(@id+32, 'recall'),
|
||||
(@id+33, 'repairitems'),
|
||||
(@id+34, 'respawn'),
|
||||
(@id+35, 'revive'),
|
||||
(@id+36, 'saveall'),
|
||||
(@id+37, 'save'),
|
||||
(@id+38, 'setskill'),
|
||||
(@id+39, 'showarea'),
|
||||
(@id+40, 'summon'),
|
||||
(@id+41, 'unaura'),
|
||||
(@id+42, 'unbindsight'),
|
||||
(@id+43, 'unfreeze'),
|
||||
(@id+44, 'unmute'),
|
||||
(@id+45, 'unpossess'),
|
||||
(@id+46, 'unstuck'),
|
||||
(@id+47, 'wchange');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+47;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(2, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5),
|
||||
(3, @id+6),
|
||||
(4, @id+7),
|
||||
(1, @id+8),
|
||||
(4, @id+9),
|
||||
(4, @id+10),
|
||||
(4, @id+11),
|
||||
(4, @id+12),
|
||||
(1, @id+13),
|
||||
(4, @id+14),
|
||||
(4, @id+15),
|
||||
(2, @id+16),
|
||||
(4, @id+17),
|
||||
(3, @id+18),
|
||||
(1, @id+19),
|
||||
(4, @id+20),
|
||||
(3, @id+21),
|
||||
(3, @id+22),
|
||||
(4, @id+23),
|
||||
(2, @id+24),
|
||||
(4, @id+25),
|
||||
(4, @id+26),
|
||||
(2, @id+27),
|
||||
(4, @id+28),
|
||||
(3, @id+29),
|
||||
(3, @id+30),
|
||||
(4, @id+31),
|
||||
(2, @id+32),
|
||||
(3, @id+33),
|
||||
(4, @id+34),
|
||||
(4, @id+35),
|
||||
(2, @id+36),
|
||||
(1, @id+37),
|
||||
(4, @id+38),
|
||||
(4, @id+39),
|
||||
(2, @id+40),
|
||||
(4, @id+41),
|
||||
(4, @id+42),
|
||||
(2, @id+43),
|
||||
(2, @id+44),
|
||||
(4, @id+45),
|
||||
(1, @id+46),
|
||||
(4, @id+47);
|
||||
23
sql/updates/auth/2013_09_10_04_auth_misc.sql
Normal file
23
sql/updates/auth/2013_09_10_04_auth_misc.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
/* cs_mmaps.cpp */
|
||||
|
||||
SET @id = 536;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+5;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'mmap'),
|
||||
(@id+1, 'mmap loadedtiles'),
|
||||
(@id+2, 'mmap loc'),
|
||||
(@id+3, 'mmap path'),
|
||||
(@id+4, 'mmap stats'),
|
||||
(@id+5, 'mmap testarea');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+5;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5);
|
||||
68
sql/updates/auth/2013_09_10_05_auth_misc.sql
Normal file
68
sql/updates/auth/2013_09_10_05_auth_misc.sql
Normal file
@@ -0,0 +1,68 @@
|
||||
/* cs_modify.cpp */
|
||||
|
||||
SET @id = 542;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+27;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'morph'),
|
||||
(@id+1, 'demorph'),
|
||||
(@id+2, 'modify'),
|
||||
(@id+3, 'modify arenapoints'),
|
||||
(@id+4, 'modify bit'),
|
||||
(@id+5, 'modify drunk'),
|
||||
(@id+6, 'modify energy'),
|
||||
(@id+7, 'modify faction'),
|
||||
(@id+8, 'modify gender'),
|
||||
(@id+9, 'modify honor'),
|
||||
(@id+10, 'modify hp'),
|
||||
(@id+11, 'modify mana'),
|
||||
(@id+12, 'modify money'),
|
||||
(@id+13, 'modify mount'),
|
||||
(@id+14, 'modify phase'),
|
||||
(@id+15, 'modify rage'),
|
||||
(@id+16, 'modify reputation'),
|
||||
(@id+17, 'modify runicpower'),
|
||||
(@id+18, 'modify scale'),
|
||||
(@id+19, 'modify speed'),
|
||||
(@id+20, 'modify speed all'),
|
||||
(@id+21, 'modify speed backwalk'),
|
||||
(@id+22, 'modify speed fly'),
|
||||
(@id+23, 'modify speed walk'),
|
||||
(@id+24, 'modify speed swim'),
|
||||
(@id+25, 'modify spell'),
|
||||
(@id+26, 'modify standstate'),
|
||||
(@id+27, 'modify talentpoints');
|
||||
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+27;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(3, @id+0),
|
||||
(3, @id+1),
|
||||
(2, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4),
|
||||
(2, @id+5),
|
||||
(2, @id+6),
|
||||
(2, @id+7),
|
||||
(3, @id+8),
|
||||
(2, @id+9),
|
||||
(2, @id+10),
|
||||
(2, @id+11),
|
||||
(2, @id+12),
|
||||
(2, @id+13),
|
||||
(4, @id+14),
|
||||
(2, @id+15),
|
||||
(3, @id+16),
|
||||
(2, @id+17),
|
||||
(2, @id+18),
|
||||
(2, @id+19),
|
||||
(2, @id+20),
|
||||
(2, @id+21),
|
||||
(2, @id+22),
|
||||
(2, @id+23),
|
||||
(2, @id+24),
|
||||
(2, @id+25),
|
||||
(3, @id+26),
|
||||
(2, @id+27);
|
||||
75
sql/updates/auth/2013_09_10_06_auth_misc.sql
Normal file
75
sql/updates/auth/2013_09_10_06_auth_misc.sql
Normal file
@@ -0,0 +1,75 @@
|
||||
/* cs_npc.cpp */
|
||||
|
||||
SET @id = 570;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+31;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'npc'),
|
||||
(@id+1, 'npc add'),
|
||||
(@id+2, 'npc add formation'),
|
||||
(@id+3, 'npc add item'),
|
||||
(@id+4, 'npc add move'),
|
||||
(@id+5, 'npc add temp'),
|
||||
(@id+6, 'npc add delete'),
|
||||
(@id+7, 'npc add delete item'),
|
||||
(@id+8, 'npc add follow'),
|
||||
(@id+9, 'npc add follow stop'),
|
||||
(@id+10, 'npc set'),
|
||||
(@id+11, 'npc set allowmove'),
|
||||
(@id+12, 'npc set entry'),
|
||||
(@id+13, 'npc set factionid'),
|
||||
(@id+14, 'npc set flag'),
|
||||
(@id+15, 'npc set level'),
|
||||
(@id+16, 'npc set link'),
|
||||
(@id+17, 'npc set model'),
|
||||
(@id+18, 'npc set movetype'),
|
||||
(@id+19, 'npc set phase'),
|
||||
(@id+20, 'npc set spawndist'),
|
||||
(@id+21, 'npc set spawntime'),
|
||||
(@id+22, 'npc set data'),
|
||||
(@id+23, 'npc info'),
|
||||
(@id+24, 'npc near'),
|
||||
(@id+25, 'npc move'),
|
||||
(@id+26, 'npc playemote'),
|
||||
(@id+27, 'npc say'),
|
||||
(@id+28, 'npc textemote'),
|
||||
(@id+29, 'npc whisper'),
|
||||
(@id+30, 'npc yell'),
|
||||
(@id+31, 'npc tame');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+31;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(3, @id+1),
|
||||
(3, @id+2),
|
||||
(3, @id+3),
|
||||
(3, @id+4),
|
||||
(3, @id+5),
|
||||
(3, @id+6),
|
||||
(3, @id+7),
|
||||
(3, @id+8),
|
||||
(3, @id+9),
|
||||
(3, @id+10),
|
||||
(4, @id+11),
|
||||
(4, @id+12),
|
||||
(3, @id+13),
|
||||
(3, @id+14),
|
||||
(3, @id+15),
|
||||
(3, @id+16),
|
||||
(3, @id+17),
|
||||
(3, @id+18),
|
||||
(3, @id+19),
|
||||
(3, @id+20),
|
||||
(3, @id+21),
|
||||
(4, @id+22),
|
||||
(4, @id+23),
|
||||
(3, @id+24),
|
||||
(3, @id+25),
|
||||
(4, @id+26),
|
||||
(2, @id+27),
|
||||
(2, @id+28),
|
||||
(2, @id+29),
|
||||
(2, @id+30),
|
||||
(3, @id+31);
|
||||
21
sql/updates/auth/2013_09_10_07_auth_misc.sql
Normal file
21
sql/updates/auth/2013_09_10_07_auth_misc.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
/* cs_quest.cpp */
|
||||
|
||||
SET @id = 602;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'quest'),
|
||||
(@id+1, 'quest add'),
|
||||
(@id+2, 'quest complete'),
|
||||
(@id+3, 'quest remove'),
|
||||
(@id+4, 'quest reward');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4);
|
||||
217
sql/updates/auth/2013_09_10_08_auth_misc.sql
Normal file
217
sql/updates/auth/2013_09_10_08_auth_misc.sql
Normal file
@@ -0,0 +1,217 @@
|
||||
/* cs_reload.cpp */
|
||||
|
||||
SET @id = 607;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+102;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'reload'),
|
||||
(@id+1, 'reload access_requirement'),
|
||||
(@id+2, 'reload achievement_criteria_data'),
|
||||
(@id+3, 'reload achievement_reward'),
|
||||
(@id+4, 'reload all'),
|
||||
(@id+5, 'reload all achievement'),
|
||||
(@id+6, 'reload all area'),
|
||||
(@id+7, 'reload all eventai'),
|
||||
(@id+8, 'reload all gossips'),
|
||||
(@id+9, 'reload all item'),
|
||||
(@id+10, 'reload all locales'),
|
||||
(@id+11, 'reload all loot'),
|
||||
(@id+12, 'reload all npc'),
|
||||
(@id+13, 'reload all quest'),
|
||||
(@id+14, 'reload all scripts'),
|
||||
(@id+15, 'reload all spell'),
|
||||
(@id+16, 'reload areatrigger_involvedrelation'),
|
||||
(@id+17, 'reload areatrigger_tavern'),
|
||||
(@id+18, 'reload areatrigger_teleport'),
|
||||
(@id+19, 'reload auctions'),
|
||||
(@id+20, 'reload autobroadcast'),
|
||||
(@id+21, 'reload command'),
|
||||
(@id+22, 'reload conditions'),
|
||||
(@id+23, 'reload config'),
|
||||
(@id+24, 'reload creature_text'),
|
||||
(@id+25, 'reload creature_ai_scripts'),
|
||||
(@id+26, 'reload creature_ai_texts'),
|
||||
(@id+27, 'reload creature_questender'),
|
||||
(@id+28, 'reload creature_linked_respawn'),
|
||||
(@id+29, 'reload creature_loot_template'),
|
||||
(@id+30, 'reload creature_onkill_reputation'),
|
||||
(@id+31, 'reload creature_queststarter'),
|
||||
(@id+32, 'reload creature_summon_groups'),
|
||||
(@id+33, 'reload creature_template'),
|
||||
(@id+34, 'reload disables'),
|
||||
(@id+35, 'reload disenchant_loot_template'),
|
||||
(@id+36, 'reload event_scripts'),
|
||||
(@id+37, 'reload fishing_loot_template'),
|
||||
(@id+38, 'reload game_graveyard_zone'),
|
||||
(@id+39, 'reload game_tele'),
|
||||
(@id+40, 'reload gameobject_questender'),
|
||||
(@id+41, 'reload gameobject_loot_template'),
|
||||
(@id+42, 'reload gameobject_queststarter'),
|
||||
(@id+43, 'reload gm_tickets'),
|
||||
(@id+44, 'reload gossip_menu'),
|
||||
(@id+45, 'reload gossip_menu_option'),
|
||||
(@id+46, 'reload item_enchantment_template'),
|
||||
(@id+47, 'reload item_loot_template'),
|
||||
(@id+48, 'reload item_set_names'),
|
||||
(@id+49, 'reload lfg_dungeon_rewards'),
|
||||
(@id+50, 'reload locales_achievement_reward'),
|
||||
(@id+51, 'reload locales_creature'),
|
||||
(@id+52, 'reload locales_creature_text'),
|
||||
(@id+53, 'reload locales_gameobject'),
|
||||
(@id+54, 'reload locales_gossip_menu_option'),
|
||||
(@id+55, 'reload locales_item'),
|
||||
(@id+56, 'reload locales_item_set_name'),
|
||||
(@id+57, 'reload locales_npc_text'),
|
||||
(@id+58, 'reload locales_page_text'),
|
||||
(@id+59, 'reload locales_points_of_interest'),
|
||||
(@id+60, 'reload locales_quest'),
|
||||
(@id+61, 'reload mail_level_reward'),
|
||||
(@id+62, 'reload mail_loot_template'),
|
||||
(@id+63, 'reload milling_loot_template'),
|
||||
(@id+64, 'reload npc_spellclick_spells'),
|
||||
(@id+65, 'reload npc_trainer'),
|
||||
(@id+66, 'reload npc_vendor'),
|
||||
(@id+67, 'reload page_text'),
|
||||
(@id+68, 'reload pickpocketing_loot_template'),
|
||||
(@id+69, 'reload points_of_interest'),
|
||||
(@id+70, 'reload prospecting_loot_template'),
|
||||
(@id+71, 'reload quest_poi'),
|
||||
(@id+72, 'reload quest_template'),
|
||||
(@id+73, 'reload rbac'),
|
||||
(@id+74, 'reload reference_loot_template'),
|
||||
(@id+75, 'reload reserved_name'),
|
||||
(@id+76, 'reload reputation_reward_rate'),
|
||||
(@id+77, 'reload reputation_spillover_template'),
|
||||
(@id+78, 'reload skill_discovery_template'),
|
||||
(@id+79, 'reload skill_extra_item_template'),
|
||||
(@id+80, 'reload skill_fishing_base_level'),
|
||||
(@id+81, 'reload skinning_loot_template'),
|
||||
(@id+82, 'reload smart_scripts'),
|
||||
(@id+83, 'reload spell_required'),
|
||||
(@id+84, 'reload spell_area'),
|
||||
(@id+85, 'reload spell_bonus_data'),
|
||||
(@id+86, 'reload spell_group'),
|
||||
(@id+87, 'reload spell_learn_spell'),
|
||||
(@id+88, 'reload spell_loot_template'),
|
||||
(@id+89, 'reload spell_linked_spell'),
|
||||
(@id+90, 'reload spell_pet_auras'),
|
||||
(@id+91, 'reload spell_proc_event'),
|
||||
(@id+92, 'reload spell_proc'),
|
||||
(@id+93, 'reload spell_scripts'),
|
||||
(@id+94, 'reload spell_target_position'),
|
||||
(@id+95, 'reload spell_threats'),
|
||||
(@id+96, 'reload spell_group_stack_rules'),
|
||||
(@id+97, 'reload trinity_string'),
|
||||
(@id+98, 'reload warden_action'),
|
||||
(@id+99, 'reload waypoint_scripts'),
|
||||
(@id+100, 'reload waypoint_data'),
|
||||
(@id+101, 'reload vehicle_accessory'),
|
||||
(@id+102, 'reload vehicle_template_accessory');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+102;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5),
|
||||
(4, @id+6),
|
||||
(4, @id+7),
|
||||
(4, @id+8),
|
||||
(4, @id+9),
|
||||
(4, @id+10),
|
||||
(4, @id+11),
|
||||
(4, @id+12),
|
||||
(4, @id+13),
|
||||
(4, @id+14),
|
||||
(4, @id+15),
|
||||
(4, @id+16),
|
||||
(4, @id+17),
|
||||
(4, @id+18),
|
||||
(4, @id+19),
|
||||
(4, @id+20),
|
||||
(4, @id+21),
|
||||
(4, @id+22),
|
||||
(4, @id+23),
|
||||
(4, @id+24),
|
||||
(4, @id+25),
|
||||
(4, @id+26),
|
||||
(4, @id+27),
|
||||
(4, @id+28),
|
||||
(4, @id+29),
|
||||
(4, @id+30),
|
||||
(4, @id+31),
|
||||
(4, @id+32),
|
||||
(4, @id+33),
|
||||
(4, @id+34),
|
||||
(4, @id+35),
|
||||
(4, @id+36),
|
||||
(4, @id+37),
|
||||
(4, @id+38),
|
||||
(4, @id+39),
|
||||
(4, @id+40),
|
||||
(4, @id+41),
|
||||
(4, @id+42),
|
||||
(4, @id+43),
|
||||
(4, @id+44),
|
||||
(4, @id+45),
|
||||
(4, @id+46),
|
||||
(4, @id+47),
|
||||
(4, @id+48),
|
||||
(4, @id+49),
|
||||
(4, @id+50),
|
||||
(4, @id+51),
|
||||
(4, @id+52),
|
||||
(4, @id+53),
|
||||
(4, @id+54),
|
||||
(4, @id+55),
|
||||
(4, @id+56),
|
||||
(4, @id+57),
|
||||
(4, @id+58),
|
||||
(4, @id+59),
|
||||
(4, @id+60),
|
||||
(4, @id+61),
|
||||
(4, @id+62),
|
||||
(4, @id+63),
|
||||
(4, @id+64),
|
||||
(4, @id+65),
|
||||
(4, @id+66),
|
||||
(4, @id+67),
|
||||
(4, @id+68),
|
||||
(4, @id+69),
|
||||
(4, @id+70),
|
||||
(4, @id+71),
|
||||
(4, @id+72),
|
||||
(4, @id+73),
|
||||
(4, @id+74),
|
||||
(4, @id+75),
|
||||
(4, @id+76),
|
||||
(4, @id+77),
|
||||
(4, @id+78),
|
||||
(4, @id+79),
|
||||
(4, @id+80),
|
||||
(4, @id+81),
|
||||
(4, @id+82),
|
||||
(4, @id+83),
|
||||
(4, @id+84),
|
||||
(4, @id+85),
|
||||
(4, @id+86),
|
||||
(4, @id+87),
|
||||
(4, @id+88),
|
||||
(4, @id+89),
|
||||
(4, @id+90),
|
||||
(4, @id+91),
|
||||
(4, @id+92),
|
||||
(4, @id+93),
|
||||
(4, @id+94),
|
||||
(4, @id+95),
|
||||
(4, @id+96),
|
||||
(4, @id+97),
|
||||
(4, @id+98),
|
||||
(4, @id+99),
|
||||
(4, @id+100),
|
||||
(4, @id+101),
|
||||
(4, @id+102);
|
||||
27
sql/updates/auth/2013_09_10_09_auth_misc.sql
Normal file
27
sql/updates/auth/2013_09_10_09_auth_misc.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
/* cs_reset.cpp */
|
||||
|
||||
SET @id = 710;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+7;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'reset'),
|
||||
(@id+1, 'reset achievements'),
|
||||
(@id+2, 'reset honor'),
|
||||
(@id+3, 'reset level'),
|
||||
(@id+4, 'reset spells'),
|
||||
(@id+5, 'reset stats'),
|
||||
(@id+6, 'reset talents'),
|
||||
(@id+7, 'reset all');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+7;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5),
|
||||
(4, @id+6),
|
||||
(4, @id+7);
|
||||
46
sql/updates/auth/2013_09_10_10_auth_misc.sql
Normal file
46
sql/updates/auth/2013_09_10_10_auth_misc.sql
Normal file
@@ -0,0 +1,46 @@
|
||||
/* cs_server.cpp */
|
||||
|
||||
SET @id = 718;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'server'),
|
||||
(@id+1, 'server corpses'),
|
||||
(@id+2, 'server exit'),
|
||||
(@id+3, 'server idlerestart'),
|
||||
(@id+4, 'server idlerestart cancel'),
|
||||
(@id+5, 'server idleshutdown'),
|
||||
(@id+6, 'server idleshutdown cancel'),
|
||||
(@id+7, 'server info'),
|
||||
(@id+8, 'server plimit'),
|
||||
(@id+9, 'server restart'),
|
||||
(@id+10, 'server restart cancel'),
|
||||
(@id+11, 'server set'),
|
||||
(@id+12, 'server set closed'),
|
||||
(@id+13, 'server set difftime'),
|
||||
(@id+14, 'server set loglevel'),
|
||||
(@id+15, 'server set motd'),
|
||||
(@id+16, 'server shutdown'),
|
||||
(@id+17, 'server shutdown cancel'),
|
||||
(@id+18, 'server motd');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5),
|
||||
(4, @id+6),
|
||||
(4, @id+7),
|
||||
(4, @id+8),
|
||||
(4, @id+9),
|
||||
(4, @id+10),
|
||||
(4, @id+11),
|
||||
(4, @id+12),
|
||||
(4, @id+15),
|
||||
(4, @id+16),
|
||||
(4, @id+17),
|
||||
(4, @id+18);
|
||||
21
sql/updates/auth/2013_09_10_11_auth_misc.sql
Normal file
21
sql/updates/auth/2013_09_10_11_auth_misc.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
/* cs_tele.cpp */
|
||||
|
||||
SET @id = 737;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'tele'),
|
||||
(@id+1, 'tele add'),
|
||||
(@id+2, 'tele del'),
|
||||
(@id+3, 'tele name'),
|
||||
(@id+4, 'tele group');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4);
|
||||
49
sql/updates/auth/2013_09_10_12_auth_misc.sql
Normal file
49
sql/updates/auth/2013_09_10_12_auth_misc.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
/* cs_ticket.cpp */
|
||||
|
||||
SET @id = 742;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'ticket'),
|
||||
(@id+1, 'ticket assign'),
|
||||
(@id+2, 'ticket close'),
|
||||
(@id+3, 'ticket closedlist'),
|
||||
(@id+4, 'ticket comment'),
|
||||
(@id+5, 'ticket complete'),
|
||||
(@id+6, 'ticket delete'),
|
||||
(@id+7, 'ticket escalate'),
|
||||
(@id+8, 'ticket escalatedlist'),
|
||||
(@id+9, 'ticket list'),
|
||||
(@id+10, 'ticket onlinelist'),
|
||||
(@id+11, 'ticket reset'),
|
||||
(@id+12, 'ticket response'),
|
||||
(@id+13, 'ticket response append'),
|
||||
(@id+14, 'ticket response appendln'),
|
||||
(@id+15, 'ticket togglesystem'),
|
||||
(@id+16, 'ticket unassign'),
|
||||
(@id+17, 'ticket viewid'),
|
||||
(@id+18, 'ticket viewname');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(3, @id+1),
|
||||
(2, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4),
|
||||
(2, @id+5),
|
||||
(4, @id+6),
|
||||
(2, @id+7),
|
||||
(3, @id+8),
|
||||
(2, @id+9),
|
||||
(2, @id+10),
|
||||
(4, @id+11),
|
||||
(2, @id+12),
|
||||
(2, @id+13),
|
||||
(2, @id+14),
|
||||
(4, @id+15),
|
||||
(3, @id+16),
|
||||
(2, @id+17),
|
||||
(2, @id+18);
|
||||
39
sql/updates/auth/2013_09_10_13_auth_misc.sql
Normal file
39
sql/updates/auth/2013_09_10_13_auth_misc.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
/* cs_titles.cpp & cs_wp.cpp */
|
||||
|
||||
SET @id = 761;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'titles'),
|
||||
(@id+1, 'titles add'),
|
||||
(@id+2, 'titles current'),
|
||||
(@id+3, 'titles remove'),
|
||||
(@id+4, 'titles set'),
|
||||
(@id+5, 'titles set mask'),
|
||||
(@id+6, 'wp'),
|
||||
(@id+7, 'wp add'),
|
||||
(@id+8, 'wp event'),
|
||||
(@id+9, 'wp load'),
|
||||
(@id+10, 'wp modify'),
|
||||
(@id+11, 'wp unload'),
|
||||
(@id+12, 'wp reload'),
|
||||
(@id+13, 'wp show');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(3, @id+0),
|
||||
(3, @id+1),
|
||||
(3, @id+2),
|
||||
(3, @id+3),
|
||||
(3, @id+4),
|
||||
(3, @id+5),
|
||||
(3, @id+6),
|
||||
(3, @id+7),
|
||||
(3, @id+8),
|
||||
(3, @id+9),
|
||||
(3, @id+10),
|
||||
(3, @id+11),
|
||||
(4, @id+12),
|
||||
(3, @id+13);
|
||||
4
sql/updates/auth/2013_09_10_14_auth_misc.sql
Normal file
4
sql/updates/auth/2013_09_10_14_auth_misc.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
-- Remove obsolete permissions
|
||||
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` IN (7, 8, 9, 10, 12);
|
||||
DELETE FROM `rbac_permissions` WHERE `id` IN (7, 8, 9, 10, 12);
|
||||
92
sql/updates/auth/2013_09_10_15_auth_misc.sql
Normal file
92
sql/updates/auth/2013_09_10_15_auth_misc.sql
Normal file
@@ -0,0 +1,92 @@
|
||||
/* account email */
|
||||
SET @amail = 263;
|
||||
|
||||
-- Add new permissions for account mail
|
||||
DELETE FROM `rbac_permissions` WHERE `id` = @amail;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@amail, 'account email');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` = @amail;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(1, @amail),
|
||||
(2, @amail),
|
||||
(3, @amail),
|
||||
(4, @amail);
|
||||
|
||||
|
||||
/* account set sec email
|
||||
account set sec regmail */
|
||||
SET @setsec = 264;
|
||||
|
||||
-- Add new permissions for account set sec
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @setsec AND @setsec+2;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@setsec+0, 'account set sec'),
|
||||
(@setsec+1, 'account set sec email'),
|
||||
(@setsec+2, 'account set sec regmail');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @setsec AND @setsec+2;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @setsec+0),
|
||||
(4, @setsec+1),
|
||||
(4, @setsec+2);
|
||||
|
||||
/* cs_cast.cpp */
|
||||
|
||||
SET @id = 267;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+5;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'cast'),
|
||||
(@id+1, 'cast back'),
|
||||
(@id+2, 'cast dist'),
|
||||
(@id+3, 'cast self'),
|
||||
(@id+4, 'cast target'),
|
||||
(@id+5, 'cast dest');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+5;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4),
|
||||
(4, @id+5);
|
||||
|
||||
/* cs_go.cpp */
|
||||
|
||||
SET @id = 377;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+9;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'go'),
|
||||
(@id+1, 'go creature'),
|
||||
(@id+2, 'go graveyard'),
|
||||
(@id+3, 'go grid'),
|
||||
(@id+4, 'go object'),
|
||||
(@id+5, 'go taxinode'),
|
||||
(@id+6, 'go ticket'),
|
||||
(@id+7, 'go trigger'),
|
||||
(@id+8, 'go xyz'),
|
||||
(@id+9, 'go zonexy');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+9;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(2, @id+1),
|
||||
(2, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4),
|
||||
(2, @id+5),
|
||||
(2, @id+6),
|
||||
(2, @id+7),
|
||||
(2, @id+8),
|
||||
(2, @id+9);
|
||||
|
||||
UPDATE `rbac_permissions` SET `name`='bf enable' WHERE `id`=262;
|
||||
@@ -1,16 +1,16 @@
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = 201 WHERE `name` = '.rbac account';
|
||||
UPDATE `command` SET `permission` = 202 WHERE `name` = '.rbac account group';
|
||||
UPDATE `command` SET `permission` = 203 WHERE `name` = '.rbac account group add';
|
||||
UPDATE `command` SET `permission` = 204 WHERE `name` = '.rbac account group remove';
|
||||
UPDATE `command` SET `permission` = 205 WHERE `name` = '.rbac account role';
|
||||
UPDATE `command` SET `permission` = 206 WHERE `name` = '.rbac account role grant';
|
||||
UPDATE `command` SET `permission` = 207 WHERE `name` = '.rbac account role deny';
|
||||
UPDATE `command` SET `permission` = 208 WHERE `name` = '.rbac account role revoke';
|
||||
UPDATE `command` SET `permission` = 209 WHERE `name` = '.rbac account permission';
|
||||
UPDATE `command` SET `permission` = 210 WHERE `name` = '.rbac account permission grant';
|
||||
UPDATE `command` SET `permission` = 211 WHERE `name` = '.rbac account permission deny';
|
||||
UPDATE `command` SET `permission` = 212 WHERE `name` = '.rbac account permission revoke';
|
||||
UPDATE `command` SET `permission` = 214 WHERE `name` = '.rbac account list groups';
|
||||
UPDATE `command` SET `permission` = 215 WHERE `name` = '.rbac account list roles';
|
||||
UPDATE `command` SET `permission` = 216 WHERE `name` = '.rbac account list permissions';
|
||||
UPDATE `command` SET `permission` = 201 WHERE `name` = 'rbac account';
|
||||
UPDATE `command` SET `permission` = 202 WHERE `name` = 'rbac account group';
|
||||
UPDATE `command` SET `permission` = 203 WHERE `name` = 'rbac account group add';
|
||||
UPDATE `command` SET `permission` = 204 WHERE `name` = 'rbac account group remove';
|
||||
UPDATE `command` SET `permission` = 205 WHERE `name` = 'rbac account role';
|
||||
UPDATE `command` SET `permission` = 206 WHERE `name` = 'rbac account role grant';
|
||||
UPDATE `command` SET `permission` = 207 WHERE `name` = 'rbac account role deny';
|
||||
UPDATE `command` SET `permission` = 208 WHERE `name` = 'rbac account role revoke';
|
||||
UPDATE `command` SET `permission` = 209 WHERE `name` = 'rbac account permission';
|
||||
UPDATE `command` SET `permission` = 210 WHERE `name` = 'rbac account permission grant';
|
||||
UPDATE `command` SET `permission` = 211 WHERE `name` = 'rbac account permission deny';
|
||||
UPDATE `command` SET `permission` = 212 WHERE `name` = 'rbac account permission revoke';
|
||||
UPDATE `command` SET `permission` = 214 WHERE `name` = 'rbac account list groups';
|
||||
UPDATE `command` SET `permission` = 215 WHERE `name` = 'rbac account list roles';
|
||||
UPDATE `command` SET `permission` = 216 WHERE `name` = 'rbac account list permissions';
|
||||
|
||||
15
sql/updates/world/2013_09_09_00_world_sai.sql
Normal file
15
sql/updates/world/2013_09_09_00_world_sai.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN (30135,30144,29974);
|
||||
DELETE FROM `smart_scripts` WHERE entryorguid IN (30135,30144,29974);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
-- Niffelem Forefather
|
||||
(29974, 0, 0, 0, 0, 0, 100, 0, 1000, 5000, 8000, 13000, 11, 57454, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Niffelem Forefather - IC - Cast Ice Spike'),
|
||||
(29974, 0, 1, 2, 8, 0, 100, 0, 55983, 0, 0, 0, 33, 30138, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Niffelem Forefather - On Spellhit - Give Kill Credit'),
|
||||
(29974, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Niffelem Forefather - Linked with Previous Event Despawn'),
|
||||
-- Restless Frostborn Warrior
|
||||
(30135, 0, 0, 0, 0, 0, 100, 0, 1000, 5000, 8000, 13000, 11, 57456, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Warrior - IC - Cast Frostbite'),
|
||||
(30135, 0, 1, 2, 8, 0, 100, 0, 55983, 0, 0, 0, 33, 30139, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Warrior - On Spellhit - Give Kill Credit'),
|
||||
(30135, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Warrior - Linked with Previous Event Despawn'),
|
||||
-- Restless Frostborn Ghost
|
||||
(30144, 0, 0, 0, 0, 0, 100, 0, 1000, 5000, 8000, 13000, 11, 57456, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Ghost - IC - Cast Frostbite'),
|
||||
(30144, 0, 1, 2, 8, 0, 100, 0, 55983, 0, 0, 0, 33, 30139, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Ghost - On Spellhit - Give Kill Credit'),
|
||||
(30144, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Restless Frostborn Ghost - Linked with Previous Event Despawn');
|
||||
7
sql/updates/world/2013_09_10_00_world_command_434.sql
Normal file
7
sql/updates/world/2013_09_10_00_world_command_434.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
/* cs_modify.cpp & cs_debug.cpp only 4.3.4 */
|
||||
|
||||
SET @id = 775;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'modify currency';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'debug phase';
|
||||
8
sql/updates/world/2013_09_10_00_world_conditions.sql
Normal file
8
sql/updates/world/2013_09_10_00_world_conditions.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
DELETE FROM `conditions` WHERE `SourceEntry` = 55983;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(17, 0, 55983, 0, 0, 31, 1, 3, 29974, 0, 0, 0, 0, '', 'Blow Hodir''s Horn can hit Niffelem Forefather'),
|
||||
(17, 0, 55983, 0, 0, 36, 1, 0, 0, 0, 1, 0, 0, '', 'Blow Hodir''s Horn can only hit dead Niffelem Forefather'),
|
||||
(17, 0, 55983, 0, 1, 31, 1, 3, 30144, 0, 0, 0, 0, '', 'Blow Hodir''s Horn can hit Restless Frostborn Ghost'),
|
||||
(17, 0, 55983, 0, 1, 36, 1, 0, 0, 0, 1, 0, 0, '', 'Blow Hodir''s Horn can only hit dead Restless Frostborn Ghost'),
|
||||
(17, 0, 55983, 0, 2, 31, 1, 3, 30135, 0, 0, 0, 0, '', 'Blow Hodir''s Horn can hit Restless Frostborn Warrior'),
|
||||
(17, 0, 55983, 0, 2, 36, 1, 0, 0, 0, 1, 0, 0, '', 'Blow Hodir''s Horn can only hit dead Restless Frostborn Warrior');
|
||||
15
sql/updates/world/2013_09_10_01_world_command.sql
Normal file
15
sql/updates/world/2013_09_10_01_world_command.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
/* cs_group.cpp */
|
||||
|
||||
SET @id = 472;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'group';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'group leader';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'group disband';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'group remove';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'group join';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'group list';
|
||||
|
||||
UPDATE `command` SET `permission` = @id+6, `name` = 'group summon', `help` =
|
||||
'Syntax: .group summon [$charactername]\r\n\r\nTeleport the given character and his group to you. Teleported only online characters but original selected group member can be offline.'
|
||||
WHERE `name` = 'groupsummon';
|
||||
9
sql/updates/world/2013_09_10_02_world_command.sql
Normal file
9
sql/updates/world/2013_09_10_02_world_command.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
/* cs_pet.cpp */
|
||||
|
||||
SET @id = 479;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'pet';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'pet create';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'pet learn';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'pet unlearn';
|
||||
136
sql/updates/world/2013_09_10_03_world_sai.sql
Normal file
136
sql/updates/world/2013_09_10_03_world_sai.sql
Normal file
@@ -0,0 +1,136 @@
|
||||
-- Test Flight Quests
|
||||
-- 10557 - The Zephyrium Capacitorium(part 1)
|
||||
-- 10710 - The Singing Ridge(part 2)
|
||||
-- 10711 - Razaan's Landing
|
||||
-- 10712 - Ruuan Weald
|
||||
SET @ENTRY := 21461; -- Rally Zapnabber
|
||||
SET @ENTRY2 := 21393; -- Cannon Channeler Dummy npc
|
||||
SET @BEAM := 36795; -- Cannon Channel(dnd) - Visual cannon beam
|
||||
SET @MENUID := 8304; -- Gossip
|
||||
SET @A_MENU := 8454; -- Action Gossip
|
||||
SET @A_MENU2 := 8455; -- Action Gossip 2
|
||||
SET @OPTION := 0;
|
||||
SET @SPEACH := 10360; -- Text 1
|
||||
SET @SPEACH2 := 10561; -- Text 2
|
||||
|
||||
-- Disable obsolete quest
|
||||
DELETE FROM `disables` WHERE `entry`=10716;
|
||||
INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
|
||||
(1,10716,0,'','','Deprecated quest Test Flight: Raven''s Wood');
|
||||
-- Make Canon Channeler float & Update position to match cannon
|
||||
UPDATE `creature_template` SET `InhabitType`=4, `modelid1`= 11686 ,`modelid2`=0 WHERE `entry`=@ENTRY2;
|
||||
UPDATE `creature` SET `position_x`=1924.6457, `position_y`= 5575.660, `position_z`=272.1429 WHERE `guid`=74872;-- Gossip & menus 1924.1457, 5575.647, 272.1429
|
||||
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=@MENUID, `AIName`= 'SmartAI' WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@ENTRY2;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (@MENUID,@A_MENU);
|
||||
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
|
||||
(@MENUID,@SPEACH),
|
||||
(@A_MENU,@SPEACH2);
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (@MENUID,@A_MENU2,@A_MENU);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
|
||||
(@MENUID,@OPTION+0,0,'I''m ready for my test flight!',1,1,0,0,0,0,''), -- Test Flight: The Zephyrium Capacitorium
|
||||
(@MENUID,@OPTION+1,0,'Take me to Singing Ridge!',1,1,@A_MENU,0,0,0,''), -- Test Flight: The Singing Ridge
|
||||
(@MENUID,@OPTION+2,0,'Take me to Razaan''s Landing!',1,1,0,0,0,0,''), -- Test Flight: Razaan's Landing
|
||||
(@MENUID,@OPTION+3,0,'Take me to Ruuan Weald!',1,1,0,0,0,0,''), -- Test Flight: Ruuan Weald
|
||||
(@MENUID,@OPTION+4,0,'I want to fly to an old location!',1,1,@A_MENU2,0,0,0,''), -- Old locations from completed quests
|
||||
(@A_MENU2,@OPTION+1,0,'Take me to Singing Ridge.',1,1,0,0,0,0,''),
|
||||
(@A_MENU2,@OPTION+2,0,'Take me to Razaan''s Landing.',1,1,0,0,0,0,''),
|
||||
(@A_MENU2,@OPTION+3,0,'Take me to Ruuan Weald.',1,1,0,0,0,0,''),
|
||||
(@A_MENU,@OPTION+0,0,'I have the signed Waiver! Fire me into The Singing Ridge!',1,1,0,0,0,0,'');
|
||||
|
||||
-- Fix teleport spell position
|
||||
DELETE FROM `spell_target_position` WHERE `Id` IN(37908,24831);
|
||||
INSERT INTO `spell_target_position` (`id`, `effIndex`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`) VALUES
|
||||
(24831, 0, 530, 1920.07, 5582.04, 269.222, 5.1846);
|
||||
|
||||
DELETE FROM `spell_linked_spell` WHERE `spell_trigger`= 37908;
|
||||
INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
|
||||
(37908, 24831, 0, 'Aura Visual Teleport - teleport');
|
||||
|
||||
-- SAI
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*101,@ENTRY*102,@ENTRY*103,@ENTRY2);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(@ENTRY,0,0,1,62,0,100,0,@MENUID,@OPTION+0,0,0,80,@ENTRY*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
(@ENTRY,0,2,3,62,0,100,0,@A_MENU,@OPTION+0,0,0,80,@ENTRY*101,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
(@ENTRY,0,4,5,62,0,100,0,@MENUID,@OPTION+2,0,0,80,@ENTRY*102,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,5,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
(@ENTRY,0,6,7,62,0,100,0,@MENUID,@OPTION+3,0,0,80,@ENTRY*103,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,7,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
|
||||
(@ENTRY,0,8,9,62,0,100,0,@A_MENU2,@OPTION+1,0,0,80,@ENTRY*101,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,9,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
(@ENTRY,0,10,11,62,0,100,0,@A_MENU2,@OPTION+2,0,0,80,@ENTRY*102,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,11,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
(@ENTRY,0,12,13,62,0,100,0,@A_MENU2,@OPTION+3,0,0,80,@ENTRY*103,0,0,0,0,0,1,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Run script'),
|
||||
(@ENTRY,0,13,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip'),
|
||||
--
|
||||
(@ENTRY*100,9,0,0,1,0,100,0,2000,2000,2000,2000,85,37908,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - After 2 seconds - Port visual'),
|
||||
(@ENTRY*100,9,1,0,1,0,100,0,2000,2000,2000,2000,45,1,1,0,0,0,0,10,74872,@ENTRY2,0,0,0,0,0,'The Zephyrium Capacitorium - After 2 seconds - Port visual'),
|
||||
(@ENTRY*100,9,2,0,1,0,100,0,3000,3000,3000,3000,85,36790,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - OOC Update - Invoker,cast charge state 2'),
|
||||
(@ENTRY*100,9,3,0,1,0,100,0,3000,3000,3000,3000,85,36792,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - OOC Update - Invoker,cast charge state 3'),
|
||||
(@ENTRY*100,9,4,0,1,0,100,0,3000,3000,3000,3000,85,36800,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - OOC Update - Invoker,cast charge state 4'),
|
||||
(@ENTRY*100,9,5,0,1,0,100,0,3000,3000,3000,3000,85,37910,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - OOC Update - Invoker,cast Soar&Credit'),
|
||||
(@ENTRY*100,9,6,0,1,0,100,0,0,0,0,0,85,37108,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Zephyrium Capacitorium - OOC Update - Invoker,cast Debuff'),
|
||||
--
|
||||
(@ENTRY*101,9,0,0,1,0,100,0,2000,2000,2000,2000,85,37908,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - After 2 seconds - Port visual'),
|
||||
(@ENTRY*101,9,1,0,1,0,100,0,2000,2000,2000,2000,45,1,1,0,0,0,0,10,74872,@ENTRY2,0,0,0,0,0,'The Zephyrium Capacitorium - After 2 seconds - Set Data on Channeler'),
|
||||
(@ENTRY*101,9,2,0,1,0,100,0,3000,3000,3000,3000,85,36790,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - OOC Update - Invoker,cast charge state 2'),
|
||||
(@ENTRY*101,9,3,0,1,0,100,0,3000,3000,3000,3000,85,36792,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - OOC Update - Invoker,cast charge state 3'),
|
||||
(@ENTRY*101,9,4,0,1,0,100,0,3000,3000,3000,3000,85,36800,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - OOC Update - Invoker,cast charge state 4'),
|
||||
(@ENTRY*101,9,5,0,1,0,100,0,3000,3000,3000,3000,85,37962,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - OOC Update - Invoker,cast Soar&Credit'),
|
||||
(@ENTRY*101,9,6,0,1,0,100,0,0,0,0,0,85,37108,0,0,0,0,0,7,0,0,0,0,0,0,0,'The Singing Ridge - OOC Update - Invoker,cast Debuff'),
|
||||
--
|
||||
(@ENTRY*102,9,0,0,1,0,100,0,2000,2000,2000,2000,85,37908,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - After 2 seconds - Port visual'),
|
||||
(@ENTRY*102,9,1,0,1,0,100,0,2000,2000,2000,2000,45,1,1,0,0,0,0,10,74872,@ENTRY2,0,0,0,0,0,'The Zephyrium Capacitorium - After 2 seconds - Set Data on Channeler'),
|
||||
(@ENTRY*102,9,2,0,1,0,100,0,3000,3000,3000,3000,85,36790,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - OOC Update - Invoker,cast charge state 2'),
|
||||
(@ENTRY*102,9,3,0,1,0,100,0,3000,3000,3000,3000,85,36792,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - OOC Update - Invoker,cast charge state 3'),
|
||||
(@ENTRY*102,9,4,0,1,0,100,0,3000,3000,3000,3000,85,36800,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - OOC Update - Invoker,cast charge state 4'),
|
||||
(@ENTRY*102,9,5,0,1,0,100,0,3000,3000,3000,3000,85,36812,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - OOC Update - Invoker,cast Soar&Credit'),
|
||||
(@ENTRY*102,9,6,0,1,0,100,0,0,0,0,0,85,37108,0,0,0,0,0,7,0,0,0,0,0,0,0,'Razaan''s Landing - OOC Update - Invoker,cast Debuff'),
|
||||
--
|
||||
(@ENTRY*103,9,0,0,1,0,100,0,2000,2000,2000,2000,85,37908,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - After 2 seconds - Port visual'),
|
||||
(@ENTRY*103,9,1,0,1,0,100,0,2000,2000,2000,2000,45,1,1,0,0,0,0,10,74872,@ENTRY2,0,0,0,0,0,'The Zephyrium Capacitorium - After 2 seconds - Set Data on Channeler'),
|
||||
(@ENTRY*103,9,2,0,1,0,100,0,3000,3000,3000,3000,85,36790,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - OOC Update - Invoker,cast charge state 2'),
|
||||
(@ENTRY*103,9,3,0,1,0,100,0,3000,3000,3000,3000,85,36792,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - OOC Update - Invoker,cast charge state 3'),
|
||||
(@ENTRY*103,9,4,0,1,0,100,0,3000,3000,3000,3000,85,36800,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - OOC Update - Invoker,cast charge state 4'),
|
||||
(@ENTRY*103,9,5,0,1,0,100,0,3000,3000,3000,3000,85,37968,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - OOC Update - Invoker,cast Soar&Credit'),
|
||||
(@ENTRY*103,9,6,0,1,0,100,0,0,0,0,0,85,37108,0,0,0,0,0,7,0,0,0,0,0,0,0,'Ruuan Weald - OOC Update - Invoker,cast Debuff'),
|
||||
--
|
||||
(@ENTRY2,0,0,0,38,0,100,0,1,1,0,0,11,36795,0,0,0,0,0,1,0,0,0,0,0,0,0,'Beam Channel Bunny - On Data Set - Cast Cannon Beam');
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceEntry`=@BEAM OR `SourceGroup` IN (@MENUID,@A_MENU2,@A_MENU);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15, @A_MENU2, 3, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 3 if player does not have aura Zephyrium Charged'),
|
||||
(15, @A_MENU2, 3, 0, 0, 8, 0, 10712, 0, 0, 0, 0, 0, '', 'Show gossip option 3 if player has quest Ruuan Weald marked as rewarded'),
|
||||
(15, @A_MENU2, 2, 0, 0, 8, 0, 10711, 0, 0, 0, 0, 0, '', 'Show gossip option 2 if player has quest Razaan''s Landing marked as rewarded'),
|
||||
(15, @A_MENU2, 2, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 2 if player does not have aura Zephyrium Charged'),
|
||||
(15, @A_MENU2, 1, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 1 if player does not have aura Zephyrium Charged'),
|
||||
(15, @A_MENU2, 1, 0, 0, 8, 0, 10710, 0, 0, 0, 0, 0, '', 'Show gossip option 1 if player has quest The Singing Ridge marked as rewarded'),
|
||||
(15, @A_MENU2, 4, 0, 0, 8, 0, 10557, 0, 0, 0, 0, 0, '', 'Show gossip option 4 if player has quest The Zephyrium Capacitorium marked as rewarded'),
|
||||
(15, @A_MENU, 0, 0, 0, 2, 0, 30539, 1, 0, 0, 0, 0, '', 'Show gossip option 0 if player has item Tally''s Waiver (Signed)'),
|
||||
(15, @MENUID, 3, 0, 0, 9, 0, 10712, 0, 0, 0, 0, 0, '', 'Show gossip option 3 if player has quest Ruuan Weald marked as taken'),
|
||||
(15, @MENUID, 3, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 3 if player does not have aura Zephyrium Charged'),
|
||||
(15, @MENUID, 2, 0, 0, 9, 0, 10711, 0, 0, 0, 0, 0, '', 'Show gossip option 2 if player has quest Razaan''s Landing marked as taken'),
|
||||
(15, @MENUID, 2, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 2 if player does not have aura Zephyrium Charged'),
|
||||
(15, @MENUID, 1, 0, 0, 9, 0, 10710, 0, 0, 0, 0, 0, '', 'Show gossip option 1 if player has quest The Singing Ridge marked as taken'),
|
||||
(15, @MENUID, 1, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 1 if player does not have aura Zephyrium Charged'),
|
||||
(15, @MENUID, 0, 0, 0, 9, 0, 10557, 0, 0, 0, 0, 0, '', 'Show gossip option 0 if player has quest The Zephyrium Capacitorium marked as taken'),
|
||||
(15, @MENUID, 0, 0, 0, 1, 0, 37108, 0, 0, 1, 0, 0, '', 'Show gossip option 0 if player does not have aura Zephyrium Charged'),
|
||||
--
|
||||
(13, 1, 36795, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Spell Cannon Channel(dnd) target player');
|
||||
|
||||
-- SAI for Rally (Questgiver)
|
||||
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=21460;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=21460;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(21460,0,0,1,62,0,100,0,8303,0,0,0,56,30540,1,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Give Item '),
|
||||
(21460,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rally Zapnabber - On gossip option select - Close gossip');
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceGroup` = 8303;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15, 8303, 0, 0, 0, 2, 0, 30540, 1, 1, 1, 0, 0, '', 'Only allow gossip option to be visible if player doesn''t have item'),
|
||||
(15, 8303, 0, 0, 0, 9, 0, 10710, 0, 0, 0, 0, 0, '', 'Only allow gossip option to be visible if player has quest taken');
|
||||
10
sql/updates/world/2013_09_10_04_world_command.sql
Normal file
10
sql/updates/world/2013_09_10_04_world_command.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
/* cs_send.cpp */
|
||||
|
||||
SET @id = 483;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'send';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'send items';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'send mail';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'send message';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'send money';
|
||||
53
sql/updates/world/2013_09_10_05_world_command.sql
Normal file
53
sql/updates/world/2013_09_10_05_world_command.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
/* cs_misc.cpp */
|
||||
|
||||
SET @id = 488;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'additem';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'additemset';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'appear';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'aura';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'bank';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'bindsight';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'combatstop';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'cometome';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'commands';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'cooldown';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'damage';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'dev';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'die';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'dismount';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'distance';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'flusharenapoints';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'freeze';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'gps';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'guid';
|
||||
UPDATE `command` SET `permission` = @id+19 WHERE `name` = 'help';
|
||||
UPDATE `command` SET `permission` = @id+20 WHERE `name` = 'hidearea';
|
||||
UPDATE `command` SET `permission` = @id+21 WHERE `name` = 'itemmove';
|
||||
UPDATE `command` SET `permission` = @id+22 WHERE `name` = 'kick';
|
||||
UPDATE `command` SET `permission` = @id+23 WHERE `name` = 'linkgrave';
|
||||
UPDATE `command` SET `permission` = @id+24 WHERE `name` = 'listfreeze';
|
||||
UPDATE `command` SET `permission` = @id+25 WHERE `name` = 'maxskill';
|
||||
UPDATE `command` SET `permission` = @id+26 WHERE `name` = 'movegens';
|
||||
UPDATE `command` SET `permission` = @id+27 WHERE `name` = 'mute';
|
||||
UPDATE `command` SET `permission` = @id+28 WHERE `name` = 'neargrave';
|
||||
UPDATE `command` SET `permission` = @id+29 WHERE `name` = 'pinfo';
|
||||
UPDATE `command` SET `permission` = @id+30 WHERE `name` = 'playall';
|
||||
UPDATE `command` SET `permission` = @id+31 WHERE `name` = 'possess';
|
||||
UPDATE `command` SET `permission` = @id+32 WHERE `name` = 'recall';
|
||||
UPDATE `command` SET `permission` = @id+33 WHERE `name` = 'repairitems';
|
||||
UPDATE `command` SET `permission` = @id+34 WHERE `name` = 'respawn';
|
||||
UPDATE `command` SET `permission` = @id+35 WHERE `name` = 'revive';
|
||||
UPDATE `command` SET `permission` = @id+36 WHERE `name` = 'saveall';
|
||||
UPDATE `command` SET `permission` = @id+37 WHERE `name` = 'save';
|
||||
UPDATE `command` SET `permission` = @id+38 WHERE `name` = 'setskill';
|
||||
UPDATE `command` SET `permission` = @id+39 WHERE `name` = 'showarea';
|
||||
UPDATE `command` SET `permission` = @id+40 WHERE `name` = 'summon';
|
||||
UPDATE `command` SET `permission` = @id+41 WHERE `name` = 'unaura';
|
||||
UPDATE `command` SET `permission` = @id+42 WHERE `name` = 'unbindsight';
|
||||
UPDATE `command` SET `permission` = @id+43 WHERE `name` = 'unfreeze';
|
||||
UPDATE `command` SET `permission` = @id+44 WHERE `name` = 'unmute';
|
||||
UPDATE `command` SET `permission` = @id+45 WHERE `name` = 'unpossess';
|
||||
UPDATE `command` SET `permission` = @id+46 WHERE `name` = 'unstuck';
|
||||
UPDATE `command` SET `permission` = @id+47 WHERE `name` = 'wchange';
|
||||
11
sql/updates/world/2013_09_10_06_world_command.sql
Normal file
11
sql/updates/world/2013_09_10_06_world_command.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
/* cs_mmaps.cpp */
|
||||
|
||||
SET @id = 536;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'mmap';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'mmap loadedtiles';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'mmap loc';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'mmap path';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'mmap stats';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'mmap testarea';
|
||||
33
sql/updates/world/2013_09_10_07_world_command.sql
Normal file
33
sql/updates/world/2013_09_10_07_world_command.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
/* cs_modify.cpp */
|
||||
|
||||
SET @id = 542;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'morph';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'demorph';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'modify';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'modify arenapoints';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'modify bit';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'modify drunk';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'modify energy';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'modify faction';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'modify gender';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'modify honor';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'modify hp';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'modify mana';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'modify money';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'modify mount';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'modify phase';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'modify rage';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'modify reputation';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'modify runicpower';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'modify scale';
|
||||
UPDATE `command` SET `permission` = @id+19 WHERE `name` = 'modify speed';
|
||||
UPDATE `command` SET `permission` = @id+20 WHERE `name` = 'modify speed all';
|
||||
UPDATE `command` SET `permission` = @id+21 WHERE `name` = 'modify speed backwalk';
|
||||
UPDATE `command` SET `permission` = @id+22 WHERE `name` = 'modify speed fly';
|
||||
UPDATE `command` SET `permission` = @id+23 WHERE `name` = 'modify speed walk';
|
||||
UPDATE `command` SET `permission` = @id+24 WHERE `name` = 'modify speed swim';
|
||||
UPDATE `command` SET `permission` = @id+25 WHERE `name` = 'modify spell';
|
||||
UPDATE `command` SET `permission` = @id+26 WHERE `name` = 'modify standstate';
|
||||
UPDATE `command` SET `permission` = @id+27 WHERE `name` = 'modify talentpoints';
|
||||
37
sql/updates/world/2013_09_10_08_world_command.sql
Normal file
37
sql/updates/world/2013_09_10_08_world_command.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
/* cs_npc.cpp */
|
||||
|
||||
SET @id = 570;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'npc';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'npc add';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'npc add formation';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'npc add item';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'npc add move';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'npc add temp';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'npc add delete';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'npc add delete item';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'npc add follow';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'npc add follow stop';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'npc set';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'npc set allowmove';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'npc set entry';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'npc set factionid';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'npc set flag';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'npc set level';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'npc set link';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'npc set model';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'npc set movetype';
|
||||
UPDATE `command` SET `permission` = @id+19 WHERE `name` = 'npc set phase';
|
||||
UPDATE `command` SET `permission` = @id+20 WHERE `name` = 'npc set spawndist';
|
||||
UPDATE `command` SET `permission` = @id+21 WHERE `name` = 'npc set spawntime';
|
||||
UPDATE `command` SET `permission` = @id+22 WHERE `name` = 'npc set data';
|
||||
UPDATE `command` SET `permission` = @id+23 WHERE `name` = 'npc info';
|
||||
UPDATE `command` SET `permission` = @id+24 WHERE `name` = 'npc near';
|
||||
UPDATE `command` SET `permission` = @id+25 WHERE `name` = 'npc move';
|
||||
UPDATE `command` SET `permission` = @id+26 WHERE `name` = 'npc playemote';
|
||||
UPDATE `command` SET `permission` = @id+27 WHERE `name` = 'npc say';
|
||||
UPDATE `command` SET `permission` = @id+28 WHERE `name` = 'npc textemote';
|
||||
UPDATE `command` SET `permission` = @id+29 WHERE `name` = 'npc whisper';
|
||||
UPDATE `command` SET `permission` = @id+30 WHERE `name` = 'npc yell';
|
||||
UPDATE `command` SET `permission` = @id+31 WHERE `name` = 'npc tame';
|
||||
10
sql/updates/world/2013_09_10_09_world_command.sql
Normal file
10
sql/updates/world/2013_09_10_09_world_command.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
/* cs_quest.cpp */
|
||||
|
||||
SET @id = 602;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'quest';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'quest add';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'quest complete';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'quest remove';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'quest reward';
|
||||
108
sql/updates/world/2013_09_10_10_world_command.sql
Normal file
108
sql/updates/world/2013_09_10_10_world_command.sql
Normal file
@@ -0,0 +1,108 @@
|
||||
/* cs_reload.cpp */
|
||||
|
||||
SET @id = 607;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'reload';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'reload access_requirement';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'reload achievement_criteria_data';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'reload achievement_reward';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'reload all';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'reload all achievement';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'reload all area';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'reload all eventai';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'reload all gossips';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'reload all item';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'reload all locales';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'reload all loot';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'reload all npc';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'reload all quest';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'reload all scripts';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'reload all spell';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'reload areatrigger_involvedrelation';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'reload areatrigger_tavern';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'reload areatrigger_teleport';
|
||||
UPDATE `command` SET `permission` = @id+19 WHERE `name` = 'reload auctions';
|
||||
UPDATE `command` SET `permission` = @id+20 WHERE `name` = 'reload autobroadcast';
|
||||
UPDATE `command` SET `permission` = @id+21 WHERE `name` = 'reload command';
|
||||
UPDATE `command` SET `permission` = @id+22 WHERE `name` = 'reload conditions';
|
||||
UPDATE `command` SET `permission` = @id+23 WHERE `name` = 'reload config';
|
||||
UPDATE `command` SET `permission` = @id+24 WHERE `name` = 'reload creature_text';
|
||||
UPDATE `command` SET `permission` = @id+25 WHERE `name` = 'reload creature_ai_scripts';
|
||||
UPDATE `command` SET `permission` = @id+26 WHERE `name` = 'reload creature_ai_texts';
|
||||
UPDATE `command` SET `permission` = @id+27 WHERE `name` = 'reload creature_questender';
|
||||
UPDATE `command` SET `permission` = @id+28 WHERE `name` = 'reload creature_linked_respawn';
|
||||
UPDATE `command` SET `permission` = @id+29 WHERE `name` = 'reload creature_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+30 WHERE `name` = 'reload creature_onkill_reputation';
|
||||
UPDATE `command` SET `permission` = @id+31 WHERE `name` = 'reload creature_queststarter';
|
||||
UPDATE `command` SET `permission` = @id+32 WHERE `name` = 'reload creature_summon_groups';
|
||||
UPDATE `command` SET `permission` = @id+33 WHERE `name` = 'reload creature_template';
|
||||
UPDATE `command` SET `permission` = @id+34 WHERE `name` = 'reload disables';
|
||||
UPDATE `command` SET `permission` = @id+35 WHERE `name` = 'reload disenchant_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+36 WHERE `name` = 'reload event_scripts';
|
||||
UPDATE `command` SET `permission` = @id+37 WHERE `name` = 'reload fishing_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+38 WHERE `name` = 'reload game_graveyard_zone';
|
||||
UPDATE `command` SET `permission` = @id+39 WHERE `name` = 'reload game_tele';
|
||||
UPDATE `command` SET `permission` = @id+40 WHERE `name` = 'reload gameobject_questender';
|
||||
UPDATE `command` SET `permission` = @id+41 WHERE `name` = 'reload gameobject_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+42 WHERE `name` = 'reload gameobject_queststarter';
|
||||
UPDATE `command` SET `permission` = @id+43 WHERE `name` = 'reload gm_tickets';
|
||||
UPDATE `command` SET `permission` = @id+44 WHERE `name` = 'reload gossip_menu';
|
||||
UPDATE `command` SET `permission` = @id+45 WHERE `name` = 'reload gossip_menu_option';
|
||||
UPDATE `command` SET `permission` = @id+46 WHERE `name` = 'reload item_enchantment_template';
|
||||
UPDATE `command` SET `permission` = @id+47 WHERE `name` = 'reload item_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+48 WHERE `name` = 'reload item_set_names';
|
||||
UPDATE `command` SET `permission` = @id+49 WHERE `name` = 'reload lfg_dungeon_rewards';
|
||||
UPDATE `command` SET `permission` = @id+50 WHERE `name` = 'reload locales_achievement_reward';
|
||||
UPDATE `command` SET `permission` = @id+51 WHERE `name` = 'reload locales_creature';
|
||||
UPDATE `command` SET `permission` = @id+52 WHERE `name` = 'reload locales_creature_text';
|
||||
UPDATE `command` SET `permission` = @id+53 WHERE `name` = 'reload locales_gameobject';
|
||||
UPDATE `command` SET `permission` = @id+54 WHERE `name` = 'reload locales_gossip_menu_option';
|
||||
UPDATE `command` SET `permission` = @id+55 WHERE `name` = 'reload locales_item';
|
||||
UPDATE `command` SET `permission` = @id+56 WHERE `name` = 'reload locales_item_set_name';
|
||||
UPDATE `command` SET `permission` = @id+57 WHERE `name` = 'reload locales_npc_text';
|
||||
UPDATE `command` SET `permission` = @id+58 WHERE `name` = 'reload locales_page_text';
|
||||
UPDATE `command` SET `permission` = @id+59 WHERE `name` = 'reload locales_points_of_interest';
|
||||
UPDATE `command` SET `permission` = @id+60 WHERE `name` = 'reload locales_quest';
|
||||
UPDATE `command` SET `permission` = @id+61 WHERE `name` = 'reload mail_level_reward';
|
||||
UPDATE `command` SET `permission` = @id+62 WHERE `name` = 'reload mail_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+63 WHERE `name` = 'reload milling_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+64 WHERE `name` = 'reload npc_spellclick_spells';
|
||||
UPDATE `command` SET `permission` = @id+65 WHERE `name` = 'reload npc_trainer';
|
||||
UPDATE `command` SET `permission` = @id+66 WHERE `name` = 'reload npc_vendor';
|
||||
UPDATE `command` SET `permission` = @id+67 WHERE `name` = 'reload page_text';
|
||||
UPDATE `command` SET `permission` = @id+68 WHERE `name` = 'reload pickpocketing_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+69 WHERE `name` = 'reload points_of_interest';
|
||||
UPDATE `command` SET `permission` = @id+70 WHERE `name` = 'reload prospecting_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+71 WHERE `name` = 'reload quest_poi';
|
||||
UPDATE `command` SET `permission` = @id+72 WHERE `name` = 'reload quest_template';
|
||||
UPDATE `command` SET `permission` = @id+73 WHERE `name` = 'reload rbac';
|
||||
UPDATE `command` SET `permission` = @id+74 WHERE `name` = 'reload reference_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+75 WHERE `name` = 'reload reserved_name';
|
||||
UPDATE `command` SET `permission` = @id+76 WHERE `name` = 'reload reputation_reward_rate';
|
||||
UPDATE `command` SET `permission` = @id+77 WHERE `name` = 'reload reputation_spillover_template';
|
||||
UPDATE `command` SET `permission` = @id+78 WHERE `name` = 'reload skill_discovery_template';
|
||||
UPDATE `command` SET `permission` = @id+79 WHERE `name` = 'reload skill_extra_item_template';
|
||||
UPDATE `command` SET `permission` = @id+80 WHERE `name` = 'reload skill_fishing_base_level';
|
||||
UPDATE `command` SET `permission` = @id+81 WHERE `name` = 'reload skinning_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+82 WHERE `name` = 'reload smart_scripts';
|
||||
UPDATE `command` SET `permission` = @id+83 WHERE `name` = 'reload spell_required';
|
||||
UPDATE `command` SET `permission` = @id+84 WHERE `name` = 'reload spell_area';
|
||||
UPDATE `command` SET `permission` = @id+85 WHERE `name` = 'reload spell_bonus_data';
|
||||
UPDATE `command` SET `permission` = @id+86 WHERE `name` = 'reload spell_group';
|
||||
UPDATE `command` SET `permission` = @id+87 WHERE `name` = 'reload spell_learn_spell';
|
||||
UPDATE `command` SET `permission` = @id+88 WHERE `name` = 'reload spell_loot_template';
|
||||
UPDATE `command` SET `permission` = @id+89 WHERE `name` = 'reload spell_linked_spell';
|
||||
UPDATE `command` SET `permission` = @id+90 WHERE `name` = 'reload spell_pet_auras';
|
||||
UPDATE `command` SET `permission` = @id+91 WHERE `name` = 'reload spell_proc_event';
|
||||
UPDATE `command` SET `permission` = @id+92 WHERE `name` = 'reload spell_proc';
|
||||
UPDATE `command` SET `permission` = @id+93 WHERE `name` = 'reload spell_scripts';
|
||||
UPDATE `command` SET `permission` = @id+94 WHERE `name` = 'reload spell_target_position';
|
||||
UPDATE `command` SET `permission` = @id+95 WHERE `name` = 'reload spell_threats';
|
||||
UPDATE `command` SET `permission` = @id+96 WHERE `name` = 'reload spell_group_stack_rules';
|
||||
UPDATE `command` SET `permission` = @id+97 WHERE `name` = 'reload trinity_string';
|
||||
UPDATE `command` SET `permission` = @id+98 WHERE `name` = 'reload warden_action';
|
||||
UPDATE `command` SET `permission` = @id+99 WHERE `name` = 'reload waypoint_scripts';
|
||||
UPDATE `command` SET `permission` = @id+100 WHERE `name` = 'reload waypoint_data';
|
||||
UPDATE `command` SET `permission` = @id+101 WHERE `name` = 'reload vehicle_accessory';
|
||||
UPDATE `command` SET `permission` = @id+102 WHERE `name` = 'reload vehicle_template_accessory';
|
||||
13
sql/updates/world/2013_09_10_11_world_command.sql
Normal file
13
sql/updates/world/2013_09_10_11_world_command.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
/* cs_reset.cpp */
|
||||
|
||||
SET @id = 710;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'reset';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'reset achievements';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'reset honor';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'reset level';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'reset spells';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'reset stats';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'reset talents';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'reset all';
|
||||
24
sql/updates/world/2013_09_10_12_world_command.sql
Normal file
24
sql/updates/world/2013_09_10_12_world_command.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
/* cs_server.cpp */
|
||||
|
||||
SET @id = 718;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'server';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'server corpses';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'server exit';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'server idlerestart';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'server idlerestart cancel';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'server idleshutdown';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'server idleshutdown cancel';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'server info';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'server plimit';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'server restart';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'server restart cancel';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'server set';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'server set closed';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'server set difftime';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'server set loglevel';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'server set motd';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'server shutdown';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'server shutdown cancel';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'server motd';
|
||||
10
sql/updates/world/2013_09_10_13_world_command.sql
Normal file
10
sql/updates/world/2013_09_10_13_world_command.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
/* cs_tele.cpp */
|
||||
|
||||
SET @id = 737;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'tele';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'tele add';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'tele del';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'tele name';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'tele group';
|
||||
24
sql/updates/world/2013_09_10_14_world_command.sql
Normal file
24
sql/updates/world/2013_09_10_14_world_command.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
/* cs_ticket.cpp */
|
||||
|
||||
SET @id = 742;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'ticket';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'ticket assign';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'ticket close';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'ticket closedlist';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'ticket comment';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'ticket complete';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'ticket delete';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'ticket escalate';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'ticket escalatedlist';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'ticket list';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'ticket onlinelist';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'ticket reset';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'ticket response';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'ticket response append';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'ticket response appendln';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'ticket togglesystem';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'ticket unassign';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'ticket viewid';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'ticket viewname';
|
||||
19
sql/updates/world/2013_09_10_15_world_command.sql
Normal file
19
sql/updates/world/2013_09_10_15_world_command.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
/* cs_titles.cpp & cs_wp.cpp */
|
||||
|
||||
SET @id = 761;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'titles';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'titles add';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'titles current';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'titles remove';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'titles set';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'titles set mask';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'wp';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'wp add';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'wp event';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'wp load';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'wp modify';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'wp unload';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'wp reload';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'wp show';
|
||||
2
sql/updates/world/2013_09_10_16_world_command.sql
Normal file
2
sql/updates/world/2013_09_10_16_world_command.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- Update command table and remove obsolete permissions (0 = non existent permission)
|
||||
UPDATE `command` SET `permission` = 0 WHERE `permission` IN (7, 8, 9, 10, 12);
|
||||
16
sql/updates/world/2013_09_10_17_world_command.sql
Normal file
16
sql/updates/world/2013_09_10_17_world_command.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = 201 WHERE `name` = 'rbac account';
|
||||
UPDATE `command` SET `permission` = 202 WHERE `name` = 'rbac account group';
|
||||
UPDATE `command` SET `permission` = 203 WHERE `name` = 'rbac account group add';
|
||||
UPDATE `command` SET `permission` = 204 WHERE `name` = 'rbac account group remove';
|
||||
UPDATE `command` SET `permission` = 205 WHERE `name` = 'rbac account role';
|
||||
UPDATE `command` SET `permission` = 206 WHERE `name` = 'rbac account role grant';
|
||||
UPDATE `command` SET `permission` = 207 WHERE `name` = 'rbac account role deny';
|
||||
UPDATE `command` SET `permission` = 208 WHERE `name` = 'rbac account role revoke';
|
||||
UPDATE `command` SET `permission` = 209 WHERE `name` = 'rbac account permission';
|
||||
UPDATE `command` SET `permission` = 210 WHERE `name` = 'rbac account permission grant';
|
||||
UPDATE `command` SET `permission` = 211 WHERE `name` = 'rbac account permission deny';
|
||||
UPDATE `command` SET `permission` = 212 WHERE `name` = 'rbac account permission revoke';
|
||||
UPDATE `command` SET `permission` = 214 WHERE `name` = 'rbac account list groups';
|
||||
UPDATE `command` SET `permission` = 215 WHERE `name` = 'rbac account list roles';
|
||||
UPDATE `command` SET `permission` = 216 WHERE `name` = 'rbac account list permissions';
|
||||
9
sql/updates/world/2013_09_10_18_world_command.sql
Normal file
9
sql/updates/world/2013_09_10_18_world_command.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
UPDATE `command` SET `permission`=214 WHERE `name`='rbac list groups';
|
||||
UPDATE `command` SET `permission`=215 WHERE `name`='rbac list roles';
|
||||
UPDATE `command` SET `permission`=216 WHERE `name`='rbac list permissions';
|
||||
UPDATE `command` SET `permission`=262 WHERE `name`='bf enable';
|
||||
UPDATE `command` SET `permission`=576 WHERE `name`='npc delete';
|
||||
UPDATE `command` SET `permission`=577 WHERE `name`='npc delete item';
|
||||
UPDATE `command` SET `permission`=578 WHERE `name`='npc follow';
|
||||
UPDATE `command` SET `permission`=579 WHERE `name`='npc follow stop';
|
||||
UPDATE `command` SET `permission`=316 WHERE `name`='debug play cinematic';
|
||||
66
sql/updates/world/2013_09_10_19_world_command.sql
Normal file
66
sql/updates/world/2013_09_10_19_world_command.sql
Normal file
@@ -0,0 +1,66 @@
|
||||
DELETE FROM `command` WHERE `name` = 'account email';
|
||||
DELETE FROM `command` WHERE `name` = 'account set sec email';
|
||||
DELETE FROM `command` WHERE `name` = 'account set sec regmail';
|
||||
|
||||
INSERT INTO `command` (`name`, `permission`, `help`) VALUES
|
||||
('account email', 263, 'Syntax: .account email $oldemail $currentpassword $newemail $newemailconfirmation\r\n\r\n Change your account email. You may need to check the actual security mode to see if email input is necessary for password change'),
|
||||
('account set sec email', 265, 'Syntax: .account set sec email $accountname $email $emailconfirmation\r\n\r\nSet the email for entered player account.'),
|
||||
('account set sec regmail', 266, 'Syntax: .account set sec regmail $account $regmail $regmailconfirmation\r\n\r\nSets the regmail for entered player account.');
|
||||
|
||||
/* cs_cast.cpp */
|
||||
|
||||
SET @id = 267;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'cast';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'cast back';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'cast dist';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'cast self';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'cast target';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'cast dest';
|
||||
|
||||
/* cs_go.cpp */
|
||||
|
||||
SET @id = 377;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'go';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'go creature';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'go graveyard';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'go grid';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'go object';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'go taxinode';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'go ticket';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'go trigger';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'go xyz';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'go zonexy';
|
||||
|
||||
/* cs_gobject.cpp */
|
||||
|
||||
SET @id = 387;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'gobject';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'gobject activate';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'gobject add';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'gobject add temp';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'gobject delete';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'gobject info';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'gobject move';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'gobject near';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'gobject set';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'gobject set phase';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'gobject set state';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'gobject target';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'gobject turn';
|
||||
|
||||
/* cs_instance.cpp */
|
||||
|
||||
SET @id = 412;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'instance';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'instance listbinds';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'instance unbind';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'instance stats';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'instance savedata';
|
||||
@@ -0,0 +1 @@
|
||||
UPDATE `creature_template` SET `modelid1`=1126,`modelid2`=16925 WHERE `entry`=21393;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -59,6 +59,7 @@ void AddSC_event_commandscript();
|
||||
void AddSC_gm_commandscript();
|
||||
void AddSC_go_commandscript();
|
||||
void AddSC_gobject_commandscript();
|
||||
void AddSC_group_commandscript();
|
||||
void AddSC_guild_commandscript();
|
||||
void AddSC_honor_commandscript();
|
||||
void AddSC_instance_commandscript();
|
||||
@@ -71,10 +72,12 @@ void AddSC_misc_commandscript();
|
||||
void AddSC_mmaps_commandscript();
|
||||
void AddSC_modify_commandscript();
|
||||
void AddSC_npc_commandscript();
|
||||
void AddSC_pet_commandscript();
|
||||
void AddSC_quest_commandscript();
|
||||
void AddSC_rbac_commandscript();
|
||||
void AddSC_reload_commandscript();
|
||||
void AddSC_reset_commandscript();
|
||||
void AddSC_send_commandscript();
|
||||
void AddSC_server_commandscript();
|
||||
void AddSC_tele_commandscript();
|
||||
void AddSC_ticket_commandscript();
|
||||
@@ -746,6 +749,7 @@ void AddCommandScripts()
|
||||
AddSC_gm_commandscript();
|
||||
AddSC_go_commandscript();
|
||||
AddSC_gobject_commandscript();
|
||||
AddSC_group_commandscript();
|
||||
AddSC_guild_commandscript();
|
||||
AddSC_honor_commandscript();
|
||||
AddSC_instance_commandscript();
|
||||
@@ -759,9 +763,11 @@ void AddCommandScripts()
|
||||
AddSC_modify_commandscript();
|
||||
AddSC_npc_commandscript();
|
||||
AddSC_quest_commandscript();
|
||||
AddSC_pet_commandscript();
|
||||
AddSC_rbac_commandscript();
|
||||
AddSC_reload_commandscript();
|
||||
AddSC_reset_commandscript();
|
||||
AddSC_send_commandscript();
|
||||
AddSC_server_commandscript();
|
||||
AddSC_tele_commandscript();
|
||||
AddSC_ticket_commandscript();
|
||||
|
||||
@@ -8,109 +8,11 @@
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
file(GLOB_RECURSE sources_Commands Commands/*.cpp Commands/*.h)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Commands/cs_account.cpp
|
||||
Commands/cs_achievement.cpp
|
||||
Commands/cs_arena.cpp
|
||||
Commands/cs_ban.cpp
|
||||
Commands/cs_bf.cpp
|
||||
Commands/cs_cast.cpp
|
||||
Commands/cs_character.cpp
|
||||
Commands/cs_cheat.cpp
|
||||
Commands/cs_debug.cpp
|
||||
Commands/cs_deserter.cpp
|
||||
Commands/cs_disable.cpp
|
||||
Commands/cs_event.cpp
|
||||
Commands/cs_gm.cpp
|
||||
Commands/cs_go.cpp
|
||||
Commands/cs_gobject.cpp
|
||||
Commands/cs_guild.cpp
|
||||
Commands/cs_honor.cpp
|
||||
Commands/cs_instance.cpp
|
||||
Commands/cs_learn.cpp
|
||||
Commands/cs_lfg.cpp
|
||||
Commands/cs_list.cpp
|
||||
Commands/cs_lookup.cpp
|
||||
Commands/cs_message.cpp
|
||||
Commands/cs_misc.cpp
|
||||
Commands/cs_modify.cpp
|
||||
Commands/cs_npc.cpp
|
||||
Commands/cs_quest.cpp
|
||||
Commands/cs_rbac.cpp
|
||||
Commands/cs_reload.cpp
|
||||
Commands/cs_reset.cpp
|
||||
Commands/cs_tele.cpp
|
||||
Commands/cs_ticket.cpp
|
||||
Commands/cs_server.cpp
|
||||
Commands/cs_titles.cpp
|
||||
Commands/cs_wp.cpp
|
||||
Commands/cs_mmaps.cpp
|
||||
# Commands/cs_pdump.cpp
|
||||
# Commands/cs_channel.cpp
|
||||
# Commands/cs_pet.cpp
|
||||
# Commands/cs_aura.cpp
|
||||
# Commands/cs_unaura.cpp
|
||||
# Commands/cs_nameannounce.cpp
|
||||
# Commands/cs_gmnameannounce.cpp
|
||||
# Commands/cs_announce.cpp
|
||||
# Commands/cs_gmannounce.cpp
|
||||
# Commands/cs_notify.cpp
|
||||
# Commands/cs_gmnotify.cpp
|
||||
# Commands/cs_appear.cpp
|
||||
# Commands/cs_summon.cpp
|
||||
# Commands/cs_groupsummon.cpp
|
||||
# Commands/cs_commands.cpp
|
||||
# Commands/cs_demorph.cpp
|
||||
# Commands/cs_die.cpp
|
||||
# Commands/cs_revive.cpp
|
||||
# Commands/cs_dismount.cpp
|
||||
# Commands/cs_guid.cpp
|
||||
# Commands/cs_help.cpp
|
||||
# Commands/cs_itemmove.cpp
|
||||
# Commands/cs_cooldown.cpp
|
||||
# Commands/cs_unlearn.cpp
|
||||
# Commands/cs_distance.cpp
|
||||
# Commands/cs_recall.cpp
|
||||
# Commands/cs_save.cpp
|
||||
# Commands/cs_saveall.cpp
|
||||
# Commands/cs_kick.cpp
|
||||
# Commands/cs_start.cpp
|
||||
# Commands/cs_taxicheat.cpp
|
||||
# Commands/cs_linkgrave.cpp
|
||||
# Commands/cs_neargrave.cpp
|
||||
# Commands/cs_explorecheat.cpp
|
||||
# Commands/cs_hover.cpp
|
||||
# Commands/cs_levelup.cpp
|
||||
# Commands/cs_showarea.cpp
|
||||
# Commands/cs_hidearea.cpp
|
||||
# Commands/cs_additem.cpp
|
||||
# Commands/cs_additemset.cpp
|
||||
# Commands/cs_bank.cpp
|
||||
# Commands/cs_wchange.cpp
|
||||
# Commands/cs_maxskill.cpp
|
||||
# Commands/cs_setskill.cpp
|
||||
# Commands/cs_whispers.cpp
|
||||
# Commands/cs_pinfo.cpp
|
||||
# Commands/cs_respawn.cpp
|
||||
# Commands/cs_send.cpp
|
||||
# Commands/cs_mute.cpp
|
||||
# Commands/cs_unmute.cpp
|
||||
# Commands/cs_movegens.cpp
|
||||
# Commands/cs_cometome.cpp
|
||||
# Commands/cs_damage.cpp
|
||||
# Commands/cs_combatstop.cpp
|
||||
# Commands/cs_flusharenapoints.cpp
|
||||
# Commands/cs_repairitems.cpp
|
||||
# Commands/cs_waterwalk.cpp
|
||||
# Commands/cs_freeze.cpp
|
||||
# Commands/cs_unfreeze.cpp
|
||||
# Commands/cs_listfreeze.cpp
|
||||
# Commands/cs_possess.cpp
|
||||
# Commands/cs_unpossess.cpp
|
||||
# Commands/cs_bindsight.cpp
|
||||
# Commands/cs_unbindsight.cpp
|
||||
# Commands/cs_playall.cpp
|
||||
${sources_Commands}
|
||||
)
|
||||
|
||||
message(" -> Prepared: Commands")
|
||||
|
||||
@@ -91,7 +91,7 @@ public:
|
||||
{ "areatriggers", RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "", NULL },
|
||||
{ "los", RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "", NULL },
|
||||
{ "moveflags", RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleDebugPhaseCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_COMMAND_DEBUG_PHASE, false, &HandleDebugPhaseCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
|
||||
338
src/server/scripts/Commands/cs_group.cpp
Normal file
338
src/server/scripts/Commands/cs_group.cpp
Normal file
@@ -0,0 +1,338 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Chat.h"
|
||||
#include "Language.h"
|
||||
#include "LFG.h"
|
||||
#include "Player.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "GroupMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
class group_commandscript : public CommandScript
|
||||
{
|
||||
public:
|
||||
group_commandscript() : CommandScript("group_commandscript") { }
|
||||
|
||||
ChatCommand* GetCommands() const OVERRIDE
|
||||
{
|
||||
static ChatCommand groupCommandTable[] =
|
||||
{
|
||||
{ "leader", RBAC_PERM_COMMAND_GROUP_LEADER, false, &HandleGroupLeaderCommand, "", NULL },
|
||||
{ "disband", RBAC_PERM_COMMAND_GROUP_DISBAND, false, &HandleGroupDisbandCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_COMMAND_GROUP_REMOVE, false, &HandleGroupRemoveCommand, "", NULL },
|
||||
{ "join", RBAC_PERM_COMMAND_GROUP_JOIN, false, &HandleGroupJoinCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "", NULL },
|
||||
{ "summon", RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "group", RBAC_PERM_COMMAND_GROUP, false, NULL, "", groupCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
// Summon group of player
|
||||
static bool HandleGroupSummonCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* target;
|
||||
if (!handler->extractPlayerTarget((char*)args, &target))
|
||||
return false;
|
||||
|
||||
// check online security
|
||||
if (handler->HasLowerSecurity(target, 0))
|
||||
return false;
|
||||
|
||||
Group* group = target->GetGroup();
|
||||
|
||||
std::string nameLink = handler->GetNameLink(target);
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_NOT_IN_GROUP, nameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
Player* gmPlayer = handler->GetSession()->GetPlayer();
|
||||
Group* gmGroup = gmPlayer->GetGroup();
|
||||
Map* gmMap = gmPlayer->GetMap();
|
||||
bool toInstance = gmMap->Instanceable();
|
||||
|
||||
// we are in instance, and can summon only player in our group with us as lead
|
||||
if (toInstance && (
|
||||
!gmGroup || group->GetLeaderGUID() != gmPlayer->GetGUID() ||
|
||||
gmGroup->GetLeaderGUID() != gmPlayer->GetGUID()))
|
||||
// the last check is a bit excessive, but let it be, just in case
|
||||
{
|
||||
handler->SendSysMessage(LANG_CANNOT_SUMMON_TO_INST);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
|
||||
{
|
||||
Player* player = itr->GetSource();
|
||||
|
||||
if (!player || player == gmPlayer || !player->GetSession())
|
||||
continue;
|
||||
|
||||
// check online security
|
||||
if (handler->HasLowerSecurity(player, 0))
|
||||
return false;
|
||||
|
||||
std::string plNameLink = handler->GetNameLink(player);
|
||||
|
||||
if (player->IsBeingTeleported())
|
||||
{
|
||||
handler->PSendSysMessage(LANG_IS_TELEPORTED, plNameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (toInstance)
|
||||
{
|
||||
Map* playerMap = player->GetMap();
|
||||
|
||||
if (playerMap->Instanceable() && playerMap->GetInstanceId() != gmMap->GetInstanceId())
|
||||
{
|
||||
// cannot summon from instance to instance
|
||||
handler->PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST, plNameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_SUMMONING, plNameLink.c_str(), "");
|
||||
if (handler->needReportToTarget(player))
|
||||
ChatHandler(player->GetSession()).PSendSysMessage(LANG_SUMMONED_BY, handler->GetNameLink().c_str());
|
||||
|
||||
// stop flight if need
|
||||
if (player->IsInFlight())
|
||||
{
|
||||
player->GetMotionMaster()->MovementExpired();
|
||||
player->CleanupAfterTaxiFlight();
|
||||
}
|
||||
// save only in non-flight case
|
||||
else
|
||||
player->SaveRecallPosition();
|
||||
|
||||
// before GM
|
||||
float x, y, z;
|
||||
gmPlayer->GetClosePoint(x, y, z, player->GetObjectSize());
|
||||
player->TeleportTo(gmPlayer->GetMapId(), x, y, z, player->GetOrientation());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupLeaderCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
|
||||
return false;
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, player->GetName().c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (group->GetLeaderGUID() != guid)
|
||||
{
|
||||
group->ChangeLeader(guid);
|
||||
group->SendUpdate();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupDisbandCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
|
||||
return false;
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, player->GetName().c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
group->Disband();
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupRemoveCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
|
||||
return false;
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, player->GetName().c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
group->RemoveMember(guid);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupJoinCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* playerSource = NULL;
|
||||
Player* playerTarget = NULL;
|
||||
Group* groupSource = NULL;
|
||||
Group* groupTarget = NULL;
|
||||
uint64 guidSource = 0;
|
||||
uint64 guidTarget = 0;
|
||||
char* nameplgrStr = strtok((char*)args, " ");
|
||||
char* nameplStr = strtok(NULL, " ");
|
||||
|
||||
if (!handler->GetPlayerGroupAndGUIDByName(nameplgrStr, playerSource, groupSource, guidSource, true))
|
||||
return false;
|
||||
|
||||
if (!groupSource)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, playerSource->GetName().c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!handler->GetPlayerGroupAndGUIDByName(nameplStr, playerTarget, groupTarget, guidTarget, true))
|
||||
return false;
|
||||
|
||||
if (groupTarget || playerTarget->GetGroup() == groupSource)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_ALREADY_IN_GROUP, playerTarget->GetName().c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!groupSource->IsFull())
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_FULL);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
groupSource->AddMember(playerTarget);
|
||||
groupSource->BroadcastGroupUpdate();
|
||||
handler->PSendSysMessage(LANG_GROUP_PLAYER_JOINED, playerTarget->GetName().c_str(), playerSource->GetName().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupListCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* playerTarget;
|
||||
uint64 guidTarget;
|
||||
std::string nameTarget;
|
||||
|
||||
uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
|
||||
|
||||
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, nameTarget))
|
||||
{
|
||||
playerTarget = sObjectMgr->GetPlayerByLowGUID(parseGUID);
|
||||
guidTarget = parseGUID;
|
||||
}
|
||||
else if (!handler->extractPlayerTarget((char*)args, &playerTarget, &guidTarget, &nameTarget))
|
||||
return false;
|
||||
|
||||
Group* groupTarget = NULL;
|
||||
if (playerTarget)
|
||||
groupTarget = playerTarget->GetGroup();
|
||||
|
||||
if (!groupTarget)
|
||||
{
|
||||
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GROUP_MEMBER);
|
||||
stmt->setUInt32(0, guidTarget);
|
||||
PreparedQueryResult resultGroup = CharacterDatabase.Query(stmt);
|
||||
if (resultGroup)
|
||||
groupTarget = sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
|
||||
}
|
||||
|
||||
if (!groupTarget)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, nameTarget.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_GROUP_TYPE, (groupTarget->isRaidGroup() ? "raid" : "party"));
|
||||
Group::MemberSlotList const& members = groupTarget->GetMemberSlots();
|
||||
for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
|
||||
{
|
||||
Group::MemberSlot const& slot = *itr;
|
||||
|
||||
std::string flags;
|
||||
if (slot.flags & MEMBER_FLAG_ASSISTANT)
|
||||
flags = "Assistant";
|
||||
|
||||
if (slot.flags & MEMBER_FLAG_MAINTANK)
|
||||
{
|
||||
if (!flags.empty())
|
||||
flags.append(", ");
|
||||
flags.append("MainTank");
|
||||
}
|
||||
|
||||
if (slot.flags & MEMBER_FLAG_MAINASSIST)
|
||||
{
|
||||
if (!flags.empty())
|
||||
flags.append(", ");
|
||||
flags.append("MainAssist");
|
||||
}
|
||||
|
||||
if (flags.empty())
|
||||
flags = "None";
|
||||
|
||||
Player* p = ObjectAccessor::FindPlayer((*itr).guid);
|
||||
const char* onlineState = (p && p->IsInWorld()) ? "online" : "offline";
|
||||
|
||||
handler->PSendSysMessage(LANG_GROUP_PLAYER_NAME_GUID, slot.name.c_str(), onlineState,
|
||||
GUID_LOPART(slot.guid), flags.c_str(), lfg::GetRolesString(slot.roles).c_str());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_group_commandscript()
|
||||
{
|
||||
new group_commandscript();
|
||||
}
|
||||
@@ -44,84 +44,56 @@ public:
|
||||
|
||||
ChatCommand* GetCommands() const OVERRIDE
|
||||
{
|
||||
static ChatCommand groupCommandTable[] =
|
||||
{
|
||||
{ "leader", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupLeaderCommand, "", NULL },
|
||||
{ "disband", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupDisbandCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupRemoveCommand, "", NULL },
|
||||
{ "join", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupJoinCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupListCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand petCommandTable[] =
|
||||
{
|
||||
{ "create", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCreatePetCommand, "", NULL },
|
||||
{ "learn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetLearnCommand, "", NULL },
|
||||
{ "unlearn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetUnlearnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand sendCommandTable[] =
|
||||
{
|
||||
{ "items", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendItemsCommand, "", NULL },
|
||||
{ "mail", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSendMailCommand, "", NULL },
|
||||
{ "message", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMessageCommand, "", NULL },
|
||||
{ "money", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMoneyCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "dev", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDevCommand, "", NULL },
|
||||
{ "gps", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGPSCommand, "", NULL },
|
||||
{ "aura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAuraCommand, "", NULL },
|
||||
{ "unaura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleUnAuraCommand, "", NULL },
|
||||
{ "appear", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleAppearCommand, "", NULL },
|
||||
{ "summon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleSummonCommand, "", NULL },
|
||||
{ "groupsummon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGroupSummonCommand, "", NULL },
|
||||
{ "commands", RBAC_PERM_PLAYER_COMMANDS, true, &HandleCommandsCommand, "", NULL },
|
||||
{ "die", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDieCommand, "", NULL },
|
||||
{ "revive", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReviveCommand, "", NULL },
|
||||
{ "dismount", RBAC_PERM_PLAYER_COMMANDS, false, &HandleDismountCommand, "", NULL },
|
||||
{ "guid", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGUIDCommand, "", NULL },
|
||||
{ "help", RBAC_PERM_PLAYER_COMMANDS, true, &HandleHelpCommand, "", NULL },
|
||||
{ "itemmove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleItemMoveCommand, "", NULL },
|
||||
{ "cooldown", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCooldownCommand, "", NULL },
|
||||
{ "distance", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGetDistanceCommand, "", NULL },
|
||||
{ "recall", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleRecallCommand, "", NULL },
|
||||
{ "save", RBAC_PERM_PLAYER_COMMANDS, false, &HandleSaveCommand, "", NULL },
|
||||
{ "saveall", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSaveAllCommand, "", NULL },
|
||||
{ "kick", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleKickPlayerCommand, "", NULL },
|
||||
{ "unstuck", RBAC_PERM_PLAYER_COMMANDS, true, &HandleUnstuckCommand, "", NULL },
|
||||
{ "linkgrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLinkGraveCommand, "", NULL },
|
||||
{ "neargrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNearGraveCommand, "", NULL },
|
||||
{ "showarea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleShowAreaCommand, "", NULL },
|
||||
{ "hidearea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleHideAreaCommand, "", NULL },
|
||||
{ "additem", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemCommand, "", NULL },
|
||||
{ "additemset", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemSetCommand, "", NULL },
|
||||
{ "bank", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBankCommand, "", NULL },
|
||||
{ "wchange", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleChangeWeather, "", NULL },
|
||||
{ "maxskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMaxSkillCommand, "", NULL },
|
||||
{ "setskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleSetSkillCommand, "", NULL },
|
||||
{ "pinfo", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandlePInfoCommand, "", NULL },
|
||||
{ "respawn", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleRespawnCommand, "", NULL },
|
||||
{ "send", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", sendCommandTable },
|
||||
{ "pet", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", petCommandTable },
|
||||
{ "mute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleMuteCommand, "", NULL },
|
||||
{ "unmute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleUnmuteCommand, "", NULL },
|
||||
{ "movegens", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMovegensCommand, "", NULL },
|
||||
{ "cometome", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleComeToMeCommand, "", NULL },
|
||||
{ "damage", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDamageCommand, "", NULL },
|
||||
{ "combatstop", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCombatStopCommand, "", NULL },
|
||||
{ "repairitems", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleRepairitemsCommand, "", NULL },
|
||||
{ "freeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleFreezeCommand, "", NULL },
|
||||
{ "unfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleUnFreezeCommand, "", NULL },
|
||||
{ "listfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleListFreezeCommand, "", NULL },
|
||||
{ "group", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", groupCommandTable },
|
||||
{ "possess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandlePossessCommand, "", NULL },
|
||||
{ "unpossess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnPossessCommand, "", NULL },
|
||||
{ "bindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleBindSightCommand, "", NULL },
|
||||
{ "unbindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnbindSightCommand, "", NULL },
|
||||
{ "playall", RBAC_PERM_GAMEMASTER_COMMANDS, false, HandlePlayAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "additem", RBAC_PERM_COMMAND_ADDITEM, false, &HandleAddItemCommand, "", NULL },
|
||||
{ "additemset", RBAC_PERM_COMMAND_ADDITEMSET, false, &HandleAddItemSetCommand, "", NULL },
|
||||
{ "appear", RBAC_PERM_COMMAND_APPEAR, false, &HandleAppearCommand, "", NULL },
|
||||
{ "aura", RBAC_PERM_COMMAND_AURA, false, &HandleAuraCommand, "", NULL },
|
||||
{ "bank", RBAC_PERM_COMMAND_BANK, false, &HandleBankCommand, "", NULL },
|
||||
{ "bindsight", RBAC_PERM_COMMAND_BINDSIGHT, false, &HandleBindSightCommand, "", NULL },
|
||||
{ "combatstop", RBAC_PERM_COMMAND_COMBATSTOP, true, &HandleCombatStopCommand, "", NULL },
|
||||
{ "cometome", RBAC_PERM_COMMAND_COMETOME, false, &HandleComeToMeCommand, "", NULL },
|
||||
{ "commands", RBAC_PERM_COMMAND_COMMANDS, true, &HandleCommandsCommand, "", NULL },
|
||||
{ "cooldown", RBAC_PERM_COMMAND_COOLDOWN, false, &HandleCooldownCommand, "", NULL },
|
||||
{ "damage", RBAC_PERM_COMMAND_DAMAGE, false, &HandleDamageCommand, "", NULL },
|
||||
{ "dev", RBAC_PERM_COMMAND_DEV, false, &HandleDevCommand, "", NULL },
|
||||
{ "die", RBAC_PERM_COMMAND_DIE, false, &HandleDieCommand, "", NULL },
|
||||
{ "dismount", RBAC_PERM_COMMAND_DISMOUNT, false, &HandleDismountCommand, "", NULL },
|
||||
{ "distance", RBAC_PERM_COMMAND_DISTANCE, false, &HandleGetDistanceCommand, "", NULL },
|
||||
{ "freeze", RBAC_PERM_COMMAND_FREEZE, false, &HandleFreezeCommand, "", NULL },
|
||||
{ "gps", RBAC_PERM_COMMAND_GPS, false, &HandleGPSCommand, "", NULL },
|
||||
{ "guid", RBAC_PERM_COMMAND_GUID, false, &HandleGUIDCommand, "", NULL },
|
||||
{ "help", RBAC_PERM_COMMAND_HELP, true, &HandleHelpCommand, "", NULL },
|
||||
{ "hidearea", RBAC_PERM_COMMAND_HIDEAREA, false, &HandleHideAreaCommand, "", NULL },
|
||||
{ "itemmove", RBAC_PERM_COMMAND_ITEMMOVE, false, &HandleItemMoveCommand, "", NULL },
|
||||
{ "kick", RBAC_PERM_COMMAND_KICK, true, &HandleKickPlayerCommand, "", NULL },
|
||||
{ "linkgrave", RBAC_PERM_COMMAND_LINKGRAVE, false, &HandleLinkGraveCommand, "", NULL },
|
||||
{ "listfreeze", RBAC_PERM_COMMAND_LISTFREEZE, false, &HandleListFreezeCommand, "", NULL },
|
||||
{ "maxskill", RBAC_PERM_COMMAND_MAXSKILL, false, &HandleMaxSkillCommand, "", NULL },
|
||||
{ "movegens", RBAC_PERM_COMMAND_MOVEGENS, false, &HandleMovegensCommand, "", NULL },
|
||||
{ "mute", RBAC_PERM_COMMAND_MUTE, true, &HandleMuteCommand, "", NULL },
|
||||
{ "neargrave", RBAC_PERM_COMMAND_NEARGRAVE, false, &HandleNearGraveCommand, "", NULL },
|
||||
{ "pinfo", RBAC_PERM_COMMAND_PINFO, true, &HandlePInfoCommand, "", NULL },
|
||||
{ "playall", RBAC_PERM_COMMAND_PLAYALL, false, &HandlePlayAllCommand, "", NULL },
|
||||
{ "possess", RBAC_PERM_COMMAND_POSSESS, false, &HandlePossessCommand, "", NULL },
|
||||
{ "recall", RBAC_PERM_COMMAND_RECALL, false, &HandleRecallCommand, "", NULL },
|
||||
{ "repairitems", RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleRepairitemsCommand, "", NULL },
|
||||
{ "respawn", RBAC_PERM_COMMAND_RESPAWN, false, &HandleRespawnCommand, "", NULL },
|
||||
{ "revive", RBAC_PERM_COMMAND_REVIVE, true, &HandleReviveCommand, "", NULL },
|
||||
{ "saveall", RBAC_PERM_COMMAND_SAVEALL, true, &HandleSaveAllCommand, "", NULL },
|
||||
{ "save", RBAC_PERM_COMMAND_SAVE, false, &HandleSaveCommand, "", NULL },
|
||||
{ "setskill", RBAC_PERM_COMMAND_SETSKILL, false, &HandleSetSkillCommand, "", NULL },
|
||||
{ "showarea", RBAC_PERM_COMMAND_SHOWAREA, false, &HandleShowAreaCommand, "", NULL },
|
||||
{ "summon", RBAC_PERM_COMMAND_SUMMON, false, &HandleSummonCommand, "", NULL },
|
||||
{ "unaura", RBAC_PERM_COMMAND_UNAURA, false, &HandleUnAuraCommand, "", NULL },
|
||||
{ "unbindsight", RBAC_PERM_COMMAND_UNBINDSIGHT, false, HandleUnbindSightCommand, "", NULL },
|
||||
{ "unfreeze", RBAC_PERM_COMMAND_UNFREEZE, false, &HandleUnFreezeCommand, "", NULL },
|
||||
{ "unmute", RBAC_PERM_COMMAND_UNMUTE, true, &HandleUnmuteCommand, "", NULL },
|
||||
{ "unpossess", RBAC_PERM_COMMAND_UNPOSSESS, false, &HandleUnPossessCommand, "", NULL },
|
||||
{ "unstuck", RBAC_PERM_COMMAND_UNSTUCK, true, &HandleUnstuckCommand, "", NULL },
|
||||
{ "wchange", RBAC_PERM_COMMAND_WCHANGE, false, &HandleChangeWeather, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
@@ -545,97 +517,6 @@ public:
|
||||
|
||||
return true;
|
||||
}
|
||||
// Summon group of player
|
||||
static bool HandleGroupSummonCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* target;
|
||||
if (!handler->extractPlayerTarget((char*)args, &target))
|
||||
return false;
|
||||
|
||||
// check online security
|
||||
if (handler->HasLowerSecurity(target, 0))
|
||||
return false;
|
||||
|
||||
Group* group = target->GetGroup();
|
||||
|
||||
std::string nameLink = handler->GetNameLink(target);
|
||||
|
||||
if (!group)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_NOT_IN_GROUP, nameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
Map* gmMap = handler->GetSession()->GetPlayer()->GetMap();
|
||||
bool toInstance = gmMap->Instanceable();
|
||||
|
||||
// we are in instance, and can summon only player in our group with us as lead
|
||||
if (toInstance && (
|
||||
!handler->GetSession()->GetPlayer()->GetGroup() || (group->GetLeaderGUID() != handler->GetSession()->GetPlayer()->GetGUID()) ||
|
||||
(handler->GetSession()->GetPlayer()->GetGroup()->GetLeaderGUID() != handler->GetSession()->GetPlayer()->GetGUID())))
|
||||
// the last check is a bit excessive, but let it be, just in case
|
||||
{
|
||||
handler->SendSysMessage(LANG_CANNOT_SUMMON_TO_INST);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
|
||||
{
|
||||
Player* player = itr->GetSource();
|
||||
|
||||
if (!player || player == handler->GetSession()->GetPlayer() || !player->GetSession())
|
||||
continue;
|
||||
|
||||
// check online security
|
||||
if (handler->HasLowerSecurity(player, 0))
|
||||
return false;
|
||||
|
||||
std::string plNameLink = handler->GetNameLink(player);
|
||||
|
||||
if (player->IsBeingTeleported() == true)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_IS_TELEPORTED, plNameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (toInstance)
|
||||
{
|
||||
Map* playerMap = player->GetMap();
|
||||
|
||||
if (playerMap->Instanceable() && playerMap->GetInstanceId() != gmMap->GetInstanceId())
|
||||
{
|
||||
// cannot summon from instance to instance
|
||||
handler->PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST, plNameLink.c_str());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_SUMMONING, plNameLink.c_str(), "");
|
||||
if (handler->needReportToTarget(player))
|
||||
ChatHandler(player->GetSession()).PSendSysMessage(LANG_SUMMONED_BY, handler->GetNameLink().c_str());
|
||||
|
||||
// stop flight if need
|
||||
if (player->IsInFlight())
|
||||
{
|
||||
player->GetMotionMaster()->MovementExpired();
|
||||
player->CleanupAfterTaxiFlight();
|
||||
}
|
||||
// save only in non-flight case
|
||||
else
|
||||
player->SaveRecallPosition();
|
||||
|
||||
// before GM
|
||||
float x, y, z;
|
||||
handler->GetSession()->GetPlayer()->GetClosePoint(x, y, z, player->GetObjectSize());
|
||||
player->TeleportTo(handler->GetSession()->GetPlayer()->GetMapId(), x, y, z, player->GetOrientation());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleCommandsCommand(ChatHandler* handler, char const* /*args*/)
|
||||
{
|
||||
@@ -2351,380 +2232,6 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
// Send mail by command
|
||||
static bool HandleSendMailCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
// format: name "subject text" "mail text"
|
||||
Player* target;
|
||||
uint64 targetGuid;
|
||||
std::string targetName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char const* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char const* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
/// @todo Fix poor design
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
MailDraft(subject, text)
|
||||
.SendMailTo(trans, MailReceiver(target, GUID_LOPART(targetGuid)), sender);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(targetName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
// Send items by mail
|
||||
static bool HandleSendItemsCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
// format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12]
|
||||
Player* receiver;
|
||||
uint64 receiverGuid;
|
||||
std::string receiverName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char const* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char const* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// extract items
|
||||
typedef std::pair<uint32, uint32> ItemPair;
|
||||
typedef std::list< ItemPair > ItemPairs;
|
||||
ItemPairs items;
|
||||
|
||||
// get all tail string
|
||||
char* tail = strtok(NULL, "");
|
||||
|
||||
// get from tail next item str
|
||||
while (char* itemStr = strtok(tail, " "))
|
||||
{
|
||||
// and get new tail
|
||||
tail = strtok(NULL, "");
|
||||
|
||||
// parse item str
|
||||
char const* itemIdStr = strtok(itemStr, ":");
|
||||
char const* itemCountStr = strtok(NULL, " ");
|
||||
|
||||
uint32 itemId = atoi(itemIdStr);
|
||||
if (!itemId)
|
||||
return false;
|
||||
|
||||
ItemTemplate const* item_proto = sObjectMgr->GetItemTemplate(itemId);
|
||||
if (!item_proto)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_ITEMIDINVALID, itemId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 itemCount = itemCountStr ? atoi(itemCountStr) : 1;
|
||||
if (itemCount < 1 || (item_proto->MaxCount > 0 && itemCount > uint32(item_proto->MaxCount)))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_INVALID_ITEM_COUNT, itemCount, itemId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
while (itemCount > item_proto->GetMaxStackSize())
|
||||
{
|
||||
items.push_back(ItemPair(itemId, item_proto->GetMaxStackSize()));
|
||||
itemCount -= item_proto->GetMaxStackSize();
|
||||
}
|
||||
|
||||
items.push_back(ItemPair(itemId, itemCount));
|
||||
|
||||
if (items.size() > MAX_MAIL_ITEMS)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_MAIL_ITEMS_LIMIT, MAX_MAIL_ITEMS);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
// fill mail
|
||||
MailDraft draft(subject, text);
|
||||
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
for (ItemPairs::const_iterator itr = items.begin(); itr != items.end(); ++itr)
|
||||
{
|
||||
if (Item* item = Item::CreateItem(itr->first, itr->second, handler->GetSession() ? handler->GetSession()->GetPlayer() : 0))
|
||||
{
|
||||
item->SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted
|
||||
draft.AddItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
draft.SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(receiverName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
/// Send money by mail
|
||||
static bool HandleSendMoneyCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
/// format: name "subject text" "mail text" money
|
||||
|
||||
Player* receiver;
|
||||
uint64 receiverGuid;
|
||||
std::string receiverName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
char* moneyStr = strtok(NULL, "");
|
||||
int32 money = moneyStr ? atoi(moneyStr) : 0;
|
||||
if (money <= 0)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
MailDraft(subject, text)
|
||||
.AddMoney(money)
|
||||
.SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(receiverName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
/// Send a message to a player in game
|
||||
static bool HandleSendMessageCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
/// - Find the player
|
||||
Player* player;
|
||||
if (!handler->extractPlayerTarget((char*)args, &player))
|
||||
return false;
|
||||
|
||||
char* msgStr = strtok(NULL, "");
|
||||
if (!msgStr)
|
||||
return false;
|
||||
|
||||
///- Check that he is not logging out.
|
||||
if (player->GetSession()->isLogingOut())
|
||||
{
|
||||
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
/// - Send the message
|
||||
// Use SendAreaTriggerMessage for fastest delivery.
|
||||
player->GetSession()->SendAreaTriggerMessage("%s", msgStr);
|
||||
player->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");
|
||||
|
||||
// Confirmation message
|
||||
std::string nameLink = handler->GetNameLink(player);
|
||||
handler->PSendSysMessage(LANG_SENDMESSAGE, nameLink.c_str(), msgStr);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleCreatePetCommand(ChatHandler* handler, char const* /*args*/)
|
||||
{
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Creature* creatureTarget = handler->getSelectedCreature();
|
||||
|
||||
if (!creatureTarget || creatureTarget->IsPet() || creatureTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_SELECT_CREATURE);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
CreatureTemplate const* creatrueTemplate = sObjectMgr->GetCreatureTemplate(creatureTarget->GetEntry());
|
||||
// Creatures with family 0 crashes the server
|
||||
if (!creatrueTemplate->family)
|
||||
{
|
||||
handler->PSendSysMessage("This creature cannot be tamed. (family id: 0).");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player->GetPetGUID())
|
||||
{
|
||||
handler->PSendSysMessage("You already have a pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Everything looks OK, create new pet
|
||||
Pet* pet = new Pet(player, HUNTER_PET);
|
||||
if (!pet->CreateBaseAtCreature(creatureTarget))
|
||||
{
|
||||
delete pet;
|
||||
handler->PSendSysMessage("Error 1");
|
||||
return false;
|
||||
}
|
||||
|
||||
creatureTarget->setDeathState(JUST_DIED);
|
||||
creatureTarget->RemoveCorpse();
|
||||
creatureTarget->SetHealth(0); // just for nice GM-mode view
|
||||
|
||||
pet->SetUInt64Value(UNIT_FIELD_CREATEDBY, player->GetGUID());
|
||||
pet->SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, player->getFaction());
|
||||
|
||||
if (!pet->InitStatsForLevel(creatureTarget->getLevel()))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_GENERAL, "InitStatsForLevel() in EffectTameCreature failed! Pet deleted.");
|
||||
handler->PSendSysMessage("Error 2");
|
||||
delete pet;
|
||||
return false;
|
||||
}
|
||||
|
||||
// prepare visual effect for levelup
|
||||
pet->SetUInt32Value(UNIT_FIELD_LEVEL, creatureTarget->getLevel()-1);
|
||||
|
||||
pet->GetCharmInfo()->SetPetNumber(sObjectMgr->GeneratePetNumber(), true);
|
||||
// this enables pet details window (Shift+P)
|
||||
pet->InitPetCreateSpells();
|
||||
pet->SetFullHealth();
|
||||
|
||||
pet->GetMap()->AddToMap(pet->ToCreature());
|
||||
|
||||
// visual effect for levelup
|
||||
pet->SetUInt32Value(UNIT_FIELD_LEVEL, creatureTarget->getLevel());
|
||||
|
||||
player->SetMinion(pet, true);
|
||||
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
|
||||
player->PetSpellInitialize();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandlePetLearnCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Pet* pet = player->GetPet();
|
||||
|
||||
if (!pet)
|
||||
{
|
||||
handler->PSendSysMessage("You have no pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
|
||||
|
||||
if (!spellId || !sSpellMgr->GetSpellInfo(spellId))
|
||||
return false;
|
||||
|
||||
// Check if pet already has it
|
||||
if (pet->HasSpell(spellId))
|
||||
{
|
||||
handler->PSendSysMessage("Pet already has spell: %u", spellId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if spell is valid
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
|
||||
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_SPELL_BROKEN, spellId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
pet->learnSpell(spellId);
|
||||
|
||||
handler->PSendSysMessage("Pet has learned spell %u", spellId);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandlePetUnlearnCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Pet* pet = player->GetPet();
|
||||
if (!pet)
|
||||
{
|
||||
handler->PSendSysMessage("You have no pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
|
||||
|
||||
if (pet->HasSpell(spellId))
|
||||
pet->removeSpell(spellId, false);
|
||||
else
|
||||
handler->PSendSysMessage("Pet doesn't have that spell");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleFreezeCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
std::string name;
|
||||
@@ -2887,177 +2394,6 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupLeaderCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
|
||||
if (group && group->GetLeaderGUID() != guid)
|
||||
{
|
||||
group->ChangeLeader(guid);
|
||||
group->SendUpdate();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupDisbandCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
|
||||
if (group)
|
||||
group->Disband();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupRemoveCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* player = NULL;
|
||||
Group* group = NULL;
|
||||
uint64 guid = 0;
|
||||
char* nameStr = strtok((char*)args, " ");
|
||||
|
||||
if (handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid, true))
|
||||
if (group)
|
||||
group->RemoveMember(guid);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupJoinCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* playerSource = NULL;
|
||||
Player* playerTarget = NULL;
|
||||
Group* groupSource = NULL;
|
||||
Group* groupTarget = NULL;
|
||||
uint64 guidSource = 0;
|
||||
uint64 guidTarget = 0;
|
||||
char* nameplgrStr = strtok((char*)args, " ");
|
||||
char* nameplStr = strtok(NULL, " ");
|
||||
|
||||
if (handler->GetPlayerGroupAndGUIDByName(nameplgrStr, playerSource, groupSource, guidSource, true))
|
||||
{
|
||||
if (groupSource)
|
||||
{
|
||||
if (handler->GetPlayerGroupAndGUIDByName(nameplStr, playerTarget, groupTarget, guidTarget, true))
|
||||
{
|
||||
if (!groupTarget && playerTarget->GetGroup() != groupSource)
|
||||
{
|
||||
if (!groupSource->IsFull())
|
||||
{
|
||||
groupSource->AddMember(playerTarget);
|
||||
groupSource->BroadcastGroupUpdate();
|
||||
handler->PSendSysMessage(LANG_GROUP_PLAYER_JOINED, playerTarget->GetName().c_str(), playerSource->GetName().c_str());
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// group is full
|
||||
handler->PSendSysMessage(LANG_GROUP_FULL);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// group is full or target player already in a group
|
||||
handler->PSendSysMessage(LANG_GROUP_ALREADY_IN_GROUP, playerTarget->GetName().c_str());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// specified source player is not in a group
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, playerSource->GetName().c_str());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGroupListCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* playerTarget;
|
||||
uint64 guidTarget;
|
||||
std::string nameTarget;
|
||||
|
||||
uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
|
||||
|
||||
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, nameTarget))
|
||||
{
|
||||
playerTarget = sObjectMgr->GetPlayerByLowGUID(parseGUID);
|
||||
guidTarget = parseGUID;
|
||||
}
|
||||
else if (!handler->extractPlayerTarget((char*)args, &playerTarget, &guidTarget, &nameTarget))
|
||||
return false;
|
||||
|
||||
Group* groupTarget = NULL;
|
||||
if (playerTarget)
|
||||
groupTarget = playerTarget->GetGroup();
|
||||
|
||||
if (!groupTarget)
|
||||
{
|
||||
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GROUP_MEMBER);
|
||||
stmt->setUInt32(0, guidTarget);
|
||||
PreparedQueryResult resultGroup = CharacterDatabase.Query(stmt);
|
||||
if (resultGroup)
|
||||
groupTarget = sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
|
||||
}
|
||||
|
||||
if (groupTarget)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_GROUP_TYPE, (groupTarget->isRaidGroup() ? "raid" : "party"));
|
||||
Group::MemberSlotList const& members = groupTarget->GetMemberSlots();
|
||||
for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
|
||||
{
|
||||
Group::MemberSlot const& slot = *itr;
|
||||
|
||||
std::string flags;
|
||||
if (slot.flags & MEMBER_FLAG_ASSISTANT)
|
||||
flags = "Assistant";
|
||||
|
||||
if (slot.flags & MEMBER_FLAG_MAINTANK)
|
||||
{
|
||||
if (!flags.empty())
|
||||
flags.append(", ");
|
||||
flags.append("MainTank");
|
||||
}
|
||||
|
||||
if (slot.flags & MEMBER_FLAG_MAINASSIST)
|
||||
{
|
||||
if (!flags.empty())
|
||||
flags.append(", ");
|
||||
flags.append("MainAssist");
|
||||
}
|
||||
|
||||
if (flags.empty())
|
||||
flags = "None";
|
||||
|
||||
Player* p = ObjectAccessor::FindPlayer((*itr).guid);
|
||||
const char* onlineState = (p && p->IsInWorld()) ? "online" : "offline";
|
||||
|
||||
handler->PSendSysMessage(LANG_GROUP_PLAYER_NAME_GUID, slot.name.c_str(), onlineState,
|
||||
GUID_LOPART(slot.guid), flags.c_str(), lfg::GetRolesString(slot.roles).c_str());
|
||||
}
|
||||
}
|
||||
else
|
||||
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, nameTarget.c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandlePlayAllCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
|
||||
@@ -45,18 +45,18 @@ public:
|
||||
{
|
||||
static ChatCommand mmapCommandTable[] =
|
||||
{
|
||||
{ "path", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapPathCommand, "", NULL },
|
||||
{ "loc", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapLocCommand, "", NULL },
|
||||
{ "loadedtiles", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapLoadedTilesCommand, "", NULL },
|
||||
{ "stats", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapStatsCommand, "", NULL },
|
||||
{ "testarea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapTestArea, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "loadedtiles", RBAC_PERM_COMMAND_MMAP_LOADEDTILES, false, &HandleMmapLoadedTilesCommand, "", NULL },
|
||||
{ "loc", RBAC_PERM_COMMAND_MMAP_LOC, false, &HandleMmapLocCommand, "", NULL },
|
||||
{ "path", RBAC_PERM_COMMAND_MMAP_PATH, false, &HandleMmapPathCommand, "", NULL },
|
||||
{ "stats", RBAC_PERM_COMMAND_MMAP_STATS, false, &HandleMmapStatsCommand, "", NULL },
|
||||
{ "testarea", RBAC_PERM_COMMAND_MMAP_TESTAREA, false, &HandleMmapTestArea, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "mmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", mmapCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "mmap", RBAC_PERM_COMMAND_MMAP, true, NULL, "", mmapCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -41,44 +41,44 @@ public:
|
||||
{
|
||||
static ChatCommand modifyspeedCommandTable[] =
|
||||
{
|
||||
{ "fly", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyFlyCommand, "", NULL },
|
||||
{ "all", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyASpeedCommand, "", NULL },
|
||||
{ "walk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySpeedCommand, "", NULL },
|
||||
{ "backwalk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyBWalkCommand, "", NULL },
|
||||
{ "swim", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySwimCommand, "", NULL },
|
||||
{ "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyASpeedCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "all", RBAC_PERM_COMMAND_MODIFY_SPEED_ALL, false, &HandleModifyASpeedCommand, "", NULL },
|
||||
{ "backwalk", RBAC_PERM_COMMAND_MODIFY_SPEED_BACKWALK, false, &HandleModifyBWalkCommand, "", NULL },
|
||||
{ "fly", RBAC_PERM_COMMAND_MODIFY_SPEED_FLY, false, &HandleModifyFlyCommand, "", NULL },
|
||||
{ "walk", RBAC_PERM_COMMAND_MODIFY_SPEED_WALK, false, &HandleModifySpeedCommand, "", NULL },
|
||||
{ "swim", RBAC_PERM_COMMAND_MODIFY_SPEED_SWIM, false, &HandleModifySwimCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_MODIFY_SPEED, false, &HandleModifyASpeedCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand modifyCommandTable[] =
|
||||
{
|
||||
{ "hp", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyHPCommand, "", NULL },
|
||||
{ "mana", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyManaCommand, "", NULL },
|
||||
{ "rage", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyRageCommand, "", NULL },
|
||||
{ "runicpower", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyRunicPowerCommand, "", NULL },
|
||||
{ "energy", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyEnergyCommand, "", NULL },
|
||||
{ "money", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyMoneyCommand, "", NULL },
|
||||
{ "scale", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyScaleCommand, "", NULL },
|
||||
{ "bit", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyBitCommand, "", NULL },
|
||||
{ "faction", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyFactionCommand, "", NULL },
|
||||
{ "spell", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySpellCommand, "", NULL },
|
||||
{ "talentpoints", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyTalentCommand, "", NULL },
|
||||
{ "mount", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyMountCommand, "", NULL },
|
||||
{ "honor", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyHonorCommand, "", NULL },
|
||||
{ "reputation", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyRepCommand, "", NULL },
|
||||
{ "drunk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyDrunkCommand, "", NULL },
|
||||
{ "standstate", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyStandStateCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleModifyPhaseCommand, "", NULL },
|
||||
{ "gender", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyGenderCommand, "", NULL },
|
||||
{ "currency", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyCurrencyCommand, "", NULL },
|
||||
{ "speed", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", modifyspeedCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "bit", RBAC_PERM_COMMAND_MODIFY_BIT, false, &HandleModifyBitCommand, "", NULL },
|
||||
{ "currency", RBAC_PERM_COMMAND_MODIFY_CURRENCY, false, &HandleModifyCurrencyCommand, "", NULL },
|
||||
{ "drunk", RBAC_PERM_COMMAND_MODIFY_DRUNK, false, &HandleModifyDrunkCommand, "", NULL },
|
||||
{ "energy", RBAC_PERM_COMMAND_MODIFY_ENERGY, false, &HandleModifyEnergyCommand, "", NULL },
|
||||
{ "faction", RBAC_PERM_COMMAND_MODIFY_FACTION, false, &HandleModifyFactionCommand, "", NULL },
|
||||
{ "gender", RBAC_PERM_COMMAND_MODIFY_GENDER, false, &HandleModifyGenderCommand, "", NULL },
|
||||
{ "honor", RBAC_PERM_COMMAND_MODIFY_HONOR, false, &HandleModifyHonorCommand, "", NULL },
|
||||
{ "hp", RBAC_PERM_COMMAND_MODIFY_HP, false, &HandleModifyHPCommand, "", NULL },
|
||||
{ "mana", RBAC_PERM_COMMAND_MODIFY_MANA, false, &HandleModifyManaCommand, "", NULL },
|
||||
{ "money", RBAC_PERM_COMMAND_MODIFY_MONEY, false, &HandleModifyMoneyCommand, "", NULL },
|
||||
{ "mount", RBAC_PERM_COMMAND_MODIFY_MOUNT, false, &HandleModifyMountCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_COMMAND_MODIFY_PHASE, false, &HandleModifyPhaseCommand, "", NULL },
|
||||
{ "rage", RBAC_PERM_COMMAND_MODIFY_RAGE, false, &HandleModifyRageCommand, "", NULL },
|
||||
{ "reputation", RBAC_PERM_COMMAND_MODIFY_REPUTATION, false, &HandleModifyRepCommand, "", NULL },
|
||||
{ "runicpower", RBAC_PERM_COMMAND_MODIFY_RUNICPOWER, false, &HandleModifyRunicPowerCommand, "", NULL },
|
||||
{ "scale", RBAC_PERM_COMMAND_MODIFY_SCALE, false, &HandleModifyScaleCommand, "", NULL },
|
||||
{ "speed", RBAC_PERM_COMMAND_MODIFY_SPEED, false, NULL, "", modifyspeedCommandTable },
|
||||
{ "spell", RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "", NULL },
|
||||
{ "standstate", RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "", NULL },
|
||||
{ "talentpoints", RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "morph", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyMorphCommand, "", NULL },
|
||||
{ "demorph", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleDeMorphCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", modifyCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "morph", RBAC_PERM_COMMAND_MORPH, false, &HandleModifyMorphCommand, "", NULL },
|
||||
{ "demorph", RBAC_PERM_COMMAND_DEMORPH, false, &HandleDeMorphCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_COMMAND_MODIFY, false, NULL, "", modifyCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -154,69 +154,65 @@ public:
|
||||
{
|
||||
static ChatCommand npcAddCommandTable[] =
|
||||
{
|
||||
{ "formation", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcAddFormationCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddVendorItemCommand, "", NULL },
|
||||
{ "move", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddMoveCommand, "", NULL },
|
||||
{ "temp", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddTempSpawnCommand, "", NULL },
|
||||
//{@todo fix or remove this command
|
||||
{ "weapon", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcAddWeaponCommand, "", NULL },
|
||||
//}
|
||||
{ "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddCommand, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "formation", RBAC_PERM_COMMAND_NPC_ADD_FORMATION, false, &HandleNpcAddFormationCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_COMMAND_NPC_ADD_ITEM, false, &HandleNpcAddVendorItemCommand, "", NULL },
|
||||
{ "move", RBAC_PERM_COMMAND_NPC_ADD_MOVE, false, &HandleNpcAddMoveCommand, "", NULL },
|
||||
{ "temp", RBAC_PERM_COMMAND_NPC_ADD_TEMP, false, &HandleNpcAddTempSpawnCommand, "", NULL },
|
||||
//{ "weapon", RBAC_PERM_COMMAND_NPC_ADD_WEAPON, false, &HandleNpcAddWeaponCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_NPC_ADD, false, &HandleNpcAddCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand npcDeleteCommandTable[] =
|
||||
{
|
||||
{ "item", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcDeleteVendorItemCommand, "", NULL },
|
||||
{ "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcDeleteCommand, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "item", RBAC_PERM_COMMAND_NPC_DELETE_ITEM, false, &HandleNpcDeleteVendorItemCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_NPC_DELETE, false, &HandleNpcDeleteCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand npcFollowCommandTable[] =
|
||||
{
|
||||
{ "stop", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcUnFollowCommand, "", NULL },
|
||||
{ "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcFollowCommand, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "stop", RBAC_PERM_COMMAND_NPC_FOLLOW_STOP, false, &HandleNpcUnFollowCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_NPC_FOLLOW, false, &HandleNpcFollowCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand npcSetCommandTable[] =
|
||||
{
|
||||
{ "allowmove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetAllowMovementCommand, "", NULL },
|
||||
{ "entry", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetEntryCommand, "", NULL },
|
||||
{ "factionid", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetFactionIdCommand, "", NULL },
|
||||
{ "flag", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetFlagCommand, "", NULL },
|
||||
{ "level", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetLevelCommand, "", NULL },
|
||||
{ "link", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetLinkCommand, "", NULL },
|
||||
{ "model", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetModelCommand, "", NULL },
|
||||
{ "movetype", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetMoveTypeCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetPhaseCommand, "", NULL },
|
||||
{ "spawndist", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSpawnDistCommand, "", NULL },
|
||||
{ "spawntime", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSpawnTimeCommand, "", NULL },
|
||||
{ "data", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetDataCommand, "", NULL },
|
||||
//{ @todo fix or remove these commands
|
||||
{ "name", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetNameCommand, "", NULL },
|
||||
{ "subname", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSubNameCommand, "", NULL },
|
||||
//}
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "allowmove", RBAC_PERM_COMMAND_NPC_SET_ALLOWMOVE, false, &HandleNpcSetAllowMovementCommand, "", NULL },
|
||||
{ "entry", RBAC_PERM_COMMAND_NPC_SET_ENTRY, false, &HandleNpcSetEntryCommand, "", NULL },
|
||||
{ "factionid", RBAC_PERM_COMMAND_NPC_SET_FACTIONID, false, &HandleNpcSetFactionIdCommand, "", NULL },
|
||||
{ "flag", RBAC_PERM_COMMAND_NPC_SET_FLAG, false, &HandleNpcSetFlagCommand, "", NULL },
|
||||
{ "level", RBAC_PERM_COMMAND_NPC_SET_LEVEL, false, &HandleNpcSetLevelCommand, "", NULL },
|
||||
{ "link", RBAC_PERM_COMMAND_NPC_SET_LINK, false, &HandleNpcSetLinkCommand, "", NULL },
|
||||
{ "model", RBAC_PERM_COMMAND_NPC_SET_MODEL, false, &HandleNpcSetModelCommand, "", NULL },
|
||||
{ "movetype", RBAC_PERM_COMMAND_NPC_SET_MOVETYPE, false, &HandleNpcSetMoveTypeCommand, "", NULL },
|
||||
{ "phase", RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseCommand, "", NULL },
|
||||
{ "spawndist", RBAC_PERM_COMMAND_NPC_SET_SPAWNDIST, false, &HandleNpcSetSpawnDistCommand, "", NULL },
|
||||
{ "spawntime", RBAC_PERM_COMMAND_NPC_SET_SPAWNTIME, false, &HandleNpcSetSpawnTimeCommand, "", NULL },
|
||||
{ "data", RBAC_PERM_COMMAND_NPC_SET_DATA, false, &HandleNpcSetDataCommand, "", NULL },
|
||||
//{ "name", RBAC_PERM_COMMAND_NPC_SET_NAME, false, &HandleNpcSetNameCommand, "", NULL },
|
||||
//{ "subname", RBAC_PERM_COMMAND_NPC_SET_SUBNAME, false, &HandleNpcSetSubNameCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand npcCommandTable[] =
|
||||
{
|
||||
{ "info", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcInfoCommand, "", NULL },
|
||||
{ "near", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcNearCommand, "", NULL },
|
||||
{ "move", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcMoveCommand, "", NULL },
|
||||
{ "playemote", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcPlayEmoteCommand, "", NULL },
|
||||
{ "say", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcSayCommand, "", NULL },
|
||||
{ "textemote", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcTextEmoteCommand, "", NULL },
|
||||
{ "whisper", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcWhisperCommand, "", NULL },
|
||||
{ "yell", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcYellCommand, "", NULL },
|
||||
{ "tame", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcTameCommand, "", NULL },
|
||||
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcAddCommandTable },
|
||||
{ "delete", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcDeleteCommandTable },
|
||||
{ "follow", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcFollowCommandTable },
|
||||
{ "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcSetCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "info", RBAC_PERM_COMMAND_NPC_INFO, false, &HandleNpcInfoCommand, "", NULL },
|
||||
{ "near", RBAC_PERM_COMMAND_NPC_NEAR, false, &HandleNpcNearCommand, "", NULL },
|
||||
{ "move", RBAC_PERM_COMMAND_NPC_MOVE, false, &HandleNpcMoveCommand, "", NULL },
|
||||
{ "playemote", RBAC_PERM_COMMAND_NPC_PLAYEMOTE, false, &HandleNpcPlayEmoteCommand, "", NULL },
|
||||
{ "say", RBAC_PERM_COMMAND_NPC_SAY, false, &HandleNpcSayCommand, "", NULL },
|
||||
{ "textemote", RBAC_PERM_COMMAND_NPC_TEXTEMOTE, false, &HandleNpcTextEmoteCommand, "", NULL },
|
||||
{ "whisper", RBAC_PERM_COMMAND_NPC_WHISPER, false, &HandleNpcWhisperCommand, "", NULL },
|
||||
{ "yell", RBAC_PERM_COMMAND_NPC_YELL, false, &HandleNpcYellCommand, "", NULL },
|
||||
{ "tame", RBAC_PERM_COMMAND_NPC_TAME, false, &HandleNpcTameCommand, "", NULL },
|
||||
{ "add", RBAC_PERM_COMMAND_NPC_ADD, false, NULL, "", npcAddCommandTable },
|
||||
{ "delete", RBAC_PERM_COMMAND_NPC_DELETE, false, NULL, "", npcDeleteCommandTable },
|
||||
{ "follow", RBAC_PERM_COMMAND_NPC_FOLLOW, false, NULL, "", npcFollowCommandTable },
|
||||
{ "set", RBAC_PERM_COMMAND_NPC_SET, false, NULL, "", npcSetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "npc", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", npcCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "npc", RBAC_PERM_COMMAND_NPC, false, NULL, "", npcCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
190
src/server/scripts/Commands/cs_pet.cpp
Normal file
190
src/server/scripts/Commands/cs_pet.cpp
Normal file
@@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Chat.h"
|
||||
#include "Language.h"
|
||||
#include "Pet.h"
|
||||
#include "Player.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
class pet_commandscript : public CommandScript
|
||||
{
|
||||
public:
|
||||
pet_commandscript() : CommandScript("pet_commandscript") { }
|
||||
|
||||
ChatCommand* GetCommands() const OVERRIDE
|
||||
{
|
||||
static ChatCommand petCommandTable[] =
|
||||
{
|
||||
{ "create", RBAC_PERM_COMMAND_PET_CREATE, false, &HandlePetCreateCommand, "", NULL },
|
||||
{ "learn", RBAC_PERM_COMMAND_PET_LEARN, false, &HandlePetLearnCommand, "", NULL },
|
||||
{ "unlearn", RBAC_PERM_COMMAND_PET_UNLEARN, false, &HandlePetUnlearnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "pet", RBAC_PERM_COMMAND_PET, false, NULL, "", petCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
static bool HandlePetCreateCommand(ChatHandler* handler, char const* /*args*/)
|
||||
{
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Creature* creatureTarget = handler->getSelectedCreature();
|
||||
|
||||
if (!creatureTarget || creatureTarget->IsPet() || creatureTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_SELECT_CREATURE);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
CreatureTemplate const* creatrueTemplate = sObjectMgr->GetCreatureTemplate(creatureTarget->GetEntry());
|
||||
// Creatures with family 0 crashes the server
|
||||
if (!creatrueTemplate->family)
|
||||
{
|
||||
handler->PSendSysMessage("This creature cannot be tamed. (family id: 0).");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player->GetPetGUID())
|
||||
{
|
||||
handler->PSendSysMessage("You already have a pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Everything looks OK, create new pet
|
||||
Pet* pet = new Pet(player, HUNTER_PET);
|
||||
if (!pet->CreateBaseAtCreature(creatureTarget))
|
||||
{
|
||||
delete pet;
|
||||
handler->PSendSysMessage("Error 1");
|
||||
return false;
|
||||
}
|
||||
|
||||
creatureTarget->setDeathState(JUST_DIED);
|
||||
creatureTarget->RemoveCorpse();
|
||||
creatureTarget->SetHealth(0); // just for nice GM-mode view
|
||||
|
||||
pet->SetUInt64Value(UNIT_FIELD_CREATEDBY, player->GetGUID());
|
||||
pet->SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, player->getFaction());
|
||||
|
||||
if (!pet->InitStatsForLevel(creatureTarget->getLevel()))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_GENERAL, "InitStatsForLevel() in EffectTameCreature failed! Pet deleted.");
|
||||
handler->PSendSysMessage("Error 2");
|
||||
delete pet;
|
||||
return false;
|
||||
}
|
||||
|
||||
// prepare visual effect for levelup
|
||||
pet->SetUInt32Value(UNIT_FIELD_LEVEL, creatureTarget->getLevel()-1);
|
||||
|
||||
pet->GetCharmInfo()->SetPetNumber(sObjectMgr->GeneratePetNumber(), true);
|
||||
// this enables pet details window (Shift+P)
|
||||
pet->InitPetCreateSpells();
|
||||
pet->SetFullHealth();
|
||||
|
||||
pet->GetMap()->AddToMap(pet->ToCreature());
|
||||
|
||||
// visual effect for levelup
|
||||
pet->SetUInt32Value(UNIT_FIELD_LEVEL, creatureTarget->getLevel());
|
||||
|
||||
player->SetMinion(pet, true);
|
||||
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
|
||||
player->PetSpellInitialize();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandlePetLearnCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Pet* pet = player->GetPet();
|
||||
|
||||
if (!pet)
|
||||
{
|
||||
handler->PSendSysMessage("You have no pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
|
||||
|
||||
if (!spellId || !sSpellMgr->GetSpellInfo(spellId))
|
||||
return false;
|
||||
|
||||
// Check if pet already has it
|
||||
if (pet->HasSpell(spellId))
|
||||
{
|
||||
handler->PSendSysMessage("Pet already has spell: %u", spellId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if spell is valid
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
|
||||
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_SPELL_BROKEN, spellId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
pet->learnSpell(spellId);
|
||||
|
||||
handler->PSendSysMessage("Pet has learned spell %u", spellId);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandlePetUnlearnCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
if (!*args)
|
||||
return false;
|
||||
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
Pet* pet = player->GetPet();
|
||||
if (!pet)
|
||||
{
|
||||
handler->PSendSysMessage("You have no pet");
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
|
||||
|
||||
if (pet->HasSpell(spellId))
|
||||
pet->removeSpell(spellId, false);
|
||||
else
|
||||
handler->PSendSysMessage("Pet doesn't have that spell");
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_pet_commandscript()
|
||||
{
|
||||
new pet_commandscript();
|
||||
}
|
||||
@@ -37,16 +37,16 @@ public:
|
||||
{
|
||||
static ChatCommand questCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestAdd, "", NULL },
|
||||
{ "complete", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestComplete, "", NULL },
|
||||
{ "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestRemove, "", NULL },
|
||||
{ "reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestReward, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "", NULL },
|
||||
{ "complete", RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "", NULL },
|
||||
{ "remove", RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "", NULL },
|
||||
{ "reward", RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", questCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "quest", RBAC_PERM_COMMAND_QUEST, false, NULL, "", questCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
{ "grant", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_GRANT, true, &HandleRBACRoleGrantCommand, "", NULL },
|
||||
{ "deny", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_DENY, true, &HandleRBACRoleDenyCommand, "", NULL },
|
||||
{ "revoke", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_REVOKE, true, &HandleRBACRoleRevokeCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_RBAC_ACC_ROLE, true, &HandleRBACRoleListCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_RBAC_ACC_ROLE, true, &HandleRBACRoleListCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
{ "grant", RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "", NULL },
|
||||
{ "deny", RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "", NULL },
|
||||
{ "revoke", RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_RBAC_ACC_PERM, true, &HandleRBACPermListCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_RBAC_ACC_PERM, true, &HandleRBACPermListCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
|
||||
@@ -50,115 +50,115 @@ public:
|
||||
{
|
||||
static ChatCommand reloadAllCommandTable[] =
|
||||
{
|
||||
{ "achievement", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllAchievementCommand, "", NULL },
|
||||
{ "area", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllAreaCommand, "", NULL },
|
||||
{ "gossips", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllGossipsCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllItemCommand, "", NULL },
|
||||
{ "locales", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllLocalesCommand, "", NULL },
|
||||
{ "loot", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllLootCommand, "", NULL },
|
||||
{ "npc", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllNpcCommand, "", NULL },
|
||||
{ "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllQuestCommand, "", NULL },
|
||||
{ "scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllScriptsCommand, "", NULL },
|
||||
{ "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllSpellCommand, "", NULL },
|
||||
{ "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "achievement", RBAC_PERM_COMMANDS_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "", NULL },
|
||||
{ "area", RBAC_PERM_COMMANDS_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "", NULL },
|
||||
{ "gossips", RBAC_PERM_COMMANDS_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_COMMANDS_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "", NULL },
|
||||
{ "locales", RBAC_PERM_COMMANDS_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "", NULL },
|
||||
{ "loot", RBAC_PERM_COMMANDS_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "", NULL },
|
||||
{ "npc", RBAC_PERM_COMMANDS_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "", NULL },
|
||||
{ "quest", RBAC_PERM_COMMANDS_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "", NULL },
|
||||
{ "scripts", RBAC_PERM_COMMANDS_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "", NULL },
|
||||
{ "spell", RBAC_PERM_COMMANDS_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMANDS_RELOAD_ALL, true, &HandleReloadAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand reloadCommandTable[] =
|
||||
{
|
||||
{ "auctions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAuctionsCommand, "", NULL },
|
||||
{ "access_requirement", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAccessRequirementCommand, "", NULL },
|
||||
{ "achievement_criteria_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL },
|
||||
{ "achievement_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAchievementRewardCommand, "", NULL },
|
||||
{ "all", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", reloadAllCommandTable },
|
||||
{ "areatrigger_involvedrelation", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestAreaTriggersCommand, "", NULL },
|
||||
{ "areatrigger_tavern", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAreaTriggerTavernCommand, "", NULL },
|
||||
{ "areatrigger_teleport", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL },
|
||||
{ "autobroadcast", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAutobroadcastCommand, "", NULL },
|
||||
{ "command", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCommandCommand, "", NULL },
|
||||
{ "conditions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadConditions, "", NULL },
|
||||
{ "config", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadConfigCommand, "", NULL },
|
||||
{ "creature_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureText, "", NULL },
|
||||
{ "creature_questender", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureQuestEnderCommand, "", NULL },
|
||||
{ "creature_linked_respawn", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleReloadLinkedRespawnCommand, "", NULL },
|
||||
{ "creature_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL },
|
||||
{ "creature_onkill_reputation", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadOnKillReputationCommand, "", NULL },
|
||||
{ "creature_queststarter", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureQuestStarterCommand, "", NULL },
|
||||
{ "creature_summon_groups", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL },
|
||||
{ "creature_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureTemplateCommand, "", NULL },
|
||||
//{ "db_script_string", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadDbScriptStringCommand, "", NULL },
|
||||
{ "disables", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadDisablesCommand, "", NULL },
|
||||
{ "disenchant_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL },
|
||||
{ "event_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadEventScriptsCommand, "", NULL },
|
||||
{ "fishing_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesFishingCommand, "", NULL },
|
||||
{ "game_graveyard_zone", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGameGraveyardZoneCommand, "", NULL },
|
||||
{ "game_tele", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGameTeleCommand, "", NULL },
|
||||
{ "gameobject_questender", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGOQuestEnderCommand, "", NULL },
|
||||
{ "gameobject_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL },
|
||||
{ "gameobject_queststarter", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGOQuestStarterCommand, "", NULL },
|
||||
{ "gm_tickets", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGMTicketsCommand, "", NULL },
|
||||
{ "gossip_menu", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGossipMenuCommand, "", NULL },
|
||||
{ "gossip_menu_option", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGossipMenuOptionCommand, "", NULL },
|
||||
{ "item_enchantment_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadItemEnchantementsCommand, "", NULL },
|
||||
{ "item_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesItemCommand, "", NULL },
|
||||
{ "lfg_dungeon_rewards", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLfgRewardsCommand, "", NULL },
|
||||
{ "locales_achievement_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL },
|
||||
{ "locales_creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesCreatureCommand, "", NULL },
|
||||
{ "locales_creature_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesCreatureTextCommand, "", NULL },
|
||||
{ "locales_gameobject", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesGameobjectCommand, "", NULL },
|
||||
{ "locales_gossip_menu_option", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL },
|
||||
{ "locales_item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesItemCommand, "", NULL },
|
||||
{ "locales_npc_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesNpcTextCommand, "", NULL },
|
||||
{ "locales_page_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesPageTextCommand, "", NULL },
|
||||
{ "locales_points_of_interest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL },
|
||||
{ "locales_quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesQuestCommand, "", NULL },
|
||||
{ "mail_level_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadMailLevelRewardCommand, "", NULL },
|
||||
{ "mail_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesMailCommand, "", NULL },
|
||||
{ "milling_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesMillingCommand, "", NULL },
|
||||
{ "npc_spellclick_spells", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellClickSpellsCommand, "", NULL},
|
||||
{ "npc_trainer", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadNpcTrainerCommand, "", NULL },
|
||||
{ "npc_vendor", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadNpcVendorCommand, "", NULL },
|
||||
{ "page_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadPageTextsCommand, "", NULL },
|
||||
{ "pickpocketing_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL},
|
||||
{ "points_of_interest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadPointsOfInterestCommand, "", NULL },
|
||||
{ "prospecting_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL },
|
||||
{ "quest_poi", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestPOICommand, "", NULL },
|
||||
{ "quest_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestTemplateCommand, "", NULL },
|
||||
{ "rbac", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadRBACCommand, "", NULL },
|
||||
{ "reference_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL },
|
||||
{ "reserved_name", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReservedNameCommand, "", NULL },
|
||||
{ "reputation_reward_rate", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReputationRewardRateCommand, "", NULL },
|
||||
{ "reputation_spillover_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReputationRewardRateCommand, "", NULL },
|
||||
{ "skill_discovery_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL },
|
||||
{ "skill_extra_item_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL },
|
||||
{ "skill_fishing_base_level", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL },
|
||||
{ "skinning_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL },
|
||||
{ "smart_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSmartScripts, "", NULL },
|
||||
{ "spell_required", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellRequiredCommand, "", NULL },
|
||||
{ "spell_area", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellAreaCommand, "", NULL },
|
||||
{ "spell_bonus_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellBonusesCommand, "", NULL },
|
||||
{ "spell_group", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellGroupsCommand, "", NULL },
|
||||
{ "spell_learn_spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellLearnSpellCommand, "", NULL },
|
||||
{ "spell_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesSpellCommand, "", NULL },
|
||||
{ "spell_linked_spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellLinkedSpellCommand, "", NULL },
|
||||
{ "spell_pet_auras", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellPetAurasCommand, "", NULL },
|
||||
{ "spell_proc_event", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellProcEventCommand, "", NULL },
|
||||
{ "spell_proc", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellProcsCommand, "", NULL },
|
||||
{ "spell_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellScriptsCommand, "", NULL },
|
||||
{ "spell_target_position", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellTargetPositionCommand, "", NULL },
|
||||
{ "spell_threats", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellThreatsCommand, "", NULL },
|
||||
{ "spell_group_stack_rules", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL },
|
||||
{ "trinity_string", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadTrinityStringCommand, "", NULL },
|
||||
{ "warden_action", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWardenactionCommand, "", NULL },
|
||||
{ "waypoint_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWpScriptsCommand, "", NULL },
|
||||
{ "waypoint_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWpCommand, "", NULL },
|
||||
{ "vehicle_accessory", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadVehicleAccessoryCommand, "", NULL },
|
||||
{ "vehicle_template_accessory", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "auctions", RBAC_PERM_COMMANDS_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "", NULL },
|
||||
{ "access_requirement", RBAC_PERM_COMMANDS_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "", NULL },
|
||||
{ "achievement_criteria_data", RBAC_PERM_COMMANDS_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL },
|
||||
{ "achievement_reward", RBAC_PERM_COMMANDS_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "", NULL },
|
||||
{ "all", RBAC_PERM_COMMANDS_RELOAD_ALL, true, NULL, "", reloadAllCommandTable },
|
||||
{ "areatrigger_involvedrelation", RBAC_PERM_COMMANDS_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "", NULL },
|
||||
{ "areatrigger_tavern", RBAC_PERM_COMMANDS_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "", NULL },
|
||||
{ "areatrigger_teleport", RBAC_PERM_COMMANDS_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL },
|
||||
{ "autobroadcast", RBAC_PERM_COMMANDS_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "", NULL },
|
||||
{ "command", RBAC_PERM_COMMANDS_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "", NULL },
|
||||
{ "conditions", RBAC_PERM_COMMANDS_RELOAD_CONDITIONS, true, &HandleReloadConditions, "", NULL },
|
||||
{ "config", RBAC_PERM_COMMANDS_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "", NULL },
|
||||
{ "creature_text", RBAC_PERM_COMMANDS_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "", NULL },
|
||||
{ "creature_questender", RBAC_PERM_COMMANDS_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "", NULL },
|
||||
{ "creature_linked_respawn", RBAC_PERM_COMMANDS_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "", NULL },
|
||||
{ "creature_loot_template", RBAC_PERM_COMMANDS_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL },
|
||||
{ "creature_onkill_reputation", RBAC_PERM_COMMANDS_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "", NULL },
|
||||
{ "creature_queststarter", RBAC_PERM_COMMANDS_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "", NULL },
|
||||
{ "creature_summon_groups", RBAC_PERM_COMMANDS_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL },
|
||||
{ "creature_template", RBAC_PERM_COMMANDS_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "", NULL },
|
||||
//{ "db_script_string", RBAC_PERM_COMMANDS_RELOAD_, true, &HandleReloadDbScriptStringCommand, "", NULL },
|
||||
{ "disables", RBAC_PERM_COMMANDS_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "", NULL },
|
||||
{ "disenchant_loot_template", RBAC_PERM_COMMANDS_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL },
|
||||
{ "event_scripts", RBAC_PERM_COMMANDS_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "", NULL },
|
||||
{ "fishing_loot_template", RBAC_PERM_COMMANDS_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "", NULL },
|
||||
{ "game_graveyard_zone", RBAC_PERM_COMMANDS_RELOAD_GAME_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "", NULL },
|
||||
{ "game_tele", RBAC_PERM_COMMANDS_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "", NULL },
|
||||
{ "gameobject_questender", RBAC_PERM_COMMANDS_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "", NULL },
|
||||
{ "gameobject_loot_template", RBAC_PERM_COMMANDS_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL },
|
||||
{ "gameobject_queststarter", RBAC_PERM_COMMANDS_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "", NULL },
|
||||
{ "gm_tickets", RBAC_PERM_COMMANDS_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "", NULL },
|
||||
{ "gossip_menu", RBAC_PERM_COMMANDS_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "", NULL },
|
||||
{ "gossip_menu_option", RBAC_PERM_COMMANDS_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "", NULL },
|
||||
{ "item_enchantment_template", RBAC_PERM_COMMANDS_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "", NULL },
|
||||
{ "item_loot_template", RBAC_PERM_COMMANDS_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "", NULL },
|
||||
{ "lfg_dungeon_rewards", RBAC_PERM_COMMANDS_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "", NULL },
|
||||
{ "locales_achievement_reward", RBAC_PERM_COMMANDS_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL },
|
||||
{ "locales_creature", RBAC_PERM_COMMANDS_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "", NULL },
|
||||
{ "locales_creature_text", RBAC_PERM_COMMANDS_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "", NULL },
|
||||
{ "locales_gameobject", RBAC_PERM_COMMANDS_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "", NULL },
|
||||
{ "locales_gossip_menu_option", RBAC_PERM_COMMANDS_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL },
|
||||
{ "locales_item", RBAC_PERM_COMMANDS_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "", NULL },
|
||||
{ "locales_npc_text", RBAC_PERM_COMMANDS_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "", NULL },
|
||||
{ "locales_page_text", RBAC_PERM_COMMANDS_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "", NULL },
|
||||
{ "locales_points_of_interest", RBAC_PERM_COMMANDS_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL },
|
||||
{ "locales_quest", RBAC_PERM_COMMANDS_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "", NULL },
|
||||
{ "mail_level_reward", RBAC_PERM_COMMANDS_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "", NULL },
|
||||
{ "mail_loot_template", RBAC_PERM_COMMANDS_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "", NULL },
|
||||
{ "milling_loot_template", RBAC_PERM_COMMANDS_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "", NULL },
|
||||
{ "npc_spellclick_spells", RBAC_PERM_COMMANDS_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "", NULL},
|
||||
{ "npc_trainer", RBAC_PERM_COMMANDS_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "", NULL },
|
||||
{ "npc_vendor", RBAC_PERM_COMMANDS_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "", NULL },
|
||||
{ "page_text", RBAC_PERM_COMMANDS_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "", NULL },
|
||||
{ "pickpocketing_loot_template", RBAC_PERM_COMMANDS_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL},
|
||||
{ "points_of_interest", RBAC_PERM_COMMANDS_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "", NULL },
|
||||
{ "prospecting_loot_template", RBAC_PERM_COMMANDS_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL },
|
||||
{ "quest_poi", RBAC_PERM_COMMANDS_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "", NULL },
|
||||
{ "quest_template", RBAC_PERM_COMMANDS_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "", NULL },
|
||||
{ "rbac", RBAC_PERM_COMMANDS_RELOAD_RBAC, true, &HandleReloadRBACCommand, "", NULL },
|
||||
{ "reference_loot_template", RBAC_PERM_COMMANDS_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL },
|
||||
{ "reserved_name", RBAC_PERM_COMMANDS_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "", NULL },
|
||||
{ "reputation_reward_rate", RBAC_PERM_COMMANDS_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
|
||||
{ "reputation_spillover_template", RBAC_PERM_COMMANDS_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
|
||||
{ "skill_discovery_template", RBAC_PERM_COMMANDS_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL },
|
||||
{ "skill_extra_item_template", RBAC_PERM_COMMANDS_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL },
|
||||
{ "skill_fishing_base_level", RBAC_PERM_COMMANDS_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL },
|
||||
{ "skinning_loot_template", RBAC_PERM_COMMANDS_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL },
|
||||
{ "smart_scripts", RBAC_PERM_COMMANDS_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "", NULL },
|
||||
{ "spell_required", RBAC_PERM_COMMANDS_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "", NULL },
|
||||
{ "spell_area", RBAC_PERM_COMMANDS_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "", NULL },
|
||||
{ "spell_bonus_data", RBAC_PERM_COMMANDS_RELOAD_SPELL_BONUS_DATA, true, &HandleReloadSpellBonusesCommand, "", NULL },
|
||||
{ "spell_group", RBAC_PERM_COMMANDS_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "", NULL },
|
||||
{ "spell_learn_spell", RBAC_PERM_COMMANDS_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "", NULL },
|
||||
{ "spell_loot_template", RBAC_PERM_COMMANDS_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "", NULL },
|
||||
{ "spell_linked_spell", RBAC_PERM_COMMANDS_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "", NULL },
|
||||
{ "spell_pet_auras", RBAC_PERM_COMMANDS_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "", NULL },
|
||||
{ "spell_proc_event", RBAC_PERM_COMMANDS_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "", NULL },
|
||||
{ "spell_proc", RBAC_PERM_COMMANDS_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "", NULL },
|
||||
{ "spell_scripts", RBAC_PERM_COMMANDS_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "", NULL },
|
||||
{ "spell_target_position", RBAC_PERM_COMMANDS_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "", NULL },
|
||||
{ "spell_threats", RBAC_PERM_COMMANDS_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "", NULL },
|
||||
{ "spell_group_stack_rules", RBAC_PERM_COMMANDS_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL },
|
||||
{ "trinity_string", RBAC_PERM_COMMANDS_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "", NULL },
|
||||
{ "warden_action", RBAC_PERM_COMMANDS_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "", NULL },
|
||||
{ "waypoint_scripts", RBAC_PERM_COMMANDS_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "", NULL },
|
||||
{ "waypoint_data", RBAC_PERM_COMMANDS_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "", NULL },
|
||||
{ "vehicle_accessory", RBAC_PERM_COMMANDS_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "", NULL },
|
||||
{ "vehicle_template_accessory", RBAC_PERM_COMMANDS_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "reload", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", reloadCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "reload", RBAC_PERM_COMMANDS_RELOAD, true, NULL, "", reloadCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -39,19 +39,19 @@ public:
|
||||
{
|
||||
static ChatCommand resetCommandTable[] =
|
||||
{
|
||||
{ "achievements", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetAchievementsCommand, "", NULL },
|
||||
{ "honor", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetHonorCommand, "", NULL },
|
||||
{ "level", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetLevelCommand, "", NULL },
|
||||
{ "spells", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetSpellsCommand, "", NULL },
|
||||
{ "stats", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetStatsCommand, "", NULL },
|
||||
{ "talents", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetTalentsCommand, "", NULL },
|
||||
{ "all", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "achievements", RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "", NULL },
|
||||
{ "honor", RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "", NULL },
|
||||
{ "level", RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "", NULL },
|
||||
{ "spells", RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "", NULL },
|
||||
{ "stats", RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "", NULL },
|
||||
{ "talents", RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "", NULL },
|
||||
{ "all", RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", resetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "reset", RBAC_PERM_COMMAND_RESET, true, NULL, "", resetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
289
src/server/scripts/Commands/cs_send.cpp
Normal file
289
src/server/scripts/Commands/cs_send.cpp
Normal file
@@ -0,0 +1,289 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Chat.h"
|
||||
#include "Language.h"
|
||||
#include "Pet.h"
|
||||
#include "Player.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
class send_commandscript : public CommandScript
|
||||
{
|
||||
public:
|
||||
send_commandscript() : CommandScript("send_commandscript") { }
|
||||
|
||||
ChatCommand* GetCommands() const OVERRIDE
|
||||
{
|
||||
static ChatCommand sendCommandTable[] =
|
||||
{
|
||||
{ "items", RBAC_PERM_COMMAND_SEND_ITEMS, true, &HandleSendItemsCommand, "", NULL },
|
||||
{ "mail", RBAC_PERM_COMMAND_SEND_MAIL, true, &HandleSendMailCommand, "", NULL },
|
||||
{ "message", RBAC_PERM_COMMAND_SEND_MESSAGE, true, &HandleSendMessageCommand, "", NULL },
|
||||
{ "money", RBAC_PERM_COMMAND_SEND_MONEY, true, &HandleSendMoneyCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "send", RBAC_PERM_COMMAND_SEND, false, NULL, "", sendCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
// Send mail by command
|
||||
static bool HandleSendMailCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
// format: name "subject text" "mail text"
|
||||
Player* target;
|
||||
uint64 targetGuid;
|
||||
std::string targetName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char const* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char const* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
/// @todo Fix poor design
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
MailDraft(subject, text)
|
||||
.SendMailTo(trans, MailReceiver(target, GUID_LOPART(targetGuid)), sender);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(targetName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
// Send items by mail
|
||||
static bool HandleSendItemsCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
// format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12]
|
||||
Player* receiver;
|
||||
uint64 receiverGuid;
|
||||
std::string receiverName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char const* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char const* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// extract items
|
||||
typedef std::pair<uint32, uint32> ItemPair;
|
||||
typedef std::list< ItemPair > ItemPairs;
|
||||
ItemPairs items;
|
||||
|
||||
// get all tail string
|
||||
char* tail = strtok(NULL, "");
|
||||
|
||||
// get from tail next item str
|
||||
while (char* itemStr = strtok(tail, " "))
|
||||
{
|
||||
// and get new tail
|
||||
tail = strtok(NULL, "");
|
||||
|
||||
// parse item str
|
||||
char const* itemIdStr = strtok(itemStr, ":");
|
||||
char const* itemCountStr = strtok(NULL, " ");
|
||||
|
||||
uint32 itemId = atoi(itemIdStr);
|
||||
if (!itemId)
|
||||
return false;
|
||||
|
||||
ItemTemplate const* item_proto = sObjectMgr->GetItemTemplate(itemId);
|
||||
if (!item_proto)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_ITEMIDINVALID, itemId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 itemCount = itemCountStr ? atoi(itemCountStr) : 1;
|
||||
if (itemCount < 1 || (item_proto->MaxCount > 0 && itemCount > uint32(item_proto->MaxCount)))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_INVALID_ITEM_COUNT, itemCount, itemId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
while (itemCount > item_proto->GetMaxStackSize())
|
||||
{
|
||||
items.push_back(ItemPair(itemId, item_proto->GetMaxStackSize()));
|
||||
itemCount -= item_proto->GetMaxStackSize();
|
||||
}
|
||||
|
||||
items.push_back(ItemPair(itemId, itemCount));
|
||||
|
||||
if (items.size() > MAX_MAIL_ITEMS)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_COMMAND_MAIL_ITEMS_LIMIT, MAX_MAIL_ITEMS);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
// fill mail
|
||||
MailDraft draft(subject, text);
|
||||
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
for (ItemPairs::const_iterator itr = items.begin(); itr != items.end(); ++itr)
|
||||
{
|
||||
if (Item* item = Item::CreateItem(itr->first, itr->second, handler->GetSession() ? handler->GetSession()->GetPlayer() : 0))
|
||||
{
|
||||
item->SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted
|
||||
draft.AddItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
draft.SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(receiverName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
/// Send money by mail
|
||||
static bool HandleSendMoneyCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
/// format: name "subject text" "mail text" money
|
||||
|
||||
Player* receiver;
|
||||
uint64 receiverGuid;
|
||||
std::string receiverName;
|
||||
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
|
||||
return false;
|
||||
|
||||
char* tail1 = strtok(NULL, "");
|
||||
if (!tail1)
|
||||
return false;
|
||||
|
||||
char* msgSubject = handler->extractQuotedArg(tail1);
|
||||
if (!msgSubject)
|
||||
return false;
|
||||
|
||||
char* tail2 = strtok(NULL, "");
|
||||
if (!tail2)
|
||||
return false;
|
||||
|
||||
char* msgText = handler->extractQuotedArg(tail2);
|
||||
if (!msgText)
|
||||
return false;
|
||||
|
||||
char* moneyStr = strtok(NULL, "");
|
||||
int32 money = moneyStr ? atoi(moneyStr) : 0;
|
||||
if (money <= 0)
|
||||
return false;
|
||||
|
||||
// msgSubject, msgText isn't NUL after prev. check
|
||||
std::string subject = msgSubject;
|
||||
std::string text = msgText;
|
||||
|
||||
// from console show not existed sender
|
||||
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
|
||||
|
||||
SQLTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
MailDraft(subject, text)
|
||||
.AddMoney(money)
|
||||
.SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
std::string nameLink = handler->playerLink(receiverName);
|
||||
handler->PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());
|
||||
return true;
|
||||
}
|
||||
/// Send a message to a player in game
|
||||
static bool HandleSendMessageCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
/// - Find the player
|
||||
Player* player;
|
||||
if (!handler->extractPlayerTarget((char*)args, &player))
|
||||
return false;
|
||||
|
||||
char* msgStr = strtok(NULL, "");
|
||||
if (!msgStr)
|
||||
return false;
|
||||
|
||||
///- Check that he is not logging out.
|
||||
if (player->GetSession()->isLogingOut())
|
||||
{
|
||||
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
/// - Send the message
|
||||
// Use SendAreaTriggerMessage for fastest delivery.
|
||||
player->GetSession()->SendAreaTriggerMessage("%s", msgStr);
|
||||
player->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");
|
||||
|
||||
// Confirmation message
|
||||
std::string nameLink = handler->GetNameLink(player);
|
||||
handler->PSendSysMessage(LANG_SENDMESSAGE, nameLink.c_str(), msgStr);
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_send_commandscript()
|
||||
{
|
||||
new send_commandscript();
|
||||
}
|
||||
@@ -39,60 +39,60 @@ public:
|
||||
{
|
||||
static ChatCommand serverIdleRestartCommandTable[] =
|
||||
{
|
||||
{ "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerIdleRestartCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "cancel", RBAC_PERM_COMMAND_SERVER_IDLERESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, &HandleServerIdleRestartCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand serverIdleShutdownCommandTable[] =
|
||||
{
|
||||
{ "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerIdleShutDownCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "cancel", RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, &HandleServerIdleShutDownCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand serverRestartCommandTable[] =
|
||||
{
|
||||
{ "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerRestartCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "cancel", RBAC_PERM_COMMAND_SERVER_RESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_COMMAND_SERVER_RESTART, true, &HandleServerRestartCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand serverShutdownCommandTable[] =
|
||||
{
|
||||
{ "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "cancel", RBAC_PERM_COMMAND_SERVER_SHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
|
||||
{ "" , RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, &HandleServerShutDownCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand serverSetCommandTable[] =
|
||||
{
|
||||
{ "difftime", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerSetDiffTimeCommand, "", NULL },
|
||||
{ "loglevel", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerSetLogLevelCommand, "", NULL },
|
||||
{ "motd", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerSetMotdCommand, "", NULL },
|
||||
{ "closed", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerSetClosedCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "difftime", RBAC_PERM_COMMAND_SERVER_SET_DIFFTIME, true, &HandleServerSetDiffTimeCommand, "", NULL },
|
||||
{ "loglevel", RBAC_PERM_COMMAND_SERVER_SET_LOGLEVEL, true, &HandleServerSetLogLevelCommand, "", NULL },
|
||||
{ "motd", RBAC_PERM_COMMAND_SERVER_SET_MOTD, true, &HandleServerSetMotdCommand, "", NULL },
|
||||
{ "closed", RBAC_PERM_COMMAND_SERVER_SET_CLOSED, true, &HandleServerSetClosedCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand serverCommandTable[] =
|
||||
{
|
||||
{ "corpses", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleServerCorpsesCommand, "", NULL },
|
||||
{ "exit", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerExitCommand, "", NULL },
|
||||
{ "idlerestart", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverIdleRestartCommandTable },
|
||||
{ "idleshutdown", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverIdleShutdownCommandTable },
|
||||
{ "info", RBAC_PERM_PLAYER_COMMANDS, true, &HandleServerInfoCommand, "", NULL },
|
||||
{ "motd", RBAC_PERM_PLAYER_COMMANDS, true, &HandleServerMotdCommand, "", NULL },
|
||||
{ "plimit", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerPLimitCommand, "", NULL },
|
||||
{ "restart", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverRestartCommandTable },
|
||||
{ "shutdown", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverShutdownCommandTable },
|
||||
{ "set", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverSetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "corpses", RBAC_PERM_COMMAND_SERVER_CORPSES, true, &HandleServerCorpsesCommand, "", NULL },
|
||||
{ "exit", RBAC_PERM_COMMAND_SERVER_EXIT, true, &HandleServerExitCommand, "", NULL },
|
||||
{ "idlerestart", RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, NULL, "", serverIdleRestartCommandTable },
|
||||
{ "idleshutdown", RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, NULL, "", serverIdleShutdownCommandTable },
|
||||
{ "info", RBAC_PERM_COMMAND_SERVER_INFO, true, &HandleServerInfoCommand, "", NULL },
|
||||
{ "motd", RBAC_PERM_COMMAND_SERVER_MOTD, true, &HandleServerMotdCommand, "", NULL },
|
||||
{ "plimit", RBAC_PERM_COMMAND_SERVER_PLIMIT, true, &HandleServerPLimitCommand, "", NULL },
|
||||
{ "restart", RBAC_PERM_COMMAND_SERVER_RESTART, true, NULL, "", serverRestartCommandTable },
|
||||
{ "shutdown", RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, NULL, "", serverShutdownCommandTable },
|
||||
{ "set", RBAC_PERM_COMMAND_SERVER_SET, true, NULL, "", serverSetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "server", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "server", RBAC_PERM_COMMAND_SERVER, true, NULL, "", serverCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -39,17 +39,17 @@ public:
|
||||
{
|
||||
static ChatCommand teleCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleTeleAddCommand, "", NULL },
|
||||
{ "del", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleTeleDelCommand, "", NULL },
|
||||
{ "name", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleTeleNameCommand, "", NULL },
|
||||
{ "group", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleTeleGroupCommand, "", NULL },
|
||||
{ "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleTeleCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_TELE_ADD, false, &HandleTeleAddCommand, "", NULL },
|
||||
{ "del", RBAC_PERM_COMMAND_TELE_DEL, true, &HandleTeleDelCommand, "", NULL },
|
||||
{ "name", RBAC_PERM_COMMAND_TELE_NAME, true, &HandleTeleNameCommand, "", NULL },
|
||||
{ "group", RBAC_PERM_COMMAND_TELE_GROUP, false, &HandleTeleGroupCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_TELE, false, &HandleTeleCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "tele", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", teleCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "tele", RBAC_PERM_COMMAND_TELE, false, NULL, "", teleCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -40,34 +40,34 @@ public:
|
||||
{
|
||||
static ChatCommand ticketResponseCommandTable[] =
|
||||
{
|
||||
{ "append", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendCommand, "", NULL },
|
||||
{ "appendln", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendLnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "append", RBAC_PERM_COMMAND_TICKET_RESPONSE_APPEND, true, &HandleGMTicketResponseAppendCommand, "", NULL },
|
||||
{ "appendln", RBAC_PERM_COMMAND_TICKET_RESPONSE_APPENDLN, true, &HandleGMTicketResponseAppendLnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand ticketCommandTable[] =
|
||||
{
|
||||
{ "assign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketAssignToCommand, "", NULL },
|
||||
{ "close", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCloseByIdCommand, "", NULL },
|
||||
{ "closedlist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListClosedCommand, "", NULL },
|
||||
{ "comment", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCommentCommand, "", NULL },
|
||||
{ "complete", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCompleteCommand, "", NULL },
|
||||
{ "delete", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketDeleteByIdCommand, "", NULL },
|
||||
{ "escalate", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketEscalateCommand, "", NULL },
|
||||
{ "escalatedlist", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketListEscalatedCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListCommand, "", NULL },
|
||||
{ "onlinelist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListOnlineCommand, "", NULL },
|
||||
{ "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketResetCommand, "", NULL },
|
||||
{ "response", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", ticketResponseCommandTable },
|
||||
{ "togglesystem", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleToggleGMTicketSystem, "", NULL },
|
||||
{ "unassign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketUnAssignCommand, "", NULL },
|
||||
{ "viewid", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByIdCommand, "", NULL },
|
||||
{ "viewname", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByNameCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "assign", RBAC_PERM_COMMAND_TICKET_ASSIGN, true, &HandleGMTicketAssignToCommand, "", NULL },
|
||||
{ "close", RBAC_PERM_COMMAND_TICKET_CLOSE, true, &HandleGMTicketCloseByIdCommand, "", NULL },
|
||||
{ "closedlist", RBAC_PERM_COMMAND_TICKET_CLOSEDLIST, true, &HandleGMTicketListClosedCommand, "", NULL },
|
||||
{ "comment", RBAC_PERM_COMMAND_TICKET_COMMENT, true, &HandleGMTicketCommentCommand, "", NULL },
|
||||
{ "complete", RBAC_PERM_COMMAND_TICKET_COMPLETE, true, &HandleGMTicketCompleteCommand, "", NULL },
|
||||
{ "delete", RBAC_PERM_COMMAND_TICKET_DELETE, true, &HandleGMTicketDeleteByIdCommand, "", NULL },
|
||||
{ "escalate", RBAC_PERM_COMMAND_TICKET_ESCALATE, true, &HandleGMTicketEscalateCommand, "", NULL },
|
||||
{ "escalatedlist", RBAC_PERM_COMMAND_TICKET_ESCALATEDLIST, true, &HandleGMTicketListEscalatedCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_COMMAND_TICKET_LIST, true, &HandleGMTicketListCommand, "", NULL },
|
||||
{ "onlinelist", RBAC_PERM_COMMAND_TICKET_ONLINELIST, true, &HandleGMTicketListOnlineCommand, "", NULL },
|
||||
{ "reset", RBAC_PERM_COMMAND_TICKET_RESET, true, &HandleGMTicketResetCommand, "", NULL },
|
||||
{ "response", RBAC_PERM_COMMAND_TICKET_RESPONSE, true, NULL, "", ticketResponseCommandTable },
|
||||
{ "togglesystem", RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "", NULL },
|
||||
{ "unassign", RBAC_PERM_COMMAND_TICKET_UNASSIGN, true, &HandleGMTicketUnAssignCommand, "", NULL },
|
||||
{ "viewid", RBAC_PERM_COMMAND_TICKET_VIEWID, true, &HandleGMTicketGetByIdCommand, "", NULL },
|
||||
{ "viewname", RBAC_PERM_COMMAND_TICKET_VIEWNAME, true, &HandleGMTicketGetByNameCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "ticket", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", ticketCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "ticket", RBAC_PERM_COMMAND_TICKET, false, NULL, "", ticketCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -37,21 +37,21 @@ public:
|
||||
{
|
||||
static ChatCommand titlesSetCommandTable[] =
|
||||
{
|
||||
{ "mask", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesSetMaskCommand, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "mask", RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand titlesCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesAddCommand, "", NULL },
|
||||
{ "current", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesCurrentCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesRemoveCommand, "", NULL },
|
||||
{ "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesSetCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "", NULL },
|
||||
{ "current", RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "", NULL },
|
||||
{ "set", RBAC_PERM_COMMAND_TITLES_SET, false, NULL, "", titlesSetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "titles", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "titles", RBAC_PERM_COMMAND_TITLES, false, NULL, "", titlesCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -38,19 +38,19 @@ public:
|
||||
{
|
||||
static ChatCommand wpCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpAddCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpEventCommand, "", NULL },
|
||||
{ "load", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpLoadCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpModifyCommand, "", NULL },
|
||||
{ "unload", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpUnLoadCommand, "", NULL },
|
||||
{ "reload", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleWpReloadCommand, "", NULL },
|
||||
{ "show", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpShowCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "", NULL },
|
||||
{ "load", RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "", NULL },
|
||||
{ "unload", RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "", NULL },
|
||||
{ "reload", RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "", NULL },
|
||||
{ "show", RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "wp", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", wpCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "wp", RBAC_PERM_COMMAND_WP, false, NULL, "", wpCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user