CorsixTH / CorsixTH

Open source clone of Theme Hospital
Other
3.99k stars 360 forks source link

Call is not cancelled from the call dispatcher when a patient died or left the hospital #838

Open ghost opened 9 years ago

ghost commented 9 years ago

I am not sure if there is already a similar issue available, it might be possible that i read something like that, but i can't find it now.

In the savegame is a Slack Tongue room. A patient was there and he died, now when i put the doctor on the corridor he is walking to the Slack Tongue room, where is nobody.

I think when a patient dies the 'job' should be removed from the room or the doctor (or where ever it is not removed).

savagame (v103): http://filebin.ca/29zAra871sQ3/whereheisgoing.sav

MarkL1961 commented 9 years ago

Perhaps he has no other place to go right now and the logic in the game is for staff to return to their last room until needed. Is a Dr needed somewhere else?

ghost commented 9 years ago
MarkL1961 commented 9 years ago

Confirmed, the call is not getting cancelled in the calls dispatcher

ghost commented 8 years ago

I had a short look into this, a call of a patient is not cancelled when the patient die() or goHome().

The functions self:unregisterCallbacks() and self.world.dispatcher:dropFromQueue(self) don't do anything in this case (or at least it doesn't cancel the call)

mugmuggy commented 5 years ago

Looked at TH by building GP and one of the diagnosis rooms. Place doctor in the diagnosis room. Waited for patient, as soon as patient leaves reception, send them home. Doctor leaves diagnosis room and heads to GP office anyway. So behaviour appears consistent with the original.

The question would then be how changing this would sit with the game balance. As having a doctor go to the room, wasting that time is a punishment for not having staffed rooms, staff close enough and dealing with patients quick enough on top of the reputation impacts.

The other side of the argument is something of the point in #1290. Not so evident in your game here with only one Doctor, but for what should be addressed overthere, is that staff that are wandering the corridors could answer calls further away than a staff member leaving the current room to make this less likely to have staff shuffle rooms.

ghost commented 5 years ago

@mugmuggy that also happened with several doctors, staff and an overcrowded hospital (no more space, no more money, not enough stuff, ..) where patients die or leave. But it isn't visible as if it is overcrowded other patients are waiting for the same room, mostly. It might be visible with rarely used rooms, only. But should easily reproducible, too.

lewri commented 5 months ago

Just to update this one still exists in 0.67