mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Removed unused rogue spell scriptss (#26157)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
-- Remove old unused spell scripts
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_rog_cheat_death',
|
||||
'spell_rog_crippling_poison',
|
||||
'spell_rog_master_of_subtlety',
|
||||
'spell_rog_preparation',
|
||||
'spell_rog_shiv',
|
||||
'spell_rog_serrated_blades');
|
||||
@@ -38,9 +38,6 @@ enum RogueSpells
|
||||
{
|
||||
SPELL_ROGUE_BLADE_FLURRY = 13877,
|
||||
SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK = 22482,
|
||||
SPELL_ROGUE_CHEAT_DEATH_COOLDOWN = 31231,
|
||||
SPELL_ROGUE_CRIPPLING_POISON = 3409,
|
||||
SPELL_ROGUE_GLYPH_OF_PREPARATION = 56819,
|
||||
SPELL_ROGUE_KILLING_SPREE = 51690,
|
||||
SPELL_ROGUE_KILLING_SPREE_TELEPORT = 57840,
|
||||
SPELL_ROGUE_KILLING_SPREE_WEAPON_DMG = 57841,
|
||||
@@ -54,12 +51,7 @@ enum RogueSpells
|
||||
SPELL_ROGUE_STEALTH_STEALTH_AURA = 158185,
|
||||
SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA = 158188,
|
||||
SPELL_ROGUE_VANISH_AURA = 11327,
|
||||
SPELL_ROGUE_PREY_ON_THE_WEAK = 58670,
|
||||
SPELL_ROGUE_SHIV_TRIGGERED = 5940,
|
||||
SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST = 57933,
|
||||
SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC = 59628,
|
||||
SPELL_ROGUE_SERRATED_BLADES_R1 = 14171,
|
||||
SPELL_ROGUE_RUPTURE = 1943,
|
||||
SPELL_ROGUE_HONOR_AMONG_THIEVES_ENERGIZE = 51699,
|
||||
SPELL_ROGUE_T5_2P_SET_BONUS = 37169
|
||||
};
|
||||
@@ -114,101 +106,6 @@ class spell_rog_blade_flurry : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
// 31228 - Cheat Death
|
||||
class spell_rog_cheat_death : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_cheat_death() : SpellScriptLoader("spell_rog_cheat_death") { }
|
||||
|
||||
class spell_rog_cheat_death_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_cheat_death_AuraScript);
|
||||
|
||||
uint32 absorbChance = 0;
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_CHEAT_DEATH_COOLDOWN });
|
||||
}
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
// 6.x has basepoint = 0 !
|
||||
absorbChance = GetSpellInfo()->GetEffect(EFFECT_0)->CalcValue();
|
||||
return GetUnitOwner()->GetTypeId() == TYPEID_PLAYER;
|
||||
}
|
||||
|
||||
void CalculateAmount(AuraEffect const* /*aurEff*/, int32 & amount, bool & /*canBeRecalculated*/)
|
||||
{
|
||||
// Set absorbtion amount to unlimited
|
||||
amount = -1;
|
||||
}
|
||||
|
||||
void Absorb(AuraEffect* /*aurEff*/, DamageInfo & dmgInfo, uint32 & absorbAmount)
|
||||
{
|
||||
Player* target = GetTarget()->ToPlayer();
|
||||
if (dmgInfo.GetDamage() < target->GetHealth() || target->GetSpellHistory()->HasCooldown(SPELL_ROGUE_CHEAT_DEATH_COOLDOWN) || !roll_chance_i(absorbChance))
|
||||
return;
|
||||
|
||||
target->CastSpell(target, SPELL_ROGUE_CHEAT_DEATH_COOLDOWN, true);
|
||||
target->GetSpellHistory()->AddCooldown(SPELL_ROGUE_CHEAT_DEATH_COOLDOWN, 0, std::chrono::minutes(1));
|
||||
|
||||
uint32 health10 = target->CountPctFromMaxHealth(10);
|
||||
|
||||
// hp > 10% - absorb hp till 10%
|
||||
if (target->GetHealth() > health10)
|
||||
absorbAmount = dmgInfo.GetDamage() - target->GetHealth() + health10;
|
||||
// hp lower than 10% - absorb everything
|
||||
else
|
||||
absorbAmount = dmgInfo.GetDamage();
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_cheat_death_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_cheat_death_AuraScript::Absorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_cheat_death_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// -51625 - Deadly Brew
|
||||
class spell_rog_crippling_poison : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_crippling_poison() : SpellScriptLoader("spell_rog_crippling_poison") { }
|
||||
|
||||
class spell_rog_crippling_poison_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_crippling_poison_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_CRIPPLING_POISON });
|
||||
}
|
||||
|
||||
void OnProc(AuraEffect* aurEff, ProcEventInfo& eventInfo)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_ROGUE_CRIPPLING_POISON, true, nullptr, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_crippling_poison_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_crippling_poison_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 2818 - Deadly Poison
|
||||
class spell_rog_deadly_poison : public SpellScriptLoader
|
||||
{
|
||||
@@ -406,92 +303,6 @@ class spell_rog_killing_spree : public SpellScriptLoader
|
||||
};
|
||||
char constexpr const spell_rog_killing_spree::ScriptName[];
|
||||
|
||||
// 31666 - Master of Subtlety
|
||||
class spell_rog_master_of_subtlety : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_master_of_subtlety() : SpellScriptLoader("spell_rog_master_of_subtlety") { }
|
||||
|
||||
class spell_rog_master_of_subtlety_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_master_of_subtlety_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_MASTER_OF_SUBTLETY_DAMAGE_PERCENT });
|
||||
}
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
|
||||
if (!target->HasAuraType(SPELL_AURA_MOD_STEALTH))
|
||||
target->RemoveAurasDueToSpell(SPELL_ROGUE_MASTER_OF_SUBTLETY_DAMAGE_PERCENT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_master_of_subtlety_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_master_of_subtlety_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 14185 - Preparation
|
||||
class spell_rog_preparation : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_preparation() : SpellScriptLoader("spell_rog_preparation") { }
|
||||
|
||||
class spell_rog_preparation_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_preparation_SpellScript);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
|
||||
}
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_GLYPH_OF_PREPARATION });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
caster->GetSpellHistory()->ResetCooldowns([caster, this](SpellHistory::CooldownStorageType::iterator itr)
|
||||
{
|
||||
SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(itr->first, GetCastDifficulty());
|
||||
if (spellInfo->SpellFamilyName != SPELLFAMILY_ROGUE)
|
||||
return false;
|
||||
|
||||
return (spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_SHADOWSTEP || // Shadowstep
|
||||
spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG0_ROGUE_VAN_SPRINT) || // Vanish, Sprint
|
||||
// Glyph of Preparation
|
||||
(caster->HasAura(SPELL_ROGUE_GLYPH_OF_PREPARATION) &&
|
||||
(spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_DISMANTLE_SMOKE_BOMB || // Dismantle, Smoke Bomb
|
||||
spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG0_ROGUE_KICK)); // Kick
|
||||
|
||||
}, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_preparation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_preparation_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 1943 - Rupture
|
||||
class spell_rog_rupture : public SpellScriptLoader
|
||||
{
|
||||
@@ -544,45 +355,6 @@ class spell_rog_rupture : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
// 5938 - Shiv
|
||||
class spell_rog_shiv : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_shiv() : SpellScriptLoader("spell_rog_shiv") { }
|
||||
|
||||
class spell_rog_shiv_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_shiv_SpellScript);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
|
||||
}
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_SHIV_TRIGGERED });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (Unit* unitTarget = GetHitUnit())
|
||||
caster->CastSpell(unitTarget, SPELL_ROGUE_SHIV_TRIGGERED, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_shiv_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_shiv_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 1784 - Stealth
|
||||
class spell_rog_stealth : public SpellScriptLoader
|
||||
{
|
||||
@@ -745,11 +517,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST,
|
||||
SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC
|
||||
});
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC });
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
@@ -769,7 +537,6 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
|
||||
PreventDefaultAction();
|
||||
|
||||
Unit* target = GetTarget();
|
||||
target->CastSpell(_redirectTarget, SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST, true);
|
||||
target->CastSpell(target, SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC, true);
|
||||
Remove(AURA_REMOVE_BY_DEFAULT); // maybe handle by proc charges
|
||||
}
|
||||
@@ -817,40 +584,6 @@ class spell_rog_tricks_of_the_trade_proc : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
class spell_rog_serrated_blades : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_rog_serrated_blades() : SpellScriptLoader("spell_rog_serrated_blades") { }
|
||||
|
||||
class spell_rog_serrated_blades_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_serrated_blades_SpellScript);
|
||||
|
||||
void HandleHit()
|
||||
{
|
||||
if (AuraEffect* blade = GetCaster()->GetAuraEffectOfRankedSpell(SPELL_ROGUE_SERRATED_BLADES_R1, EFFECT_0))
|
||||
{
|
||||
uint32 combo = GetCaster()->ToPlayer()->GetComboPoints();
|
||||
|
||||
if (roll_chance_i(blade->GetAmount() * combo))
|
||||
if (Aura* dot = GetHitUnit()->GetAura(SPELL_ROGUE_RUPTURE, GetCaster()->GetGUID()))
|
||||
dot->RefreshDuration();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_rog_serrated_blades_SpellScript::HandleHit);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_serrated_blades_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 198031 - Honor Among Thieves
|
||||
/// 7.1.5
|
||||
class spell_rog_honor_among_thieves : public SpellScriptLoader
|
||||
@@ -964,20 +697,14 @@ public:
|
||||
void AddSC_rogue_spell_scripts()
|
||||
{
|
||||
new spell_rog_blade_flurry();
|
||||
new spell_rog_cheat_death();
|
||||
new spell_rog_crippling_poison();
|
||||
new spell_rog_deadly_poison();
|
||||
new spell_rog_killing_spree();
|
||||
new spell_rog_master_of_subtlety();
|
||||
new spell_rog_preparation();
|
||||
new spell_rog_rupture();
|
||||
new spell_rog_shiv();
|
||||
new spell_rog_stealth();
|
||||
new spell_rog_vanish();
|
||||
new spell_rog_vanish_aura();
|
||||
new spell_rog_tricks_of_the_trade();
|
||||
new spell_rog_tricks_of_the_trade_proc();
|
||||
new spell_rog_serrated_blades();
|
||||
new spell_rog_honor_among_thieves();
|
||||
new spell_rog_eviscerate();
|
||||
new spell_rog_envenom();
|
||||
|
||||
Reference in New Issue
Block a user