rendered paste bodyIndex: src/game/Player.cpp
===================================================================
--- src/game/Player.cpp (revision 4039)
+++ src/game/Player.cpp (working copy)
@@ -177,6 +177,7 @@
m_canParry = false;
m_canDualWield = false;
m_extraAttacks = 0;
+ m_extraAttacksTime;
////////////////////Rest System/////////////////////
time_inn_enter=0;
@@ -5583,7 +5584,14 @@
if(enchant_display!=4 && enchant_display!=2 && enchant_display!=5 && IsItemSpellToCombat(enchantSpell_info))
if (roll_chance_f(chance))
+ {
+ if ( enchantSpell_info->Id == 10610) //remove winfury totem perm enchant after proc
+ {
+ ApplyEnchantment(item,EnchantmentSlot(e_slot),false);
+ item->SetEnchantment(EnchantmentSlot(e_slot), enchantSpell_info->Id, 0, 0);
+ }
this->CastSpell(Target, enchantSpell_info->Id, true);
+ }
}
}
}
Index: src/game/Player.h
===================================================================
--- src/game/Player.h (revision 4039)
+++ src/game/Player.h (working copy)
@@ -1198,6 +1198,7 @@
void UpdateWeaponSkill (WeaponAttackType attType);
void UpdateCombatSkills(Unit *pVictim, WeaponAttackType attType, MeleeHitOutcome outcome, bool defence);
uint32 m_extraAttacks;
+ uint32 m_extraAttacksTime;
void SetSkill(uint32 id, uint16 currVal, uint16 maxVal);
uint16 GetMaxSkillValue(uint32 skill) const;
Index: src/game/Unit.cpp
===================================================================
--- src/game/Unit.cpp (revision 4039)
+++ src/game/Unit.cpp (working copy)
@@ -2494,7 +2494,13 @@
case 33891: if(i_spellId==5420 || i_spellId==34123) is_triggered_by_spell = true; break;
}
break;
- }
+
+ case SPELL_AURA_MOD_ATTACK_POWER:
+ switch(spellId)
+ {
+ case 32910: if(i_spellId==33727 || i_spellId==33754 || i_spellId==33755 || i_spellId==33756 || i_spellId==33757) is_triggered_by_spell = true; break;
+ }
+ }
}
if(!is_triggered_by_spell)
@@ -3777,7 +3783,29 @@
CastSpell(pVictim, &igniteDot, true, NULL, triggredByAura);
return;
}
+ //windfury weapon dummy aura effect 20% chance
+ case 33727:
+ case 33754:
+ case 33755:
+ case 33756:
+ case 33757:
+ {
+ sLog.outDebug("Tempo mem%u",((Player*)pVictim)->m_extraAttacksTime);
+ sLog.outDebug("Tempo %u",time(NULL));
+
+ if( time(NULL) - ((Player*)pVictim)->m_extraAttacksTime < 3 )
+ return;
+ ((Player*)pVictim)->m_extraAttacksTime = time(NULL);
+
+ SpellEntry const *windfuryAttackTemplate = sSpellStore.LookupEntry(32910);
+ SpellEntry windfuryAttack = *windfuryAttackTemplate;
+
+ windfuryAttack.EffectBasePoints[0] = dummySpell->EffectBasePoints[0];
+ windfuryAttack.EffectRealPointsPerLevel[0] = 0;
+ CastSpell(pVictim, &windfuryAttack, true, NULL, triggredByAura);
+ return;
+ }
// Combustion
case 11129:
{