Jump to content

[fix][dev]Fingers of Frost, Aura 262


Auntie Mangos

Recommended Posts

  • Replies 173
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 month later...

What's the reason of this change?

@@ -4257,7 +4300,7 @@ SpellCastResult Spell::CheckCast(bool strict)
{
    // check cooldowns to prevent cheating (ignore passive spells, that client side visual only)
    if (m_caster->GetTypeId()==TYPEID_PLAYER && !(m_spellInfo->Attributes & SPELL_ATTR_PASSIVE) &&
-        ((Player*)m_caster)->HasSpellCooldown(m_spellInfo->Id))
+        ((Player*)m_caster)->HasSpellCooldown(m_spellInfo->Id) && !m_caster->isIgnoreUnitState(m_spellInfo))
    {
        if(m_triggeredByAuraSpell)

None of the spells with aura 262 should remove the cooldown, I think. For example, this one (Juggernaut) increases it.

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Update to Revision 10434

Patchfile:http://paste2.org/p/979740

SQL Part 1:

DELETE FROM spell_proc_event WHERE entry IN(29723, 29725, 29724);
INSERT INTO spell_proc_event
(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMaskA0`, `SpellFamilyMaskA1`, `SpellFamilyMaskA2`, `SpellFamilyMaskB0`, `SpellFamilyMaskB1`, `SpellFamilyMaskB2`, `SpellFamilyMaskC0`, `SpellFamilyMaskC1`, `SpellFamilyMaskC2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`)
VALUES('29723','0','4','174064750','174064750','174064750','17732','17732','17732','0','0','0','0','0', '0','0','0'),
('29725','0','4','174064750','174064750','174064750','17732','17732','17732','0','0','0','0','0', '0','0','0'),
('29724','0','4','174064750','174064750','174064750','17732','17732','17732','0','0','0','0','0', '0','0','0');

SQL Part 2:

DELETE FROM spell_proc_event WHERE entry IN(44543, 44545);
INSERT INTO spell_proc_event
(`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMaskA0`, `SpellFamilyMaskA1`, `SpellFamilyMaskA2`, `SpellFamilyMaskB0`, `SpellFamilyMaskB1`, `SpellFamilyMaskB2`, `SpellFamilyMaskC0`, `SpellFamilyMaskC1`, `SpellFamilyMaskC2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) 
VALUES('44543','0','3','33555104','33555104','33555104','0','0','0','0','0','0','0','0', '0','7','0'),
('44545','0','3','33555104','33555104','33555104','0','0','0','0','0','0','0','0', '0','15','0');

Link to comment
Share on other sites

  • 1 month later...

with this sql.

(44543,0,3,33555104,33555104,33555104,0,0,0,0,0,0,65536,0,0,7,0),
(44545,0,3,33555104,33555104,33555104,0,0,0,0,0,0,65536,0,0,15,0),

I have only a procchance from first rank with 7%.

any idea, why i have not 15% procchance from Fingers of Frost with rank 2. Why is the Procflag 65536?

Link to comment
Share on other sites

Why is the Procflag 65536?

65536 = 0x00010000 = Successful Negative Spell Hit. It procs from spell cast (this is wrong and will take our first charge if you cast spell like a frostbolt, that trigger FoF at spell cast and consume charge at spell hit) instead of spell hit without including of this flag...

Link to comment
Share on other sites

idk if FoF should affect on Torment the Weak (logically - yes), but if this a true then we need to apply this fix

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 0973eed..7f69148 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6442,7 +6442,8 @@ uint32 Unit::SpellDamageBonusDone(Unit *pVictim, SpellEntry const *spellProto, u
            }
            // Torment the weak affected (Arcane Barrage, Arcane Blast, Frostfire Bolt, Arcane Missiles, Fireball)
            if ((spellProto->SpellFamilyFlags & UI64LIT(0x0000900020200021)) &&
-                (pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || pVictim->HasAuraType(SPELL_AURA_HASTE_ALL)))
+                (pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || pVictim->HasAuraType(SPELL_AURA_HASTE_ALL) ||
+                 isIgnoreUnitState(spellProto)))
            {
                //Search for Torment the weak dummy aura
                Unit::AuraList const& ttw = GetAurasByType(SPELL_AURA_DUMMY);

need some confirmations here (from 3.3.5 patch ofcourse). As i seen at wowhead comments - they says FoF always proc with Frostbite, but what happen if Frostbite effect is ended (also all other snare effects) but you still have FoF aura? You still able to get bonus from Torment the weak?

thx,

Have you 15% Procchance with rank 2?

i didn't try to calculate a chance when i was tried to test patch, but as i seen it procs very often with 2 rank of talent, looks like every 5-8 spells.

Link to comment
Share on other sites

  • 1 month later...

None of the spells with aura 262 should remove the cooldown, I think. For example, this one (Juggernaut) increases it.

For same reason i drop this part from commited version.

KAPATEJIb (insider42) version added in [10762] with some rewrites. Also from added code excluded all related Fingers of Frost charges counting. It not look like correct way implement it.

I not close thread for this reason.

About charges: spell 74396 have already max_stack = 2 and main spell affect 44544 hacve in basepoints 2 values (match to other 262 auras that also have allowed charges (but its also have its set in procCharges.

I not sure set charges for 74396 right way, and it triggering lot hacks and adding in code and DB.

More correct possible cast 74396 at proc event hit 44544 and at max stack of 74396 remove both auras.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...
  • 3 weeks later...
  • 3 weeks later...

Fixed proc from Ice/Frost Armor and Frostfire Bolt:

SQL:

DELETE FROM `spell_proc_event` WHERE `entry` IN (44543,44545);
INSERT INTO `spell_proc_event` VALUES
(44543,0,3,0x021002A0,0x021002A0,0x021002A0,0x1000,0,0,0,0,0,0,0,0,7,0),
(44545,0,3,0x021002A0,0x021002A0,0x021002A0,0x1000,0,0,0,0,0,0,0,0,15,0);

add this to Spell::prepareDataForTriggerSystem()

               // Fingers of Frost triggered by Ice/Frost Armor
               else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000100000))
                   m_canTrigger = true;

sorry it's not in patch format :P

Proc chance still taken from 1st rank.

NOTE: If I specify ppm then rank 2 gets the chance from ppm but if I specify procChance then it is taken from rank1, I can't understand this xD

Link to comment
Share on other sites

  • 2 months later...

FoF overwrites its previous proc when 2 of them proc in a row without being used the 2 charges completely.

If you read the following very careful you'll see what I'm talking about (specially point 4):

Blizzard and Cone of Cold have two interesting properties due to the behavior of FoF:

First, the more targets they strike, the higher chance you have of a FoF proc. This chance per wave is, in theory, (1 - (0.85)^n), where n is the number of mobs you have targeted.

Secondly, because of the behavior of multi-target spells, when FoF is active, FoF is triggered for every single target in range. In addition, when each of the projectiles (Blizzard shards, or the hitscan CoC projectiles) strikes its target, they each deplete a charge independently. Watch what happens when you are channeling Blizzard on two or more mobs (here I assume the shards travel faster than the waves tick, but it works similarly either way):

1.- You begin channeling Blizzard. First wave of shards is launched, en route to their targets.

2.- First wave strikes, and FoF activates. None of these shards trigger the FoF bonus, because they were launched while FoF was inactive. You now have 2 charges left on FoF.

3.- Second wave of shards is launched. Every single shard triggers the FoF bonus, but as usual, each shard rolls for Shatter crits independently (at the boosted rate).

4.- Each shard in the second wave then strikes its respective target. Because all of these shards triggered the FoF bonus, when they strike they each independently reduce the charges by 1, ultimately reducing our charges to 0 and deactivating FoF before the third wave. This means that, so long as we are striking two or more targets, FoF is depleted and deactivated by the time the entire second wave strikes. However, the entire second wave benefits from FoF because every individual shard triggered the FoF bonus.

5.- You were unlucky, FoF didn't activate, and you launch your third wave of shards without triggering a FoF bonus.

Cone of Cold behaves similarly. If you have Fingers of Frost active, and you cast Cone of Cold striking more than 2 mobs, every mob suffers a FoF-triggered Cone of Cold hit, but your Fingers of Frost buff is completely depleted and deactivated.

http://www.wowhead.com/spell=44545#comments:40

So FoF shouldn't proc again until the full 2 charges are used.

Example of what it does (if 2 FoF proc in a row):

- 1st Frostblot hits on target.

- FoF procs with 2 charges.

- 2nd Frostbolt hits on target. Remove 1 charge of FoF and 1 charge remains.

- FoF procs again with 2 charges and the previous 1 charge left is totally wasted.

Example of what it should do (if 2 FoF proc in a row):

- 1st Frostblot hits on target.

- FoF procs with 2 charges.

- 2nd Frostbolt hits on target. Remove 1 charge of FoF and 1 charge remains.

- 3rd Frostbolt hits on target. Remove the 1 charge left and no charges remain.

- FoF procs with 2 charges.

Not always happens, but in overall the effective proc is reduced to only 8%-11% fom 15% of FoF 2/2.

There is another bug derivated from this one, but if it is fixed (the reported here) the other bug fixes too (in theory at least).

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use