diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 33e27edd..0f2fd353 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -409,7 +409,7 @@ "jf" = (/obj/effect/mob_spawn/human/lavaland_syndicate{dir = 4; icon_state = "sleeper_s"},/obj/machinery/airalarm/syndicate{pixel_y = 24},/turf/open/floor/plasteel/grimy,/area/ruin/unpowered/syndicate_lava_base/dormitories) "jg" = (/obj/effect/mapping_helpers/no_lava,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating{baseturfs = /turf/open/lava/smooth/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300"},/area/ruin/unpowered/syndicate_lava_base/outdoors) "jh" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/light/small{dir = 1},/turf/open/floor/plating{baseturfs = /turf/open/lava/smooth/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300"},/area/ruin/unpowered/syndicate_lava_base/arrivals) -"ji" = (/obj/machinery/vending/snack/random{extended_inventory = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) +"ji" = (/obj/machinery/vending/snack/random{extended_inventory = 1; free = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "jj" = (/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "jk" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/mapping_helpers/no_lava,/turf/open/floor/plating{baseturfs = /turf/open/lava/smooth/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300"},/area/ruin/unpowered/syndicate_lava_base/outdoors) "jl" = (/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) @@ -418,7 +418,7 @@ "jp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "jq" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{dir = 1},/obj/structure/bed,/obj/effect/spawner/lootdrop/bedsheet,/turf/open/floor/plasteel/grimy,/area/ruin/unpowered/syndicate_lava_base/dormitories) "jr" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/turf/open/floor/plasteel/grimy,/area/ruin/unpowered/syndicate_lava_base/dormitories) -"js" = (/obj/machinery/vending/cola/random{extended_inventory = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) +"js" = (/obj/machinery/vending/cola/random{extended_inventory = 1; free = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "jt" = (/obj/structure/cable/yellow{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "ju" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/unpowered/syndicate_lava_base/engineering) "jv" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/firedoor,/obj/structure/cable/yellow{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/machinery/door/airlock/engineering{dir = 4; name = "Engineering"; req_access_txt = "150"},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/engineering) @@ -577,7 +577,7 @@ "mS" = (/turf/closed/wall/mineral/plastitanium/explosive,/area/ruin/unpowered/syndicate_lava_base/telecomms) "mT" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/unpowered/syndicate_lava_base/arrivals) "mU" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) -"mX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/vending/kink,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"mX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/vending/kink{free = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "mY" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{dir = 1},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "mZ" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/machinery/door/airlock/medical/glass{dir = 4; name = "Medbay"},/turf/open/floor/plasteel/white,/area/ruin/unpowered/syndicate_lava_base/medbay) "na" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/unpowered/syndicate_lava_base/medbay) @@ -690,6 +690,7 @@ "JA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{dir = 1},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "LX" = (/obj/machinery/hydroponics/constructable,/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Mn" = (/turf/closed/wall/mineral/plastitanium/explosive,/area/ruin/unpowered/syndicate_lava_base/bar) +"MY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "NH" = (/obj/machinery/air_sensor{frequency = 1442; id_tag = "syndie_lavaland_tox_sensor"},/turf/open/floor/plating/airless,/area/ruin/unpowered/syndicate_lava_base/engineering) "NZ" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/obj/item/multitool,/obj/machinery/button/door{id = "lavalandsyndi_telecomms"; name = "Telecomms Blast Door Control"; pixel_x = 26; req_access_txt = "150"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/telecomms) "Ov" = (/obj/effect/decal/cleanable/dirt,/obj/effect/mapping_helpers/no_lava,/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plating{baseturfs = /turf/open/lava/smooth/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300"},/area/ruin/unpowered/syndicate_lava_base/outdoors) @@ -760,7 +761,7 @@ aaabababababababababababdGleopjyorjZjNlhlilZlkouovllozjyjDkQaDlnmElooAnclqlrlslt aaabababababababababababhalwlwjyjyoHjZlzlAlBlCaklElFuBjyjDkQlHlImElKkQlLlMlNlOEZlPSulQlRnGjuabababaa aaababababmnmnmnRuRuRuRumnlTgsmOjynSlVlWlXlYlZmajymcjyjyTpkQmeUgmfYjkUncmhmimjmkmlDGjujujujuabababaa aaabababiimnmMmnmpmpIaNZmnmsmsmTjymvmumvjyvxmxjyjyjyjymzocmAmBmCmEmEutncmGmHmImJmKnjjuababababababaa -aaabababmnmMmMmPTimQmRWtmSzVzVyqmUmUEFZvjyjyMnjyvDXamXmYzymZnauXnbnbRancjuneRVngsZNHjuababababababaa +aaabababmnmMmMmPTimQmRWtmSzVzVyqMYmUEFZvjyjyMnjyvDXamXmYzymZnauXnbnbRancjuneRVngsZNHjuababababababaa aaabababmnFbnkaEnknlnmmonnrFnonpBkamnrpiQmjPJAnsntRsfDnwhWnynzloRYmECDZInDnEtWnFnGRDjuababababababaa aaabababmnmMmMmnnInJnKnLmnmTnQmTfPfPaoarPanTnUnXnXnXfKauhXmTobfkaVcDszjujuofOYjujujuhBababababababaa aaabababgmmnmMmnoiojokmnmnmTGYPaPaPaPaJccIPamTgWgWgWgWgXmTmTmTmTmTmTmTmTotFlFRpVabababababababababaa diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index 902f182e..0478a690 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -42,13 +42,13 @@ "aP" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -29},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aQ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/airlock{dir = 4; name = "Personal Quarters"},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) -"aS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) +"aS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aT" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aU" = (/obj/effect/turf_decal/stripes/red/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aV" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/structure/sign/poster/contraband/random{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aW" = (/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aX" = (/obj/structure/closet/firecloset/full{anchored = 1},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation) -"aY" = (/obj/machinery/vending/snack/random{extended_inventory = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster/contraband/random{pixel_x = 32},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) +"aY" = (/obj/machinery/vending/snack/random{extended_inventory = 1; free = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster/contraband/random{pixel_x = 32},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "aZ" = (/turf/closed/mineral/random,/area/ruin/space/has_grav/listeningstation) "ba" = (/obj/machinery/vending/boozeomat/syndicate_access,/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation) "bb" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/public/glass{dir = 4; name = "Botany"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) @@ -71,7 +71,7 @@ "bs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "bt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation) "bu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation) -"bv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/cola/shamblers,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) +"bv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/cola/shamblers{free = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "bw" = (/obj/structure/closet/secure_closet/hydroponics{req_access = null},/obj/item/reagent_containers/spray/pestspray{pixel_x = 3; pixel_y = 4},/obj/item/shovel/spade,/obj/effect/decal/cleanable/dirt,/obj/item/storage/bag/plants,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "bx" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "by" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1},/obj/structure/reagent_dispensers/fueltank,/obj/item/clothing/head/welding,/obj/item/weldingtool/largetank,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation) diff --git a/_maps/RandomRuins/SpaceRuins/wizardden.dmm b/_maps/RandomRuins/SpaceRuins/wizardden.dmm new file mode 100644 index 00000000..59de2fcc --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/wizardden.dmm @@ -0,0 +1,277 @@ +"a" = (/turf/open/space/basic,/area/space) +"f" = (/obj/structure/fans/tiny/invisible,/turf/open/floor/fakepit,/area/ruin/space/has_grav/powered/wiz_home) +"h" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/obj/machinery/light_switch{pixel_y = -24},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"j" = (/obj/structure/table/wood,/obj/item/book/codex_gigas,/obj/machinery/light{dir = 8},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"p" = (/obj/machinery/door/airlock/external,/obj/effect/mapping_helpers/airlock/cyclelink_helper,/turf/open/floor/plating,/area/ruin/space/has_grav/powered/wiz_home) +"t" = (/obj/structure/table/wood,/obj/item/gun/magic/staff,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"v" = (/obj/structure/destructible/cult/tome,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"w" = (/turf/closed/indestructible/wood,/area/ruin/space/has_grav/powered/wiz_home) +"y" = (/turf/open/floor/carpet,/area/ruin/space/has_grav/powered/wiz_home) +"z" = (/obj/structure/table/wood,/obj/item/storage/pill_bottle/dice{icon_state = "magicdicebag"},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"B" = (/obj/structure/chair/wood/wings{dir = 1},/turf/open/floor/carpet,/area/ruin/space/has_grav/powered/wiz_home) +"G" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney."; icon = 'icons/mob/mob.dmi'; icon_state = "nim"; name = "wizard of yendor showcase"},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"I" = (/obj/machinery/vending/magivend_novirus,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"K" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/effect/decal/remains/human,/turf/open/floor/carpet,/area/ruin/space/has_grav/powered/wiz_home) +"P" = (/obj/structure/table/wood,/obj/item/book/granter/spell/smoke,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"S" = (/obj/machinery/light,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"U" = (/obj/machinery/light{dir = 4},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"V" = (/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"W" = (/obj/structure/destructible/cult/talisman{desc = "An altar dedicated to the Wizards' Federation"},/obj/item/kitchen/knife/ritual,/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"X" = (/obj/structure/table/wood,/obj/item/spellbook{name = "Magical Grimoire"; owner = "Chloe Zadovsky"; uses = 0},/turf/open/floor/wood,/area/ruin/space/has_grav/powered/wiz_home) +"Y" = (/obj/machinery/door/airlock/external,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/turf/open/floor/plating,/area/ruin/space/has_grav/powered/wiz_home) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aawwwwwwwwwwaaa +aawztPvWVVIwaaa +aawXKyByyyVwaaa +aawjyyyyyyUwaaa +aawVVVhGSVVwaaa +aawwwwwwwpwwaaa +aaaaaaaawfwaaaa +aaaaaaaawYwaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,2) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,3) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,4) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,5) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,6) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,7) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,8) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,9) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,10) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,11) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,12) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,13) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,14) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} +(1,1,15) = {" +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +aaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 6a47ebdb..a5806b0f 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1670,7 +1670,7 @@ "aGf" = (/obj/machinery/shower{pixel_y = 19},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet) "aGg" = (/obj/machinery/cryopod{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/freezer,/area/crew_quarters/cryopod) "aGh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plasteel/yellowsiding{dir = 1},/area/crew_quarters/fitness/pool) -"aGi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/starboard/fore) +"aGi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/fore) "aGj" = (/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/carpet,/area/crew_quarters/theatre) "aGk" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "2-4"},/obj/structure/disposalpipe/sorting/mail{dir = 4; sortType = 19},/turf/open/floor/plating,/area/maintenance/starboard/fore) "aGl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel,/area/crew_quarters/dorms) @@ -2047,7 +2047,7 @@ "aNs" = (/turf/open/floor/plasteel/showroomfloor,/area/crew_quarters/kitchen) "aNt" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/vault{req_access_txt = "53"},/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai_upload) "aNu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel,/area/hallway/primary/central) -"aNv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/plasticflaps/opaque,/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/open/floor/plating,/area/crew_quarters/kitchen) +"aNv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/plasticflaps/opaque,/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/open/floor/plating,/area/crew_quarters/kitchen) "aNw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall,/area/crew_quarters/kitchen) "aNx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/plasticflaps/opaque,/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/maintenance/starboard/fore) "aNy" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/structure/disposalpipe/segment{dir = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{icon_state = "1-4"},/turf/open/floor/plasteel,/area/hallway/primary/central) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index b345d475..b26e26c8 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -20165,7 +20165,6 @@ }, /area/hallway/secondary/exit/departure_lounge) "aOh" = ( -/obj/structure/chair, /obj/machinery/light{ dir = 1 }, @@ -20176,6 +20175,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/machinery/atm{ + pixel_y = 30 + }, /turf/open/floor/plasteel{ heat_capacity = 1e+006 }, @@ -25501,9 +25503,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -25514,6 +25513,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atm{ + pixel_y = 30 + }, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "aZb" = ( @@ -41964,6 +41966,9 @@ /obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/machinery/atm{ + pixel_y = 30 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "bHn" = ( @@ -53371,9 +53376,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "coo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -58566,6 +58569,13 @@ /obj/structure/grille, /turf/open/space/basic, /area/space/nearstation) +"gZw" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atm{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "heC" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 8; @@ -59568,6 +59578,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/crew_quarters/dorms) +"jKu" = ( +/obj/machinery/atm{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main/monastery) "jLW" = ( /obj/machinery/atmospherics/pipe/simple/purple/visible, /turf/closed/wall/r_wall, @@ -59765,6 +59781,20 @@ icon_state = "platingdmg3" }, /area/maintenance/department/crew_quarters/dorms) +"kks" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atm{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) "kkQ" = ( /obj/machinery/vending/cola/pwr_game, /turf/open/floor/plating{ @@ -61151,6 +61181,21 @@ }, /turf/open/floor/plating, /area/science/xenobiology) +"nFk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atm{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "nGi" = ( /obj/structure/chair{ dir = 4 @@ -63383,6 +63428,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"tcR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atm{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "tcY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -82030,7 +82084,7 @@ bOw bQg bQe bWV -bXJ +jKu bXJ bZm bYB @@ -84797,7 +84851,7 @@ aIC pvK aKD gmO -aQt +aHz aOh aWK aRE @@ -86351,7 +86405,7 @@ azW abG aHz aYG -aZA +kks aGp bbR bbR @@ -86363,7 +86417,7 @@ aaa aaa aaa aYG -bbR +tcR bbR aJu baK @@ -93530,7 +93584,7 @@ aEz aFx aGk awR -aHQ +nFk aIO aJO aKT @@ -103804,7 +103858,7 @@ aym awr aAO aBP -com +coo apX aET aaH @@ -104318,9 +104372,9 @@ ayn azv col aBR -coo +bns apX -aGV +gZw aDZ aGD aDZ diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index ff2a7786..1a5e715e 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -12900,6 +12900,23 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"Cl" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/item/storage/backpack/duffelbag/drone{ + pixel_y = 2 + }, +/obj/effect/decal/cleanable/ash{ + name = "ashes of drone (760)" + }, +/obj/item/clothing/head/hardhat/weldhat, +/turf/open/floor/plasteel{ + dir = 6; + icon_state = "asteroid8"; + name = "sand" + }, +/area/centcom/control) "Cn" = ( /obj/structure/table/reinforced, /obj/machinery/chem_dispenser/drinks/beer/fullupgrade, @@ -18945,6 +18962,9 @@ /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/north, /obj/structure/window/reinforced/spawner/west, +/obj/item/rupee{ + desc = "A gift, right?" + }, /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "RD" = ( @@ -62724,7 +62744,7 @@ io io io qw -WI +Cl Wk WI lN diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index fd29e892..90c73dac 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -17,6 +17,7 @@ #define COLOR_FLOORTILE_GRAY "#8D8B8B" #define COLOR_ALMOST_BLACK "#333333" +#define COLOR_SILVER "#C0C0C0" #define COLOR_BLACK "#000000" #define COLOR_RED "#FF0000" #define COLOR_RED_LIGHT "#FF3333" @@ -63,4 +64,4 @@ #define COLOR_ASSEMBLY_LBLUE "#5D99BE" #define COLOR_ASSEMBLY_BLUE "#38559E" #define COLOR_ASSEMBLY_PURPLE "#6F6192" -#define COLOR_ASSEMBLY_PINK "#ff4adc" \ No newline at end of file +#define COLOR_ASSEMBLY_PINK "#ff4adc" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 4598932b..c1648d34 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -6,6 +6,10 @@ #define PLANE_SPACE -95 #define PLANE_SPACE_PARALLAX -90 +#define OPENSPACE_LAYER 17 //Openspace layer over all +#define OPENSPACE_PLANE -4 //Openspace plane below all turfs +#define OPENSPACE_BACKDROP_PLANE -3 //Black square just over openspace plane to guaranteed cover all in openspace turf + #define FLOOR_PLANE -2 #define GAME_PLANE -1 #define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals @@ -87,9 +91,6 @@ #define ABOVE_LIGHTING_PLANE 16 #define ABOVE_LIGHTING_LAYER 16 -#define FLOOR_OPENSPACE_PLANE 17 -#define OPENSPACE_LAYER 17 - #define BYOND_LIGHTING_PLANE 18 #define BYOND_LIGHTING_LAYER 18 diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 8592383a..c96d687e 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -8,7 +8,7 @@ var/last_parallax_shift //world.time of last update var/parallax_throttle = 0 //ds between updates var/parallax_movedir = 0 - var/parallax_layers_max = 3 + var/parallax_layers_max = 4 var/parallax_animate_timer /datum/hud/proc/create_parallax(mob/viewmob) @@ -22,6 +22,8 @@ C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_1(null, C.view) C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_2(null, C.view) C.parallax_layers_cached += new /obj/screen/parallax_layer/planet(null, C.view) + if(SSparallax.random_layer) + C.parallax_layers_cached += new SSparallax.random_layer C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_3(null, C.view) C.parallax_layers = C.parallax_layers_cached.Copy() @@ -64,12 +66,12 @@ switch(C.prefs.parallax) if (PARALLAX_INSANE) C.parallax_throttle = FALSE - C.parallax_layers_max = 4 + C.parallax_layers_max = 5 return TRUE if (PARALLAX_MED) C.parallax_throttle = PARALLAX_DELAY_MED - C.parallax_layers_max = 2 + C.parallax_layers_max = 3 return TRUE if (PARALLAX_LOW) @@ -81,7 +83,7 @@ return FALSE C.parallax_throttle = PARALLAX_DELAY_DEFAULT - C.parallax_layers_max = 3 + C.parallax_layers_max = 4 return TRUE /datum/hud/proc/update_parallax_pref(mob/viewmob) @@ -167,7 +169,7 @@ /datum/hud/proc/update_parallax() var/client/C = mymob.client var/turf/posobj = get_turf(C.eye) - if(!posobj) + if(!posobj) return var/area/areaobj = posobj.loc @@ -296,6 +298,20 @@ speed = 1.4 layer = 3 +/obj/screen/parallax_layer/random + blend_mode = BLEND_OVERLAY + speed = 3 + layer = 3 + +/obj/screen/parallax_layer/random/space_gas + icon_state = "space_gas" + +/obj/screen/parallax_layer/random/space_gas/Initialize(mapload, view) + src.add_atom_colour(SSparallax.random_parallax_color, ADMIN_COLOUR_PRIORITY) + +/obj/screen/parallax_layer/random/asteroids + icon_state = "asteroids" + /obj/screen/parallax_layer/planet icon_state = "planet" blend_mode = BLEND_OVERLAY @@ -304,11 +320,11 @@ layer = 30 /obj/screen/parallax_layer/planet/update_status(mob/M) - var/turf/T = get_turf(M) - if(is_station_level(T.z)) - invisibility = 0 - else - invisibility = INVISIBILITY_ABSTRACT + var/client/C = M.client + var/turf/posobj = get_turf(C.eye) + if(!posobj) + return + invisibility = is_station_level(posobj.z) ? 0 : INVISIBILITY_ABSTRACT /obj/screen/parallax_layer/planet/update_o() return //Shit wont move diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index b2bc0592..ac749409 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -18,7 +18,7 @@ /obj/screen/plane_master/openspace name = "open space plane master" - plane = FLOOR_OPENSPACE_PLANE + plane = OPENSPACE_BACKDROP_PLANE appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY alpha = 255 diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm index 64299fda..af5b13ce 100644 --- a/code/controllers/subsystem/parallax.dm +++ b/code/controllers/subsystem/parallax.dm @@ -7,9 +7,15 @@ SUBSYSTEM_DEF(parallax) var/list/currentrun var/planet_x_offset = 128 var/planet_y_offset = 128 + var/random_layer + var/random_parallax_color -/datum/controller/subsystem/parallax/Initialize(timeofday) +//These are cached per client so needs to be done asap so people joining at roundstart do not miss these. +/datum/controller/subsystem/parallax/PreInit() . = ..() + if(prob(70)) //70% chance to pick a special extra layer + random_layer = pick(/obj/screen/parallax_layer/random/space_gas, /obj/screen/parallax_layer/random/asteroids) + random_parallax_color = pick(COLOR_TEAL, COLOR_GREEN, COLOR_SILVER, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE, COLOR_PURPLE)//Special color for random_layer1. Has to be done here so everyone sees the same color. planet_y_offset = rand(100, 160) planet_x_offset = rand(100, 160) diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 74b9e3a1..fbcc8abb 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -58,6 +58,9 @@ /area/ruin/space/has_grav/powered/cat_man name = "Kitty Den" +/area/ruin/space/has_grav/powered/wiz_home/area/ruin/space/has_grav/powered/wiz_home + name = "Wizard's Cabin" + /area/ruin/space/has_grav/powered/authorship name = "Authorship" @@ -178,13 +181,6 @@ name = "Mech Transport" icon_state = "green" - -//Ruin of gas the lizard - -/area/ruin/space/has_grav/gasthelizard - name = "Gas the lizard" - - //Ruin of Deep Storage /area/ruin/space/has_grav/deepstorage diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index d9948b8e..656bbc51 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -31,6 +31,8 @@ var/renamedByPlayer = FALSE //set when a player uses a pen on a renamable object + vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of obj in openspace. + /obj/vv_edit_var(vname, vval) switch(vname) if("anchored") diff --git a/code/game/turfs/openspace/openspace.dm b/code/game/turfs/openspace/openspace.dm index e68aabcd..ede97c0b 100644 --- a/code/game/turfs/openspace/openspace.dm +++ b/code/game/turfs/openspace/openspace.dm @@ -1,7 +1,20 @@ +GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdrop, new) + +/atom/movable/openspace_backdrop + name = "openspace_backdrop" + + anchored = TRUE + + icon = 'icons/turf/floors.dmi' + icon_state = "grey" + plane = OPENSPACE_BACKDROP_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + layer = SPLASHSCREEN_LAYER + /turf/open/openspace name = "open space" desc = "Watch your step!" - icon_state = "grey" + icon_state = "transparent" baseturfs = /turf/open/openspace CanAtmosPassVertical = ATMOS_PASS_YES //mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -14,8 +27,11 @@ /turf/open/openspace/Initialize() // handle plane and layer here so that they don't cover other obs/turfs in Dream Maker . = ..() - plane = FLOOR_OPENSPACE_PLANE + plane = OPENSPACE_PLANE layer = OPENSPACE_LAYER + + vis_contents += GLOB.openspace_backdrop_one_for_all //Special grey square for projecting backdrop darkness filter on it. + return INITIALIZE_HINT_LATELOAD /turf/open/openspace/LateInitialize() diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 983f37d1..d415e230 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -18,7 +18,7 @@ light_power = 0.25 dynamic_lighting = DYNAMIC_LIGHTING_DISABLED bullet_bounce_sound = null - + vis_flags = VIS_INHERIT_ID //when this be added to vis_contents of something it be associated with something on clicking, important for visualisation of turf in openspace and interraction with openspace that show you turf. /turf/open/space/basic/New() //Do not convert to Initialize //This is used to optimize the map loader diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d1394e7c..ff47a484 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -32,6 +32,8 @@ //IE if the turf is supposed to be water, set TRUE. var/tiled_dirt = FALSE // use smooth tiled dirt decal + + vis_flags = VIS_INHERIT_PLANE|VIS_INHERIT_ID //when this be added to vis_contents of something it inherit something.plane and be associated with something on clicking, important for visualisation of turf in openspace and interraction with openspace that show you turf. /turf/vv_edit_var(var_name, new_value) var/static/list/banned_edits = list("x", "y", "z") diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 06a62f52..9bd41404 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -203,6 +203,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g anchored = TRUE // should only appear in vis_contents, but to be safe layer = FLY_LAYER appearance_flags = TILE_BOUND + vis_flags = NONE /obj/effect/overlay/gas/New(state, alph) . = ..() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index ed901ee6..3a56fcff 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -142,3 +142,5 @@ var/typing_indicator_timerid /// Current state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays. var/mutable_appearance/typing_indicator_current + + vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace. diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 18f2c761..4fefc0fd 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -14,7 +14,7 @@ taste_description = "alcohol" var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning pH = 7.33 - hydration = 1 * REAGENTS_METABOLISM + hydration = 1 /* Boozepwr Chart diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index d250f025..ed5fba9d 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -11,7 +11,7 @@ glass_icon_state = "glass_orange" glass_name = "glass of orange juice" glass_desc = "Vitamins! Yay!" - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 pH = 3.3 /datum/reagent/consumable/orangejuice/on_mob_life(mob/living/carbon/M) @@ -28,7 +28,7 @@ glass_icon_state = "glass_red" glass_name = "glass of tomato juice" glass_desc = "Are you sure this is tomato juice?" - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/carbon/M) if(M.getFireLoss() && prob(20)) @@ -45,7 +45,7 @@ glass_name = "glass of lime juice" glass_desc = "A glass of sweet-sour lime juice." pH = 2.2 - hydration = 3 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M) if(M.getToxLoss() && prob(20)) @@ -61,7 +61,7 @@ glass_icon_state = "carrotjuice" glass_name = "glass of carrot juice" glass_desc = "It's just like a carrot but without crunching." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/carbon/M) M.adjust_blurriness(-1) @@ -83,7 +83,7 @@ glass_icon_state = "berryjuice" glass_name = "glass of berry juice" glass_desc = "Berry juice. Or maybe it's jam. Who cares?" - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/applejuice name = "Apple Juice" @@ -91,7 +91,7 @@ color = "#ECFF56" // rgb: 236, 255, 86 taste_description = "apples" pH = 3.2 // ~ 2.7 -> 3.7 - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/poisonberryjuice name = "Poison Berry Juice" @@ -101,7 +101,7 @@ glass_icon_state = "poisonberryjuice" glass_name = "glass of berry juice" glass_desc = "Berry juice. Or maybe it's poison. Who cares?" - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/carbon/M) M.adjustToxLoss(1, 0) @@ -116,7 +116,7 @@ glass_icon_state = "glass_red" glass_name = "glass of watermelon juice" glass_desc = "A glass of watermelon juice." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/lemonjuice name = "Lemon Juice" @@ -127,7 +127,7 @@ glass_name = "glass of lemon juice" glass_desc = "Sour..." pH = 2 - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/strawberryjuice name = "Strawberry Juice" @@ -136,7 +136,7 @@ taste_description = "strawberry" glass_name = "glass of strawberry juice" glass_desc = "Refreshing seasonal summer drink." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/banana name = "Banana Juice" @@ -146,7 +146,7 @@ glass_icon_state = "banana" glass_name = "glass of banana juice" glass_desc = "The raw essence of a banana. HONK." - hydration = 1 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/banana/on_mob_life(mob/living/carbon/M) if((ishuman(M) && M.job == "Clown") || ismonkey(M)) @@ -210,7 +210,7 @@ description = "The juice of a bunch of grapes. Guaranteed non-alcoholic." color = "#290029" // dark purple taste_description = "grape soda" - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/milk name = "Milk" @@ -221,7 +221,7 @@ glass_name = "milk drum" glass_desc = "White and nutritious goodness!" pH = 6.5 - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/milk/on_mob_life(mob/living/carbon/M) if(HAS_TRAIT(M, TRAIT_CALCIUM_HEALER)) @@ -243,7 +243,7 @@ glass_icon_state = "glass_white" glass_name = "glass of soy milk" glass_desc = "White and nutritious soy goodness!" - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/soymilk/on_mob_life(mob/living/carbon/M) if(M.getBruteLoss() && prob(20)) @@ -260,7 +260,7 @@ glass_icon_state = "glass_white" glass_name = "glass of coconut milk" glass_desc = "White and nutritious goodness!" - hydration = 4 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/coconutmilk/on_mob_life(mob/living/carbon/M) if(M.getBruteLoss() && prob(20)) @@ -276,7 +276,7 @@ glass_icon_state = "glass_white" glass_name = "glass of cream" glass_desc = "Ewwww..." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/cream/on_mob_life(mob/living/carbon/M) if(M.getBruteLoss() && prob(20)) @@ -294,7 +294,7 @@ glass_icon_state = "glass_brown" glass_name = "glass of coffee" glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/coffee/overdose_process(mob/living/M) M.Jitter(5) @@ -320,7 +320,7 @@ glass_icon_state = "teaglass" glass_name = "glass of tea" glass_desc = "Drinking it from here would not seem right." - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-2) @@ -341,7 +341,7 @@ glass_icon_state = "lemonpitcher" glass_name = "pitcher of lemonade" glass_desc = "This drink leaves you feeling nostalgic for some reason." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tea/arnold_palmer name = "Arnold Palmer" @@ -353,7 +353,7 @@ glass_icon_state = "arnold_palmer" glass_name = "Arnold Palmer" glass_desc = "You feel like taking a few golf swings after a few swigs of this." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/M) if(prob(5)) @@ -370,7 +370,7 @@ glass_icon_state = "icedcoffeeglass" glass_name = "iced coffee" glass_desc = "A drink to perk you up and refresh you!" - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -390,7 +390,7 @@ glass_icon_state = "icedteaglass" glass_name = "iced tea" glass_desc = "All natural, antioxidant-rich flavour sensation." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-2) @@ -410,7 +410,7 @@ glass_icon_state = "glass_brown" glass_name = "glass of Space Cola" glass_desc = "A glass of refreshing Space Cola." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-5) @@ -426,7 +426,7 @@ glass_icon_state = "nuka_colaglass" glass_name = "glass of Nuka Cola" glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/L) ..() @@ -471,7 +471,7 @@ glass_icon_state = "dr_gibb_glass" glass_name = "glass of Dr. Gibb" glass_desc = "Dr. Gibb. Not as dangerous as the glass_name might imply." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-6) @@ -486,7 +486,7 @@ glass_icon_state = "space-up_glass" glass_name = "glass of Space-Up" glass_desc = "Space-up. It helps you keep your cool." - hydration = 5 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -500,7 +500,7 @@ glass_icon_state = "glass_yellow" glass_name = "glass of lemon-lime" glass_desc = "You're pretty certain a real fruit has never actually touched this." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -514,7 +514,7 @@ glass_icon_state = "glass_red" glass_name = "glass of Pwr Game" glass_desc = "Goes well with a Vlad's salad." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/pwr_game/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -528,7 +528,7 @@ glass_icon_state = "glass_red" glass_name = "glass of Shambler's juice" glass_desc = "Mmm mm, shambly." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/shamblers/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -543,7 +543,7 @@ glass_icon_state = "grey_bull_glass" glass_name = "glass of Grey Bull" glass_desc = "Surprisingly it isnt grey." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/grey_bull/on_mob_metabolize(mob/living/L) ..() @@ -569,7 +569,7 @@ glass_icon_state = "glass_clear" glass_name = "glass of soda water" glass_desc = "Soda water. Why not make a scotch and soda?" - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -585,7 +585,7 @@ glass_icon_state = "glass_clear" glass_name = "glass of tonic water" glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - hydration = 4 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -604,7 +604,7 @@ glass_icon_state = "iceglass" glass_name = "glass of ice" glass_desc = "Generally, you're supposed to put something else in there too..." - hydration = 5 * REAGENTS_METABOLISM //ice is water dummy, just as good. + hydration = 5 /datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -619,7 +619,7 @@ glass_icon_state = "soy_latte" glass_name = "soy latte" glass_desc = "A nice and refreshing beverage while you're reading." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -641,7 +641,7 @@ glass_icon_state = "cafe_latte" glass_name = "cafe latte" glass_desc = "A nice, strong and refreshing beverage while you're reading." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -663,7 +663,7 @@ glass_icon_state = "doctorsdelightglass" glass_name = "Doctor's Delight" glass_desc = "The space doctor's favorite. Guaranteed to restore bodily injury; side effects include cravings and hunger." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/carbon/M) M.adjustBruteLoss(-0.5, 0) @@ -730,7 +730,7 @@ glass_icon_state = "pumpkin_latte" glass_name = "pumpkin latte" glass_desc = "A mix of coffee and pumpkin juice." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/gibbfloats name = "Gibb Floats" @@ -742,14 +742,14 @@ glass_icon_state = "gibbfloats" glass_name = "Gibbfloat" glass_desc = "Dr. Gibb with ice cream on top." - hydration = 3 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/pumpkinjuice name = "Pumpkin Juice" description = "Juiced from real pumpkin." color = "#FFA500" taste_description = "pumpkin" - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/blumpkinjuice name = "Blumpkin Juice" @@ -766,7 +766,7 @@ glass_icon_state = "triplecitrus" //needs own sprite mine are trash glass_name = "glass of triple citrus" glass_desc = "A mixture of citrus juices. Tangy, yet smooth." - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/grape_soda name = "Grape soda" @@ -775,7 +775,7 @@ taste_description = "grape soda" glass_name = "glass of grape juice" glass_desc = "It's grape (soda)!" - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -788,7 +788,7 @@ color = "#7D4E29" quality = DRINK_NICE taste_description = "chocolate milk" - hydration = 2 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/menthol name = "Menthol" @@ -810,7 +810,7 @@ taste_description = "sweet pomegranates" glass_name = "glass of grenadine" glass_desc = "Delicious flavored syrup." - hydration = 1 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/parsnipjuice name = "Parsnip Juice" @@ -818,7 +818,7 @@ color = "#FFA500" taste_description = "parsnip" glass_name = "glass of parsnip juice" - hydration = 1 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/pineapplejuice name = "Pineapple Juice" @@ -827,7 +827,7 @@ taste_description = "pineapple" glass_name = "glass of pineapple juice" glass_desc = "Tart, tropical, and hotly debated." - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/peachjuice //Intended to be extremely rare due to being the limiting ingredients in the blazaam drink name = "Peach Juice" @@ -835,7 +835,7 @@ color = "#E78108" taste_description = "peaches" glass_name = "glass of peach juice" - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/cream_soda name = "Cream Soda" @@ -846,7 +846,7 @@ glass_icon_state = "cream_soda" glass_name = "Cream Soda" glass_desc = "A classic space-American vanilla flavored soft drink." - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) @@ -888,7 +888,7 @@ taste_description = "sweet strawberry and milk cream" glass_name = "tall glass of strawberry milk" glass_desc = "Delicious flavored strawberry syrup mixed with milk." - hydration = 3 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/pinkmilk/on_mob_life(mob/living/carbon/M) if(prob(15)) @@ -905,7 +905,7 @@ taste_description = "sweet tea with a hint of strawberry" glass_name = "mug of strawberry tea" glass_desc = "Delicious traditional tea flavored with strawberries." - hydration = 2 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/tea/pinktea/on_mob_life(mob/living/carbon/M) if(prob(10)) @@ -921,7 +921,7 @@ glass_icon_state = "monkey_energy_glass" glass_name = "glass of Monkey Energy" glass_desc = "You can unleash the ape, but without the pop of the can?" - hydration = 1 * REAGENTS_METABOLISM + hydration = 4 /datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M) M.Jitter(20) @@ -939,7 +939,7 @@ glass_icon_state = "glass_yellow" glass_name = "glass of bungo juice" glass_desc = "Exotic! You feel like you are on vacation already." - hydration = 1 * REAGENTS_METABOLISM + hydration = 5 /datum/reagent/consumable/aloejuice name = "Aloe Juice" @@ -949,7 +949,7 @@ glass_icon_state = "glass_yellow" glass_name = "glass of aloe juice" glass_desc = "A healthy and refreshing juice." - hydration = 2 * REAGENTS_METABOLISM + hydration = 5 /datum/reagent/consumable/aloejuice/on_mob_life(mob/living/M) if(prob(30)) @@ -984,7 +984,7 @@ glass_icon_state = "wockyslush" glass_name = "Wocky Slush" glass_desc = "That thang bleedin' to the-... ya know I mean?" - hydration = 3 * REAGENTS_METABOLISM + hydration = 3 /datum/reagent/consumable/wockyslush/on_mob_life(mob/living/carbon/M) M.emote(pick("twitch","giggle","stare")) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index bb200cdc..b5384f8a 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -18,6 +18,7 @@ /datum/reagent/consumable/on_mob_life(mob/living/carbon/M) current_cycle++ M.nutrition += nutriment_factor + M.thirst += hydration holder.remove_reagent(type, metabolization_rate) /datum/reagent/consumable/reaction_mob(mob/living/M, method=TOUCH, reac_volume) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 83f8b666..b6094aae 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -258,7 +258,7 @@ glass_name = "glass of water" glass_desc = "The father of all refreshments." shot_glass_icon_state = "shotglassclear" - hydration = 10 * REAGENTS_METABOLISM + hydration = 5 /* * Water reaction to turf diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index f7a618fe..4319215c 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1773,7 +1773,7 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes cost = 2 restricted_roles = list("Curator") limited_stock = 1 //please don't spam deadchat - +/* Disabled because this is waaaay too chaotic for hyper /datum/uplink_item/role_restricted/his_grace name = "His Grace" desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \ @@ -1784,24 +1784,24 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes cost = 20 restricted_roles = list("Chaplain") surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain - -///datum/uplink_item/role_restricted/clockwork_slab -/datum/uplink_item/dangerous/clockwork_slab +*/ +/datum/uplink_item/role_restricted/clockwork_slab name = "Clockwork Slab" desc = "A reverse engineered clockwork slab. Is this really a good idea?" item = /obj/item/clockwork/slab/traitor cost = 20 refundable = TRUE - //restricted_roles = list("Chaplain","Curator") + restricted_roles = list("Chaplain","Curator") + cant_discount = TRUE -///datum/uplink_item/role_restricted/arcane_tome -/datum/uplink_item/dangerous/arcane_tome +/datum/uplink_item/role_restricted/arcane_tome name = "Arcane Tome" desc = "A 'replica' of a Nar'sian tome. This is probably a bad idea..." item = /obj/item/tome/traitor cost = 20 refundable = TRUE - //restricted_roles = list("Chaplain","Curator") + restricted_roles = list("Chaplain","Curator") + cant_discount = TRUE /datum/uplink_item/role_restricted/explosive_hot_potato name = "Exploding Hot Potato" diff --git a/code/modules/vending/magivend.dm b/code/modules/vending/magivend.dm index 30c6ae61..a8ec8340 100644 --- a/code/modules/vending/magivend.dm +++ b/code/modules/vending/magivend.dm @@ -16,3 +16,22 @@ contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50, "magic" = 100) resistance_flags = FIRE_PROOF + +/obj/machinery/vending/magivend_novirus + name = "\improper MagiVend" + desc = "A magic vending machine." + icon_state = "MagiVend" + product_slogans = "Sling spells the proper way with MagiVend!;Be your own Houdini! Use MagiVend!" + vend_reply = "Have an enchanted evening!" + product_ads = "EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!;Now-magic proofing venders!" + products = list(/obj/item/clothing/head/wizard = 1, + /obj/item/clothing/suit/wizrobe = 1, + /obj/item/clothing/head/wizard/red = 1, + /obj/item/clothing/suit/wizrobe/red = 1, + /obj/item/clothing/head/wizard/yellow = 1, + /obj/item/clothing/suit/wizrobe/yellow = 1, + /obj/item/clothing/shoes/sandal/magic = 1, + /obj/item/staff = 2) + contraband = list(/obj/item/coin/antagtoken = 1) + armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50, "magic" = 100) + resistance_flags = FIRE_PROOF \ No newline at end of file diff --git a/hyperstation/code/controllers/subsystem/economy.dm b/hyperstation/code/controllers/subsystem/economy.dm index b69e29c8..e30e05c7 100644 --- a/hyperstation/code/controllers/subsystem/economy.dm +++ b/hyperstation/code/controllers/subsystem/economy.dm @@ -3,7 +3,8 @@ SUBSYSTEM_DEF(economy) wait = 5 MINUTES init_order = INIT_ORDER_ECONOMY runlevels = RUNLEVEL_GAME + flags = SS_NO_FIRE //Let's not forget this. This subsystem does not use fire and was needlessly using CPU. var/roundstart_paychecks = 5 var/budget_pool = 35000 var/list/generated_accounts = list() - var/list/bank_accounts = list() //List of normal accounts (not department accounts) \ No newline at end of file + var/list/bank_accounts = list() //List of normal accounts (not department accounts) diff --git a/hyperstation/code/game/objects/items/cosmetics.dm b/hyperstation/code/game/objects/items/cosmetics.dm index 711707f1..e3026747 100644 --- a/hyperstation/code/game/objects/items/cosmetics.dm +++ b/hyperstation/code/game/objects/items/cosmetics.dm @@ -53,9 +53,11 @@ /obj/item/nailpolish/attack(mob/M, mob/user) if(!ismob(M)) return - if(ishuman(M)) var/mob/living/carbon/human/H = M + if(H.nail_style) //to stop stacking bugs + to_chat(user, "Remove the old nail polish first!") + if(H == user) user.visible_message("[user] does [user.p_their()] nails with \the [src].", \ "You take a moment to apply \the [src]. Perfect!") diff --git a/hyperstation/code/obj/fleshlight.dm b/hyperstation/code/obj/fleshlight.dm index efdf51c0..7a12d3bf 100644 --- a/hyperstation/code/obj/fleshlight.dm +++ b/hyperstation/code/obj/fleshlight.dm @@ -1,5 +1,6 @@ //Hyperstation 13 fleshlight -//dont forget to credit us! +//Humbley request this doesnt get ported to other code bases, we strive to make things unique on our server and we dont have alot of coders +//but if you absolutely must. please give us some credit~ <3 /obj/item/fleshlight name = "fleshlight" @@ -93,6 +94,7 @@ var/paired = 0 var/obj/item/portalunderwear var/useable = FALSE + var/option = "" /obj/item/portallight/examine(mob/user) . = ..() @@ -109,11 +111,20 @@ if(!useable) to_chat(user, "It seems the device has failed or your partner is not wearing their device.") + if(C == user)//if your using it on yourself, more options! otherwise, just fuck. + option = input(usr, "Choose action", "Portal Fleshlight", "Fuck") in list("Fuck", "Lick", "Touch") + else + option = "Fuck" + var/obj/item/organ/genital/vagina/V = portalunderwear.loc if(!V) return var/mob/living/carbon/human/M = V.owner - if(P&&P.is_exposed()) + + if(option == "Fuck"&&!P.is_exposed()) //we are trying to fuck with no penis! + to_chat(user, "You don't see anywhere to use this on.") + return + else //other options dont need checks inuse = 1 if(!(C == user)) //if we are targeting someone else. C.visible_message("[user] is trying to use [src] on [C]'s penis.", "[user] is trying to use [src] on your penis.") @@ -123,35 +134,44 @@ return //checked if not used on yourself, if not, carry on. - playsound(src, 'sound/lewd/slaps.ogg', 30, 1, -1) //slapping sound + if(option == "Fuck") + playsound(src, 'sound/lewd/slaps.ogg', 30, 1, -1) //slapping sound for fuck. + inuse = 0 - if(!(C == user)) //lewd flavour text + if(!(C == user)) C.visible_message("[user] pumps [src] on [C]'s penis.", "[user] pumps [src] up and down on your penis.") else - user.visible_message("[user] pumps [src] on their penis.", "You pump the fleshlight on your penis.") + if(option == "Fuck") + user.visible_message("[user] pumps [src] on their penis.", "You pump the fleshlight on your penis.") + if(option == "Lick") + user.visible_message("[user] licks into [src].", "You lick into [src].") + if(option == "Touch") + user.visible_message("[user] touches softly against [src].", "You touch softly on [src].") + - if(prob(30)) //30% chance to make them moan. - C.emote("moan") if(prob(30)) //30% chance to make your partner moan. M.emote("moan") - to_chat(M, "You feel a [P.shape] shaped penis pumping through the portal into your vagina.")//message your partner and kinky! - M.adjustArousalLoss(20) - M.do_jitter_animation() //make your partner shake too! - - C.do_jitter_animation() - - C.adjustArousalLoss(20) //make the target more aroused. + if(option == "Fuck")// normal fuck + to_chat(M, "You feel a [P.shape] shaped penis pumping through the portal into your vagina.")//message your partner and kinky! + if(prob(30)) //30% chance to make them moan. + C.emote("moan") + if(prob(30)) //30% chance to make your partner moan. + M.emote("moan") + C.adjustArousalLoss(20) + M.adjustArousalLoss(20) + M.do_jitter_animation() //make your partner shake too! + if(option == "Lick") + to_chat(M, "You feel a tongue lick you through the portal against your vagina.") + M.adjustArousalLoss(10) + if(option == "Touch") + to_chat(M, "You feel someone touching your vagina through the portal.") + M.adjustArousalLoss(5) if (C.getArousalLoss() >= 100 && ishuman(C) && C.has_dna()) var/mob/living/carbon/human/O = C O.mob_climax_partner(P, M, TRUE, FALSE, FALSE, TRUE) //climax with their partner remotely! return - - else - to_chat(user, "You don't see anywhere to use this on.") - - inuse = 0 ..() /obj/item/portallight/proc/updatesleeve() @@ -162,11 +182,12 @@ var/mob/living/carbon/human/H = V.owner if(H) //if the portal panties are on someone. - + sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_normal") if(H.dna.species.name == "Lizardperson") // lizard nerd sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_lizard") - else - sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_normal") + + if(H.dna.species.name == "Slimeperson") // slime nerd + sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_slime") sleeve.color = "#" + H.dna.features["mcolor"] add_overlay(sleeve) diff --git a/hyperstation/icons/obj/fleshlight.dmi b/hyperstation/icons/obj/fleshlight.dmi index 0115dfc0..434d9aca 100644 Binary files a/hyperstation/icons/obj/fleshlight.dmi and b/hyperstation/icons/obj/fleshlight.dmi differ diff --git a/icons/effects/parallax.dmi b/icons/effects/parallax.dmi index 22f091ff..fb996d5e 100644 Binary files a/icons/effects/parallax.dmi and b/icons/effects/parallax.dmi differ diff --git a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm index 7f8b9d47..5bce8969 100644 --- a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm +++ b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm @@ -12,7 +12,6 @@ glass_icon_state = "semen" glass_name = "chalice of semen" glass_desc = "In the Sumerian mythology, Enki - the God of water, was believed to have created the Tigris and Euphrates rivers by masturbating and ejaculating into their empty riverbeds." - hydration = 2 * REAGENTS_METABOLISM //thats one way to stay hydrated... /datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume) if(!istype(T)) @@ -56,7 +55,6 @@ color = "#AAAAAA77" can_synth = FALSE nutriment_factor = 0.5 * REAGENTS_METABOLISM - hydration = 1 * REAGENTS_METABOLISM //thats one way to stay hydrated... /obj/effect/decal/cleanable/femcum name = "female ejaculate"