26 static std::vector<ChatCommand> castCommandTable =
35 static std::vector<ChatCommand> commandTable =
75 char* triggeredStr = strtok(NULL,
" ");
78 int l = strlen(triggeredStr);
79 if (strncmp(triggeredStr,
"triggered", l) != 0)
83 bool triggered = (triggeredStr != NULL);
103 if (!spellId || !
sSpellMgr->GetSpellInfo(spellId))
110 char* triggeredStr = strtok(NULL,
" ");
113 int l = strlen(triggeredStr);
114 if (strncmp(triggeredStr,
"triggered", l) != 0)
118 bool triggered = (triggeredStr != NULL);
150 char* distStr = strtok(NULL,
" ");
155 sscanf(distStr,
"%f", &dist);
157 char* triggeredStr = strtok(NULL,
" ");
160 int l = strlen(triggeredStr);
161 if (strncmp(triggeredStr,
"triggered", l) != 0)
165 bool triggered = (triggeredStr != NULL);
204 target->
CastSpell(target, spellId,
false);
228 if (!spellId || !
sSpellMgr->GetSpellInfo(spellId))
235 char* triggeredStr = strtok(NULL,
" ");
238 int l = strlen(triggeredStr);
239 if (strncmp(triggeredStr,
"triggered", l) != 0)
243 bool triggered = (triggeredStr != NULL);
262 if (!spellId || !
sSpellMgr->GetSpellInfo(spellId))
269 char* posX = strtok(NULL,
" ");
270 char* posY = strtok(NULL,
" ");
271 char* posZ = strtok(NULL,
" ");
273 if (!posX || !posY || !posZ)
276 float x = float(atof(posX));
277 float y = float(atof(posY));
278 float z = float(atof(posZ));
280 char* triggeredStr = strtok(NULL,
" ");
283 int l = strlen(triggeredStr);
284 if (strncmp(triggeredStr,
"triggered", l) != 0)
288 bool triggered = (triggeredStr != NULL);
290 caster->
CastSpell(x, y, z, spellId, triggered);
@ LANG_SELECTED_TARGET_NOT_HAVE_VICTIM
@ LANG_COMMAND_NOSPELLFOUND
@ LANG_SELECT_CHAR_OR_CREATURE
@ LANG_COMMAND_SPELL_BROKEN
WorldSession * GetSession()
Creature * getSelectedCreature()
uint32 extractSpellIdFromLink(char *text)
void PSendSysMessage(const char *format,...) ATTR_PRINTF(2
void SetSentErrorMessage(bool val)
virtual void SendSysMessage(const char *str)
CommandScript(const char *name)
static bool IsSpellValid(SpellInfo const *spellInfo, Player *player=NULL, bool msg=true)
Some checks for spells, to prevent adding deprecated/broken spells for trainers, spell book,...
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void GetClosePoint(float &x, float &y, float &z, float size, float distance2d=0, float angle=0) const
Player * GetPlayer() const
static bool HandleCastDistCommand(ChatHandler *handler, char const *args)
static bool HandleCastTargetCommad(ChatHandler *handler, char const *args)
static bool HandleCastSelfCommand(ChatHandler *handler, char const *args)
std::vector< ChatCommand > GetCommands() const OVERRIDE
static bool HandleCastCommand(ChatHandler *handler, char const *args)
static bool HandleCastBackCommand(ChatHandler *handler, char const *args)
static bool HandleCastDestCommand(ChatHandler *handler, char const *args)
void AddSC_cast_commandscript()
@ RBAC_PERM_COMMAND_CAST_SELF
@ RBAC_PERM_COMMAND_CAST_DEST
@ RBAC_PERM_COMMAND_CAST_TARGET
@ RBAC_PERM_COMMAND_CAST_BACK
@ RBAC_PERM_COMMAND_CAST_DIST