Merge pull request #74 from Citadel-Station-13/master

1/1
This commit is contained in:
EmeraldSundisk
2021-01-01 22:34:38 -08:00
committed by GitHub
53 changed files with 3822 additions and 3518 deletions
+148 -189
View File
@@ -69,35 +69,18 @@
/turf/closed/wall/r_wall, /turf/closed/wall/r_wall,
/area/security/prison) /area/security/prison)
"aaj" = ( "aaj" = (
/obj/structure/cable{
icon_state = "1-4"
},
/obj/structure/cable{ /obj/structure/cable{
icon_state = "4-8" icon_state = "4-8"
}, },
/turf/closed/wall/r_wall, /turf/open/floor/plasteel,
/area/security/prison)
"aak" = (
/obj/structure/cable{
icon_state = "0-4"
},
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/prison)
"aal" = (
/obj/structure/cable{
icon_state = "0-4"
},
/obj/structure/cable{
icon_state = "0-8"
},
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/prison) /area/security/prison)
"aam" = ( "aam" = (
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-2" icon_state = "0-2"
}, },
/obj/structure/cable{
icon_state = "0-8"
},
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/prison) /area/security/prison)
@@ -115,11 +98,17 @@
/obj/structure/sign/warning/electricshock{ /obj/structure/sign/warning/electricshock{
pixel_y = 32 pixel_y = 32
}, },
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/grass, /turf/open/floor/grass,
/area/security/prison) /area/security/prison)
"aap" = ( "aap" = (
/obj/machinery/hydroponics/soil, /obj/machinery/hydroponics/soil,
/obj/item/seeds/carrot, /obj/item/seeds/carrot,
/obj/structure/cable{
icon_state = "1-4"
},
/turf/open/floor/grass, /turf/open/floor/grass,
/area/security/prison) /area/security/prison)
"aaq" = ( "aaq" = (
@@ -140,17 +129,29 @@
/obj/structure/sink{ /obj/structure/sink{
pixel_y = 20 pixel_y = 20
}, },
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/prison) /area/security/prison)
"aar" = ( "aar" = (
/obj/machinery/hydroponics/soil, /obj/machinery/hydroponics/soil,
/obj/item/seeds/glowshroom, /obj/item/seeds/glowshroom,
/obj/structure/cable{
icon_state = "1-4"
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/grass, /turf/open/floor/grass,
/area/security/prison) /area/security/prison)
"aas" = ( "aas" = (
/obj/structure/sign/warning/electricshock{ /obj/structure/sign/warning/electricshock{
pixel_y = 32 pixel_y = 32
}, },
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/prison) /area/security/prison)
"aat" = ( "aat" = (
@@ -5666,6 +5667,9 @@
/obj/structure/disposalpipe/segment{ /obj/structure/disposalpipe/segment{
dir = 4 dir = 4
}, },
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"akw" = ( "akw" = (
@@ -5845,10 +5849,13 @@
/area/science/xenobiology) /area/science/xenobiology)
"akQ" = ( "akQ" = (
/obj/structure/cable{ /obj/structure/cable{
icon_state = "4-8" icon_state = "1-2"
}, },
/turf/closed/wall, /obj/structure/cable{
/area/security/brig) icon_state = "2-8"
},
/turf/open/floor/plasteel,
/area/security/prison)
"akR" = ( "akR" = (
/obj/machinery/camera{ /obj/machinery/camera{
c_tag = "Security Office"; c_tag = "Security Office";
@@ -6108,7 +6115,7 @@
"alq" = ( "alq" = (
/obj/machinery/door/airlock/security/glass{ /obj/machinery/door/airlock/security/glass{
name = "Evidence Storage"; name = "Evidence Storage";
req_access_txt = "4" req_one_access_txt = "4;1"
}, },
/obj/machinery/door/firedoor, /obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -6142,25 +6149,11 @@
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"alt" = ( "alt" = (
/obj/machinery/door/airlock/security/glass{ /obj/machinery/atmospherics/pipe/simple/supply/hidden{
id_tag = "innerbrig";
name = "Brig";
req_access_txt = "63"
},
/obj/machinery/door/firedoor,
/obj/structure/cable{
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 4 dir = 4
}, },
/obj/effect/turf_decal/tile/red{ /obj/structure/cable{
dir = 8 icon_state = "1-2"
},
/obj/effect/turf_decal/tile/red{
dir = 1
}, },
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
@@ -6180,16 +6173,11 @@
/area/ai_monitored/nuke_storage) /area/ai_monitored/nuke_storage)
"alv" = ( "alv" = (
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-8"
},
/obj/structure/cable{
icon_state = "0-4"
},
/obj/machinery/door/poddoor/preopen{ /obj/machinery/door/poddoor/preopen{
id = "Secure Gate"; id = "Secure Gate";
name = "brig shutters" name = "brig shutters"
}, },
/obj/structure/cable,
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
"alw" = ( "alw" = (
@@ -6272,6 +6260,9 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 4 dir = 4
}, },
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"alB" = ( "alB" = (
@@ -6572,9 +6563,6 @@
/turf/open/floor/engine, /turf/open/floor/engine,
/area/science/xenobiology) /area/science/xenobiology)
"amm" = ( "amm" = (
/obj/structure/cable{
icon_state = "0-8"
},
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-4" icon_state = "0-4"
}, },
@@ -6609,6 +6597,9 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 4 dir = 4
}, },
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"amq" = ( "amq" = (
@@ -6661,9 +6652,6 @@
icon_state = "0-8" icon_state = "0-8"
}, },
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-4"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
@@ -6763,6 +6751,12 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
/obj/structure/cable{
icon_state = "1-8"
},
/obj/structure/cable{
icon_state = "2-8"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"amJ" = ( "amJ" = (
@@ -6853,25 +6847,15 @@
}, },
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/science/xenobiology) /area/science/xenobiology)
"amR" = (
/obj/structure/cable{
icon_state = "0-4"
},
/obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/door/poddoor/preopen{
id = "Secure Gate";
name = "brig shutters"
},
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/brig)
"amS" = ( "amS" = (
/obj/structure/cable{ /obj/effect/turf_decal/tile/red,
icon_state = "4-8" /obj/effect/turf_decal/tile/red{
dir = 8
}, },
/turf/closed/wall/r_wall, /obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"amT" = ( "amT" = (
/obj/structure/cable{ /obj/structure/cable{
@@ -7271,9 +7255,11 @@
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-4" icon_state = "0-4"
}, },
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable{
icon_state = "1-4"
},
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
"anQ" = ( "anQ" = (
@@ -7281,9 +7267,6 @@
/obj/effect/turf_decal/tile/yellow{ /obj/effect/turf_decal/tile/yellow{
dir = 8 dir = 8
}, },
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"anR" = ( "anR" = (
@@ -7514,14 +7497,13 @@
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-4" icon_state = "0-4"
}, },
/obj/structure/cable,
/obj/machinery/door/poddoor/preopen{ /obj/machinery/door/poddoor/preopen{
id = "Secure Gate"; id = "Secure Gate";
name = "brig shutters" name = "brig shutters"
}, },
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{ /obj/structure/cable{
icon_state = "1-8" icon_state = "0-8"
}, },
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
@@ -7755,13 +7737,13 @@
/area/security/brig) /area/security/brig)
"aoZ" = ( "aoZ" = (
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-2"
},
/obj/machinery/door/poddoor/preopen{ /obj/machinery/door/poddoor/preopen{
id = "Secure Brig Control"; id = "Secure Brig Control";
name = "brig shutters" name = "brig shutters"
}, },
/obj/structure/cable{
icon_state = "0-4"
},
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/warden) /area/security/warden)
"apa" = ( "apa" = (
@@ -7780,6 +7762,9 @@
/area/science/xenobiology) /area/science/xenobiology)
"apc" = ( "apc" = (
/obj/structure/chair/office/dark, /obj/structure/chair/office/dark,
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel/showroomfloor, /turf/open/floor/plasteel/showroomfloor,
/area/security/warden) /area/security/warden)
"apd" = ( "apd" = (
@@ -7933,6 +7918,12 @@
pixel_x = 6; pixel_x = 6;
pixel_y = 3 pixel_y = 3
}, },
/obj/structure/cable{
icon_state = "4-8"
},
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plasteel/showroomfloor, /turf/open/floor/plasteel/showroomfloor,
/area/security/warden) /area/security/warden)
"apw" = ( "apw" = (
@@ -8052,6 +8043,12 @@
pixel_y = -24; pixel_y = -24;
req_access_txt = "2" req_access_txt = "2"
}, },
/obj/structure/cable{
icon_state = "2-4"
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel/showroomfloor, /turf/open/floor/plasteel/showroomfloor,
/area/security/warden) /area/security/warden)
"apI" = ( "apI" = (
@@ -8133,9 +8130,6 @@
req_access_txt = "63" req_access_txt = "63"
}, },
/obj/machinery/door/firedoor, /obj/machinery/door/firedoor,
/obj/structure/cable{
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper{ /obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1 dir = 1
}, },
@@ -8158,14 +8152,19 @@
/turf/open/floor/plating, /turf/open/floor/plating,
/area/maintenance/fore) /area/maintenance/fore)
"apT" = ( "apT" = (
/obj/machinery/door/poddoor/preopen{
id = "Cell Interior Shutters";
name = "brig shutters"
},
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{ /obj/structure/cable{
icon_state = "4-8" icon_state = "0-8"
}, },
/obj/structure/cable{ /obj/structure/cable{
icon_state = "1-8" icon_state = "0-4"
}, },
/turf/closed/wall/r_wall, /turf/open/floor/plating,
/area/security/warden) /area/security/brig)
"apU" = ( "apU" = (
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/vacantoffice/b) /area/security/vacantoffice/b)
@@ -8181,20 +8180,6 @@
}, },
/turf/open/floor/plating, /turf/open/floor/plating,
/area/maintenance/fore) /area/maintenance/fore)
"apX" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-8"
},
/obj/structure/cable{
icon_state = "0-4"
},
/obj/machinery/door/poddoor/preopen{
id = "Secure Brig Control";
name = "brig shutters"
},
/turf/open/floor/plating,
/area/security/warden)
"apY" = ( "apY" = (
/obj/machinery/light/small{ /obj/machinery/light/small{
dir = 1 dir = 1
@@ -8406,13 +8391,11 @@
/area/crew_quarters/fitness/pool) /area/crew_quarters/fitness/pool)
"aqt" = ( "aqt" = (
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/door/poddoor/preopen{ /obj/machinery/door/poddoor/preopen{
id = "Secure Brig Control"; id = "Secure Brig Control";
name = "brig shutters" name = "brig shutters"
}, },
/obj/structure/cable,
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/warden) /area/security/warden)
"aqu" = ( "aqu" = (
@@ -8858,6 +8841,9 @@
c_tag = "Brig Control"; c_tag = "Brig Control";
dir = 1 dir = 1
}, },
/obj/structure/cable{
icon_state = "1-8"
},
/turf/open/floor/plasteel/showroomfloor, /turf/open/floor/plasteel/showroomfloor,
/area/security/warden) /area/security/warden)
"arz" = ( "arz" = (
@@ -52616,9 +52602,6 @@
/obj/effect/turf_decal/tile/blue{ /obj/effect/turf_decal/tile/blue{
dir = 8 dir = 8
}, },
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"cLS" = ( "cLS" = (
@@ -53521,9 +53504,17 @@
/area/science/circuit) /area/science/circuit)
"dyE" = ( "dyE" = (
/obj/structure/cable{ /obj/structure/cable{
icon_state = "1-2" icon_state = "0-4"
}, },
/turf/open/floor/plasteel, /obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/door/poddoor/preopen{
id = "Secure Gate";
name = "brig shutters"
},
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/brig) /area/security/brig)
"dyS" = ( "dyS" = (
/obj/effect/turf_decal/tile/green{ /obj/effect/turf_decal/tile/green{
@@ -53583,9 +53574,6 @@
/turf/open/space, /turf/open/space,
/area/space/nearstation) /area/space/nearstation)
"dCV" = ( "dCV" = (
/obj/structure/cable{
icon_state = "1-4"
},
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
@@ -54994,11 +54982,11 @@
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-8" icon_state = "0-8"
}, },
/obj/structure/cable{
icon_state = "0-4"
},
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable{
icon_state = "2-8"
},
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
"gOZ" = ( "gOZ" = (
@@ -56342,15 +56330,15 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 8 dir = 8
}, },
/obj/structure/cable{
icon_state = "2-4"
},
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 4 dir = 4
}, },
/obj/structure/cable{
icon_state = "1-4"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"kcx" = ( "kcx" = (
@@ -56869,9 +56857,6 @@
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"laq" = ( "laq" = (
/obj/structure/cable{
icon_state = "2-8"
},
/obj/structure/cable{ /obj/structure/cable{
icon_state = "2-4" icon_state = "2-4"
}, },
@@ -57160,7 +57145,7 @@
/area/maintenance/starboard/aft) /area/maintenance/starboard/aft)
"lZn" = ( "lZn" = (
/obj/machinery/door/airlock/security/glass{ /obj/machinery/door/airlock/security/glass{
id_tag = "innerbrig"; id_tag = null;
name = "Brig Infirmary"; name = "Brig Infirmary";
req_access_txt = "2" req_access_txt = "2"
}, },
@@ -58195,9 +58180,6 @@
/area/hallway/primary/central) /area/hallway/primary/central)
"ovv" = ( "ovv" = (
/obj/structure/table, /obj/structure/table,
/obj/structure/cable{
icon_state = "0-2"
},
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
@@ -58540,9 +58522,6 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 8 dir = 8
}, },
/obj/structure/cable{
icon_state = "2-4"
},
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
@@ -58671,9 +58650,6 @@
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 8 dir = 8
}, },
/obj/structure/cable{
icon_state = "2-8"
},
/obj/effect/turf_decal/tile/red{ /obj/effect/turf_decal/tile/red{
dir = 1 dir = 1
}, },
@@ -58681,7 +58657,10 @@
dir = 4 dir = 4
}, },
/obj/structure/cable{ /obj/structure/cable{
icon_state = "2-4" icon_state = "4-8"
},
/obj/structure/cable{
icon_state = "1-4"
}, },
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
@@ -58809,9 +58788,6 @@
/turf/open/floor/plating, /turf/open/floor/plating,
/area/crew_quarters/fitness) /area/crew_quarters/fitness)
"pQr" = ( "pQr" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green,
/obj/effect/turf_decal/tile/green{ /obj/effect/turf_decal/tile/green{
dir = 8 dir = 8
@@ -59498,9 +59474,6 @@
/area/maintenance/bar) /area/maintenance/bar)
"rCl" = ( "rCl" = (
/obj/machinery/door/firedoor, /obj/machinery/door/firedoor,
/obj/structure/cable{
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper{ /obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1 dir = 1
}, },
@@ -59544,20 +59517,6 @@
}, },
/turf/open/floor/plating, /turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den) /area/crew_quarters/abandoned_gambling_den)
"rJv" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-4"
},
/obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/door/poddoor/preopen{
id = "Secure Gate";
name = "brig shutters"
},
/turf/open/floor/plating,
/area/security/brig)
"rJw" = ( "rJw" = (
/obj/structure/table/glass, /obj/structure/table/glass,
/obj/item/hemostat, /obj/item/hemostat,
@@ -59764,9 +59723,6 @@
}, },
/area/crew_quarters/fitness) /area/crew_quarters/fitness)
"seP" = ( "seP" = (
/obj/structure/cable{
icon_state = "0-4"
},
/obj/structure/cable{ /obj/structure/cable{
icon_state = "0-8" icon_state = "0-8"
}, },
@@ -61092,6 +61048,9 @@
/area/maintenance/starboard/aft) /area/maintenance/starboard/aft)
"uXt" = ( "uXt" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/security/brig) /area/security/brig)
"vae" = ( "vae" = (
@@ -61332,13 +61291,13 @@
/area/crew_quarters/dorms) /area/crew_quarters/dorms)
"vyK" = ( "vyK" = (
/obj/effect/spawner/structure/window/reinforced, /obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/door/poddoor/preopen{ /obj/machinery/door/poddoor/preopen{
id = "Secure Gate"; id = "Secure Gate";
name = "brig shutters" name = "brig shutters"
}, },
/obj/structure/cable{
icon_state = "0-2"
},
/turf/open/floor/plating, /turf/open/floor/plating,
/area/security/brig) /area/security/brig)
"vzp" = ( "vzp" = (
@@ -88087,7 +88046,7 @@ aaa
aaa aaa
aag aag
aaa aaa
aak aam
aap aap
saX saX
aaD aaD
@@ -88344,7 +88303,7 @@ aaa
aaa aaa
aag aag
aaf aaf
aaj aai
aao aao
aax aax
aaC aaC
@@ -88370,7 +88329,7 @@ alz
cZe cZe
alg alg
plS plS
dyE afM
pQr pQr
aou aou
aqC aqC
@@ -88601,7 +88560,7 @@ aaa
aaa aaa
aag aag
aaa aaa
aal aam
aar aar
uGI uGI
aaF aaF
@@ -88858,7 +88817,7 @@ aaa
aaa aaa
aag aag
aaf aaf
aaj aai
aaq aaq
dyS dyS
aaE aaE
@@ -88883,10 +88842,10 @@ agj
agM agM
sAk sAk
akp akp
akQ agj
amB amB
amn amn
amS aiX
anz anz
anz anz
aov aov
@@ -89115,8 +89074,8 @@ aaa
aaa aaa
aag aag
aaa aaa
aal aam
aat aaj
aat aat
aat aat
aat aat
@@ -89143,7 +89102,7 @@ akM
amm amm
gyr gyr
anM anM
rJv xal
aqC aqC
anz anz
aox aox
@@ -89372,7 +89331,7 @@ aaa
aaa aaa
aag aag
aaf aaf
aaj aai
aas aas
aat aat
aat aat
@@ -89395,12 +89354,12 @@ akU
afM afM
lBz lBz
alA alA
ene alt
alg amS
kbm kbm
dyE afM
cKC cKC
seP dyE
aqC aqC
anR anR
aow aow
@@ -89630,7 +89589,7 @@ aaa
aag aag
aaa aaa
aam aam
aav akQ
aav aav
aav aav
aav aav
@@ -89657,7 +89616,7 @@ akT
gNE gNE
gLz gLz
anB anB
amR seP
aqC aqC
anz anz
aov aov
@@ -89911,10 +89870,10 @@ fxx
ako ako
ene ene
amj amj
akQ agj
amB amB
amn amn
amS aiX
anz anz
anz anz
aov aov
@@ -90171,7 +90130,7 @@ amk
amm amm
gyr gyr
mos mos
rJv xal
aqC aqC
anz anz
aov aov
@@ -90424,11 +90383,11 @@ akF
aiy aiy
akv akv
uXt uXt
alg amS
pAK pAK
dyE afM
anQ anQ
seP dyE
aqC aqC
anz anz
aov aov
@@ -90685,7 +90644,7 @@ akT
amx amx
any any
arD arD
amR seP
aqC aqC
anz anz
aov aov
@@ -90939,10 +90898,10 @@ ajc
akz akz
ene ene
als als
akQ agj
amB apT
amn amn
amS aiX
aqD aqD
anz anz
aov aov
@@ -91196,7 +91155,7 @@ ajc
akz akz
ene ene
alg alg
alt alw
amp amp
aot aot
apR apR
@@ -91455,7 +91414,7 @@ itD
alg alg
vyK vyK
amI amI
alg amS
alv alv
aqE aqE
anS anS
@@ -91970,7 +91929,7 @@ agn
agn agn
amN amN
aoZ aoZ
apT agn
anw anw
anz anz
cXU cXU
@@ -92227,7 +92186,7 @@ akY
alE alE
amU amU
apH apH
apX aqt
aqC aqC
anz anz
gfC gfC
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -136,11 +136,15 @@
#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user) #define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user)
#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user) #define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user)
#define COMPONENT_NO_ATTACK_HAND 1 //works on all 3. #define COMPONENT_NO_ATTACK_HAND 1 //works on all 3.
/////////////////
//This signal return value bitflags can be found in __DEFINES/misc.dm //This signal return value bitflags can be found in __DEFINES/misc.dm
#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" //called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels) #define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" //called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
/// Called from orbit component: (atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)
///////////////// #define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin"
/// Called from orbit component: (atom/movable/orbiter, refreshing)
#define COMSIG_ATOM_ORBIT_END "atom_orbit_end"
#define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area) #define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area)
#define COMSIG_EXIT_AREA "exit_area" //from base of area/Exited(): (/area) #define COMSIG_EXIT_AREA "exit_area" //from base of area/Exited(): (/area)
@@ -536,3 +540,7 @@
#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob) #define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob)
#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) #define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob)
#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) #define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob)
// twitch plays
/// Returns direction: (wipe_votes)
#define COMSIG_TWITCH_PLAYS_MOVEMENT_DATA "twitch_plays_movement_data"
+8
View File
@@ -72,3 +72,11 @@
ASSERT(target_prefs) ASSERT(target_prefs)
//In the future, maybe add custom path allowances a la admin create outfit but for now.. //In the future, maybe add custom path allowances a la admin create outfit but for now..
return generate_custom_holoform_from_prefs(target_prefs, null, null, TRUE, TRUE) return generate_custom_holoform_from_prefs(target_prefs, null, null, TRUE, TRUE)
//Errors go to user.
/proc/generate_custom_holoform_from_prefs_safe(datum/preferences/prefs, mob/user)
if(user)
if(user.client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
to_chat(user, "<span class='boldwarning'>You are attempting to set your custom holoform too fast!</span>")
return
return generate_custom_holoform_from_prefs(prefs, null, null, TRUE, TRUE)
+2
View File
@@ -54,6 +54,7 @@
move_react() move_react()
/datum/component/orbiter/proc/begin_orbit(atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) /datum/component/orbiter/proc/begin_orbit(atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)
SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)
if(orbiter.orbiting) if(orbiter.orbiting)
if(orbiter.orbiting == src) if(orbiter.orbiting == src)
orbiter.orbiting.end_orbit(orbiter, TRUE) orbiter.orbiting.end_orbit(orbiter, TRUE)
@@ -87,6 +88,7 @@
/datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE) /datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE)
if(!orbiters[orbiter]) if(!orbiters[orbiter])
return return
SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_END, orbiter, refreshing)
UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED) UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED)
orbiter.SpinAnimation(0, 0) orbiter.SpinAnimation(0, 0)
if(istype(orbiters[orbiter],/matrix)) //This is ugly. if(istype(orbiters[orbiter],/matrix)) //This is ugly.
+2 -2
View File
@@ -133,7 +133,7 @@
//KEYS //KEYS
/datum/component/riding/proc/keycheck(mob/user) /datum/component/riding/proc/keycheck(mob/user)
return !keytype || user.is_holding_item_of_type(keytype) return !keytype || user?.is_holding_item_of_type(keytype)
//BUCKLE HOOKS //BUCKLE HOOKS
/datum/component/riding/proc/restore_position(mob/living/buckled_mob) /datum/component/riding/proc/restore_position(mob/living/buckled_mob)
@@ -153,7 +153,7 @@
/datum/component/riding/proc/handle_ride(mob/user, direction) /datum/component/riding/proc/handle_ride(mob/user, direction)
var/atom/movable/AM = parent var/atom/movable/AM = parent
if(user.incapacitated()) if(user && user.incapacitated())
Unbuckle(user) Unbuckle(user)
return return
if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * vehicle_move_delay)) if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * vehicle_move_delay))
+104
View File
@@ -0,0 +1,104 @@
/**
* Observers voting on things through orbiting
*/
/datum/component/twitch_plays
/// Observers
var/list/mob/players = list()
/datum/component/twitch_plays/Initialize(...)
. = ..()
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, .proc/on_start_orbit)
RegisterSignal(parent, COMSIG_ATOM_ORBIT_END, .proc/on_end_orbit)
/datum/component/twitch_plays/Destroy(force, silent)
for(var/i in players)
DetachPlayer(i)
return ..()
/datum/component/twitch_plays/proc/on_start_orbit(datum/source, atom/movable/orbiter)
if(!isobserver(orbiter))
return
AttachPlayer(orbiter)
/datum/component/twitch_plays/proc/on_end_orbit(datum/source, atom/movable/orbiter)
if(!(orbiter in players))
return
DetachPlayer(orbiter)
/datum/component/twitch_plays/proc/AttachPlayer(mob/dead/observer)
players |= observer
RegisterSignal(observer, COMSIG_PARENT_QDELETING, .proc/on_end_orbit)
/datum/component/twitch_plays/proc/DetachPlayer(mob/dead/observer)
players -= observer
UnregisterSignal(observer, COMSIG_PARENT_QDELETING)
/// Simple movement one
/datum/component/twitch_plays/simple_movement
/// Movement votes by observer
var/list/votes = list()
/// Allow diagonals
var/allow_diagonal = FALSE
/datum/component/twitch_plays/simple_movement/Initialize(...)
. = ..()
if(. & COMPONENT_INCOMPATIBLE)
return
RegisterSignal(parent, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA, .proc/fetch_data)
/datum/component/twitch_plays/simple_movement/AttachPlayer(mob/dead/observer)
. = ..()
RegisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move)
/datum/component/twitch_plays/simple_movement/DetachPlayer(mob/dead/observer)
. = ..()
UnregisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE)
/datum/component/twitch_plays/simple_movement/proc/pre_move(datum/source, turf/newLoc)
if(get_dist(newLoc, parent) > 1) // they're trying to escape orbit
return
. = COMPONENT_MOVABLE_BLOCK_PRE_MOVE
var/dir = get_dir(parent, newLoc)
if(!dir)
return
if(allow_diagonal || !((dir - 1) & dir))
votes[source] = dir
else // pick one or the other
votes[source] = prob(50)? (dir & ~(dir - 1)) : (dir & (dir - 1))
/datum/component/twitch_plays/simple_movement/proc/fetch_data(datum/source, wipe_votes)
if(!votes.len)
return
var/list/total = list(TEXT_NORTH, TEXT_SOUTH, TEXT_EAST, TEXT_WEST)
for(var/i in votes)
total[num2text(votes[i])] += 1
. = text2num(pickweight(total, 0))
if(wipe_votes)
votes.len = 0
/datum/component/twitch_plays/simple_movement/auto
var/move_delay = 2
var/last_move = 0
/datum/component/twitch_plays/simple_movement/auto/Initialize(...)
if(!ismovable(parent))
return COMPONENT_INCOMPATIBLE
. = ..()
if(. & COMPONENT_INCOMPATIBLE)
return
START_PROCESSING(SSfastprocess, src)
/datum/component/twitch_plays/simple_movement/auto/Destroy(force, silent)
STOP_PROCESSING(SSfastprocess, src)
return ..()
/datum/component/twitch_plays/simple_movement/auto/process()
var/dir = fetch_data(null, TRUE)
if(!dir)
return
if(world.time < (last_move + move_delay))
return
last_move = world.time
step(parent, dir)
+1
View File
@@ -7,6 +7,7 @@
id = MARTIALART_SLEEPINGCARP id = MARTIALART_SLEEPINGCARP
allow_temp_override = FALSE allow_temp_override = FALSE
help_verb = /mob/living/carbon/human/proc/sleeping_carp_help help_verb = /mob/living/carbon/human/proc/sleeping_carp_help
block_parry_data = /datum/block_parry_data/sleeping_carp
pugilist = TRUE pugilist = TRUE
/datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
+122 -100
View File
@@ -325,10 +325,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Service Hallway" name = "Service Hallway"
icon_state = "hall_service" icon_state = "hall_service"
/area/hallway/secondary/civilian
name = "Civilian Wing"
icon_state = "hallFS"
//Command //Command
@@ -469,6 +465,11 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "yellow" icon_state = "yellow"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/arcade
name = "Arcade"
icon_state = "abandoned_g_den"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/fitness /area/crew_quarters/fitness
name = "Fitness Room" name = "Fitness Room"
icon_state = "fitness" icon_state = "fitness"
@@ -479,6 +480,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "fitness" icon_state = "fitness"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/fitness/pool
name = "Pool Area"
icon_state = "pool"
/area/crew_quarters/cafeteria /area/crew_quarters/cafeteria
name = "Cafeteria" name = "Cafeteria"
icon_state = "cafeteria" icon_state = "cafeteria"
@@ -765,6 +770,11 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "medbay3" icon_state = "medbay3"
ambientsounds = MEDICAL ambientsounds = MEDICAL
/area/medical/clinic
name = "Clinic"
icon_state = "medbay3"
ambientsounds = MEDICAL
/area/medical/abandoned /area/medical/abandoned
name = "Abandoned Medbay" name = "Abandoned Medbay"
icon_state = "medbay3" icon_state = "medbay3"
@@ -1036,10 +1046,19 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "janitor" icon_state = "janitor"
flags_1 = NONE flags_1 = NONE
/area/janitor/aux
name = "Auxiliary Custodial Closet"
icon_state = "janitor"
flags_1 = NONE
/area/hydroponics /area/hydroponics
name = "Hydroponics" name = "Hydroponics"
icon_state = "hydro" icon_state = "hydro"
/area/hydroponics/lobby
name = "Hydroponics Lobby"
icon_state = "hydro"
/area/hydroponics/garden /area/hydroponics/garden
name = "Garden" name = "Garden"
icon_state = "garden" icon_state = "garden"
@@ -1058,6 +1077,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Science Division" name = "Science Division"
icon_state = "toxlab" icon_state = "toxlab"
/area/science/observatory
name = "Research Observatory"
icon_state = "toxmisc"
/area/science/lab /area/science/lab
name = "Research and Development" name = "Research and Development"
icon_state = "toxlab" icon_state = "toxlab"
@@ -1186,6 +1209,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "storage" icon_state = "storage"
clockwork_warp_allowed = FALSE clockwork_warp_allowed = FALSE
/area/storage/emergency
name = "Emergency Storage"
icon_state = "emergencystorage"
/area/storage/emergency/starboard /area/storage/emergency/starboard
name = "Starboard Emergency Storage" name = "Starboard Emergency Storage"
icon_state = "emergencystorage" icon_state = "emergencystorage"
@@ -1395,100 +1422,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Telecommunications Satellite Lounge" name = "Telecommunications Satellite Lounge"
icon_state = "tcomsatlounge" icon_state = "tcomsatlounge"
/area/crew_quarters/fitness/pool
name = "Pool Area"
icon_state = "pool"
/area/crew_quarters/dorms/blue
name = "Blue Dorms"
icon_state = "Sleep"
nightshift_public_area = NIGHTSHIFT_AREA_NONE
/area/crew_quarters/dorms/purple
name = "Purple Dorms"
icon_state = "Sleep"
nightshift_public_area = NIGHTSHIFT_AREA_NONE
/area/crew_quarters/lounge/jazz
name = "Jazz Lounge"
icon_state = "yellow"
ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg')
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/fitness/recreation
name = "Recreation Area"
icon_state = "fitness"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/fitness/cogpool
name = "Pool"
icon_state = "fitness"
clockwork_warp_fail = "Pool's closed."
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/barbershop
name = "Barbershop"
icon_state = "blue"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/observatory
name = "Observatory"
icon_state = "Sleep"
//Engineering
/area/engine/teg_hot
name = "Hot Loop"
icon_state = "red"
/area/engine/teg_cold
name = "Cold Loop"
icon_state = "blue"
/area/engine/workshop
name = "Engineering Workshop"
icon_state = "engine"
/area/security/courtroom/jury
name = "Jury Room"
icon_state = "courtroom"
/area/quartermaster/miningdock/airless
name = "Mining Dock"
icon_state = "mining"
has_gravity = STANDARD_GRAVITY
valid_territory = FALSE
outdoors = TRUE
ambientsounds = SPACE
blob_allowed = FALSE //While part of the station, what good will it do you?
/area/quartermaster/miningdock/airless/no_grav
name = "Mining Dock"
icon_state = "mining"
dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT
power_light = FALSE
power_equip = FALSE
power_environ = FALSE
valid_territory = FALSE
outdoors = TRUE
ambientsounds = SPACE
blob_allowed = FALSE //While part of the station, what good will it do you?
/area/janitor/aux
name = "Auxiliary Custodial Closet"
icon_state = "janitor"
flags_1 = NONE
/area/hydroponics/lobby
name = "Hydroponics Lobby"
icon_state = "hydro"
//Storage
/area/storage/emergency/generic
name = "Emergency Storage"
icon_state = "emergencystorage"
//Construction //Construction
@@ -1545,10 +1478,99 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Storage Wing" name = "Storage Wing"
icon_state = "storage_wing" icon_state = "storage_wing"
//Routers //Areas that predominantly only apply to CogStation
/area/crew_quarters/dorms/blue
name = "Blue Dorms"
icon_state = "Sleep"
nightshift_public_area = NIGHTSHIFT_AREA_NONE
/area/crew_quarters/dorms/purple
name = "Purple Dorms"
icon_state = "Sleep"
nightshift_public_area = NIGHTSHIFT_AREA_NONE
/area/crew_quarters/lounge/jazz
name = "Jazz Lounge"
icon_state = "yellow"
ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg')
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/fitness/cogpool
name = "Pool"
icon_state = "fitness"
clockwork_warp_fail = "Pool's closed."
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/barbershop
name = "Barbershop"
icon_state = "blue"
nightshift_public_area = NIGHTSHIFT_AREA_RECREATION
/area/crew_quarters/observatory
name = "Observatory"
icon_state = "Sleep"
/area/hallway/secondary/civilian
name = "Civilian Wing"
icon_state = "hallFS"
/area/engine/atmos/aftair
name = "Aft Air Hookup"
icon_state = "atmos"
flags_1 = NONE
/area/engine/teg
name = "Thermo-Electric Generator"
icon_state = "engine"
/area/engine/teg/hotloop
name = "Hot Loop"
icon_state = "red"
/area/engine/teg/coldloop
name = "Cold Loop"
icon_state = "blue"
/area/engine/workshop
name = "Engineering Workshop"
icon_state = "engine"
/area/engine/substation
name = "Electrical Substation"
icon_state = "engine"
/area/security/courtroom/jury
name = "Jury Room"
icon_state = "courtroom"
/area/quartermaster/miningdock/airless
name = "Mining Dock"
icon_state = "mining"
has_gravity = STANDARD_GRAVITY
valid_territory = FALSE
outdoors = TRUE
ambientsounds = SPACE
blob_allowed = FALSE //While part of the station, what good will it do you?
/area/quartermaster/miningdock/airless/no_grav
name = "Mining Dock"
icon_state = "mining"
dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT
power_light = FALSE
power_equip = FALSE
power_environ = FALSE
valid_territory = FALSE
outdoors = TRUE
ambientsounds = SPACE
blob_allowed = FALSE //While part of the station, what good will it do you?
//Routers (currently exclusive to CogStation)
/area/router /area/router
name = "Router" name = "Routing Depot"
icon_state = "yellow" icon_state = "yellow"
ambientsounds = ENGINEERING ambientsounds = ENGINEERING
+44 -35
View File
@@ -18,7 +18,7 @@
var/mode = HEATER_MODE_STANDBY var/mode = HEATER_MODE_STANDBY
var/setMode = "auto" // Anything other than "heat" or "cool" is considered auto. var/setMode = "auto" // Anything other than "heat" or "cool" is considered auto.
var/targetTemperature = T20C var/targetTemperature = T20C
var/heatingPower = 40000 var/heatingPower = 10000
var/efficiency = 20000 var/efficiency = 20000
var/temperatureTolerance = 1 var/temperatureTolerance = 1
var/settableTemperatureMedian = 30 + T0C var/settableTemperatureMedian = 30 + T0C
@@ -74,46 +74,55 @@
if(cell && cell.charge > 0) if(cell && cell.charge > 0)
var/turf/L = loc var/turf/L = loc
if(!istype(L)) PerformHeating(L)
if(mode != HEATER_MODE_STANDBY)
mode = HEATER_MODE_STANDBY
update_icon()
return
var/datum/gas_mixture/env = L.return_air() for(var/direction in GLOB.alldirs)
L=get_step(src,direction)
if(!locate(/turf/closed) in L) // we don't want to heat walls and cause jank
PerformHeating(L)
var/newMode = HEATER_MODE_STANDBY
if(setMode != HEATER_MODE_COOL && env.return_temperature() < targetTemperature - temperatureTolerance)
newMode = HEATER_MODE_HEAT
else if(setMode != HEATER_MODE_HEAT && env.return_temperature() > targetTemperature + temperatureTolerance)
newMode = HEATER_MODE_COOL
if(mode != newMode)
mode = newMode
update_icon()
if(mode == HEATER_MODE_STANDBY)
return
var/heat_capacity = env.heat_capacity()
var/requiredPower = abs(env.return_temperature() - targetTemperature) * heat_capacity
requiredPower = min(requiredPower, heatingPower)
if(requiredPower < 1)
return
var/deltaTemperature = requiredPower / heat_capacity
if(mode == HEATER_MODE_COOL)
deltaTemperature *= -1
if(deltaTemperature)
env.set_temperature(env.return_temperature() + deltaTemperature)
air_update_turf()
cell.use(requiredPower / efficiency)
else else
on = FALSE on = FALSE
update_icon() update_icon()
return PROCESS_KILL return PROCESS_KILL
/obj/machinery/space_heater/proc/PerformHeating(turf/L)
if(!istype(L))
if(mode != HEATER_MODE_STANDBY)
mode = HEATER_MODE_STANDBY
update_icon()
return
var/datum/gas_mixture/env = L.return_air()
var/newMode = HEATER_MODE_STANDBY
if(setMode != HEATER_MODE_COOL && env.return_temperature() < targetTemperature - temperatureTolerance)
newMode = HEATER_MODE_HEAT
else if(setMode != HEATER_MODE_HEAT && env.return_temperature() > targetTemperature + temperatureTolerance)
newMode = HEATER_MODE_COOL
if(mode != newMode)
mode = newMode
update_icon()
if(mode == HEATER_MODE_STANDBY)
return
var/heat_capacity = env.heat_capacity()
var/requiredPower = abs(env.return_temperature() - targetTemperature) * heat_capacity
requiredPower = min(requiredPower, heatingPower)
if(requiredPower < 1)
return
var/deltaTemperature = requiredPower / heat_capacity
if(mode == HEATER_MODE_COOL)
deltaTemperature *= -1
if(deltaTemperature)
env.set_temperature(env.return_temperature() + deltaTemperature)
air_update_turf()
cell.use(requiredPower / efficiency)
/obj/machinery/space_heater/RefreshParts() /obj/machinery/space_heater/RefreshParts()
var/laser = 2 var/laser = 2
var/cap = 1 var/cap = 1
@@ -122,7 +131,7 @@
for(var/obj/item/stock_parts/capacitor/M in component_parts) for(var/obj/item/stock_parts/capacitor/M in component_parts)
cap += M.rating cap += M.rating
heatingPower = laser * 40000 heatingPower = laser * 10000
settableTemperatureRange = cap * 30 settableTemperatureRange = cap * 30
efficiency = (cap + 1) * 10000 efficiency = (cap + 1) * 10000
@@ -80,6 +80,17 @@
to_chat(user, "<span class='notice'>You insert the credits into [src].</span>") to_chat(user, "<span class='notice'>You insert the credits into [src].</span>")
update_icon() update_icon()
qdel(H) qdel(H)
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/ID = I
if(!ID.registered_account)
to_chat(user, "<span class='warning'>[ID] doesn't have a linked account to deposit into!</span>")
return
for(var/obj/item/holochip/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/stack/spacecash/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/coin/money in src.loc.contents)
ID.attackby(money, user)
/obj/item/holochip/AltClick(mob/user) /obj/item/holochip/AltClick(mob/user)
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
+14
View File
@@ -33,6 +33,20 @@
. = ..() . = ..()
update_desc() update_desc()
/obj/item/stack/spacecash/attackby(obj/item/W, mob/user, params)
. = ..()
if(istype(W, /obj/item/card/id))
var/obj/item/card/id/ID = W
if(!ID.registered_account)
to_chat(user, "<span class='warning'>[ID] doesn't have a linked account to deposit into!</span>")
return
for(var/obj/item/holochip/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/stack/spacecash/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/coin/money in src.loc.contents)
ID.attackby(money, user)
/obj/item/stack/spacecash/c1 /obj/item/stack/spacecash/c1
icon_state = "spacecash" icon_state = "spacecash"
singular_name = "one credit bill" singular_name = "one credit bill"
@@ -16,7 +16,7 @@
if(user.stat != DEAD) if(user.stat != DEAD)
user.emote("deathgasp") user.emote("deathgasp")
user.tod = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) user.tod = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time)
user.fakedeath("changeling") //play dead user.fakedeath("changeling", TRUE) //play dead
user.update_stat() user.update_stat()
addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE)
@@ -21,6 +21,7 @@
chemical_cost = 1000 chemical_cost = 1000
dna_cost = -1 dna_cost = -1
var/recharge_slowdown = 0
var/silent = FALSE var/silent = FALSE
var/weapon_type var/weapon_type
var/weapon_name_simple var/weapon_name_simple
@@ -37,6 +38,8 @@
if(!silent) if(!silent)
playsound(user, 'sound/effects/blobattack.ogg', 30, 1) playsound(user, 'sound/effects/blobattack.ogg', 30, 1)
user.visible_message("<span class='warning'>With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!</span>", "<span class='notice'>We assimilate the [weapon_name_simple] back into our body.</span>", "<span class='italics>You hear organic matter ripping and tearing!</span>") user.visible_message("<span class='warning'>With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!</span>", "<span class='notice'>We assimilate the [weapon_name_simple] back into our body.</span>", "<span class='italics>You hear organic matter ripping and tearing!</span>")
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
changeling.chem_recharge_slowdown -= recharge_slowdown
user.update_inv_hands() user.update_inv_hands()
return 1 return 1
@@ -57,6 +60,8 @@
user.put_in_hands(W) user.put_in_hands(W)
if(!silent) if(!silent)
playsound(user, 'sound/effects/blobattack.ogg', 30, 1) playsound(user, 'sound/effects/blobattack.ogg', 30, 1)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
changeling.chem_recharge_slowdown += recharge_slowdown
return W return W
/obj/effect/proc_holder/changeling/weapon/on_refund(mob/user) /obj/effect/proc_holder/changeling/weapon/on_refund(mob/user)
@@ -141,10 +146,11 @@
name = "Arm Blade" name = "Arm Blade"
desc = "We reform one of our arms into a deadly blade." desc = "We reform one of our arms into a deadly blade."
helptext = "We may retract our armblade in the same manner as we form it. Cannot be used while in lesser form. This ability is loud, and might cause our blood to react violently to heat." helptext = "We may retract our armblade in the same manner as we form it. Cannot be used while in lesser form. This ability is loud, and might cause our blood to react violently to heat."
chemical_cost = 10 chemical_cost = 5
dna_cost = 2 dna_cost = 2
loudness = 2 loudness = 2
req_human = 1 req_human = 1
recharge_slowdown = 0.6
weapon_type = /obj/item/melee/arm_blade weapon_type = /obj/item/melee/arm_blade
weapon_name_simple = "blade" weapon_name_simple = "blade"
action_icon = 'icons/mob/actions/actions_changeling.dmi' action_icon = 'icons/mob/actions/actions_changeling.dmi'
@@ -487,7 +493,7 @@
helmet_type = /obj/item/clothing/head/helmet/space/changeling helmet_type = /obj/item/clothing/head/helmet/space/changeling
suit_name_simple = "flesh shell" suit_name_simple = "flesh shell"
helmet_name_simple = "space helmet" helmet_name_simple = "space helmet"
recharge_slowdown = 0.5 recharge_slowdown = 0.6
blood_on_castoff = 1 blood_on_castoff = 1
/obj/item/clothing/suit/space/changeling /obj/item/clothing/suit/space/changeling
@@ -532,11 +538,11 @@
name = "Chitinous Armor" name = "Chitinous Armor"
desc = "We turn our skin into tough chitin to protect us from damage." desc = "We turn our skin into tough chitin to protect us from damage."
helptext = "Upkeep of the armor requires a constant expenditure of chemicals, resulting in a reduced chemical generation. The armor is strong against brute force, but does not provide much protection from lasers. Cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat." helptext = "Upkeep of the armor requires a constant expenditure of chemicals, resulting in a reduced chemical generation. The armor is strong against brute force, but does not provide much protection from lasers. Cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat."
chemical_cost = 20 chemical_cost = 10
dna_cost = 1 dna_cost = 1
loudness = 2 loudness = 2
req_human = 1 req_human = 1
recharge_slowdown = 0.5 recharge_slowdown = 0.6
action_icon = 'icons/mob/actions/actions_changeling.dmi' action_icon = 'icons/mob/actions/actions_changeling.dmi'
action_icon_state = "ling_armor" action_icon_state = "ling_armor"
action_background_icon_state = "bg_ling" action_background_icon_state = "bg_ling"
@@ -662,10 +668,11 @@
name = "Bone Gauntlets" name = "Bone Gauntlets"
desc = "We turn our hands into solid bone and chitin, sacrificing dexterity for raw strength." desc = "We turn our hands into solid bone and chitin, sacrificing dexterity for raw strength."
helptext = "These grotesque, bone-and-chitin gauntlets are remarkably good at beating victims senseless, and cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat." helptext = "These grotesque, bone-and-chitin gauntlets are remarkably good at beating victims senseless, and cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat."
chemical_cost = 10 // same cost as armblade because its a sidegrade (sacrifice utility for punching people violently) chemical_cost = 5 // same cost as armblade because its a sidegrade (sacrifice utility for punching people violently)
dna_cost = 2 dna_cost = 2
loudness = 2 loudness = 2
req_human = 1 req_human = 1
recharge_slowdown = 0.6
action_icon = 'icons/mob/actions/actions_changeling.dmi' action_icon = 'icons/mob/actions/actions_changeling.dmi'
action_icon_state = "ling_gauntlets" action_icon_state = "ling_gauntlets"
action_background_icon_state = "bg_ling" action_background_icon_state = "bg_ling"
@@ -2,8 +2,10 @@
name = "Codex Cicatrix" name = "Codex Cicatrix"
desc = "Book describing the secrets of the veil." desc = "Book describing the secrets of the veil."
icon = 'icons/obj/eldritch.dmi' icon = 'icons/obj/eldritch.dmi'
icon_state = "book" icon_state = "codex"
item_state = "book" item_state = "codex"
lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL w_class = WEIGHT_CLASS_SMALL
///Last person that touched this ///Last person that touched this
var/mob/living/last_user var/mob/living/last_user
-4
View File
@@ -68,10 +68,6 @@
R.reaction(turfing ? target : target.loc, TOUCH, 1, 0) R.reaction(turfing ? target : target.loc, TOUCH, 1, 0)
if(!turfing) if(!turfing)
R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1)) R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1))
overlay_fullscreen("flash", /obj/screen/fullscreen/flash) // To be more true to the hentai
clear_fullscreen("flash", 20)
G.last_orgasmed = world.time G.last_orgasmed = world.time
R.clear_reagents() R.clear_reagents()
+3 -1
View File
@@ -35,7 +35,7 @@
/datum/supply_pack/critter/parrot/generate() /datum/supply_pack/critter/parrot/generate()
. = ..() . = ..()
for(var/i in 1 to 5) for(var/i in 1 to 5)
switch(rand(1, 23)) switch(rand(1, 24))
if(1) if(1)
new /mob/living/simple_animal/parrot(.) new /mob/living/simple_animal/parrot(.)
if(2) if(2)
@@ -82,6 +82,8 @@
new /mob/living/simple_animal/parrot/hooded_too(.) new /mob/living/simple_animal/parrot/hooded_too(.)
if(23) if(23)
new /mob/living/simple_animal/parrot/pink_too(.) new /mob/living/simple_animal/parrot/pink_too(.)
if(24)
new /mob/living/simple_animal/parrot/eclectusr(.)
/datum/supply_pack/critter/butterfly /datum/supply_pack/critter/butterfly
+11
View File
@@ -397,6 +397,17 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
else else
to_chat(user, "<span class='warning'>You need one length of cable to attach a string to the coin!</span>") to_chat(user, "<span class='warning'>You need one length of cable to attach a string to the coin!</span>")
return return
else if(istype(W, /obj/item/card/id))
var/obj/item/card/id/ID = W
if(!ID.registered_account)
to_chat(user, "<span class='warning'>[ID] doesn't have a linked account to deposit into!</span>")
return
for(var/obj/item/holochip/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/stack/spacecash/money in src.loc.contents)
ID.attackby(money, user)
for(var/obj/item/coin/money in src.loc.contents)
ID.attackby(money, user)
else else
..() ..()
@@ -380,6 +380,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/Move(NewLoc, direct) /mob/dead/observer/Move(NewLoc, direct)
if (SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_MOVE, NewLoc) & COMPONENT_MOVABLE_BLOCK_PRE_MOVE)
return
if(updatedir) if(updatedir)
setDir(direct)//only update dir if we actually need it, so overlays won't spin on base sprites that don't have directions of their own setDir(direct)//only update dir if we actually need it, so overlays won't spin on base sprites that don't have directions of their own
var/oldloc = loc var/oldloc = loc
@@ -190,6 +190,11 @@
message = "chimes." message = "chimes."
sound = 'sound/machines/chime.ogg' sound = 'sound/machines/chime.ogg'
/datum/emote/sound/human/squeak
key = "squeak"
message = "squeaks."
sound = 'sound/effects/mousesqueek.ogg'
//rock paper scissors emote handling //rock paper scissors emote handling
/mob/living/carbon/human/proc/beginRockPaperScissors(var/chosen_move) /mob/living/carbon/human/proc/beginRockPaperScissors(var/chosen_move)
GLOB.rockpaperscissors_players[src] = list(chosen_move, ROCKPAPERSCISSORS_NOT_DECIDED) GLOB.rockpaperscissors_players[src] = list(chosen_move, ROCKPAPERSCISSORS_NOT_DECIDED)
@@ -7,7 +7,7 @@
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,WINGCOLOR,HAS_FLESH) species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,WINGCOLOR,HAS_FLESH)
mutantlungs = /obj/item/organ/lungs/slime mutantlungs = /obj/item/organ/lungs/slime
mutant_heart = /obj/item/organ/heart/slime mutant_heart = /obj/item/organ/heart/slime
mutant_bodyparts = list("mcolor" = "FFFFFF", "mam_tail" = "None", "mam_ears" = "None", "mam_snouts" = "None", "taur" = "None", "deco_wings" = "None") mutant_bodyparts = list("mcolor" = "FFFFFF", "mam_tail" = "None", "mam_ears" = "None", "mam_snouts" = "None", "taur" = "None", "deco_wings" = "None", "legs" = "Plantigrade")
inherent_traits = list(TRAIT_TOXINLOVER) inherent_traits = list(TRAIT_TOXINLOVER)
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime
gib_types = list(/obj/effect/gibspawner/slime, /obj/effect/gibspawner/slime/bodypartless) gib_types = list(/obj/effect/gibspawner/slime, /obj/effect/gibspawner/slime/bodypartless)
@@ -406,7 +406,7 @@
default_color = "00FFFF" default_color = "00FFFF"
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR) species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR)
inherent_traits = list(TRAIT_TOXINLOVER) inherent_traits = list(TRAIT_TOXINLOVER)
mutant_bodyparts = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF","mcolor3" = "FFFFFF", "mam_tail" = "None", "mam_ears" = "None", "mam_body_markings" = "Plain", "mam_snouts" = "None", "taur" = "None") mutant_bodyparts = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF","mcolor3" = "FFFFFF", "mam_tail" = "None", "mam_ears" = "None", "mam_body_markings" = "Plain", "mam_snouts" = "None", "taur" = "None", "legs" = "Plantigrade")
say_mod = "says" say_mod = "says"
hair_color = "mutcolor" hair_color = "mutcolor"
hair_alpha = 160 //a notch brighter so it blends better. hair_alpha = 160 //a notch brighter so it blends better.
@@ -1,3 +1,30 @@
/mob/living/silicon/verb/clear_custom_holoform()
set name = "Clear Custom Holoform"
set desc = "Clear your current custom holoform"
set category = "OOC"
if(!client.prefs)
to_chat(src, "<span class='boldwarning'>No preferences datum on your client, contact an admin/coder!</span>")
return
client.prefs.custom_holoform_icon = null
client.prefs.cached_holoform_icons = null
to_chat(src, "<span class='boldnotice'>Holoform removed.</span>")
/mob/living/silicon/verb/set_custom_holoform()
set name = "Set Custom Holoform"
set desc = "Set your custom holoform using your current preferences slot and a specified set of gear."
if(!client.prefs)
to_chat(src, "<span class='boldwarning'>No preferences datum on your client, contact an admin/coder!</span>")
return
if(client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
to_chat(src, "<span class='warning'>You are attempting to change custom holoforms too fast!</span>")
var/icon/new_holoform = user_interface_custom_holoform(client)
if(new_holoform)
client.prefs.custom_holoform_icon = new_holoform
client.prefs.cached_holoform_icons = null
client.prefs.last_custom_holoform = world.time
to_chat(src, "<span class='boldnotice'>Holoform set.</span>")
/mob/living/silicon/proc/attempt_set_custom_holoform() /mob/living/silicon/proc/attempt_set_custom_holoform()
if(!client.prefs) if(!client.prefs)
to_chat(src, "<span class='boldwarning'>No preferences datum on your client, contact an admin/coder!</span>") to_chat(src, "<span class='boldwarning'>No preferences datum on your client, contact an admin/coder!</span>")
@@ -9,6 +9,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
real_name = "Guardian Spirit" real_name = "Guardian Spirit"
desc = "A mysterious being that stands by its charge, ever vigilant." desc = "A mysterious being that stands by its charge, ever vigilant."
speak_emote = list("hisses") speak_emote = list("hisses")
rad_flags = RAD_NO_CONTAMINATE | RAD_PROTECT_CONTENTS
gender = NEUTER gender = NEUTER
mob_biotypes = NONE mob_biotypes = NONE
bubble_icon = "guardian" bubble_icon = "guardian"
@@ -1042,123 +1042,151 @@
icon_state = "kea-flap" icon_state = "kea-flap"
icon_living = "kea-flap" icon_living = "kea-flap"
icon_dead = "kea-dead" icon_dead = "kea-dead"
icon_sit = "kea_sit"
/mob/living/simple_animal/parrot/eclectusr
name = "Eclectus"
icon_state = "eclectusr-flap"
icon_living = "eclectusr-flap"
icon_dead = "eclectusr-dead"
icon_sit = "electusr_sit"
/mob/living/simple_animal/parrot/eclectus /mob/living/simple_animal/parrot/eclectus
name = "Eclectus" name = "Eclectus"
icon_state = "eclectus-flap" icon_state = "eclectus-flap"
icon_living = "eclectus-flap" icon_living = "eclectus-flap"
icon_dead = "eclectus-dead" icon_dead = "eclectus-dead"
icon_sit = "electus_sit"
/mob/living/simple_animal/parrot/eclectusf /mob/living/simple_animal/parrot/eclectusf
name = "Eclectus" name = "Eclectus"
icon_state = "eclectusf-flap" icon_state = "eclectusf-flap"
icon_living = "eclectusf-flap" icon_living = "eclectusf-flap"
icon_dead = "eclectusf-dead" icon_dead = "eclectusf-dead"
icon_sit = "electusf_sit"
/mob/living/simple_animal/parrot/greybird /mob/living/simple_animal/parrot/greybird
name = "Grey Bird" name = "Grey Bird"
icon_state = "agrey-flap" icon_state = "agrey-flap"
icon_living = "agrey-flap" icon_living = "agrey-flap"
icon_dead = "agrey-dead" icon_dead = "agrey-dead"
icon_sit = "agrey_sit"
/mob/living/simple_animal/parrot/blue_caique /mob/living/simple_animal/parrot/blue_caique
name = "Blue Caique " name = "Blue Caique "
icon_state = "bcaique-flap" icon_state = "bcaique-flap"
icon_living = "bcaique-flap" icon_living = "bcaique-flap"
icon_dead = "bcaique-dead" icon_dead = "bcaique-dead"
icon_sit = "bcaique_sit"
/mob/living/simple_animal/parrot/white_caique /mob/living/simple_animal/parrot/white_caique
name = "White caique" name = "White caique"
icon_state = "wcaique-flap" icon_state = "wcaique-flap"
icon_living = "wcaique-flap" icon_living = "wcaique-flap"
icon_dead = "wcaique-dead" icon_dead = "wcaique-dead"
icon_sit = "wcaique_sit"
/mob/living/simple_animal/parrot/green_budgerigar /mob/living/simple_animal/parrot/green_budgerigar
name = "Green Budgerigar" name = "Green Budgerigar"
icon_state = "gbudge-flap" icon_state = "gbudge-flap"
icon_living = "gbudge-flap" icon_living = "gbudge-flap"
icon_dead = "gbudge-dead" icon_dead = "gbudge-dead"
icon_sit = "gbudge_sit"
/mob/living/simple_animal/parrot/blue_Budgerigar /mob/living/simple_animal/parrot/blue_Budgerigar
name = "Blue Budgerigar" name = "Blue Budgerigar"
icon_state = "bbudge-flap" icon_state = "bbudge-flap"
icon_living = "bbudge-flap" icon_living = "bbudge-flap"
icon_dead = "bbudge-dead" icon_dead = "bbudge-dead"
icon_sit = "bbudge_sit"
/mob/living/simple_animal/parrot/bluegreen_Budgerigar /mob/living/simple_animal/parrot/bluegreen_Budgerigar
name = "Bluegreen Budgerigar" name = "Bluegreen Budgerigar"
icon_state = "bgbudge-flap" icon_state = "bgbudge-flap"
icon_living = "bgbudge-flap" icon_living = "bgbudge-flap"
icon_dead = "bgbudge-dead" icon_dead = "bgbudge-dead"
icon_sit = "bgbudge_sit"
/mob/living/simple_animal/parrot/commonblackbird /mob/living/simple_animal/parrot/commonblackbird
name = "Black Bird" name = "Black Bird"
icon_state = "commonblackbird" icon_state = "commonblackbird"
icon_living = "commonblackbird" icon_living = "commonblackbird"
icon_dead = "commonblackbird-dead" icon_dead = "commonblackbird-dead"
icon_sit = "commonblackbird_sit"
/mob/living/simple_animal/parrot/azuretit /mob/living/simple_animal/parrot/azuretit
name = "Azure Tit" name = "Azure Tit"
icon_state = "azuretit" icon_state = "azuretit"
icon_living = "azuretit" icon_living = "azuretit"
icon_dead = "azuretit-dead" icon_dead = "azuretit-dead"
icon_sit = "azuretit_sit"
/mob/living/simple_animal/parrot/europeanrobin /mob/living/simple_animal/parrot/europeanrobin
name = "European Robin" name = "European Robin"
icon_state = "europeanrobin" icon_state = "europeanrobin"
icon_living = "europeanrobin" icon_living = "europeanrobin"
icon_dead = "europeanrobin-dead" icon_dead = "europeanrobin-dead"
icon_sit = "europeanrobin_sit"
/mob/living/simple_animal/parrot/goldcrest /mob/living/simple_animal/parrot/goldcrest
name = "Goldcrest" name = "Goldcrest"
icon_state = "goldcrest" icon_state = "goldcrest"
icon_living = "goldcrest" icon_living = "goldcrest"
icon_dead = "goldcrest-dead" icon_dead = "goldcrest-dead"
icon_sit = "goldencrest_sit"
/mob/living/simple_animal/parrot/ringneckdove /mob/living/simple_animal/parrot/ringneckdove
name = "Ringneck Dove" name = "Ringneck Dove"
icon_state = "ringneckdove" icon_state = "ringneckdove"
icon_living = "ringneckdove" icon_living = "ringneckdove"
icon_dead = "ringneckdove-dead" icon_dead = "ringneckdove-dead"
icon_sit = "ringneckdove_sit"
/mob/living/simple_animal/parrot/cockatiel /mob/living/simple_animal/parrot/cockatiel
name = "Cockatiel" name = "Cockatiel"
icon_state = "tiel-flap" icon_state = "tiel-flap"
icon_living = "tiel-flap" icon_living = "tiel-flap"
icon_dead = "tiel-dead" icon_dead = "tiel-dead"
icon_sit = "tiel_sit"
/mob/living/simple_animal/parrot/white_cockatiel /mob/living/simple_animal/parrot/white_cockatiel
name = "White Cockatiel" name = "White Cockatiel"
icon_state = "wtiel-flap" icon_state = "wtiel-flap"
icon_living = "wtiel-flap" icon_living = "wtiel-flap"
icon_dead = "wtiel-dead" icon_dead = "wtiel-dead"
icon_sit = "wtiel_sit"
/mob/living/simple_animal/parrot/yellowish_cockatiel /mob/living/simple_animal/parrot/yellowish_cockatiel
name = "Yellowish Cockatiel" name = "Yellowish Cockatiel"
icon_state = "luttiel-flap" icon_state = "luttiel-flap"
icon_living = "luttiel-flap" icon_living = "luttiel-flap"
icon_dead = "luttiel-dead" icon_dead = "luttiel-dead"
icon_sit = "luttiel_sit"
/mob/living/simple_animal/parrot/grey_cockatiel /mob/living/simple_animal/parrot/grey_cockatiel
name = "Grey Cockatiel" name = "Grey Cockatiel"
icon_state = "blutiel-flap" icon_state = "blutiel-flap"
icon_living = "blutiel-flap" icon_living = "blutiel-flap"
icon_dead = "blutiel-dead" icon_dead = "blutiel-dead"
icon_sit = "blutiel_sit"
/mob/living/simple_animal/parrot/too /mob/living/simple_animal/parrot/too
name = "Too" name = "Too"
icon_state = "too-flap" icon_state = "too-flap"
icon_living = "too-flap" icon_living = "too-flap"
icon_dead = "too-dead" icon_dead = "too-dead"
icon_sit = "too_sit"
/mob/living/simple_animal/parrot/hooded_too /mob/living/simple_animal/parrot/hooded_too
name = "Utoo" name = "Utoo"
icon_state = "utoo-flap" icon_state = "utoo-flap"
icon_living = "utoo-flap" icon_living = "utoo-flap"
icon_dead = "utoo-dead" icon_dead = "utoo-dead"
icon_sit = "utoo_sit"
/mob/living/simple_animal/parrot/pink_too /mob/living/simple_animal/parrot/pink_too
name = "Mtoo" name = "Mtoo"
icon_state = "mtoo-flap" icon_state = "mtoo-flap"
icon_living = "mtoo-flap" icon_living = "mtoo-flap"
icon_dead = "mtoo-dead" icon_dead = "mtoo-dead"
icon_sit = "mtoo_sit"
+2 -2
View File
@@ -148,8 +148,8 @@ proc/get_top_level_mob(var/mob/S)
var/safety = 25 var/safety = 25
for(var/obj/structure/table/T in range(user, 1)) for(var/obj/structure/table/T in range(user, 1))
processing |= T processing |= T
for(var/i in processing) for(var/i = 1; i <= processing.len; ++i)
var/obj/structure/table/T = i var/obj/structure/table/T = processing[i]
if(safety-- <= 0) if(safety-- <= 0)
to_chat(user, "Table scan aborted early, some people might have not received the message (max 25)") to_chat(user, "Table scan aborted early, some people might have not received the message (max 25)")
break break
@@ -633,7 +633,7 @@
value = REAGENT_VALUE_RARE value = REAGENT_VALUE_RARE
/datum/reagent/medicine/sal_acid /datum/reagent/medicine/sal_acid
name = "Salicyclic Acid" name = "Salicylic Acid"
description = "Stimulates the healing of severe bruises. Extremely rapidly heals severe bruising and slowly heals minor ones. Overdose will worsen existing bruising." description = "Stimulates the healing of severe bruises. Extremely rapidly heals severe bruising and slowly heals minor ones. Overdose will worsen existing bruising."
reagent_state = LIQUID reagent_state = LIQUID
color = "#D2D2D2" color = "#D2D2D2"
@@ -155,7 +155,7 @@
required_reagents = list(/datum/reagent/medicine/pen_acid = 1, /datum/reagent/toxin/slimejelly = 1) required_reagents = list(/datum/reagent/medicine/pen_acid = 1, /datum/reagent/toxin/slimejelly = 1)
/datum/chemical_reaction/sal_acid /datum/chemical_reaction/sal_acid
name = "Salicyclic Acid" name = "Salicylic Acid"
id = /datum/reagent/medicine/sal_acid id = /datum/reagent/medicine/sal_acid
results = list(/datum/reagent/medicine/sal_acid = 5) results = list(/datum/reagent/medicine/sal_acid = 5)
required_reagents = list(/datum/reagent/sodium = 1, /datum/reagent/phenol = 1, /datum/reagent/carbon = 1, /datum/reagent/oxygen = 1, /datum/reagent/toxin/acid = 1) required_reagents = list(/datum/reagent/sodium = 1, /datum/reagent/phenol = 1, /datum/reagent/carbon = 1, /datum/reagent/oxygen = 1, /datum/reagent/toxin/acid = 1)
+21 -2
View File
@@ -18,14 +18,12 @@
. = ..() . = ..()
initialize_controller_action_type(/datum/action/vehicle/sealed/horn/clowncar, VEHICLE_CONTROL_DRIVE) initialize_controller_action_type(/datum/action/vehicle/sealed/horn/clowncar, VEHICLE_CONTROL_DRIVE)
/obj/vehicle/sealed/car/clowncar/driver_move(mob/user, direction) //Prevent it from moving onto space /obj/vehicle/sealed/car/clowncar/driver_move(mob/user, direction) //Prevent it from moving onto space
if(isspaceturf(get_step(src, direction))) if(isspaceturf(get_step(src, direction)))
return FALSE return FALSE
else else
return ..() return ..()
/obj/vehicle/sealed/car/clowncar/auto_assign_occupant_flags(mob/M) /obj/vehicle/sealed/car/clowncar/auto_assign_occupant_flags(mob/M)
if(ishuman(M)) if(ishuman(M))
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
@@ -138,3 +136,24 @@
/obj/vehicle/sealed/car/clowncar/proc/StopDroppingOil() /obj/vehicle/sealed/car/clowncar/proc/StopDroppingOil()
droppingoil = FALSE droppingoil = FALSE
/obj/vehicle/sealed/car/clowncar/twitch_plays
key_type = null
/obj/vehicle/sealed/car/clowncar/twitch_plays/Initialize()
. = ..()
AddComponent(/datum/component/twitch_plays/simple_movement)
START_PROCESSING(SSfastprocess, src)
GLOB.poi_list |= src
notify_ghosts("Twitch Plays: Clown Car")
/obj/vehicle/sealed/car/clowncar/twitch_plays/Destroy()
STOP_PROCESSING(SSfastprocess, src)
GLOB.poi_list -= src
return ..()
/obj/vehicle/sealed/car/clowncar/twitch_plays/process()
var/dir = SEND_SIGNAL(src, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA, TRUE)
if(!dir)
return
driver_move(null, dir)
+6 -4
View File
@@ -10,6 +10,7 @@
canmove = TRUE canmove = TRUE
density = FALSE //Thought I couldn't fix this one easily, phew density = FALSE //Thought I couldn't fix this one easily, phew
arms_required = 1 arms_required = 1
var/override_movespeed = FALSE
/obj/vehicle/ridden/wheelchair/Initialize() /obj/vehicle/ridden/wheelchair/Initialize()
. = ..() . = ..()
@@ -42,10 +43,11 @@
canmove = FALSE canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20)
return FALSE return FALSE
var/datum/component/riding/D = GetComponent(/datum/component/riding) if(!override_movespeed)
//1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the wheelchair that gets divided by how many arms they have var/datum/component/riding/D = GetComponent(/datum/component/riding)
//if that made no sense this simply makes the wheelchair speed change along with movement speed delay //1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the wheelchair that gets divided by how many arms they have
D.vehicle_move_delay = round((CONFIG_GET(number/movedelay/run_delay) * 4) / min(user.get_num_arms(), 2), world.tick_lag) //if that made no sense this simply makes the wheelchair speed change along with movement speed delay
D.vehicle_move_delay = round((CONFIG_GET(number/movedelay/run_delay) * 4) / min(user.get_num_arms(), 2), world.tick_lag)
return ..() return ..()
/obj/vehicle/ridden/wheelchair/Moved() /obj/vehicle/ridden/wheelchair/Moved()
+1
View File
@@ -14,6 +14,7 @@
/obj/belly /obj/belly
name = "belly" // Name of this location name = "belly" // Name of this location
desc = "It's a belly! You're in it!" // Flavor text description of inside sight/sound/smells/feels. desc = "It's a belly! You're in it!" // Flavor text description of inside sight/sound/smells/feels.
rad_flags = RAD_NO_CONTAMINATE | RAD_PROTECT_CONTENTS
var/vore_sound = "Gulp" // Sound when ingesting someone var/vore_sound = "Gulp" // Sound when ingesting someone
var/vore_verb = "ingest" // Verb for eating with this in messages var/vore_verb = "ingest" // Verb for eating with this in messages
var/release_sound = "Splatter" // Sound for letting someone out. var/release_sound = "Splatter" // Sound for letting someone out.
@@ -0,0 +1,4 @@
author: "Putnam3145"
delete-after: True
changes:
- balance: "Zeolites now only generate 1/5 the heat when reacting and don't require a catalyst."
@@ -0,0 +1,4 @@
author: "raspy-on-osu"
delete-after: True
changes:
- tweak: "space heater heating range and power"
@@ -0,0 +1,4 @@
author: "silicons"
delete-after: True
changes:
- balance: "changeling combat mutations rebalanced. most of them take chemicals to upkeep now."
@@ -0,0 +1,4 @@
author: "timothyteakettle"
delete-after: True
changes:
- rscadd: "avian/digitigrade legs have been added for slimes"
@@ -0,0 +1,4 @@
author: "DeltaFire15"
delete-after: True
changes:
- bugfix: "Changelings no longer double-deathgasp when activating the regen stasis ability while not dead."
@@ -0,0 +1,4 @@
author: "zeroisthebiggay"
delete-after: True
changes:
- imageadd: "cool codex cicatrix inhands"
@@ -0,0 +1,4 @@
author: "silicons"
delete-after: True
changes:
- rscadd: "Twitch Plays: Clown Car"
@@ -0,0 +1,4 @@
author: "raspy-on-osu"
delete-after: True
changes:
- spellcheck: "salicylic acid"
@@ -0,0 +1,4 @@
author: "keronshb"
delete-after: True
changes:
- bugfix: "Fixes the parry data for scarp"
@@ -0,0 +1,6 @@
author: "EmeraldSundisk"
delete-after: True
changes:
- rscadd: "Adds a few new area designations primarily for CogStation, incorporates them into said map"
- tweak: "Reorganizes some area designations for ease of use, along with renaming the central \"Router\" to \"Routing Depot\""
- bugfix: "Fixes an incorrectly designated area in CogStation"
@@ -0,0 +1,4 @@
author: "Xantholne"
delete-after: True
changes:
- bugfix: "Fixed new birds changing back to basic parrot when sitting"
@@ -0,0 +1,4 @@
author: "timothyteakettle"
delete-after: True
changes:
- rscadd: "re-adds the holoform verb for people who want to use it over going through the char list"
@@ -0,0 +1,4 @@
author: "timothyteakettle"
delete-after: True
changes:
- rscadd: "*squeak"
@@ -0,0 +1,4 @@
author: "SandPoot"
delete-after: True
changes:
- tweak: "You can attack a pile of money on the floor with your id to put it all in quickly."
@@ -0,0 +1,4 @@
author: "MrJWhit"
delete-after: True
changes:
- rscdel: "Removes the screen flashing on climax."
@@ -0,0 +1,4 @@
author: "MrJWhit"
delete-after: True
changes:
- tweak: "Small fixes on security on boxstation"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 KiB

