aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-12-28 13:07:54 +0100
committerShauren <none@none>2010-12-28 13:07:54 +0100
commit9ac813e147a9214388fdc9d8b006e53cd314429c (patch)
treed9946b15dfa7676630dcd2d47f5c8f3fac687841
parent0f6533e4bd7bfd1725a5fa9a67ea3bffc8e5ae65 (diff)
Core/Player: Fixed weapon swap macro while in combat
Closes issue #4954. --HG-- branch : trunk
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 4dd0efbeaa6..a0e1de6959d 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -11040,7 +11040,7 @@ uint8 Player::CanEquipItem(uint8 slot, uint16 &dest, Item *pItem, bool swap, boo
return EQUIP_ERR_NOT_DURING_ARENA_MATCH;
}
- if (isInCombat()&& pProto->Class == ITEM_CLASS_WEAPON && m_weaponChangeTimer != 0)
+ if (isInCombat()&& (pProto->Class == ITEM_CLASS_WEAPON || pProto->InventoryType == INVTYPE_RELIC) && m_weaponChangeTimer != 0)
return EQUIP_ERR_CANT_DO_RIGHT_NOW; // maybe exist better err
if (IsNonMeleeSpellCasted(false))
@@ -11752,7 +11752,7 @@ Item* Player::EquipItem(uint16 pos, Item *pItem, bool update)
{
m_weaponChangeTimer = spellProto->StartRecoveryTime;
- CastSpell(this, cooldownSpell, false); // Needed for server side GCD
+ AddGlobalCooldown(spellProto, NULL); // NULL spell is safe (needed for serverside GCD
WorldPacket data(SMSG_SPELL_COOLDOWN, 8+1+4);
data << uint64(GetGUID());