diff --git a/Source/missiles.cpp b/Source/missiles.cpp index df1552069..63f28ab81 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3839,7 +3839,7 @@ void MI_Rhino(MissileStruct &missile) UpdateMissilePos(missile); Point newPos = missile.position.tile; if (!IsTileAvailable(monster, newPos) || (monster._mAi == AI_SNAKE && !IsTileAvailable(monster, newPosSnake))) { - MissToMonst(i, prevPos); + MissToMonst(missile, prevPos); missile._miDelFlag = true; return; } diff --git a/Source/monster.cpp b/Source/monster.cpp index 8085c6065..991a37624 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -4769,19 +4769,16 @@ void PlayEffect(MonsterStruct &monster, int mode) #endif } -void MissToMonst(int i, Point position) +void MissToMonst(MissileStruct &missile, Point position) { - assert(i >= 0 && i < MAXMISSILES); - - MissileStruct *miss = &Missiles[i]; - int m = miss->_misource; + int m = missile._misource; assert(m >= 0 && m < MAXMONSTERS); auto &monster = Monsters[m]; - Point oldPosition = miss->position.tile; + Point oldPosition = missile.position.tile; dMonster[position.x][position.y] = m + 1; - monster._mdir = static_cast(miss->_mimfnum); + monster._mdir = static_cast(missile._mimfnum); monster.position.tile = position; M_StartStand(monster, monster._mdir); if (monster.MType->mtype < MT_INCIN || monster.MType->mtype > MT_HELLBURN) { diff --git a/Source/monster.h b/Source/monster.h index d004ac81d..f48555614 100644 --- a/Source/monster.h +++ b/Source/monster.h @@ -275,7 +275,7 @@ void M_FallenFear(Point position); void PrintMonstHistory(int mt); void PrintUniqueHistory(); void PlayEffect(MonsterStruct &monster, int mode); -void MissToMonst(int i, Point position); +void MissToMonst(MissileStruct &missile, Point position); bool IsTileAvailable(const MonsterStruct &monster, Point position); bool IsSkel(int mt); bool IsGoat(int mt);