From 673e74fa710da7571b186773c493fb87bff8714b Mon Sep 17 00:00:00 2001 From: ToonClyde <49804499+ToonClyde@users.noreply.github.com> Date: Mon, 12 Sep 2022 15:56:59 -0700 Subject: [PATCH 1/9] Ferry docking door --- .../LayeniaStation/LayeniaStation.dmm | 197 ++++++++++++++---- 1 file changed, 161 insertions(+), 36 deletions(-) diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm index e5feee0bf..2a8893ad5 100644 --- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm +++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm @@ -8904,9 +8904,12 @@ /turf/open/floor/plating/asteroid/layenia, /area/layenia/cave) "biu" = ( -/obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_plate" }, /area/hallway/primary/aft/upper) "biA" = ( @@ -21066,6 +21069,9 @@ name = "scrubbers pipe" }, /obj/machinery/door/firedoor/heavy, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark{ icon_state = "darkfull_whole_alt" }, @@ -29935,6 +29941,19 @@ "ePg" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/port/fore) +"ePs" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/primary/aft/upper) "ePt" = ( /obj/effect/turf_decal/loading_area{ color = "#55391A"; @@ -38227,6 +38246,10 @@ }, /area/crew_quarters/dorms/upper) "gdN" = ( +/obj/structure/flora/crystal/small/growth, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, /turf/open/indestructible/layenia/sand{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, @@ -46439,6 +46462,15 @@ }, /turf/open/floor/engine, /area/engine/engineering/reactor_core) +"hqM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" + }, +/area/bridge) "hqO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -47883,6 +47915,12 @@ name = "parquet" }, /area/crew_quarters/bar/cafe) +"hBJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) "hBM" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ name = "scrubbers pipe" @@ -63127,6 +63165,21 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) +"jNZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/primary/aft/upper) "jOa" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -74614,8 +74667,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/dark/side{ - dir = 4 +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" }, /area/bridge) "lDk" = ( @@ -77960,6 +78014,12 @@ icon_state = "darkfull_plate" }, /area/security/checkpoint/science) +"mfV" = ( +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" + }, +/area/hallway/primary/aft/upper) "mge" = ( /obj/structure/chair{ dir = 8 @@ -82446,6 +82506,9 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "mNt" = ( @@ -83345,6 +83408,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -92697,6 +92763,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ name = "air scrubber" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "omB" = ( @@ -92985,6 +93054,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{ name = "air vent" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "ooF" = ( @@ -100980,13 +101052,7 @@ }, /area/science/circuit) "ppi" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, /turf/open/floor/plasteel/dark{ dir = 4; icon_state = "darkfull_plate" @@ -108623,10 +108689,21 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "qun" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 31 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ + dir = 8; + name = "air supply pipe" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 4; + name = "scrubbers pipe" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" }, -/turf/open/floor/plasteel/dark/corner, /area/bridge) "quv" = ( /obj/structure/cable{ @@ -117768,8 +117845,8 @@ pixel_y = -1 }, /obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/dark/corner{ - dir = 4 +/turf/open/floor/plasteel/dark/side{ + dir = 1 }, /area/bridge) "rFz" = ( @@ -122018,6 +122095,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -123558,6 +123638,30 @@ icon_state = "floor_plate" }, /area/crew_quarters/dorms/upper) +"stF" = ( +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Ferry Docking Airlock"; + req_access_txt = "19" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark{ + icon_state = "darkfull_whole_alt" + }, +/area/hallway/primary/aft/upper) "stI" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -129263,7 +129367,13 @@ dir = 1; name = "air supply pipe" }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" + }, /area/bridge) "tju" = ( /obj/structure/cable{ @@ -136854,6 +136964,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/bridge) "ujn" = ( @@ -146620,6 +146733,9 @@ /obj/machinery/camera/autoname{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -157864,7 +157980,13 @@ dir = 4; name = "scrubbers pipe" }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" + }, /area/bridge) "xhO" = ( /obj/structure/trash_pile, @@ -163195,6 +163317,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -257052,7 +257177,7 @@ jcF kcC bHk kFC -bhk +kFC bhk qZk bca @@ -257824,8 +257949,8 @@ ydu dgu dgu dgu -dgu -dgu +ydu +ydu ydu ydu xFG @@ -258082,7 +258207,7 @@ fSd pxr gdN biu -fSd +mfV ppi wNm beE @@ -258338,9 +258463,9 @@ xep xep xep xep -xep -xep -xep +jNZ +stF +ePs xep bQr ojU @@ -258595,8 +258720,8 @@ uMt sVQ jUY dsv -qun -xYB +lzr +hqM rFs xep xIn @@ -258853,7 +258978,7 @@ xFo xFo vAh wPH -vor +hBJ sGW xep rLw @@ -259110,7 +259235,7 @@ wZA xFo vAh wPH -vor +hBJ sGW xep jPA @@ -259624,7 +259749,7 @@ wZA nRt rHk wPH -vor +hBJ iuc xep xQy @@ -260138,7 +260263,7 @@ wZA xFo vAh wPH -vor +hBJ dqp xep bfa @@ -260395,7 +260520,7 @@ xFo xFo vAh wPH -vor +hBJ dqp xep aXf @@ -260652,7 +260777,7 @@ vAh vAh dsv lzr -vor +hBJ ozL xep oFj @@ -260909,7 +261034,7 @@ xYB xOb xYB xfx -vor +hBJ oAY xep xQy @@ -261930,7 +262055,7 @@ pPj yfh eic ujI -xhM +fFc skM wKH wYk @@ -262701,7 +262826,7 @@ eic qhD eic lBm -fFc +qun kGO wKH uyq From f8bea7c2841db157f9fee87f3a1c93740483b62e Mon Sep 17 00:00:00 2001 From: ToonClyde <49804499+ToonClyde@users.noreply.github.com> Date: Tue, 13 Sep 2022 03:30:34 -0700 Subject: [PATCH 2/9] bird beak redo --- .../mob/dead/new_player/sprite_accessories.dm | 38 +++++++++++++----- modular_citadel/icons/mob/mam_snouts.dmi | Bin 23338 -> 24187 bytes 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm index 5002d4f52..5fb4d8e65 100644 --- a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -75,13 +75,13 @@ //christ this was a mistake, but it's here just in case someone wants to selectively fix /************* Lizard compatable snoots *********** /datum/sprite_accessory/snouts/bird - name = "Beak" + name = "Beak (Hyper)" icon_state = "bird" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED /datum/sprite_accessory/snouts/bigbeak - name = "Big Beak" + name = "Big Beak (Hyper)" icon_state = "bigbeak" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED @@ -163,6 +163,12 @@ icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED +/datum/sprite_accessory/snouts/owlbird + name = "Owl (Hyper)" + icon_state = "owlbird" + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + color_src = MATRIXED + /datum/sprite_accessory/snouts/otie name = "Otie" icon_state = "otie" @@ -187,8 +193,14 @@ color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +/datum/sprite_accessory/snouts/sharpebird + name = "Sharpened, beak (Hyper)" + icon_state = "sharpebird" + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + color_src = MATRIXED + /datum/sprite_accessory/snouts/toucan - name = "Toucan" + name = "Toucan (Hyper)" icon_state = "toucan" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED @@ -760,11 +772,11 @@ datum/sprite_accessory/ears/human/gret *******************************************/ /datum/sprite_accessory/mam_snouts/bird - name = "Beak" + name = "Beak (Hyper)" icon_state = "bird" /datum/sprite_accessory/mam_snouts/bigbeak - name = "Big Beak" + name = "Big Beak (Hyper)" icon_state = "bigbeak" /datum/sprite_accessory/mam_snouts/bug @@ -906,6 +918,10 @@ datum/sprite_accessory/ears/human/gret name = "Orca" icon_state = "orca" +/datum/sprite_accessory/mam_snouts/owlbird + name = "Owl (Hyper)" + icon_state = "owlbird" + /datum/sprite_accessory/mam_snouts/pede name = "Scolipede" icon_state = "pede" @@ -918,8 +934,12 @@ datum/sprite_accessory/ears/human/gret name = "Shark" icon_state = "shark" +/datum/sprite_accessory/mam_snouts/sharpebird + name = "Sharpened, beak (Hyper)" + icon_state = "sharpebird" + /datum/sprite_accessory/mam_snouts/toucan - name = "Toucan" + name = "Toucan (Hyper)" icon_state = "toucan" /datum/sprite_accessory/mam_snouts/sharp @@ -1058,11 +1078,11 @@ datum/sprite_accessory/ears/human/gret *************but higher up*****************/ /datum/sprite_accessory/mam_snouts/fbird - name = "Beak (Top)" + name = "Beak (Top) (Hyper)" icon_state = "fbird" /datum/sprite_accessory/mam_snouts/fbigbeak - name = "Big Beak (Top)" + name = "Big Beak (Top) (Hyper)" icon_state = "fbigbeak" /datum/sprite_accessory/mam_snouts/fbug @@ -1137,7 +1157,7 @@ datum/sprite_accessory/ears/human/gret icon_state = "fshark" /datum/sprite_accessory/mam_snouts/ftoucan - name = "Toucan (Top)" + name = "Toucan (Top) (Hyper)" icon_state = "ftoucan" /datum/sprite_accessory/mam_snouts/fsharp diff --git a/modular_citadel/icons/mob/mam_snouts.dmi b/modular_citadel/icons/mob/mam_snouts.dmi index 7ccd40676009904462b7628add8db16b298f6fae..90cf68888139c8d2f02aecb62af1cc01f8322eaf 100644 GIT binary patch literal 24187 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 DTn#IY literal 23338 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 AUjP6A From 58e8aef49db46eb9d7c26e6e11fd4f3470952283 Mon Sep 17 00:00:00 2001 From: Archie <53913550+ArchieBeepBoop@users.noreply.github.com> Date: Tue, 13 Sep 2022 15:30:13 -0300 Subject: [PATCH 3/9] General fixes and adding a general helper --- code/__HELPERS/unsorted_hyper.dm | 74 +++++++++++++++++++ code/modules/jobs/job_types/job.dm | 2 +- .../code/game/machinery/safety_tether.dm | 10 +-- hyperstation/code/mobs/mimic.dm | 69 +---------------- tgstation.dme | 1 + 5 files changed, 84 insertions(+), 72 deletions(-) create mode 100644 code/__HELPERS/unsorted_hyper.dm diff --git a/code/__HELPERS/unsorted_hyper.dm b/code/__HELPERS/unsorted_hyper.dm new file mode 100644 index 000000000..b6f26f243 --- /dev/null +++ b/code/__HELPERS/unsorted_hyper.dm @@ -0,0 +1,74 @@ +// This list was originally created to narrow the list of safe areas for mobs to spawn in the station. If an area is considered too dangerous for something to spawn in, kindly add it to this list. +GLOBAL_LIST_INIT(basic_safe_area_list, typecacheof(list( + /area/space, + /area/shuttle, + /area/mine, + /area/holodeck, + /area/ruin, + /area/hallway, + /area/hallway/primary, + /area/hallway/secondary, + /area/hallway/secondary/entry, + /area/engine/supermatter, + /area/engine/atmospherics_engine, + /area/engine/engineering/reactor_core, + /area/engine/engineering/reactor_control, + /area/ai_monitored/turret_protected, + /area/layenia/cloudlayer, + /area/asteroid/nearstation, + /area/science/server, + /area/science/explab, + /area/science/xenobiology, + /area/security/processing))) + +// Performance intensive check for picking an area with turfs that are considered the safest possible to spawn something in. +//Only use this for creatures, as it considers people around, temperature, area size and more. +/proc/get_safest_possible_turfs(list/blacklisted_areas, spawncount) + var/list/area/stationAreas = list() + var/list/area/eligible_areas = list() + var/validFound = FALSE + var/list/turf/validTurfs = list() + var/area/pickedArea + if(!blacklisted_areas.len) + blacklisted_areas = GLOB.basic_safe_area_list + for(var/area/A in world) // Get the areas in the Z level + if(A.z == SSmapping.station_start) + stationAreas += A + for(var/area/place in stationAreas) // first we check if it's a valid area + if(place.outdoors) + continue + if(place.areasize < 16) + continue + if(is_type_in_typecache(place, blacklisted_areas)) + continue + eligible_areas += place + for(var/area/place in eligible_areas) // now we check if there are people in that area + var/numOfPeople + for(var/mob/living/carbon/H in place) + numOfPeople++ + break + if(numOfPeople > 0) + eligible_areas -= place // removes this area from the list of eligible areas, it has people in it + while(!validFound || !eligible_areas.len) + pickedArea = pick_n_take(eligible_areas) + var/list/turf/t = get_area_turfs(pickedArea, SSmapping.station_start) + for(var/turf/thisTurf in t) // now we check if it's a closed turf, cold turf or occupied turf and yeet it + if(isopenturf(thisTurf)) + var/turf/open/tempGet = thisTurf + if(tempGet.air.temperature <= T0C) + t -= thisTurf + continue + if(isclosedturf(thisTurf)) + t -= thisTurf + else + for(var/obj/O in thisTurf) + if(O.density && !(istype(O, /obj/structure/table))) + t -= thisTurf + break + if(t.len >= spawncount) //Is the number of available turfs equal or bigger than spawncount? + validFound = TRUE + validTurfs = t + return validTurfs + if(!validFound) + message_admins("A function attempted to get safe turfs, but we found none.") + return null diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index 024fb1cc7..e3e2ca4f1 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -67,7 +67,7 @@ var/whitelist_type = "" //load characters loadout on spawn - var loadout = TRUE + var/loadout = TRUE //Only override this proc //H is usually a human unless an /equip override transformed it diff --git a/hyperstation/code/game/machinery/safety_tether.dm b/hyperstation/code/game/machinery/safety_tether.dm index 1955d7599..0f636f900 100644 --- a/hyperstation/code/game/machinery/safety_tether.dm +++ b/hyperstation/code/game/machinery/safety_tether.dm @@ -83,6 +83,8 @@ var/radio_key = /obj/item/encryptionkey/headset_medsci /obj/machinery/safety_tether/Initialize() + //ensures light is properly centered around the tether. Removes lighting system's pixel approximation that breaks it. + light_source = get_turf(src) . = ..() //Adds this to the global list of safety tethers in the world to pull from when chasms attempt to drop mobs @@ -95,10 +97,7 @@ radio.canhear_range = 0 radio.recalculateChannels() - //ensures light is properly centered around the tether. Removes lighting system's pixel approximation that breaks it. - light_source = get_turf(src) update_icon() - power_change() //Here to start lights on ititialization. /obj/machinery/safety_tether/Destroy() QDEL_NULL(radio) @@ -228,7 +227,8 @@ SPEAKCOMMON("The Safety Tether's shut down from a lack of power.") light_source.set_light(0) else - SPEAKCOMMON("The Safety Tether is back online.") + if(SSticker.HasRoundStarted()) + SPEAKCOMMON("The Safety Tether is back online.") light_source.set_light(brightness_on, light_power, light_color) update_icon() @@ -251,4 +251,4 @@ //#undef SPEAK #undef SPEAKCOMMON #undef SPEAKMEDICAL -#undef SPEAKSCIENCE \ No newline at end of file +#undef SPEAKSCIENCE diff --git a/hyperstation/code/mobs/mimic.dm b/hyperstation/code/mobs/mimic.dm index c89e973c4..e6e3dc7f1 100644 --- a/hyperstation/code/mobs/mimic.dm +++ b/hyperstation/code/mobs/mimic.dm @@ -322,26 +322,6 @@ /datum/round_event/mimic_infestation announceWhen = 200 - var/static/list/mimic_station_areas_blacklist = typecacheof(/area/space, - /area/shuttle, - /area/mine, - /area/holodeck, - /area/ruin, - /area/hallway, - /area/hallway/primary, - /area/hallway/secondary, - /area/hallway/secondary/entry, - /area/engine/supermatter, - /area/engine/atmospherics_engine, - /area/engine/engineering/reactor_core, - /area/engine/engineering/reactor_control, - /area/ai_monitored/turret_protected, - /area/layenia/cloudlayer, - /area/asteroid/nearstation, - /area/science/server, - /area/science/explab, - /area/science/xenobiology, - /area/security/processing) var/spawncount = 1 fakeable = FALSE @@ -353,54 +333,11 @@ priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') /datum/round_event/mimic_infestation/start() - var/list/area/stationAreas = list() - var/list/area/eligible_areas = list() - for(var/area/A in world) // Get the areas in the Z level - if(A.z == SSmapping.station_start) - stationAreas += A - for(var/area/place in stationAreas) // first we check if it's a valid area - if(place.outdoors) - continue - if(place.areasize < 16) - continue - if(is_type_in_typecache(place, mimic_station_areas_blacklist)) - continue - eligible_areas += place - for(var/area/place in eligible_areas) // now we check if there are people in that area - var/numOfPeople - for(var/mob/living/carbon/H in place) - numOfPeople++ - break - if(numOfPeople > 0) - eligible_areas -= place - - var/validFound = FALSE - var/list/turf/validTurfs = list() - var/area/pickedArea - while(!validFound || !eligible_areas.len) - pickedArea = pick_n_take(eligible_areas) - var/list/turf/t = get_area_turfs(pickedArea, SSmapping.station_start) - for(var/turf/thisTurf in t) // now we check if it's a closed turf, cold turf or occupied turf and yeet it - if(isopenturf(thisTurf)) - var/turf/open/tempGet = thisTurf - if(tempGet.air.temperature <= T0C) - t -= thisTurf - continue - if(isclosedturf(thisTurf)) - t -= thisTurf - else - for(var/obj/O in thisTurf) - if(O.density && !(istype(O, /obj/structure/table))) - t -= thisTurf - break - if(t.len >= spawncount) //Is the number of available turfs equal or bigger than spawncount? - validFound = TRUE - validTurfs = t - - if(!eligible_areas.len) + var/list/turf/validTurfs = get_safest_possible_turfs(GLOB.basic_safe_area_list, spawncount) + if(!validTurfs.len) message_admins("No eligible areas for spawning mimics.") return WAITING_FOR_SOMETHING - + var/area/pickedArea = get_area(pick(validTurfs)) notify_ghosts("A group of mimics has spawned in [pickedArea]!", source=pickedArea, action=NOTIFY_ATTACK, flashwindow = FALSE) while(spawncount > 0 && validTurfs.len) spawncount-- diff --git a/tgstation.dme b/tgstation.dme index 6236e1025..9affb3561 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -159,6 +159,7 @@ #include "code\__HELPERS\typelists.dm" #include "code\__HELPERS\unique_ids.dm" #include "code\__HELPERS\unsorted.dm" +#include "code\__HELPERS\unsorted_hyper.dm" #include "code\__HELPERS\verbs.dm" #include "code\__HELPERS\view.dm" #include "code\__HELPERS\sorts\__main.dm" From 802cdd66c909636585cb65f42eb7651c08381d31 Mon Sep 17 00:00:00 2001 From: Archie <53913550+ArchieBeepBoop@users.noreply.github.com> Date: Tue, 13 Sep 2022 15:48:21 -0300 Subject: [PATCH 4/9] Two things. --- code/__HELPERS/unsorted_hyper.dm | 6 +++--- hyperstation/code/mobs/mimic.dm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/__HELPERS/unsorted_hyper.dm b/code/__HELPERS/unsorted_hyper.dm index b6f26f243..8523c5461 100644 --- a/code/__HELPERS/unsorted_hyper.dm +++ b/code/__HELPERS/unsorted_hyper.dm @@ -1,5 +1,5 @@ // This list was originally created to narrow the list of safe areas for mobs to spawn in the station. If an area is considered too dangerous for something to spawn in, kindly add it to this list. -GLOBAL_LIST_INIT(basic_safe_area_list, typecacheof(list( +GLOBAL_LIST_INIT(basic_blacklisted_area_list, typecacheof(list( /area/space, /area/shuttle, /area/mine, @@ -30,14 +30,14 @@ GLOBAL_LIST_INIT(basic_safe_area_list, typecacheof(list( var/list/turf/validTurfs = list() var/area/pickedArea if(!blacklisted_areas.len) - blacklisted_areas = GLOB.basic_safe_area_list + blacklisted_areas = GLOB.basic_blacklisted_area_list for(var/area/A in world) // Get the areas in the Z level if(A.z == SSmapping.station_start) stationAreas += A for(var/area/place in stationAreas) // first we check if it's a valid area if(place.outdoors) continue - if(place.areasize < 16) + if(place.areasize < spawncount * 2) continue if(is_type_in_typecache(place, blacklisted_areas)) continue diff --git a/hyperstation/code/mobs/mimic.dm b/hyperstation/code/mobs/mimic.dm index e6e3dc7f1..46b6ff994 100644 --- a/hyperstation/code/mobs/mimic.dm +++ b/hyperstation/code/mobs/mimic.dm @@ -333,7 +333,7 @@ priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') /datum/round_event/mimic_infestation/start() - var/list/turf/validTurfs = get_safest_possible_turfs(GLOB.basic_safe_area_list, spawncount) + var/list/turf/validTurfs = get_safest_possible_turfs(GLOB.basic_blacklisted_area_list, spawncount) if(!validTurfs.len) message_admins("No eligible areas for spawning mimics.") return WAITING_FOR_SOMETHING From 6bfb5f2781691312fc018915bfcabe4fad3fd604 Mon Sep 17 00:00:00 2001 From: Archie <53913550+ArchieBeepBoop@users.noreply.github.com> Date: Tue, 13 Sep 2022 15:50:17 -0300 Subject: [PATCH 5/9] Boom. --- code/__HELPERS/unsorted_hyper.dm | 2 +- hyperstation/code/mobs/mimic.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/unsorted_hyper.dm b/code/__HELPERS/unsorted_hyper.dm index 8523c5461..6fc5a8631 100644 --- a/code/__HELPERS/unsorted_hyper.dm +++ b/code/__HELPERS/unsorted_hyper.dm @@ -23,7 +23,7 @@ GLOBAL_LIST_INIT(basic_blacklisted_area_list, typecacheof(list( // Performance intensive check for picking an area with turfs that are considered the safest possible to spawn something in. //Only use this for creatures, as it considers people around, temperature, area size and more. -/proc/get_safest_possible_turfs(list/blacklisted_areas, spawncount) +/proc/get_safest_spawn_turfs(list/blacklisted_areas, spawncount) var/list/area/stationAreas = list() var/list/area/eligible_areas = list() var/validFound = FALSE diff --git a/hyperstation/code/mobs/mimic.dm b/hyperstation/code/mobs/mimic.dm index 46b6ff994..73f29a2bc 100644 --- a/hyperstation/code/mobs/mimic.dm +++ b/hyperstation/code/mobs/mimic.dm @@ -333,7 +333,7 @@ priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') /datum/round_event/mimic_infestation/start() - var/list/turf/validTurfs = get_safest_possible_turfs(GLOB.basic_blacklisted_area_list, spawncount) + var/list/turf/validTurfs = get_safest_spawn_turfs(GLOB.basic_blacklisted_area_list, spawncount) if(!validTurfs.len) message_admins("No eligible areas for spawning mimics.") return WAITING_FOR_SOMETHING From e8022f4425df75260d86f67a1d457d872a18dd71 Mon Sep 17 00:00:00 2001 From: quotefox Date: Tue, 13 Sep 2022 23:10:07 +0100 Subject: [PATCH 6/9] slower days and brighter nights. --- code/controllers/subsystem/ticker.dm | 2 +- code/modules/power/lighting.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 5ff989878..a352d85c3 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -44,7 +44,7 @@ SUBSYSTEM_DEF(ticker) var/start_at var/gametime_offset = 432000 //Deciseconds to add to world.time for station time. - var/station_time_rate_multiplier = 20 //factor of station time progressal vs real time. + var/station_time_rate_multiplier = 10 //factor of station time progressal vs real time. var/totalPlayers = 0 //used for pregame stats on statpanel var/totalPlayersReady = 0 //used for pregame stats on statpanel diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 0db3695fc..387a13048 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -212,7 +212,7 @@ var/nightshift_enabled = FALSE //Currently in night shift mode? var/nightshift_allowed = TRUE //Set to FALSE to never let this light get switched to night mode. - var/nightshift_brightness = 7 + var/nightshift_brightness = 8 var/nightshift_light_power = 0.45 var/nightshift_light_color = "#dafcff" From d5314016e0a46253c1af12feb56721d4a1bc5468 Mon Sep 17 00:00:00 2001 From: quotefox Date: Wed, 14 Sep 2022 22:25:13 +0100 Subject: [PATCH 7/9] admin preload rsc resources --- code/modules/admin/admin.dm | 14 ++++++++++++++ code/modules/admin/admin_verbs.dm | 1 + 2 files changed, 15 insertions(+) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index acdfc6052..fa5d0d358 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1040,3 +1040,17 @@ message_admins("[key_name_admin(usr)] told everybody to man up.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Man Up Global") +/client/proc/cmd_admin_preload_resource(F as file) + set category = "Special Verbs" + set name = "Preload Resource" + + if(!check_rights(R_ADMIN)) + return + + var/resource = fcopy_rsc(F) + for(var/thing in GLOB.clients) + var/client/C = thing + if (!C) + continue + C.Export("##action=load_rsc", resource) + message_admins("[key_name_admin(usr)] preloaded resouce [F].") \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 149e020e8..8831c5955 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -57,6 +57,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/cmd_admin_local_narrate, /*sends text to all mobs within view of atom*/ /client/proc/cmd_admin_man_up, //CIT CHANGE - adds man up verb /client/proc/cmd_admin_man_up_global, //CIT CHANGE - ditto + /client/proc/cmd_admin_preload_resource, /client/proc/cmd_admin_create_centcom_report, /client/proc/cmd_change_command_name, /client/proc/cmd_admin_check_player_exp, /* shows players by playtime */ From fe5e0acc232b85e0dec54094ac7723ff83144ea3 Mon Sep 17 00:00:00 2001 From: quotefox Date: Wed, 14 Sep 2022 22:54:55 +0100 Subject: [PATCH 8/9] icons and sounds instead of files. --- code/modules/admin/admin.dm | 19 +++++++++++++++++-- code/modules/admin/admin_verbs.dm | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index fa5d0d358..0bb57e616 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1040,7 +1040,7 @@ message_admins("[key_name_admin(usr)] told everybody to man up.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Man Up Global") -/client/proc/cmd_admin_preload_resource(F as file) +/client/proc/cmd_admin_preload_resource(F as icon) set category = "Special Verbs" set name = "Preload Resource" @@ -1053,4 +1053,19 @@ if (!C) continue C.Export("##action=load_rsc", resource) - message_admins("[key_name_admin(usr)] preloaded resouce [F].") \ No newline at end of file + message_admins("[key_name_admin(usr)] preloaded resouce [F].") + +/client/proc/cmd_admin_preload_sound(F as sound) + set category = "Special Verbs" + set name = "Preload Sound" + + if(!check_rights(R_ADMIN)) + return + + var/resource = fcopy_rsc(F) + for(var/thing in GLOB.clients) + var/client/C = thing + if (!C) + continue + C.Export("##action=load_rsc", resource) + message_admins("[key_name_admin(usr)] preloaded sound [F].") \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8831c5955..399823a2c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -58,6 +58,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/cmd_admin_man_up, //CIT CHANGE - adds man up verb /client/proc/cmd_admin_man_up_global, //CIT CHANGE - ditto /client/proc/cmd_admin_preload_resource, + /client/proc/cmd_admin_preload_sound, /client/proc/cmd_admin_create_centcom_report, /client/proc/cmd_change_command_name, /client/proc/cmd_admin_check_player_exp, /* shows players by playtime */ From b248498a7d4ee6ed2671bb329cb9821c9e6db996 Mon Sep 17 00:00:00 2001 From: Archie <53913550+ArchieBeepBoop@users.noreply.github.com> Date: Wed, 14 Sep 2022 20:35:24 -0300 Subject: [PATCH 9/9] modular sprites and fixes --- .../LayeniaStation/LayeniaStation.dmm | 80 ++++++++--------- code/game/turfs/open.dm | 35 -------- .../turfs/simulated/floor/plating/asteroid.dm | 40 --------- code/game/turfs/simulated/minerals.dm | 12 --- hyperstation/code/game/turfs/open.dm | 83 ++++++++++++++++-- .../code/game/turfs/simulated/minerals.dm | 11 +++ hyperstation/icons/turf/floors/layenia.dmi | Bin 0 -> 11971 bytes .../icons/turf/floors/layeniacrystal.dmi | Bin .../icons/turf/floors/layeniamining.dmi | Bin 0 -> 698 bytes .../icons/turf/floors}/layeniarocks.dmi | Bin icons/turf/floors.dmi | Bin 351548 -> 340592 bytes icons/turf/mining.dmi | Bin 40642 -> 39619 bytes tgstation.dme | 1 + 13 files changed, 128 insertions(+), 134 deletions(-) create mode 100644 hyperstation/code/game/turfs/simulated/minerals.dm create mode 100644 hyperstation/icons/turf/floors/layenia.dmi rename icons/turf/floors/crystal_floor.dmi => hyperstation/icons/turf/floors/layeniacrystal.dmi (100%) create mode 100644 hyperstation/icons/turf/floors/layeniamining.dmi rename {icons/turf => hyperstation/icons/turf/floors}/layeniarocks.dmi (100%) diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm index 24ae7022f..5e35a7fed 100644 --- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm +++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm @@ -2809,7 +2809,7 @@ /area/security/range) "ahY" = ( /obj/effect/landmark/carpspawn, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ahZ" = ( /obj/structure/railing{ @@ -6734,7 +6734,7 @@ /area/crew_quarters/theatre) "aOX" = ( /obj/structure/ore_box, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "aPc" = ( /obj/effect/turf_decal/stripes/line{ @@ -19035,7 +19035,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 6 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "cXg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ @@ -19353,7 +19353,7 @@ /area/ai_monitored/turret_protected/ai) "daS" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "daT" = ( /obj/structure/chair/office/dark{ @@ -27494,7 +27494,7 @@ dir = 1; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ewF" = ( /obj/machinery/space_heater, @@ -27516,7 +27516,7 @@ dir = 1; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ewN" = ( /obj/effect/turf_decal/loading_area{ @@ -27905,7 +27905,7 @@ /area/quartermaster/miningdock) "eyS" = ( /obj/structure/fence, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "eyW" = ( /obj/effect/turf_decal/tile/neutral{ @@ -28714,7 +28714,7 @@ /obj/structure/fence/door{ dir = 4 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "eGn" = ( /obj/effect/turf_decal/loading_area{ @@ -31524,7 +31524,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "fbB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{ @@ -34346,7 +34346,7 @@ }, /area/engine/atmos) "fxA" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "fxC" = ( /obj/machinery/power/apc{ @@ -38265,7 +38265,7 @@ /obj/structure/sign/poster/random{ pixel_x = 32 }, -/turf/open/indestructible/layenia/sand{ +/turf/open/floor/plating/asteroid/layenia/sand{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/hallway/primary/aft/upper) @@ -44648,7 +44648,7 @@ dir = 1 }, /obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hdo" = ( /obj/effect/turf_decal/tile/neutral{ @@ -45422,7 +45422,7 @@ /area/layenia) "hjz" = ( /obj/item/shovel, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hjD" = ( /obj/effect/turf_decal/stripes/line{ @@ -45712,7 +45712,7 @@ /area/quartermaster/sorting) "hlA" = ( /obj/effect/decal/cleanable/vomit, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hlB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -46075,7 +46075,7 @@ /area/crew_quarters/heads/chief) "hny" = ( /obj/structure/bonfire, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hnA" = ( /obj/structure/closet, @@ -51414,7 +51414,7 @@ dir = 8; pixel_x = -7 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "iah" = ( /obj/effect/turf_decal/tile/neutral{ @@ -63415,13 +63415,13 @@ /area/security/locker) "jPP" = ( /obj/structure/flora/crystal/small/pile, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "jPU" = ( /obj/effect/turf_decal/weather/grass/line{ dir = 10 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "jQa" = ( /obj/structure/lattice/catwalk, @@ -65617,7 +65617,7 @@ /area/security/locker) "khn" = ( /obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "khp" = ( /obj/machinery/door/firedoor{ @@ -69666,7 +69666,7 @@ /area/hallway/primary/fore/upper) "kLI" = ( /obj/effect/turf_decal/stripes/corner, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "kLQ" = ( /obj/effect/turf_decal/tile/neutral{ @@ -70544,7 +70544,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "kUe" = ( /obj/effect/decal/cleanable/oil{ @@ -71184,7 +71184,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 4 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "kZl" = ( /obj/machinery/light{ @@ -73939,7 +73939,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 1 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lyu" = ( /obj/structure/closet/secure_closet/personal, @@ -75519,7 +75519,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 5 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lJV" = ( /obj/effect/turf_decal/stripes/line, @@ -76321,7 +76321,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 8 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lRm" = ( /obj/effect/turf_decal/tile/neutral{ @@ -76540,7 +76540,7 @@ dir = 4 }, /obj/structure/flora/tree/jungle/small, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lTe" = ( /obj/effect/turf_decal/loading_area{ @@ -81055,7 +81055,7 @@ /area/hallway/primary/port/upper) "mBS" = ( /obj/effect/turf_decal/weather/grass/line, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "mBU" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -82442,7 +82442,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "mNh" = ( /obj/structure/cable{ @@ -82566,7 +82566,7 @@ /turf/open/floor/plasteel/white, /area/medical/psych/ward) "mNC" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "mNF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -93566,7 +93566,7 @@ }, /area/construction/mining/aux_base) "orv" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "orw" = ( /obj/structure/table, @@ -95135,7 +95135,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "oDa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -102220,7 +102220,7 @@ pixel_x = 7 }, /obj/structure/flora/crystal/small/pile, -/turf/open/indestructible/layenia/sand{ +/turf/open/floor/plating/asteroid/layenia/sand{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/hallway/primary/aft/upper) @@ -110889,7 +110889,7 @@ /area/hallway/primary/aft) "qKb" = ( /obj/effect/decal/cleanable/oil, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "qKd" = ( /obj/structure/chair/comfy/black{ @@ -115006,7 +115006,7 @@ dir = 8; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "rkc" = ( /obj/machinery/light{ @@ -125837,7 +125837,7 @@ icon_state = "drain"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "sIe" = ( /obj/machinery/button/door{ @@ -126243,7 +126243,7 @@ /obj/structure/fence/corner{ dir = 6 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "sKU" = ( /obj/structure/railing{ @@ -129981,7 +129981,7 @@ /area/crew_quarters/heads/cmo) "tmZ" = ( /obj/item/picket_sign, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "tnl" = ( /obj/effect/turf_decal/tile/blue{ @@ -138191,7 +138191,7 @@ dir = 4; pixel_x = 7 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "usj" = ( /obj/effect/decal/cleanable/cobweb{ @@ -141771,7 +141771,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 9 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "uUm" = ( /obj/structure/chair/bench/metal/right{ @@ -160135,7 +160135,7 @@ /area/science/research) "xyC" = ( /obj/structure/flora/tree/jungle/small, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "xyH" = ( /obj/machinery/light{ diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 813074f4e..a197c1e4e 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -75,19 +75,6 @@ if(istype(AM)) playsound(src,sound,50,1) -/turf/open/indestructible/concrete - name = "concrete" - icon = 'icons/turf/floors.dmi' - icon_state = "concrete" - baseturfs = /turf/open/floor/plating/asteroid/layenia - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - -/turf/open/indestructible/concrete/smooth - icon_state = "concrete2" - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - /turf/open/indestructible/cobble/side icon_state = "cobble_side" @@ -106,28 +93,6 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE -/turf/open/indestructible/layenia/crystal - name = "Lattice Crystal" - desc = "A glowing azure crystal, with strange properties to make things float." - icon = 'icons/turf/floors/crystal_floor.dmi' - icon_state = "mapping" - baseturfs = /turf/open/indestructible/layenia/crystal - slowdown = 1 - light_range = 4 - light_power = 0.5 - barefootstep = FOOTSTEP_HARD_BAREFOOT - clawfootstep = FOOTSTEP_HARD_CLAW - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - light_color = LIGHT_COLOR_BLUE - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE - canSmoothWith = list(/turf/open/indestructible/layenia/crystal) - -/turf/open/indestructible/layenia/crystal/garden - initial_gas_mix = OPENTURF_DEFAULT_ATMOS - planetary_atmos = TRUE - /turf/open/indestructible/necropolis name = "necropolis floor" desc = "It's regarding you suspiciously." diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index ede13468f..1b199a291 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -365,43 +365,3 @@ /turf/open/floor/plating/asteroid/snow/atmosphere initial_gas_mix = FROZEN_ATMOS planetary_atmos = FALSE - -//Layenia stuff - -/turf/open/floor/plating/asteroid/layenia - gender = PLURAL //trans rights - name = "crimson Rock" - desc = "A cold rock, rusted scarlet in color." - icon = 'icons/turf/floors.dmi' - baseturfs = /turf/open/floor/plating/asteroid/layenia - icon_state = "layenia" - icon_plating = "layenia" - initial_gas_mix = FROZEN_ATMOS - slowdown = 1 - environment_type = "layenia" - flags_1 = NONE - heat_capacity = INFINITY //Makes it so no matter the heat, it will not burn out. - planetary_atmos = TRUE - burnt_states = null - bullet_sizzle = TRUE - bullet_bounce_sound = null - digResult = /obj/item/stack/ore/glass/basalt - floor_variance = 50 //This means 50% chance of variating from the default tile. - quantity_of_available_tiles = 5 - //light_range = 2 - //light_power = 0.15 - //light_color = LIGHT_COLOR_WHITE - -/turf/open/floor/plating/asteroid/layenia/Initialize() - . = ..() - //We no longer randomize the icon state here. That is done by the supercall in our parent, asteroid. - set_layenia_light(src) - -/turf/open/floor/plating/asteroid/layenia/garden - initial_gas_mix = OPENTURF_DEFAULT_ATMOS - planetary_atmos = TRUE - -/proc/set_layenia_light(turf/open/floor/B) - switch(B.icon_state) - if("layenia3", "layenia4") - B.set_light(2, 0.6, LIGHT_COLOR_BLUE) //more light diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 53f9874f4..08fdaf47d 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -539,15 +539,3 @@ baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 - -/turf/closed/mineral/layenia - name = "Crimson rock" - icon = 'icons/turf/mining.dmi' - smooth_icon = 'icons/turf/layeniarocks.dmi' - icon_state = "layenia" - smooth = SMOOTH_MORE|SMOOTH_BORDER - canSmoothWith = null - baseturfs = /turf/open/floor/plating/asteroid/layenia - initial_gas_mix = FROZEN_ATMOS - environment_type = "layenia" - turf_type = /turf/open/floor/plating/asteroid/layenia diff --git a/hyperstation/code/game/turfs/open.dm b/hyperstation/code/game/turfs/open.dm index 3553557f7..2ff3a5d17 100644 --- a/hyperstation/code/game/turfs/open.dm +++ b/hyperstation/code/game/turfs/open.dm @@ -1,14 +1,83 @@ -/turf/open/indestructible/layenia/sand +/turf/open/indestructible/concrete + name = "concrete" + icon = 'icons/turf/floors.dmi' + icon_state = "concrete" + baseturfs = /turf/open/floor/plating/asteroid/layenia + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + +/turf/open/indestructible/concrete/smooth + icon_state = "concrete2" + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + +/turf/open/indestructible/layenia/crystal + name = "Lattice Crystal" + desc = "A glowing azure crystal, with strange properties to make things float." + icon = 'hyperstation/icons/turf/floors/layeniacrystal.dmi' + icon_state = "mapping" + baseturfs = /turf/open/indestructible/layenia/crystal + slowdown = 1 + light_range = 4 + light_power = 0.5 + barefootstep = FOOTSTEP_HARD_BAREFOOT + clawfootstep = FOOTSTEP_HARD_CLAW + heavyfootstep = FOOTSTEP_GENERIC_HEAVY + light_color = LIGHT_COLOR_BLUE + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE + canSmoothWith = list(/turf/open/indestructible/layenia/crystal) + +/turf/open/indestructible/layenia/crystal/garden + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = TRUE + +/turf/open/floor/plating/asteroid/layenia + gender = PLURAL //trans rights + name = "crimson Rock" + desc = "A cold rock, rusted scarlet in color." + icon = 'hyperstation/icons/turf/floors/layenia.dmi' + baseturfs = /turf/open/floor/plating/asteroid/layenia + icon_state = "layenia" + icon_plating = "layenia" + initial_gas_mix = FROZEN_ATMOS + slowdown = 1 + environment_type = "layenia" + flags_1 = NONE + heat_capacity = INFINITY //Makes it so no matter the heat, it will not burn out. + planetary_atmos = TRUE + burnt_states = null + bullet_sizzle = TRUE + bullet_bounce_sound = null + digResult = /obj/item/stack/ore/glass/basalt + floor_variance = 50 //This means 50% chance of variating from the default tile. + quantity_of_available_tiles = 5 + //light_range = 2 + //light_power = 0.15 + //light_color = LIGHT_COLOR_WHITE + +/turf/open/floor/plating/asteroid/layenia/Initialize() + . = ..() + //We no longer randomize the icon state here. That is done by the supercall in our parent, asteroid. + set_layenia_light(src) + +/turf/open/floor/plating/asteroid/layenia/garden + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = TRUE + +/turf/open/floor/plating/asteroid/layenia/sand name = "\improper crimson sand" desc = "A reddish sand." icon = 'hyperstation/icons/turf/floors/layeniasand.dmi' icon_state = "mapping" - baseturfs = /turf/open/indestructible/layenia/crystal - slowdown = 1 + baseturfs = /turf/open/floor/plating/asteroid/layenia/sand barefootstep = FOOTSTEP_SAND clawfootstep = FOOTSTEP_SAND - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE - canSmoothWith = list(/turf/open/indestructible/layenia/sand) + canSmoothWith = list(/turf/open/floor/plating/asteroid/layenia/sand) + +/proc/set_layenia_light(turf/open/floor/B) + switch(B.icon_state) + if("layenia3", "layenia4") + B.set_light(2, 0.6, LIGHT_COLOR_BLUE) //more light diff --git a/hyperstation/code/game/turfs/simulated/minerals.dm b/hyperstation/code/game/turfs/simulated/minerals.dm new file mode 100644 index 000000000..52526e2ca --- /dev/null +++ b/hyperstation/code/game/turfs/simulated/minerals.dm @@ -0,0 +1,11 @@ +/turf/closed/mineral/layenia + name = "Crimson rock" + icon = 'hyperstation/icons/turf/floors/layeniamining.dmi' + smooth_icon = 'hyperstation/icons/turf/floors/layeniarocks.dmi' + icon_state = "layenia" + smooth = SMOOTH_MORE|SMOOTH_BORDER + canSmoothWith = null + baseturfs = /turf/open/floor/plating/asteroid/layenia + initial_gas_mix = FROZEN_ATMOS + environment_type = "layenia" + turf_type = /turf/open/floor/plating/asteroid/layenia diff --git a/hyperstation/icons/turf/floors/layenia.dmi b/hyperstation/icons/turf/floors/layenia.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7bcb612bf00db78da850b12a6c058ea0869a77da GIT binary patch literal 11971 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 VevXK>s!jj^002ovPDHLkV1l1HF24W( literal 0 HcmV?d00001 diff --git a/icons/turf/floors/crystal_floor.dmi b/hyperstation/icons/turf/floors/layeniacrystal.dmi similarity index 100% rename from icons/turf/floors/crystal_floor.dmi rename to hyperstation/icons/turf/floors/layeniacrystal.dmi diff --git a/hyperstation/icons/turf/floors/layeniamining.dmi b/hyperstation/icons/turf/floors/layeniamining.dmi new file mode 100644 index 0000000000000000000000000000000000000000..62c9966d1fff7b95109879b180807dc5b340f8ad GIT binary patch literal 698 zcmV;r0!96aP)AUH|~KGaFO@0KmY&m1DO-00001bW%=J06^y0W&i*HfO=F|bVOxyV{&P5 zbZKvH004NLQ&w={`5B+01VNmOtJvb+1)?@h4KJeg;v&?EKhVG zq6VNA>>kJvOSuqa%2AaL=;S*RfpSp-;L7>WGRrg03*0^xTv2VmHz=zzU1sn1GX5&*Wkx)NX!qX0}W63r$6SSRS9S}hKM z{TKMd7YDS3vF~ag1v@0^Fv-q5hz4RdNoQK!d>|>ML4L)|Z*{lN(^>t3y-3;_@L;KF>H0Q`#6X z!5t`90;?me2D-IC`5XwV^l~6ekq}m-5g>HU=`g7T7?C$RENRcI#@Jc|}>b gZjIG8^M7CZ1(>K(7^Xi8r~m)}07*qoM6N<$g8KR=n*aa+ literal 0 HcmV?d00001 diff --git a/icons/turf/layeniarocks.dmi b/hyperstation/icons/turf/floors/layeniarocks.dmi similarity index 100% rename from icons/turf/layeniarocks.dmi rename to hyperstation/icons/turf/floors/layeniarocks.dmi diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index bb2885b208fc3b0ae6c76a3c9b8a9c270ff11fa8..427658202e25069fec8a03f0c29a9f438ce98ee9 100644 GIT binary patch delta 25404 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

>CL^bLBm>(5YRjg78y56QjjTzNO{B1I+ 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 delta 4176 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