Merge branch 'master' into various-fixes

This commit is contained in:
DragonTrance
2021-04-20 00:56:44 -07:00
committed by GitHub
284 changed files with 10972 additions and 130623 deletions
@@ -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
@@ -1,678 +0,0 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
"b" = (
/obj/structure/lattice,
/turf/template_noop,
/area/space/nearstation)
"c" = (
/turf/closed/wall,
/area/ruin/space/has_grav/gasthelizard)
"d" = (
/obj/machinery/light{
dir = 1
},
/obj/structure/bed,
/obj/effect/decal/remains/human,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"e" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"f" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/machinery/light{
dir = 1
},
/obj/structure/bed,
/obj/effect/decal/remains/human,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"g" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/machinery/light{
dir = 1
},
/obj/structure/bed,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"h" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"i" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"j" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/machinery/atmospherics/components/unary/outlet_injector,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"k" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"l" = (
/obj/machinery/atmospherics/components/unary/outlet_injector,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel/airless/dark,
/area/ruin/space/has_grav/gasthelizard)
"m" = (
/obj/structure/closet/crate/freezer,
/obj/item/stack/sheet/animalhide/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/turf/open/floor/plasteel/freezer,
/area/ruin/space/has_grav/gasthelizard)
"n" = (
/obj/structure/closet/crate/freezer,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/machinery/light{
dir = 1
},
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/turf/open/floor/plasteel/freezer,
/area/ruin/space/has_grav/gasthelizard)
"o" = (
/obj/structure/closet/crate/freezer,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/clothing/under/rank/prisoner,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
/turf/open/floor/plasteel/freezer,
/area/ruin/space/has_grav/gasthelizard)
"p" = (
/obj/structure/window/reinforced{
dir = 1;
layer = 2.9
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"q" = (
/obj/machinery/door/window/brigdoor/northleft,
/obj/machinery/atmospherics/components/binary/pump{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"r" = (
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"s" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"t" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 1
},
/obj/machinery/power/apc{
dir = 1;
name = "Worn-out APC";
pixel_x = 1;
pixel_y = 26
},
/obj/machinery/light{
dir = 1
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"u" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"v" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"w" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 9
},
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"x" = (
/obj/structure/kitchenspike,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"y" = (
/obj/structure/table/reinforced,
/obj/item/kitchen/knife/butcher,
/obj/item/restraints/handcuffs,
/obj/item/reagent_containers/spray/pepper,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"z" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"A" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 4
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"B" = (
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"C" = (
/obj/machinery/gibber,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"D" = (
/obj/structure/table/reinforced,
/obj/item/clothing/suit/straight_jacket,
/obj/item/reagent_containers/syringe/lethal,
/obj/item/reagent_containers/syringe/lethal/choral,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"E" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
/obj/machinery/portable_atmospherics/canister/toxins,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"F" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 9
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"G" = (
/obj/structure/chair/office/dark,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"H" = (
/obj/machinery/door/airlock/security,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"I" = (
/obj/item/reagent_containers/glass/bottle/morphine{
pixel_x = -4;
pixel_y = 1
},
/obj/item/reagent_containers/glass/bottle/chloralhydrate{
name = "chloral hydrate bottle"
},
/obj/item/reagent_containers/glass/bottle/toxin{
pixel_x = 6;
pixel_y = 8
},
/obj/item/reagent_containers/glass/bottle/morphine{
pixel_x = 5;
pixel_y = 1
},
/obj/item/reagent_containers/glass/bottle/facid{
name = "fluorosulfuric acid bottle";
pixel_x = -3;
pixel_y = 6
},
/obj/structure/table/reinforced,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"J" = (
/obj/structure/rack,
/obj/item/storage/toolbox/drone,
/obj/item/melee/baton/cattleprod,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"K" = (
/obj/structure/table,
/obj/item/pen/red,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"L" = (
/obj/structure/table,
/obj/item/paper_bin,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"M" = (
/obj/structure/table,
/obj/item/storage/box/prisoner,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"N" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/machinery/light,
/obj/structure/table,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"O" = (
/obj/machinery/portable_atmospherics/scrubber,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"P" = (
/obj/structure/table/reinforced,
/obj/item/surgicaldrill,
/obj/item/hemostat,
/obj/item/scalpel,
/obj/item/surgical_drapes,
/obj/item/retractor,
/obj/item/cautery,
/obj/item/circular_saw,
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"Q" = (
/obj/structure/table/optable,
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"R" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/syringe,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/glass/bottle/mutagen,
/obj/item/reagent_containers/glass/bottle/mutagen,
/obj/item/razor,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/gasthelizard)
"S" = (
/obj/machinery/suit_storage_unit/security,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"T" = (
/obj/machinery/light,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"U" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/gasthelizard)
"V" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plating,
/area/ruin/space/has_grav/gasthelizard)
"W" = (
/turf/open/floor/plating,
/area/ruin/space/has_grav/gasthelizard)
"Z" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/gasthelizard)
(1,1,1) = {"
a
a
a
a
a
a
a
a
b
a
a
a
a
a
"}
(2,1,1) = {"
a
a
a
b
b
b
b
a
b
b
b
a
a
a
"}
(3,1,1) = {"
a
a
a
b
b
c
c
c
c
c
c
c
b
a
"}
(4,1,1) = {"
a
b
b
b
b
c
s
z
E
J
S
c
b
b
"}
(5,1,1) = {"
b
a
c
c
c
c
t
A
F
B
T
c
c
c
"}
(6,1,1) = {"
a
b
c
d
i
p
u
B
B
B
B
V
W
Z
"}
(7,1,1) = {"
b
b
c
e
j
q
v
B
B
B
U
c
c
c
"}
(8,1,1) = {"
a
b
c
f
k
p
u
B
B
K
c
c
b
b
"}
(9,1,1) = {"
b
b
c
e
j
q
v
B
G
L
c
b
b
a
"}
(10,1,1) = {"
a
a
c
g
k
p
u
B
B
M
c
b
a
a
"}
(11,1,1) = {"
b
b
c
e
j
q
v
B
B
N
c
b
a
a
"}
(12,1,1) = {"
b
a
c
f
k
p
u
B
B
O
c
b
a
a
"}
(13,1,1) = {"
a
b
c
h
l
q
w
B
B
O
c
b
a
a
"}
(14,1,1) = {"
a
b
c
c
c
c
c
c
H
c
c
b
a
a
"}
(15,1,1) = {"
a
b
b
c
m
r
x
C
r
P
c
a
a
a
"}
(16,1,1) = {"
a
b
b
c
n
r
r
r
r
Q
c
a
a
a
"}
(17,1,1) = {"
a
a
b
c
o
r
y
D
I
R
c
b
b
a
"}
(18,1,1) = {"
a
a
b
c
c
c
c
c
c
c
c
b
a
a
"}
(19,1,1) = {"
a
a
a
a
b
b
a
a
b
b
b
a
a
a
"}
@@ -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)
+277
View File
@@ -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
"}
File diff suppressed because it is too large Load Diff
+284 -78
View File
@@ -5503,12 +5503,8 @@
/turf/open/floor/plasteel,
/area/xenoarch/gen)
"nx" = (
/obj/structure/chair/comfy/black{
dir = 8
},
/obj/item/toy/plush/borgplushie/secdrake,
/turf/open/floor/plasteel/dark,
/area/xenoarch/gen)
/turf/closed/wall/r_wall/syndicate/nodiagonal,
/area/xenoarch/nothinghere)
"ny" = (
/obj/item/toy/plush/catgirl/fermis,
/turf/open/floor/plasteel/white,
@@ -6204,10 +6200,12 @@
/turf/closed/wall,
/area/lavaland/surface/outdoors)
"ph" = (
/obj/structure/flora/rock/pile,
/obj/effect/decal/remains/xeno,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"pi" = (
/obj/structure/girder,
/turf/open/floor/plating{
@@ -6588,18 +6586,226 @@
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors)
"qp" = (
/obj/machinery/computer{
desc = "This screen is broken beyond repairs... What little you can make out of it reads as follows... '-The skin of employee 228, mimicking them after consuming them.'";
name = "chamber 27 monitoring console";
obj_integrity = 20;
pixel_y = 2
},
/obj/structure/tubes{
pixel_y = 4
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"qK" = (
/obj/machinery/door/airlock/vault{
name = "secured door";
req_access = 207
},
/obj/effect/mapping_helpers/airlock/locked,
/obj/effect/turf_decal/stripes/full,
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"qS" = (
/obj/structure/filingcabinet,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"qZ" = (
/obj/structure/table/reinforced,
/obj/item/paper/crumpled/robertsworkjournal{
info = "<h4>Most boring job in the universe.</h4>Starting to reconsider things around here... Sure, it pays the bills at home but, is it really worth it? I'm supposed to make sure no one enters through that door without permission from CentCom but, what's even so important about it? Why not just put a robot or something...<br><h4>Weird.</h4>The outpost is kind of okay but... A little too warm for my taste... Not that I can do much about it given how we're right next to so much lava. I just wish the supplies were actual food instead of... Junk food and donk pockets. I know this stuff is tailored to make people survive even in the deepest reaches of space, but is it too much to ask for actual meat for once?<br><h4>Shrug?</h4>CC provided a small communications relay that I could use. It's not that strong but it helps me stay sane.<br> Earlier I messaged them asking about this place and why is it so important, but to my surprise, the only answer I got was that there's 'Nothing there.' Can you believe that?<br> I can't say I'm not curious... I have the keys and all but should I? I've one job and one job only, failing on something like that would probably not look good on my profile.<br> But the weirdest part?<br> Sometimes I hear an echo of myself when I talk to myself or laugh at something in here... And it comes from, you guessed it, behind that damned door. Might I'm just going crazy here by myself... Hallucinating because I don't really have anyone to talk to in real time other than myself...<br> Might be time to quit or to just... Have a look, you know? Can't be that bad if there's nothing there after all... It would certainly put me at ease.";
name = "Journal"
},
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"rf" = (
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"so" = (
/turf/closed/wall/r_wall,
/area/xenoarch/nothinghere)
"tG" = (
/obj/structure/chair/office,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"wZ" = (
/obj/machinery/door/airlock/highsecurity{
req_access = 207
},
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/plasteel/rockvault,
/area/xenoarch/nothinghere)
"xG" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"xJ" = (
/obj/structure/disposalpipe/broken{
dir = 4
},
/obj/effect/turf_decal/loading_area/red{
dir = 8
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"AF" = (
/obj/structure/closet/firecloset,
/turf/open/floor/plating{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/xenoarch/gen)
"ED" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/rockvault,
/area/xenoarch/nothinghere)
"EP" = (
/obj/decal/stencil/left/seven{
pixel_y = 36
},
/obj/decal/stencil/left/two{
pixel_x = -15;
pixel_y = 36
},
/obj/item/stack/cable_coil/cut/red{
pixel_y = -6
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"FE" = (
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"FT" = (
/obj/machinery/light/broken{
dir = 4
},
/turf/open/floor/plasteel/rockvault,
/area/xenoarch/nothinghere)
"GR" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"Hx" = (
/turf/open/floor/carpet,
/area/xenoarch/gen)
"Ku" = (
/turf/closed/wall/r_wall/rust,
/area/xenoarch/nothinghere)
"LP" = (
/obj/machinery/porta_turret/aux_base{
dir = 5;
icon_state = "standard_broken";
obj_integrity = 20;
stat = 1
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"Mb" = (
/obj/machinery/light/small/broken{
dir = 8
},
/obj/effect/decal/cleanable/blood/old,
/obj/item/clockwork/alloy_shards,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"Ne" = (
/obj/item/stack/cable_coil/cut/red{
pixel_x = 2;
pixel_y = 11
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"Nj" = (
/obj/structure/table/reinforced,
/obj/item/pen{
pixel_x = -4;
pixel_y = 3
},
/obj/item/storage/fancy/cigarettes/cigpack_syndicate{
pixel_x = 11
},
/obj/item/lighter{
pixel_x = 3;
pixel_y = 5
},
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"Od" = (
/obj/effect/decal/cleanable/oil{
icon_state = "floor5"
},
/turf/open/floor/plasteel/rockvault,
/area/xenoarch/nothinghere)
"RA" = (
/obj/effect/decal/cleanable/blood/drip,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"Sa" = (
/obj/item/shard{
pixel_x = -6;
pixel_y = 8
},
/obj/effect/decal/cleanable/glass,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"St" = (
/obj/machinery/light/broken{
dir = 1
},
/obj/effect/decal/cleanable/ash,
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
"Sy" = (
/turf/closed/wall,
/area/xenoarch/gen)
"Sz" = (
/obj/item/twohanded/required/kirbyplants/random,
/turf/open/floor/plasteel/rockvault,
/area/xenoarch/nothinghere)
"Us" = (
/obj/effect/decal/cleanable/greenglow/radioactive,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/xenoarch/nothinghere)
"Ws" = (
/obj/structure/flora/rock/pile,
/obj/effect/decal/remains/xeno,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"ZK" = (
/obj/machinery/door/window/eastleft{
dir = 2
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy,
/area/xenoarch/nothinghere)
(1,1,1) = {"
ms
@@ -12217,7 +12423,7 @@ aG
aW
Sy
bf
nx
ax
el
fL
co
@@ -66657,18 +66863,18 @@ ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
nx
nx
nx
nx
nx
nx
so
so
Ku
Ku
so
Ku
oU
ab
ab
@@ -66914,20 +67120,20 @@ ab
ab
ab
ab
nx
ph
Sa
Mb
LP
nx
St
FE
ZK
ED
Sz
so
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
lQ
ab
ab
jY
@@ -67171,21 +67377,21 @@ ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ph
nx
EP
xG
rf
RA
qK
FE
GR
Nj
ED
ED
wZ
lQ
lQ
lQ
lQ
lQ
lQ
@@ -67428,21 +67634,21 @@ ab
ab
ab
ab
nx
qp
xJ
Ne
Us
nx
qS
tG
qZ
FT
Od
so
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
lQ
lQ
oV
lQ
jV
@@ -67685,20 +67891,20 @@ ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
nx
nx
nx
nx
nx
nx
so
so
Ku
so
Ku
Ku
oU
ab
Ws
ab
oU
ab
+69 -15
View File
@@ -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
+87 -25
View File
@@ -9239,7 +9239,9 @@
pixel_x = -17;
pixel_y = 3
},
/obj/machinery/recharger,
/obj/machinery/recharger{
pixel_y = 4
},
/turf/open/floor/plasteel/grimy,
/area/centcom/ferry)
"tR" = (
@@ -9518,6 +9520,7 @@
id_tag = "CCDormChemlight";
name = "Kenshin Midori's Bunk"
},
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/plasteel,
/area/centcom/ferry)
"uy" = (
@@ -11091,7 +11094,13 @@
/area/centcom/evac)
"yh" = (
/obj/structure/table/wood,
/obj/item/paper/monitorkey,
/obj/item/paper/monitorkey{
pixel_x = 10;
pixel_y = -3
},
/obj/machinery/recharger{
pixel_y = 4
},
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"yi" = (
@@ -12891,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,
@@ -14324,12 +14350,22 @@
/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Fk" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom";
opacity = 1
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/turf/open/floor/carpet/black,
/area/centcom/ferry)
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/recharger{
pixel_y = 4
},
/obj/structure/table/reinforced,
/turf/open/floor/plasteel/dark,
/area/centcom/control)
"Fm" = (
/obj/machinery/shower{
dir = 4
@@ -17669,6 +17705,23 @@
/obj/item/toy/tennis/green,
/obj/item/radio/headset/headset_cent,
/obj/item/clothing/under/rank/centcom_officer,
/obj/item/clothing/suit/hooded/wintercoat/centcom,
/obj/item/clothing/shoes/jackboots,
/obj/item/pda/lieutenant{
hidden = 0
},
/obj/item/melee/classic_baton/telescopic,
/obj/item/storage/box/survival,
/obj/item/crowbar/red,
/obj/item/card/id/ert{
assignment = "Off-Duty Intelligence Officer";
desc = "An ID straight from Central Command.";
name = "Kenshin Midori's ID Card (Off-Duty Intelligence Officer)";
registered_name = "Kenshin Midori"
},
/obj/item/encryptionkey/heads/captain,
/obj/item/flashlight/seclite,
/obj/item/gun/energy/e_gun/dragnet/snare,
/turf/open/floor/wood,
/area/centcom/ferry)
"Ms" = (
@@ -18909,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" = (
@@ -19923,9 +19979,6 @@
/area/centcom/holding)
"Vn" = (
/obj/structure/table/wood/fancy,
/obj/item/candle/infinite{
pixel_y = 6
},
/obj/effect/turf_decal/loading_area{
dir = 1;
icon_state = "drain";
@@ -19941,6 +19994,10 @@
pixel_x = 7;
pixel_y = 5
},
/obj/item/candle{
pixel_x = 1;
pixel_y = 6
},
/turf/open/floor/wood,
/area/centcom/control)
"Vo" = (
@@ -20252,13 +20309,6 @@
name = "plating"
},
/area/centcom/control)
"Wm" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom";
opacity = 1
},
/turf/open/space/basic,
/area/centcom/ferry)
"Wn" = (
/obj/effect/turf_decal/loading_area{
dir = 6;
@@ -20694,9 +20744,9 @@
/obj/item/reagent_containers/food/snacks/meatballspaghetti{
pixel_y = 14
},
/obj/item/candle/infinite{
/obj/item/candle{
pixel_x = 1;
pixel_y = 3
pixel_y = 6
},
/turf/open/floor/wood,
/area/centcom/control)
@@ -21235,6 +21285,8 @@
dir = 1
},
/obj/structure/closet/crate/secure{
anchored = 1;
name = "secure gear crate";
req_access_txt = "101"
},
/obj/item/clothing/suit/space/officer,
@@ -21243,7 +21295,6 @@
/obj/item/clothing/gloves/combat,
/obj/item/implanter/cqc,
/obj/item/gun/energy/e_gun/stun,
/obj/item/gun/energy/e_gun/dragnet/snare,
/obj/item/radio/headset/headset_cent/commander,
/obj/item/clothing/glasses/thermal,
/obj/item/clothing/under/syndicate{
@@ -21251,9 +21302,20 @@
},
/obj/item/card/id/ert{
assignment = "Intelligence Officer";
desc = "An ID straight from Central Command.";
name = "Kenshin Midori's ID Card (Intelligence Officer)";
registered_name = "Kenshin Midori"
},
/obj/item/book{
damtype = "stamina";
desc = "An old and dusty book, the pages look faded from time while looking at the pages alone makes you tired.";
force = 80;
hitsound = "punch";
name = "very heavy book";
throwforce = 160
},
/obj/item/storage/box/zipties,
/obj/item/clothing/mask/gas/sechailer,
/turf/open/floor/wood,
/area/centcom/ferry)
"Zz" = (
@@ -54984,14 +55046,14 @@ oe
mD
mD
qR
Wm
ZT
mD
mD
mD
oe
mD
mD
Fk
ZT
mD
mD
mD
@@ -62682,7 +62744,7 @@ io
io
io
qw
WI
Cl
Wk
WI
lN
@@ -63197,7 +63259,7 @@ iu
io
rN
CX
iC
Fk
DF
DT
io
@@ -66005,7 +66067,7 @@ nM
nM
io
mQ
iu
io
rK
iu
tN
+1
View File
@@ -66,6 +66,7 @@
#define ACCESS_CLONING 68 //Cloning room and clone pod ejection
#define ACCESS_ENTER_GENPOP 69
#define ACCESS_LEAVE_GENPOP 70
#define ACCESS_PSYCH 71
//BEGIN CENTCOM ACCESS
/*Should leave plenty of room if we need to add more access levels.
+1
View File
@@ -79,6 +79,7 @@
#define ADMIN_PUNISHMENT_FAKEBWOINK "Fake Bwoink"
#define ADMIN_PUNISHMENT_NUGGET "Nugget"
#define ADMIN_PUNISHMENT_BREADIFY ":b:read"
#define ADMIN_PUNISHMENT_BOOKIFY "Bookify"
#define AHELP_ACTIVE 1
#define AHELP_CLOSED 2
+2 -1
View File
@@ -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"
#define COLOR_ASSEMBLY_PINK "#ff4adc"
+3
View File
@@ -89,6 +89,9 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define isstartjelly(A) (is_species(A, /datum/species/jelly/roundstartslime))
// Hyperstation Carbon Stuff
#define iswendigo(A) (istype(A, /mob/living/carbon/wendigo))
//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))
+1
View File
@@ -27,6 +27,7 @@
#define VIROLOGIST (1<<6)
#define JR_DOCTOR (1<<7)
#define JR_SCIENTIST (1<<9)
#define MED_PSYCH (1<<14)
#define CIVILIAN (1<<2)
+4 -3
View File
@@ -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
+1
View File
@@ -69,6 +69,7 @@
#define ALIEN_BODYPART "alien"
#define LARVA_BODYPART "larva"
#define DEVIL_BODYPART "devil"
#define WENDIGO_BODYPART "wendigo"
/*see __DEFINES/inventory.dm for bodypart bitflag defines*/
// Health/damage defines for carbon mobs
+58 -4
View File
@@ -5,10 +5,11 @@
#define CHANNEL_JUKEBOX 1021
#define CHANNEL_JUKEBOX_START 1016 //The gap between this and CHANNEL_JUKEBOX determines the amount of free jukebox channels. This currently allows 6 jukebox channels to exist.
#define CHANNEL_JUSTICAR_ARK 1015
#define CHANNEL_HEARTBEAT 1014 //sound channel for heartbeats
#define CHANNEL_AMBIENCE 1013
#define CHANNEL_BUZZ 1012
#define CHANNEL_BICYCLE 1011
#define CHANNEL_HEARTBEAT 1020 //sound channel for heartbeats
#define CHANNEL_AMBIENCE 1019
#define CHANNEL_BUZZ 1018
#define CHANNEL_BICYCLE 1017
//CIT CHANNELS - TRY NOT TO REGRESS
#define CHANNEL_PRED 1010
@@ -79,3 +80,56 @@
'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\
'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\
'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg')
//default byond sound environments
#define SOUND_ENVIRONMENT_NONE -1
#define SOUND_ENVIRONMENT_GENERIC 0
#define SOUND_ENVIRONMENT_PADDED_CELL 1
#define SOUND_ENVIRONMENT_ROOM 2
#define SOUND_ENVIRONMENT_BATHROOM 3
#define SOUND_ENVIRONMENT_LIVINGROOM 4
#define SOUND_ENVIRONMENT_STONEROOM 5
#define SOUND_ENVIRONMENT_AUDITORIUM 6
#define SOUND_ENVIRONMENT_CONCERT_HALL 7
#define SOUND_ENVIRONMENT_CAVE 8
#define SOUND_ENVIRONMENT_ARENA 9
#define SOUND_ENVIRONMENT_HANGAR 10
#define SOUND_ENVIRONMENT_CARPETED_HALLWAY 11
#define SOUND_ENVIRONMENT_HALLWAY 12
#define SOUND_ENVIRONMENT_STONE_CORRIDOR 13
#define SOUND_ENVIRONMENT_ALLEY 14
#define SOUND_ENVIRONMENT_FOREST 15
#define SOUND_ENVIRONMENT_CITY 16
#define SOUND_ENVIRONMENT_MOUNTAINS 17
#define SOUND_ENVIRONMENT_QUARRY 18
#define SOUND_ENVIRONMENT_PLAIN 19
#define SOUND_ENVIRONMENT_PARKING_LOT 20
#define SOUND_ENVIRONMENT_SEWER_PIPE 21
#define SOUND_ENVIRONMENT_UNDERWATER 22
#define SOUND_ENVIRONMENT_DRUGGED 23
#define SOUND_ENVIRONMENT_DIZZY 24
#define SOUND_ENVIRONMENT_PSYCHOTIC 25
//If we ever make custom ones add them here
//"sound areas": easy way of keeping different types of areas consistent.
#define SOUND_AREA_STANDARD_STATION SOUND_ENVIRONMENT_PARKING_LOT
#define SOUND_AREA_LARGE_ENCLOSED SOUND_ENVIRONMENT_QUARRY
#define SOUND_AREA_SMALL_ENCLOSED SOUND_ENVIRONMENT_BATHROOM
#define SOUND_AREA_TUNNEL_ENCLOSED SOUND_ENVIRONMENT_STONEROOM
#define SOUND_AREA_LARGE_SOFTFLOOR SOUND_ENVIRONMENT_CARPETED_HALLWAY
#define SOUND_AREA_MEDIUM_SOFTFLOOR SOUND_ENVIRONMENT_LIVINGROOM
#define SOUND_AREA_SMALL_SOFTFLOOR SOUND_ENVIRONMENT_ROOM
#define SOUND_AREA_ASTEROID SOUND_ENVIRONMENT_CAVE
#define SOUND_AREA_SPACE SOUND_ENVIRONMENT_UNDERWATER
#define SOUND_AREA_LAVALAND SOUND_ENVIRONMENT_MOUNTAINS
#define SOUND_AREA_ICEMOON SOUND_ENVIRONMENT_CAVE
#define SOUND_AREA_WOODFLOOR SOUND_ENVIRONMENT_CITY
#define INTERACTION_SOUND_RANGE_MODIFIER -3
#define EQUIP_SOUND_VOLUME 30
#define PICKUP_SOUND_VOLUME 40
#define DROP_SOUND_VOLUME 50
#define YEET_SOUND_VOLUME 90
+3 -5
View File
@@ -522,10 +522,8 @@
used_key_list[input_key] = 1
return input_key
#if DM_VERSION > 513
#error Remie said that lummox was adding a way to get a lists
#error contents via list.values, if that is true remove this
#error otherwise, update the version and bug lummox
#if DM_VERSION < 513
#error For the love of god do not compile the server below 513
#endif
//Flattens a keyed list into a list of it's contents
/proc/flatten_list(list/key_list)
@@ -578,4 +576,4 @@
var/list/ret = list()
for(var/key in input)
ret += key
return ret
return ret
+4 -1
View File
@@ -230,7 +230,8 @@
"womb_fluid" = "femcum",
"ipc_screen" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None",
"ipc_antenna" = "None",
"flavor_text" = ""))
"flavor_text" = "",
"ooc_text" = ""))
/proc/random_hair_style(gender)
switch(gender)
@@ -549,6 +550,8 @@ GLOBAL_LIST_EMPTY(species_list)
override = TRUE
if(isnewplayer(M) && !override)
continue
if(SSticker.current_state == GAME_STATE_FINISHED)
override = TRUE
if(M.stat != DEAD && !override)
continue
if(speaker_key && speaker_key in prefs.ignoring)
+1 -1
View File
@@ -10,7 +10,7 @@
announcement += "<br><h2 class='alert'>[html_encode(title)]</h2>"
else if(type == "Captain")
announcement += "<h1 class='alert'>Captain Announces</h1>"
GLOB.news_network.SubmitArticle(text, "Captain's Announcement", "Station Announcements", null)
GLOB.news_network.SubmitArticle(html_encode(text), "Captain's Announcement", "Station Announcements", null)
else
if(!sender_override)
+3
View File
@@ -189,6 +189,9 @@
CHECK_TICK
set_observer_default_invisibility(0, "<span class='warning'>The round is over! You are now visible to the living.</span>")
CHECK_TICK
// Stop eorg mech prepping.
for(var/obj/mecha/combat/Obj in world)
qdel(Obj)
+2 -5
View File
@@ -444,11 +444,8 @@ Turf and target are separate in case you want to teleport some distance from a t
var/y = min(world.maxy, max(1, A.y + dy))
return locate(x,y,A.z)
#if DM_VERSION > 513
#warn if you're getting this warning it means 513 is stable
#warn and you should remove this tidbit
#endif
#if DM_VERSION < 513
#warn what the fuck are you doing? Compile on 513+ not below.
/proc/arctan(x)
var/y=arcsin(x/sqrt(1+x*x))
return y
@@ -1616,4 +1613,4 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
if(190)
return "."
if(189)
return "-"
return "-"
+7 -7
View File
@@ -126,7 +126,7 @@
using.screen_loc = ui_movi
static_inventory += using
//CITADEL CHANGES - sprint button
/* //CITADEL CHANGES - sprint button
using = new /obj/screen/sprintbutton
using.icon = tg_ui_icon_to_cit_ui(ui_style)
using.icon_state = (owner.sprinting ? "act_sprint_on" : "act_sprint")
@@ -139,7 +139,7 @@
using.screen_loc = ui_sprintbufferloc
sprint_buffer = using
static_inventory += using
*/
using = new /obj/screen/drop()
using.icon = ui_style
@@ -323,12 +323,12 @@
arousal.icon_state = (owner.canbearoused == 1 ? "arousal0" : "")
infodisplay += arousal
staminas = new /obj/screen/staminas()
infodisplay += staminas
// staminas = new /obj/screen/staminas()
// infodisplay += staminas
if(!CONFIG_GET(flag/disable_stambuffer))
staminabuffer = new /obj/screen/staminabuffer()
infodisplay += staminabuffer
// if(!CONFIG_GET(flag/disable_stambuffer))
// staminabuffer = new /obj/screen/staminabuffer()
// infodisplay += staminabuffer
//END OF CIT CHANGES
healthdoll = new /obj/screen/healthdoll()
+29 -10
View File
@@ -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,23 @@
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/random/nebula
icon_state = "nebula1"
/obj/screen/parallax_layer/planet
icon_state = "planet"
blend_mode = BLEND_OVERLAY
@@ -304,11 +323,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
+1 -1
View File
@@ -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
+4 -4
View File
@@ -33,10 +33,10 @@ SUBSYSTEM_DEF(input)
"Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
"O" = "ooc",
"Ctrl+O" = "looc",
"Ctrl+T" = "say",
"Ctrl+T" = "say_indicator",
"T" = "say_indicator",
"Y" = "whisper",
"Ctrl+M" = "me",
"Ctrl+M" = "me_indicato",
"M" = "me_indicator",
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
"Any" = "\"KeyDown \[\[*\]\]\"",
@@ -50,9 +50,9 @@ SUBSYSTEM_DEF(input)
"old_hotkeys" = list(
"Tab" = "\".winset \\\"mainwindow.macro=old_default input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
"O" = "ooc",
"T" = "say",
"T" = "say_indicator",
"Ctrl+T" = "say_indicator",
"M" = "me",
"M" = "me_indicator",
"Ctrl+M" = "me_indicator",
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
"Any" = "\"KeyDown \[\[*\]\]\"",
+5
View File
@@ -391,6 +391,7 @@ SUBSYSTEM_DEF(job)
var/datum/job/job = GetJob(rank)
H.job = rank
equip_loadout(N, H)
//If we joined at roundstart we should be positioned at our workstation
if(!joined_late)
@@ -463,6 +464,10 @@ SUBSYSTEM_DEF(job)
if(H.mind)
H.mind.memory += "Your account ID is [wageslave.account_id].<BR>"
if(job && H)
job.after_spawn(H, M, joined_late) // note: this happens before the mob has a key! M will always have a client, H might not.
equip_loadout(N, H, TRUE)//CIT CHANGE - makes players spawn with in-backpack loadout items properly. A little hacky but it works
return H
+7 -1
View File
@@ -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, /obj/screen/parallax_layer/random/nebula)
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)
+8 -3
View File
@@ -149,9 +149,14 @@ SUBSYSTEM_DEF(vote)
if("5")
v += winners[option] //Add the number votes to the pool
numbers += (winners[option]*5) //Add the value of the vote to numbers
while (v < DYNAMIC_VOTE_NORMALIZATION) //For low low pop, low vote rounds.
numbers += DYNAMIC_DEFAULT_CHAOS //stops the one person voting from setting the chaos to five and flooding the station with anomalies
v += 1
if(v < DYNAMIC_VOTE_NORMALIZATION)
while (v < DYNAMIC_VOTE_NORMALIZATION) //For low low pop, low vote rounds.
numbers += DYNAMIC_DEFAULT_CHAOS //stops the one person voting from setting the chaos to five and flooding the station with anomalies
v += 1
else if (voted.len < GLOB.clients.len) //Have non-voters "vote" 2, if we're not lowpop
for(var/I in 1 to (GLOB.clients.len - voted.len))
v += 1
numbers += 2
var/total = 0
for (var/i in numbers)
total += i
+1 -1
View File
@@ -35,7 +35,7 @@
e -= 5
steps++
if(steps >= 3)
if(steps >= 2)
steps = 0
else
+3 -3
View File
@@ -184,15 +184,15 @@
switch(sanity)
if(SANITY_INSANE to SANITY_CRAZY)
setInsanityEffect(MAJOR_INSANITY_PEN)
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=1.5) //Did we change something ? movetypes is runtiming, movetypes=(~FLYING))
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=1) //Did we change something ? movetypes is runtiming, movetypes=(~FLYING))
sanity_level = 6
if(SANITY_CRAZY to SANITY_UNSTABLE)
setInsanityEffect(MINOR_INSANITY_PEN)
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=1)//, movetypes=(~FLYING))
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=0.5)//, movetypes=(~FLYING))
sanity_level = 5
if(SANITY_UNSTABLE to SANITY_DISTURBED)
setInsanityEffect(0)
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=0.5)//, movetypes=(~FLYING))
master.add_movespeed_modifier(MOVESPEED_ID_SANITY, TRUE, 100, override=TRUE, multiplicative_slowdown=0.25)//, movetypes=(~FLYING))
sanity_level = 4
if(SANITY_DISTURBED to SANITY_NEUTRAL)
setInsanityEffect(0)
+4 -2
View File
@@ -30,6 +30,7 @@
RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, .proc/orbiter_glide_size_update)
/datum/component/orbiter/UnregisterFromParent()
var/atom/target = parent
while(ismovableatom(target))
@@ -70,6 +71,7 @@
orbiter.orbiting = src
RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, orbiter_spy)
var/matrix/initial_transform = matrix(orbiter.transform)
orbiters[orbiter] = initial_transform
// Head first!
if(pre_rotation)
@@ -92,8 +94,6 @@
var/atom/movable/AM = parent
orbiter.glide_size = AM.glide_size
//we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit
orbiter.transform = initial_transform
orbiter.forceMove(get_turf(parent))
to_chat(orbiter, "<span class='notice'>Now orbiting [parent].</span>")
@@ -103,6 +103,8 @@
SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_END, orbiter, refreshing)
UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED)
orbiter.SpinAnimation(0, 0)
if(istype(orbiters[orbiter],/matrix)) //This is ugly.
orbiter.transform = orbiters[orbiter]
orbiters -= orbiter
orbiter.stop_orbit(src)
orbiter.orbiting = null
@@ -134,7 +134,7 @@
if(ismob(parent.loc) && isitem(AM))
var/obj/item/I = AM
var/mob/M = parent.loc
I.dropped(M)
I.dropped(M, TRUE)
if(new_location)
//Reset the items values
_removal_reset(AM)
+2
View File
@@ -55,6 +55,7 @@
var/mob/living/carbon/human/H = destination
H.give_genitals(TRUE)//This gives the body the genitals of this DNA. Used for any transformations based on DNA
destination.flavor_text = destination.dna.features["flavor_text"] //Update the flavor_text to use new dna text
destination.ooc_text = destination.dna.features["ooc_text"] //Update the flavor_text to use new dna text
if(transfer_SE)
destination.dna.mutation_index = mutation_index
@@ -356,6 +357,7 @@
if(newfeatures)
dna.features = newfeatures
flavor_text = dna.features["flavor_text"] //Update the flavor_text to use new dna text
ooc_text = dna.features["ooc_text"] //Update the flavor_text to use new dna text
if(mrace)
var/datum/species/newrace = new mrace.type
-6
View File
@@ -105,12 +105,6 @@
name = "Empty Shell"
description = "Cosy, rural property availible for young professional couple. Only twelve parsecs from the nearest hyperspace lane!"
/datum/map_template/ruin/space/gas_the_lizards
id = "gas-the-lizards"
suffix = "gasthelizards.dmm"
name = "Disposal Facility 17"
description = "Gas efficiency at 95.6%, fluid elimination at 96.2%. Will require renewed supplies of 'carpet' before the end of the quarter."
/datum/map_template/ruin/space/intact_empty_ship
id = "intact-empty-ship"
suffix = "intactemptyship.dmm"
+1
View File
@@ -20,6 +20,7 @@
this["name"] = spawner
this["short_desc"] = ""
this["flavor_text"] = ""
this["ooc_text"] = ""
this["important_warning"] = ""
this["refs"] = list()
for(var/spawner_obj in GLOB.mob_spawners[spawner])
+9
View File
@@ -792,6 +792,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Chemistry"
icon_state = "chem"
/area/medical/psych
name = "Psychology Office"
icon_state = "medbay"
/area/medical/surgery
name = "Surgery"
icon_state = "surgery"
@@ -1371,3 +1375,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/crew_quarters/fitness/pool
name = "Pool Area"
icon_state = "pool"
/area/xenoarch/nothinghere
name = "Nothing Here"
icon_state = "yellow"
ambientsounds = SPOOKY
+3 -7
View File
@@ -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
+8 -6
View File
@@ -36,7 +36,7 @@
var/buckle_message_cooldown = 0
var/fingerprintslast
var/list/filter_data = list() //For handling persistent filters
var/list/filter_data //For handling persistent filters
var/datum/component/orbiter/orbiters
@@ -315,6 +315,9 @@
/atom/proc/examine(mob/user)
. = list("[get_examine_string(user, TRUE)].")
if(!isliving(src))
user.visible_message("<span class='notice'>[user] examines [src].</span>",\
"<span class='notice'>You examine [src].</span>")
if(desc)
. += desc
@@ -866,11 +869,10 @@ Proc for attack log creation, because really why not
return filters[filter_data.Find(name)]
/atom/movable/proc/remove_filter(name)
if(filter_data)
if(filter_data[name])
filter_data -= name
update_filters()
return TRUE
if(filter_data[name])
filter_data -= name
update_filters()
return TRUE
/atom/proc/intercept_zImpact(atom/movable/AM, levels = 1)
. |= SEND_SIGNAL(src, COMSIG_ATOM_INTERCEPT_Z_FALL, AM, levels)
+1 -1
View File
@@ -28,7 +28,7 @@
var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move
var/list/client_mobs_in_contents // This contains all the client mobs within this container
var/list/acted_explosions //for explosion dodging
glide_size = 8
glide_size = 4
appearance_flags = TILE_BOUND|PIXEL_SCALE|LONG_GLIDE
var/datum/forced_movement/force_moving = null //handled soley by forced_movement.dm
var/floating = FALSE
@@ -22,7 +22,7 @@
required_enemies = 2
recommended_enemies = 4
reroll_friendly = FALSE
enemy_minimum_age = 7
enemy_minimum_age = 21
round_ends_with_antag_death = FALSE
+1 -1
View File
@@ -136,7 +136,7 @@ Credit where due:
required_players = 35
required_enemies = 3
recommended_enemies = 5
enemy_minimum_age = 7
enemy_minimum_age = 28
protected_jobs = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain") //Silicons can eventually be converted
restricted_jobs = list("Chaplain", "Captain")
announce_span = "brass"
+1 -1
View File
@@ -43,7 +43,7 @@
required_players = 30
required_enemies = 3
recommended_enemies = 5
enemy_minimum_age = 7
enemy_minimum_age = 28
announce_span = "cult"
announce_text = "Some crew members are trying to start a cult to Nar'Sie!\n\
@@ -275,7 +275,7 @@
// LEWD //
// //
//////////////////////////////////////////
/* //Putting Lewd traitor on the backburner until we can buffer it a bit.
/datum/dynamic_ruleset/midround/autotraitor/lewd
name = "Horny Traitor"
persistent = TRUE
@@ -375,7 +375,7 @@
var/datum/antagonist/traitor/lewd/newTraitor = new
M.mind.add_antag_datum(newTraitor)
return TRUE
*/
//////////////////////////////////////////////
// //
// Malfunctioning AI //
@@ -66,7 +66,7 @@
// LEWD //
// //
//////////////////////////////////////////
/* //Putting Lewd traitor on the backburner until we can buffer it a bit.
/datum/dynamic_ruleset/roundstart/traitor/lewd
name = "Horny Traitor"
persistent = TRUE
@@ -115,7 +115,7 @@
M.mind.restricted_roles = restricted_roles
return TRUE
*/
//////////////////////////////////////////
// //
// BLOOD BROTHERS //
+1 -1
View File
@@ -34,7 +34,7 @@
var/round_converted = 0 //0: round not converted, 1: round going to convert, 2: round converted
var/reroll_friendly //During mode conversion only these are in the running
var/continuous_sanity_checked //Catches some cases where config options could be used to suggest that modes without antagonists should end when all antagonists die
var/enemy_minimum_age = 7 //How many days must players have been playing before they can play this antagonist
var/enemy_minimum_age = 21 //How many days must players have been playing before they can play this antagonist
var/announce_span = "warning" //The gamemode's name will be in this span during announcement.
var/announce_text = "This gamemode forgot to set a descriptive text! Uh oh!" //Used to describe a gamemode when it's announced.
+1 -1
View File
@@ -6,7 +6,7 @@
required_enemies = 2
recommended_enemies = 5
antag_flag = ROLE_OPERATIVE
enemy_minimum_age = 7
enemy_minimum_age = 21
announce_span = "danger"
announce_text = "Syndicate forces are approaching the station in an attempt to destroy it!\n\
+1 -1
View File
@@ -16,7 +16,7 @@
required_players = 30
required_enemies = 2
recommended_enemies = 3
enemy_minimum_age = 14
enemy_minimum_age = 28
announce_span = "danger"
announce_text = "Some crewmembers are attempting a coup!\n\
+1 -1
View File
@@ -16,7 +16,7 @@
required_enemies = 1
recommended_enemies = 4
reroll_friendly = 1
enemy_minimum_age = 0
enemy_minimum_age = 21
announce_span = "danger"
announce_text = "There are Syndicate agents on the station!\n\
+1 -1
View File
@@ -10,7 +10,7 @@
required_players = 20
required_enemies = 1
recommended_enemies = 1
enemy_minimum_age = 7
enemy_minimum_age = 21
round_ends_with_antag_death = 1
announce_span = "danger"
announce_text = "There is a space wizard attacking the station!\n\
@@ -285,7 +285,7 @@
// OMG CENTCOM LETTERHEAD
if("MessageCentCom")
if(authenticated==2)
if(authenticated)
if(!checkCCcooldown())
to_chat(usr, "<span class='warning'>Arrays recycling. Please stand by.</span>")
return
@@ -301,7 +301,7 @@
// OMG SYNDICATE ...LETTERHEAD
if("MessageSyndicate")
if((authenticated==2) && (obj_flags & EMAGGED))
if((authenticated) && (obj_flags & EMAGGED))
if(!checkCCcooldown())
to_chat(usr, "<span class='warning'>Arrays recycling. Please stand by.</span>")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
@@ -483,6 +483,11 @@
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=cancelshuttle'>Cancel Shuttle Call</A> \]"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=status'>Set Status Display</A> \]"
if(!(obj_flags & EMAGGED))
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=MessageCentCom'>Send Message to CentCom</A> \]"
else
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=MessageSyndicate'>Send Message to \[UNKNOWN\]</A> \]"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=RestoreBackup'>Restore Backup Routing Data</A> \]"
if (authenticated==2)
dat += "<BR><BR><B>Captain Functions</B>"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=announce'>Make a Captain's Announcement</A> \]"
@@ -494,11 +499,6 @@
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=changeseclevel'>Change Alert Level</A> \]"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=emergencyaccess'>Emergency Maintenance Access</A> \]"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=nukerequest'>Request Nuclear Authentication Codes</A> \]"
if(!(obj_flags & EMAGGED))
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=MessageCentCom'>Send Message to CentCom</A> \]"
else
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=MessageSyndicate'>Send Message to \[UNKNOWN\]</A> \]"
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=RestoreBackup'>Restore Backup Routing Data</A> \]"
else
dat += "<BR>\[ <A HREF='?src=[REF(src)];operation=login'>Log In</A> \]"
if(STATE_CALLSHUTTLE)
+4 -4
View File
@@ -79,8 +79,8 @@
var/doorOpen = 'sound/machines/airlock.ogg'
var/doorClose = 'sound/machines/airlockclose.ogg'
var/doorDeni = 'sound/machines/deniedbeep.ogg' // i'm thinkin' Deni's
var/boltUp = 'sound/machines/boltsup.ogg'
var/boltDown = 'sound/machines/boltsdown.ogg'
var/boltUp = 'hyperstation/sound/machines/BoltsUp.ogg'
var/boltDown = 'hyperstation/sound/machines/BoltsDown.ogg'
var/noPower = 'sound/machines/doorclick.ogg'
var/previous_airlock = /obj/structure/door_assembly //what airlock assembly mineral plating was applied to
var/airlock_material //material of inner filling; if its an airlock with glass, this should be set to "glass"
@@ -1155,7 +1155,7 @@
if(obj_flags & EMAGGED)
return FALSE
use_power(50)
playsound(src, doorOpen, 30, 1)
playsound(src, doorOpen, 40, 0)
if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density)
src.closeOther.close()
else
@@ -1202,7 +1202,7 @@
if(obj_flags & EMAGGED)
return
use_power(50)
playsound(src.loc, doorClose, 30, 1)
playsound(src.loc, doorClose, 40, 0)
else
playsound(src.loc, 'sound/machines/airlockforced.ogg', 30, 1)
+4 -2
View File
@@ -15,6 +15,8 @@
resistance_flags = FIRE_PROOF
damage_deflection = 70
poddoor = TRUE
var/openSound = 'hyperstation/sound/machines/blastDoorOpen.ogg'
var/closeSound = 'hyperstation/sound/machines/blastDoorClose.ogg'
/obj/machinery/door/poddoor/preopen
icon_state = "open"
@@ -72,10 +74,10 @@
switch(animation)
if("opening")
flick("opening", src)
playsound(src, 'sound/machines/blastdoor.ogg', 30, 1)
playsound(src, openSound, 20, 0)
if("closing")
flick("closing", src)
playsound(src, 'sound/machines/blastdoor.ogg', 30, 1)
playsound(src, closeSound, 20, 0)
/obj/machinery/door/poddoor/update_icon()
if(density)
+2
View File
@@ -8,6 +8,8 @@
armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 75, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70)
damage_deflection = 20
max_integrity = 100
openSound = 'hyperstation/sound/machines/shutter.ogg'
closeSound = 'hyperstation/sound/machines/shutter.ogg'
/obj/machinery/door/poddoor/shutters/preopen
icon_state = "open"
+2 -2
View File
@@ -141,7 +141,7 @@
if(!src.operating) //in case of emag
operating = TRUE
do_animate("opening")
playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1)
playsound(src.loc, 'hyperstation/sound/machines/windowdoor.ogg', 70, 0)
src.icon_state ="[src.base_state]open"
sleep(10)
@@ -165,7 +165,7 @@
return 0
operating = TRUE
do_animate("closing")
playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1)
playsound(src.loc, 'hyperstation/sound/machines/windowdoor.ogg', 70, 0)
src.icon_state = src.base_state
density = TRUE
+1 -1
View File
@@ -11,7 +11,7 @@
var/obj/item/assembly/signaler/anomaly/aSignal
var/area/impact_area
var/lifespan = 1190
var/lifespan = 1690
var/death_time
var/countdown_colour
+4
View File
@@ -171,6 +171,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
name = "Geneticist"
icon_state = "Geneticist"
/obj/effect/landmark/start/psychologist
name = "Psychologist"
icon_state = "Medical Doctor"
/obj/effect/landmark/start/chief_medical_officer
name = "Chief Medical Officer"
icon_state = "Chief Medical Officer"
+37 -5
View File
@@ -29,9 +29,19 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
obj_flags = NONE
var/item_flags = NONE
var/hitsound = null
var/usesound = null
var/throwhitsound = null
var/hitsound
var/usesound
var/mob_throw_hit_sound
///Sound uses when picking the item up (into your hands)
var/pickup_sound
///Sound uses when dropping the item, or when its thrown.
var/drop_sound
///Sound used when equipping the item into a valid slot
var/equip_sound
var/w_class = WEIGHT_CLASS_NORMAL
var/total_mass //Total mass in arbitrary pound-like values. If there's no balance reasons for an item to have otherwise, this var should be the item's weight in pounds.
var/slot_flags = 0 //This is used to determine on which slots an item can fit.
@@ -372,7 +382,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
/obj/item/proc/talk_into(mob/M, input, channel, spans, datum/language/language)
return ITALICS | REDUCE_RANGE
/obj/item/proc/dropped(mob/user)
/obj/item/proc/dropped(mob/user, silent)
for(var/X in actions)
var/datum/action/A = X
A.Remove(user)
@@ -380,6 +390,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
qdel(src)
item_flags &= ~IN_INVENTORY
SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user)
if(!silent)
playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE)
// called just as an item is picked up (loc is not yet changed)
/obj/item/proc/pickup(mob/user)
@@ -423,6 +435,11 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
A.Grant(user)
item_flags |= IN_INVENTORY
if(equip_sound &&(slot_flags & slotdefine2slotbit(slot)))
playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE)
else if(slot == SLOT_HANDS)
playsound(src, pickup_sound, PICKUP_SOUND_VOLUME, ignore_walls = FALSE)
//sometimes we only want to grant the item's action if it's equipped in a specific slot.
/obj/item/proc/item_action_slot_check(slot, mob/user)
if(slot == SLOT_IN_BACKPACK || slot == SLOT_LEGCUFFED) //these aren't true slots, so avoid granting actions there
@@ -575,6 +592,21 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/itempush = 1
if(w_class < 4)
itempush = 0 //too light to push anything
if(istype(hit_atom, /mob/living)) //Living mobs handle hit sounds differently.
var/volume = get_volume_by_throwforce_and_or_w_class()
if (throwforce > 0)
if (mob_throw_hit_sound)
playsound(hit_atom, mob_throw_hit_sound, volume, TRUE, -1)
else if(hitsound)
playsound(hit_atom, hitsound, volume, TRUE, -1)
else
playsound(hit_atom, 'sound/weapons/genhit.ogg',volume, TRUE, -1)
else
playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1)
else
playsound(src, drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE)
return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum)
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE)
@@ -846,7 +878,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
layer = initial(layer)
plane = initial(plane)
appearance_flags &= ~NO_CLIENT_COLOR
dropped(M)
dropped(M, FALSE)
return ..()
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=TRUE, diagonals_first = FALSE, var/datum/callback/callback)
-1
View File
@@ -232,7 +232,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(lit)
user.visible_message("<span class='notice'>[user] calmly drops and treads on \the [src], putting it out instantly.</span>")
new type_butt(user.loc)
new /obj/effect/decal/cleanable/ash(user.loc)
qdel(src)
. = ..()
@@ -32,6 +32,9 @@
var/datum/integrated_io/selected_io = null //functional for integrated circuits.
var/mode = 0
drop_sound = 'sound/items/handling/multitool_drop.ogg'
pickup_sound = 'sound/items/handling/multitool_pickup.ogg'
/obj/item/multitool/examine(mob/user)
. = ..()
if(selected_io)
@@ -200,6 +200,7 @@
if(!language)
language = M.get_default_language()
INVOKE_ASYNC(src, .proc/talk_into_impl, M, message, channel, spans.Copy(), language)
playsound(src, 'sound/voice/radioin.ogg', 25, 0)
return ITALICS | REDUCE_RANGE
/obj/item/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans, datum/language/language)
@@ -50,6 +50,9 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
//END OF CIT CHANGES
new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \
null, \
//add this when I can find a way to make them easily constructible > new/datum/stack_recipe("sink", /obj/structure/sink, 2, one_per_turf = TRUE, on_floor = TRUE),
new/datum/stack_recipe("shower", /obj/machinery/shower/crafted, 2, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \
new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
null, \
@@ -355,6 +358,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
merge_type = /obj/item/stack/sheet/cloth
grind_results = list(/datum/reagent/cellulose = 4)
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
/obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.cloth_recipes
return ..()
@@ -400,6 +406,11 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \
merge_type = /obj/item/stack/sheet/durathread
grind_results = list(/datum/reagent/cellulose = 10)
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
/obj/item/stack/sheet/durathread/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.durathread_recipes
return ..()
+13
View File
@@ -11,6 +11,9 @@
max_integrity = 300
var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding
var/worn_overlays = FALSE //worn counterpart of the above.
equip_sound = 'sound/items/equip/toolbelt_equip.ogg'
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
/obj/item/storage/belt/suicide_act(mob/living/carbon/user)
user.visible_message("<span class='suicide'>[user] begins belting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -888,6 +891,16 @@ obj/item/storage/belt/slut/ComponentInitialize()
final_block_chance = 0 //Too thin to block bullets
return ..()
/obj/item/storage/belt/sabre/chloesabre
name = "Ornate Sheath"
desc = "An ornate and rather sinister looking sabre sheathe."
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
icon_state = "darksheath"
item_state = "darksheath"
fitting_swords = list(/obj/item/toy/sword/chloesabre, /obj/item/melee/sabre, /obj/item/melee/baton/stunsword)
starting_sword = /obj/item/toy/sword/chloesabre
/obj/item/storage/belt/botany
name = "botanical belt"
desc = "A belt made for holding hydroponics supplies."
+5
View File
@@ -35,6 +35,9 @@
var/illustration = "writing"
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //exploits ahoy
drop_sound = 'sound/items/handling/cardboardbox_drop.ogg'
pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg'
/obj/item/storage/box/Initialize(mapload)
. = ..()
update_icon()
@@ -643,6 +646,8 @@
w_class = WEIGHT_CLASS_TINY
slot_flags = ITEM_SLOT_BELT
price = 2
drop_sound = 'sound/items/handling/matchbox_drop.ogg'
pickup_sound = 'sound/items/handling/matchbox_pickup.ogg'
/obj/item/storage/box/matches/ComponentInitialize()
. = ..()
@@ -389,3 +389,28 @@
/obj/item/organ_storage
))
//Psych Pillbottles
/obj/item/storage/pill_bottle/happinesspsych
name = "happiness pill bottle"
desc = "Contains pills used as a last resort means to temporarily stabilize depression and anxiety. WARNING: side effects may include slurred speech, drooling, and severe addiction."
/obj/item/storage/pill_bottle/happinesspsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/happinesspsych(src)
/obj/item/storage/pill_bottle/lsdpsych
name = "mindbreaker toxin pill bottle"
desc = "!FOR THERAPEUTIC USE ONLY! Contains pills used to alleviate the symptoms of Reality Dissociation Syndrome."
/obj/item/storage/pill_bottle/lsdpsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/lsdpsych(src)
/obj/item/storage/pill_bottle/paxpsych
name = "pacification pill"
desc = "Contains pills used to temporarily pacify patients that are deemed a harm to themselves or others."
/obj/item/storage/pill_bottle/paxpsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/paxpsych(src)
@@ -16,6 +16,8 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons)
materials = list(MAT_METAL = 500)
attack_verb = list("robusted")
hitsound = 'sound/weapons/smash.ogg'
drop_sound = 'sound/items/handling/toolbox_drop.ogg'
pickup_sound = 'sound/items/handling/toolbox_pickup.ogg'
var/latches = "single_latch"
var/has_latches = TRUE
var/can_rubberify = TRUE
+3
View File
@@ -13,6 +13,9 @@
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50)
drop_sound = 'sound/items/handling/crowbar_drop.ogg'
pickup_sound = 'sound/items/handling/crowbar_pickup.ogg'
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
tool_behaviour = TOOL_CROWBAR
toolspeed = 1
@@ -19,6 +19,8 @@
usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg')
tool_behaviour = TOOL_SCREWDRIVER
toolspeed = 1
drop_sound = 'sound/items/handling/screwdriver_drop.ogg'
pickup_sound = 'sound/items/handling/screwdriver_pickup.ogg'
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30)
var/random_color = TRUE //if the screwdriver uses random coloring
var/static/list/screwdriver_colors = list(
@@ -34,6 +34,9 @@
tool_behaviour = TOOL_WELDER
toolspeed = 1
drop_sound = 'sound/items/handling/weldingtool_drop.ogg'
pickup_sound = 'sound/items/handling/weldingtool_pickup.ogg'
/obj/item/weldingtool/Initialize()
. = ..()
create_reagents(max_fuel)
@@ -17,6 +17,9 @@
hitsound = 'sound/items/wirecutter.ogg'
usesound = 'sound/items/wirecutter.ogg'
drop_sound = 'sound/items/handling/wirecutter_drop.ogg'
pickup_sound = 'sound/items/handling/wirecutter_pickup.ogg'
tool_behaviour = TOOL_WIRECUTTER
toolspeed = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30)
+3
View File
@@ -13,6 +13,9 @@
usesound = 'sound/items/ratchet.ogg'
materials = list(MAT_METAL=150)
drop_sound = 'sound/items/handling/wrench_drop.ogg'
pickup_sound = 'sound/items/handling/wrench_pickup.ogg'
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
tool_behaviour = TOOL_WRENCH
toolspeed = 1
+2
View File
@@ -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")
@@ -27,8 +27,8 @@
var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet.
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
var/cutting_tool = /obj/item/weldingtool
var/open_sound = 'sound/machines/click.ogg'
var/close_sound = 'sound/machines/click.ogg'
var/open_sound = 'sound/effects/locker_open.ogg'
var/close_sound = 'sound/effects/locker_close.ogg'
var/material_drop = /obj/item/stack/sheet/metal
var/material_drop_amount = 2
var/delivery_icon = "deliverycloset" //which icon to use when packagewrapped. null to be unwrappable.
@@ -0,0 +1,17 @@
/obj/structure/closet/secure_closet/psychology
name = "psychology locker"
req_access = list(ACCESS_PSYCH)
icon_state = "cabinet"
/obj/structure/closet/secure_closet/psychology/PopulateContents()
..()
new /obj/item/clothing/under/lawyer/blacksuit(src)
new /obj/item/clothing/under/lawyer/blacksuit/skirt(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/storage/backpack/medic(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clipboard(src)
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/clothing/ears/earmuffs(src)
new /obj/item/clothing/mask/muzzle(src)
new /obj/item/clothing/glasses/sunglasses/blindfold(src)
@@ -727,3 +727,9 @@
qdel(src)
building = FALSE
/obj/structure/rack/shelf
name = "shelving"
desc = "Some nice metal shelves."
icon = 'hyperstation/icons/obj/objects.dmi'
icon_state = "shelf"
+41 -16
View File
@@ -219,8 +219,8 @@
var/watertemp = "normal" //freezing, normal, or boiling
var/datum/looping_sound/showering/soundloop
/*/obj/machinery/shower/crafted //When created from sheets of metal
anchored = FALSE */ //Stop exploiting this ree
/obj/machinery/shower/crafted //When created from sheets of metal
anchored = FALSE
/obj/machinery/shower/Initialize()
. = ..()
@@ -292,19 +292,43 @@
if (user.a_intent != INTENT_HELP)
return ..()
if (I.tool_behaviour == TOOL_WRENCH)
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I]...</span>")
if(I.use_tool(src, user, 50))
switch(watertemp)
if("normal")
watertemp = "freezing"
if("freezing")
watertemp = "boiling"
if("boiling")
watertemp = "normal"
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I] to [watertemp] temperature.</span>")
log_game("[key_name(user)] has wrenched a shower to [watertemp] at ([x],[y],[z])")
add_hiddenprint(user)
switch (I.tool_behaviour)
if (TOOL_WRENCH)
if (!anchored)
user.visible_message("<span class='notice'>[user] starts to take apart [src]...</span>", "<span class='notice'>You start dismantling [src]...</span>")
I.play_tool_sound(src)
if(I.use_tool(src, user, 20))
deconstruct(TRUE)
else
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I]...</span>")
if(I.use_tool(src, user, 50))
switch(watertemp)
if("normal")
watertemp = "freezing"
if("freezing")
watertemp = "boiling"
if("boiling")
watertemp = "normal"
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I] to [watertemp] temperature.</span>")
log_game("[key_name(user)] has wrenched a shower to [watertemp] at ([x],[y],[z])")
add_hiddenprint(user)
if (TOOL_SCREWDRIVER)
if (!anchored)
to_chat(user, "<span class='notice'>You begin screwing in [src] to the floor...</span>")
I.play_tool_sound(src)
if(I.use_tool(src, user, 30))
user.visible_message("<span class='notice'>[user] connects [src] to the floor.</span>", "<span class='notice'>You connect [src] to the floor.</span>")
anchored = TRUE
else
to_chat(user, "<span class='notice'>You start to take out [src]'s screws...</span>")
on = FALSE
soundloop.stop()
update_icon()
I.play_tool_sound(src)
if(I.use_tool(src, user, 20))
user.visible_message("<span class='notice'>[user] disconnects [src] from the floor.</span>", "<span class='notice'>You disconnect [src] from the floor.</span>")
anchored = FALSE
/obj/machinery/shower/examine()
. += ..()
@@ -429,6 +453,7 @@
H.update_inv_wear_mask()
else
H.lip_style = null
H.nail_style = null
H.update_body()
if(H.glasses && washglasses && wash_obj(H.glasses))
H.update_inv_glasses()
@@ -468,7 +493,7 @@
return PROCESS_KILL
/obj/machinery/shower/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/metal (loc, 3)
new /obj/item/stack/sheet/metal (loc, 2)
qdel(src)
/obj/machinery/shower/proc/check_heat(mob/living/carbon/C)
+18 -2
View File
@@ -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()
+1 -1
View File
@@ -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
+2
View File
@@ -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")
+15 -1
View File
@@ -1247,6 +1247,11 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
var/obj/item/reagent_containers/food/snacks/store/bread/plain/funnyBread = new(get_turf(target))
target.forceMove(funnyBread)
/client/proc/bookify(atom/movable/target)
var/obj/item/reagent_containers/food/snacks/store/book/funnyBook = new(get_turf(target))
target.forceMove(funnyBook)
funnyBook.name = "Book of " + target.name
/client/proc/smite(mob/living/carbon/human/target as mob)
set name = "Smite"
set category = "Fun"
@@ -1268,7 +1273,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
ADMIN_PUNISHMENT_TABLETIDESTATIONWIDE,
ADMIN_PUNISHMENT_FAKEBWOINK,
ADMIN_PUNISHMENT_NUGGET,
ADMIN_PUNISHMENT_BREADIFY)
ADMIN_PUNISHMENT_BREADIFY,
ADMIN_PUNISHMENT_BOOKIFY)
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list
@@ -1379,6 +1385,14 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
target.transformation_animation(bread_appearance, time = BREADIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
addtimer(CALLBACK(GLOBAL_PROC, .proc/breadify, target), BREADIFY_TIME)
#undef BREADIFY_TIME
if(ADMIN_PUNISHMENT_BOOKIFY)
#define BOOKIFY_TIME (2 SECONDS)
var/mutable_appearance/book_appearance = mutable_appearance('icons/obj/library.dmi', "book")
var/mutable_appearance/transform_scanline = mutable_appearance('icons/effects/effects.dmi', "transform_effect")
target.transformation_animation(book_appearance, time = BOOKIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
addtimer(CALLBACK(GLOBAL_PROC, .proc/bookify, target), BOOKIFY_TIME)
playsound(target, 'hyperstation/sound/misc/bookify.ogg', 60, 1)
#undef BOOKIFY_TIME
punish_log(target, punishment)
@@ -609,6 +609,8 @@ This is here to make the tiles around the station mininuke change when it's arme
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
icon_state = "datadisk0"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
/obj/item/disk/nuclear
name = "nuclear authentication disk"
@@ -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)
. = ..()
+1 -1
View File
@@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls)
prefs.last_ip = address //these are gonna be used for banning
prefs.last_id = computer_id //these are gonna be used for banning
fps = 40
fps = prefs.clientfps
if(fexists(roundend_report_file()))
add_verb(src, /client/proc/show_previous_roundend_report)
+25 -7
View File
@@ -180,7 +180,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"womb_fluid" = /datum/reagent/consumable/femcum,
"ipc_screen" = "Sunburst",
"ipc_antenna" = "None",
"flavor_text" = ""
"flavor_text" = "",
"ooc_text" = ""
)
/// Security record note section
@@ -383,7 +384,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(2)
update_preview_icon()
dat += "<table><tr><td width='340px' height='300px' valign='top'>"
dat += "<h2>Flavor Text</h2>"
dat += "<h2>General Examine Text</h2>"
dat += "<a href='?_src_=prefs;preference=flavor_text;task=input'><b>Set Examine Text</b></a><br>"
if(length(features["flavor_text"]) <= 40)
if(!length(features["flavor_text"]))
@@ -392,6 +393,16 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "[features["flavor_text"]]"
else
dat += "[TextPreview(features["flavor_text"])]...<BR>"
dat += "<h2>OOC Text</h2>"
dat += "<a href='?_src_=prefs;preference=ooc_text;task=input'><b>Set OOC Text</b></a><br>"
if(length(features["ooc_text"]) <= 40)
if(!length(features["ooc_text"]))
dat += "\[...\]"
else
dat += "[features["ooc_text"]]"
else
dat += "[TextPreview(features["ooc_text"])]...<BR>"
dat += "<h2>Body</h2>"
dat += "<b>Gender:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]</a><BR>"
dat += "<b>Species:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=species;task=input'>[pref_species.id]</a><BR>"
@@ -1695,11 +1706,18 @@ GLOBAL_LIST_EMPTY(preferences_datums)
medical_records = rec
if("flavor_text")
var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(features["flavor_text"]), MAX_MESSAGE_LEN, TRUE)
var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This should be IC, and description people can deduce at a quick glance.", "Flavor Text", html_decode(features["flavor_text"]), MAX_MESSAGE_LEN, TRUE)
if(msg)
msg = msg
features["flavor_text"] = msg
if("ooc_text")
var/msg = stripped_multiline_input(usr, "Set the OOC text in your 'examine' verb. This should be OOC only!", "OOC Text", html_decode(features["ooc_text"]), MAX_MESSAGE_LEN, TRUE)
if(msg)
msg = msg
features["ooc_text"] = msg
if("hide_ckey")
hide_ckey = !hide_ckey
if(user)
@@ -2532,14 +2550,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("allow_midround_antag")
toggles ^= MIDROUND_ANTAG
if("sync_antag_with_chars")
toggles ^= ANTAG_SYNC_WITH_CHARS
if(!(toggles & ANTAG_SYNC_WITH_CHARS) && path)
var/savefile/S = new /savefile(path)
if(S)
if(S)
S["special_roles"] >> be_special
if("copy_antag_to_chars")
if(path)
var/savefile/S = new /savefile(path)
@@ -2553,7 +2571,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
to_chat(parent, "<span class='notice'>Successfully copied antagonist preferences to all characters.</span>")
else
to_chat(parent, "<span class='notice'>Could not write to file.</span>")
if("reset_antag")
be_special = list()
+9 -1
View File
@@ -428,7 +428,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//flavor text
//Let's make our players NOT cry desperately as we wipe their savefiles of their special snowflake texts:
if((S["flavor_text"] != "") && (S["flavor_text"] != null) && S["flavor_text"]) //If old text isn't null and isn't "" but still exists.
S["flavor_text"] >> features["flavor_text"] //Load old flavortext as current dna-based flavortext
S["flavor_text"] >> features["flavor_text"] //Load old flavortext as current dna-based flavortext
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"]) //Save it in our new type of flavor-text
WRITE_FILE(S["flavor_text"] , "") //Remove old flavortext, completing the cut-and-paste into the new format.
@@ -436,6 +436,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
else //We have no old flavortext, default to new
S["feature_flavor_text"] >> features["flavor_text"]
if((S["ooc_text"] != "") && (S["ooc_text"] != null) && S["ooc_text"])
S["ooc_text"] >> features["ooc_text"]
WRITE_FILE(S["feature_ooc_text"], features["ooc_text"]) //Save it in our new type of flavor-text
WRITE_FILE(S["ooc_text"], "") //Remove old flavortext, completing the cut-and-paste into the new format.
else
S["feature_ooc_text"] >> features["ooc_text"]
//try to fix any outdated data if necessary
if(needs_update >= 0)
-26
View File
@@ -94,32 +94,6 @@
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/stalhelm
name = "Stalhelm"
desc = "Ein Helm, um die Nazi-Interesse an fremden Raumstationen zu sichern."
icon_state = "stalhelm"
item_state = "stalhelm"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/panzer
name = "Panzer Cap"
desc = "Command any mech in style."
icon_state = "panzercap"
item_state = "panzercap"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/naziofficer
name = "Officer Cap"
desc = "Style is all that matters."
icon_state = "officercap"
item_state = "officercap"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/russobluecamohat
name = "russian blue camo beret"
desc = "A symbol of discipline, honor, and lots and lots of removal of some type of skewered food."
@@ -1,25 +1,5 @@
//VG Ports
/obj/item/clothing/head/helmet/space/hardsuit/nazi
name = "nazi hardhelmet"
desc = "This is the face of das vaterland's top elite. Gas or energy are your only escapes."
item_state = "hardsuit0-nazi"
icon_state = "hardsuit0-nazi"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
item_color = "nazi"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/nazi
name = "nazi hardsuit"
desc = "The attire of a true krieger. All shall fall, and only das vaterland will remain."
item_state = "hardsuit-nazi"
icon_state = "hardsuit-nazi"
slowdown = 1
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/soviet
name = "soviet hardhelmet"
desc = "Crafted with the pride of the proletariat. The vengeful gaze of the visor roots out all fascists and capitalists."
+2
View File
@@ -10,6 +10,8 @@
var/togglename = null
var/suittoggled = FALSE
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
var/tauric = FALSE //Citadel Add for tauric hardsuits
+9 -1
View File
@@ -963,4 +963,12 @@
icon_state = "enzojacket"
item_state = "enzojacket"
body_parts_covered = CHEST|ARMS
//End
//End
//Might get moved later since I have no clue where to put this stuff for now - Luke_vale
/obj/item/clothing/suit/toggle/labcoat/formallab
name = "winter labcoat"
desc = "A stark white labcoat, thicker and kitted out with extra fluff to keep you warm even on the coldest of mad sceinctist nights."
icon_state = "labcoat_formal"
item_state = "labcoat_formal"
body_parts_covered = CHEST|ARMS
+5 -1
View File
@@ -16,6 +16,10 @@
var/obj/item/clothing/accessory/attached_accessory
var/mutable_appearance/accessory_overlay
mutantrace_variation = MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
equip_sound = 'sound/items/equip/jumpsuit_equip.ogg'
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
. = list()
@@ -156,4 +160,4 @@
if(SENSOR_COORDS)
. += "Its vital tracker and tracking beacon appear to be enabled."
if(attached_accessory)
. += "\A [attached_accessory] is attached to it."
. += "\A [attached_accessory] is attached to it."
+1 -1
View File
@@ -25,7 +25,7 @@
for(var/V in GLOB.player_list)
var/mob/M = V
if((M.client.prefs.toggles & SOUND_MIDI) && is_station_level(M.z))
M.playsound_local(M, 'sound/ambience/aurora_caelus_new.ogg', 40, FALSE, pressure_affected = FALSE) //ogg is "The Fire is Gone" by Heaven Pierce Her, used in the videogame ULTRAKILL. All respects and credits to the equivalent artists who worked on it.
M.playsound_local(M, pick('sound/ambience/aurora_caelus_new.ogg','sound/ambience/aurora_caelus.ogg'), 40, FALSE, pressure_affected = FALSE) //ogg is "The Fire is Gone" by Heaven Pierce Her, used in the videogame ULTRAKILL. All respects and credits to the equivalent artists who worked on it.
start_checking()
/datum/round_event/aurora_caelus/proc/start_checking()
@@ -12,6 +12,9 @@
resistance_flags = ACID_PROOF
obj_flags = UNIQUE_RENAME
drop_sound = 'sound/items/handling/drinkglass_drop.ogg'
pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg'
/obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change(changetype)
cut_overlays()
if(reagents.reagent_list.len)
@@ -378,3 +378,16 @@ All foods are distributed among various categories. Use common sense.
TB.MouseDrop(over)
else
return ..()
/obj/item/reagent_containers/food/snacks/store/book
name = "book"
desc = "Could it be? A LoR reference? And is it... Edible?"
icon = 'icons/obj/library.dmi'
icon_state = "book"
tastes = list("broken dreams and promises" = 10)
foodtype = GROSS
dunkable = TRUE
volume = 80
bitesize = 4
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1)
list_reagents = list(/datum/reagent/consumable/sodiumchloride = 1)
+4 -4
View File
@@ -31,11 +31,11 @@
// Laughing Peas
/obj/item/seeds/peas/laugh
name = "pack of laughing peas"
desc = "These seeds give off a very soft purple glow.. they should grow into Laughing Peas."
name = "pack of laughin' peas"
desc = "These seeds give off a very soft purple glow.. they should grow into Laughin' Peas."
icon_state = "seed-laughpeas"
species = "laughpeas"
plantname = "Laughing Peas"
plantname = "Laughin' Peas"
product = /obj/item/reagent_containers/food/snacks/grown/laugh
maturation = 7
potency = 10
@@ -53,7 +53,7 @@
/obj/item/reagent_containers/food/snacks/grown/laugh
seed = /obj/item/seeds/peas/laugh
name = "pod of laughing peas"
name = "pod of laughin' peas"
desc = "Ridens Cicer, guaranteed to improve your mood dramatically upon consumption!"
icon_state = "laughpeas"
filling_color = "#ee7bee"
+5 -3
View File
@@ -137,7 +137,7 @@
ACCESS_HYDROPONICS, ACCESS_LIBRARY, ACCESS_LAWYER, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_QM, ACCESS_SURGERY,
ACCESS_THEATRE, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_MAILSORTING, ACCESS_WEAPONS,
ACCESS_VAULT, ACCESS_MINING_STATION, ACCESS_XENOBIOLOGY, ACCESS_CE, ACCESS_HOP, ACCESS_HOS, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING)
ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING, ACCESS_PSYCH)
/proc/get_all_centcom_access()
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE, ACCESS_CENT_TELEPORTER, ACCESS_CENT_CAPTAIN)
@@ -165,7 +165,7 @@
if(2) //security
return list(ACCESS_SEC_DOORS, ACCESS_WEAPONS, ACCESS_SECURITY, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_HOS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP)
if(3) //medbay
return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO)
return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO, ACCESS_PSYCH)
if(4) //research
return list(ACCESS_RESEARCH, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_GENETICS, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_MINISAT, ACCESS_RD, ACCESS_NETWORK)
if(5) //engineering and maintenance
@@ -332,6 +332,8 @@
return "Network Access"
if(ACCESS_CLONING)
return "Cloning Room"
if(ACCESS_PSYCH)
return "Psychology Office"
/proc/get_centcom_access_desc(A)
switch(A)
@@ -357,7 +359,7 @@
/proc/get_all_jobs()
return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician",
"Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", "Engineering Intern",
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Medical Resident",
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Psychologist", "Medical Resident",
"Research Director", "Scientist", "Roboticist", "Research Student", "Head of Security", "Warden", "Detective", "Security Officer", "Rookie")
/proc/get_all_job_icons() //For all existing HUD icons
+3 -3
View File
@@ -59,7 +59,7 @@ Captain
suit = /obj/item/clothing/suit/armor/vest/capcarapace
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/caphat
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/station_charter=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/station_charter=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/captain
satchel = /obj/item/storage/backpack/satchel/cap
@@ -104,13 +104,13 @@ Head of Personnel
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_LAWYER,
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_VAULT, ACCESS_MINING_STATION,
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM)
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS,
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_LAWYER,
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_VAULT, ACCESS_MINING_STATION,
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM)
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/prosopagnosia, /datum/quirk/insanity)
+16 -13
View File
@@ -5,16 +5,16 @@
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager")
/datum/job/engineer
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Station Architect")
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect")
/datum/job/atmos
alt_titles = list("Firefighter", "Life Support Specialist")
alt_titles = list("Firefighter", "Life Support Specialist", "Disposals Technician")
/datum/job/junior_engineer
//Service
/datum/job/assistant
alt_titles = list("Civilian", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
/datum/job/cook
alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie")
@@ -23,7 +23,7 @@
alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper")
/datum/job/curator
alt_titles = list("Journalist", "Librarian")
alt_titles = list("Journalist", "Librarian", "Keeper")
/datum/job/chaplain
alt_titles = list("Priest", "Priestess", "Bishop", "Prior", "Monk", "Nun", "Counselor")
@@ -38,10 +38,10 @@
alt_titles = list("Jester", "Comedian")
/datum/job/mime
alt_titles = list("Performer")
alt_titles = list("Performer", "Pantomime", "Mimic")
/datum/job/bartender
alt_titles = list("Mixologist", "Bar Owner")
alt_titles = list("Mixologist", "Bar Owner", "Barmaid")
//Science
/datum/job/rd
@@ -57,7 +57,7 @@
//Medical
/datum/job/cmo
alt_titles = list("Medical Director")
alt_titles = list("Medical Director", "Medical Administrator")
/datum/job/doctor
alt_titles = list("Nurse", "Surgeon", "Physician", "Paramedic")
@@ -69,19 +69,22 @@
alt_titles = list("Microbiologist", "Biochemist", "Pathologist")
/datum/job/geneticist
alt_titles = list("Gene Therapist")
alt_titles = list("Gene Therapist", "Genetics Researcher")
/datum/job/psychologist
alt_titles = list("Therapist", "Psychiatrist")
/datum/job/junior_doctor
//Security
/datum/job/hos
alt_titles = list("Chief of Security", "Security Commander")
alt_titles = list("Chief of Security", "Security Commander", "Sheriff")
/datum/job/warden
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator")
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent")
/datum/job/officer
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Cadet")
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet")
/datum/job/detective
alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe")
@@ -100,7 +103,7 @@
//Command
/datum/job/captain
alt_titles = list("Station Director", "Station Commander", "Station Overseer")
alt_titles = list("Station Director", "Station Commander", "Station Overseer", "Stationmaster", "Commissar")
/datum/job/hop
alt_titles = list("Personnel Manager", "Staff Administrator")
alt_titles = list("Personnel Manager", "Staff Administrator", "Records Administrator")
+41 -4
View File
@@ -22,10 +22,10 @@ Chief Medical Officer
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM,
ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS)
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_PSYCH)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM,
ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS)
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_PSYCH)
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/insanity)
@@ -42,7 +42,7 @@ Chief Medical Officer
suit = /obj/item/clothing/suit/toggle/labcoat/cmo
l_hand = /obj/item/storage/firstaid/regular
suit_store = /obj/item/flashlight/pen
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/medic
satchel = /obj/item/storage/backpack/satchel/med
@@ -221,7 +221,6 @@ Virologist
satchel = /obj/item/storage/backpack/satchel/vir
duffelbag = /obj/item/storage/backpack/duffelbag/med
/*
Junior Doctor
*/
@@ -262,3 +261,41 @@ Junior Doctor
duffelbag = /obj/item/storage/backpack/duffelbag/med
chameleon_extras = /obj/item/gun/syringe
/*
Psychologist
*/
/datum/job/psychologist
title = "Psychologist"
flag = MED_PSYCH
department_head = list("Chief Medical Officer", "Head of Personnel")
department_flag = MEDSCI
faction = "Station"
total_positions = 1
spawn_positions = 1
minimal_player_age = 1
supervisors = "the chief medical officer, and head of personnel"
selection_color = "#ffeef0"
exp_requirements = 240
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/doctor/psychologist
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
/datum/outfit/job/doctor/psychologist
name = "Psychologist"
jobtype = /datum/job/psychologist
belt = /obj/item/pda/medical
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/lawyer/blacksuit
shoes = /obj/item/clothing/shoes/laceup
l_hand = /obj/item/clipboard
backpack_contents = list(/obj/item/storage/pill_bottle/mannitol, /obj/item/storage/pill_bottle/psicodine, /obj/item/storage/pill_bottle/paxpsych, /obj/item/storage/pill_bottle/happinesspsych, /obj/item/storage/pill_bottle/lsdpsych)
backpack = /obj/item/storage/backpack/medic
satchel = /obj/item/storage/backpack/satchel/med
duffelbag = /obj/item/storage/backpack/duffelbag/med
+1 -1
View File
@@ -55,7 +55,7 @@ Head of Security
suit_store = /obj/item/gun/energy/e_gun
r_pocket = /obj/item/assembly/flash/handheld
l_pocket = /obj/item/restraints/handcuffs
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/security
satchel = /obj/item/storage/backpack/satchel/sec
+1
View File
@@ -20,6 +20,7 @@ GLOBAL_LIST_INIT(medical_positions, list(
"Geneticist",
"Virologist",
"Chemist",
"Psychologist",
"Medical Resident"))

Some files were not shown because too many files have changed in this diff Show More