From 294fac60a03a69d6f618c9d0e163615f379a9d33 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Tue, 2 Apr 2013 01:06:19 +0200 Subject: DB/Quests: Fix It Was The Orcs, Honest! Closes #2037 --- src/server/scripts/Spells/spell_generic.cpp | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'src/server/scripts/Spells') diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 00b504d2403..8c25fa1e24f 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3513,6 +3513,55 @@ class spell_gen_aura_service_uniform : public SpellScriptLoader } }; +enum OrcDisguiseSpells +{ + SPELL_ORC_DISGUISE_TRIGGER = 45759, + SPELL_ORC_DISGUISE_MALE = 45760, + SPELL_ORC_DISGUISE_FEMALE = 45762, +}; + +class spell_gen_orc_disguise : public SpellScriptLoader +{ + public: + spell_gen_orc_disguise() : SpellScriptLoader("spell_gen_orc_disguise") { } + + class spell_gen_orc_disguise_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_orc_disguise_SpellScript); + + bool Validate(SpellInfo const* /*spell*/) + { + if (!sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_TRIGGER) || !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_MALE) || + !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_FEMALE)) + return false; + return true; + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + Unit* caster = GetCaster(); + if (Player* target = GetHitPlayer()) + { + uint8 gender = target->getGender(); + if (!gender) + caster->CastSpell(target, SPELL_ORC_DISGUISE_MALE, true); + else + caster->CastSpell(target, SPELL_ORC_DISGUISE_FEMALE, true); + } + } + + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_gen_orc_disguise_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_gen_orc_disguise_SpellScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -3592,4 +3641,5 @@ void AddSC_generic_spell_scripts() new spell_gen_gift_of_naaru(); new spell_gen_replenishment(); new spell_gen_aura_service_uniform(); + new spell_gen_orc_disguise(); } -- cgit v1.2.3 From abbe692d7251757f62d22063e9e2b90956dd490f Mon Sep 17 00:00:00 2001 From: kandera Date: Wed, 3 Apr 2013 18:22:22 -0400 Subject: Core/Cleanup: cleanup tabs and change them to spaces --- src/server/game/Spells/SpellEffects.cpp | 12 ++++++------ src/server/scripts/Spells/spell_generic.cpp | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/server/scripts/Spells') diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 167a2213132..541dfbb6232 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -938,12 +938,12 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex) // set basepoints for trigger with value effect if (m_spellInfo->Effects[effIndex].Effect == SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE) { - if (m_spellInfo->Effects[effIndex].BasePoints == 0) - { - values.AddSpellMod(SPELLVALUE_BASE_POINT0, damage); - values.AddSpellMod(SPELLVALUE_BASE_POINT1, damage); - values.AddSpellMod(SPELLVALUE_BASE_POINT2, damage); - } + if (m_spellInfo->Effects[effIndex].BasePoints == 0) + { + values.AddSpellMod(SPELLVALUE_BASE_POINT0, damage); + values.AddSpellMod(SPELLVALUE_BASE_POINT1, damage); + values.AddSpellMod(SPELLVALUE_BASE_POINT2, damage); + } } // Remove spell cooldown (not category) if spell triggering spell with cooldown and same category diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 8c25fa1e24f..60f641d9054 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3641,5 +3641,5 @@ void AddSC_generic_spell_scripts() new spell_gen_gift_of_naaru(); new spell_gen_replenishment(); new spell_gen_aura_service_uniform(); - new spell_gen_orc_disguise(); + new spell_gen_orc_disguise(); } -- cgit v1.2.3