[Performance] Re-use OP_Damage packet memory (#4625)

This commit is contained in:
Chris Miles
2025-01-27 15:32:55 -06:00
committed by GitHub
parent 401f1038f3
commit f939f25aa1
3 changed files with 35 additions and 41 deletions
+3 -4
View File
@@ -4564,8 +4564,8 @@ bool Mob::SpellOnTarget(
}
}
message_packet = new EQApplicationPacket(OP_Damage, sizeof(CombatDamage_Struct));
CombatDamage_Struct *cd = (CombatDamage_Struct *)message_packet->pBuffer;
static EQApplicationPacket p(OP_Damage, sizeof(CombatDamage_Struct));
auto cd = (CombatDamage_Struct *) p.pBuffer;
cd->target = action->target;
cd->source = action->source;
cd->type = action->type;
@@ -4583,7 +4583,7 @@ bool Mob::SpellOnTarget(
) {
entity_list.QueueCloseClients(
spelltar, /* Sender */
message_packet, /* Packet */
&p, /* Packet */
false, /* Ignore Sender */
RuleI(Range, SpellMessages),
0, /* Skip this mob */
@@ -4593,7 +4593,6 @@ bool Mob::SpellOnTarget(
}
safe_delete(action_packet);
safe_delete(message_packet);
/*
Bug: When an HP buff with a heal effect is applied for first time, the heal portion of the effect heals the client and