Browse Source

♻️ Remove monsterId from delta_kill_monster

pull/4943/head
Cesar Canassa 4 years ago committed by Anders Jenbo
parent
commit
f0d1d58499
  1. 4
      Source/monster.cpp
  2. 12
      Source/msg.cpp
  3. 2
      Source/msg.h

4
Source/monster.cpp

@ -1134,7 +1134,7 @@ void StartDeathFromMonster(int i, int mid)
assert(static_cast<size_t>(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 {

12
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;
}

2
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);

Loading…
Cancel
Save