TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
spell_item_flask_of_the_north::spell_item_flask_of_the_north_SpellScript Class Reference

Private Member Functions

 PrepareSpellScript (spell_item_flask_of_the_north_SpellScript)
 
bool Validate (SpellInfo const *) override
 
void HandleDummy (SpellEffIndex)
 
void Register () override
 

Additional Inherited Members

- Public Member Functions inherited from SpellScript
bool _Validate (SpellInfo const *entry) override
 
bool _Load (Spell *spell)
 
void _InitHit ()
 
bool _IsEffectPrevented (SpellEffIndex effIndex)
 
bool _IsDefaultEffectPrevented (SpellEffIndex effIndex)
 
void _PrepareScriptCall (SpellScriptHookType hookType)
 
void _FinishScriptCall ()
 
bool IsInCheckCastHook () const
 
bool IsInTargetHook () const
 
bool IsInHitPhase () const
 
bool IsInEffectHook () const
 
UnitGetCaster ()
 
UnitGetOriginalCaster ()
 
SpellInfo constGetSpellInfo ()
 
SpellValue constGetSpellValue ()
 
SpellEffectInfo constGetEffectInfo (SpellEffIndex) const
 
WorldLocation constGetExplTargetDest ()
 
void SetExplTargetDest (WorldLocation &loc)
 
WorldObjectGetExplTargetWorldObject ()
 
UnitGetExplTargetUnit ()
 
GameObjectGetExplTargetGObj ()
 
ItemGetExplTargetItem ()
 
UnitGetHitUnit ()
 
CreatureGetHitCreature ()
 
PlayerGetHitPlayer ()
 
ItemGetHitItem ()
 
GameObjectGetHitGObj ()
 
WorldLocationGetHitDest ()
 
int32 GetHitDamage ()
 
void SetHitDamage (int32 damage)
 
void PreventHitDamage ()
 
int32 GetHitHeal ()
 
void SetHitHeal (int32 heal)
 
void PreventHitHeal ()
 
SpellGetSpell ()
 
AuraGetHitAura ()
 
void PreventHitAura ()
 
void PreventHitEffect (SpellEffIndex effIndex)
 
void PreventHitDefaultEffect (SpellEffIndex effIndex)
 
SpellEffectInfo constGetEffectInfo () const
 
int32 GetEffectValue () const
 
void SetEffectValue (int32 value)
 
ItemGetCastItem ()
 
void CreateItem (uint32 effIndex, uint32 itemId)
 
SpellInfo constGetTriggeringSpell ()
 
void FinishCast (SpellCastResult result)
 
void SetCustomCastResultMessage (SpellCustomErrors result)
 
- Public Member Functions inherited from _SpellScript
 _SpellScript ()
 
virtual ~_SpellScript ()
 
virtual void _Register ()
 
virtual void _Unload ()
 
virtual void _Init (std::string const *scriptname, uint32 spellId)
 
std::string const_GetScriptName () const
 
virtual bool Load ()
 
virtual void Unload ()
 
- Public Attributes inherited from SpellScript
HookList< CastHandlerBeforeCast
 
HookList< CastHandlerOnCast
 
HookList< CastHandlerAfterCast
 
HookList< CheckCastHandlerOnCheckCast
 
HookList< EffectHandlerOnEffectLaunch
 
HookList< EffectHandlerOnEffectLaunchTarget
 
HookList< EffectHandlerOnEffectHit
 
HookList< EffectHandlerOnEffectHitTarget
 
HookList< EffectHandlerOnEffectSuccessfulDispel
 
HookList< HitHandlerBeforeHit
 
HookList< HitHandlerOnHit
 
HookList< HitHandlerAfterHit
 
HookList
< ObjectAreaTargetSelectHandler
OnObjectAreaTargetSelect
 
HookList
< ObjectTargetSelectHandler
OnObjectTargetSelect
 
HookList
< DestinationTargetSelectHandler
OnDestinationTargetSelect
 
- Protected Attributes inherited from _SpellScript
uint8 m_currentScriptState
 
std::string constm_scriptName
 
uint32 m_scriptSpellId
 

Member Function Documentation

void spell_item_flask_of_the_north::spell_item_flask_of_the_north_SpellScript::HandleDummy ( SpellEffIndex  )
inlineprivate
453  {
454  Unit* caster = GetCaster();
455  std::vector<uint32> possibleSpells;
456  switch (caster->getClass())
457  {
458  case CLASS_WARLOCK:
459  case CLASS_MAGE:
460  case CLASS_PRIEST:
461  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
462  break;
463  case CLASS_DEATH_KNIGHT:
464  case CLASS_WARRIOR:
465  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_STR);
466  break;
467  case CLASS_ROGUE:
468  case CLASS_HUNTER:
469  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_AP);
470  break;
471  case CLASS_DRUID:
472  case CLASS_PALADIN:
473  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
474  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_STR);
475  break;
476  case CLASS_SHAMAN:
477  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP);
478  possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_AP);
479  break;
480  }
481 
482  if (possibleSpells.empty())
483  {
484  TC_LOG_WARN("spells", "Missing spells for class %u in script spell_item_flask_of_the_north", caster->getClass());
485  return;
486  }
487 
488  caster->CastSpell(caster, possibleSpells[urand(0, (possibleSpells.size() - 1))], true, NULL);
489  }
Definition: SharedDefines.h:170
Definition: SharedDefines.h:172
arena_t NULL
Definition: jemalloc_internal.h:624
Definition: spell_item.cpp:433
Definition: SharedDefines.h:168
Definition: SharedDefines.h:167
Definition: SharedDefines.h:171
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:45
Definition: SharedDefines.h:173
Definition: SharedDefines.h:174
Definition: spell_item.cpp:432
Unit * GetCaster()
Definition: SpellScript.cpp:394
Definition: SharedDefines.h:169
uint8 getClass() const
Definition: Unit.h:1413
#define TC_LOG_WARN(filterType__,...)
Definition: Log.h:204
Definition: spell_item.cpp:431
Definition: SharedDefines.h:175
Definition: SharedDefines.h:177
Definition: Unit.h:1305
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:869

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

spell_item_flask_of_the_north::spell_item_flask_of_the_north_SpellScript::PrepareSpellScript ( spell_item_flask_of_the_north_SpellScript  )
private
void spell_item_flask_of_the_north::spell_item_flask_of_the_north_SpellScript::Register ( )
inlineoverrideprivatevirtual

Implements _SpellScript.

492  {
494  }
Definition: SharedDefines.h:28
HookList< EffectHandler > OnEffectHit
Definition: SpellScript.h:294
#define SpellEffectFn(F, I, N)
Definition: SpellScript.h:297
Definition: SharedDefines.h:1013
void HandleDummy(SpellEffIndex)
Definition: spell_item.cpp:452

+ Here is the call graph for this function:

bool spell_item_flask_of_the_north::spell_item_flask_of_the_north_SpellScript::Validate ( SpellInfo const )
inlineoverrideprivatevirtual

Reimplemented from _SpellScript.

446  {
448  return false;
449  return true;
450  }
Definition: spell_item.cpp:433
#define sSpellMgr
Definition: SpellMgr.h:756
Definition: spell_item.cpp:432
Definition: spell_item.cpp:431

The documentation for this class was generated from the following file: