PDA

Просмотр полной версии : 25d cooldown


roman
09.12.2012, 23:43
У некоторых способностей после применения, кулдаун - 25 дней (например Цепная молния шамана).

14dc6d929f226b86745d7dd0a134f9a866d7f790
src/game/Player.cpp | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 445a8ea..bd59146 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -19909,6 +19909,12 @@ void Player::AddSpellMod(Aura* aura, bool apply)
Modifier const* mod = aura->GetModifier();
uint16 Opcode= (mod->m_auraname == SPELL_AURA_ADD_FLAT_MODIFIER) ? SMSG_SET_FLAT_SPELL_MODIFIER : SMSG_SET_PCT_SPELL_MODIFIER;

+ uint32 modTypeCount = 0; // count of mods per one mod->op
+ WorldPacket data(Opcode, 4 + 4 + 1 + 1 + 4);
+ data << uint32(1); // count of different mod->op's in packet
+ size_t writePos = data.wpos();
+ data << uint32(modTypeCount);
+ data << uint8(mod->m_miscvalue);
for(int eff = 0; eff < 96; ++eff)
{
uint64 _mask = 0;
@@ -19928,15 +19934,14 @@ void Player::AddSpellMod(Aura* aura, bool apply)
val += (*itr)->GetModifier()->m_amount;
}
val += apply ? mod->m_amount : -(mod->m_amount);
- WorldPacket data(Opcode, 4 + 4 + 1 + 1 + 4);
- data << uint32(1);
- data << uint32(1);
- data << uint8(mod->m_miscvalue);
+
data << uint8(eff);
- data << int32(val);
- SendDirectMessage(&data);
+ data << float(val);
+ ++modTypeCount;
}
}
+ data.put<uint32>(writePos, modTypeCount);
+ SendDirectMessage(&data);

if (apply)
m_spellMods[mod->m_miscvalue].push_back(aura);

Автор патча: amaru
http://paste2.org/p/2559240

Amaru
10.12.2012, 00:27
код тринитикора

schmoozerd
20.05.2013, 18:35
Self-Note - I am pretty confident that this only appears to cata
:)