Misc bugfixes, COFFEE COUNTS AS A BUGFIX (#21133)

Fixes https://github.com/Aurorastation/Aurora.3/issues/20799
Fixes https://github.com/Aurorastation/Aurora.3/issues/19718
Fixes https://github.com/Aurorastation/Aurora.3/issues/21001

changes:
- bugfix: "Simple mobs no longer allowed to move at hyper-speed when
chasing targets."
- bugfix: "Objects thrown onto Open Space turfs should more reliably
drop down remaining Z-level (if there is gravity)."
  - bugfix: "Area adjustments to fix D3 bunker turret controls."
  - bugfix: "Fixed naming convention for scuttling device compartment."
  - bugfix: "Replaced parent stairwell area with correct child."
- bugfix: "Replaces misleading AI shell exosuit charger with synthetic
recharger."
- qol: "Replaces the Engi break room stripped-down soda dispenser with
stripped-down coffee dispenser."
This commit is contained in:
Batrachophreno
2025-08-10 16:06:38 +00:00
committed by GitHub
parent 17d545f40a
commit a3151b789f
6 changed files with 3864 additions and 3791 deletions
@@ -41,7 +41,13 @@
/datum/move_loop/proc/setup(delay = 1, timeout = INFINITY)
if(!ismovable(moving) || !owner)
return FALSE
// Handle issue of delay 0 being passed for simplemobs.
if(istype(moving, /mob/living/simple_animal))
var/mob/living/simple_animal/moving_sa = moving
if(!delay && moving_sa.seek_speed)
delay = moving_sa.seek_speed
else
delay = 5
src.delay = max(delay, world.tick_lag) //Please...
src.lifetime = timeout
return TRUE
+6 -5
View File
@@ -202,8 +202,9 @@ SUBSYSTEM_DEF(throwing)
if(!thrownthing)
return
thrownthing.throwing = null
var/turf/thrownthing_turf = get_turf(thrownthing)
if (!hit)
for (var/atom/movable/obstacle as anything in get_turf(thrownthing)) //looking for our target on the turf we land on.
for (var/atom/movable/obstacle as anything in thrownthing_turf) //looking for our target on the turf we land on.
if (obstacle == target)
hit = TRUE
thrownthing.throw_impact(obstacle, src)
@@ -211,7 +212,7 @@ SUBSYSTEM_DEF(throwing)
return //deletion should already be handled by on_thrownthing_qdel()
break
if (!hit)
thrownthing.throw_impact(get_turf(thrownthing), src) // we haven't hit something yet and we still must, let's hit the ground.
thrownthing.throw_impact(thrownthing_turf, src) // we haven't hit something yet and we still must, let's hit the ground.
if(QDELETED(thrownthing)) //throw_impact can delete things, such as glasses smashing
return //deletion should already be handled by on_thrownthing_qdel()
thrownthing.newtonian_move(init_dir)
@@ -226,9 +227,9 @@ SUBSYSTEM_DEF(throwing)
if (callback)
callback.Invoke()
// if(!thrownthing.currently_z_moving) // I don't think you can zfall while thrown but hey, just in case.
// var/turf/T = get_turf(thrownthing)
// T?.zFall(thrownthing)
// Stopped on an open turf? Finish the job, gravity!
if(thrownthing_turf.is_open())
ADD_FALLING_ATOM(thrownthing)
if(thrownthing)
SEND_SIGNAL(thrownthing, COMSIG_MOVABLE_THROW_LANDED, src)