Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SinguloStation essentials #2

Merged
merged 31 commits into from
May 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4870154
added a lot of singulo stuff, still broken af
Terra1 Mar 2, 2024
bc40033
jsx
Terra1 Mar 2, 2024
aa297cd
remove stupidity
Terra1 Mar 2, 2024
91128fd
fixed some stuff and improved the map
Terra1 Mar 3, 2024
ce96aff
fixed (almost) everything
Terra1 Mar 4, 2024
d001801
tried to fix some stuff, don't think it worked, but progress, maybe
Terra1 Mar 5, 2024
0b97fec
fixed everything
Terra1 Mar 8, 2024
146817d
linter stuff
Terra1 Mar 8, 2024
b0e6d08
I think this might be the final commit
Terra1 Mar 8, 2024
2bfa6da
kanske, kanske
Terra1 Mar 8, 2024
a5d7bcb
kanske kanske kanske
Terra1 Mar 8, 2024
e05dc06
probably fixes it
Terra1 Mar 8, 2024
7d8ba85
yeah this should work
Terra1 Mar 9, 2024
b214563
whoops
Terra1 Mar 9, 2024
71842db
LET THERE BE LIGHT!
Terra1 Mar 9, 2024
0c52859
fuck off atmos sanity for ruining my moment
Terra1 Mar 9, 2024
1c3739f
Update code/game/turfs/closed/minerals.dm
Terra1 Mar 11, 2024
3b94835
Update all_nodes.dm
Terra1 Mar 15, 2024
182bade
code cleanup, lots and lots of code cleanup
Terra1 Mar 16, 2024
3e10990
This has no business working, but it does.
Terra1 Mar 21, 2024
72db31f
Update code/game/turfs/closed/minerals.dm
Terra1 Mar 21, 2024
4dbbae7
Xyraeon Mark II
Terra1 Mar 24, 2024
19d2165
whoops, division by zero
Terra1 Mar 24, 2024
e648d8b
Map changes.
Terra1 Mar 28, 2024
19c7ccf
Seriously fucked up the map and only just noticed.
Terra1 Mar 28, 2024
0f5c14e
Fixes minor map bug
Terra1 Apr 28, 2024
1d0af92
Comments out locate_weakpoint.dm and adds an "added for SinguloStatio…
Terra1 May 12, 2024
71b0dd5
Fixes the linter, Xyraeon atmos, and ore vents.
Terra1 May 12, 2024
65b8397
I hate you so much, "ticked file enforcement".
Terra1 May 12, 2024
b812d0a
Adds the mapload argument.
Terra1 May 12, 2024
e2f4f28
Removed unnecessary logout.dm
Terra1 May 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
264,653 changes: 264,653 additions & 0 deletions _maps/map_files/Xyraeon-9b/xyraeon9b.dmm

Large diffs are not rendered by default.

