[3.3.5] Core/Spells: Sacred Shield on Pets #10840

Closed
Raydor opened this Issue Sep 16, 2013 · 18 comments

Comments

Projects
None yet

Raydor commented Sep 16, 2013

Spell: http://wotlk.openwow.com/spell=53601
Effect: http://wotlk.openwow.com/spell=58597

All works well with this spell except when you cast it in pets, if you cast http://wotlk.openwow.com/spell=53601 in pets, the effect http://wotlk.openwow.com/spell=58597 doesnt have internal CD, maybe it has easy fix in spell_paladin.cpp in

void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
        {
            if(Unit* pCaster = GetCaster())
                if(pCaster->ToPlayer())
                    pCaster->ToPlayer()->AddSpellCooldown(PALADIN_SPELL_SACRED_SHIELD_EFFECT, 0, time(NULL) + 6);
        }

If you add pCaster->ToCreature()->_AddCreatureSpellCooldown it doesnt work.
It its very abusable if paladin with warlock partner cast sacred shield on pet, the pet is immortal because everytime it has the shield.

Confirmed

confirm

Member

joschiwald commented Oct 9, 2013

spell cooldowns on creatures are not implemented
but proc system needs proper cooldown handling, in qaston's new proc system, he wanted to handle cooldowns on the aura itself instead of adding cooldown of the proc spell on the target, but still unfinished

Thx for answering
yes, i see in code
try it some not over triggered_spell_id
but over plr HasSpellCooldown
and if not cast 58597
but so strange... even like this not works :
fny suggestion on derection for temp solution?

PS not only paladin spell is 47236 without 20icd

Anyone have access at a recent mythcore?

Demonid commented Feb 15, 2014

         void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
         {
             if(Unit* pCaster = GetCaster())
            {
                 if(pCaster->ToPlayer())
                     pCaster->ToPlayer()->AddSpellCooldown(PALADIN_SPELL_SACRED_SHIELD_EFFECT, 0, time(NULL) + 6);
                else if(pCaster->ToCreature())
                    pCaster->ToCreature()->_AddCreatureSpellCooldown(PALADIN_SPELL_SACRED_SHIELD_EFFECT, time(NULL) + 6);
            }
         }

But as @joschiwald said, spell cooldowns on creatures are not implemented, so... gg.

@Demonid for creature used _AddCreatureSpellCooldown with this linked part of code need and _AddCreatureSpellCooldown function

Demonid commented Feb 15, 2014

@2010phenix I didn't understand you. Hablas español?

check what thay(MythProject) done in
void Creature:: _AddCreatureSpellCooldown(uint32 spell_id, time_t end_time)

maybe redone this part

Demonid commented Feb 16, 2014

@2010phenix Didn't see that much difference.

Creature.cpp
http://paste2.org/Ixdw6dkz

Creature.h
http://paste2.org/HZ8dFLIJ

yes you are right no any diff for CreatureSpellCooldown.

@Kinzcool Kinzcool added the Legacy label Oct 19, 2014

who have an idea to fix this probleam ?

Contributor

Nyeriah commented Dec 21, 2014

It cannot be properly fixed as it is because creatures don't store proc cooldown.

Contributor

Rushor commented Dec 10, 2015

#14454 fixed this issue? i cannot test it currently

@Aokromes Aokromes removed the Legacy label Jan 8, 2016

Member

Keader commented Feb 17, 2016

@Aokromes can you re-open this?
Still bugged on Rev 6904073
And Fix by @ariel- dont solve this issue xD (f4c1a8f)

@ariel- your commit fix #10840 (comment) ?

@Rushor Rushor reopened this Feb 17, 2016

@Rushor Rushor changed the title from [3.3.5] [Spells] Sacred Shield in Pets to [3.3.5] Core/Spells: Sacred Shield on Pets Feb 17, 2016

ariel- added a commit to ariel-/TrinityCore that referenced this issue Feb 18, 2016

Raydor commented Jul 8, 2016

Any news on this? someone found a fix for this and want to share for us?

Contributor

Golrag commented Jul 8, 2016

Proc cooldown is only added for players in Unit::ProcDamageAndSpellFor for some reason. Got a small fix, will PR it soon :)

@Shauren Shauren closed this Jul 8, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment