mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
Leg actuators for RIGs (#2421)
Preview: https://kama.skullnet.me/index.php/s/GsEdb7q733nO1LK Okay. These modules allow you to fall from any height without taking damage. As long as your suit is powered and they're enabled, anyways. Secondly, they allow you to leap! Civilian grade allow you to leap 4 tiles, military grade ones (syndicate + ERT commander) allow you to leap 7 tiles and to also grapple people (Vox leap feature). On top of that, if you middle click on the tile you're on with them selected, you will try to leap upwards. If the tile you're facing above you is a solid (non-open turf, but not dense either), then you will start to climb onto that tile. Civilian grade model isn't powerful enough to jump you there fully, so you gotta spend 4 seconds grappling for your life. Get interrupted in that time, you fall. Military grade models hop you instantly.
This commit is contained in:
@@ -189,8 +189,12 @@
|
||||
if(locate(/obj/structure/lattice, dest) || locate(/obj/structure/stairs, dest))
|
||||
return FALSE
|
||||
|
||||
// The var/climbers API is implemented here.
|
||||
if (LAZYLEN(dest.climbers) && (src in dest.climbers))
|
||||
return FALSE
|
||||
|
||||
// See if something prevents us from falling.
|
||||
for(var/atom/A in below)
|
||||
for (var/atom/A in below)
|
||||
if(!A.CanPass(src, dest))
|
||||
return FALSE
|
||||
|
||||
@@ -212,6 +216,10 @@
|
||||
// Only things that stop mechas are atoms that, well, stop them.
|
||||
// Lattices and stairs get crushed in fall_through.
|
||||
/obj/mecha/can_fall(turf/below, turf/simulated/open/dest = src.loc)
|
||||
// The var/climbers API is implemented here.
|
||||
if (LAZYLEN(dest.climbers) && (src in dest.climbers))
|
||||
return FALSE
|
||||
|
||||
// See if something prevents us from falling.
|
||||
for(var/atom/A in below)
|
||||
if(!A.CanPass(src, dest))
|
||||
|
||||
@@ -42,6 +42,9 @@
|
||||
|
||||
var/tmp/depth
|
||||
|
||||
var/tmp/list/climbers // A lazy list to contain a list of mobs who are currently scaling
|
||||
// up this turf. Used in human/can_fall.
|
||||
|
||||
// An override of turf/Enter() to make it so that magboots allow you to stop
|
||||
// falling off the damned rock.
|
||||
/turf/simulated/open/Enter(mob/living/carbon/human/mover, atom/oldloc)
|
||||
@@ -66,6 +69,10 @@
|
||||
above = null
|
||||
|
||||
below = null
|
||||
|
||||
LAZYCLEARLIST(climbers)
|
||||
UNSETEMPTY(climbers)
|
||||
|
||||
return ..()
|
||||
|
||||
/turf/simulated/open/get_smooth_underlay_icon(image/underlay_appearance, turf/asking_turf, adjacency_dir)
|
||||
|
||||
Reference in New Issue
Block a user