handle devil's/demon's in EnemyDamageSync
This commit is contained in:
+11
-8
@@ -7518,14 +7518,17 @@ struct G_RejectBattleStartRequest_Ep3_6xB4x53 {
|
||||
// GC v3: PSOGCCharacterFile::Character
|
||||
// XB v3: PSOXBCharacterFile::Character
|
||||
|
||||
// 6xE4: Increment enemy damage threshold
|
||||
// 6xE4: Increment enemy damage
|
||||
// This command increments or decrements the amount of damage an enemy has
|
||||
// sustained. This replaces the use of total_damage in 6x0A to update enemy HP.
|
||||
// sustained. This replaces the use of total_damage in 6x0A to update enemy HP
|
||||
// when used with the EnemyDamageSync patch.
|
||||
|
||||
struct G_IncrementEnemyDamage_Extension_6xE4 {
|
||||
G_EntityIDHeader header = {0xE4, sizeof(G_IncrementEnemyDamage_Extension_6xE4) / 4, 0x0000};
|
||||
le_int16_t hit_amount = 0;
|
||||
le_uint16_t total_damage_before_hit = 0;
|
||||
le_uint16_t current_hp_before_hit = 0;
|
||||
le_uint16_t max_hp = 0;
|
||||
} __packed_ws__(G_IncrementEnemyDamage_Extension_6xE4, 0x0C);
|
||||
/* 00 */ G_EntityIDHeader header = {0xE4, sizeof(G_IncrementEnemyDamage_Extension_6xE4) / 4, 0x0000};
|
||||
/* 04 */ le_int16_t hit_amount = 0;
|
||||
/* 06 */ le_uint16_t total_damage_before_hit = 0;
|
||||
/* 08 */ le_uint16_t current_hp_before_hit = 0;
|
||||
/* 0A */ le_uint16_t max_hp = 0;
|
||||
/* 0C */ le_float factor = -1.0;
|
||||
/* 10 */
|
||||
} __packed_ws__(G_IncrementEnemyDamage_Extension_6xE4, 0x10);
|
||||
|
||||
@@ -3460,9 +3460,10 @@ static asio::awaitable<void> on_incr_enemy_damage(shared_ptr<Client> c, Subcomma
|
||||
}
|
||||
auto ene_st = l->map_state->enemy_state_for_index(c->version(), c->floor, cmd.header.entity_id & 0x0FFF);
|
||||
|
||||
c->log.info_f("E-{:03X} damage incremented by {}; before hit, damage was {} (cmd) or {} (ene_st) and HP was {}/{}",
|
||||
c->log.info_f("E-{:03X} damage incremented by {} with factor {}; before hit, damage was {} (cmd) or {} (ene_st) and HP was {}/{}",
|
||||
ene_st->e_id,
|
||||
cmd.hit_amount.load(),
|
||||
cmd.factor.load(),
|
||||
ene_st->total_damage,
|
||||
cmd.total_damage_before_hit.load(),
|
||||
cmd.current_hp_before_hit.load(),
|
||||
|
||||
Reference in New Issue
Block a user