Spyglasses ("telescope" in code) can crash the game of load if their last use has been cut short by quitting the game.
The reason for this crash is that they don't remove on finish instantly:
local function onfinished(inst) local user = inst.components.inventoryitem:GetGrandOwner() user:ListenForEvent("animover", function() inst:Remove() end) end
As you can see, they wait until the animation ends. By quitting, they never get the chance to remove themselves. When loading again, they'll run onfinished() again but not find a user because that's not loaded yet, effectively crashing the game.
A simple solution is to check if a user exists and instantly remove them if not.
Steps to Reproduce
Use a spyglass (any) with only one use left Pause before the animation finishes Quit the game Load the savefile Crash (line 60 in telescope.lua, code shown above)
This issue has been fixed in either a future version or updated in a previous version.