After

Width:  |  Height:  |  Size: 414 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

@@ -593,7 +593,6 @@
id = /datum/reagent/fermi/zeolites id = /datum/reagent/fermi/zeolites
results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of gold to catalyze the reaction results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of gold to catalyze the reaction
required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
required_catalysts = list(/datum/reagent/gold = 5)
//FermiChem vars: //FermiChem vars:
OptimalTempMin = 500 OptimalTempMin = 500
OptimalTempMax = 750 OptimalTempMax = 750
@@ -604,7 +603,7 @@
//CatalystFact = 0 //CatalystFact = 0
CurveSharpT = 1.5 CurveSharpT = 1.5
CurveSharppH = 3 CurveSharppH = 3
ThermicConstant = 5 ThermicConstant = 1
HIonRelease = -0.15 HIonRelease = -0.15
RateUpLim = 4 RateUpLim = 4
PurityMin = 0.5 //Good luck! PurityMin = 0.5 //Good luck!
+1
View File
@@ -492,6 +492,7 @@
#include "code\datums\components\swarming.dm" #include "code\datums\components\swarming.dm"
#include "code\datums\components\tackle.dm" #include "code\datums\components\tackle.dm"
#include "code\datums\components\thermite.dm" #include "code\datums\components\thermite.dm"
#include "code\datums\components\twitch_plays.dm"
#include "code\datums\components\twohanded.dm" #include "code\datums\components\twohanded.dm"
#include "code\datums\components\uplink.dm" #include "code\datums\components\uplink.dm"
#include "code\datums\components\virtual_reality.dm" #include "code\datums\components\virtual_reality.dm"