From 5cb119e617195bfe4ddb35ce377201e0d01807fb Mon Sep 17 00:00:00 2001 From: Rat Date: Wed, 27 Oct 2010 21:01:47 +0200 Subject: Core/AI: implemented SmartScripts System (still beta) not 100% complete WARNING: Use scripts at own risk. You were warned. NOTE0: creature, gameobject, areatrigger type scripts should be fully functional NOTE1: has no effect on any core related stuff if not using any SmartScript NOTE2: all event/action/etc descriptions can be found in SmartScriptMgr.h SmartScripts is a reloadable DB-Sript system, with full control for special scripting, like escorting, following, complex combat handling, pre-stored AI templates(caster, turret, etc) and much more with a total of 66 events, 78 actions, 22 target types, and can be easily extended --HG-- branch : trunk --- src/server/game/Chat/Chat.cpp | 1 + src/server/game/Chat/Chat.h | 1 + src/server/game/Chat/Commands/Level3.cpp | 9 +++++++++ 3 files changed, 11 insertions(+) (limited to 'src/server/game/Chat') diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index a84a17e2fd6..3439b123b2f 100755 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -527,6 +527,7 @@ ChatCommand * ChatHandler::getCommandTable() { "reserved_name", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadReservedNameCommand, "", NULL }, { "reputation_reward_rate", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadReputationRewardRateCommand, "", NULL }, { "reputation_spillover_template",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadReputationRewardRateCommand, "", NULL }, + { "smartai_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSmartAI, "", NULL }, { "skill_discovery_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSkillDiscoveryTemplateCommand, "", NULL }, { "skill_extra_item_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSkillExtraItemTemplateCommand, "", NULL }, { "skill_fishing_base_level", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSkillFishingBaseLevelCommand, "", NULL }, diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index 370dc55bdce..b3f20a0c0ae 100755 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -450,6 +450,7 @@ class ChatHandler bool HandleReloadWpScriptsCommand(const char* args); bool HandleReloadConditions(const char* args); bool HandleReloadCreatureText(const char* args); + bool HandleReloadSmartAI(const char* args); bool HandleResetAchievementsCommand(const char * args); bool HandleResetAllCommand(const char * args); diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp index 3f10d91fc0a..8453e0f67c6 100755 --- a/src/server/game/Chat/Commands/Level3.cpp +++ b/src/server/game/Chat/Commands/Level3.cpp @@ -59,6 +59,7 @@ #include "ScriptMgr.h" #include "LFGMgr.h" #include "CreatureTextMgr.h" +#include "SmartAI.h" //reload commands bool ChatHandler::HandleReloadAllCommand(const char*) @@ -1177,6 +1178,14 @@ bool ChatHandler::HandleReloadCreatureText(const char* /*args*/) return true; } +bool ChatHandler::HandleReloadSmartAI(const char* /*args*/) +{ + sLog.outString("Re-Loading SmartAI Scripts..."); + sSmartScriptMgr.LoadSmartAIFromDB(); + SendGlobalGMSysMessage("SmartAI Scripts reloaded."); + return true; +} + bool ChatHandler::HandleAccountSetGmLevelCommand(const char *args) { if (!*args) -- cgit v1.2.3