New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handyman Stuck forever (also happened with the Grim Reaper) #1329
Comments
Would be nice to see the save before the handyman issue as I worked a bit on improving that in 0.61. For the stuck Reaper, that is a result of #1165 and fixed in latest master. Evidenced by the grims patient and the hospitals last emergency details - victims =5, cured = 3, killed = 4 |
Sadly i dont have the save right before the Handyman got suck. Not sure if i can replicate if perfectly but i could try. |
Hi, is CorsixTH playable in it's current state? Thanks, |
It is, but im pretty sure the stuck handyman is still getting his salary paid (and even if i fire him, he would make space blocking any room to be build over him, which is annoying) |
@stavrossk yes it completely is. It's stable and is very good |
This error can be reproduced by placing a bench on a tile while an handyman is trying to remove something from that tile (e.g. litter, vomit). |
Thanks @psypod |
A possible solution would be to comment out the line 2205 in world.lua. That would also prevent the abusive usage of objects to manually remove litter. It seems that handyman can clean the litter anyway (just tested). Edit: Not sure about other side-effects. |
If "prevent the abusive usage of objects to manually remove litter" refers to placing an object over litter to remove it that is intentional to replicate how TH allows objects to clean litter. Which comes in handy with vomit waves. |
Well that's no solution then. I rushed through the campaign on original TH last week and didn't came across that possibility so i thought it's an issue. |
With the grim reaper stuck it's a more serious problem, because when he's spawned again for another dead patient, the game crashes without any output whatsoever. Until a fix is found, people who want to play without this bug can find Lua/humanoid_actions/die.lua in the CorsixTH folder, and replace
with just
which will permanently disable the grim reaper. |
Regarding the handyman crashes. I have also seen them happening a couple of times. If you would be interested, this is a savegame just a couple of seconds before one of them:
Thank you very much for creating and maintaining CorsixTH |
The crash case in that savegame seems to have a few things to it: If you pick the handyman who is going to crash, the next handyman (which claims to be heading for the slicer) will a few seconds later go for the same pharmacy plant and cause the same crash. It would seem that this crash would be related to the handyman trying to go to repair the slicer next door, but landing on the pharmacy instead. While the slicer is in good repair the problem disappears. But if the slicer needs a handyman (even 1 hour later in that same game run the handyman will go to the pharmacy and cause the same crash). |
Thank you @ElvarT. Your issue is interesting because it is not litter. |
Existing issue the handyman arriving in the wrong room see #624. I commented a little before with a different explanation but alas, taken a look and can see the slicers handyman position appears to be -1,1 pushing that tile into the pharmacy. Appears to be some sort of problem with the orientations handyman position not updating when orientations are changed. |
I can't replicate the handyman and litter problem using the method mentioned by @psypod
|
This is fixed now as far as I can tell. The warning still happens Grim reaper also seems fine now . |
Hey LloydJara here! I was testing a custom map i made for the current version of CorsixTH (v0.61) and got a bug where a Handyman (and in a past save i currently don't have, the Death shortly before a patient died) got stuck forever on the hospital doing an action. Not sure if a similar ticket exists but i wanted to post this regardless.
I have no save prior to the bug, but i have the savegame when my Handyman got stuck forever while cleaning trash. The Death on the other hand, got stuck after letting the patient go to helll. Both him and his lava got stuck forever in the Hospital.
Here's the mentioned save:
https://dl.dropboxusercontent.com/s/renpn3vye1lagfz/Doctor%20Frog.sav?dl=0
My Operating System is Windows 10. Not sure if this behavior tends to happen on older versions.
https://prnt.sc/i0jcrv Here's also a pic showing the handyman.
Gamelog.txt
If im not wrong, this is the gamelog of the bug:
Created game with savegame version 122.
Error in timer handler:
C:\Program Files\CorsixTH\Lua\world.lua:2134: attempt to perform arithmetic on a nil value (local 'y')
stack traceback:
C:\Program Files\CorsixTH\Lua\world.lua:2134: in method 'removeObjectFromTile'
C:\Program Files\CorsixTH\Lua\objects\litter.lua:99: in method 'remove'
...gram Files\CorsixTH\Lua\humanoid_actions\sweep_floor.lua:45: in local 'timer_function'
C:\Program Files\CorsixTH\Lua\entity.lua:216: in field 'tick'
C:\Program Files\CorsixTH\Lua\entities\staff.lua:149: in method 'tick'
C:\Program Files\CorsixTH\Lua\world.lua:1051: in method 'onTick'
C:\Program Files\CorsixTH\Lua\app.lua:1008: in function <C:\Program Files\CorsixTH\Lua\app.lua:1005>
(...tail calls...)
C:\Program Files\CorsixTH\Lua\app.lua:909: in function <C:\Program Files\CorsixTH\Lua\app.lua:904>
The text was updated successfully, but these errors were encountered: