206 aur->SetDuration(aur->GetSpellInfo()->GetMaxDuration(),
true);
273 for (
uint8 s = 0; s < 3; ++s)
281 SF_LOG_ERROR(
"spells",
"Player::CastItemCombatSpell Enchant %i, player (Name: %s, GUID: %u) cast unknown spell %i", enchant->
ID, player->
GetName().c_str(), player->
GetGUIDLow(), enchant->
spellid[s]);
373 effect->RecalculateAmount(caster);
378 canBeRecalculated =
false;
384 baseAmount += auraEffect->GetAmount();
386 amount =
CalculatePct(caster->GetMaxHealth(),
float(baseAmount) / 1000.0f);
423 canBeRecalculated =
false;
425 float const attackpowerPerCombo[6] =
435 uint8 cp = caster->ToPlayer()->GetComboPoints();
481 int32 basepoints0 = aurEff->GetAmount();
@ ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL
DBCStorage< SpellItemEnchantmentEntry > sSpellItemEnchantmentStore(SpellItemEnchantmentfmt)
@ PROP_ENCHANTMENT_SLOT_0
@ PRISMATIC_ENCHANTMENT_SLOT
#define SF_LOG_ERROR(filterType__,...)
@ EQUIPMENT_SLOT_MAINHAND
#define INVENTORY_SLOT_BAG_0
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_MOD_SHAPESHIFT
@ SPELL_AURA_MOD_MELEE_HASTE
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_SCHOOL_ABSORB
@ SPELL_AURA_MOD_POWER_REGEN_PERCENT
@ SPELL_AURA_PERIODIC_DUMMY
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
@ AURA_EFFECT_HANDLE_REAL
#define AuraEffectProcFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectAbsorbFn(F, I)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
bool roll_chance_i(int chance)
T CalculatePct(T base, U pct)
void PreventDefaultAction()
void Remove(uint32 removeMode=0)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
AuraEffect * GetEffect(uint8 effIndex) const
HookList< EffectAbsorbHandler > OnEffectAbsorb
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
SpellInfo const * GetSpellInfo() const
uint32 GetEnchantmentId(EnchantmentSlot slot) const
uint32 GetGUIDLow() const
bool HasSpellCooldown(uint32 spell_id) const
Item * GetItemByPos(uint16 pos) const
void AddSpellCooldown(uint32 spell_id, uint32 itemid, time_t end_time)
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
int32 CalcValue(Unit const *caster=NULL, int32 const *basePoints=NULL, Unit const *target=NULL) const
SpellEffectInfo Effects[MAX_SPELL_EFFECTS]
HookList< HitHandler > AfterHit
HookList< HitHandler > BeforeHit
SpellScriptLoader(const char *name)
Unit * SelectNearbyTarget(Unit *exclude=NULL, float dist=NOMINAL_MELEE_RANGE) const
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 RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
Unit * GetRedirectThreatTarget()
bool HasAuraType(AuraType auraType) const
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, uint64 casterGUID=0) const
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void ResetRedirectThreat()
uint32 CountPctFromMaxHealth(int32 pct) const
std::string const & GetName() const
bool IsEqual(uint32 p1=0, uint32 p2=0, uint32 p3=0, uint32 p4=0) const
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_rog_blade_flurry_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_rog_cheat_death_AuraScript)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
void Absorb(AuraEffect *, DamageInfo &dmgInfo, uint32 &absorbAmount)
AuraScript * GetAuraScript() const OVERRIDE
void OnProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_rog_crippling_poison_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_rog_crippling_poison()
PrepareAuraScript(spell_rog_cut_to_the_chase_AuraScript)
void HandleProc(AuraEffect const *, ProcEventInfo &)
spell_rog_cut_to_the_chase()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_rog_deadly_poison_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_rog_deadly_poison()
PrepareAuraScript(spell_rog_master_of_subtlety_AuraScript)
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *)
spell_rog_master_of_subtlety()
AuraScript * GetAuraScript() const
void CalculateBonus(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
void OnPeriodic(AuraEffect const *)
PrepareAuraScript(spell_rog_recuperate_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_rog_rupture_AuraScript)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_rog_stealth_AuraScript)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
bool CheckProc(ProcEventInfo &)
PrepareAuraScript(spell_rog_tricks_of_the_trade_AuraScript)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleProc(AuraEffect const *, ProcEventInfo &)
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_rog_tricks_of_the_trade_proc_AuraScript)
spell_rog_tricks_of_the_trade_proc()
AuraScript * GetAuraScript() const OVERRIDE
spell_rog_tricks_of_the_trade()
AuraScript * GetAuraScript() const OVERRIDE
void AddSC_rogue_spell_scripts()
@ SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC
@ SPELL_ROGUE_SLICE_AND_DICE
@ SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST
@ SPELL_ROGUE_BLADE_FLURRY
@ SPELL_ROGUE_MASTER_OF_SUBTLETY_PASSIVE
@ SPELL_ROGUE_CRIPPLING_POISON
@ SPELL_ROGUE_MASTER_OF_SUBTLETY_PERIODIC
@ SPELL_ROGUE_CHEAT_DEATH_COOLDOWN
@ SPELL_ROGUE_MASTER_OF_SUBTLETY_DAMAGE_PERCENT
@ SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK
@ ICON_ROGUE_IMPROVED_RECUPERATE
uint32 type[MAX_ITEM_ENCHANTMENT_EFFECTS]
uint32 spellid[MAX_ITEM_ENCHANTMENT_EFFECTS]