Browse Source

Remove bLevel from delta_kill_monster_ and delta_monster_hp

pull/4727/head
obligaron 4 years ago committed by Anders Jenbo
parent
commit
8637e05650
  1. 8
      Source/monster.cpp
  2. 17
      Source/msg.cpp
  3. 4
      Source/msg.h

8
Source/monster.cpp

@ -1061,7 +1061,7 @@ void MonsterHitMonster(int mid, int i, int dam)
if (i >= 0 && i < MAX_PLRS)
monster.mWhoHit |= 1 << i;
delta_monster_hp(mid, monster._mhitpoints, currlevel);
delta_monster_hp(mid, monster._mhitpoints, *MyPlayer);
NetSendCmdMonDmg(false, mid, dam);
PlayEffect(monster, 1);
@ -1142,7 +1142,7 @@ void StartDeathFromMonster(int i, int mid)
assert(mid >= 0 && mid < MAXMONSTERS);
Monster &monster = Monsters[mid];
delta_kill_monster(mid, monster.position.tile, currlevel);
delta_kill_monster(mid, monster.position.tile, *MyPlayer);
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, mid);
Direction md = GetDirection(monster.position.tile, killer.position.tile);
@ -3976,7 +3976,7 @@ void M_StartHit(int i, int pnum, int dam)
if (pnum >= 0)
monster.mWhoHit |= 1 << pnum;
if (pnum == MyPlayerId) {
delta_monster_hp(i, monster._mhitpoints, currlevel);
delta_monster_hp(i, monster._mhitpoints, *MyPlayer);
NetSendCmdMonDmg(false, i, dam);
}
PlayEffect(monster, 1);
@ -4007,7 +4007,7 @@ void M_StartKill(int i, int pnum)
auto &monster = Monsters[i];
if (MyPlayerId == pnum) {
delta_kill_monster(i, monster.position.tile, currlevel);
delta_kill_monster(i, monster.position.tile, *MyPlayer);
if (i != pnum) {
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, i);
} else {

17
Source/msg.cpp

@ -1519,7 +1519,7 @@ DWORD OnMonstDeath(const TCmd *pCmd, int pnum)
Player &player = Players[pnum];
if (player.isOnActiveLevel())
M_SyncStartKill(message.wParam1, position, pnum);
delta_kill_monster(message.wParam1, position, player.plrlevel);
delta_kill_monster(message.wParam1, position, player);
}
return sizeof(message);
@ -1533,9 +1533,10 @@ DWORD OnKillGolem(const TCmd *pCmd, int pnum)
if (gbBufferMsgs == 1)
SendPacket(pnum, &message, sizeof(message));
else if (pnum != MyPlayerId && InDungeonBounds(position) && message.wParam1 < NUMLEVELS) {
if (currlevel == message.wParam1)
Player &player = Players[pnum];
if (player.isOnActiveLevel())
M_SyncStartKill(pnum, position, pnum);
delta_kill_monster(pnum, position, message.wParam1);
delta_kill_monster(pnum, position, player);
}
return sizeof(message);
@ -1581,7 +1582,7 @@ DWORD OnMonstDamage(const TCmd *pCmd, int pnum)
monster._mhitpoints -= message.dwDam;
if ((monster._mhitpoints >> 6) < 1)
monster._mhitpoints = 1 << 6;
delta_monster_hp(message.wMon, monster._mhitpoints, player.plrlevel);
delta_monster_hp(message.wMon, monster._mhitpoints, player);
}
}
}
@ -2191,26 +2192,26 @@ void delta_init()
deltaload = false;
}
void delta_kill_monster(int mi, Point position, uint8_t bLevel)
void delta_kill_monster(int mi, Point position, const Player &player)
{
if (!gbIsMultiplayer)
return;
sgbDeltaChanged = true;
DMonsterStr *pD = &GetDeltaLevel(bLevel).monster[mi];
DMonsterStr *pD = &GetDeltaLevel(player).monster[mi];
pD->_mx = position.x;
pD->_my = position.y;
pD->_mdir = Monsters[mi]._mdir;
pD->_mhitpoints = 0;
}
void delta_monster_hp(int mi, int hp, uint8_t bLevel)
void delta_monster_hp(int mi, int hp, const Player &player)
{
if (!gbIsMultiplayer)
return;
sgbDeltaChanged = true;
DMonsterStr *pD = &GetDeltaLevel(bLevel).monster[mi];
DMonsterStr *pD = &GetDeltaLevel(player).monster[mi];
if (pD->_mhitpoints > hp)
pD->_mhitpoints = hp;
}

4
Source/msg.h

@ -721,8 +721,8 @@ void run_delta_info();
void DeltaExportData(int pnum);
void DeltaSyncJunk();
void delta_init();
void delta_kill_monster(int mi, Point position, uint8_t bLevel);
void delta_monster_hp(int mi, int hp, uint8_t bLevel);
void delta_kill_monster(int mi, Point position, const Player &player);
void delta_monster_hp(int mi, int hp, const Player &player);
void delta_sync_monster(const TSyncMonster &monsterSync, uint8_t level);
void DeltaAddItem(int ii);
void DeltaSaveLevel();

Loading…
Cancel
Save