diff options
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 36 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 25 |
2 files changed, 24 insertions, 37 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e2f7fe49d91..244489628c0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -34,6 +34,7 @@ #include "CharacterDatabaseCleaner.h" #include "Chat.h" #include "CinematicMgr.h" +#include "CombatPackets.h" #include "Common.h" #include "ConditionMgr.h" #include "CreatureAI.h" @@ -20300,12 +20301,6 @@ void Player::UpdateSpeakTime() /*** LOW LEVEL FUNCTIONS:Notifiers ***/ /*********************************************************/ -void Player::SendAttackSwingNotInRange() const -{ - WorldPacket data(SMSG_ATTACKSWING_NOTINRANGE, 0); - SendDirectMessage(&data); -} - void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans) { PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_POSITION); @@ -20347,35 +20342,36 @@ void Player::Customize(CharacterCustomizeInfo const* customizeInfo, SQLTransacti CharacterDatabase.ExecuteOrAppend(trans, stmt); } -void Player::SendAttackSwingDeadTarget() const +void Player::SendAttackSwingCantAttack() const { - WorldPacket data(SMSG_ATTACKSWING_DEADTARGET, 0); - SendDirectMessage(&data); + SendDirectMessage(WorldPackets::Combat::AttackSwingCantAttack().Write()); } -void Player::SendAttackSwingCantAttack() const +void Player::SendAttackSwingCancelAttack() const { - WorldPacket data(SMSG_ATTACKSWING_CANT_ATTACK, 0); - SendDirectMessage(&data); + SendDirectMessage(WorldPackets::Combat::CancelCombat().Write()); } -void Player::SendAttackSwingCancelAttack() const +void Player::SendAttackSwingDeadTarget() const { - WorldPacket data(SMSG_CANCEL_COMBAT, 0); - SendDirectMessage(&data); + SendDirectMessage(WorldPackets::Combat::AttackSwingDeadTarget().Write()); +} + +void Player::SendAttackSwingNotInRange() const +{ + SendDirectMessage(WorldPackets::Combat::AttackSwingNotInRange().Write()); } void Player::SendAttackSwingBadFacingAttack() const { - WorldPacket data(SMSG_ATTACKSWING_BADFACING, 0); - SendDirectMessage(&data); + SendDirectMessage(WorldPackets::Combat::AttackSwingBadFacing().Write()); } void Player::SendAutoRepeatCancel(Unit* target) { - WorldPacket data(SMSG_CANCEL_AUTO_REPEAT, target->GetPackGUID().size()); - data << target->GetPackGUID(); // may be it's target guid - SendMessageToSet(&data, true); + WorldPackets::Combat::CancelAutoRepeat cancelAutoRepeat; + cancelAutoRepeat.Guid = target->GetPackGUID(); // may be it's target guid + SendMessageToSet(cancelAutoRepeat.Write(), true); } void Player::SendExplorationExperience(uint32 Area, uint32 Experience) const diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 7518977c4e1..627d0c7228e 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -26,6 +26,7 @@ #include "Chat.h" #include "ChatPackets.h" #include "ChatTextBuilder.h" +#include "CombatPackets.h" #include "Common.h" #include "ConditionMgr.h" #include "CreatureAI.h" @@ -2275,30 +2276,20 @@ float Unit::CalculateSpellpowerCoefficientLevelPenalty(SpellInfo const* spellInf void Unit::SendMeleeAttackStart(Unit* victim) { - WorldPacket data(SMSG_ATTACKSTART, 8 + 8); - data << uint64(GetGUID()); - data << uint64(victim->GetGUID()); - SendMessageToSet(&data, true); - TC_LOG_DEBUG("entities.unit", "WORLD: Sent SMSG_ATTACKSTART"); + WorldPackets::Combat::AttackStart packet; + packet.Attacker = GetGUID(); + packet.Victim = victim->GetGUID(); + SendMessageToSet(packet.Write(), true); } void Unit::SendMeleeAttackStop(Unit* victim) { - WorldPacket data(SMSG_ATTACKSTOP, (8+8+4)); - data << GetPackGUID(); - if (victim) - data << victim->GetPackGUID(); - else - data << uint8(0); - - data << uint32(0); //! Can also take the value 0x01, which seems related to updating rotation - SendMessageToSet(&data, true); - TC_LOG_DEBUG("entities.unit", "WORLD: Sent SMSG_ATTACKSTOP"); + SendMessageToSet(WorldPackets::Combat::SAttackStop(this, victim).Write(), true); if (victim) - TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUID().GetCounter(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUID().GetCounter()); + TC_LOG_DEBUG("entities.unit", "%s stopped attacking %s", GetGUID().ToString().c_str(), victim->GetGUID().ToString().c_str()); else - TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUID().GetCounter()); + TC_LOG_DEBUG("entities.unit", "%s stopped attacking", GetGUID().ToString().c_str()); } bool Unit::isSpellBlocked(Unit* victim, SpellInfo const* spellProto, WeaponAttackType attackType) |
