Index: game/SpellAuras.cpp =================================================================== --- game/SpellAuras.cpp (revision 5278) +++ game/SpellAuras.cpp (working copy) @@ -2266,7 +2272,16 @@ else m_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISARMED); + if (m_target->GetTypeId() != TYPEID_PLAYER) + return; + + if (Apply) + m_target->SetAttackTime(BASE_ATTACK,BASE_ATTACK_TIME); + else + ((Player *)m_target)->SetRegularAttackTime(); + m_target->UpdateDamagePhysical(BASE_ATTACK); + } void Aura::HandleAuraModStun(bool apply, bool Real) Index: game/StatSystem.cpp =================================================================== --- game/StatSystem.cpp (revision 5278) +++ game/StatSystem.cpp (working copy) @@ -330,8 +330,8 @@ if(!IsUseEquipedWeapon(attType==BASE_ATTACK)) //check if player is druid and in cat or bear forms { - weapon_mindamage = 0.9 * GetTotalAuraModValue(attPower)/ 14.0f * att_speed; - weapon_maxdamage = 1.1 * GetTotalAuraModValue(attPower)/ 14.0f * att_speed; + weapon_mindamage = BASE_MINDAMAGE; + weapon_maxdamage = BASE_MAXDAMAGE; } else if(attType == RANGED_ATTACK) //add ammo DPS to ranged damage { Index: game/Unit.cpp =================================================================== --- game/Unit.cpp (revision 5278) @@ -8553,7 +8708,7 @@ continue; // Check if current equipment allows aura to proc - if(!isVictim && GetTypeId() == TYPEID_PLAYER && ((Player*)this)->IsUseEquipedWeapon(attType==BASE_ATTACK)) + if(!isVictim && GetTypeId() == TYPEID_PLAYER ) { if(spellProto->EquippedItemClass == ITEM_CLASS_WEAPON) { @@ -8565,6 +8720,9 @@ else item = ((Player*)this)->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_RANGED); + if (!((Player*)this)->IsUseEquipedWeapon(attType==BASE_ATTACK)) + continue; + if(!item || item->IsBroken() || item->GetProto()->Class != ITEM_CLASS_WEAPON || !((1<GetProto()->SubClass) & spellProto->EquippedItemSubClassMask)) continue; }