Continuing from #989
This is more a fundamental issue with how interaction works. I don't think things should be called a second time even when suspended. Should resumeSuspension() even belong in Interact?
When you interact with some things. e.g. setting up pitfall traps.
- Interact with object
- Object has suspend and replace
- As object has suspended
interactionFinished() returns false and the interact loop tries again next tick
- Second attempt fails as the object now has a different id i.e.
Trap:pitfall_0 (which is invalid) and so hasOperate() and hasApproach() fail and if the player is withinMelee noInterest() is called instead.
Continuing from #989
This is more a fundamental issue with how interaction works. I don't think things should be called a second time even when suspended. Should
resumeSuspension()even belong in Interact?When you interact with some things. e.g. setting up pitfall traps.
interactionFinished()returns false and the interact loop tries again next tickTrap:pitfall_0(which is invalid) and so hasOperate() and hasApproach() fail and if the player iswithinMeleenoInterest() is called instead.