mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 20:37:34 +01:00
Actual Fixes For Organs (#21269)
So after a long time spent digging really deep into the code, and going over numbers passing into this with a fine comb, I discovered that this entire time, Mobs were being affected by a bug that was largely unnoticed for over a year due to mobs not doing anything that would directly interact with said bug. Right up until I started refactoring organs. Seconds_per_tick that was being passed to mobs was actually ticks_per_second, it was inverted for mobs and only for mobs, everything else worked just fine with time deltas. But when I started making organs use time deltas, I got blindsided by organs doing nonsensical things that seemingly did not match up with what my models were predicting. Case in point, livers. So you can now get drunk again with this PR. I've actually gone around and tested this PR too. <img width="527" height="114" alt="image" src="https://github.com/user-attachments/assets/a9f92233-fe2a-406d-9ddd-104c069bbc3d" /> <img width="601" height="165" alt="image" src="https://github.com/user-attachments/assets/6f6877f3-edd2-441b-9ea2-a29d816558ee" /> And verifying in a dev environment that brain math is now sensible again: <img width="1474" height="814" alt="image" src="https://github.com/user-attachments/assets/07634d23-bfaa-477e-a64f-322bb0a3f3ec" />
This commit is contained in:
@@ -83,7 +83,7 @@ SUBSYSTEM_DEF(mobs)
|
||||
//of course, if we haven't resumed, this comparison would be useless, hence we skip it
|
||||
var/list/currentrun = resumed ? (src.currentrun &= (GLOB.mob_list + processing)) : src.currentrun
|
||||
|
||||
var/seconds_per_tick = wait / (1 SECONDS)
|
||||
var/seconds_per_tick = (1 SECONDS) / wait
|
||||
|
||||
while(length(currentrun))
|
||||
var/datum/thing = currentrun[length(currentrun)]
|
||||
|
||||
Reference in New Issue
Block a user