340 {
342
345 if (!caster || !target)
346 return;
347
348
350 return;
351
353
354
355
356
359
360
362 if (isIncreasedChanceOfFailure)
363 {
364 backfire = 20;
365 failure = 45;
366 }
367
369 if (roll < backfire)
371 else if (roll < backfire + failure)
372 {
375 else
377 }
378 else
380 }
std::int32_t int32
Definition Define.h:103
std::uint32_t uint32
Definition Define.h:107
int32 irand(int32 min, int32 max)
Definition Random.cpp:37
bool roll_chance_i(int chance)
Definition Random.h:63
@ CREATURE_ELITE_NORMAL
Definition SharedDefines.h:2964
CreatureTemplate const * GetCreatureTemplate() const
Definition Creature.h:207
Creature * ToCreature()
Definition Object.h:212
uint32 Id
Definition SpellInfo.h:344
SpellInfo const * GetSpellInfo()
Definition SpellScript.cpp:416
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Definition SpellScript.cpp:595
Item * GetCastItem()
Definition SpellScript.cpp:625
Unit * GetHitUnit()
Definition SpellScript.cpp:453
Unit * GetCaster()
Definition SpellScript.cpp:401
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1372
uint8 GetLevel() const
Definition Unit.h:1109
@ SPELL_MIND_CONTROL_CAP
Definition spell_item.cpp:317
@ SPELL_MIND_CONTROL_CAP_CHARM_10S
Definition spell_item.cpp:321
@ SPELL_MIND_CONTROL_CAP_CHARM_30S
Definition spell_item.cpp:320
@ SPELL_DULLARD
Definition spell_item.cpp:322
@ SPELL_MENTAL_BATTLE
Definition spell_item.cpp:319
@ SPELL_AMPLIFICATION_DISH
Definition spell_item.cpp:318
uint32 rank
Definition CreatureData.h:206