mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Space Ruin Rework: deepstorage (#25906)
* things were attempted * take two * take three * i meant to add this bit * no linear loot * hopefully this will make things less thingamabob than they are * added indents in deepstorage_award spawner * Sirryan2002's review Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * removed an unnecessary var and documented them * these too * these should've been removed too * added indents to line 53 and 54 * rest of the requested changes * remapped some parts of the ruin, added a few more notes and made ruin monsters not to randomly wander into depths of chasm * changes in chasm.dm + chasm no longer eats lightbulb machinery + made a new subtype of chasm that actually teleports people to a random place instead of dropping them in corner of station z-level * requested changes * commit commit * everything is in shambles * comma * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * warriorstar-orion review * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * Somewhere, a heavy door has opened. + gateopener and fleshling now notifies players about a blast door has been opened * area changes + Floating rock bits now has area + Some lights inside the ruin is now under space/powered area which aligns rest of the chasm lights * little adjustments + changed some floors + replaced some polarized windows with tinted ones (oops) * how did these get in here * Update code/game/turfs/simulated/floor/chasm.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * check if it's space * Update code/modules/awaymissions/mission_code/ruins/deepstorage.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> * changes in turf check + Added two procs that will ping-pong on each other and provide a valid turf * atoms * there can be only one + apparently airless variation of this was introduced in a PR that was merged before this one. * fix + renamed crematorium as incinerator. + removed a rogue morgue tray in incinerator room. + added access to an accessless airlock. + changed improper tags of two blastdoors to relevant ones. --------- Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com> Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
This commit is contained in:
co-authored by
Ryan
warriorstar-orion
parent
a96e634a8e
commit
9a69130da3
@@ -240,3 +240,7 @@
|
||||
/area/ruin/space/telecomms/chamber
|
||||
name = "\improper Telecommunications Central Compartment"
|
||||
icon_state = "ai_chamber"
|
||||
|
||||
/area/ruin/space/deepstorage
|
||||
name = "Derelict Facility"
|
||||
apc_starts_off = TRUE
|
||||
|
||||
@@ -354,3 +354,10 @@
|
||||
name = "80pc vaultdoor 20pc wall"
|
||||
result = list(/obj/machinery/door/airlock/hatch/syndicate/vault = 4,
|
||||
/turf/simulated/wall/mineral/plastitanium/nodiagonal = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/ruin/deepstorage_award
|
||||
name = "boss award"
|
||||
result = list(/obj/item/storage/belt/champion/wrestling = 1,
|
||||
/obj/item/storage/box/telescience = 1,
|
||||
/obj/item/storage/box/syndie_kit/chameleon = 3,
|
||||
/obj/item/rod_of_asclepius = 3)
|
||||
|
||||
@@ -153,6 +153,10 @@
|
||||
atmos_environment = ENVIRONMENT_LAVALAND
|
||||
baseturf = /turf/simulated/floor/lava/mapping_lava
|
||||
|
||||
/turf/simulated/floor/plating/asteroid/basalt/lowpressure
|
||||
oxygen = 8
|
||||
nitrogen = 14
|
||||
|
||||
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface_hard
|
||||
oxygen = LAVALAND_OXYGEN
|
||||
nitrogen = LAVALAND_NITROGEN
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
/obj/effect/dummy/slaughter, //no bloodcrawlers into chasms.
|
||||
/obj/effect/dummy/spell_jaunt, //No jaunters into chasms either.
|
||||
/mob/living/simple_animal/hostile/megafauna, //failsafe
|
||||
/obj/tgvehicle/scooter/skateboard/hoverboard
|
||||
/obj/tgvehicle/scooter/skateboard/hoverboard,
|
||||
/obj/machinery/light // lights hanging on walls shouldn't get chasm'd
|
||||
))
|
||||
var/drop_x = 1
|
||||
var/drop_y = 1
|
||||
@@ -294,3 +295,51 @@
|
||||
drop_y = y
|
||||
var/list/target_z = levels_by_trait(SPAWN_RUINS)
|
||||
drop_z = pick(target_z)
|
||||
|
||||
/turf/simulated/floor/chasm/space_ruin
|
||||
/// Used to keep count of how many times we checked if our target turf was valid.
|
||||
var/times_turfs_checked = 0
|
||||
/// List of all eligible Z levels.
|
||||
var/list/target_z
|
||||
/// Target turf that atoms will be teleported to.
|
||||
var/turf/T
|
||||
|
||||
/turf/simulated/floor/chasm/space_ruin/proc/pick_a_turf(atom/movable/AM)
|
||||
if(times_turfs_checked <= 2)
|
||||
target_z = levels_by_trait(SPAWN_RUINS)
|
||||
target_z -= AM.z // excluding the one atom was already in from possible z levels
|
||||
T = locate(rand(TRANSITIONEDGE + 1, world.maxx - TRANSITIONEDGE - 1), rand(TRANSITIONEDGE + 1, world.maxy - TRANSITIONEDGE - 1), pick(target_z))
|
||||
check_turf(AM)
|
||||
else
|
||||
// If we still fail to pick a random valid turf after 2 attempts, we just send the atom to somewhere valid for certain
|
||||
T = locate(TRANSITIONEDGE + 1, TRANSITIONEDGE + 1, pick(target_z))
|
||||
|
||||
|
||||
/turf/simulated/floor/chasm/space_ruin/proc/check_turf(atom/movable/AM)
|
||||
times_turfs_checked++
|
||||
if(istype(get_area(T), /area/space))
|
||||
return
|
||||
else
|
||||
pick_a_turf(AM)
|
||||
|
||||
/turf/simulated/floor/chasm/space_ruin/drop(atom/movable/AM)
|
||||
//Make sure the item is still there after our sleep
|
||||
if(!AM || QDELETED(AM))
|
||||
return
|
||||
falling_atoms[AM] = TRUE
|
||||
pick_a_turf(AM)
|
||||
if(T)
|
||||
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>GAH! Ah... where are you?</span>")
|
||||
T.visible_message("<span class='boldwarning'>[AM] falls from above!</span>")
|
||||
AM.forceMove(T)
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
L.Weaken(10 SECONDS)
|
||||
L.adjustBruteLoss(30)
|
||||
times_turfs_checked = 0 // We successfully teleported the atom, let's reset the count
|
||||
falling_atoms -= AM
|
||||
|
||||
/turf/simulated/floor/chasm/space_ruin/airless
|
||||
oxygen = 0
|
||||
nitrogen = 0
|
||||
temperature = TCMB
|
||||
|
||||
Reference in New Issue
Block a user