@@ -198,7 +198,6 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aC" = (
|
||||
@@ -288,7 +287,6 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aN" = (
|
||||
@@ -307,7 +305,6 @@
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aP" = (
|
||||
/obj/structure/stone_tile,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aQ" = (
|
||||
@@ -382,7 +379,6 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aZ" = (
|
||||
@@ -405,7 +401,6 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bb" = (
|
||||
@@ -494,7 +489,6 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/storage/bag/plants/portaseeder,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bk" = (
|
||||
@@ -515,7 +509,6 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bm" = (
|
||||
@@ -575,7 +568,6 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"br" = (
|
||||
@@ -905,7 +897,6 @@
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"ci" = (
|
||||
@@ -1051,7 +1042,6 @@
|
||||
icon_state = "cracked_slab1";
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"cB" = (
|
||||
@@ -1485,26 +1475,6 @@
|
||||
/obj/structure/stone_tile,
|
||||
/turf/closed/mineral/volcanic,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dG" = (
|
||||
/obj/structure/stone_tile/slab,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dH" = (
|
||||
/obj/structure/stone_tile/block/cracked,
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dI" = (
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -1627,7 +1597,7 @@ aO
|
||||
bl
|
||||
bx
|
||||
bD
|
||||
dG
|
||||
bS
|
||||
de
|
||||
bV
|
||||
dg
|
||||
@@ -1655,7 +1625,7 @@ ci
|
||||
bA
|
||||
ct
|
||||
bN
|
||||
dI
|
||||
bL
|
||||
cI
|
||||
ah
|
||||
ah
|
||||
@@ -1762,7 +1732,7 @@ ak
|
||||
bP
|
||||
bL
|
||||
bX
|
||||
dH
|
||||
dh
|
||||
do
|
||||
du
|
||||
dz
|
||||
|
||||
@@ -3907,4 +3907,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -6621,4 +6621,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -112,40 +112,40 @@
|
||||
id = "onehalf_drone1ext";
|
||||
name = "mining drone bay blast door"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
dir = 1;
|
||||
icon_state = "warnplate"
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"at" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "onehalf_drone2ext";
|
||||
name = "mining drone bay blast door"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
dir = 1;
|
||||
icon_state = "warnplate"
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"au" = (
|
||||
/obj/machinery/door/poddoor/preopen{
|
||||
id = "onehalf_drone3ext";
|
||||
name = "mining drone bay blast door"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
dir = 1;
|
||||
icon_state = "warnplate"
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"av" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "onehalf_drone4ext";
|
||||
name = "mining drone bay blast door"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
dir = 1;
|
||||
icon_state = "warnplate"
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"aw" = (
|
||||
/obj/structure/lattice,
|
||||
@@ -208,10 +208,10 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"aG" = (
|
||||
/turf/open/floor/plating/airless{
|
||||
dir = 1;
|
||||
icon_state = "warnplate"
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/onehalf/drone_bay)
|
||||
"aH" = (
|
||||
/obj/item/stack/rods,
|
||||
|
||||
+2
-2
@@ -10,10 +10,10 @@
|
||||
#include "map_files\Deltastation\DeltaStation2.dmm"
|
||||
#include "map_files\MetaStation\MetaStation.dmm"
|
||||
#include "map_files\OmegaStation\OmegaStation.dmm"
|
||||
// #include "map_files\PubbyStation\PubbyStation.dmm"
|
||||
#include "map_files\PubbyStation\PubbyStation.dmm"
|
||||
#include "map_files\BoxStation\BoxStation.dmm"
|
||||
|
||||
#ifdef TRAVISBUILDING
|
||||
#include "templates.dm"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1310
-512
File diff suppressed because it is too large
Load Diff
@@ -4,5 +4,5 @@
|
||||
"map_file": "MetaStation.dmm",
|
||||
"minetype": "lavaland",
|
||||
"transition_config": "default",
|
||||
"allow_custom_shuttles": "yes"
|
||||
}
|
||||
"allow_custom_shuttles": "yes"
|
||||
}
|
||||
|
||||
+245
-563
@@ -1,591 +1,273 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"aa" = (
|
||||
"a" = (
|
||||
/turf/closed/wall/mineral/titanium/overspace,
|
||||
/area/shuttle/supply)
|
||||
"b" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"c" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"d" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"e" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"f" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"g" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"h" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 9;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"i" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"j" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 10;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"k" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 6;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"l" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "QMLoaddoor2";
|
||||
name = "supply dock loading door"
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"m" = (
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"n" = (
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"o" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Supply Shuttle Airlock";
|
||||
req_access_txt = "31"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"p" = (
|
||||
/obj/machinery/button/door{
|
||||
dir = 2;
|
||||
id = "QMLoaddoor2";
|
||||
name = "Loading Doors";
|
||||
pixel_x = 24;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "QMLoaddoor";
|
||||
name = "Loading Doors";
|
||||
pixel_x = 24;
|
||||
pixel_y = -8
|
||||
},
|
||||
/obj/machinery/conveyor_switch/oneway{
|
||||
id = "cargoshuttle"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"q" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Supply Shuttle Airlock";
|
||||
req_access_txt = "31"
|
||||
},
|
||||
/obj/docking_port/mobile/supply{
|
||||
dwidth = 3;
|
||||
width = 10;
|
||||
timid = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"r" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "QMLoaddoor";
|
||||
name = "supply dock loading door"
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"s" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/shuttle/supply)
|
||||
"t" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"u" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/supply)
|
||||
"v" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"w" = (
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"ab" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"ac" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"ad" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/scalpel,
|
||||
/obj/item/retractor{
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/hemostat,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ae" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/cautery,
|
||||
/obj/item/surgicaldrill,
|
||||
/obj/item/circular_saw{
|
||||
pixel_y = 9
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"af" = (
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ag" = (
|
||||
/obj/structure/shuttle/engine/propulsion/right{
|
||||
dir = 4
|
||||
},
|
||||
"x" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst/left,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"ah" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/shuttle/escape)
|
||||
"ai" = (
|
||||
/obj/machinery/computer/emergency_shuttle,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"aj" = (
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"ak" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-22"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"al" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"am" = (
|
||||
/obj/structure/chair,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"an" = (
|
||||
/obj/structure/table/optable,
|
||||
/obj/item/surgical_drapes,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ao" = (
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ap" = (
|
||||
/obj/structure/shuttle/engine/propulsion{
|
||||
dir = 4
|
||||
},
|
||||
/area/shuttle/supply)
|
||||
"y" = (
|
||||
/obj/structure/shuttle/engine/propulsion,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"aq" = (
|
||||
/obj/machinery/computer/communications,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"ar" = (
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"as" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
name = "bridge door";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"at" = (
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"au" = (
|
||||
/obj/structure/shuttle/engine/propulsion/left{
|
||||
dir = 4
|
||||
},
|
||||
/area/shuttle/supply)
|
||||
"z" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst/right,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"av" = (
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"aw" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"ax" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/recharger{
|
||||
active_power_usage = 0;
|
||||
idle_power_usage = 0;
|
||||
pixel_y = 4;
|
||||
use_power = 0
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"ay" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/handcuffs,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"az" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
name = "security airlock";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aA" = (
|
||||
/obj/machinery/door/airlock/glass,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aB" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aC" = (
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aD" = (
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aE" = (
|
||||
/obj/structure/chair{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aF" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aG" = (
|
||||
/obj/machinery/door/airlock/titanium,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aH" = (
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/food/snacks/boiledspaghetti{
|
||||
name = "pasghetti";
|
||||
pixel_x = 4;
|
||||
pixel_y = 7
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aJ" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aK" = (
|
||||
/obj/machinery/door/airlock/titanium,
|
||||
/obj/docking_port/mobile/emergency{
|
||||
dheight = 0;
|
||||
/area/shuttle/supply)
|
||||
"A" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
dwidth = 6;
|
||||
height = 18;
|
||||
port_direction = 4;
|
||||
width = 14;
|
||||
timid = 1;
|
||||
name = "Birdboat emergency escape shuttle"
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aL" = (
|
||||
/obj/structure/table,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aM" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aN" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aO" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aP" = (
|
||||
/obj/structure/chair,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1;
|
||||
pixel_y = 2
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aQ" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = -27
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aR" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/fire{
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/storage/firstaid/toxin,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aS" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aT" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aU" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/brute{
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/storage/firstaid/brute,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"B" = (
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aV" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aW" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aX" = (
|
||||
/obj/machinery/sleeper{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aY" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/defibrillator/loaded,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
aa
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
aa
|
||||
aa
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
w
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
ah
|
||||
aq
|
||||
ak
|
||||
ac
|
||||
aB
|
||||
aH
|
||||
aH
|
||||
aH
|
||||
aB
|
||||
ah
|
||||
ab
|
||||
aa
|
||||
b
|
||||
e
|
||||
g
|
||||
e
|
||||
m
|
||||
B
|
||||
m
|
||||
g
|
||||
b
|
||||
x
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
ai
|
||||
ar
|
||||
aj
|
||||
as
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
b
|
||||
f
|
||||
g
|
||||
f
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
aa
|
||||
ac
|
||||
aj
|
||||
aj
|
||||
av
|
||||
ab
|
||||
aD
|
||||
aD
|
||||
aL
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
b
|
||||
A
|
||||
g
|
||||
f
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
aa
|
||||
ac
|
||||
aj
|
||||
aj
|
||||
aw
|
||||
ab
|
||||
aE
|
||||
aE
|
||||
aM
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
b
|
||||
f
|
||||
h
|
||||
j
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
ak
|
||||
aj
|
||||
ak
|
||||
ab
|
||||
aF
|
||||
aI
|
||||
aL
|
||||
aC
|
||||
aC
|
||||
aT
|
||||
ah
|
||||
ab
|
||||
b
|
||||
f
|
||||
i
|
||||
k
|
||||
n
|
||||
p
|
||||
n
|
||||
g
|
||||
b
|
||||
z
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
ab
|
||||
as
|
||||
ac
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aB
|
||||
ab
|
||||
b
|
||||
b
|
||||
b
|
||||
l
|
||||
o
|
||||
b
|
||||
q
|
||||
r
|
||||
b
|
||||
w
|
||||
"}
|
||||
(8,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
at
|
||||
ac
|
||||
aB
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aV
|
||||
ab
|
||||
"}
|
||||
(9,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
at
|
||||
az
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(10,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
am
|
||||
at
|
||||
at
|
||||
ac
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(11,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
ax
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(12,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
ay
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aO
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aB
|
||||
ab
|
||||
"}
|
||||
(13,1,1) = {"
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ah
|
||||
aC
|
||||
aC
|
||||
ah
|
||||
ab
|
||||
aA
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(14,1,1) = {"
|
||||
ab
|
||||
ad
|
||||
an
|
||||
af
|
||||
af
|
||||
aA
|
||||
aC
|
||||
aC
|
||||
aA
|
||||
aQ
|
||||
af
|
||||
af
|
||||
aX
|
||||
ab
|
||||
"}
|
||||
(15,1,1) = {"
|
||||
ab
|
||||
ae
|
||||
af
|
||||
af
|
||||
af
|
||||
aA
|
||||
aC
|
||||
aC
|
||||
aA
|
||||
af
|
||||
af
|
||||
af
|
||||
af
|
||||
ab
|
||||
"}
|
||||
(16,1,1) = {"
|
||||
ab
|
||||
af
|
||||
ao
|
||||
af
|
||||
ab
|
||||
ab
|
||||
aG
|
||||
aG
|
||||
ab
|
||||
ab
|
||||
aR
|
||||
aU
|
||||
aY
|
||||
ab
|
||||
"}
|
||||
(17,1,1) = {"
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
aC
|
||||
aJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(18,1,1) = {"
|
||||
ab
|
||||
ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
ab
|
||||
aG
|
||||
aK
|
||||
ab
|
||||
ab
|
||||
ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
"}
|
||||
@@ -587,4 +587,4 @@ ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -2073,4 +2073,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -1662,4 +1662,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -638,4 +638,4 @@ ab
|
||||
ab
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -170,4 +170,4 @@ d
|
||||
m
|
||||
d
|
||||
c
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -373,6 +373,10 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/abandoned)
|
||||
"bu" = (
|
||||
/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -1148,7 +1152,7 @@ aa
|
||||
aC
|
||||
ax
|
||||
aC
|
||||
bb
|
||||
bu
|
||||
aJ
|
||||
aj
|
||||
aj
|
||||
|
||||
@@ -722,11 +722,12 @@
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/device/camera,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"bs" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/device/camera,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
@@ -734,6 +735,8 @@
|
||||
/obj/structure/light_construct{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/folder/blue,
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"bt" = (
|
||||
@@ -1162,13 +1165,15 @@
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"cg" = (
|
||||
/obj/structure/table,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/item/device/megaphone,
|
||||
/obj/structure/light_construct,
|
||||
/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{
|
||||
x_offset = -3;
|
||||
y_offset = -7
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"ch" = (
|
||||
@@ -1765,6 +1770,38 @@
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"dk" = (
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/abandoned)
|
||||
"dl" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/structure/chair/office/light,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/abandoned)
|
||||
"dm" = (
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/device/megaphone,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -2130,10 +2167,10 @@ aR
|
||||
bc
|
||||
ac
|
||||
br
|
||||
bC
|
||||
aL
|
||||
bZ
|
||||
bx
|
||||
aL
|
||||
bx
|
||||
dm
|
||||
ac
|
||||
cA
|
||||
cN
|
||||
@@ -2147,9 +2184,9 @@ ae
|
||||
ac
|
||||
ac
|
||||
bs
|
||||
ax
|
||||
dk
|
||||
aL
|
||||
bp
|
||||
dl
|
||||
cg
|
||||
ac
|
||||
ac
|
||||
|
||||
@@ -35,5 +35,4 @@ SUBSYSTEM_DEF(time_track)
|
||||
last_tick_realtime = current_realtime
|
||||
last_tick_byond_time = current_byondtime
|
||||
last_tick_tickcount = current_tickcount
|
||||
|
||||
|
||||
SSblackbox.add_details("time_dilation_current", time_dilation_current)
|
||||
@@ -1,38 +1,39 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Choking
|
||||
|
||||
Very very noticable.
|
||||
Lowers resistance.
|
||||
Decreases stage speed.
|
||||
Decreases transmittablity tremendously.
|
||||
Moderate Level.
|
||||
|
||||
Bonus
|
||||
Inflicts spikes of oxyloss
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/choking
|
||||
|
||||
name = "Choking"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Choking
|
||||
|
||||
Very very noticable.
|
||||
Lowers resistance.
|
||||
Decreases stage speed.
|
||||
Decreases transmittablity tremendously.
|
||||
Moderate Level.
|
||||
|
||||
Bonus
|
||||
Inflicts spikes of oxyloss
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/choking
|
||||
|
||||
name = "Choking"
|
||||
desc = "The virus causes inflammation of the host's air conduits, leading to intermittent choking."
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -4
|
||||
level = 3
|
||||
severity = 3
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -4
|
||||
level = 3
|
||||
severity = 3
|
||||
base_message_chance = 15
|
||||
symptom_delay_min = 10
|
||||
symptom_delay_max = 30
|
||||
threshold_desc = "<b>Stage Speed 8:</b> Causes choking more frequently.<br>\
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
|
||||
/datum/symptom/choking/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stage_rate"] >= 8)
|
||||
symptom_delay_min = 7
|
||||
symptom_delay_max = 24
|
||||
@@ -46,11 +47,11 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
if(prob(base_message_chance) && !suppress_warning)
|
||||
to_chat(M, "<span class='warning'>[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]</span>")
|
||||
to_chat(M, "<span class='warning'>[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]</span>")
|
||||
if(3, 4)
|
||||
if(!suppress_warning)
|
||||
to_chat(M, "<span class='warning'>[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]</span>")
|
||||
else
|
||||
else
|
||||
to_chat(M, "<span class='warning'>You feel very [pick("dizzy","woozy","faint")].</span>") //fake bloodloss messages
|
||||
Choke_stage_3_4(M, A)
|
||||
M.emote("gasp")
|
||||
@@ -58,49 +59,50 @@ Bonus
|
||||
to_chat(M, "<span class='userdanger'>[pick("You're choking!", "You can't breathe!")]</span>")
|
||||
Choke(M, A)
|
||||
M.emote("gasp")
|
||||
|
||||
/datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A)
|
||||
M.adjustOxyLoss(rand(6,13))
|
||||
return 1
|
||||
|
||||
/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A)
|
||||
return 1
|
||||
|
||||
/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A)
|
||||
M.adjustOxyLoss(rand(10,18))
|
||||
return 1
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Asphyxiation
|
||||
|
||||
Very very noticable.
|
||||
Decreases stage speed.
|
||||
Decreases transmittablity.
|
||||
|
||||
Bonus
|
||||
Inflicts large spikes of oxyloss
|
||||
Introduces Asphyxiating drugs to the system
|
||||
Causes cardiac arrest on dying victims.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/asphyxiation
|
||||
|
||||
name = "Acute respiratory distress syndrome"
|
||||
return 1
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Asphyxiation
|
||||
|
||||
Very very noticable.
|
||||
Decreases stage speed.
|
||||
Decreases transmittablity.
|
||||
|
||||
Bonus
|
||||
Inflicts large spikes of oxyloss
|
||||
Introduces Asphyxiating drugs to the system
|
||||
Causes cardiac arrest on dying victims.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/asphyxiation
|
||||
|
||||
name = "Acute respiratory distress syndrome"
|
||||
desc = "The virus causes shrinking of the host's lungs, causing severe asphyxiation. May also lead to heart attacks."
|
||||
stealth = -2
|
||||
resistance = -0
|
||||
stage_speed = -1
|
||||
transmittable = -2
|
||||
level = 7
|
||||
severity = 3
|
||||
stealth = -2
|
||||
resistance = -0
|
||||
stage_speed = -1
|
||||
transmittable = -2
|
||||
level = 7
|
||||
severity = 3
|
||||
base_message_chance = 15
|
||||
symptom_delay_min = 14
|
||||
symptom_delay_max = 30
|
||||
var/paralysis = FALSE
|
||||
|
||||
|
||||
/datum/symptom/asphyxiation/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stage_rate"] >= 8)
|
||||
paralysis = TRUE
|
||||
if(A.properties["transmission"] >= 8)
|
||||
@@ -122,22 +124,22 @@ Bonus
|
||||
if(M.getOxyLoss() >= 120)
|
||||
M.visible_message("<span class='warning'>[M] stops breathing, as if their lungs have totally collapsed!</span>")
|
||||
Asphyxiate_death(M, A)
|
||||
return
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A)
|
||||
return
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A)
|
||||
var/get_damage = rand(10,15) * power
|
||||
M.adjustOxyLoss(get_damage)
|
||||
return 1
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A)
|
||||
M.adjustOxyLoss(get_damage)
|
||||
return 1
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A)
|
||||
var/get_damage = rand(15,21) * power
|
||||
M.adjustOxyLoss(get_damage)
|
||||
M.adjustOxyLoss(get_damage)
|
||||
if(paralysis)
|
||||
M.reagents.add_reagent_list(list("pancuronium" = 3, "sodium_thiopental" = 3))
|
||||
return 1
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A)
|
||||
return 1
|
||||
|
||||
/datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A)
|
||||
var/get_damage = rand(25,35) * power
|
||||
M.adjustOxyLoss(get_damage)
|
||||
M.adjustBrainLoss(get_damage/2)
|
||||
return 1
|
||||
M.adjustOxyLoss(get_damage)
|
||||
M.adjustBrainLoss(get_damage/2)
|
||||
return 1
|
||||
|
||||
@@ -34,7 +34,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/confusion/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 6)
|
||||
brain_damage = TRUE
|
||||
if(A.properties["transmittable"] >= 6)
|
||||
|
||||
@@ -36,7 +36,8 @@ BONUS
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/cough/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
suppress_warning = TRUE
|
||||
if(A.spread_flags &= AIRBORNE) //infect bystanders
|
||||
|
||||
@@ -32,7 +32,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/deafness/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["resistance"] >= 9) //permanent deafness
|
||||
|
||||
@@ -1,37 +1,38 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Dizziness
|
||||
|
||||
Hidden.
|
||||
Lowers resistance considerably.
|
||||
Decreases stage speed.
|
||||
Reduced transmittability
|
||||
Intense Level.
|
||||
|
||||
Bonus
|
||||
Shakes the affected mob's screen for short periods.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/dizzy // Not the egg
|
||||
|
||||
name = "Dizziness"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Dizziness
|
||||
|
||||
Hidden.
|
||||
Lowers resistance considerably.
|
||||
Decreases stage speed.
|
||||
Reduced transmittability
|
||||
Intense Level.
|
||||
|
||||
Bonus
|
||||
Shakes the affected mob's screen for short periods.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/dizzy // Not the egg
|
||||
|
||||
name = "Dizziness"
|
||||
desc = "The virus causes inflammation of the vestibular system, leading to bouts of dizziness."
|
||||
resistance = -2
|
||||
stage_speed = -3
|
||||
transmittable = -1
|
||||
level = 4
|
||||
severity = 2
|
||||
resistance = -2
|
||||
stage_speed = -3
|
||||
transmittable = -1
|
||||
level = 4
|
||||
severity = 2
|
||||
base_message_chance = 50
|
||||
symptom_delay_min = 15
|
||||
symptom_delay_max = 40
|
||||
threshold_desc = "<b>Transmission 6:</b> Also causes druggy vision.<br>\
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
|
||||
/datum/symptom/dizzy/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["transmittable"] >= 6) //druggy
|
||||
@@ -44,9 +45,9 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
if(prob(base_message_chance) && !suppress_warning)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel dizzy.", "Your head spins.")]</span>")
|
||||
to_chat(M, "<span class='warning'>[pick("You feel dizzy.", "Your head spins.")]</span>")
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>A wave of dizziness washes over you!</span>")
|
||||
M.Dizzy(5)
|
||||
if(power >= 2)
|
||||
M.set_drugginess(5)
|
||||
M.set_drugginess(5)
|
||||
|
||||
@@ -1,44 +1,45 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Fever
|
||||
|
||||
No change to hidden.
|
||||
Increases resistance.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low level.
|
||||
|
||||
Bonus
|
||||
Heats up your body.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/fever
|
||||
name = "Fever"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Fever
|
||||
|
||||
No change to hidden.
|
||||
Increases resistance.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low level.
|
||||
|
||||
Bonus
|
||||
Heats up your body.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/fever
|
||||
name = "Fever"
|
||||
desc = "The virus causes a febrile response from the host, raising its body temperature."
|
||||
stealth = 0
|
||||
resistance = 3
|
||||
stage_speed = 3
|
||||
transmittable = 2
|
||||
level = 2
|
||||
severity = 2
|
||||
stealth = 0
|
||||
resistance = 3
|
||||
stage_speed = 3
|
||||
transmittable = 2
|
||||
level = 2
|
||||
severity = 2
|
||||
base_message_chance = 20
|
||||
symptom_delay_min = 10
|
||||
symptom_delay_max = 30
|
||||
var/unsafe = FALSE //over the heat threshold
|
||||
threshold_desc = "<b>Resistance 5:</b> Increases fever intensity, fever can overheat and harm the host.<br>\
|
||||
<b>Resistance 10:</b> Further increases fever intensity."
|
||||
|
||||
|
||||
/datum/symptom/fever/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 5) //dangerous fever
|
||||
power = 1.5
|
||||
unsafe = TRUE
|
||||
if(A.properties["resistance"] >= 10)
|
||||
power = 2.5
|
||||
|
||||
|
||||
/datum/symptom/fever/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -49,11 +50,11 @@ Bonus
|
||||
to_chat(M, "<span class='userdanger'>[pick("You feel too hot.", "You feel like your blood is boiling.")]</span>")
|
||||
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT || unsafe)
|
||||
Heat(M, A)
|
||||
|
||||
/datum/symptom/fever/proc/Heat(mob/living/M, datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/fever/proc/Heat(mob/living/M, datum/disease/advance/A)
|
||||
var/get_heat = 6 * power
|
||||
if(!unsafe)
|
||||
M.bodytemperature = min(M.bodytemperature + (get_heat * A.stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
|
||||
else
|
||||
M.bodytemperature += (get_heat * A.stage)
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -35,7 +35,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/fire/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stage_rate"] >= 4)
|
||||
power = 1.5
|
||||
if(A.properties["stage_rate"] >= 8)
|
||||
@@ -116,7 +117,8 @@ Bonus
|
||||
<b>Transmission 8:</b> Additionally synthesizes chlorine trifluoride and napalm inside the host."
|
||||
|
||||
/datum/symptom/alkali/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 9) //intense but sporadic effect
|
||||
power = 2
|
||||
symptom_delay_min = 50
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Necrotizing Fasciitis (AKA Flesh-Eating Disease)
|
||||
|
||||
Very very noticable.
|
||||
Lowers resistance tremendously.
|
||||
No changes to stage speed.
|
||||
Decreases transmittablity temrendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Deals brute damage over time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/flesh_eating
|
||||
|
||||
name = "Necrotizing Fasciitis"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Necrotizing Fasciitis (AKA Flesh-Eating Disease)
|
||||
|
||||
Very very noticable.
|
||||
Lowers resistance tremendously.
|
||||
No changes to stage speed.
|
||||
Decreases transmittablity temrendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Deals brute damage over time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/flesh_eating
|
||||
|
||||
name = "Necrotizing Fasciitis"
|
||||
desc = "The virus aggressively attacks body cells, necrotizing tissues and organs."
|
||||
stealth = -3
|
||||
resistance = -4
|
||||
stage_speed = 0
|
||||
transmittable = -4
|
||||
level = 6
|
||||
severity = 5
|
||||
stealth = -3
|
||||
resistance = -4
|
||||
stage_speed = 0
|
||||
transmittable = -4
|
||||
level = 6
|
||||
severity = 5
|
||||
base_message_chance = 50
|
||||
symptom_delay_min = 15
|
||||
symptom_delay_max = 60
|
||||
@@ -32,9 +32,10 @@ Bonus
|
||||
var/pain = FALSE
|
||||
threshold_desc = "<b>Resistance 7:</b> Host will bleed profusely during necrosis.<br>\
|
||||
<b>Transmission 8:</b> Causes extreme pain to the host, weakening it."
|
||||
|
||||
|
||||
/datum/symptom/flesh_eating/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 7) //extra bleeding
|
||||
bleed = TRUE
|
||||
if(A.properties["transmittable"] >= 8) //extra stamina damage
|
||||
@@ -47,49 +48,49 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(2,3)
|
||||
if(prob(base_message_chance))
|
||||
to_chat(M, "<span class='warning'>[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]</span>")
|
||||
to_chat(M, "<span class='warning'>[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]</span>")
|
||||
if(4,5)
|
||||
to_chat(M, "<span class='userdanger'>[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]</span>")
|
||||
Flesheat(M, A)
|
||||
|
||||
/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A)
|
||||
var/get_damage = rand(15,25) * power
|
||||
M.adjustBruteLoss(get_damage)
|
||||
M.adjustBruteLoss(get_damage)
|
||||
if(pain)
|
||||
M.adjustStaminaLoss(get_damage)
|
||||
if(bleed)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.bleed_rate += 5 * power
|
||||
return 1
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Autophagocytosis (AKA Programmed mass cell death)
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance.
|
||||
Fast stage speed.
|
||||
Decreases transmittablity.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Deals brute damage over time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/flesh_death
|
||||
|
||||
name = "Autophagocytosis Necrosis"
|
||||
return 1
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Autophagocytosis (AKA Programmed mass cell death)
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance.
|
||||
Fast stage speed.
|
||||
Decreases transmittablity.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Deals brute damage over time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/flesh_death
|
||||
|
||||
name = "Autophagocytosis Necrosis"
|
||||
desc = "The virus rapidly consumes infected cells, leading to heavy and widespread damage."
|
||||
stealth = -2
|
||||
resistance = -2
|
||||
stage_speed = 1
|
||||
transmittable = -2
|
||||
level = 7
|
||||
severity = 6
|
||||
stealth = -2
|
||||
resistance = -2
|
||||
stage_speed = 1
|
||||
transmittable = -2
|
||||
level = 7
|
||||
severity = 6
|
||||
base_message_chance = 50
|
||||
symptom_delay_min = 3
|
||||
symptom_delay_max = 6
|
||||
@@ -97,9 +98,10 @@ Bonus
|
||||
var/zombie = FALSE
|
||||
threshold_desc = "<b>Stage Speed 7:</b> Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.<br>\
|
||||
<b>Stealth 5:</b> The symptom remains hidden until active."
|
||||
|
||||
|
||||
/datum/symptom/flesh_death/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 5)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["stage_rate"] >= 7) //bleeding and hunger
|
||||
@@ -112,17 +114,17 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(2,3)
|
||||
if(prob(base_message_chance) && !suppress_warning)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel your body break apart.", "Your skin rubs off like dust.")]</span>")
|
||||
to_chat(M, "<span class='warning'>[pick("You feel your body break apart.", "Your skin rubs off like dust.")]</span>")
|
||||
if(4,5)
|
||||
if(prob(base_message_chance / 2)) //reduce spam
|
||||
to_chat(M, "<span class='userdanger'>[pick("You feel your muscles weakening.", "Some of your skin detaches itself.", "You feel sandy.")]</span>")
|
||||
Flesh_death(M, A)
|
||||
|
||||
/datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A)
|
||||
var/get_damage = rand(6,10)
|
||||
M.adjustBruteLoss(get_damage)
|
||||
M.adjustBruteLoss(get_damage)
|
||||
if(chems)
|
||||
M.reagents.add_reagent_list(list("heparin" = 2, "lipolicide" = 2))
|
||||
if(zombie)
|
||||
M.reagents.add_reagent("romerol", 1)
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
DNA Saboteur
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance tremendously.
|
||||
No changes to stage speed.
|
||||
Decreases transmittablity tremendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Cleans the DNA of a person and then randomly gives them a disability.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/genetic_mutation
|
||||
name = "Deoxyribonucleic Acid Saboteur"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
DNA Saboteur
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance tremendously.
|
||||
No changes to stage speed.
|
||||
Decreases transmittablity tremendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Cleans the DNA of a person and then randomly gives them a disability.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/genetic_mutation
|
||||
name = "Deoxyribonucleic Acid Saboteur"
|
||||
desc = "The virus bonds with the DNA of the host, causing damaging mutations until removed."
|
||||
stealth = -2
|
||||
resistance = -3
|
||||
stage_speed = 0
|
||||
transmittable = -3
|
||||
level = 6
|
||||
severity = 3
|
||||
var/list/possible_mutations
|
||||
var/archived_dna = null
|
||||
stealth = -2
|
||||
resistance = -3
|
||||
stage_speed = 0
|
||||
transmittable = -3
|
||||
level = 6
|
||||
severity = 3
|
||||
var/list/possible_mutations
|
||||
var/archived_dna = null
|
||||
base_message_chance = 50
|
||||
symptom_delay_min = 60
|
||||
symptom_delay_max = 120
|
||||
@@ -33,8 +33,8 @@ Bonus
|
||||
threshold_desc = "<b>Resistance 8:</b> Causes two harmful mutations at once.<br>\
|
||||
<b>Stage Speed 10:</b> Increases mutation frequency.<br>\
|
||||
<b>Stealth 5:</b> The mutations persist even if the virus is cured."
|
||||
|
||||
/datum/symptom/genetic_mutation/Activate(datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/genetic_mutation/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
var/mob/living/carbon/C = A.affected_mob
|
||||
@@ -45,11 +45,12 @@ Bonus
|
||||
to_chat(C, "<span class='warning'>[pick("Your skin feels itchy.", "You feel light headed.")]</span>")
|
||||
C.dna.remove_mutation_group(possible_mutations)
|
||||
for(var/i in 1 to power)
|
||||
C.randmut(possible_mutations)
|
||||
|
||||
// Archive their DNA before they were infected.
|
||||
/datum/symptom/genetic_mutation/Start(datum/disease/advance/A)
|
||||
..()
|
||||
C.randmut(possible_mutations)
|
||||
|
||||
// Archive their DNA before they were infected.
|
||||
/datum/symptom/genetic_mutation/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 5) //don't restore dna after curing
|
||||
no_reset = TRUE
|
||||
if(A.properties["stage_rate"] >= 10) //mutate more often
|
||||
@@ -57,15 +58,17 @@ Bonus
|
||||
symptom_delay_max = 60
|
||||
if(A.properties["resistance"] >= 8) //mutate twice
|
||||
power = 2
|
||||
possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
if(M)
|
||||
if(!M.has_dna())
|
||||
return
|
||||
archived_dna = M.dna.struc_enzymes
|
||||
|
||||
// Give them back their old DNA when cured.
|
||||
/datum/symptom/genetic_mutation/End(datum/disease/advance/A)
|
||||
possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
if(M)
|
||||
if(!M.has_dna())
|
||||
return
|
||||
archived_dna = M.dna.struc_enzymes
|
||||
|
||||
// Give them back their old DNA when cured.
|
||||
/datum/symptom/genetic_mutation/End(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
if(!no_reset)
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
if(M && archived_dna)
|
||||
|
||||
@@ -1,44 +1,45 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Hallucigen
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance considerably.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
Critical Level.
|
||||
|
||||
Bonus
|
||||
Makes the affected mob be hallucinated for short periods of time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/hallucigen
|
||||
name = "Hallucigen"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Hallucigen
|
||||
|
||||
Very noticable.
|
||||
Lowers resistance considerably.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
Critical Level.
|
||||
|
||||
Bonus
|
||||
Makes the affected mob be hallucinated for short periods of time.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/hallucigen
|
||||
name = "Hallucigen"
|
||||
desc = "The virus stimulates the brain, causing occasional hallucinations."
|
||||
stealth = -2
|
||||
resistance = -3
|
||||
stage_speed = -3
|
||||
transmittable = -1
|
||||
level = 5
|
||||
severity = 3
|
||||
stealth = -2
|
||||
resistance = -3
|
||||
stage_speed = -3
|
||||
transmittable = -1
|
||||
level = 5
|
||||
severity = 3
|
||||
base_message_chance = 25
|
||||
symptom_delay_min = 25
|
||||
symptom_delay_max = 90
|
||||
var/fake_healthy = FALSE
|
||||
threshold_desc = "<b>Stage Speed 7:</b> Increases the amount of hallucinations.<br>\
|
||||
<b>Stealth 4:</b> The virus mimics positive symptoms.."
|
||||
|
||||
|
||||
/datum/symptom/hallucigen/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4) //fake good symptom messages
|
||||
fake_healthy = TRUE
|
||||
base_message_chance = 50
|
||||
if(A.properties["stage_rate"] >= 7) //stronger hallucinations
|
||||
power = 2
|
||||
|
||||
|
||||
/datum/symptom/hallucigen/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -1,40 +1,41 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Headache
|
||||
|
||||
Noticable.
|
||||
Highly resistant.
|
||||
Increases stage speed.
|
||||
Not transmittable.
|
||||
Low Level.
|
||||
|
||||
BONUS
|
||||
Displays an annoying message!
|
||||
Should be used for buffing your disease.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/headache
|
||||
|
||||
name = "Headache"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Headache
|
||||
|
||||
Noticable.
|
||||
Highly resistant.
|
||||
Increases stage speed.
|
||||
Not transmittable.
|
||||
Low Level.
|
||||
|
||||
BONUS
|
||||
Displays an annoying message!
|
||||
Should be used for buffing your disease.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/headache
|
||||
|
||||
name = "Headache"
|
||||
desc = "The virus causes inflammation inside the brain, causing constant headaches."
|
||||
stealth = -1
|
||||
resistance = 4
|
||||
stage_speed = 2
|
||||
transmittable = 0
|
||||
level = 1
|
||||
severity = 1
|
||||
stealth = -1
|
||||
resistance = 4
|
||||
stage_speed = 2
|
||||
transmittable = 0
|
||||
level = 1
|
||||
severity = 1
|
||||
base_message_chance = 100
|
||||
symptom_delay_min = 15
|
||||
symptom_delay_max = 30
|
||||
threshold_desc = "<b>Stage Speed 6:</b> Headaches will cause severe pain, that weakens the host.<br>\
|
||||
<b>Stage Speed 9:</b> Headaches become less frequent but far more intense, preventing any action from the host.<br>\
|
||||
<b>Stealth 4:</b> Reduces headache frequency until later stages."
|
||||
|
||||
|
||||
/datum/symptom/headache/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
base_message_chance = 50
|
||||
if(A.properties["stage_rate"] >= 6) //severe pain
|
||||
@@ -56,4 +57,4 @@ BONUS
|
||||
M.adjustStaminaLoss(25)
|
||||
if(power >= 3 && A.stage >= 5)
|
||||
to_chat(M, "<span class='userdanger'>[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]</span>")
|
||||
M.Stun(35)
|
||||
M.Stun(35)
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
<b>Stealth 4:</b> Healing will no longer be visible to onlookers."
|
||||
|
||||
/datum/symptom/heal/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4) //invisible healing
|
||||
hide_healing = TRUE
|
||||
if(A.properties["stage_rate"] >= 6) //stronger healing
|
||||
|
||||
@@ -1,39 +1,40 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Itching
|
||||
|
||||
Not noticable or unnoticable.
|
||||
Resistant.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low Level.
|
||||
|
||||
BONUS
|
||||
Displays an annoying message!
|
||||
Should be used for buffing your disease.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/itching
|
||||
|
||||
name = "Itching"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Itching
|
||||
|
||||
Not noticable or unnoticable.
|
||||
Resistant.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low Level.
|
||||
|
||||
BONUS
|
||||
Displays an annoying message!
|
||||
Should be used for buffing your disease.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/itching
|
||||
|
||||
name = "Itching"
|
||||
desc = "The virus irritates the skin, causing itching."
|
||||
stealth = 0
|
||||
resistance = 3
|
||||
stage_speed = 3
|
||||
transmittable = 1
|
||||
level = 1
|
||||
severity = 1
|
||||
stealth = 0
|
||||
resistance = 3
|
||||
stage_speed = 3
|
||||
transmittable = 1
|
||||
level = 1
|
||||
severity = 1
|
||||
symptom_delay_min = 5
|
||||
symptom_delay_max = 25
|
||||
var/scratch = FALSE
|
||||
threshold_desc = "<b>Transmission 6:</b> Increases frequency of itching.<br>\
|
||||
<b>Stage Speed 7:</b> The host will scrath itself when itching, causing superficial damage."
|
||||
|
||||
|
||||
/datum/symptom/itching/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["transmittable"] >= 6) //itch more often
|
||||
symptom_delay_min = 1
|
||||
symptom_delay_max = 4
|
||||
@@ -50,4 +51,4 @@ BONUS
|
||||
var/can_scratch = scratch && !M.incapacitated() && get_location_accessible(M, picked_bodypart)
|
||||
M.visible_message("[can_scratch ? "<span class='warning'>[M] scratches [M.p_their()] [bodypart.name].</span>" : ""]", "<span class='warning'>Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]</span>")
|
||||
if(can_scratch)
|
||||
bodypart.receive_damage(0.5)
|
||||
bodypart.receive_damage(0.5)
|
||||
|
||||
@@ -30,7 +30,8 @@ Bonus
|
||||
<b>Resistance 10:</b> Causes narcolepsy more often, increasing the chance of the host falling asleep."
|
||||
|
||||
/datum/symptom/narcolepsy/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["transmittable"] >= 7) //stamina damage
|
||||
stamina = TRUE
|
||||
if(A.properties["resistance"] >= 10) //act more often
|
||||
|
||||
@@ -1,37 +1,38 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Self-Respiration
|
||||
|
||||
Slightly hidden.
|
||||
Lowers resistance significantly.
|
||||
Decreases stage speed significantly.
|
||||
Decreases transmittablity tremendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
The body generates salbutamol.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/oxygen
|
||||
|
||||
name = "Self-Respiration"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Self-Respiration
|
||||
|
||||
Slightly hidden.
|
||||
Lowers resistance significantly.
|
||||
Decreases stage speed significantly.
|
||||
Decreases transmittablity tremendously.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
The body generates salbutamol.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/oxygen
|
||||
|
||||
name = "Self-Respiration"
|
||||
desc = "The virus rapidly synthesizes oxygen, effectively removing the need for breathing."
|
||||
stealth = 1
|
||||
resistance = -3
|
||||
stage_speed = -3
|
||||
transmittable = -4
|
||||
level = 6
|
||||
stealth = 1
|
||||
resistance = -3
|
||||
stage_speed = -3
|
||||
transmittable = -4
|
||||
level = 6
|
||||
base_message_chance = 5
|
||||
symptom_delay_min = 1
|
||||
symptom_delay_max = 1
|
||||
var/regenerate_blood = FALSE
|
||||
threshold_desc = "<b>Resistance 8:</b>Additionally regenerates lost blood.<br>"
|
||||
|
||||
|
||||
/datum/symptom/oxygen/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 8) //blood regeneration
|
||||
regenerate_blood = TRUE
|
||||
|
||||
@@ -39,13 +40,13 @@ Bonus
|
||||
if(!..())
|
||||
return
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
switch(A.stage)
|
||||
if(4, 5)
|
||||
switch(A.stage)
|
||||
if(4, 5)
|
||||
M.adjustOxyLoss(-7, 0)
|
||||
M.losebreath = max(0, M.losebreath - 4)
|
||||
if(regenerate_blood && M.blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
M.blood_volume += 1
|
||||
else
|
||||
else
|
||||
if(prob(base_message_chance))
|
||||
to_chat(M, "<span class='notice'>[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]</span>")
|
||||
return
|
||||
to_chat(M, "<span class='notice'>[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]</span>")
|
||||
return
|
||||
|
||||
@@ -32,7 +32,8 @@ Bonus
|
||||
<b>Transmission 8:</b> Purges alcohol in the bloodstream."
|
||||
|
||||
/datum/symptom/mind_restoration/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["resistance"] >= 6) //heal brain damage
|
||||
brain_heal = TRUE
|
||||
if(A.properties["transmittable"] >= 8) //purge alcohol
|
||||
|
||||
@@ -1,37 +1,38 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Shivering
|
||||
|
||||
No change to hidden.
|
||||
Increases resistance.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low level.
|
||||
|
||||
Bonus
|
||||
Cools down your body.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/shivering
|
||||
name = "Shivering"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Shivering
|
||||
|
||||
No change to hidden.
|
||||
Increases resistance.
|
||||
Increases stage speed.
|
||||
Little transmittable.
|
||||
Low level.
|
||||
|
||||
Bonus
|
||||
Cools down your body.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/shivering
|
||||
name = "Shivering"
|
||||
desc = "The virus inhibits the body's thermoregulation, cooling the body down."
|
||||
stealth = 0
|
||||
resistance = 2
|
||||
stage_speed = 2
|
||||
transmittable = 2
|
||||
level = 2
|
||||
severity = 2
|
||||
stealth = 0
|
||||
resistance = 2
|
||||
stage_speed = 2
|
||||
transmittable = 2
|
||||
level = 2
|
||||
severity = 2
|
||||
symptom_delay_min = 10
|
||||
symptom_delay_max = 30
|
||||
var/unsafe = FALSE //over the cold threshold
|
||||
threshold_desc = "<b>Stage Speed 5:</b> Increases cooling speed; the host can fall below safe temperature levels.<br>\
|
||||
<b>Stage Speed 10:</b> Further increases cooling speed."
|
||||
|
||||
|
||||
/datum/symptom/fever/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stage_speed"] >= 5) //dangerous cold
|
||||
power = 1.5
|
||||
unsafe = TRUE
|
||||
@@ -48,11 +49,11 @@ Bonus
|
||||
to_chat(M, "<span class='userdanger'>[pick("You feel your blood run cold.", "You feel ice in your veins.", "You feel like you can't heat up.", "You shiver violently." )]</span>")
|
||||
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT || unsafe)
|
||||
Chill(M, A)
|
||||
|
||||
/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
|
||||
var/get_cold = 6 * power
|
||||
if(!unsafe)
|
||||
M.bodytemperature = min(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1)
|
||||
else
|
||||
M.bodytemperature -= (get_cold * A.stage)
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -31,7 +31,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/sneeze/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["transmittable"] >= 9) //longer spread range
|
||||
power = 2
|
||||
if(A.properties["stealth"] >= 4)
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
// Symptoms are the effects that engineered advanced diseases do.
|
||||
|
||||
/datum/symptom
|
||||
// Buffs/Debuffs the symptom has to the overall engineered disease.
|
||||
var/name = ""
|
||||
// Symptoms are the effects that engineered advanced diseases do.
|
||||
|
||||
/datum/symptom
|
||||
// Buffs/Debuffs the symptom has to the overall engineered disease.
|
||||
var/name = ""
|
||||
var/desc = "If you see this something went very wrong." //Basic symptom description
|
||||
var/threshold_desc = "" //Description of threshold effects
|
||||
var/stealth = 0
|
||||
var/resistance = 0
|
||||
var/stage_speed = 0
|
||||
var/transmittable = 0
|
||||
// The type level of the symptom. Higher is harder to generate.
|
||||
var/level = 0
|
||||
// The severity level of the symptom. Higher is more dangerous.
|
||||
var/severity = 0
|
||||
// The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
|
||||
var/id = ""
|
||||
var/stealth = 0
|
||||
var/resistance = 0
|
||||
var/stage_speed = 0
|
||||
var/transmittable = 0
|
||||
// The type level of the symptom. Higher is harder to generate.
|
||||
var/level = 0
|
||||
// The severity level of the symptom. Higher is more dangerous.
|
||||
var/severity = 0
|
||||
// The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
|
||||
var/id = ""
|
||||
//Base chance of sending warning messages, so it can be modified
|
||||
var/base_message_chance = 10
|
||||
//If the early warnings are suppressed or not
|
||||
@@ -28,24 +28,29 @@
|
||||
//A neutered symptom has no effect, and only affects statistics.
|
||||
var/neutered = FALSE
|
||||
var/list/thresholds
|
||||
|
||||
/datum/symptom/New()
|
||||
var/list/S = SSdisease.list_symptoms
|
||||
for(var/i = 1; i <= S.len; i++)
|
||||
|
||||
/datum/symptom/New()
|
||||
var/list/S = SSdisease.list_symptoms
|
||||
for(var/i = 1; i <= S.len; i++)
|
||||
if(type == S[i])
|
||||
id = "[i]"
|
||||
return
|
||||
CRASH("We couldn't assign an ID!")
|
||||
|
||||
// Called when processing of the advance disease, which holds this symptom, starts.
|
||||
/datum/symptom/proc/Start(datum/disease/advance/A)
|
||||
id = "[i]"
|
||||
return
|
||||
CRASH("We couldn't assign an ID!")
|
||||
|
||||
// Called when processing of the advance disease, which holds this symptom, starts.
|
||||
/datum/symptom/proc/Start(datum/disease/advance/A)
|
||||
if(neutered)
|
||||
return FALSE
|
||||
next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) //so it doesn't instantly activate on infection
|
||||
|
||||
// Called when the advance disease is going to be deleted or when the advance disease stops processing.
|
||||
/datum/symptom/proc/End(datum/disease/advance/A)
|
||||
return
|
||||
|
||||
/datum/symptom/proc/Activate(datum/disease/advance/A)
|
||||
return TRUE
|
||||
|
||||
// Called when the advance disease is going to be deleted or when the advance disease stops processing.
|
||||
/datum/symptom/proc/End(datum/disease/advance/A)
|
||||
if(neutered)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/symptom/proc/Activate(datum/disease/advance/A)
|
||||
if(neutered)
|
||||
return FALSE
|
||||
if(world.time < next_activation)
|
||||
@@ -53,7 +58,7 @@
|
||||
else
|
||||
next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10)
|
||||
return TRUE
|
||||
|
||||
|
||||
/datum/symptom/proc/Copy()
|
||||
var/datum/symptom/new_symp = new type
|
||||
new_symp.name = name
|
||||
|
||||
@@ -97,7 +97,8 @@ Bonus
|
||||
A.cure()
|
||||
|
||||
/datum/symptom/viralreverse/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
A.stage = 5
|
||||
if(A.properties["stealth"] >= 4) //more time before it's cured
|
||||
power = 2
|
||||
|
||||
@@ -33,7 +33,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/visionloss/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["resistance"] >= 12) //goodbye eyes
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Voice Change
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Voice Change
|
||||
|
||||
Noticeable.
|
||||
Lowers resistance.
|
||||
Decreases stage speed.
|
||||
Decreases stage speed.
|
||||
Increased transmittable.
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Changes the voice of the affected mob. Causing confusion in communication.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/voice_change
|
||||
|
||||
name = "Voice Change"
|
||||
Fatal Level.
|
||||
|
||||
Bonus
|
||||
Changes the voice of the affected mob. Causing confusion in communication.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/voice_change
|
||||
|
||||
name = "Voice Change"
|
||||
desc = "The virus alters the pitch and tone of the host's vocal cords, changing how their voice sounds."
|
||||
stealth = -1
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = 2
|
||||
level = 6
|
||||
severity = 2
|
||||
level = 6
|
||||
severity = 2
|
||||
base_message_chance = 100
|
||||
symptom_delay_min = 60
|
||||
symptom_delay_max = 120
|
||||
@@ -34,9 +34,10 @@ Bonus
|
||||
threshold_desc = "<b>Transmission 14:</b> The host's language center of the brain is damaged, leading to complete inability to speak or understand any language.<br>\
|
||||
<b>Stage Speed 7:</b> Changes voice more often.<br>\
|
||||
<b>Stealth 3:</b> The symptom remains hidden until active."
|
||||
|
||||
|
||||
/datum/symptom/voice_change/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 3)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["stage_rate"] >= 7) //faster change of voice
|
||||
@@ -48,7 +49,7 @@ Bonus
|
||||
var/mob/living/M = A.affected_mob
|
||||
var/datum/language_holder/mob_language = M.get_language_holder()
|
||||
original_language = mob_language.copy()
|
||||
|
||||
|
||||
/datum/symptom/voice_change/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -56,7 +57,7 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
if(prob(base_message_chance) && !suppress_warning)
|
||||
to_chat(M, "<span class='warning'>[pick("Your throat hurts.", "You clear your throat.")]</span>")
|
||||
to_chat(M, "<span class='warning'>[pick("Your throat hurts.", "You clear your throat.")]</span>")
|
||||
else
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
@@ -67,12 +68,12 @@ Bonus
|
||||
H.grant_language(current_language)
|
||||
var/datum/language_holder/mob_language = H.get_language_holder()
|
||||
mob_language.only_speaks_language = current_language
|
||||
|
||||
/datum/symptom/voice_change/End(datum/disease/advance/A)
|
||||
..()
|
||||
if(ishuman(A.affected_mob))
|
||||
var/mob/living/carbon/human/H = A.affected_mob
|
||||
H.UnsetSpecialVoice()
|
||||
|
||||
/datum/symptom/voice_change/End(datum/disease/advance/A)
|
||||
..()
|
||||
if(ishuman(A.affected_mob))
|
||||
var/mob/living/carbon/human/H = A.affected_mob
|
||||
H.UnsetSpecialVoice()
|
||||
if(scramble_language)
|
||||
var/mob/living/M = A.affected_mob
|
||||
M.copy_known_languages_from(original_language, TRUE)
|
||||
|
||||
@@ -39,7 +39,8 @@ Bonus
|
||||
<b>Stealth 4:</b> The symptom remains hidden until active."
|
||||
|
||||
/datum/symptom/vomit/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4)
|
||||
suppress_warning = TRUE
|
||||
if(A.properties["resistance"] >= 7) //blood vomit
|
||||
|
||||
@@ -1,40 +1,41 @@
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Gain
|
||||
|
||||
Very Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
Intense Level.
|
||||
|
||||
Bonus
|
||||
Increases the weight gain of the mob,
|
||||
forcing it to eventually turn fat.
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_gain
|
||||
|
||||
name = "Weight Gain"
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Gain
|
||||
|
||||
Very Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
Intense Level.
|
||||
|
||||
Bonus
|
||||
Increases the weight gain of the mob,
|
||||
forcing it to eventually turn fat.
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_gain
|
||||
|
||||
name = "Weight Gain"
|
||||
desc = "The virus mutates the host's metabolism, making it gain weight much faster than normal."
|
||||
stealth = -3
|
||||
resistance = -3
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 4
|
||||
severity = 1
|
||||
stealth = -3
|
||||
resistance = -3
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 4
|
||||
severity = 1
|
||||
base_message_chance = 100
|
||||
symptom_delay_min = 15
|
||||
symptom_delay_max = 45
|
||||
threshold_desc = "<b>Stealth 4:</b> The symptom is less noticeable."
|
||||
|
||||
|
||||
/datum/symptom/weight_gain/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4) //warn less often
|
||||
base_message_chance = 25
|
||||
|
||||
|
||||
/datum/symptom/weight_gain/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -46,45 +47,46 @@ Bonus
|
||||
else
|
||||
M.overeatduration = min(M.overeatduration + 100, 600)
|
||||
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Loss
|
||||
|
||||
Very Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced Transmittable.
|
||||
High level.
|
||||
|
||||
Bonus
|
||||
Decreases the weight of the mob,
|
||||
forcing it to be skinny.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_loss
|
||||
|
||||
name = "Weight Loss"
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Loss
|
||||
|
||||
Very Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced Transmittable.
|
||||
High level.
|
||||
|
||||
Bonus
|
||||
Decreases the weight of the mob,
|
||||
forcing it to be skinny.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_loss
|
||||
|
||||
name = "Weight Loss"
|
||||
desc = "The virus mutates the host's metabolism, making it almost unable to gain nutrition from food."
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 3
|
||||
severity = 1
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 3
|
||||
severity = 1
|
||||
base_message_chance = 100
|
||||
symptom_delay_min = 15
|
||||
symptom_delay_max = 45
|
||||
threshold_desc = "<b>Stealth 4:</b> The symptom is less noticeable."
|
||||
|
||||
|
||||
/datum/symptom/weight_loss/Start(datum/disease/advance/A)
|
||||
..()
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4) //warn less often
|
||||
base_message_chance = 25
|
||||
|
||||
|
||||
/datum/symptom/weight_loss/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -97,43 +99,43 @@ Bonus
|
||||
to_chat(M, "<span class='warning'><i>[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]</i></span>")
|
||||
M.overeatduration = max(M.overeatduration - 100, 0)
|
||||
M.nutrition = max(M.nutrition - 100, 0)
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Even
|
||||
|
||||
Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
High level.
|
||||
|
||||
Bonus
|
||||
Causes the weight of the mob to
|
||||
be even, meaning eating isn't
|
||||
required anymore.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_even
|
||||
|
||||
name = "Weight Even"
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
Weight Even
|
||||
|
||||
Very Noticable.
|
||||
Decreases resistance.
|
||||
Decreases stage speed.
|
||||
Reduced transmittable.
|
||||
High level.
|
||||
|
||||
Bonus
|
||||
Causes the weight of the mob to
|
||||
be even, meaning eating isn't
|
||||
required anymore.
|
||||
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_even
|
||||
|
||||
name = "Weight Even"
|
||||
desc = "The virus alters the host's metabolism, making it far more efficient then normal, and synthesizing nutrients from normally unedible sources."
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 4
|
||||
stealth = -3
|
||||
resistance = -2
|
||||
stage_speed = -2
|
||||
transmittable = -2
|
||||
level = 4
|
||||
symptom_delay_min = 5
|
||||
symptom_delay_max = 5
|
||||
|
||||
/datum/symptom/weight_even/Activate(datum/disease/advance/A)
|
||||
|
||||
/datum/symptom/weight_even/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
var/mob/living/M = A.affected_mob
|
||||
switch(A.stage)
|
||||
if(4, 5)
|
||||
M.overeatduration = 0
|
||||
M.nutrition = NUTRITION_LEVEL_WELL_FED + 50
|
||||
M.nutrition = NUTRITION_LEVEL_WELL_FED + 50
|
||||
|
||||
+6
-1
@@ -269,7 +269,12 @@
|
||||
var/list/all_contents = traitor_mob.GetAllContents()
|
||||
var/obj/item/device/pda/PDA = locate() in all_contents
|
||||
var/obj/item/device/radio/R = locate() in all_contents
|
||||
var/obj/item/pen/P = locate() in all_contents //including your PDA-pen!
|
||||
var/obj/item/pen/P
|
||||
|
||||
if (PDA) // Prioritize PDA pen, otherwise the pocket protector pens will be chosen, which causes numerous ahelps about missing uplink
|
||||
P = locate() in PDA
|
||||
if (!P) // If we couldn't find a pen in the PDA, or we didn't even have a PDA, do it the old way
|
||||
P = locate() in all_contents
|
||||
|
||||
var/obj/item/uplink_loc
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
//These are shuttle areas; all subtypes are only used as teleportation markers, they have no actual function beyond that.
|
||||
//Multi area shuttles are a thing now, use subtypes! ~ninjanomnom
|
||||
|
||||
/area/shuttle
|
||||
name = "Shuttle"
|
||||
@@ -10,6 +11,33 @@
|
||||
valid_territory = FALSE
|
||||
icon_state = "shuttle"
|
||||
|
||||
////////////////////////////Multi-area shuttles////////////////////////////
|
||||
|
||||
////////////////////////////Syndicate infiltrator////////////////////////////
|
||||
|
||||
/area/shuttle/syndicate
|
||||
name = "Syndicate Infiltrator"
|
||||
blob_allowed = FALSE
|
||||
|
||||
/area/shuttle/syndicate/bridge
|
||||
name = "Syndicate Infiltrator Control"
|
||||
|
||||
/area/shuttle/syndicate/medical
|
||||
name = "Syndicate Infiltrator Medbay"
|
||||
|
||||
/area/shuttle/syndicate/armory
|
||||
name = "Syndicate Infiltrator Armory"
|
||||
|
||||
/area/shuttle/syndicate/eva
|
||||
name = "Syndicate Infiltrator EVA"
|
||||
|
||||
/area/shuttle/syndicate/hallway
|
||||
|
||||
/area/shuttle/syndicate/airlock
|
||||
name = "Syndicate Infiltrator Airlock"
|
||||
|
||||
////////////////////////////Single-area shuttles////////////////////////////
|
||||
|
||||
/area/shuttle/transit
|
||||
name = "Hyperspace"
|
||||
desc = "Weeeeee"
|
||||
@@ -48,10 +76,6 @@
|
||||
name = "Transport Shuttle"
|
||||
blob_allowed = FALSE
|
||||
|
||||
/area/shuttle/syndicate
|
||||
name = "Syndicate Infiltrator"
|
||||
blob_allowed = FALSE
|
||||
|
||||
/area/shuttle/assault_pod
|
||||
name = "Steel Rain"
|
||||
blob_allowed = FALSE
|
||||
|
||||
@@ -120,6 +120,10 @@
|
||||
continue
|
||||
if(("ratvar" in H.faction) || ("neutral" in H.faction))
|
||||
continue
|
||||
else if(isrevenant(L))
|
||||
var/mob/living/simple_animal/revenant/R = L
|
||||
if(R.stasis) //Don't target any revenants that are respawning
|
||||
continue
|
||||
else if(!L.mind)
|
||||
continue
|
||||
. += L
|
||||
|
||||
@@ -321,11 +321,12 @@
|
||||
/obj/structure/falsewall/plastitanium
|
||||
name = "wall"
|
||||
desc = "An evil wall of plasma and titanium."
|
||||
icon = 'icons/turf/shuttle.dmi'
|
||||
icon_state = "wall3"
|
||||
icon = 'icons/turf/walls/plastitanium_wall.dmi'
|
||||
icon_state = "shuttle"
|
||||
mineral = /obj/item/stack/sheet/mineral/plastitanium
|
||||
walltype = /turf/closed/wall/mineral/plastitanium
|
||||
smooth = SMOOTH_FALSE
|
||||
smooth = SMOOTH_MORE
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
|
||||
|
||||
/obj/structure/falsewall/brass
|
||||
name = "clockwork wall"
|
||||
|
||||
@@ -588,10 +588,10 @@
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
reinf = TRUE
|
||||
heat_resistance = 1600
|
||||
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 100)
|
||||
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 100)
|
||||
smooth = SMOOTH_TRUE
|
||||
canSmoothWith = null
|
||||
explosion_block = 1
|
||||
explosion_block = 3
|
||||
level = 3
|
||||
glass_type = /obj/item/stack/sheet/rglass
|
||||
glass_amount = 2
|
||||
@@ -602,6 +602,26 @@
|
||||
/obj/structure/window/shuttle/tinted
|
||||
opacity = TRUE
|
||||
|
||||
/obj/structure/window/plastitanium
|
||||
name = "plastitanium window"
|
||||
desc = "An evil looking window of plasma and titanium."
|
||||
icon = 'icons/obj/smooth_structures/plastitanium_window.dmi'
|
||||
icon_state = "plastitanium_window"
|
||||
dir = FULLTILE_WINDOW_DIR
|
||||
max_integrity = 100
|
||||
wtype = "shuttle"
|
||||
fulltile = TRUE
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
reinf = TRUE
|
||||
heat_resistance = 1600
|
||||
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 100)
|
||||
smooth = SMOOTH_TRUE
|
||||
canSmoothWith = null
|
||||
explosion_block = 3
|
||||
level = 3
|
||||
glass_type = /obj/item/stack/sheet/rglass
|
||||
glass_amount = 2
|
||||
|
||||
/obj/structure/window/reinforced/clockwork
|
||||
name = "brass window"
|
||||
desc = "A paper-thin pane of translucent yet reinforced brass."
|
||||
|
||||
@@ -170,11 +170,14 @@
|
||||
explosion_block = 3
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor)
|
||||
|
||||
/////////////////////Titanium walls/////////////////////
|
||||
|
||||
/turf/closed/wall/mineral/titanium //has to use this path due to how building walls works
|
||||
name = "wall"
|
||||
desc = "A light-weight titanium wall used in shuttles."
|
||||
icon = 'icons/turf/walls/shuttle_wall.dmi'
|
||||
icon_state = "map-shuttle"
|
||||
explosion_block = 3
|
||||
flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1
|
||||
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
||||
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
||||
@@ -230,14 +233,31 @@
|
||||
/turf/closed/wall/mineral/titanium/survival/pod
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/shuttle, /obj/structure/shuttle/engine)
|
||||
|
||||
/////////////////////Plastitanium walls/////////////////////
|
||||
|
||||
/turf/closed/wall/mineral/plastitanium
|
||||
name = "wall"
|
||||
desc = "An evil wall of plasma and titanium."
|
||||
icon = 'icons/turf/shuttle.dmi'
|
||||
icon_state = "wall3"
|
||||
icon = 'icons/turf/walls/plastitanium_wall.dmi'
|
||||
icon_state = "map-shuttle"
|
||||
explosion_block = 4
|
||||
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
|
||||
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/plastitanium, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium)
|
||||
|
||||
/turf/closed/wall/mineral/plastitanium/nodiagonal
|
||||
smooth = SMOOTH_MORE
|
||||
icon_state = "map-shuttle_nd"
|
||||
|
||||
/turf/closed/wall/mineral/plastitanium/nosmooth
|
||||
icon = 'icons/turf/shuttle.dmi'
|
||||
icon_state = "wall"
|
||||
smooth = SMOOTH_FALSE
|
||||
|
||||
/turf/closed/wall/mineral/plastitanium/overspace
|
||||
icon_state = "map-overspace"
|
||||
fixed_underlay = list("space"=1)
|
||||
|
||||
//have to copypaste this code
|
||||
/turf/closed/wall/mineral/plastitanium/interior/copyTurf(turf/T)
|
||||
if(T.type != type)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
//Breathe from internal
|
||||
breath = get_breath_from_internal(BREATH_VOLUME)
|
||||
|
||||
if(!breath)
|
||||
if(isnull(breath)) //in case of 0 pressure internals
|
||||
|
||||
if(isobj(loc)) //Breathe from loc as object
|
||||
var/obj/loc_as_obj = loc
|
||||
@@ -226,7 +226,9 @@
|
||||
update_internals_hud_icon(0)
|
||||
else
|
||||
update_internals_hud_icon(1)
|
||||
return internal.remove_air_volume(volume_needed)
|
||||
. = internal.remove_air_volume(volume_needed)
|
||||
if(!.)
|
||||
return FALSE //to differentiate between no internals and active, but empty internals
|
||||
|
||||
/mob/living/carbon/proc/handle_blood()
|
||||
return
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
/mob/living/silicon/pai
|
||||
name = "pAI"
|
||||
var/network = "SS13"
|
||||
var/obj/machinery/camera/current = null
|
||||
icon = 'icons/mob/pai.dmi'
|
||||
icon_state = "repairbot"
|
||||
mouse_opacity = MOUSE_OPACITY_OPAQUE
|
||||
density = FALSE
|
||||
luminosity = 0
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
mob_size = MOB_SIZE_TINY
|
||||
desc = "A generic pAI mobile hard-light holographics emitter. It seems to be deactivated."
|
||||
weather_immunities = list("ash")
|
||||
health = 500
|
||||
maxHealth = 500
|
||||
layer = BELOW_MOB_LAYER
|
||||
|
||||
var/network = "SS13"
|
||||
var/obj/machinery/camera/current = null
|
||||
|
||||
var/ram = 100 // Used as currency to purchase different abilities
|
||||
var/list/software = list()
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
aggro_vision_range = 9
|
||||
idle_vision_range = 2
|
||||
turns_per_move = 5
|
||||
gold_core_spawnable = TRUE
|
||||
loot = list(/obj/item/ore/diamond{layer = ABOVE_MOB_LAYER},
|
||||
/obj/item/ore/diamond{layer = ABOVE_MOB_LAYER})
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
desc = "A 4.6x30mm incendiary bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/c46x30mm
|
||||
|
||||
// .45 (M1911)
|
||||
// .45 (M1911 + C20r)
|
||||
|
||||
/obj/item/ammo_casing/c45
|
||||
name = ".45 bullet casing"
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
damage = 10
|
||||
fire_stacks = 1
|
||||
|
||||
// .45 (M1911)
|
||||
// .45 (M1911 & C20r)
|
||||
|
||||
/obj/item/projectile/bullet/c45
|
||||
name = ".45 bullet"
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/c45_nostamina
|
||||
name = ".45 bullet"
|
||||
damage = 20
|
||||
damage = 30
|
||||
|
||||
// 5.56mm (M-90gl Carbine)
|
||||
|
||||
|
||||
@@ -3,4 +3,16 @@
|
||||
desc = "Used to control the White Ship."
|
||||
circuit = /obj/item/circuitboard/computer/white_ship
|
||||
shuttleId = "whiteship"
|
||||
possible_destinations = "whiteship_away;whiteship_home;whiteship_z4;whiteship_lavaland"
|
||||
possible_destinations = "whiteship_away;whiteship_home;whiteship_z4;whiteship_lavaland;whiteship_custom"
|
||||
|
||||
/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship
|
||||
name = "White Ship Navigation Computer"
|
||||
desc = "Used to designate a precise transit location for the White Ship."
|
||||
shuttleId = "whiteship"
|
||||
station_lock_override = TRUE
|
||||
shuttlePortId = "whiteship_custom"
|
||||
shuttlePortName = "Custom Location"
|
||||
jumpto_ports = list("whiteship_away" = 1, "whiteship_home" = 1, "whiteship_z4" = 1)
|
||||
view_range = 20
|
||||
x_offset = -6
|
||||
y_offset = -10
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Xhuis"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Ocular wardens no longer have a burning hatred for revenants and won't attack their corpse endlessly anymore."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Frozenguy5"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "C20r damage upped from 20 to 30 (used to be 30 before an ammo cleanup in the code)"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "XDTM"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Internals now properly work if set to 0 pressure, and will prevent breathing gas from the external atmosphere."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "XDTM"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Viral Aggressive Metabolism is now properly inactive when neutered."
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Reference in New Issue
Block a user