aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Player/Player.cpp36
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp25
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)