mirror of
https://github.com/araxiaonline/TrinityCore2.git
synced 2026-06-19 14:29:33 -04:00
Core/Spells: fixed SMSG_SET_FLAT_SPELL_MODIFIER and SMSG_SET_PCT_SPELL_MODIFIER by Shauren
changed TOTAL_AURAS to 363 (biggest number in dbc files)
This commit is contained in:
@@ -19923,9 +19923,15 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply)
|
||||
|
||||
int i = 0;
|
||||
flag96 _mask = 0;
|
||||
uint32 modTypeCount = 0; // count of mods per one mod->op
|
||||
WorldPacket data(Opcodes(opcode), 1);
|
||||
data << uint32(1); // count of different mod->op's in packet
|
||||
size_t writePos = data.wpos();
|
||||
data << uint32(modTypeCount);
|
||||
data << uint8(mod->op);
|
||||
for (int eff = 0; eff < 96; ++eff)
|
||||
{
|
||||
if (eff != 0 && eff % 32 == 0)
|
||||
if (eff != 0 && (eff % 32) == 0)
|
||||
_mask[i++] = 0;
|
||||
|
||||
_mask[i] = uint32(1) << (eff - (32 * i));
|
||||
@@ -19936,16 +19942,14 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply)
|
||||
if ((*itr)->type == mod->type && (*itr)->mask & _mask)
|
||||
val += (*itr)->value;
|
||||
val += apply ? mod->value : -(mod->value);
|
||||
WorldPacket data(Opcodes(opcode), (1+1+4));
|
||||
|
||||
data << uint8(eff);
|
||||
data << uint8(mod->op);
|
||||
data << int32(val);
|
||||
if (opcode == SMSG_SET_PCT_SPELL_MODIFIER)
|
||||
data << uint8(0); // 4.x unk
|
||||
SendDirectMessage(&data);
|
||||
data << float(val);
|
||||
++modTypeCount;
|
||||
}
|
||||
}
|
||||
|
||||
data.put<uint32>(writePos, modTypeCount);
|
||||
SendDirectMessage(&data);
|
||||
if (apply)
|
||||
m_spellMods[mod->op].push_back(mod);
|
||||
else
|
||||
|
||||
@@ -677,8 +677,8 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(SMSG_SPELLORDAMAGE_IMMUNE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBidderItems );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_LIST_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveMoverOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCancelAuraOpcode );
|
||||
|
||||
@@ -413,7 +413,7 @@ enum AuraType
|
||||
SPELL_AURA_351 = 351,
|
||||
SPELL_AURA_352 = 352,
|
||||
SPELL_AURA_MOD_CAMOUFLAGE = 353, // NYI
|
||||
TOTAL_AURAS = 354
|
||||
TOTAL_AURAS = 363 // 4.2.2
|
||||
};
|
||||
|
||||
enum AuraObjectType
|
||||
|
||||
Reference in New Issue
Block a user