diff --git a/Source/objects.cpp b/Source/objects.cpp index bf9af771d..83f65bf9a 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -4320,9 +4320,8 @@ int ItemMiscIdIdx(item_misc_id imiscid) return i; } -void OperateObject(Player &player, int i) +void OperateObject(Player &player, Object &object) { - Object &object = Objects[i]; bool sendmsg = &player == MyPlayer; switch (object._otype) { diff --git a/Source/objects.h b/Source/objects.h index 9fd99d8eb..cd134c7c2 100644 --- a/Source/objects.h +++ b/Source/objects.h @@ -314,7 +314,7 @@ void MonstCheckDoors(const Monster &monster); void ObjChangeMap(int x1, int y1, int x2, int y2); void ObjChangeMapResync(int x1, int y1, int x2, int y2); int ItemMiscIdIdx(item_misc_id imiscid); -void OperateObject(Player &player, int i); +void OperateObject(Player &player, Object &object); void SyncOpObject(Player &player, int cmd, Object &object); void BreakObjectMissile(Object &object); void BreakObject(const Player &player, Object &object); diff --git a/Source/player.cpp b/Source/player.cpp index 2953a11f8..d834140e2 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1480,7 +1480,7 @@ void CheckNewPath(Player &player, bool pmWillBeCalled) d = GetDirection(player.position.tile, object->position); StartAttack(player, d); } else { - OperateObject(player, targetId); + OperateObject(player, *object); } } break; @@ -1491,13 +1491,13 @@ void CheckNewPath(Player &player, bool pmWillBeCalled) StartAttack(player, d); } else { TryDisarm(player, *object); - OperateObject(player, targetId); + OperateObject(player, *object); } } break; case ACTION_OPERATETK: if (object->_oBreak != 1) { - OperateObject(player, targetId); + OperateObject(player, *object); } break; case ACTION_PICKUPITEM: