From 76da2d14c93788c1a14ee30a96716699184648bb Mon Sep 17 00:00:00 2001 From: Cesar Canassa Date: Mon, 4 Jul 2022 11:54:53 +0200 Subject: [PATCH] Remove monsterId from M_GetKnockback (#4882) --- Source/missiles.cpp | 10 +++++----- Source/monster.cpp | 4 +--- Source/monster.h | 2 +- Source/msg.cpp | 2 +- Source/player.cpp | 14 +++++++------- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 28a29eace..2e39f5697 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -182,9 +182,9 @@ void MoveMissilePos(Missile &missile) } } -bool MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, missile_id t, bool shift) +bool MonsterMHit(int pnum, int monsterId, int mindam, int maxdam, int dist, missile_id t, bool shift) { - auto &monster = Monsters[m]; + auto &monster = Monsters[monsterId]; if (!monster.IsPossibleToHit() || monster.IsImmune(t)) return false; @@ -244,14 +244,14 @@ bool MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, missile_id t monster._mFlags |= MFLAG_NOHEAL; if (monster._mhitpoints >> 6 <= 0) { - M_StartKill(m, pnum); + M_StartKill(monsterId, pnum); } else if (resist) { PlayEffect(monster, 1); } else { if (monster._mmode != MonsterMode::Petrified && MissilesData[t].mType == 0 && HasAnyOf(player._pIFlags, ItemSpecialEffect::Knockback)) - M_GetKnockback(m); + M_GetKnockback(monster); if (monster.type().type != MT_GOLEM) - M_StartHit(m, pnum, dam); + M_StartHit(monsterId, pnum, dam); } if (monster._msquelch == 0) { diff --git a/Source/monster.cpp b/Source/monster.cpp index 8ee8ac7f2..dc70d8271 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -3884,10 +3884,8 @@ void M_ClearSquares(const Monster &monster) } } -void M_GetKnockback(int monsterId) +void M_GetKnockback(Monster &monster) { - auto &monster = Monsters[monsterId]; - Direction dir = Opposite(monster._mdir); if (!IsRelativeMoveOK(monster, monster.position.old, dir)) { return; diff --git a/Source/monster.h b/Source/monster.h index 0a148c9ff..fff2f4041 100644 --- a/Source/monster.h +++ b/Source/monster.h @@ -306,7 +306,7 @@ void AddDoppelganger(Monster &monster); bool M_Talker(const Monster &monster); void M_StartStand(Monster &monster, Direction md); void M_ClearSquares(const Monster &monster); -void M_GetKnockback(int monsterId); +void M_GetKnockback(Monster &monster); void M_StartHit(int monsterId, int dam); void M_StartHit(int monsterId, int pnum, int dam); void StartMonsterDeath(int monsterId, int pnum, bool sendmsg); diff --git a/Source/msg.cpp b/Source/msg.cpp index 3c0cd68bc..f54d33660 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -1434,7 +1434,7 @@ DWORD OnKnockback(const TCmd *pCmd, int pnum) const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs != 1 && Players[pnum].isOnActiveLevel() && message.wParam1 < MaxMonsters) { - M_GetKnockback(message.wParam1); + M_GetKnockback(Monsters[message.wParam1]); M_StartHit(message.wParam1, pnum, 0); } diff --git a/Source/player.cpp b/Source/player.cpp index f5ebf9215..a530bad61 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -796,14 +796,14 @@ bool DamageWeapon(Player &player, int durrnd) return false; } -bool PlrHitMonst(int pnum, int m, bool adjacentDamage = false) +bool PlrHitMonst(int pnum, int monsterId, bool adjacentDamage = false) { int hper = 0; - if ((DWORD)m >= MaxMonsters) { - app_fatal(fmt::format("PlrHitMonst: illegal monster {}", m)); + if ((DWORD)monsterId >= MaxMonsters) { + app_fatal(fmt::format("PlrHitMonst: illegal monster {}", monsterId)); } - auto &monster = Monsters[m]; + auto &monster = Monsters[monsterId]; if ((DWORD)pnum >= MAX_PLRS) { app_fatal(fmt::format("PlrHitMonst: illegal player {}", pnum)); @@ -971,11 +971,11 @@ bool PlrHitMonst(int pnum, int m, bool adjacentDamage = false) } #endif if ((monster._mhitpoints >> 6) <= 0) { - M_StartKill(m, pnum); + M_StartKill(monsterId, pnum); } else { if (monster._mmode != MonsterMode::Petrified && HasAnyOf(player._pIFlags, ItemSpecialEffect::Knockback)) - M_GetKnockback(m); - M_StartHit(m, pnum, dam); + M_GetKnockback(monster); + M_StartHit(monsterId, pnum, dam); } return true;