105 changes: 64 additions & 41 deletions _maps/map_files/debug/runtimestation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,10 @@
/obj/machinery/light/directional/east,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
"aZ" = (
/obj/machinery/cryopod/latejoin,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"ba" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plating,
Expand Down Expand Up @@ -1933,6 +1937,10 @@
/obj/machinery/door/airlock/shell,
/turf/open/floor/iron/dark,
/area/station/construction)
"sK" = (
/obj/machinery/vending/boozeomat/all_access,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"tE" = (
/obj/machinery/door/airlock/research,
/turf/open/floor/iron/dark,
Expand Down Expand Up @@ -2072,6 +2080,10 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/bitrunning/den)
"Al" = (
/obj/structure/table,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"AP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 8
Expand Down Expand Up @@ -2355,6 +2367,13 @@
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
"Py" = (
/obj/machinery/computer/cryopod{
pixel_x = 32;
dir = 8
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"PJ" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
Expand Down Expand Up @@ -2426,6 +2445,10 @@
/obj/item/bitrunning_debug,
/turf/open/floor/iron,
/area/station/cargo/bitrunning/den)
"SZ" = (
/obj/machinery/door/airlock,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"Td" = (
/obj/machinery/light/directional/east,
/obj/effect/turf_decal/stripes/line{
Expand Down Expand Up @@ -5344,12 +5367,12 @@ dY
gC
eh
dY
aa
aa
aa
aa
aa
aa
dY
dY
dY
dY
dY
dY
aa
aa
aa
Expand Down Expand Up @@ -5435,6 +5458,12 @@ aa
en
ek
eh
en
Al
Al
Al
Al
Al
dY
aa
aa
Expand Down Expand Up @@ -5474,12 +5503,6 @@ aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
(32,1,1) = {"
aa
Expand Down Expand Up @@ -5527,6 +5550,12 @@ dY
dY
ek
eh
en
eh
eh
eh
eh
eh
dY
aa
aa
Expand Down Expand Up @@ -5566,12 +5595,6 @@ aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
(33,1,1) = {"
aa
Expand Down Expand Up @@ -5619,6 +5642,12 @@ eV
eh
ek
eh
SZ
eh
eh
eh
eh
eh
dY
aa
aa
Expand Down Expand Up @@ -5658,12 +5687,6 @@ aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
(34,1,1) = {"
aa
Expand Down Expand Up @@ -5711,6 +5734,12 @@ ei
Qi
fZ
eh
en
eh
eh
eh
Py
eh
dY
aa
aa
Expand Down Expand Up @@ -5750,12 +5779,6 @@ aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
(35,1,1) = {"
aa
Expand Down Expand Up @@ -5803,13 +5826,13 @@ eh
rn
eh
eh
en
aZ
aZ
aZ
dY
sK
dY
aa
aa
aa
aa
aa
aa
aa
aa
aa
Expand Down Expand Up @@ -5897,11 +5920,11 @@ en
dY
dY
dY
aa
aa
aa
aa
aa
dY
dY
dY
dY
dY
aa
aa
aa
Expand Down
62 changes: 62 additions & 0 deletions _maps/xyraeon-9b.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"version": 1,
"map_name": "Xyraeon-9b",
"map_path": "map_files/Xyraeon-9b",
"map_file": "xyraeon9b.dmm",
"space_ruin_levels": 0,
"space_empty_levels": 0,
"planetary": 1,
"shuttles": {
"cargo": "cargo_box",
"ferry": "ferry_fancy",
"whiteship": "whiteship_box",
"emergency": "emergency_box"
},
"ignored_unit_tests": [
"/datum/unit_test/job_roundstart_spawnpoints",
"/datum/unit_test/required_map_items",
"/datum/unit_test/breath/breath_sanity_ashwalker",
"/datum/unit_test/lungs/lungs_sanity_ashwalker",
"/datum/unit_test/spy_bounty",
"/datum/unit_test/space_dragon_expiration",
"/datum/unit_test/atmospherics_sanity"
],
"traits": [
{
"Up": true,
"Mining": true,
"Gravity": true,
"Baseturf": "/turf/open/misc/asteroid/moon/xyraeon",
"Linkage": null
},
{
"Up": true,
"Down": true,
"Mining": true,
"Gravity": true,
"Baseturf": "/turf/open/openspace/xyraeon",
"Linkage": null
},
{
"Up": true,
"Down": true,
"Mining": true,
"Gravity": true,
"Baseturf": "/turf/open/openspace/xyraeon",
"Linkage": null
},
{
"Down": true,
"Mining": true,
"Gravity": true,
"Baseturf": "/turf/open/openspace/xyraeon",
"Linkage": null
}
],
"minetype": "none",
"job_changes": {
"Captain": {
"special_charter": "moon"
}
}
}
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/signals_cryo.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
///from base of mob/living/CryoSleeping() (amount)
#define COMSIG_LIVING_STATUS_CRYOSLEEP "living_cryosleeping"
3 changes: 3 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#define STATUS_EFFECT_CRYOPROTECTION /datum/status_effect/cryo_protection //Godmode, purges all reagents in your body

#define STATUS_EFFECT_CRYOSLEEPING /datum/status_effect/incapacitating/cryosleeping //the affected is asleep in cryogenic storage
///if it allows multiple instances of the effect
#define STATUS_EFFECT_MULTIPLE 0
///if it allows only one, preventing new instances
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/dynamic/dynamic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ GLOBAL_VAR_INIT(dynamic_stacking_limit, 90)
// List of forced roundstart rulesets.
GLOBAL_LIST_EMPTY(dynamic_forced_roundstart_ruleset)
// Forced threat level, setting this to zero or higher forces the roundstart threat to the value.
GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
GLOBAL_VAR_INIT(dynamic_forced_threat_level, 0)
/// Modify the threat level for station traits before dynamic can be Initialized. List(instance = threat_reduction)
GLOBAL_LIST_EMPTY(dynamic_station_traits)
/// Rulesets which have been forcibly enabled or disabled
Expand Down
3 changes: 2 additions & 1 deletion code/controllers/subsystem/explosions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,8 @@ SUBSYSTEM_DEF(explosions)
//flash mobs
if(flash_range)
for(var/mob/living/L in viewers(flash_range, epicenter))
L.flash_act()
if(!(L.status_flags & GODMODE)) // SinguloStation13 Edit (Cryogenic freezers change - Explosion flash proof if godmode)
L.flash_act()

var/list/affected_turfs = prepare_explosion_turfs(max_range, epicenter)

Expand Down
45 changes: 45 additions & 0 deletions code/datums/status_effects/cryo.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
//For use in the cryogenic freezer. Makes you invincible while inside. See singulostation/code/game/machinery/cryopod.dm
/atom/movable/screen/alert/status_effect/cryo_protection
name = "Cryogenic freeze"
desc = "You are confined within the deep depths of the local cryogenic storage. Nothing there will be able to hurt you. Press this to eject yourself from cryogenic storage!"
icon = 'icons/mob/screen_alert.dmi'
icon_state = "cryo_protection"

/atom/movable/screen/alert/status_effect/cryo_protection/Click()
if(isliving(usr))
if (istype(usr.loc, /obj/machinery/computer/cryopod))
var/obj/machinery/computer/cryopod/C = usr.loc
C.eject_from_storage(usr)

/datum/status_effect/cryo_protection
id = "cryo_protection"
alert_type = /atom/movable/screen/alert/status_effect/cryo_protection

/datum/status_effect/cryo_protection/on_apply()
owner.PermaCryoSleeping()
owner.apply_status_effect(STASIS_MACHINE_EFFECT)
owner.extinguish_mob()
owner.status_flags |= GODMODE
if(ishuman(owner))
owner.reagents.clear_reagents()
ADD_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/cryo_protection)
to_chat(owner,"<span class='warning'>You feel yourself rapidly entering cryostasis. It seems that nothing will be able to harm you within.")
return ..()

//Copy pasted effects from on_apply since i don't wanna do tick() in on_apply and risk some sub-shenanigans happening
/datum/status_effect/cryo_protection/tick()
//owner.status_flags |= GODMODE //In case any item/ status effects wearing off while in cryogenetic freeze causes GODMODE to disable.
if(ishuman(owner))
owner.reagents.clear_reagents() //Don't want smoke grenades or other shit doing stuff on the inhabitants
if (!(istype(owner.loc, /obj/machinery/computer/cryopod))) // If the user escaped the cryopod through shenanigans
owner.remove_status_effect(STATUS_EFFECT_CRYOPROTECTION) // Remove immortality if they escaped
return ..()

/datum/status_effect/cryo_protection/on_remove()
owner.status_flags &= ~GODMODE
if(isliving(owner))
owner.SetCryoSleeping(0 SECONDS)

REMOVE_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/cryo_protection)
owner.visible_message("<span class='notice'>[owner] emerges from cryogenic freeze, waking from his slumber.</span>")
to_chat(owner, "<span class='warning'>You emerge from your cryogenic slumber. You no longer feel protected.</span>")
21 changes: 21 additions & 0 deletions code/datums/status_effects/debuffs/debuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,27 @@
UnregisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS)
owner.update_icon()

//CRYO SLEEPING
/datum/status_effect/incapacitating/cryosleeping
id = "cryosleeping"
alert_type = /atom/movable/screen/alert/status_effect/cryosleep
needs_update_stat = TRUE

/datum/status_effect/incapacitating/cryosleeping/on_apply()
. = ..()
if(!.)
return
ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))

/datum/status_effect/incapacitating/cryosleeping/on_remove()
REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
return ..()

/atom/movable/screen/alert/status_effect/cryosleep
name = "Cryogenic sleep"
desc = "You are in cryogenic sleep. Nothing can harm you here."
icon_state = "asleep"

#undef HEALING_SLEEP_DEFAULT
#undef HEALING_SLEEP_ORGAN_MULTIPLIER
#undef SLEEP_QUALITY_WORKOUT_MULTIPLER
Loading
Loading