aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_06_15_05_world.sql4
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp31
2 files changed, 35 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_06_15_05_world.sql b/sql/updates/world/master/2025_06_15_05_world.sql
new file mode 100644
index 00000000000..455600ab77a
--- /dev/null
+++ b/sql/updates/world/master/2025_06_15_05_world.sql
@@ -0,0 +1,4 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_warr_vicious_contempt';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(23881, 'spell_warr_vicious_contempt'),
+(335096, 'spell_warr_vicious_contempt');
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index f0b6c6af1bd..744a0af2f02 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -83,6 +83,7 @@ enum WarriorSpells
SPELL_WARRIOR_TAUNT = 355,
SPELL_WARRIOR_TITANIC_RAGE = 394329,
SPELL_WARRIOR_TRAUMA_EFFECT = 215537,
+ SPELL_WARRIOR_VICIOUS_CONTEMPT = 383885,
SPELL_WARRIOR_VICTORIOUS = 32216,
SPELL_WARRIOR_VICTORY_RUSH_HEAL = 118779,
SPELL_WARRIOR_WHIRLWIND_CLEAVE_AURA = 85739,
@@ -1135,6 +1136,35 @@ class spell_warr_t3_prot_8p_bonus : public AuraScript
}
};
+// 383885 - Vicious Contempt (attached to 23881 - Bloodthirst)
+// 383885 - Vicious Contempt (attached to 335096 - Bloodbath)
+class spell_warr_vicious_contempt : public SpellScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellEffect({ { SPELL_WARRIOR_VICIOUS_CONTEMPT, EFFECT_0 } });
+ }
+
+ bool Load() override
+ {
+ return GetCaster()->HasAura(SPELL_WARRIOR_VICIOUS_CONTEMPT);
+ }
+
+ void CalculateDamage(SpellEffectInfo const& /*spellEffectInfo*/, Unit const* victim, int32& /*damage*/, int32& /*flatMod*/, float& pctMod) const
+ {
+ if (!victim->HasAuraState(AURA_STATE_WOUNDED_35_PERCENT))
+ return;
+
+ if (AuraEffect const* aurEff = GetCaster()->GetAuraEffect(SPELL_WARRIOR_VICIOUS_CONTEMPT, EFFECT_0))
+ AddPct(pctMod, aurEff->GetAmount());
+ }
+
+ void Register() override
+ {
+ CalcDamage += SpellCalcDamageFn(spell_warr_vicious_contempt::CalculateDamage);
+ }
+};
+
// 32215 - Victorious State
class spell_warr_victorious_state : public AuraScript
{
@@ -1221,6 +1251,7 @@ void AddSC_warrior_spell_scripts()
RegisterSpellScript(spell_warr_titanic_rage);
RegisterSpellScript(spell_warr_trauma);
RegisterSpellScript(spell_warr_t3_prot_8p_bonus);
+ RegisterSpellScript(spell_warr_vicious_contempt);
RegisterSpellScript(spell_warr_victorious_state);
RegisterSpellScript(spell_warr_victory_rush);
}