From f0d1d58499e33fa2edd22b2f52982e8762bb0ed2 Mon Sep 17 00:00:00 2001 From: Cesar Canassa Date: Wed, 13 Jul 2022 14:34:03 +0200 Subject: [PATCH] :recycle: Remove monsterId from delta_kill_monster --- Source/monster.cpp | 4 ++-- Source/msg.cpp | 12 +++++++----- Source/msg.h | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Source/monster.cpp b/Source/monster.cpp index d1e1e8f5b..91117b1a7 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -1134,7 +1134,7 @@ void StartDeathFromMonster(int i, int mid) assert(static_cast(mid) < MaxMonsters); Monster &monster = Monsters[mid]; - delta_kill_monster(mid, monster.position.tile, *MyPlayer); + delta_kill_monster(monster, monster.position.tile, *MyPlayer); NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, mid); Direction md = GetDirection(monster.position.tile, killer.position.tile); @@ -3930,7 +3930,7 @@ void M_StartKill(int monsterId, int pnum) Monster &monster = Monsters[monsterId]; if (pnum == MyPlayerId) { - delta_kill_monster(monsterId, monster.position.tile, *MyPlayer); + delta_kill_monster(monster, monster.position.tile, *MyPlayer); if (monsterId != pnum) { NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, monsterId); } else { diff --git a/Source/msg.cpp b/Source/msg.cpp index 532315271..dce70a20d 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -1544,9 +1544,10 @@ DWORD OnMonstDeath(const TCmd *pCmd, int pnum) if (gbBufferMsgs != 1) { Player &player = Players[pnum]; if (&player != MyPlayer && InDungeonBounds(position) && message.wParam1 < MaxMonsters) { + Monster &monster = Monsters[message.wParam1]; if (player.isOnActiveLevel()) M_SyncStartKill(message.wParam1, position, pnum); - delta_kill_monster(message.wParam1, position, player); + delta_kill_monster(monster, position, player); } } else { SendPacket(pnum, &message, sizeof(message)); @@ -1563,9 +1564,10 @@ DWORD OnKillGolem(const TCmd *pCmd, int pnum) if (gbBufferMsgs != 1) { Player &player = Players[pnum]; if (&player != MyPlayer && InDungeonBounds(position)) { + Monster &monster = Monsters[pnum]; if (player.isOnActiveLevel()) M_SyncStartKill(pnum, position, pnum); - delta_kill_monster(pnum, position, player); + delta_kill_monster(monster, position, player); } } else { SendPacket(pnum, &message, sizeof(message)); @@ -2256,15 +2258,15 @@ void delta_init() deltaload = false; } -void delta_kill_monster(int mi, Point position, const Player &player) +void delta_kill_monster(const Monster &monster, Point position, const Player &player) { if (!gbIsMultiplayer) return; sgbDeltaChanged = true; - DMonsterStr *pD = &GetDeltaLevel(player).monster[mi]; + DMonsterStr *pD = &GetDeltaLevel(player).monster[monster.getId()]; pD->position = position; - pD->_mdir = Monsters[mi].direction; + pD->_mdir = monster.direction; pD->hitPoints = 0; } diff --git a/Source/msg.h b/Source/msg.h index 27e514ea4..847b67552 100644 --- a/Source/msg.h +++ b/Source/msg.h @@ -721,7 +721,7 @@ void run_delta_info(); void DeltaExportData(int pnum); void DeltaSyncJunk(); void delta_init(); -void delta_kill_monster(int mi, Point position, const Player &player); +void delta_kill_monster(const Monster &monster, Point position, const Player &player); void delta_monster_hp(const Monster &monster, const Player &player); void delta_sync_monster(const TSyncMonster &monsterSync, uint8_t level); uint8_t GetLevelForMultiplayer(const Player &player);