Merge remote-tracking branch 'upstream/master'
This commit is contained in:
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
@@ -666,7 +666,7 @@
|
||||
pixel_x = 24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/item/bedsheet/red,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/beach)
|
||||
"bU" = (
|
||||
@@ -799,9 +799,7 @@
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/beach)
|
||||
"cn" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one. May not work for bartenders that don't have Nanotrasen bank accounts."
|
||||
},
|
||||
/obj/machinery/vending/boozeomat,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/beach)
|
||||
"co" = (
|
||||
@@ -897,9 +895,7 @@
|
||||
/area/awaymission/beach)
|
||||
"cD" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/reagent_containers/rag{
|
||||
pixel_y = 7
|
||||
},
|
||||
/obj/item/reagent_containers/rag,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/beach)
|
||||
"cE" = (
|
||||
@@ -1081,14 +1077,6 @@
|
||||
/obj/item/clothing/glasses/heat,
|
||||
/turf/open/floor/plating/beach/sand,
|
||||
/area/awaymission/beach)
|
||||
"iy" = (
|
||||
/obj/item/toy/seashell,
|
||||
/turf/open/floor/plating/beach/coastline_t,
|
||||
/area/awaymission/beach)
|
||||
"MD" = (
|
||||
/obj/item/toy/seashell,
|
||||
/turf/open/floor/plating/beach/sand,
|
||||
/area/awaymission/beach)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -4660,9 +4648,9 @@ ac
|
||||
aw
|
||||
af
|
||||
ay
|
||||
MD
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
aT
|
||||
ao
|
||||
aY
|
||||
@@ -4766,7 +4754,7 @@ ac
|
||||
aw
|
||||
af
|
||||
ay
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -4875,7 +4863,7 @@ ay
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -5216,7 +5204,7 @@ aY
|
||||
ae
|
||||
aw
|
||||
ag
|
||||
MD
|
||||
ak
|
||||
aZ
|
||||
ak
|
||||
ak
|
||||
@@ -5317,7 +5305,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
aT
|
||||
aj
|
||||
aj
|
||||
@@ -5328,7 +5316,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
aT
|
||||
ao
|
||||
ar
|
||||
@@ -6294,7 +6282,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
iy
|
||||
ap
|
||||
ar
|
||||
ac
|
||||
ac
|
||||
@@ -6474,7 +6462,7 @@ ac
|
||||
ac
|
||||
ad
|
||||
ag
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -6822,7 +6810,7 @@ cl
|
||||
bd
|
||||
bd
|
||||
bd
|
||||
cD
|
||||
cC
|
||||
cH
|
||||
ba
|
||||
ak
|
||||
@@ -6929,7 +6917,7 @@ cm
|
||||
bd
|
||||
bd
|
||||
bd
|
||||
cC
|
||||
cD
|
||||
cH
|
||||
ba
|
||||
ak
|
||||
@@ -8956,7 +8944,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
cu
|
||||
@@ -10328,7 +10316,7 @@ ac
|
||||
ac
|
||||
aw
|
||||
ag
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -10436,7 +10424,7 @@ ad
|
||||
af
|
||||
ay
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -10574,7 +10562,7 @@ ak
|
||||
ak
|
||||
cO
|
||||
ak
|
||||
iy
|
||||
ap
|
||||
ar
|
||||
ac
|
||||
ac
|
||||
@@ -10787,7 +10775,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
aK
|
||||
MD
|
||||
ak
|
||||
ap
|
||||
ar
|
||||
ac
|
||||
@@ -10970,7 +10958,7 @@ ac
|
||||
ac
|
||||
ax
|
||||
ag
|
||||
MD
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -11000,7 +10988,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
bo
|
||||
aq
|
||||
ar
|
||||
@@ -15007,7 +14995,7 @@ ad
|
||||
ag
|
||||
al
|
||||
ak
|
||||
MD
|
||||
ak
|
||||
ap
|
||||
ar
|
||||
ab
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
@@ -37,7 +36,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
@@ -116,7 +114,7 @@
|
||||
},
|
||||
/obj/item/veilrender/honkrender,
|
||||
/obj/item/clothing/mask/gas/clown_hat,
|
||||
/obj/item/organ/heart/demon,
|
||||
/obj/item/organ/heart/cursed,
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -188,9 +186,7 @@
|
||||
amount = 25
|
||||
},
|
||||
/obj/item/coin/antagtoken,
|
||||
/obj/item/book/granter/spell/summonitem{
|
||||
name = "an extremely flamboyant book"
|
||||
},
|
||||
/obj/item/book/granter/spell/smoke,
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -239,7 +235,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
"aM" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 1;
|
||||
id = "minedeep"
|
||||
},
|
||||
@@ -266,7 +261,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
"aP" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 1;
|
||||
id = "dungeon";
|
||||
name = "rusty ladder"
|
||||
@@ -317,7 +311,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
@@ -356,7 +349,11 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"ba" = (
|
||||
/obj/structure/destructible/cult/talisman,
|
||||
/obj/item/book/granter/martial/plasma_fist,
|
||||
/obj/item/storage/belt/champion,
|
||||
/obj/item/melee/sabre{
|
||||
icon_state = "cultblade";
|
||||
name = "blood-red sabre"
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -446,12 +443,11 @@
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"bo" = (
|
||||
/obj/structure/flora/rock,
|
||||
/obj/item/soulstone/anybody,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
/obj/structure/trap/chill,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"bp" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 10
|
||||
@@ -516,8 +512,8 @@
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
"by" = (
|
||||
/obj/item/twohanded/mjollnir,
|
||||
/mob/living/simple_animal/hostile/poison/giant_spider/nurse,
|
||||
/obj/item/nullrod/hammmer,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -531,8 +527,8 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"bA" = (
|
||||
/obj/structure/destructible/cult/tome,
|
||||
/obj/item/necromantic_stone,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/item/immortality_talisman,
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -563,7 +559,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"bF" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 2;
|
||||
id = "dungeon";
|
||||
name = "rusty ladder"
|
||||
@@ -573,7 +568,9 @@
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
"bG" = (
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/gold,
|
||||
/obj/item/gun/ballistic/revolver/reverse{
|
||||
name = "suspicious .357 revovler"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -581,12 +578,14 @@
|
||||
"bH" = (
|
||||
/obj/effect/decal/remains/human,
|
||||
/obj/item/clothing/under/misc/patriotsuit,
|
||||
/obj/structure/trap/chill,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"bI" = (
|
||||
/obj/item/bedsheet/patriot,
|
||||
/obj/structure/trap/chill,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -606,7 +605,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
@@ -617,7 +615,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
@@ -734,7 +731,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"ce" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 1;
|
||||
id = "mineintro"
|
||||
},
|
||||
@@ -1030,7 +1026,7 @@
|
||||
/area/awaymission/caves/research)
|
||||
"cX" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/gun/energy/temperature,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -1093,9 +1089,6 @@
|
||||
/obj/structure/closet/secure_closet/miner{
|
||||
name = "weapon equipment"
|
||||
},
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -1122,7 +1115,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"dj" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 2;
|
||||
id = "minedeep"
|
||||
},
|
||||
@@ -1195,7 +1187,6 @@
|
||||
"dw" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/bedsheet,
|
||||
/obj/effect/landmark/awaystart,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"dx" = (
|
||||
@@ -1376,35 +1367,35 @@
|
||||
"eg" = (
|
||||
/obj/effect/decal/cleanable/robot_debris/old,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eh" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/radio,
|
||||
/obj/item/radio,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"ei" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paper_bin,
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"ej" = (
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"ek" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
},
|
||||
/mob/living/simple_animal/hostile/mining_drone,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"el" = (
|
||||
/obj/structure/closet/secure_closet/personal,
|
||||
/obj/item/gun/energy/laser/captain/scattershot,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/caves/northblock)
|
||||
/obj/machinery/gateway{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"em" = (
|
||||
/obj/structure/closet/secure_closet/personal,
|
||||
/turf/open/floor/wood{
|
||||
@@ -1433,20 +1424,19 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"er" = (
|
||||
/obj/structure/chair/stool,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"es" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window,
|
||||
/mob/living/simple_animal/hostile/mining_drone,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"et" = (
|
||||
/obj/effect/decal/cleanable/shreds,
|
||||
/turf/open/floor/plating{
|
||||
@@ -1467,37 +1457,47 @@
|
||||
/obj/item/mining_scanner,
|
||||
/obj/item/mining_scanner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"ex" = (
|
||||
/obj/structure/closet/secure_closet/miner,
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/item/survivalcapsule,
|
||||
/obj/item/extinguisher/mini,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"ey" = (
|
||||
/obj/structure/reagent_dispensers/watertank,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"ez" = (
|
||||
/obj/machinery/light/small/built{
|
||||
dir = 1
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/power/port_gen/pacman,
|
||||
/obj/item/wrench,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"ey" = (
|
||||
/obj/machinery/suit_storage_unit/mining{
|
||||
desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open.";
|
||||
name = "rusted suit storage unit"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"ez" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eA" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paper/fluff/awaymissions/caves/work_notice,
|
||||
/obj/machinery/light/small/built{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/stack/sheet/mineral/plasma,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eB" = (
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/machinery/gateway{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eC" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/gps/mining,
|
||||
@@ -1506,17 +1506,19 @@
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eD" = (
|
||||
/obj/structure/closet/secure_closet/miner,
|
||||
/obj/item/survivalcapsule,
|
||||
/obj/item/extinguisher/mini,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eE" = (
|
||||
/obj/effect/landmark/awaystart,
|
||||
/obj/machinery/gateway{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eF" = (
|
||||
/turf/closed/wall,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
@@ -1526,7 +1528,7 @@
|
||||
"eH" = (
|
||||
/obj/machinery/vending/sustenance,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eI" = (
|
||||
/obj/structure/closet/crate/trashcart,
|
||||
/obj/item/switchblade,
|
||||
@@ -1546,7 +1548,7 @@
|
||||
"eL" = (
|
||||
/obj/machinery/vending/sovietsoda,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eM" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
@@ -1593,7 +1595,7 @@
|
||||
"eR" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eS" = (
|
||||
/obj/machinery/light/small/built,
|
||||
/obj/machinery/suit_storage_unit/mining{
|
||||
@@ -1601,11 +1603,11 @@
|
||||
name = "rusted suit storage unit"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eT" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"eU" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/toolbox/mechanical,
|
||||
@@ -1651,16 +1653,11 @@
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"fc" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/paper/fluff/awaymissions/caves/shipment_receipt,
|
||||
/obj/item/gun/energy/laser/captain/scattershot,
|
||||
/obj/item/gun/energy/laser/captain/scattershot,
|
||||
/obj/item/gun/energy/laser,
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/obj/item/slimepotion/fireproof,
|
||||
/obj/item/slimepotion/fireproof,
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/gun/energy/laser,
|
||||
/obj/item/survivalcapsule,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -1708,11 +1705,14 @@
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"fk" = (
|
||||
/obj/item/grenade/syndieminibomb/concussion,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
/obj/machinery/gateway{
|
||||
dir = 8
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"fl" = (
|
||||
/obj/effect/decal/remains/human,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
@@ -1726,10 +1726,11 @@
|
||||
/obj/structure/closet/crate{
|
||||
icon_state = "crateopen"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/caves/shipment_receipt,
|
||||
/obj/item/organ/eyes/robotic/thermals,
|
||||
/obj/item/gun/energy/laser/captain/scattershot,
|
||||
/obj/item/slimepotion/fireproof,
|
||||
/obj/item/gun/energy/laser,
|
||||
/obj/item/gun/energy/laser,
|
||||
/obj/item/survivalcapsule,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
@@ -1791,11 +1792,14 @@
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"fw" = (
|
||||
/obj/item/gun/energy/laser/captain/scattershot,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
/obj/machinery/gateway/centeraway{
|
||||
calibrated = 0
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"fx" = (
|
||||
/obj/effect/bump_teleporter{
|
||||
id = "mineintroup";
|
||||
@@ -1968,7 +1972,6 @@
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"ga" = (
|
||||
/obj/structure/ladder/unbreakable{
|
||||
anchored = 1;
|
||||
height = 2;
|
||||
id = "mineintro"
|
||||
},
|
||||
@@ -2035,11 +2038,14 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"gk" = (
|
||||
/obj/effect/landmark/awaystart,
|
||||
/turf/open/floor/plating/asteroid/basalt{
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
/obj/machinery/gateway{
|
||||
dir = 4
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"gl" = (
|
||||
/obj/item/trash/plate,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -2260,7 +2266,6 @@
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
name = "lava";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
@@ -2276,6 +2281,41 @@
|
||||
/obj/effect/baseturf_helper/asteroid/basalt,
|
||||
/turf/closed/wall,
|
||||
/area/awaymission/caves/northblock)
|
||||
"tk" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"CY" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"GV" = (
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"Hp" = (
|
||||
/obj/machinery/gateway,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
"If" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/caves/listeningpost)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -6581,7 +6621,7 @@ dO
|
||||
dP
|
||||
dI
|
||||
dZ
|
||||
el
|
||||
dA
|
||||
dt
|
||||
bL
|
||||
bL
|
||||
@@ -10180,13 +10220,13 @@ bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dX
|
||||
dX
|
||||
dW
|
||||
dW
|
||||
dW
|
||||
dW
|
||||
dW
|
||||
eG
|
||||
eG
|
||||
eF
|
||||
eF
|
||||
eF
|
||||
eF
|
||||
eF
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
@@ -10432,18 +10472,18 @@ bL
|
||||
bL
|
||||
bM
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dX
|
||||
eG
|
||||
eG
|
||||
eF
|
||||
eF
|
||||
eG
|
||||
eG
|
||||
ex
|
||||
eD
|
||||
eD
|
||||
eD
|
||||
eD
|
||||
dX
|
||||
eG
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
@@ -10689,18 +10729,18 @@ bL
|
||||
bL
|
||||
bM
|
||||
bM
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dW
|
||||
eF
|
||||
el
|
||||
fk
|
||||
If
|
||||
eJ
|
||||
eF
|
||||
ey
|
||||
ev
|
||||
ev
|
||||
ev
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eR
|
||||
dX
|
||||
eG
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
@@ -10946,18 +10986,18 @@ bL
|
||||
bL
|
||||
bL
|
||||
bM
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dX
|
||||
eG
|
||||
eB
|
||||
fw
|
||||
Hp
|
||||
CY
|
||||
GV
|
||||
ez
|
||||
eE
|
||||
ev
|
||||
ev
|
||||
eO
|
||||
eJ
|
||||
eJ
|
||||
eS
|
||||
dX
|
||||
eG
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
@@ -11203,18 +11243,18 @@ bL
|
||||
bL
|
||||
bL
|
||||
bM
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dX
|
||||
eG
|
||||
eE
|
||||
gk
|
||||
tk
|
||||
eJ
|
||||
eG
|
||||
eA
|
||||
ev
|
||||
ev
|
||||
ev
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eT
|
||||
dW
|
||||
eF
|
||||
bL
|
||||
bV
|
||||
bV
|
||||
@@ -11460,17 +11500,17 @@ bL
|
||||
bL
|
||||
bL
|
||||
bM
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
bL
|
||||
dX
|
||||
ev
|
||||
ev
|
||||
ev
|
||||
ev
|
||||
ev
|
||||
eF
|
||||
eF
|
||||
eG
|
||||
eG
|
||||
eG
|
||||
eG
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eF
|
||||
eG
|
||||
eG
|
||||
@@ -11719,15 +11759,15 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dW
|
||||
dX
|
||||
dX
|
||||
dX
|
||||
eB
|
||||
dW
|
||||
eF
|
||||
eG
|
||||
eG
|
||||
eG
|
||||
eW
|
||||
eF
|
||||
eH
|
||||
eL
|
||||
ev
|
||||
eJ
|
||||
eW
|
||||
eN
|
||||
eJ
|
||||
@@ -11976,11 +12016,11 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dW
|
||||
eF
|
||||
eg
|
||||
eq
|
||||
ev
|
||||
ev
|
||||
eJ
|
||||
eJ
|
||||
eF
|
||||
eF
|
||||
eF
|
||||
@@ -12233,11 +12273,11 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dX
|
||||
eG
|
||||
eh
|
||||
ej
|
||||
fm
|
||||
eg
|
||||
ev
|
||||
eJ
|
||||
eF
|
||||
eI
|
||||
eM
|
||||
@@ -12490,11 +12530,11 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dX
|
||||
eG
|
||||
ei
|
||||
er
|
||||
ej
|
||||
ev
|
||||
fm
|
||||
eJ
|
||||
eG
|
||||
eJ
|
||||
eN
|
||||
@@ -12624,7 +12664,7 @@ ae
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
bo
|
||||
aj
|
||||
bv
|
||||
ac
|
||||
ag
|
||||
@@ -12747,11 +12787,11 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dX
|
||||
ej
|
||||
ej
|
||||
ev
|
||||
ev
|
||||
eG
|
||||
fm
|
||||
fm
|
||||
eJ
|
||||
eJ
|
||||
eG
|
||||
eJ
|
||||
eO
|
||||
@@ -13004,7 +13044,7 @@ bL
|
||||
bV
|
||||
bV
|
||||
bL
|
||||
dW
|
||||
eF
|
||||
ek
|
||||
es
|
||||
ew
|
||||
@@ -13261,11 +13301,11 @@ bL
|
||||
bV
|
||||
bV
|
||||
bV
|
||||
dW
|
||||
dW
|
||||
dX
|
||||
dX
|
||||
dW
|
||||
eF
|
||||
eF
|
||||
eG
|
||||
eG
|
||||
eF
|
||||
eF
|
||||
eK
|
||||
eP
|
||||
@@ -50925,7 +50965,7 @@ ad
|
||||
ai
|
||||
ai
|
||||
ai
|
||||
ai
|
||||
bo
|
||||
ai
|
||||
ai
|
||||
ad
|
||||
@@ -51181,7 +51221,7 @@ ad
|
||||
ad
|
||||
ad
|
||||
ai
|
||||
ai
|
||||
bo
|
||||
bG
|
||||
bI
|
||||
ai
|
||||
@@ -54147,7 +54187,7 @@ bJ
|
||||
bJ
|
||||
bJ
|
||||
cQ
|
||||
gk
|
||||
bJ
|
||||
bJ
|
||||
gs
|
||||
bJ
|
||||
@@ -64676,7 +64716,7 @@ bJ
|
||||
bK
|
||||
bK
|
||||
bK
|
||||
fw
|
||||
bJ
|
||||
bJ
|
||||
bJ
|
||||
cq
|
||||
@@ -64931,7 +64971,7 @@ bJ
|
||||
bJ
|
||||
bJ
|
||||
fe
|
||||
fk
|
||||
bJ
|
||||
fn
|
||||
fd
|
||||
bJ
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,6 @@
|
||||
/area/awaymission/moonoutpost19/hive)
|
||||
"ae" = (
|
||||
/obj/machinery/computer/arcade{
|
||||
icon_state = "arcade";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -359,7 +358,6 @@
|
||||
/mob/living/simple_animal/hostile/alien/queen/large{
|
||||
desc = "A gigantic alien who is in charge of the hive and all of its loyal servants.";
|
||||
name = "alien queen";
|
||||
pixel_x = -16;
|
||||
plants_off = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
@@ -435,9 +433,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
"aZ" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/red,
|
||||
/turf/open/floor/plasteel/dark{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -490,9 +486,7 @@
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
"bh" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/red,
|
||||
/turf/open/floor/plasteel/dark{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -915,11 +909,9 @@
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
"bT" = (
|
||||
/obj/machinery/power/smes{
|
||||
charge = 0;
|
||||
input_level = 10000;
|
||||
inputting = 0;
|
||||
output_level = 15000;
|
||||
outputting = 1
|
||||
output_level = 15000
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
@@ -961,7 +953,6 @@
|
||||
/area/awaymission/moonoutpost19/hive)
|
||||
"bX" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "awaysyndie"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -1334,8 +1325,7 @@
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
"cC" = (
|
||||
/obj/machinery/mineral/processing_unit{
|
||||
dir = 1;
|
||||
output_dir = 2
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -1426,8 +1416,6 @@
|
||||
"cK" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 1;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -25;
|
||||
req_access = null;
|
||||
@@ -1472,12 +1460,9 @@
|
||||
"cN" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -1486,12 +1471,9 @@
|
||||
/obj/structure/cable,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/power/port_gen/pacman/super{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -1823,7 +1805,6 @@
|
||||
/obj/structure/closet/secure_closet{
|
||||
desc = "It's a secure locker for personnel. The first card swiped gains control.";
|
||||
icon_state = "cabinet";
|
||||
locked = 1;
|
||||
name = "personal closet";
|
||||
req_access_txt = "150"
|
||||
},
|
||||
@@ -2036,8 +2017,7 @@
|
||||
/turf/open/floor/plating{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
icon_state = "platingdmg1";
|
||||
temperature = 251
|
||||
},
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
@@ -2059,23 +2039,11 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/syndicate)
|
||||
"dM" = (
|
||||
/turf/open/floor/plating{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
},
|
||||
/area/awaymission/moonoutpost19/main)
|
||||
"dN" = (
|
||||
/obj/item/stack/ore/iron{
|
||||
pixel_x = -7;
|
||||
@@ -2400,14 +2368,12 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"eK" = (
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"eL" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
@@ -2467,7 +2433,6 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"eS" = (
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -2479,7 +2444,6 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"eT" = (
|
||||
/obj/machinery/power/port_gen/pacman/super{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -2525,8 +2489,7 @@
|
||||
charge = 1.5e+006;
|
||||
input_level = 10000;
|
||||
inputting = 0;
|
||||
output_level = 15000;
|
||||
outputting = 1
|
||||
output_level = 15000
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
@@ -2619,9 +2582,7 @@
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -2655,7 +2616,6 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"fh" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/structure/table,
|
||||
@@ -2801,9 +2761,7 @@
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -3041,7 +2999,6 @@
|
||||
"fT" = (
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "sec";
|
||||
locked = 1;
|
||||
name = "security officer's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -3109,9 +3066,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -3241,9 +3196,7 @@
|
||||
pixel_x = 28
|
||||
},
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -3471,9 +3424,7 @@
|
||||
req_access = null;
|
||||
start_charge = 100
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -3626,9 +3577,7 @@
|
||||
pixel_x = 23;
|
||||
req_access = null
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -3712,7 +3661,6 @@
|
||||
"hb" = (
|
||||
/obj/machinery/light{
|
||||
active_power_usage = 0;
|
||||
dir = 2;
|
||||
icon_state = "tube-broken";
|
||||
status = 2
|
||||
},
|
||||
@@ -3826,7 +3774,6 @@
|
||||
req_access_txt = "201"
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
@@ -3842,7 +3789,6 @@
|
||||
status = 2
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
@@ -3867,7 +3813,6 @@
|
||||
"hq" = (
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "rd";
|
||||
locked = 1;
|
||||
name = "research director's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -3885,7 +3830,6 @@
|
||||
pixel_y = 2
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
@@ -3935,9 +3879,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"hw" = (
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -4027,7 +3969,6 @@
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
active_power_usage = 0;
|
||||
dir = 2;
|
||||
icon_state = "bulb-broken";
|
||||
status = 2
|
||||
},
|
||||
@@ -4303,7 +4244,6 @@
|
||||
/obj/structure/closet/l3closet,
|
||||
/obj/machinery/light/small{
|
||||
active_power_usage = 0;
|
||||
dir = 2;
|
||||
icon_state = "bulb-broken";
|
||||
status = 2
|
||||
},
|
||||
@@ -4453,7 +4393,6 @@
|
||||
},
|
||||
/obj/machinery/shower{
|
||||
dir = 4;
|
||||
icon_state = "shower";
|
||||
name = "emergency shower"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -4581,7 +4520,6 @@
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
active_power_usage = 0;
|
||||
dir = 2;
|
||||
icon_state = "bulb-broken";
|
||||
status = 2
|
||||
},
|
||||
@@ -4623,9 +4561,7 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"iL" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -4720,9 +4656,7 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"iU" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/machinery/vending/boozeomat,
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
dir = 5
|
||||
},
|
||||
@@ -5680,9 +5614,7 @@
|
||||
/obj/machinery/door/firedoor/closed{
|
||||
opacity = 0
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -5830,9 +5762,7 @@
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6048,9 +5978,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"lG" = (
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6224,9 +6152,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"mh" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
@@ -6237,7 +6163,6 @@
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
@@ -6271,7 +6196,6 @@
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"mm" = (
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "secure";
|
||||
locked = 0;
|
||||
name = "kitchen Cabinet";
|
||||
req_access_txt = "201"
|
||||
@@ -6375,9 +6299,7 @@
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"mx" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
@@ -6786,18 +6708,6 @@
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"nu" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"nw" = (
|
||||
/obj/machinery/washing_machine,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
@@ -6842,9 +6752,7 @@
|
||||
pixel_x = 23;
|
||||
req_access = null
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
@@ -7088,18 +6996,6 @@
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"nW" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"nX" = (
|
||||
/obj/structure/chair/comfy/black{
|
||||
dir = 8
|
||||
@@ -7117,9 +7013,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/generic,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
@@ -7128,12 +7022,9 @@
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"nZ" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/turf/open/floor/plating{
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/main)
|
||||
"oa" = (
|
||||
@@ -7163,12 +7054,9 @@
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 251
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/main)
|
||||
"od" = (
|
||||
@@ -7203,7 +7091,6 @@
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "science";
|
||||
locked = 1;
|
||||
name = "scientist's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -36454,7 +36341,7 @@ hI
|
||||
hI
|
||||
hI
|
||||
hI
|
||||
nW
|
||||
lj
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -36711,7 +36598,7 @@ zZ
|
||||
nA
|
||||
nK
|
||||
Wf
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -36968,7 +36855,7 @@ zZ
|
||||
lM
|
||||
lN
|
||||
Wf
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -37225,7 +37112,7 @@ hI
|
||||
nB
|
||||
nL
|
||||
hI
|
||||
nW
|
||||
lj
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -40774,7 +40661,7 @@ du
|
||||
dx
|
||||
dC
|
||||
dI
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -41594,13 +41481,13 @@ hJ
|
||||
lM
|
||||
lN
|
||||
hI
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
dM
|
||||
dM
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
od
|
||||
ba
|
||||
ba
|
||||
@@ -41857,7 +41744,7 @@ nZ
|
||||
nZ
|
||||
nZ
|
||||
oc
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -42108,13 +41995,13 @@ hI
|
||||
nJ
|
||||
nR
|
||||
hJ
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
dM
|
||||
dM
|
||||
dM
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
oe
|
||||
ba
|
||||
@@ -42872,9 +42759,9 @@ lN
|
||||
hJ
|
||||
ba
|
||||
ba
|
||||
dM
|
||||
dM
|
||||
nu
|
||||
ba
|
||||
ba
|
||||
mO
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
|
||||
@@ -919,7 +919,6 @@
|
||||
/area/awaymission/research/interior/gateway)
|
||||
"ck" = (
|
||||
/obj/machinery/door/window/eastright{
|
||||
icon_state = "right";
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/landmark/awaystart,
|
||||
@@ -1363,16 +1362,6 @@
|
||||
"dc" = (
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dd" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/firing_pin/dna,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"de" = (
|
||||
/obj/structure/filingcabinet,
|
||||
/obj/structure/filingcabinet,
|
||||
@@ -1391,8 +1380,8 @@
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/dnainjector/xraymut,
|
||||
/obj/item/dnainjector/xraymut,
|
||||
/obj/item/dnainjector/glow,
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dg" = (
|
||||
@@ -1481,18 +1470,6 @@
|
||||
"do" = (
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/research/interior/security)
|
||||
"dp" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/dnainjector/telemut,
|
||||
/obj/item/dnainjector/telemut,
|
||||
/obj/item/dnainjector/chavmut,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dq" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
@@ -1743,8 +1720,6 @@
|
||||
"dJ" = (
|
||||
/obj/structure/rack,
|
||||
/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/clothing/head/helmet/alt,
|
||||
/obj/item/clothing/head/helmet/alt,
|
||||
/obj/machinery/light/small{
|
||||
dir = 4
|
||||
@@ -1769,19 +1744,19 @@
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dL" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/disk/data{
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off with the words 'DO NOT CLONE' hastily written over it.";
|
||||
fields = list("label" = "Buffer1:George Melons", "UI" = "3c300f11b5421ca7014d8", "SE" = "430431205660551642142504334461413202111310233445620533134255", "UE" = "6893e6a0b0076a41897776b10cc2b324", "name" = "George Melons", "blood_type" = "B+");
|
||||
name = "old genetics data disk"
|
||||
},
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/firing_pin/dna,
|
||||
/obj/item/dnainjector/dwarf,
|
||||
/obj/item/dnainjector/dwarf,
|
||||
/obj/item/disk/data{
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off.";
|
||||
fields = list("label" = "Buffer1:Kr-$$@##", "UI" = "f8f603857000f930127c4", "SE" = "414401462231053131010241514651403453121613263463440351136366", "UE" = "340008485c321e542aed4df7032ac04d", "name" = "Krystal Symers", "blood_type" = "A+");
|
||||
name = "dusty genetics data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/dnainjector/insulated,
|
||||
/obj/item/gun/energy/disabler,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dM" = (
|
||||
@@ -1792,11 +1767,13 @@
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off.";
|
||||
fields = list("label" = "Buffer1:Kr-$$@##", "UI" = "f8f603857000f930127c4", "SE" = "414401462231053131010241514651403453121613263463440351136366", "UE" = "340008485c321e542aed4df7032ac04d", "name" = "Krystal Symers", "blood_type" = "A+");
|
||||
name = "dusty genetics data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/dnainjector/chameleonmut,
|
||||
/obj/item/dnainjector/glow,
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dN" = (
|
||||
@@ -1890,7 +1867,6 @@
|
||||
"dU" = (
|
||||
/obj/structure/rack,
|
||||
/obj/item/gun/ballistic/automatic/wt550,
|
||||
/obj/item/gun/ballistic/automatic/wt550,
|
||||
/obj/item/ammo_box/magazine/wt550m9,
|
||||
/obj/item/ammo_box/magazine/wt550m9,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
@@ -2070,7 +2046,6 @@
|
||||
"ep" = (
|
||||
/obj/structure/rack,
|
||||
/obj/item/gun/ballistic/automatic/pistol/m1911,
|
||||
/obj/item/gun/ballistic/automatic/pistol/m1911,
|
||||
/obj/item/ammo_box/magazine/m45,
|
||||
/obj/item/ammo_box/magazine/m45,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
@@ -3071,7 +3046,6 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/airlock/highsecurity{
|
||||
aiDisabledIdScanner = 0;
|
||||
name = "Vault Storage";
|
||||
req_access_txt = "36"
|
||||
},
|
||||
@@ -3531,7 +3505,6 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/awaymission/research/interior/cryo)
|
||||
"gR" = (
|
||||
/obj/item/melee/classic_baton/telescopic,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 1
|
||||
},
|
||||
@@ -3542,6 +3515,7 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/melee/baton/cattleprod,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/awaymission/research/interior/cryo)
|
||||
"gS" = (
|
||||
@@ -3914,7 +3888,6 @@
|
||||
/area/awaymission/research/interior/cryo)
|
||||
"hw" = (
|
||||
/obj/machinery/computer/arcade{
|
||||
icon_state = "arcade";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/yellowsiding{
|
||||
@@ -4126,20 +4099,22 @@
|
||||
/area/awaymission/research/interior/security)
|
||||
"hS" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/clothing/head/collectable/petehat{
|
||||
name = "dusty hat"
|
||||
},
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines. This one has the initials 'C.P' marked on the front. ";
|
||||
name = "encrypted genetic data disk";
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off.";
|
||||
fields = list("label" = "Buffer1:Kr-$$@##", "UI" = "f8f603857000f930127c4", "SE" = "414401462231053131010241514651403453121613263463440351136366", "UE" = "340008485c321e542aed4df7032ac04d", "name" = "Krystal Symers", "blood_type" = "A+");
|
||||
name = "dusty genetics data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/clothing/head/collectable/petehat{
|
||||
name = "dusty hat"
|
||||
},
|
||||
/obj/item/firing_pin/dna,
|
||||
/obj/item/dnainjector/gigantism,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"hT" = (
|
||||
@@ -4150,12 +4125,13 @@
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/disk/data{
|
||||
desc = "A specialized data disk for holding critical genetic backup data. Without proper passwords, information will turn up blank on most DNA machines.";
|
||||
name = "encrypted genetic data disk";
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off.";
|
||||
fields = list("label" = "Buffer1:Kr-$$@##", "UI" = "f8f603857000f930127c4", "SE" = "414401462231053131010241514651403453121613263463440351136366", "UE" = "340008485c321e542aed4df7032ac04d", "name" = "Krystal Symers", "blood_type" = "A+");
|
||||
name = "dusty genetics data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/firing_pin/dna,
|
||||
/obj/item/dnainjector/hulkmut,
|
||||
/obj/item/dnainjector/antenna,
|
||||
/obj/item/clothing/suit/armor/vest,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"hU" = (
|
||||
@@ -4296,10 +4272,14 @@
|
||||
name = "encrypted genetic data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/firing_pin/dna/dredd,
|
||||
/obj/item/firing_pin/dna/dredd,
|
||||
/obj/item/dnainjector/lasereyesmut,
|
||||
/obj/item/dnainjector/lasereyesmut,
|
||||
/obj/item/disk/data{
|
||||
desc = "A data disk used to store cloning and genetic records. The name on the label appears to be scratched off.";
|
||||
fields = list("label" = "Buffer1:Kr-$$@##", "UI" = "f8f603857000f930127c4", "SE" = "414401462231053131010241514651403453121613263463440351136366", "UE" = "340008485c321e542aed4df7032ac04d", "name" = "Krystal Symers", "blood_type" = "A+");
|
||||
name = "dusty genetics data disk";
|
||||
read_only = 1
|
||||
},
|
||||
/obj/item/dnainjector/gigantism,
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"im" = (
|
||||
@@ -4603,7 +4583,6 @@
|
||||
/area/awaymission/research/interior/bathroom)
|
||||
"iN" = (
|
||||
/obj/machinery/shower{
|
||||
icon_state = "shower";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
@@ -6335,7 +6314,7 @@
|
||||
/area/space/nearstation)
|
||||
"nb" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/book/granter/spell/random,
|
||||
/obj/item/book/granter/spell/smoke,
|
||||
/turf/open/floor/mineral/plasma,
|
||||
/area/space/nearstation)
|
||||
"nc" = (
|
||||
@@ -6460,6 +6439,11 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/maint)
|
||||
"Hs" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/book/granter/crafting_recipe/bone_bow,
|
||||
/turf/open/floor/mineral/plasma,
|
||||
/area/space/nearstation)
|
||||
"Km" = (
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
id_tag = "outerbrig";
|
||||
@@ -6582,6 +6566,11 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/escapepods)
|
||||
"ZZ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/book/granter/action/origami,
|
||||
/turf/open/floor/mineral/plasma,
|
||||
/area/space/nearstation)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -11121,8 +11110,8 @@ ab
|
||||
ab
|
||||
na
|
||||
nb
|
||||
nb
|
||||
nb
|
||||
Hs
|
||||
ZZ
|
||||
na
|
||||
ab
|
||||
ab
|
||||
@@ -31113,8 +31102,8 @@ ad
|
||||
ad
|
||||
ad
|
||||
cQ
|
||||
dd
|
||||
dp
|
||||
dL
|
||||
dL
|
||||
dL
|
||||
cQ
|
||||
dc
|
||||
@@ -31126,7 +31115,7 @@ cQ
|
||||
dc
|
||||
cQ
|
||||
hS
|
||||
dM
|
||||
il
|
||||
il
|
||||
cQ
|
||||
ad
|
||||
@@ -32399,7 +32388,7 @@ ad
|
||||
ad
|
||||
cQ
|
||||
df
|
||||
dd
|
||||
dM
|
||||
dM
|
||||
cQ
|
||||
dc
|
||||
@@ -32412,7 +32401,7 @@ dc
|
||||
cQ
|
||||
hT
|
||||
hT
|
||||
dd
|
||||
hT
|
||||
cQ
|
||||
ad
|
||||
ad
|
||||
|
||||
@@ -417,7 +417,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
@@ -1035,7 +1034,6 @@
|
||||
/area/awaymission/snowdin/post/research)
|
||||
"cE" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -1281,7 +1279,6 @@
|
||||
"cY" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -1329,7 +1326,6 @@
|
||||
"db" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -1389,7 +1385,6 @@
|
||||
"df" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -1861,7 +1856,6 @@
|
||||
/area/awaymission/snowdin/post)
|
||||
"em" = (
|
||||
/obj/machinery/power/apc{
|
||||
dir = 2;
|
||||
name = "Gateway APC";
|
||||
pixel_y = -24;
|
||||
req_access = 150
|
||||
@@ -1936,9 +1930,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/snowdin/post/messhall)
|
||||
"et" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/machinery/vending/boozeomat,
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
dir = 1
|
||||
@@ -1968,7 +1960,6 @@
|
||||
/area/awaymission/snowdin/post/messhall)
|
||||
"ew" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
@@ -2210,7 +2201,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
@@ -2411,7 +2401,6 @@
|
||||
/area/awaymission/snowdin/post/dorm)
|
||||
"fw" = (
|
||||
/obj/machinery/sleeper{
|
||||
icon_state = "sleeper";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
@@ -2631,7 +2620,6 @@
|
||||
/area/awaymission/snowdin/post/hydro)
|
||||
"fT" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/turf_decal/tile/green{
|
||||
@@ -3808,7 +3796,6 @@
|
||||
/area/awaymission/snowdin/post)
|
||||
"iu" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -4483,7 +4470,8 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/garage)
|
||||
"jL" = (
|
||||
/obj/vehicle/ridden/atv,
|
||||
/obj/vehicle/ridden/atv/snowmobile,
|
||||
/obj/item/key,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/garage)
|
||||
"jM" = (
|
||||
@@ -5060,8 +5048,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/garage)
|
||||
"lc" = (
|
||||
/obj/vehicle/ridden/atv,
|
||||
/obj/effect/decal/cleanable/oil,
|
||||
/obj/vehicle/ridden/atv/snowmobile,
|
||||
/obj/item/key,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/garage)
|
||||
"ld" = (
|
||||
@@ -5285,7 +5274,6 @@
|
||||
/area/awaymission/snowdin/post)
|
||||
"lv" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -5421,7 +5409,6 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -5468,7 +5455,6 @@
|
||||
/area/awaymission/snowdin/post/hydro)
|
||||
"lG" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 2;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
@@ -6601,7 +6587,6 @@
|
||||
/obj/item/ammo_box/a762,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "sec";
|
||||
locked = 1;
|
||||
name = "security officer's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -6800,7 +6785,6 @@
|
||||
/area/awaymission/snowdin/post/hydro)
|
||||
"ot" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -8715,7 +8699,6 @@
|
||||
/area/awaymission/snowdin/outside)
|
||||
"sW" = (
|
||||
/obj/machinery/power/turbine{
|
||||
dir = 2;
|
||||
luminosity = 2
|
||||
},
|
||||
/obj/structure/cable,
|
||||
@@ -9863,7 +9846,6 @@
|
||||
"wm" = (
|
||||
/obj/machinery/porta_turret/centcom_shuttle/weak{
|
||||
desc = "A turret built with substandard parts and run down further with age.";
|
||||
icon_state = "syndie_off";
|
||||
dir = 9;
|
||||
faction = list("pirate")
|
||||
},
|
||||
@@ -9958,7 +9940,6 @@
|
||||
},
|
||||
/obj/effect/light_emitter{
|
||||
light_color = "#FAA019";
|
||||
light_power = 1;
|
||||
light_range = 4;
|
||||
name = "fire light"
|
||||
},
|
||||
@@ -9990,7 +9971,6 @@
|
||||
/area/awaymission/snowdin/outside)
|
||||
"wC" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/light_emitter{
|
||||
@@ -11092,10 +11072,8 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"zq" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 8
|
||||
},
|
||||
/obj/vehicle/ridden/atv/snowmobile,
|
||||
/obj/item/key,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"zr" = (
|
||||
@@ -11412,12 +11390,6 @@
|
||||
/obj/item/clothing/suit/hooded/wintercoat,
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"Ah" = (
|
||||
/obj/structure/window/reinforced/fulltile/ice,
|
||||
/obj/structure/grille,
|
||||
/obj/item/clothing/suit/hooded/wintercoat,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"Ai" = (
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "platingdmg1"
|
||||
@@ -11588,7 +11560,6 @@
|
||||
},
|
||||
/obj/effect/light_emitter{
|
||||
light_color = "#FAA019";
|
||||
light_power = 1;
|
||||
light_range = 4;
|
||||
name = "fire light"
|
||||
},
|
||||
@@ -12299,7 +12270,6 @@
|
||||
desc = "It's a storage unit for a Syndicate boarding party."
|
||||
},
|
||||
/obj/effect/turf_decal/bot_white,
|
||||
/obj/item/gun/ballistic/automatic/pistol,
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
@@ -12345,7 +12315,6 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"CP" = (
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -12635,14 +12604,6 @@
|
||||
/obj/item/stack/rods,
|
||||
/turf/open/floor/mineral/plastitanium/red,
|
||||
/area/awaymission/snowdin/cave)
|
||||
"Ds" = (
|
||||
/obj/item/grenade/plastic/c4,
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/snowdin/cave)
|
||||
"Dt" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/structure/window/reinforced{
|
||||
@@ -12880,7 +12841,6 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"DU" = (
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -13215,26 +13175,14 @@
|
||||
/obj/item/toy/plush/nukeplushie,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/snowdin/cave)
|
||||
"EE" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/weather/snow,
|
||||
/obj/machinery/suit_storage_unit{
|
||||
state_open = 1
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium{
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180";
|
||||
planetary_atmos = 1;
|
||||
temperature = 180
|
||||
},
|
||||
/area/awaymission/snowdin/cave)
|
||||
"EF" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/weather/snow,
|
||||
/obj/machinery/suit_storage_unit/syndicate,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/security,
|
||||
/obj/item/tank/internals/emergency_oxygen/engi,
|
||||
/obj/structure/rack,
|
||||
/turf/open/floor/mineral/plastitanium{
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180";
|
||||
planetary_atmos = 1;
|
||||
@@ -13246,9 +13194,9 @@
|
||||
dir = 5
|
||||
},
|
||||
/obj/effect/turf_decal/weather/snow,
|
||||
/obj/machinery/suit_storage_unit{
|
||||
state_open = 1
|
||||
},
|
||||
/obj/item/clothing/suit/hooded/wintercoat/security,
|
||||
/obj/item/tank/internals/emergency_oxygen/engi,
|
||||
/obj/structure/rack,
|
||||
/turf/open/floor/mineral/plastitanium{
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180";
|
||||
planetary_atmos = 1;
|
||||
@@ -13320,7 +13268,6 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"EN" = (
|
||||
/obj/machinery/sleeper/syndie{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/bot_white,
|
||||
@@ -13333,7 +13280,6 @@
|
||||
"EP" = (
|
||||
/obj/effect/turf_decal/bot_white,
|
||||
/obj/machinery/sleeper/syndie{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -13757,7 +13703,6 @@
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"FY" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "snowdin_belt_mine"
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
@@ -13780,8 +13725,7 @@
|
||||
/area/awaymission/snowdin/post/mining_main)
|
||||
"Gc" = (
|
||||
/obj/structure/statue/snow/snowman{
|
||||
anchored = 1;
|
||||
name = "snowman"
|
||||
anchored = 1
|
||||
},
|
||||
/obj/item/pickaxe/mini{
|
||||
pixel_x = 5;
|
||||
@@ -13868,7 +13812,6 @@
|
||||
"Gn" = (
|
||||
/obj/structure/plasticflaps,
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "snowdin_belt_mine"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -14054,7 +13997,6 @@
|
||||
output_dir = 2
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "snowdin_belt_mine"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -14170,7 +14112,6 @@
|
||||
/area/awaymission/snowdin/post/mining_main/mechbay)
|
||||
"Hk" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "snowdin_belt_mine"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -14286,11 +14227,9 @@
|
||||
/area/awaymission/snowdin/post/mining_main/mechbay)
|
||||
"HC" = (
|
||||
/obj/machinery/mineral/processing_unit{
|
||||
dir = 1;
|
||||
output_dir = 2
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "snowdin_belt_mine"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -14555,7 +14494,6 @@
|
||||
/area/awaymission/snowdin/post/mining_main/mechbay)
|
||||
"In" = (
|
||||
/obj/mecha/working/ripley/mining{
|
||||
icon_state = "ripley";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
@@ -14615,11 +14553,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/mining_main)
|
||||
"Ix" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/decal/cleanable/oil,
|
||||
/obj/vehicle/ridden/atv/snowmobile,
|
||||
/obj/item/key,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/mining_main)
|
||||
"Iy" = (
|
||||
@@ -27300,7 +27236,7 @@ oa
|
||||
dX
|
||||
yW
|
||||
yW
|
||||
Ah
|
||||
AX
|
||||
Av
|
||||
Lw
|
||||
yX
|
||||
@@ -36093,7 +36029,7 @@ CC
|
||||
El
|
||||
an
|
||||
an
|
||||
EE
|
||||
EF
|
||||
CC
|
||||
ae
|
||||
ae
|
||||
@@ -36607,7 +36543,7 @@ OF
|
||||
En
|
||||
Es
|
||||
Dp
|
||||
EE
|
||||
EF
|
||||
CC
|
||||
zh
|
||||
af
|
||||
@@ -38396,7 +38332,7 @@ CC
|
||||
CL
|
||||
CW
|
||||
Di
|
||||
Ds
|
||||
Di
|
||||
Di
|
||||
CC
|
||||
CX
|
||||
@@ -55604,7 +55540,7 @@ eL
|
||||
eJ
|
||||
tp
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
qi
|
||||
tp
|
||||
eJ
|
||||
@@ -56372,13 +56308,13 @@ eJ
|
||||
eJ
|
||||
tp
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
tv
|
||||
qi
|
||||
tt
|
||||
qi
|
||||
tv
|
||||
tt
|
||||
tz
|
||||
qi
|
||||
tp
|
||||
eJ
|
||||
@@ -57146,7 +57082,7 @@ eJ
|
||||
eJ
|
||||
tp
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
qi
|
||||
tp
|
||||
eJ
|
||||
@@ -69622,7 +69558,7 @@ tp
|
||||
qi
|
||||
tz
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
qi
|
||||
qi
|
||||
qi
|
||||
@@ -70385,7 +70321,7 @@ eJ
|
||||
gW
|
||||
tp
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
tp
|
||||
qi
|
||||
qi
|
||||
@@ -71159,7 +71095,7 @@ qi
|
||||
qi
|
||||
tp
|
||||
qi
|
||||
tt
|
||||
tz
|
||||
qi
|
||||
tp
|
||||
tp
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -261,9 +261,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"aO" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -423,7 +421,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "sec";
|
||||
locked = 1;
|
||||
name = "security officer's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -626,8 +623,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"bB" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5;
|
||||
level = 1
|
||||
dir = 5
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
@@ -652,8 +648,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"bD" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10;
|
||||
level = 1
|
||||
dir = 10
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -811,8 +806,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"bV" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10;
|
||||
level = 1
|
||||
dir = 10
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
@@ -1260,7 +1254,6 @@
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
@@ -1282,7 +1275,6 @@
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
@@ -1291,8 +1283,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"cV" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10;
|
||||
level = 1
|
||||
dir = 10
|
||||
},
|
||||
/turf/closed/wall/rust,
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
@@ -1428,7 +1419,6 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"dm" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
@@ -1448,9 +1438,7 @@
|
||||
layer = 5
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/green{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/green,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -1729,7 +1717,6 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/turf_decal/tile/green{
|
||||
@@ -1858,9 +1845,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -2125,15 +2110,6 @@
|
||||
icon_state = "platingdmg1"
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"eu" = (
|
||||
/turf/open/floor/plating{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
icon_plating = "asteroidplating";
|
||||
icon_state = "asteroidplating";
|
||||
temperature = 363.9
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/caves)
|
||||
"ev" = (
|
||||
/obj/item/clothing/under/misc/pj/red,
|
||||
/obj/structure/closet/secure_closet{
|
||||
@@ -2328,9 +2304,7 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/item/folder/red,
|
||||
/obj/machinery/door/window/southleft{
|
||||
base_state = "left";
|
||||
dir = 8;
|
||||
icon_state = "left";
|
||||
name = "Security Checkpoint";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -2369,9 +2343,7 @@
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/window/southleft{
|
||||
base_state = "left";
|
||||
dir = 4;
|
||||
icon_state = "left";
|
||||
name = "Hydroponics Desk";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -2508,9 +2480,7 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"fb" = (
|
||||
/obj/effect/turf_decal/tile/green{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/green,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -2568,7 +2538,6 @@
|
||||
network = list("uo45")
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "Hydroponics APC";
|
||||
pixel_y = -25;
|
||||
@@ -3055,15 +3024,13 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"gc" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5;
|
||||
level = 1
|
||||
dir = 5
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"gd" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10;
|
||||
level = 1
|
||||
dir = 10
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
@@ -3319,7 +3286,6 @@
|
||||
amount = 23
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
@@ -3327,7 +3293,6 @@
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/toolbox/mechanical,
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
@@ -3452,7 +3417,6 @@
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Research Lab";
|
||||
dir = 2;
|
||||
network = list("uo45","uo45r")
|
||||
},
|
||||
/turf/open/floor/plasteel/white{
|
||||
@@ -3461,7 +3425,6 @@
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"gZ" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/white{
|
||||
@@ -3614,9 +3577,7 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/crew_quarters)
|
||||
"ho" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/machinery/vending/boozeomat,
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
dir = 1
|
||||
@@ -4531,8 +4492,7 @@
|
||||
/area/awaymission/undergroundoutpost45/gateway)
|
||||
"iX" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10;
|
||||
level = 1
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
@@ -4626,7 +4586,6 @@
|
||||
/area/awaymission/undergroundoutpost45/crew_quarters)
|
||||
"jf" = (
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "secure";
|
||||
locked = 0;
|
||||
name = "kitchen Cabinet";
|
||||
req_access_txt = "201"
|
||||
@@ -5169,7 +5128,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "rd";
|
||||
locked = 1;
|
||||
name = "research director's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -5934,7 +5892,6 @@
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Gateway Ready Room";
|
||||
dir = 2;
|
||||
network = list("uo45","uo45r")
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
@@ -5971,7 +5928,6 @@
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "sec";
|
||||
locked = 1;
|
||||
name = "security officer's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -6029,9 +5985,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6041,9 +5995,7 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6064,9 +6016,7 @@
|
||||
dir = 1;
|
||||
network = list("uo45","uo45r")
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6081,9 +6031,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6096,9 +6044,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6115,9 +6061,7 @@
|
||||
name = "Research Division Access";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6130,9 +6074,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6151,9 +6093,7 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6171,9 +6111,7 @@
|
||||
pixel_y = -24
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6183,7 +6121,6 @@
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Research Division APC";
|
||||
pixel_y = -25;
|
||||
@@ -6196,9 +6133,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6211,9 +6146,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6234,9 +6167,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6245,17 +6176,13 @@
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"lM" = (
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6270,9 +6197,7 @@
|
||||
dir = 1;
|
||||
network = list("uo45","uo45r")
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6408,7 +6333,6 @@
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Engineering Secure Storage";
|
||||
dir = 2;
|
||||
network = list("uo45")
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
@@ -6472,7 +6396,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -6547,9 +6470,7 @@
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -6744,7 +6665,6 @@
|
||||
"mE" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Gateway APC";
|
||||
pixel_y = -25;
|
||||
@@ -7392,9 +7312,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plasteel/dark{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -7409,9 +7327,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel/dark{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -7495,7 +7411,6 @@
|
||||
},
|
||||
/obj/machinery/computer/security/telescreen{
|
||||
desc = "Used for monitoring the research division and the labs within.";
|
||||
dir = 2;
|
||||
name = "research monitor";
|
||||
network = list("uo45r")
|
||||
},
|
||||
@@ -7687,7 +7602,6 @@
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Dormitories";
|
||||
dir = 2;
|
||||
network = list("uo45")
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
@@ -7943,8 +7857,7 @@
|
||||
charge = 1.5e+006;
|
||||
input_level = 10000;
|
||||
inputting = 0;
|
||||
output_level = 7000;
|
||||
outputting = 1
|
||||
output_level = 7000
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
@@ -7956,8 +7869,7 @@
|
||||
charge = 1.5e+006;
|
||||
input_level = 30000;
|
||||
inputting = 0;
|
||||
output_level = 7000;
|
||||
outputting = 1
|
||||
output_level = 7000
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
@@ -8091,9 +8003,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -8121,9 +8031,7 @@
|
||||
"oJ" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -8164,9 +8072,7 @@
|
||||
/area/awaymission/undergroundoutpost45/crew_quarters)
|
||||
"oM" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -8281,7 +8187,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -8296,7 +8201,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/port_gen/pacman/super{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/item/wrench,
|
||||
@@ -8315,7 +8219,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
desc = "A portable generator for emergency backup power.";
|
||||
name = "P.A.C.M.A.N.-type portable generator"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -8676,7 +8579,6 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"pE" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos{
|
||||
dir = 2;
|
||||
icon_state = "in";
|
||||
id_tag = "UO45_air_out";
|
||||
name = "air out"
|
||||
@@ -8688,7 +8590,6 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"pF" = (
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos{
|
||||
dir = 2;
|
||||
id = "UO45_air_in"
|
||||
},
|
||||
/turf/open/floor/engine/air,
|
||||
@@ -9012,7 +8913,6 @@
|
||||
/obj/item/clothing/glasses/hud/health,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/white/corner{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
@@ -9025,7 +8925,6 @@
|
||||
/obj/item/hand_labeler,
|
||||
/obj/item/clothing/neck/stethoscope,
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
@@ -9248,7 +9147,6 @@
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Atmospherics";
|
||||
dir = 2;
|
||||
network = list("uo45")
|
||||
},
|
||||
/obj/structure/table,
|
||||
@@ -9257,7 +9155,6 @@
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/item/multitool,
|
||||
@@ -9303,21 +9200,15 @@
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"qN" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -9560,7 +9451,6 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"rl" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/structure/tank_dispenser{
|
||||
@@ -9643,7 +9533,6 @@
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 8;
|
||||
locked = 1;
|
||||
name = "UO45 Engineering APC";
|
||||
pixel_x = -25;
|
||||
req_access = null;
|
||||
@@ -9683,7 +9572,6 @@
|
||||
/obj/item/clothing/head/helmet,
|
||||
/obj/structure/closet/secure_closet{
|
||||
icon_state = "sec";
|
||||
locked = 1;
|
||||
name = "security officer's locker";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -9750,11 +9638,8 @@
|
||||
"rx" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/cyan/visible,
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -10167,9 +10052,7 @@
|
||||
name = "Privacy Shutters"
|
||||
},
|
||||
/obj/machinery/door/window/southleft{
|
||||
base_state = "left";
|
||||
dir = 4;
|
||||
icon_state = "left";
|
||||
name = "Engineering Reception";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -10260,7 +10143,6 @@
|
||||
"sj" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Mining APC";
|
||||
pixel_y = -25;
|
||||
@@ -10280,9 +10162,7 @@
|
||||
},
|
||||
/obj/item/storage/backpack/satchel/eng,
|
||||
/obj/item/clothing/gloves/fingerless,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -10290,8 +10170,7 @@
|
||||
"sk" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
dir = 8;
|
||||
name = "Mix to Distro";
|
||||
on = 0
|
||||
name = "Mix to Distro"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
@@ -10955,9 +10834,7 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/crew_quarters)
|
||||
"tv" = (
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
|
||||
dir = 2
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
@@ -10969,9 +10846,7 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"tw" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
|
||||
dir = 2
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4;
|
||||
layer = 2.9
|
||||
@@ -11145,8 +11020,7 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"tK" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5;
|
||||
level = 1
|
||||
dir = 5
|
||||
},
|
||||
/turf/closed/wall/rust,
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
@@ -11404,11 +11278,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -11716,17 +11587,13 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"uL" = (
|
||||
/obj/machinery/atmospherics/components/binary/valve{
|
||||
dir = 2
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/valve,
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"uM" = (
|
||||
/obj/machinery/atmospherics/components/binary/valve{
|
||||
dir = 2
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/valve,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
@@ -11813,8 +11680,7 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"uV" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5;
|
||||
level = 1
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/chair/office/dark{
|
||||
dir = 8
|
||||
@@ -12342,9 +12208,7 @@
|
||||
/obj/structure/sign/warning/electricshock{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/machinery/vending/engivend{
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/machinery/vending/engivend,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Engineering Foyer";
|
||||
dir = 1;
|
||||
@@ -12402,11 +12266,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -12415,11 +12276,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -12428,11 +12286,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 2;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
@@ -13274,7 +13129,6 @@
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"xl" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "UO45_mining"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -13328,7 +13182,6 @@
|
||||
/area/awaymission/undergroundoutpost45/mining)
|
||||
"xq" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "UO45_mining"
|
||||
},
|
||||
/obj/structure/sign/warning/nosmoking{
|
||||
@@ -13383,8 +13236,7 @@
|
||||
/area/awaymission/undergroundoutpost45/mining)
|
||||
"xw" = (
|
||||
/obj/machinery/mineral/processing_unit{
|
||||
dir = 1;
|
||||
output_dir = 2
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
@@ -13468,7 +13320,6 @@
|
||||
/area/awaymission/undergroundoutpost45/mining)
|
||||
"xE" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "UO45_mining"
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
@@ -13604,7 +13455,6 @@
|
||||
/area/awaymission/undergroundoutpost45/mining)
|
||||
"xS" = (
|
||||
/obj/machinery/mech_bay_recharge_port{
|
||||
icon_state = "recharge_port";
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -42626,7 +42476,7 @@ tT
|
||||
gy
|
||||
uN
|
||||
hH
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
ad
|
||||
ad
|
||||
@@ -42883,7 +42733,7 @@ tU
|
||||
uw
|
||||
uO
|
||||
vk
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
ad
|
||||
@@ -43140,7 +42990,7 @@ tV
|
||||
ux
|
||||
uP
|
||||
hH
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
@@ -48811,7 +48661,7 @@ ww
|
||||
xZ
|
||||
yc
|
||||
ww
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
@@ -49068,7 +48918,7 @@ xX
|
||||
ya
|
||||
yd
|
||||
yf
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
@@ -49325,7 +49175,7 @@ xY
|
||||
yb
|
||||
ye
|
||||
ww
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
@@ -51326,9 +51176,9 @@ ad
|
||||
ad
|
||||
ad
|
||||
ad
|
||||
eu
|
||||
eu
|
||||
eu
|
||||
eJ
|
||||
eJ
|
||||
eJ
|
||||
fn
|
||||
eJ
|
||||
eJ
|
||||
|
||||
@@ -50,15 +50,13 @@
|
||||
/turf/open/floor/circuit/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"an" = (
|
||||
/turf/open/floor/plasteel/cult{
|
||||
name = "engraved floor"
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"ao" = (
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"ap" = (
|
||||
/obj/machinery/wish_granter_dark,
|
||||
/obj/item/nullrod/claymore/glowing,
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"aq" = (
|
||||
@@ -69,54 +67,72 @@
|
||||
/obj/machinery/gateway{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"as" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"at" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"au" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"av" = (
|
||||
/obj/machinery/gateway/centeraway{
|
||||
calibrated = 0
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"aw" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"ax" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"ay" = (
|
||||
/obj/machinery/gateway,
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"az" = (
|
||||
/obj/machinery/gateway{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/circuit/green/off,
|
||||
/area/awaymission/wildwest/vault)
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"aA" = (
|
||||
/obj/effect/meatgrinder,
|
||||
/turf/open/floor/circuit/green/off,
|
||||
@@ -162,9 +178,7 @@
|
||||
/area/awaymission/wildwest/vault)
|
||||
"aL" = (
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/grinder,
|
||||
/turf/open/floor/plasteel/cult{
|
||||
name = "engraved floor"
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"aM" = (
|
||||
/turf/closed/mineral/silver,
|
||||
@@ -174,9 +188,7 @@
|
||||
/area/awaymission/wildwest/mines)
|
||||
"aO" = (
|
||||
/obj/effect/mob_spawn/human/corpse/syndicatecommando,
|
||||
/turf/open/floor/plasteel/cult{
|
||||
name = "engraved floor"
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/awaymission/wildwest/vault)
|
||||
"aP" = (
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
@@ -349,11 +361,6 @@
|
||||
/obj/structure/bed,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"bC" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/gun/ballistic,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"bD" = (
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/wood,
|
||||
@@ -595,17 +602,8 @@
|
||||
dir = 5
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"ch" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/gun/ballistic,
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
dir = 5
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"ci" = (
|
||||
/obj/structure/mineral_door/wood{
|
||||
icon_state = "wood"
|
||||
},
|
||||
/obj/structure/mineral_door/wood,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"cj" = (
|
||||
@@ -755,7 +753,7 @@
|
||||
/area/awaymission/wildwest/mines)
|
||||
"cL" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/twohanded/dualsaber,
|
||||
/obj/item/nullrod/claymore/saber/red,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/gov)
|
||||
"cM" = (
|
||||
@@ -767,9 +765,7 @@
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/gov)
|
||||
"cO" = (
|
||||
/obj/structure/mineral_door/wood{
|
||||
icon_state = "wood"
|
||||
},
|
||||
/obj/structure/mineral_door/wood,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/gov)
|
||||
"cP" = (
|
||||
@@ -946,17 +942,13 @@
|
||||
/turf/open/floor/carpet,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"dm" = (
|
||||
/obj/structure/mineral_door/wood{
|
||||
icon_state = "wood"
|
||||
},
|
||||
/obj/structure/mineral_door/wood,
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
/area/awaymission/wildwest/mines)
|
||||
"dn" = (
|
||||
/obj/structure/mineral_door/wood{
|
||||
icon_state = "wood"
|
||||
},
|
||||
/obj/structure/mineral_door/wood,
|
||||
/obj/effect/decal/cleanable/blood/tracks,
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
@@ -1048,9 +1040,7 @@
|
||||
},
|
||||
/area/awaymission/wildwest/gov)
|
||||
"dD" = (
|
||||
/obj/structure/mineral_door/wood{
|
||||
icon_state = "wood"
|
||||
},
|
||||
/obj/structure/mineral_door/wood,
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
@@ -1176,7 +1166,6 @@
|
||||
/area/awaymission/wildwest/gov)
|
||||
"dV" = (
|
||||
/obj/machinery/shower{
|
||||
icon_state = "shower";
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
@@ -1185,7 +1174,6 @@
|
||||
/area/awaymission/wildwest/mines)
|
||||
"dW" = (
|
||||
/obj/machinery/shower{
|
||||
icon_state = "shower";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
@@ -2009,10 +1997,6 @@
|
||||
/obj/machinery/photocopier,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"gm" = (
|
||||
/obj/item/gun/ballistic,
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/wildwest/mines)
|
||||
"gn" = (
|
||||
/mob/living/simple_animal/hostile/netherworld,
|
||||
/turf/open/floor/grass,
|
||||
@@ -2195,10 +2179,9 @@
|
||||
/area/awaymission/wildwest/mines)
|
||||
"gW" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/clothing/suit/space/syndicate/black/orange,
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black/orange,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/tank/internals/oxygen,
|
||||
/obj/item/clothing/suit/space/syndicate/blue,
|
||||
/obj/item/clothing/head/helmet/space/syndicate/blue,
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/awaymission/wildwest/refine)
|
||||
"gX" = (
|
||||
@@ -32762,9 +32745,9 @@ aT
|
||||
aN
|
||||
aN
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
ar
|
||||
au
|
||||
ax
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
@@ -33019,9 +33002,9 @@ aT
|
||||
aN
|
||||
aN
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
as
|
||||
av
|
||||
ay
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
@@ -33276,9 +33259,9 @@ aT
|
||||
aN
|
||||
aN
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
at
|
||||
aw
|
||||
az
|
||||
aT
|
||||
aT
|
||||
aT
|
||||
@@ -38117,7 +38100,7 @@ bu
|
||||
bz
|
||||
bM
|
||||
bM
|
||||
ch
|
||||
bM
|
||||
by
|
||||
bu
|
||||
bj
|
||||
@@ -39913,7 +39896,7 @@ bj
|
||||
bj
|
||||
aT
|
||||
bu
|
||||
bC
|
||||
bD
|
||||
bj
|
||||
bj
|
||||
bu
|
||||
@@ -46340,7 +46323,7 @@ aT
|
||||
bu
|
||||
bD
|
||||
bj
|
||||
bC
|
||||
bD
|
||||
cl
|
||||
bj
|
||||
bj
|
||||
@@ -47563,9 +47546,9 @@ aa
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ar
|
||||
au
|
||||
ax
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
@@ -47820,9 +47803,9 @@ aa
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
as
|
||||
av
|
||||
ay
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
@@ -48077,9 +48060,9 @@ aa
|
||||
aa
|
||||
ab
|
||||
ab
|
||||
at
|
||||
aw
|
||||
az
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
@@ -48850,7 +48833,7 @@ aa
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ao
|
||||
ap
|
||||
ao
|
||||
ab
|
||||
ab
|
||||
@@ -51159,7 +51142,7 @@ aa
|
||||
aa
|
||||
aa
|
||||
ab
|
||||
ap
|
||||
ao
|
||||
ao
|
||||
aq
|
||||
ab
|
||||
@@ -52283,7 +52266,7 @@ eX
|
||||
dj
|
||||
bj
|
||||
bu
|
||||
gm
|
||||
bj
|
||||
bj
|
||||
eM
|
||||
bj
|
||||
|
||||
@@ -32,4 +32,8 @@
|
||||
list("", "\improper S.T.E.A.L.T.H. pod MKVII", "A supply pod that, under normal circumstances, is completely invisible to conventional methods of detection. How are you even seeing this?"),\
|
||||
list("gondolapod", "gondola", "The silent walker. This one seems to be part of a delivery agency."),\
|
||||
list("", "", "")\
|
||||
)
|
||||
)
|
||||
|
||||
#define PACK_GOODY_NONE 0
|
||||
#define PACK_GOODY_PUBLIC 1 //can be bought by both privates and cargo
|
||||
#define PACK_GOODY_PRIVATE 2 //can be bought only by privates
|
||||
@@ -232,6 +232,10 @@
|
||||
#define COMSIG_LIVING_STATUS_STAGGER "living_stagger" //from base of mob/living/Stagger() (amount, update, ignore)
|
||||
#define COMPONENT_NO_STUN 1 //For all of them
|
||||
|
||||
#define COMSIG_LIVING_LIFE "life_tick" //from base of mob/living/Life() (seconds, times_fired)
|
||||
#define COMPONENT_INTERRUPT_LIFE_BIOLOGICAL 1 // interrupt biological processes
|
||||
#define COMPONENT_INTERRUPT_LIFE_PHYSICAL 2 // interrupt physical handling
|
||||
|
||||
// /mob/living/carbon signals
|
||||
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity))
|
||||
#define COMSIG_CARBON_IDENTITY_TRANSFERRED_TO "carbon_id_transferred_to" //from datum/dna/transfer_identity(): (datum/dna, transfer_SE)
|
||||
@@ -250,6 +254,9 @@
|
||||
#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled)
|
||||
#define COMSIG_OBJ_BREAK "obj_break" //from base of /obj/obj_break(): (damage_flag)
|
||||
#define COMSIG_OBJ_SETANCHORED "obj_setanchored" //called in /obj/structure/setAnchored(): (value)
|
||||
#define COMSIG_OBJ_ATTACK_GENERIC "obj_attack_generic" //from base of atom/animal_attack(): (/mob/user)
|
||||
#define COMPONENT_STOP_GENERIC_ATTACK 1
|
||||
|
||||
|
||||
// /machinery signals
|
||||
#define COMSIG_MACHINE_EJECT_OCCUPANT "eject_occupant" //from base of obj/machinery/dropContents() (occupant)
|
||||
|
||||
@@ -6,10 +6,26 @@
|
||||
#define RETURN_TYPE(X) set SpacemanDMM_return_type = X
|
||||
#define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X
|
||||
#define UNLINT(X) SpacemanDMM_unlint(X)
|
||||
#define SHOULD_NOT_OVERRIDE(X) set SpacemanDMM_should_not_override = X
|
||||
#define SHOULD_NOT_SLEEP(X) set SpacemanDMM_should_not_sleep = X
|
||||
#define SHOULD_BE_PURE(X) set SpacemanDMM_should_be_pure = X
|
||||
#define PRIVATE_PROC(X) set SpacemanDMM_private_proc = X
|
||||
#define PROTECTED_PROC(X) set SpacemanDMM_protected_proc = X
|
||||
#define VAR_FINAL var/SpacemanDMM_final
|
||||
#define VAR_PRIVATE var/SpacemanDMM_private
|
||||
#define VAR_PROTECTED var/SpacemanDMM_protected
|
||||
#else
|
||||
#define RETURN_TYPE(X)
|
||||
#define SHOULD_CALL_PARENT(X)
|
||||
#define UNLINT(X) X
|
||||
#define SHOULD_NOT_OVERRIDE(X)
|
||||
#define SHOULD_NOT_SLEEP(X)
|
||||
#define SHOULD_BE_PURE(X)
|
||||
#define PRIVATE_PROC(X)
|
||||
#define PROTECTED_PROC(X)
|
||||
#define VAR_FINAL var
|
||||
#define VAR_PRIVATE var
|
||||
#define VAR_PROTECTED var
|
||||
#endif
|
||||
|
||||
/world/proc/enable_debugger()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
for(var/file in args)
|
||||
src << browse_rsc(file)
|
||||
|
||||
/client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list("txt","log","htm", "html", "md"))
|
||||
/client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list("txt","log","htm", "html", "md", "json"))
|
||||
var/path = root
|
||||
|
||||
for(var/i=0, i<max_iterations, i++)
|
||||
|
||||
@@ -375,6 +375,8 @@ GLOBAL_LIST_EMPTY(species_list)
|
||||
override = TRUE
|
||||
if(HAS_TRAIT(M, TRAIT_SIXTHSENSE))
|
||||
override = TRUE
|
||||
if(SSticker.current_state == GAME_STATE_FINISHED)
|
||||
override = TRUE
|
||||
if(isnewplayer(M) && !override)
|
||||
continue
|
||||
if(M.stat != DEAD && !override)
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
for(var/antag_name in total_antagonists)
|
||||
var/list/L = total_antagonists[antag_name]
|
||||
log_game("[antag_name]s :[L.Join(", ")].")
|
||||
set_observer_default_invisibility(0, "<span class='warning'>The round is over! You are now visible to the living.</span>")
|
||||
|
||||
CHECK_TICK
|
||||
SSdbcore.SetRoundEnd()
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
if(check_click_intercept(params,A))
|
||||
return
|
||||
|
||||
if(notransform)
|
||||
if(mob_transforming)
|
||||
return
|
||||
|
||||
if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON)
|
||||
|
||||
@@ -23,7 +23,7 @@ SUBSYSTEM_DEF(npcpool)
|
||||
var/mob/living/simple_animal/SA = currentrun[currentrun.len]
|
||||
--currentrun.len
|
||||
|
||||
if(!SA.ckey && !SA.notransform)
|
||||
if(!SA.ckey && !SA.mob_transforming)
|
||||
if(SA.stat != DEAD)
|
||||
SA.handle_automated_movement()
|
||||
if(SA.stat != DEAD)
|
||||
|
||||
@@ -409,7 +409,7 @@ SUBSYSTEM_DEF(ticker)
|
||||
var/mob/living = player.transfer_character()
|
||||
if(living)
|
||||
qdel(player)
|
||||
living.notransform = TRUE
|
||||
living.mob_transforming = TRUE
|
||||
if(living.client)
|
||||
if (living.client.prefs && living.client.prefs.auto_ooc)
|
||||
if (living.client.prefs.chat_toggles & CHAT_OOC)
|
||||
@@ -423,7 +423,7 @@ SUBSYSTEM_DEF(ticker)
|
||||
/datum/controller/subsystem/ticker/proc/release_characters(list/livings)
|
||||
for(var/I in livings)
|
||||
var/mob/living/L = I
|
||||
L.notransform = FALSE
|
||||
L.mob_transforming = FALSE
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/send_tip_of_the_round()
|
||||
var/m
|
||||
|
||||
@@ -123,7 +123,9 @@
|
||||
trauma = _trauma
|
||||
return ..()
|
||||
|
||||
/mob/living/split_personality/Life()
|
||||
/mob/living/split_personality/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(QDELETED(body))
|
||||
qdel(src) //in case trauma deletion doesn't already do it
|
||||
|
||||
@@ -132,8 +134,6 @@
|
||||
trauma.switch_personalities()
|
||||
qdel(trauma)
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/split_personality/Login()
|
||||
..()
|
||||
to_chat(src, "<span class='notice'>As a split personality, you cannot do anything but observe. However, you will eventually gain control of your body, switching places with the current personality.</span>")
|
||||
|
||||
@@ -30,7 +30,7 @@ GLOBAL_LIST_EMPTY(cinematics)
|
||||
/datum/cinematic
|
||||
var/id = CINEMATIC_DEFAULT
|
||||
var/list/watching = list() //List of clients watching this
|
||||
var/list/locked = list() //Who had notransform set during the cinematic
|
||||
var/list/locked = list() //Who had mob_transforming set during the cinematic
|
||||
var/is_global = FALSE //Global cinematics will override mob-specific ones
|
||||
var/obj/screen/cinematic/screen
|
||||
var/datum/callback/special_callback //For special effects synced with animation (explosions after the countdown etc)
|
||||
@@ -45,7 +45,7 @@ GLOBAL_LIST_EMPTY(cinematics)
|
||||
GLOB.cinematics -= src
|
||||
QDEL_NULL(screen)
|
||||
for(var/mob/M in locked)
|
||||
M.notransform = FALSE
|
||||
M.mob_transforming = FALSE
|
||||
return ..()
|
||||
|
||||
/datum/cinematic/proc/play(watchers)
|
||||
@@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(cinematics)
|
||||
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M in watchers)
|
||||
M.notransform = TRUE //Should this be done for non-global cinematics or even at all ?
|
||||
M.mob_transforming = TRUE //Should this be done for non-global cinematics or even at all ?
|
||||
locked += M
|
||||
//Close watcher ui's
|
||||
SStgui.close_user_uis(M)
|
||||
@@ -79,7 +79,7 @@ GLOBAL_LIST_EMPTY(cinematics)
|
||||
M.client.screen += screen
|
||||
else
|
||||
if(is_global)
|
||||
M.notransform = TRUE
|
||||
M.mob_transforming = TRUE
|
||||
locked += M
|
||||
|
||||
//Actually play it
|
||||
@@ -254,4 +254,4 @@ Nuke.Explosion()
|
||||
|
||||
Narsie()
|
||||
-> Cinematic(CULT,world)
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
AM.visible_message("<span class='boldwarning'>[AM] falls into [parent]!</span>", "<span class='userdanger'>[oblivion_message]</span>")
|
||||
if (isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
L.notransform = TRUE
|
||||
L.mob_transforming = TRUE
|
||||
L.Paralyze(200)
|
||||
|
||||
var/oldtransform = AM.transform
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* omen.dm: For when you want someone to have a really bad day
|
||||
*
|
||||
* When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you,
|
||||
* or hitting your head really hard when you slip and fall, or... well, for now those two are all I have. More will come.
|
||||
*
|
||||
* Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.
|
||||
*/
|
||||
/datum/component/omen
|
||||
dupe_mode = COMPONENT_DUPE_UNIQUE
|
||||
|
||||
/// Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending
|
||||
var/obj/vessel
|
||||
|
||||
/datum/component/omen/Initialize(silent=FALSE, vessel)
|
||||
if(!isliving(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
var/mob/person = parent
|
||||
if(!silent)
|
||||
to_chat(person, "<span class='warning'>You get a bad feeling...</span>")
|
||||
src.vessel = vessel
|
||||
|
||||
/datum/component/omen/Destroy(force, silent)
|
||||
if(vessel)
|
||||
vessel.visible_message("<span class='warning'>[vessel] burns up in a sinister flash, taking an evil energy with it...</span>")
|
||||
vessel = null
|
||||
return ..()
|
||||
|
||||
/datum/component/omen/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/check_accident)
|
||||
RegisterSignal(parent, COMSIG_LIVING_STATUS_KNOCKDOWN, .proc/check_slip)
|
||||
RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/check_bless)
|
||||
|
||||
/datum/component/omen/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_STATUS_KNOCKDOWN, COMSIG_MOVABLE_MOVED, COMSIG_ADD_MOOD_EVENT))
|
||||
|
||||
/**
|
||||
* check_accident() is called each step we take
|
||||
*
|
||||
* While we're walking around, roll to see if there's any environmental hazards (currently only vending machines) on one of the adjacent tiles we can trigger.
|
||||
* We do the prob() at the beginning to A. add some tension for /when/ it will strike, and B. (more importantly) ameliorate the fact that we're checking up to 5 turfs's contents each time
|
||||
*/
|
||||
/datum/component/omen/proc/check_accident(atom/movable/our_guy)
|
||||
if(!prob(15))
|
||||
return
|
||||
for(var/t in get_adjacent_open_turfs(our_guy))
|
||||
var/turf/the_turf = t
|
||||
for(var/obj/machinery/vending/darth_vendor in the_turf)
|
||||
if(darth_vendor.tiltable)
|
||||
darth_vendor.tilt(our_guy)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/// If we get knocked down, see if we have a really bad slip and bash our head hard
|
||||
/datum/component/omen/proc/check_slip(mob/living/our_guy, amount)
|
||||
if(amount <= 0 || prob(50)) // 50% chance to bonk our head
|
||||
return
|
||||
|
||||
var/obj/item/bodypart/the_head = our_guy.get_bodypart(BODY_ZONE_HEAD)
|
||||
if(!the_head)
|
||||
return
|
||||
|
||||
playsound(get_turf(our_guy), "sound/effects/tableheadsmash.ogg", 90, TRUE)
|
||||
our_guy.visible_message("<span class='danger'>[our_guy] hits [our_guy.p_their()] head really badly falling down!</span>", "<span class='userdanger'>You hit your head really badly falling down!</span>")
|
||||
the_head.receive_damage(75)
|
||||
our_guy.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100)
|
||||
qdel(src)
|
||||
|
||||
/// Hijack the mood system to see if we get the blessing mood event to cancel the omen
|
||||
/datum/component/omen/proc/check_bless(mob/living/our_guy, category)
|
||||
if(category != "blessing")
|
||||
return
|
||||
to_chat(our_guy, "<span class='nicegreen'>You feel a horrible omen lifted off your shoulders!</span>")
|
||||
qdel(src)
|
||||
@@ -8,6 +8,8 @@
|
||||
var/list/faction = list("mining")
|
||||
|
||||
/datum/component/spawner/Initialize(_mob_types, _spawn_time, _faction, _spawn_text, _max_mobs)
|
||||
if(!isatom(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
if(_spawn_time)
|
||||
spawn_time=_spawn_time
|
||||
if(_mob_types)
|
||||
@@ -19,20 +21,25 @@
|
||||
if(_max_mobs)
|
||||
max_mobs=_max_mobs
|
||||
|
||||
RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), .proc/stop_spawning)
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/stop_spawning)
|
||||
RegisterSignal(parent, COMSIG_OBJ_ATTACK_GENERIC, .proc/on_attack_generic)
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/datum/component/spawner/process()
|
||||
try_spawn_mob()
|
||||
|
||||
|
||||
/datum/component/spawner/proc/stop_spawning(force, hint)
|
||||
/datum/component/spawner/proc/stop_spawning(datum/source, force, hint)
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
for(var/mob/living/simple_animal/L in spawned_mobs)
|
||||
if(L.nest == src)
|
||||
L.nest = null
|
||||
spawned_mobs = null
|
||||
|
||||
// Stopping clientless simple mobs' from indiscriminately bashing their own spawners due DestroySurroundings() et similars.
|
||||
/datum/component/spawner/proc/on_attack_generic(datum/source, mob/user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration)
|
||||
if(!user.client && ((user.faction & faction) || (user in spawned_mobs)))
|
||||
return COMPONENT_STOP_GENERIC_ATTACK
|
||||
|
||||
/datum/component/spawner/proc/try_spawn_mob()
|
||||
var/atom/P = parent
|
||||
if(spawned_mobs.len >= max_mobs)
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
to_chat(affected_mob, pick(stage5))
|
||||
if(QDELETED(affected_mob))
|
||||
return
|
||||
if(affected_mob.notransform)
|
||||
if(affected_mob.mob_transforming)
|
||||
return
|
||||
affected_mob.notransform = 1
|
||||
affected_mob.mob_transforming = 1
|
||||
for(var/obj/item/W in affected_mob.get_equipped_items(TRUE))
|
||||
affected_mob.dropItemToGround(W)
|
||||
for(var/obj/item/I in affected_mob.held_items)
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
|
||||
|
||||
/// Checking to see if we're gonna embed into a human
|
||||
/datum/element/embed/proc/checkEmbedMob(obj/item/weapon, mob/living/carbon/victim, hit_zone, datum/thrownthing/throwingdatum, forced=FALSE)
|
||||
if(!istype(victim) || HAS_TRAIT(victim, TRAIT_PIERCEIMMUNE))
|
||||
/datum/element/embed/proc/checkEmbedMob(obj/item/weapon, mob/living/carbon/victim, hit_zone, datum/thrownthing/throwingdatum, blocked = FALSE, forced = FALSE)
|
||||
if(blocked || !istype(victim) || HAS_TRAIT(victim, TRAIT_PIERCEIMMUNE))
|
||||
return
|
||||
|
||||
var/actual_chance = embed_chance
|
||||
@@ -89,7 +89,7 @@
|
||||
return
|
||||
|
||||
var/roll_embed = prob(actual_chance)
|
||||
var/pass = forced || ((((throwingdatum ? throwingdatum.speed : weapon.throw_speed) >= EMBED_THROWSPEED_THRESHOLD) || ignore_throwspeed_threshold) && roll_embed)
|
||||
var/pass = forced || ((((throwingdatum ? throwingdatum.speed : weapon.throw_speed) >= EMBED_THROWSPEED_THRESHOLD) || ignore_throwspeed_threshold) && roll_embed && (!HAS_TRAIT(victim, TRAIT_AUTO_CATCH_ITEM) || victim.incapacitated() || victim.get_active_held_item()))
|
||||
if(!pass)
|
||||
return
|
||||
|
||||
|
||||
@@ -81,11 +81,11 @@
|
||||
owner.adjustStaminaLoss(-0.5) //reduce stamina loss by 0.5 per tick, 10 per 2 seconds
|
||||
if(human_owner && human_owner.drunkenness)
|
||||
human_owner.drunkenness *= 0.997 //reduce drunkenness by 0.3% per tick, 6% per 2 seconds
|
||||
if(prob(20))
|
||||
if(carbon_owner)
|
||||
carbon_owner.handle_dreams()
|
||||
if(prob(10) && owner.health > owner.crit_threshold)
|
||||
owner.emote("snore")
|
||||
if(carbon_owner && !carbon_owner.dreaming && prob(2))
|
||||
carbon_owner.dream()
|
||||
// 2% per second, tick interval is in deciseconds
|
||||
if(prob((tick_interval+1) * 0.2) && owner.health > owner.crit_threshold)
|
||||
owner.emote("snore")
|
||||
|
||||
/datum/status_effect/staggered
|
||||
id = "staggered"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
var/id = "effect" //Used for screen alerts.
|
||||
var/duration = -1 //How long the status effect lasts in DECISECONDS. Enter -1 for an effect that never ends unless removed through some means.
|
||||
var/tick_interval = 10 //How many deciseconds between ticks, approximately. Leave at 10 for every second.
|
||||
var/next_tick //The scheduled time for the next tick.
|
||||
var/mob/living/owner //The mob affected by the status effect.
|
||||
var/on_remove_on_mob_delete = FALSE //if we call on_remove() when the mob is deleted
|
||||
var/examine_text //If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves
|
||||
@@ -31,7 +32,7 @@
|
||||
return
|
||||
if(duration != -1)
|
||||
duration = world.time + duration
|
||||
tick_interval = world.time + tick_interval
|
||||
next_tick = world.time + tick_interval
|
||||
if(alert_type)
|
||||
var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
|
||||
A.attached_effect = src //so the alert can reference us, if it needs to
|
||||
@@ -52,9 +53,9 @@
|
||||
if(!owner)
|
||||
qdel(src)
|
||||
return
|
||||
if(tick_interval < world.time)
|
||||
if(next_tick < world.time)
|
||||
tick()
|
||||
tick_interval = world.time + initial(tick_interval)
|
||||
next_tick = world.time + tick_interval
|
||||
if(duration != -1 && duration < world.time)
|
||||
qdel(src)
|
||||
|
||||
@@ -221,7 +222,7 @@
|
||||
threshold_crossed = FALSE //resets threshold effect if we fall below threshold so threshold effect can trigger again
|
||||
on_threshold_drop()
|
||||
if(stacks_added > 0)
|
||||
tick_interval += delay_before_decay //refreshes time until decay
|
||||
next_tick += delay_before_decay //refreshes time until decay
|
||||
stacks = min(stacks, max_stacks)
|
||||
status_overlay.icon_state = "[overlay_state][stacks]"
|
||||
status_underlay.icon_state = "[underlay_state][stacks]"
|
||||
|
||||
@@ -413,8 +413,8 @@
|
||||
// shock user with probability prb (if all connections & power are working)
|
||||
// returns TRUE if shocked, FALSE otherwise
|
||||
// The preceding comment was borrowed from the grille's shock script
|
||||
/obj/machinery/door/airlock/proc/shock(mob/user, prb)
|
||||
if(!hasPower()) // unpowered, no shock
|
||||
/obj/machinery/door/airlock/proc/shock(mob/living/user, prb)
|
||||
if(!istype(user) || !hasPower()) // unpowered, no shock
|
||||
return FALSE
|
||||
if(shockCooldown > world.time)
|
||||
return FALSE //Already shocked someone recently?
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
var/obj/item/reagent_containers/beaker
|
||||
var/static/list/drip_containers = typecacheof(list(/obj/item/reagent_containers/blood,
|
||||
/obj/item/reagent_containers/food,
|
||||
/obj/item/reagent_containers/glass))
|
||||
/obj/item/reagent_containers/glass,
|
||||
/obj/item/reagent_containers/chem_pack))
|
||||
|
||||
/obj/machinery/iv_drip/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
"Firefighter",
|
||||
"Odysseus",
|
||||
"Gygax",
|
||||
"Medical-Spec Gygax",
|
||||
"Durand",
|
||||
"H.O.N.K",
|
||||
"Phazon",
|
||||
|
||||
@@ -642,6 +642,304 @@
|
||||
user.visible_message("[user] unfastens Gygax Armor Plates.", "<span class='notice'>You unfasten Gygax Armor Plates.</span>")
|
||||
return TRUE
|
||||
|
||||
//Begin Medigax
|
||||
/datum/component/construction/unordered/mecha_chassis/medigax
|
||||
result = /datum/component/construction/mecha/medigax
|
||||
steps = list(
|
||||
/obj/item/mecha_parts/part/medigax_torso,
|
||||
/obj/item/mecha_parts/part/medigax_left_arm,
|
||||
/obj/item/mecha_parts/part/medigax_right_arm,
|
||||
/obj/item/mecha_parts/part/medigax_left_leg,
|
||||
/obj/item/mecha_parts/part/medigax_right_leg,
|
||||
/obj/item/mecha_parts/part/medigax_head
|
||||
)
|
||||
|
||||
/datum/component/construction/mecha/medigax
|
||||
result = /obj/mecha/medical/medigax
|
||||
base_icon = "medigax"
|
||||
steps = list(
|
||||
//1
|
||||
list(
|
||||
"key" = TOOL_WRENCH,
|
||||
"desc" = "The hydraulic systems are disconnected."
|
||||
),
|
||||
|
||||
//2
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_WRENCH,
|
||||
"desc" = "The hydraulic systems are connected."
|
||||
),
|
||||
|
||||
//3
|
||||
list(
|
||||
"key" = /obj/item/stack/cable_coil,
|
||||
"amount" = 5,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "The hydraulic systems are active."
|
||||
),
|
||||
|
||||
//4
|
||||
list(
|
||||
"key" = TOOL_WIRECUTTER,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "The wiring is added."
|
||||
),
|
||||
|
||||
//5
|
||||
list(
|
||||
"key" = /obj/item/circuitboard/mecha/gygax/main,
|
||||
"action" = ITEM_DELETE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "The wiring is adjusted."
|
||||
),
|
||||
|
||||
//6
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Central control module is installed."
|
||||
),
|
||||
|
||||
//7
|
||||
list(
|
||||
"key" = /obj/item/circuitboard/mecha/gygax/peripherals,
|
||||
"action" = ITEM_DELETE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "Central control module is secured."
|
||||
),
|
||||
|
||||
//8
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Peripherals control module is installed."
|
||||
),
|
||||
|
||||
//9
|
||||
list(
|
||||
"key" = /obj/item/circuitboard/mecha/gygax/targeting,
|
||||
"action" = ITEM_DELETE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "Peripherals control module is secured."
|
||||
),
|
||||
|
||||
//10
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Weapon control module is installed."
|
||||
),
|
||||
|
||||
//11
|
||||
list(
|
||||
"key" = /obj/item/stock_parts/scanning_module,
|
||||
"action" = ITEM_MOVE_INSIDE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "Weapon control module is secured."
|
||||
),
|
||||
|
||||
//12
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Scanner module is installed."
|
||||
),
|
||||
|
||||
//13
|
||||
list(
|
||||
"key" = /obj/item/stock_parts/capacitor,
|
||||
"action" = ITEM_MOVE_INSIDE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "Scanner module is secured."
|
||||
),
|
||||
|
||||
//14
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Capacitor is installed."
|
||||
),
|
||||
|
||||
//15
|
||||
list(
|
||||
"key" = /obj/item/stock_parts/cell,
|
||||
"action" = ITEM_MOVE_INSIDE,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "Capacitor is secured."
|
||||
),
|
||||
|
||||
//16
|
||||
list(
|
||||
"key" = TOOL_SCREWDRIVER,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "The power cell is installed."
|
||||
),
|
||||
|
||||
//17
|
||||
list(
|
||||
"key" = /obj/item/stack/sheet/metal,
|
||||
"amount" = 5,
|
||||
"back_key" = TOOL_SCREWDRIVER,
|
||||
"desc" = "The power cell is secured."
|
||||
),
|
||||
|
||||
//18
|
||||
list(
|
||||
"key" = TOOL_WRENCH,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "Internal armor is installed."
|
||||
),
|
||||
|
||||
//19
|
||||
list(
|
||||
"key" = TOOL_WELDER,
|
||||
"back_key" = TOOL_WRENCH,
|
||||
"desc" = "Internal armor is wrenched."
|
||||
),
|
||||
|
||||
//20
|
||||
list(
|
||||
"key" = /obj/item/mecha_parts/part/medigax_armor,
|
||||
"action" = ITEM_DELETE,
|
||||
"back_key" = TOOL_WELDER,
|
||||
"desc" = "Internal armor is welded."
|
||||
),
|
||||
|
||||
//21
|
||||
list(
|
||||
"key" = TOOL_WRENCH,
|
||||
"back_key" = TOOL_CROWBAR,
|
||||
"desc" = "External armor is installed."
|
||||
),
|
||||
|
||||
//22
|
||||
list(
|
||||
"key" = TOOL_WELDER,
|
||||
"back_key" = TOOL_WRENCH,
|
||||
"desc" = "External armor is wrenched."
|
||||
),
|
||||
|
||||
)
|
||||
|
||||
/datum/component/construction/mecha/medigax/action(datum/source, atom/used_atom, mob/user)
|
||||
return check_step(used_atom,user)
|
||||
|
||||
/datum/component/construction/mecha/medigax/custom_action(obj/item/I, mob/living/user, diff)
|
||||
if(!..())
|
||||
return FALSE
|
||||
|
||||
switch(index)
|
||||
if(1)
|
||||
user.visible_message("[user] connects [parent] hydraulic systems", "<span class='notice'>You connect [parent] hydraulic systems.</span>")
|
||||
if(2)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] activates [parent] hydraulic systems.", "<span class='notice'>You activate [parent] hydraulic systems.</span>")
|
||||
else
|
||||
user.visible_message("[user] disconnects [parent] hydraulic systems", "<span class='notice'>You disconnect [parent] hydraulic systems.</span>")
|
||||
if(3)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adds the wiring to [parent].", "<span class='notice'>You add the wiring to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] deactivates [parent] hydraulic systems.", "<span class='notice'>You deactivate [parent] hydraulic systems.</span>")
|
||||
if(4)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adjusts the wiring of [parent].", "<span class='notice'>You adjust the wiring of [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the wiring from [parent].", "<span class='notice'>You remove the wiring from [parent].</span>")
|
||||
if(5)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] disconnects the wiring of [parent].", "<span class='notice'>You disconnect the wiring of [parent].</span>")
|
||||
if(6)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the mainboard.", "<span class='notice'>You secure the mainboard.</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the central control module from [parent].", "<span class='notice'>You remove the central computer mainboard from [parent].</span>")
|
||||
if(7)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the mainboard.", "<span class='notice'>You unfasten the mainboard.</span>")
|
||||
if(8)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the peripherals control module.", "<span class='notice'>You secure the peripherals control module.</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the peripherals control module from [parent].", "<span class='notice'>You remove the peripherals control module from [parent].</span>")
|
||||
if(9)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the peripherals control module.", "<span class='notice'>You unfasten the peripherals control module.</span>")
|
||||
if(10)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the weapon control module.", "<span class='notice'>You secure the weapon control module.</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the weapon control module from [parent].", "<span class='notice'>You remove the weapon control module from [parent].</span>")
|
||||
if(11)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the weapon control module.", "<span class='notice'>You unfasten the weapon control module.</span>")
|
||||
if(12)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the scanner module.", "<span class='notice'>You secure the scanner module.</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the scanner module from [parent].", "<span class='notice'>You remove the scanner module from [parent].</span>")
|
||||
if(13)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the scanner module.", "<span class='notice'>You unfasten the scanner module.</span>")
|
||||
if(14)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the capacitor.", "<span class='notice'>You secure the capacitor.</span>")
|
||||
else
|
||||
user.visible_message("[user] removes the capacitor from [parent].", "<span class='notice'>You remove the capacitor from [parent].</span>")
|
||||
if(15)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the capacitor.", "<span class='notice'>You unfasten the capacitor.</span>")
|
||||
if(16)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the power cell.", "<span class='notice'>You secure the power cell.</span>")
|
||||
else
|
||||
user.visible_message("[user] pries the power cell from [parent].", "<span class='notice'>You pry the power cell from [parent].</span>")
|
||||
if(17)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the internal armor layer to [parent].", "<span class='notice'>You install the internal armor layer to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the power cell.", "<span class='notice'>You unfasten the power cell.</span>")
|
||||
if(18)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the internal armor layer.", "<span class='notice'>You secure the internal armor layer.</span>")
|
||||
else
|
||||
user.visible_message("[user] pries internal armor layer from [parent].", "<span class='notice'>You pry internal armor layer from [parent].</span>")
|
||||
if(19)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds the internal armor layer to [parent].", "<span class='notice'>You weld the internal armor layer to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens the internal armor layer.", "<span class='notice'>You unfasten the internal armor layer.</span>")
|
||||
if(20)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] cuts the internal armor layer from [parent].", "<span class='notice'>You cut the internal armor layer from [parent].</span>")
|
||||
if(21)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures Gygax Armor Plates.", "<span class='notice'>You secure Medical Gygax Armor Plates.</span>")
|
||||
else
|
||||
user.visible_message("[user] pries Gygax Armor Plates from [parent].", "<span class='notice'>You pry Medical Gygax Armor Plates from [parent].</span>")
|
||||
if(22)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds Gygax Armor Plates to [parent].", "<span class='notice'>You weld Medical Gygax Armor Plates to [parent].</span>")
|
||||
else
|
||||
user.visible_message("[user] unfastens Gygax Armor Plates.", "<span class='notice'>You unfasten Medical Gygax Armor Plates.</span>")
|
||||
return TRUE
|
||||
// End Medigax
|
||||
|
||||
/datum/component/construction/unordered/mecha_chassis/firefighter
|
||||
result = /datum/component/construction/mecha/firefighter
|
||||
steps = list(
|
||||
|
||||
@@ -129,6 +129,47 @@
|
||||
desc = "A set of armor plates designed for the Gygax. Designed to effectively deflect damage with a lightweight construction."
|
||||
icon_state = "gygax_armor"
|
||||
|
||||
///////// Medical Gygax
|
||||
|
||||
/obj/item/mecha_parts/chassis/medigax
|
||||
name = "\improper Medical Gygax chassis"
|
||||
construct_type = /datum/component/construction/unordered/mecha_chassis/medigax
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_torso
|
||||
name = "\improper Medical Gygax torso"
|
||||
desc = "A torso part of Gygax. Contains power unit, processing core and life support systems."
|
||||
icon_state = "medigax_harness"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_head
|
||||
name = "\improper Medical Gygax head"
|
||||
desc = "A Gygax head. Houses advanced surveillance and targeting sensors."
|
||||
icon_state = "medigax_head"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_left_arm
|
||||
name = "\improper Medical Gygax left arm"
|
||||
desc = "A Gygax left arm. Data and power sockets are compatible with most exosuit tools and weapons."
|
||||
icon_state = "medigax_l_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_right_arm
|
||||
name = "\improper Medical Gygax right arm"
|
||||
desc = "A Gygax right arm. Data and power sockets are compatible with most exosuit tools and weapons."
|
||||
icon_state = "medigax_r_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_left_leg
|
||||
name = "\improper Medical Gygax left leg"
|
||||
desc = "A Gygax left leg. Constructed with advanced servomechanisms and actuators to enable faster speed."
|
||||
icon_state = "medigax_l_leg"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_right_leg
|
||||
name = "\improper Medical Gygax right leg"
|
||||
desc = "A Gygax right leg. Constructed with advanced servomechanisms and actuators to enable faster speed."
|
||||
icon_state = "medigax_r_leg"
|
||||
|
||||
/obj/item/mecha_parts/part/medigax_armor
|
||||
gender = PLURAL
|
||||
name = "\improper Medical Gygax armor plates"
|
||||
desc = "A set of armor plates designed for the Gygax. Designed to effectively deflect damage with a lightweight construction."
|
||||
icon_state = "medigax_armor"
|
||||
|
||||
//////////// Durand
|
||||
|
||||
|
||||
@@ -125,6 +125,24 @@
|
||||
name = "\improper Dark Gygax wreckage"
|
||||
icon_state = "darkgygax-broken"
|
||||
|
||||
/obj/structure/mecha_wreckage/medigax
|
||||
name = "\improper Medical Gygax wreckage"
|
||||
icon_state = "medigax-broken"
|
||||
|
||||
/obj/structure/mecha_wreckage/medigax/Initialize()
|
||||
. = ..()
|
||||
var/list/parts = list(/obj/item/mecha_parts/part/medigax_torso,
|
||||
/obj/item/mecha_parts/part/medigax_head,
|
||||
/obj/item/mecha_parts/part/medigax_left_arm,
|
||||
/obj/item/mecha_parts/part/medigax_right_arm,
|
||||
/obj/item/mecha_parts/part/medigax_left_leg,
|
||||
/obj/item/mecha_parts/part/medigax_right_leg)
|
||||
for(var/i = 0; i < 2; i++)
|
||||
if(parts.len && prob(40))
|
||||
var/part = pick(parts)
|
||||
welder_salvage += part
|
||||
parts -= part
|
||||
|
||||
/obj/structure/mecha_wreckage/marauder
|
||||
name = "\improper Marauder wreckage"
|
||||
icon_state = "marauder-broken"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/obj/mecha/medical/medigax
|
||||
desc = "A Gygax with it's actuator overload stripped and a slick white paint scheme, for medical use, These exosuits are developed and produced by Vey-Med. (© All rights reserved)."
|
||||
name = "\improper Medical Gygax"
|
||||
icon_state = "medigax"
|
||||
step_in = 1.75 // a little faster than an odysseus
|
||||
max_temperature = 25000
|
||||
max_integrity = 250
|
||||
wreckage = /obj/structure/mecha_wreckage/odysseus
|
||||
armor = list("melee" = 25, "bullet" = 20, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
|
||||
internal_damage_threshold = 35
|
||||
deflect_chance = 15
|
||||
step_energy_drain = 6
|
||||
infra_luminosity = 6
|
||||
|
||||
|
||||
/obj/mecha/medical/medigax/moved_inside(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
if(.)
|
||||
var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
hud.add_hud_to(H)
|
||||
|
||||
/obj/mecha/medical/medigax/go_out()
|
||||
if(isliving(occupant))
|
||||
var/mob/living/carbon/human/L = occupant
|
||||
var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
hud.remove_hud_from(L)
|
||||
..()
|
||||
|
||||
/obj/mecha/medical/medigax/mmi_moved_inside(obj/item/mmi/mmi_as_oc, mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
var/mob/living/brain/B = mmi_as_oc.brainmob
|
||||
hud.add_hud_to(B)
|
||||
@@ -257,7 +257,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
. += "[src] is made of cold-resistant materials."
|
||||
if(resistance_flags & FIRE_PROOF)
|
||||
. += "[src] is made of fire-retardant materials."
|
||||
|
||||
|
||||
if(item_flags & (ITEM_CAN_BLOCK | ITEM_CAN_PARRY))
|
||||
var/datum/block_parry_data/data = return_block_parry_datum(block_parry_data)
|
||||
. += "[src] has the capacity to be used to block and/or parry. <a href='?src=[REF(data)];name=[name];block=[item_flags & ITEM_CAN_BLOCK];parry=[item_flags & ITEM_CAN_PARRY];render=1'>\[Show Stats\]</a>"
|
||||
@@ -635,6 +635,18 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
var/itempush = 1
|
||||
if(w_class < 4)
|
||||
itempush = 0 //too light to push anything
|
||||
if(isliving(hit_atom)) //Living mobs handle hit sounds differently.
|
||||
var/volume = get_volume_by_throwforce_and_or_w_class()
|
||||
if (throwforce > 0)
|
||||
if (throwhitsound)
|
||||
playsound(hit_atom, throwhitsound, volume, TRUE, -1)
|
||||
else if(hitsound)
|
||||
playsound(hit_atom, hitsound, volume, TRUE, -1)
|
||||
else
|
||||
playsound(hit_atom, 'sound/weapons/genhit.ogg',volume, TRUE, -1)
|
||||
else
|
||||
playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1)
|
||||
|
||||
return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum)
|
||||
|
||||
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE)
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
var/obj/effect/decal/cleanable/C = locate() in target
|
||||
qdel(C)
|
||||
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
target.clean_blood()
|
||||
SEND_SIGNAL(target, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM)
|
||||
target.wash_cream()
|
||||
return
|
||||
@@ -180,4 +181,4 @@
|
||||
name = "Canned Laughter"
|
||||
desc = "Just looking at this makes you want to giggle."
|
||||
icon_state = "laughter"
|
||||
list_reagents = list(/datum/reagent/consumable/laughter = 50)
|
||||
list_reagents = list(/datum/reagent/consumable/laughter = 50)
|
||||
|
||||
@@ -545,7 +545,7 @@
|
||||
to_chat(usr, "<span class='notice'>This unit already has an expand module installed!</span>")
|
||||
return FALSE
|
||||
|
||||
R.notransform = TRUE
|
||||
R.mob_transforming = TRUE
|
||||
var/prev_locked_down = R.locked_down
|
||||
R.SetLockdown(1)
|
||||
R.anchored = TRUE
|
||||
@@ -559,7 +559,7 @@
|
||||
if(!prev_locked_down)
|
||||
R.SetLockdown(0)
|
||||
R.anchored = FALSE
|
||||
R.notransform = FALSE
|
||||
R.mob_transforming = FALSE
|
||||
R.resize = 2
|
||||
R.hasExpanded = TRUE
|
||||
R.update_transform()
|
||||
|
||||
@@ -779,6 +779,9 @@ GLOBAL_LIST_INIT(plastic_recipes, list(
|
||||
/obj/item/stack/sheet/plastic/fifty
|
||||
amount = 50
|
||||
|
||||
/obj/item/stack/sheet/plastic/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/sheet/plastic/five
|
||||
amount = 5
|
||||
|
||||
|
||||
@@ -266,6 +266,9 @@
|
||||
/obj/item/stack/tile/carpet/blackred/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/blackred/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/blackred/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -275,6 +278,9 @@
|
||||
/obj/item/stack/tile/carpet/monochrome/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/monochrome/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/monochrome/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -284,6 +290,9 @@
|
||||
/obj/item/stack/tile/carpet/blue/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/blue/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/blue/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -293,6 +302,9 @@
|
||||
/obj/item/stack/tile/carpet/cyan/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/cyan/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/cyan/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -302,6 +314,9 @@
|
||||
/obj/item/stack/tile/carpet/green/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/green/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/green/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -311,6 +326,9 @@
|
||||
/obj/item/stack/tile/carpet/orange/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/orange/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/orange/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -320,6 +338,9 @@
|
||||
/obj/item/stack/tile/carpet/purple/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/purple/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/purple/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -329,6 +350,9 @@
|
||||
/obj/item/stack/tile/carpet/red/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/red/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/red/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -338,6 +362,9 @@
|
||||
/obj/item/stack/tile/carpet/royalblack/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/royalblack/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/royalblack/fifty
|
||||
amount = 50
|
||||
|
||||
@@ -347,6 +374,9 @@
|
||||
/obj/item/stack/tile/carpet/royalblue/twenty
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/carpet/royalblue/thirty
|
||||
amount = 30
|
||||
|
||||
/obj/item/stack/tile/carpet/royalblue/fifty
|
||||
amount = 50
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
STR.storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT
|
||||
STR.max_volume = STORAGE_VOLUME_CHEMISTRY_BAG
|
||||
STR.insert_preposition = "in"
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/syringe/dart))
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/syringe/dart, /obj/item/reagent_containers/chem_pack))
|
||||
|
||||
/*
|
||||
* Biowaste bag (mostly for xenobiologists)
|
||||
|
||||
@@ -180,7 +180,8 @@
|
||||
/obj/item/implantcase,
|
||||
/obj/item/implant,
|
||||
/obj/item/implanter,
|
||||
/obj/item/pinpointer/crew
|
||||
/obj/item/pinpointer/crew,
|
||||
/obj/item/reagent_containers/chem_pack
|
||||
))
|
||||
|
||||
/obj/item/storage/belt/medical/surgery_belt_adv
|
||||
|
||||
@@ -138,6 +138,22 @@
|
||||
icon_type = "cigarette"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette
|
||||
custom_price = PRICE_ALMOST_CHEAP
|
||||
var/spawn_coupon = TRUE
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/attack_self(mob/user)
|
||||
if(contents.len == 0 && spawn_coupon)
|
||||
to_chat(user, "<span class='notice'>You rip the back off \the [src] and get a coupon!</span>")
|
||||
var/obj/item/coupon/attached_coupon = new
|
||||
user.put_in_hands(attached_coupon)
|
||||
attached_coupon.generate()
|
||||
attached_coupon = null
|
||||
spawn_coupon = FALSE
|
||||
name = "discarded cigarette packet"
|
||||
desc = "An old cigarette packet with the back torn off, worth less than nothing now."
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 0
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -148,6 +164,8 @@
|
||||
/obj/item/storage/fancy/cigarettes/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to extract contents.</span>"
|
||||
if(spawn_coupon)
|
||||
. += "<span class='notice'>There's a coupon on the back of the pack! You can tear it off once it's empty.</span>"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/AltClick(mob/living/carbon/user)
|
||||
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
@@ -308,6 +326,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
icon_type = "premium cigar"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/cigar
|
||||
spawn_coupon = FALSE
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -418,7 +418,8 @@
|
||||
/obj/item/circuitboard/computer/crew,
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/mineral/silver,
|
||||
/obj/item/organ_storage
|
||||
/obj/item/organ_storage,
|
||||
/obj/item/reagent_containers/chem_pack
|
||||
))
|
||||
|
||||
//hijacking the minature first aids for hypospray boxes. <3
|
||||
|
||||
@@ -188,19 +188,52 @@
|
||||
new /obj/item/clothing/accessory/medal/plasma/nobel_science(src)
|
||||
|
||||
/obj/item/storage/lockbox/medal/engineering
|
||||
name = "engineering medal box"
|
||||
desc = "A locked box used to store medals to be given to the members of the engineering department."
|
||||
req_access = list(ACCESS_CE)
|
||||
name = "engineering medal box"
|
||||
desc = "A locked box used to store medals to be given to the members of the engineering department."
|
||||
req_access = list(ACCESS_CE)
|
||||
|
||||
/obj/item/storage/lockbox/medal/engineering/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/engineer(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/engineer(src)
|
||||
|
||||
/obj/item/storage/lockbox/medal/medical
|
||||
name = "medical medal box"
|
||||
desc = "A locked box used to store medals to be given to the members of the medical department."
|
||||
req_access = list(ACCESS_CMO)
|
||||
name = "medical medal box"
|
||||
desc = "A locked box used to store medals to be given to the members of the medical department."
|
||||
req_access = list(ACCESS_CMO)
|
||||
|
||||
/obj/item/storage/lockbox/medal/medical/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/ribbon/medical_doctor(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/ribbon/medical_doctor(src)
|
||||
|
||||
/obj/item/storage/lockbox/order
|
||||
name = "order lockbox"
|
||||
desc = "A box used to secure small cargo orders from being looted by those who didn't order it. Yeah, cargo tech, that means you."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "secure"
|
||||
item_state = "sec-case"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
var/datum/bank_account/buyer_account
|
||||
var/privacy_lock = TRUE
|
||||
|
||||
/obj/item/storage/lockbox/order/Initialize(datum/bank_account/_buyer_account)
|
||||
. = ..()
|
||||
buyer_account = _buyer_account
|
||||
|
||||
/obj/item/storage/lockbox/order/attackby(obj/item/W, mob/user, params)
|
||||
if(!istype(W, /obj/item/card/id))
|
||||
return ..()
|
||||
|
||||
var/obj/item/card/id/id_card = W
|
||||
if(iscarbon(user))
|
||||
add_fingerprint(user)
|
||||
|
||||
if(id_card.registered_account != buyer_account)
|
||||
to_chat(user, "<span class='notice'>Bank account does not match with buyer!</span")
|
||||
return
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, !privacy_lock)
|
||||
privacy_lock = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)
|
||||
user.visible_message("<span class='notice'>[user] [privacy_lock ? "" : "un"]locks [src]'s privacy lock.</span>",
|
||||
"<span class='notice'>You [privacy_lock ? "" : "un"]lock [src]'s privacy lock.</span>")
|
||||
|
||||
@@ -103,6 +103,8 @@
|
||||
take_damage(400, BRUTE, "melee", 0, get_dir(src, B))
|
||||
|
||||
/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) //used by attack_alien, attack_animal, and attack_slime
|
||||
if(SEND_SIGNAL(src, COMSIG_OBJ_ATTACK_GENERIC, user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration) & COMPONENT_STOP_GENERIC_ATTACK)
|
||||
return FALSE
|
||||
user.do_attack_animation(src)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration)
|
||||
|
||||
@@ -6,8 +6,16 @@
|
||||
max_integrity = 250
|
||||
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
|
||||
secure = TRUE
|
||||
var/melee_min_damage = 20
|
||||
|
||||
/obj/structure/closet/secure_closet/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if(damage_flag == "melee" && damage_amount < 20)
|
||||
if(damage_flag == "melee" && damage_amount < melee_min_damage)
|
||||
return 0
|
||||
. = ..()
|
||||
. = ..()
|
||||
|
||||
// Exists to work around the minimum 700 cr price for goodies / small items
|
||||
/obj/structure/closet/secure_closet/goodies
|
||||
icon_state = "goodies"
|
||||
desc = "A sturdier card-locked storage unit used for bulky shipments."
|
||||
max_integrity = 500 // Same as crates.
|
||||
melee_min_damage = 25 // Idem.
|
||||
|
||||
@@ -134,6 +134,8 @@
|
||||
if(!ishuman(pushed_mob))
|
||||
return
|
||||
var/mob/living/carbon/human/H = pushed_mob
|
||||
if(iscatperson(H))
|
||||
H.emote("nya")
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table)
|
||||
|
||||
/obj/structure/table/shove_act(mob/living/target, mob/living/user)
|
||||
|
||||
@@ -87,6 +87,11 @@
|
||||
smooth = SMOOTH_TRUE
|
||||
explosion_block = INFINITY
|
||||
|
||||
/turf/closed/indestructible/syndicate
|
||||
icon = 'icons/turf/walls/plastitanium_wall.dmi'
|
||||
icon_state = "map-shuttle"
|
||||
smooth = SMOOTH_TRUE
|
||||
|
||||
/turf/closed/indestructible/riveted/uranium
|
||||
icon = 'icons/turf/walls/uranium_wall.dmi'
|
||||
icon_state = "uranium"
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
if(floor_tile)
|
||||
if(prob(70))
|
||||
remove_tile()
|
||||
else if(prob(50))
|
||||
else if(prob(50) && (/turf/open/space in baseturfs))
|
||||
ReplaceWithLattice()
|
||||
|
||||
/turf/open/floor/narsie_act(force, ignore_mobs, probability = 20)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
/obj/structure/fluff/iced_abductor ///Unless more non-machine ayy structures made, it will stay in fluff.
|
||||
name = "Mysterious Block of Ice"
|
||||
desc = "A shadowy figure lies in this sturdy-looking block of ice. Who knows where it came from?"
|
||||
icon = 'icons/effects/freeze.dmi'
|
||||
icon_state = "ice_ayy"
|
||||
density = TRUE
|
||||
deconstructible = FALSE
|
||||
|
||||
/obj/structure/fluff/iced_abductor/Destroy()
|
||||
var/turf/T = get_turf(src)
|
||||
new /obj/effect/mob_spawn/human/abductor(T)
|
||||
. = ..()
|
||||
@@ -103,7 +103,9 @@
|
||||
factory.spores += src
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/Life()
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(!is_zombie && isturf(src.loc))
|
||||
for(var/mob/living/carbon/human/H in view(src,1)) //Only for corpse right next to/on same tile
|
||||
if(H.stat == DEAD)
|
||||
@@ -111,7 +113,6 @@
|
||||
break
|
||||
if(factory && z != factory.z)
|
||||
death()
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/proc/Zombify(mob/living/carbon/human/H)
|
||||
is_zombie = 1
|
||||
@@ -233,39 +234,40 @@
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobbernaut/Life()
|
||||
if(..())
|
||||
var/list/blobs_in_area = range(2, src)
|
||||
if(independent)
|
||||
return // strong independent blobbernaut that don't need no blob
|
||||
var/damagesources = 0
|
||||
if(!(locate(/obj/structure/blob) in blobs_in_area))
|
||||
damagesources++
|
||||
if(!factory)
|
||||
damagesources++
|
||||
else
|
||||
if(locate(/obj/structure/blob/core) in blobs_in_area)
|
||||
adjustHealth(-maxHealth*0.1)
|
||||
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed
|
||||
if(overmind)
|
||||
H.color = overmind.blobstrain.complementary_color
|
||||
else
|
||||
H.color = "#000000"
|
||||
if(locate(/obj/structure/blob/node) in blobs_in_area)
|
||||
adjustHealth(-maxHealth*0.05)
|
||||
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src))
|
||||
if(overmind)
|
||||
H.color = overmind.blobstrain.complementary_color
|
||||
else
|
||||
H.color = "#000000"
|
||||
if(damagesources)
|
||||
for(var/i in 1 to damagesources)
|
||||
adjustHealth(maxHealth*0.025) //take 2.5% of max health as damage when not near the blob or if the naut has no factory, 5% if both
|
||||
var/image/I = new('icons/mob/blob.dmi', src, "nautdamage", MOB_LAYER+0.01)
|
||||
I.appearance_flags = RESET_COLOR
|
||||
/mob/living/simple_animal/hostile/blob/blobbernaut/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
var/list/blobs_in_area = range(2, src)
|
||||
if(independent)
|
||||
return // strong independent blobbernaut that don't need no blob
|
||||
var/damagesources = 0
|
||||
if(!(locate(/obj/structure/blob) in blobs_in_area))
|
||||
damagesources++
|
||||
if(!factory)
|
||||
damagesources++
|
||||
else
|
||||
if(locate(/obj/structure/blob/core) in blobs_in_area)
|
||||
adjustHealth(-maxHealth*0.1)
|
||||
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed
|
||||
if(overmind)
|
||||
I.color = overmind.blobstrain.complementary_color
|
||||
flick_overlay_view(I, src, 8)
|
||||
H.color = overmind.blobstrain.complementary_color
|
||||
else
|
||||
H.color = "#000000"
|
||||
if(locate(/obj/structure/blob/node) in blobs_in_area)
|
||||
adjustHealth(-maxHealth*0.05)
|
||||
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src))
|
||||
if(overmind)
|
||||
H.color = overmind.blobstrain.complementary_color
|
||||
else
|
||||
H.color = "#000000"
|
||||
if(damagesources)
|
||||
for(var/i in 1 to damagesources)
|
||||
adjustHealth(maxHealth*0.025) //take 2.5% of max health as damage when not near the blob or if the naut has no factory, 5% if both
|
||||
var/image/I = new('icons/mob/blob.dmi', src, "nautdamage", MOB_LAYER+0.01)
|
||||
I.appearance_flags = RESET_COLOR
|
||||
if(overmind)
|
||||
I.color = overmind.blobstrain.complementary_color
|
||||
flick_overlay_view(I, src, 8)
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobbernaut/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
|
||||
. = ..()
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
target.Stun(power_time)
|
||||
to_chat(L, "<span class='notice'>[target] is fixed in place by your hypnotic gaze.</span>")
|
||||
target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
|
||||
target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
|
||||
target.mob_transforming = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
|
||||
spawn(power_time)
|
||||
if(istype(target) && success)
|
||||
target.notransform = FALSE
|
||||
target.mob_transforming = FALSE
|
||||
if(istype(L) && target.stat == CONSCIOUS && (target in L.fov_view(10))) // They Woke Up! (Notice if within view)
|
||||
to_chat(L, "<span class='warning'>[target] has snapped out of their trance.</span>")
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(owner.notransform || !get_turf(owner))
|
||||
if(owner.mob_transforming || !get_turf(owner))
|
||||
return FALSE
|
||||
|
||||
return TRUE
|
||||
@@ -83,7 +83,7 @@
|
||||
// Freeze Me
|
||||
user.next_move = world.time + mist_delay
|
||||
user.Stun(mist_delay, ignore_canstun = TRUE)
|
||||
user.notransform = TRUE
|
||||
user.mob_transforming = TRUE
|
||||
user.density = FALSE
|
||||
var/invis_was = user.invisibility
|
||||
user.invisibility = INVISIBILITY_MAXIMUM
|
||||
@@ -106,7 +106,7 @@
|
||||
user.dir = get_dir(my_turf, target_turf)
|
||||
user.next_move = world.time + mist_delay / 2
|
||||
user.Stun(mist_delay / 2, ignore_canstun = TRUE)
|
||||
user.notransform = FALSE
|
||||
user.mob_transforming = FALSE
|
||||
user.density = 1
|
||||
user.invisibility = invis_was
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
var/datum/changelingprofile/chosen_prof = changeling.get_dna(chosen_name)
|
||||
if(!chosen_prof)
|
||||
return
|
||||
if(!user || user.notransform)
|
||||
if(!user || user.mob_transforming)
|
||||
return 0
|
||||
to_chat(user, "<span class='notice'>We transform our appearance.</span>")
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
|
||||
//Transform into a monkey.
|
||||
/obj/effect/proc_holder/changeling/lesserform/sting_action(mob/living/carbon/human/user)
|
||||
if(!user || user.notransform)
|
||||
if(!user || user.mob_transforming)
|
||||
return 0
|
||||
to_chat(user, "<span class='warning'>Our genes cry out!</span>")
|
||||
|
||||
user.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -40,8 +40,9 @@
|
||||
if(!shield_health)
|
||||
return "<span class='warning'>Its shield has been destroyed!</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/Life()
|
||||
..()
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
var/turf/T = get_turf(src)
|
||||
var/turf/open/space/S = isspaceturf(T)? T : null
|
||||
var/less_space_damage
|
||||
|
||||
@@ -48,8 +48,9 @@
|
||||
..()
|
||||
boost = world.time + 30
|
||||
|
||||
/mob/living/simple_animal/imp/Life()
|
||||
..()
|
||||
/mob/living/simple_animal/imp/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(boost<world.time)
|
||||
speed = 1
|
||||
else
|
||||
|
||||
@@ -107,7 +107,9 @@
|
||||
mind.add_antag_datum(/datum/antagonist/revenant)
|
||||
|
||||
//Life, Stat, Hud Updates, and Say
|
||||
/mob/living/simple_animal/revenant/Life()
|
||||
/mob/living/simple_animal/revenant/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(stasis)
|
||||
return
|
||||
if(revealed && essence <= 0)
|
||||
@@ -120,14 +122,13 @@
|
||||
to_chat(src, "<span class='revenboldnotice'>You are once more concealed.</span>")
|
||||
if(unstun_time && world.time >= unstun_time)
|
||||
unstun_time = 0
|
||||
notransform = FALSE
|
||||
mob_transforming = FALSE
|
||||
to_chat(src, "<span class='revenboldnotice'>You can move again!</span>")
|
||||
if(essence_regenerating && !inhibited && essence < essence_regen_cap) //While inhibited, essence will not regenerate
|
||||
essence = min(essence_regen_cap, essence+essence_regen_amount)
|
||||
update_action_buttons_icon() //because we update something required by our spells in life, we need to update our buttons
|
||||
update_spooky_icon()
|
||||
update_health_hud()
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/revenant/Stat()
|
||||
..()
|
||||
@@ -218,7 +219,7 @@
|
||||
return 0
|
||||
stasis = TRUE
|
||||
to_chat(src, "<span class='revendanger'>NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...</span>")
|
||||
notransform = TRUE
|
||||
mob_transforming = TRUE
|
||||
revealed = TRUE
|
||||
invisibility = 0
|
||||
playsound(src, 'sound/effects/screech.ogg', 100, 1)
|
||||
@@ -260,7 +261,7 @@
|
||||
return
|
||||
if(time <= 0)
|
||||
return
|
||||
notransform = TRUE
|
||||
mob_transforming = TRUE
|
||||
if(!unstun_time)
|
||||
to_chat(src, "<span class='revendanger'>You cannot move!</span>")
|
||||
unstun_time = world.time + time
|
||||
@@ -271,7 +272,7 @@
|
||||
|
||||
/mob/living/simple_animal/revenant/proc/update_spooky_icon()
|
||||
if(revealed)
|
||||
if(notransform)
|
||||
if(mob_transforming)
|
||||
if(draining)
|
||||
icon_state = icon_drain
|
||||
else
|
||||
@@ -320,7 +321,7 @@
|
||||
/mob/living/simple_animal/revenant/proc/death_reset()
|
||||
revealed = FALSE
|
||||
unreveal_time = 0
|
||||
notransform = 0
|
||||
mob_transforming = 0
|
||||
unstun_time = 0
|
||||
inhibited = FALSE
|
||||
draining = FALSE
|
||||
|
||||
@@ -257,6 +257,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
return
|
||||
if (active)
|
||||
return //prevent the AI from activating an already active doomsday
|
||||
if (owner_AI.shunted)
|
||||
return //prevent AI from activating doomsday while shunted.
|
||||
active = TRUE
|
||||
set_us_up_the_bomb(owner)
|
||||
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
var/mob/living/carbon/last_user
|
||||
|
||||
/obj/item/warpwhistle/proc/interrupted(mob/living/carbon/user)
|
||||
if(!user || QDELETED(src) || user.notransform)
|
||||
if(!user || QDELETED(src) || user.mob_transforming)
|
||||
on_cooldown = FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -1,20 +1,39 @@
|
||||
|
||||
/*Cabin areas*/
|
||||
/area/awaymission/snowforest
|
||||
name = "Snow Forest"
|
||||
icon_state = "away"
|
||||
requires_power = FALSE
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
|
||||
|
||||
/area/awaymission/cabin
|
||||
name = "Cabin"
|
||||
icon_state = "away2"
|
||||
requires_power = TRUE
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
|
||||
|
||||
/area/awaymission/snowforest/lumbermill
|
||||
/area/awaymission/cabin/snowforest
|
||||
name = "Snow Forest"
|
||||
icon_state = "away"
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
|
||||
|
||||
/area/awaymission/cabin/snowforest/sovietsurface
|
||||
name = "Snow Forest"
|
||||
icon_state = "awaycontent29"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/cabin/lumbermill
|
||||
name = "Lumbermill"
|
||||
icon_state = "away3"
|
||||
requires_power = FALSE
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
|
||||
|
||||
/area/awaymission/cabin/caves/sovietcave
|
||||
name = "Soviet Bunker"
|
||||
icon_state = "awaycontent4"
|
||||
|
||||
/area/awaymission/cabin/caves
|
||||
name = "North Snowdin Caves"
|
||||
icon_state = "awaycontent15"
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
|
||||
|
||||
/area/awaymission/cabin/caves/mountain
|
||||
name = "North Snowdin Mountains"
|
||||
icon_state = "awaycontent24"
|
||||
|
||||
/obj/structure/firepit
|
||||
name = "firepit"
|
||||
@@ -92,7 +111,7 @@
|
||||
egg_type = null
|
||||
speak = list()
|
||||
|
||||
/*Cabin's forest*/
|
||||
/*Cabin's forest. Removed in the new cabin map since it was buggy and I prefer manual placement.*/
|
||||
/datum/mapGenerator/snowy
|
||||
modules = list(/datum/mapGeneratorModule/bottomlayer/snow, \
|
||||
/datum/mapGeneratorModule/snow/pineTrees, \
|
||||
@@ -136,4 +155,4 @@
|
||||
endTurfX = 159
|
||||
endTurfY = 157
|
||||
startTurfX = 37
|
||||
startTurfY = 35
|
||||
startTurfY = 35
|
||||
@@ -475,43 +475,26 @@
|
||||
|
||||
/obj/effect/spawner/lootdrop/snowdin/dungeonlite
|
||||
name = "dungeon lite"
|
||||
loot = list(/obj/item/melee/classic_baton = 11,
|
||||
/obj/item/melee/classic_baton/telescopic = 12,
|
||||
/obj/item/book/granter/spell/smoke = 10,
|
||||
loot = list(/obj/item/book/granter/spell/smoke = 10,
|
||||
/obj/item/book/granter/spell/blind = 10,
|
||||
/obj/item/storage/firstaid/regular = 45,
|
||||
/obj/item/storage/firstaid/toxin = 35,
|
||||
/obj/item/storage/firstaid/brute = 27,
|
||||
/obj/item/storage/firstaid/fire = 27,
|
||||
/obj/item/storage/toolbox/syndicate = 12,
|
||||
/obj/item/grenade/plastic/c4 = 7,
|
||||
/obj/item/grenade/clusterbuster/smoke = 15,
|
||||
/obj/item/clothing/under/chameleon = 13,
|
||||
/obj/item/clothing/shoes/chameleon/noslip = 10,
|
||||
/obj/item/borg/upgrade/ddrill = 3)
|
||||
|
||||
/obj/effect/spawner/lootdrop/snowdin/dungeonmid
|
||||
name = "dungeon mid"
|
||||
loot = list(/obj/item/defibrillator/compact = 6,
|
||||
/obj/item/storage/firstaid/tactical = 35,
|
||||
/obj/item/shield/energy = 6,
|
||||
/obj/item/shield/riot/tele = 12,
|
||||
/obj/item/dnainjector/lasereyesmut = 7,
|
||||
/obj/item/gun/magic/wand/fireball/inert = 3,
|
||||
loot = list(/obj/item/shield/riot = 12,
|
||||
/obj/item/pneumatic_cannon = 15,
|
||||
/obj/item/melee/transforming/energy/sword = 7,
|
||||
/obj/item/book/granter/spell/knock = 15,
|
||||
/obj/item/book/granter/spell/summonitem = 20,
|
||||
/obj/item/book/granter/spell/forcewall = 17,
|
||||
/obj/item/storage/backpack/holding = 12,
|
||||
/obj/item/grenade/spawnergrenade/manhacks = 6,
|
||||
/obj/item/grenade/spawnergrenade/spesscarp = 7,
|
||||
/obj/item/grenade/clusterbuster/inferno = 3,
|
||||
/obj/item/stack/sheet/mineral/diamond{amount = 15} = 10,
|
||||
/obj/item/stack/sheet/mineral/uranium{amount = 15} = 10,
|
||||
/obj/item/stack/sheet/mineral/plasma{amount = 15} = 10,
|
||||
/obj/item/stack/sheet/mineral/gold{amount = 15} = 10,
|
||||
/obj/item/book/granter/spell/barnyard = 4,
|
||||
/obj/item/pickaxe/drill/diamonddrill = 6,
|
||||
/obj/item/borg/upgrade/vtec = 7,
|
||||
/obj/item/borg/upgrade/disablercooler = 7)
|
||||
@@ -519,21 +502,12 @@
|
||||
|
||||
/obj/effect/spawner/lootdrop/snowdin/dungeonheavy
|
||||
name = "dungeon heavy"
|
||||
loot = list(/obj/item/twohanded/singularityhammer = 25,
|
||||
/obj/item/twohanded/mjollnir = 10,
|
||||
/obj/item/twohanded/fireaxe = 25,
|
||||
loot = list(/obj/item/twohanded/fireaxe = 25,
|
||||
/obj/item/organ/brain/alien = 17,
|
||||
/obj/item/twohanded/dualsaber = 15,
|
||||
/obj/item/organ/heart/demon = 7,
|
||||
/obj/item/gun/ballistic/automatic/c20r/unrestricted = 16,
|
||||
/obj/item/gun/magic/wand/resurrection/inert = 15,
|
||||
/obj/item/gun/magic/wand/resurrection = 10,
|
||||
/obj/item/uplink/old = 2,
|
||||
/obj/item/book/granter/spell/charge = 12,
|
||||
/obj/item/grenade/clusterbuster/spawner_manhacks = 15,
|
||||
/obj/item/book/granter/spell/fireball = 10,
|
||||
/obj/item/organ/heart/cursed = 7,
|
||||
/obj/item/book/granter/spell/forcewall = 17,
|
||||
/obj/item/gun/magic/wand/fireball/inert = 3,
|
||||
/obj/item/pickaxe/drill/jackhammer = 30,
|
||||
/obj/item/borg/upgrade/syndicate = 13,
|
||||
/obj/item/borg/upgrade/selfrepair = 17)
|
||||
|
||||
/obj/effect/spawner/lootdrop/snowdin/dungeonmisc
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
//Spacebattle Areas
|
||||
|
||||
/area/awaymission/spacebattle
|
||||
name = "Space Battle"
|
||||
icon_state = "awaycontent1"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/spacebattle/cruiser
|
||||
name = "Nanotrasen Cruiser"
|
||||
icon_state = "awaycontent2"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate1
|
||||
name = "Syndicate Assault Ship 1"
|
||||
icon_state = "awaycontent3"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate2
|
||||
name = "Syndicate Assault Ship 2"
|
||||
icon_state = "awaycontent4"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate3
|
||||
name = "Syndicate Assault Ship 3"
|
||||
icon_state = "awaycontent5"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate4
|
||||
name = "Syndicate War Sphere 1"
|
||||
icon_state = "awaycontent6"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate5
|
||||
name = "Syndicate War Sphere 2"
|
||||
icon_state = "awaycontent7"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate6
|
||||
name = "Syndicate War Sphere 3"
|
||||
icon_state = "awaycontent8"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate7
|
||||
name = "Syndicate Fighter"
|
||||
icon_state = "awaycontent9"
|
||||
|
||||
/area/awaymission/spacebattle/secret
|
||||
name = "Hidden Chamber"
|
||||
icon_state = "awaycontent10"
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged/spacebattle
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
|
||||
/obj/item/gun/ballistic/automatic/c20r,
|
||||
/obj/item/shield/energy)
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/spacebattle
|
||||
deathmessage = "falls limp as they release their grip from the energy weapons, activating their self-destruct function!"
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier)
|
||||
@@ -18,6 +18,7 @@
|
||||
var/obj/item/radio/headset/radio
|
||||
/// var that tracks message cooldown
|
||||
var/message_cooldown
|
||||
var/list/loaded_coupons
|
||||
|
||||
light_color = "#E2853D"//orange
|
||||
|
||||
@@ -134,6 +135,8 @@
|
||||
"cost" = P.cost,
|
||||
"id" = pack,
|
||||
"desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name.
|
||||
"private_goody" = P.goody == PACK_GOODY_PRIVATE,
|
||||
"goody" = P.goody == PACK_GOODY_PUBLIC,
|
||||
"access" = P.access,
|
||||
"can_private_buy" = P.can_private_buy
|
||||
))
|
||||
@@ -215,8 +218,22 @@
|
||||
if(isnull(reason) || ..())
|
||||
return
|
||||
|
||||
if(pack.goody == PACK_GOODY_PRIVATE && !self_paid)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE)
|
||||
say("ERROR: Private small crates may only be purchased by private accounts.")
|
||||
return
|
||||
|
||||
var/obj/item/coupon/applied_coupon
|
||||
for(var/i in loaded_coupons)
|
||||
var/obj/item/coupon/coupon_check = i
|
||||
if(pack.type == coupon_check.discounted_pack)
|
||||
say("Coupon found! [round(coupon_check.discount_pct_off * 100)]% off applied!")
|
||||
coupon_check.moveToNullspace()
|
||||
applied_coupon = coupon_check
|
||||
break
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
var/datum/supply_order/SO = new(pack, name, rank, ckey, reason, account)
|
||||
var/datum/supply_order/SO = new(pack, name, rank, ckey, reason, account, applied_coupon)
|
||||
SO.generateRequisition(T)
|
||||
if(requestonly && !self_paid)
|
||||
SSshuttle.requestlist += SO
|
||||
@@ -229,6 +246,9 @@
|
||||
var/id = text2num(params["id"])
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
if(SO.id == id)
|
||||
if(SO.applied_coupon)
|
||||
say("Coupon refunded.")
|
||||
SO.applied_coupon.forceMove(get_turf(src))
|
||||
SSshuttle.shoppinglist -= SO
|
||||
. = TRUE
|
||||
break
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
#define COUPON_OMEN "omen"
|
||||
|
||||
/obj/item/coupon
|
||||
name = "coupon"
|
||||
desc = "It doesn't matter if you didn't want it before, what matters now is that you've got a coupon for it!"
|
||||
icon_state = "data_1"
|
||||
icon = 'icons/obj/card.dmi'
|
||||
item_flags = NOBLUDGEON
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/datum/supply_pack/discounted_pack
|
||||
var/discount_pct_off = 0.05
|
||||
var/obj/machinery/computer/cargo/inserted_console
|
||||
|
||||
/// Choose what our prize is :D
|
||||
/obj/item/coupon/proc/generate()
|
||||
discounted_pack = pick(subtypesof(/datum/supply_pack/goody))
|
||||
var/list/chances = list("0.10" = 4, "0.15" = 8, "0.20" = 10, "0.25" = 8, "0.50" = 4, COUPON_OMEN = 1)
|
||||
discount_pct_off = pickweight(chances)
|
||||
if(discount_pct_off == COUPON_OMEN)
|
||||
name = "coupon - fuck you"
|
||||
desc = "The small text reads, 'You will be slaughtered'... That doesn't sound right, does it?"
|
||||
if(ismob(loc))
|
||||
var/mob/M = loc
|
||||
to_chat(M, "<span class='warning'>The coupon reads '<b>fuck you</b>' in large, bold text... is- is that a prize, or?</span>")
|
||||
M.AddComponent(/datum/component/omen, TRUE, src)
|
||||
else
|
||||
discount_pct_off = text2num(discount_pct_off)
|
||||
name = "coupon - [round(discount_pct_off * 100)]% off [initial(discounted_pack.name)]"
|
||||
|
||||
/obj/item/coupon/attack_obj(obj/O, mob/living/user)
|
||||
if(!istype(O, /obj/machinery/computer/cargo))
|
||||
return ..()
|
||||
if(discount_pct_off == COUPON_OMEN)
|
||||
to_chat(user, "<span class='warning'>\The [O] validates the coupon as authentic, but refuses to accept it...</span>")
|
||||
O.say("Coupon fulfillment already in progress...")
|
||||
return
|
||||
|
||||
inserted_console = O
|
||||
LAZYADD(inserted_console.loaded_coupons, src)
|
||||
inserted_console.say("Coupon for [initial(discounted_pack.name)] applied!")
|
||||
forceMove(inserted_console)
|
||||
|
||||
/obj/item/coupon/Destroy()
|
||||
if(inserted_console)
|
||||
LAZYREMOVE(inserted_console.loaded_coupons, src)
|
||||
inserted_console = null
|
||||
. = ..()
|
||||
|
||||
#undef COUPON_OMEN
|
||||
+42
-33
@@ -27,10 +27,12 @@
|
||||
var/orderer_rank
|
||||
var/orderer_ckey
|
||||
var/reason
|
||||
var/discounted_pct
|
||||
var/datum/supply_pack/pack
|
||||
var/datum/bank_account/paying_account
|
||||
var/obj/item/coupon/applied_coupon
|
||||
|
||||
/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account)
|
||||
/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account, coupon)
|
||||
id = SSshuttle.ordernum++
|
||||
src.pack = pack
|
||||
src.orderer = orderer
|
||||
@@ -38,6 +40,7 @@
|
||||
src.orderer_ckey = orderer_ckey
|
||||
src.reason = reason
|
||||
src.paying_account = paying_account
|
||||
src.applied_coupon = coupon
|
||||
|
||||
/datum/supply_order/proc/generateRequisition(turf/T)
|
||||
var/obj/item/paper/P = new(T)
|
||||
@@ -57,58 +60,64 @@
|
||||
P.update_icon()
|
||||
return P
|
||||
|
||||
/datum/supply_order/proc/generateManifest(obj/structure/closet/crate/C)
|
||||
var/obj/item/paper/fluff/jobs/cargo/manifest/P = new(C, id, pack.cost)
|
||||
/datum/supply_order/proc/generateManifest(obj/container, owner, packname) //generates-the-manifests.
|
||||
var/obj/item/paper/fluff/jobs/cargo/manifest/P = new(container, id, 0)
|
||||
|
||||
var/station_name = (P.errors & MANIFEST_ERROR_NAME) ? new_station_name() : station_name()
|
||||
|
||||
P.name = "shipping manifest - #[id] ([pack.name])"
|
||||
P.name = "shipping manifest - [packname?"#[id] ([pack.name])":"(Grouped Item Crate)"]"
|
||||
P.info += "<h2>[command_name()] Shipping Manifest</h2>"
|
||||
P.info += "<hr/>"
|
||||
if(paying_account)
|
||||
P.info += "Direct purchase from [paying_account.account_holder]<br/>"
|
||||
P.name += " - Purchased by [paying_account.account_holder]"
|
||||
if(id && !(id == "Cargo"))
|
||||
P.info += "Direct purchase from [owner]<br/>"
|
||||
P.name += " - Purchased by [owner]"
|
||||
P.info += "Order #[id]<br/>"
|
||||
P.info += "Destination: [station_name]<br/>"
|
||||
P.info += "Item: [pack.name]<br/>"
|
||||
if(packname)
|
||||
P.info += "Item: [packname]<br/>"
|
||||
P.info += "Contents: <br/>"
|
||||
P.info += "<ul>"
|
||||
for(var/atom/movable/AM in C.contents - P - C.lockerelectronics)
|
||||
var/list/ignore_this = list(P)
|
||||
if(istype(container, /obj/structure/closet))
|
||||
var/obj/structure/closet/C = container
|
||||
ignore_this += C.lockerelectronics
|
||||
for(var/atom/movable/AM in container.contents - ignore_this)
|
||||
if((P.errors & MANIFEST_ERROR_CONTENTS) && prob(50))
|
||||
continue
|
||||
P.info += "<li>[AM.name]</li>"
|
||||
P.info += "</ul>"
|
||||
P.info += "<h4>Stamp below to confirm receipt of goods:</h4>"
|
||||
|
||||
if(P.errors & MANIFEST_ERROR_ITEM)
|
||||
var/static/list/blacklisted_error = typecacheof(list(
|
||||
/obj/structure/closet/crate/secure,
|
||||
/obj/structure/closet/crate/large,
|
||||
/obj/structure/closet/secure_closet/goodies
|
||||
))
|
||||
if(blacklisted_error[container.type])
|
||||
P.errors &= ~MANIFEST_ERROR_ITEM
|
||||
else
|
||||
var/lost = max(round(container.contents.len / 10), 1)
|
||||
while(--lost >= 0)
|
||||
qdel(pick(container.contents))
|
||||
|
||||
P.update_icon()
|
||||
P.forceMove(C)
|
||||
C.manifest = P
|
||||
C.update_icon()
|
||||
P.forceMove(container)
|
||||
|
||||
if(istype(container, /obj/structure/closet/crate))
|
||||
var/obj/structure/closet/crate/C = container
|
||||
C.manifest = P
|
||||
C.update_icon()
|
||||
|
||||
return P
|
||||
|
||||
/datum/supply_order/proc/generate(atom/A)
|
||||
var/obj/structure/closet/crate/C = pack.generate(A, paying_account)
|
||||
var/obj/item/paper/fluff/jobs/cargo/manifest/M = generateManifest(C)
|
||||
|
||||
if(M.errors & MANIFEST_ERROR_ITEM)
|
||||
if(istype(C, /obj/structure/closet/crate/secure) || istype(C, /obj/structure/closet/crate/large))
|
||||
M.errors &= ~MANIFEST_ERROR_ITEM
|
||||
else
|
||||
var/lost = max(round(C.contents.len / 10), 1)
|
||||
while(--lost >= 0)
|
||||
qdel(pick(C.contents))
|
||||
generateManifest(C, paying_account, pack)
|
||||
return C
|
||||
|
||||
//Paperwork for NT
|
||||
/obj/item/folder/paperwork
|
||||
name = "Incomplete Paperwork"
|
||||
desc = "These should've been filled out four months ago! Unfinished grant papers issued by Nanotrasen's finance department. Complete this page for additional funding."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "docs_generic"
|
||||
|
||||
/obj/item/folder/paperwork_correct
|
||||
name = "Finished Paperwork"
|
||||
desc = "A neat stack of filled-out forms, in triplicate and signed. Is there anything more satisfying? Make sure they get stamped."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "docs_verified"
|
||||
/datum/supply_order/proc/generateCombo(var/miscbox, var/misc_own, var/misc_contents)
|
||||
for (var/I in misc_contents)
|
||||
new I(miscbox)
|
||||
generateManifest(miscbox, misc_own, "")
|
||||
return
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
var/special_enabled = FALSE
|
||||
var/DropPodOnly = FALSE //only usable by the Bluespace Drop Pod via the express cargo console
|
||||
var/admin_spawned = FALSE //Can only an admin spawn this crate?
|
||||
var/goody = PACK_GOODY_NONE //Small items can be grouped into a single crate.They also come in a closet/lockbox instead of a full crate, so the 700 min doesn't apply
|
||||
var/can_private_buy = TRUE //Can it be purchased privately by each crewmember?
|
||||
|
||||
/datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account)
|
||||
|
||||
@@ -37,15 +37,6 @@
|
||||
contains = list(/obj/item/storage/box/chemimp)
|
||||
crate_name = "chemical implant crate"
|
||||
|
||||
/datum/supply_pack/security/armory/combatknives
|
||||
name = "Combat Knives Crate"
|
||||
desc = "Contains three sharpened combat knives. Each knife guaranteed to fit snugly inside any Nanotrasen-standard boot. Requires Armory access to open."
|
||||
cost = 3200
|
||||
contains = list(/obj/item/kitchen/knife/combat,
|
||||
/obj/item/kitchen/knife/combat,
|
||||
/obj/item/kitchen/knife/combat)
|
||||
crate_name = "combat knife crate"
|
||||
|
||||
/datum/supply_pack/security/armory/ballistic
|
||||
name = "Combat Shotguns Crate"
|
||||
desc = "For when the enemy absolutely needs to be replaced with lead. Contains three Aussec-designed Combat Shotguns, with three Shotgun Bandoliers, as well as seven buchshot and 12g shotgun slugs. Requires Armory access to open."
|
||||
|
||||
@@ -90,16 +90,6 @@
|
||||
crate_name = "industrial rcd"
|
||||
crate_type = /obj/structure/closet/crate/secure/engineering
|
||||
|
||||
/datum/supply_pack/engineering/powergamermitts
|
||||
name = "Insulated Gloves Crate"
|
||||
desc = "The backbone of modern society. Barely ever ordered for actual engineering. Contains three insulated gloves."
|
||||
cost = 2300 //Made of pure-grade bullshittinium
|
||||
contains = list(/obj/item/clothing/gloves/color/yellow,
|
||||
/obj/item/clothing/gloves/color/yellow,
|
||||
/obj/item/clothing/gloves/color/yellow)
|
||||
crate_name = "insulated gloves crate"
|
||||
crate_type = /obj/structure/closet/crate/engineering/electrical
|
||||
|
||||
/datum/supply_pack/engineering/inducers
|
||||
name = "NT-75 Electromagnetic Power Inducers Crate"
|
||||
desc = "No rechargers? No problem, with the NT-75 EPI, you can recharge any standard cell-based equipment anytime, anywhere. Contains two Inducers."
|
||||
@@ -162,6 +152,7 @@
|
||||
/obj/item/storage/toolbox/mechanical)
|
||||
cost = 1200
|
||||
crate_name = "toolbox crate"
|
||||
special = TRUE //Department resupply shuttle loan event.
|
||||
|
||||
/datum/supply_pack/engineering/bsa
|
||||
name = "Bluespace Artillery Parts"
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
/datum/supply_pack/goody
|
||||
access = NONE
|
||||
group = "Goodies"
|
||||
goody = PACK_GOODY_PRIVATE
|
||||
|
||||
/datum/supply_pack/goody/combatknives_single
|
||||
name = "Combat Knife Single-Pack"
|
||||
desc = "Contains one sharpened combat knive. Guaranteed to fit snugly inside any Nanotrasen-standard boot."
|
||||
cost = 800
|
||||
contains = list(/obj/item/kitchen/knife/combat)
|
||||
|
||||
/datum/supply_pack/goody/sologamermitts
|
||||
name = "Insulated Gloves Single-Pack"
|
||||
desc = "The backbone of modern society. Barely ever ordered for actual engineering."
|
||||
cost = 800
|
||||
contains = list(/obj/item/clothing/gloves/color/yellow)
|
||||
|
||||
/datum/supply_pack/goody/firstaidbruises_single
|
||||
name = "Bruise Treatment Kit Single-Pack"
|
||||
desc = "A single brute first-aid kit, perfect for recovering from being crushed in an airlock. Did you know people get crushed in airlocks all the time? Interesting..."
|
||||
cost = 330
|
||||
contains = list(/obj/item/storage/firstaid/brute)
|
||||
|
||||
/datum/supply_pack/goody/firstaidburns_single
|
||||
name = "Burn Treatment Kit Single-Pack"
|
||||
desc = "A single burn first-aid kit. The advertisement displays a winking atmospheric technician giving a thumbs up, saying \"Mistakes happen!\""
|
||||
cost = 330
|
||||
contains = list(/obj/item/storage/firstaid/fire)
|
||||
|
||||
/datum/supply_pack/goody/firstaid_single
|
||||
name = "First Aid Kit Single-Pack"
|
||||
desc = "A single first-aid kit, fit for healing most types of bodily harm."
|
||||
cost = 250
|
||||
contains = list(/obj/item/storage/firstaid/regular)
|
||||
|
||||
/datum/supply_pack/goody/firstaidoxygen_single
|
||||
name = "Oxygen Deprivation Kit Single-Pack"
|
||||
desc = "A single oxygen deprivation first-aid kit, marketed heavily to those with crippling fears of asphyxiation."
|
||||
cost = 330
|
||||
contains = list(/obj/item/storage/firstaid/o2)
|
||||
|
||||
/datum/supply_pack/goody/firstaidtoxins_single
|
||||
name = "Toxin Treatment Kit Single-Pack"
|
||||
desc = "A single first aid kit focused on healing damage dealt by heavy toxins."
|
||||
cost = 330
|
||||
contains = list(/obj/item/storage/firstaid/toxin)
|
||||
|
||||
/datum/supply_pack/goody/toolbox // mostly just to water down coupon probability
|
||||
name = "Mechanical Toolbox"
|
||||
desc = "A fully stocked mechanical toolbox, for when you're too lazy to just print them out."
|
||||
cost = 300
|
||||
contains = list(/obj/item/storage/toolbox/mechanical)
|
||||
|
||||
/datum/supply_pack/goody/electrical_toolbox // mostly just to water down coupon probability
|
||||
name = "Mechanical Toolbox"
|
||||
desc = "A fully stocked electrical toolbox, for when you're too lazy to just print them out."
|
||||
cost = 300
|
||||
contains = list(/obj/item/storage/toolbox/electrical)
|
||||
|
||||
/datum/supply_pack/goody/valentine
|
||||
name = "Valentine Card"
|
||||
desc = "Make an impression on that special someone! Comes with one valentine card and a free candy heart!"
|
||||
cost = 150
|
||||
contains = list(/obj/item/valentine, /obj/item/reagent_containers/food/snacks/candyheart)
|
||||
|
||||
/datum/supply_pack/goody/beeplush
|
||||
name = "Bee Plushie"
|
||||
desc = "The most important thing you could possibly spend your hard-earned money on."
|
||||
cost = 1500
|
||||
contains = list(/obj/item/toy/plush/beeplushie)
|
||||
|
||||
/datum/supply_pack/goody/beach_ball
|
||||
name = "Beach Ball"
|
||||
desc = "The simple beach ball is one of Nanotrasen's most popular products. 'Why do we make beach balls? Because we can! (TM)' - Nanotrasen"
|
||||
cost = 200
|
||||
contains = list(/obj/item/toy/beach_ball)
|
||||
@@ -14,53 +14,60 @@
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/supply_pack/materials/cardboard50
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "50 Cardboard Sheets"
|
||||
desc = "Create a bunch of boxes."
|
||||
cost = 1000
|
||||
cost = 300 //thrice their export value
|
||||
contains = list(/obj/item/stack/sheet/cardboard/fifty)
|
||||
crate_name = "cardboard sheets crate"
|
||||
|
||||
/datum/supply_pack/materials/glass50
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "50 Glass Sheets"
|
||||
desc = "Let some nice light in with fifty glass sheets!"
|
||||
cost = 850
|
||||
cost = 300 //double their export value
|
||||
contains = list(/obj/item/stack/sheet/glass/fifty)
|
||||
crate_name = "glass sheets crate"
|
||||
|
||||
/datum/supply_pack/materials/metal50
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "50 Metal Sheets"
|
||||
desc = "Any construction project begins with a good stack of fifty metal sheets!"
|
||||
cost = 850
|
||||
cost = 300 //double their export value
|
||||
contains = list(/obj/item/stack/sheet/metal/fifty)
|
||||
crate_name = "metal sheets crate"
|
||||
|
||||
/datum/supply_pack/materials/plasteel20
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "20 Plasteel Sheets"
|
||||
desc = "Reinforce the station's integrity with twenty plasteel sheets!"
|
||||
cost = 4700
|
||||
cost = 4000
|
||||
contains = list(/obj/item/stack/sheet/plasteel/twenty)
|
||||
crate_name = "plasteel sheets crate"
|
||||
|
||||
/datum/supply_pack/materials/plasteel50
|
||||
name = "50 Plasteel Sheets"
|
||||
desc = "For when you REALLY have to reinforce something."
|
||||
cost = 9050
|
||||
contains = list(/obj/item/stack/sheet/plasteel/fifty)
|
||||
crate_name = "plasteel sheets crate"
|
||||
|
||||
/datum/supply_pack/materials/plastic50
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "50 Plastic Sheets"
|
||||
desc = "Build a limitless amount of toys with fifty plastic sheets!"
|
||||
cost = 950
|
||||
contains = list(/obj/item/stack/sheet/plastic/fifty)
|
||||
crate_name = "plastic sheets crate"
|
||||
cost = 200 // double their export
|
||||
contains = list(/obj/item/stack/sheet/plastic/twenty)
|
||||
|
||||
/datum/supply_pack/materials/sandstone30
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "30 Sandstone Blocks"
|
||||
desc = "Neither sandy nor stoney, these thirty blocks will still get the job done."
|
||||
cost = 800
|
||||
cost = 150 // five times their export
|
||||
contains = list(/obj/item/stack/sheet/mineral/sandstone/thirty)
|
||||
crate_name = "sandstone blocks crate"
|
||||
|
||||
/datum/supply_pack/materials/wood50
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "50 Wood Planks"
|
||||
desc = "Turn cargo's boring metal groundwork into beautiful panelled flooring and much more with fifty wooden planks!"
|
||||
cost = 400 // 6-7 planks shy from having equal import/export prices
|
||||
contains = list(/obj/item/stack/sheet/mineral/wood/twenty)
|
||||
|
||||
/datum/supply_pack/materials/rcdammo
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "Large RCD ammo Single-Pack"
|
||||
desc = "A single large compressed RCD matter pack, to help with any holes or projects people might be working on."
|
||||
cost = 600
|
||||
contains = list(/obj/item/rcd_ammo/large)
|
||||
|
||||
/datum/supply_pack/materials/rawlumber
|
||||
name = "50 Towercap Logs"
|
||||
@@ -74,35 +81,6 @@
|
||||
for(var/i in 1 to 49)
|
||||
new /obj/item/grown/log(.)
|
||||
|
||||
/datum/supply_pack/materials/wood50
|
||||
name = "50 Wood Planks"
|
||||
desc = "Turn cargo's boring metal groundwork into beautiful panelled flooring and much more with fifty wooden planks!"
|
||||
cost = 1450
|
||||
contains = list(/obj/item/stack/sheet/mineral/wood/fifty)
|
||||
crate_name = "wood planks crate"
|
||||
|
||||
/datum/supply_pack/materials/rcdammo
|
||||
name = "Spare RCD ammo"
|
||||
desc = "This crate contains sixteen RCD compressed matter packs, to help with any holes or projects people might be working on."
|
||||
cost = 3750
|
||||
contains = list(/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo)
|
||||
crate_name = "rcd ammo"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////// Canisters //////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -141,34 +141,6 @@
|
||||
///////////////////////////// Medical Kits ///////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/supply_pack/medical/firstaidbruises
|
||||
name = "Bruise Treatment Kit Crate"
|
||||
desc = "Contains three first aid kits focused on healing bruises and broken bones."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/storage/firstaid/brute,
|
||||
/obj/item/storage/firstaid/brute,
|
||||
/obj/item/storage/firstaid/brute)
|
||||
crate_name = "brute treatment kit crate"
|
||||
|
||||
/datum/supply_pack/medical/firstaidburns
|
||||
name = "Burn Treatment Kit Crate"
|
||||
desc = "Contains three first aid kits focused on healing severe burns."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/storage/firstaid/fire,
|
||||
/obj/item/storage/firstaid/fire,
|
||||
/obj/item/storage/firstaid/fire)
|
||||
crate_name = "burn treatment kit crate"
|
||||
|
||||
/datum/supply_pack/medical/firstaid
|
||||
name = "First Aid Kit Crate"
|
||||
desc = "Contains four first aid kits for healing most types of wounds."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/storage/firstaid/regular,
|
||||
/obj/item/storage/firstaid/regular,
|
||||
/obj/item/storage/firstaid/regular,
|
||||
/obj/item/storage/firstaid/regular)
|
||||
crate_name = "first aid kit crate"
|
||||
|
||||
/datum/supply_pack/medical/sprays
|
||||
name = "Medical Sprays"
|
||||
desc = "Contains two cans of Styptic Spray, Silver Sulfadiazine Spray, Synthflesh Spray and Sterilizer Compound Spray."
|
||||
@@ -183,35 +155,6 @@
|
||||
/obj/item/reagent_containers/medspray/sterilizine)
|
||||
crate_name = "medical supplies crate"
|
||||
|
||||
/datum/supply_pack/medical/firstaidmixed
|
||||
name = "Mixed Medical Kits"
|
||||
desc = "Contains one of each medical kits for dealing with a variety of injured crewmembers."
|
||||
cost = 1250
|
||||
contains = list(/obj/item/storage/firstaid/toxin,
|
||||
/obj/item/storage/firstaid/o2,
|
||||
/obj/item/storage/firstaid/brute,
|
||||
/obj/item/storage/firstaid/fire,
|
||||
/obj/item/storage/firstaid/regular)
|
||||
crate_name = "medical supplies crate"
|
||||
|
||||
/datum/supply_pack/medical/firstaidoxygen
|
||||
name = "Oxygen Deprivation Kit Crate"
|
||||
desc = "Contains three first aid kits focused on helping oxygen deprivation victims."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/storage/firstaid/o2,
|
||||
/obj/item/storage/firstaid/o2,
|
||||
/obj/item/storage/firstaid/o2)
|
||||
crate_name = "oxygen deprivation kit crate"
|
||||
|
||||
/datum/supply_pack/medical/firstaidtoxins
|
||||
name = "Toxin Treatment Kit Crate"
|
||||
desc = "Contains three first aid kits focused on healing damage dealt by heavy toxins."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/storage/firstaid/toxin,
|
||||
/obj/item/storage/firstaid/toxin,
|
||||
/obj/item/storage/firstaid/toxin)
|
||||
crate_name = "toxin treatment kit crate"
|
||||
|
||||
/datum/supply_pack/medical/advrad
|
||||
name = "Radiation Treatment Crate Deluxe"
|
||||
desc = "A crate for when radiation is out of hand... Contains two rad-b-gone kits, one bottle of anti radiation deluxe pills, as well as a radiation treatment deluxe pill bottle!"
|
||||
|
||||
@@ -333,45 +333,58 @@
|
||||
//////////////////////////// Misc + Decor ////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/supply_pack/misc/carpet_exotic
|
||||
name = "Exotic Carpet Crate"
|
||||
desc = "Exotic carpets straight from Space Russia, for all your decorating needs. Contains 100 tiles each of 10 different flooring patterns."
|
||||
cost = 7000
|
||||
contains = list(/obj/item/stack/tile/carpet/blue/fifty,
|
||||
/obj/item/stack/tile/carpet/blue/fifty,
|
||||
/obj/item/stack/tile/carpet/cyan/fifty,
|
||||
/obj/item/stack/tile/carpet/cyan/fifty,
|
||||
/obj/item/stack/tile/carpet/green/fifty,
|
||||
/obj/item/stack/tile/carpet/green/fifty,
|
||||
/obj/item/stack/tile/carpet/orange/fifty,
|
||||
/obj/item/stack/tile/carpet/orange/fifty,
|
||||
/obj/item/stack/tile/carpet/purple/fifty,
|
||||
/obj/item/stack/tile/carpet/purple/fifty,
|
||||
/obj/item/stack/tile/carpet/red/fifty,
|
||||
/obj/item/stack/tile/carpet/red/fifty,
|
||||
/obj/item/stack/tile/carpet/royalblue/fifty,
|
||||
/obj/item/stack/tile/carpet/royalblue/fifty,
|
||||
/obj/item/stack/tile/carpet/royalblack/fifty,
|
||||
/obj/item/stack/tile/carpet/royalblack/fifty,
|
||||
/obj/item/stack/tile/carpet/blackred/fifty,
|
||||
/obj/item/stack/tile/carpet/blackred/fifty,
|
||||
/obj/item/stack/tile/carpet/monochrome/fifty,
|
||||
/obj/item/stack/tile/carpet/monochrome/fifty)
|
||||
crate_name = "exotic carpet crate"
|
||||
|
||||
/datum/supply_pack/misc/carpet
|
||||
name = "Premium Carpet Crate"
|
||||
desc = "Plasteel floor tiles getting on your nerves? These stacks of extra soft carpet will tie any room together. Contains some classic carpet, along with black, red, and monochrome varients."
|
||||
cost = 1350
|
||||
contains = list(/obj/item/stack/tile/carpet/fifty,
|
||||
/obj/item/stack/tile/carpet/fifty,
|
||||
/obj/item/stack/tile/carpet/black/fifty,
|
||||
/obj/item/stack/tile/carpet/black/fifty,
|
||||
/obj/item/stack/tile/carpet/blackred/fifty,
|
||||
/obj/item/stack/tile/carpet/blackred/fifty,
|
||||
/obj/item/stack/tile/carpet/monochrome/fifty,
|
||||
/obj/item/stack/tile/carpet/monochrome/fifty)
|
||||
crate_name = "premium carpet crate"
|
||||
goody = PACK_GOODY_PUBLIC
|
||||
name = "Classic Carpet Single-Pack"
|
||||
desc = "Plasteel floor tiles getting on your nerves? This 50 units stack of extra soft carpet will tie any room together."
|
||||
cost = 200
|
||||
contains = list(/obj/item/stack/tile/carpet/fifty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/black
|
||||
name = "Black Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/black/fifty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium
|
||||
name = "Monochrome Carpet Single-Pack"
|
||||
desc = "Exotic carpets for all your decorating needs. This 30 units stack of extra soft carpet will tie any room together."
|
||||
cost = 250
|
||||
contains = list(/obj/item/stack/tile/carpet/monochrome/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/blackred
|
||||
name = "Black-Red Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/blackred/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/royalblack
|
||||
name = "Royal Black Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/royalblack/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/royalblue
|
||||
name = "Royal Blue Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/royalblue/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/red
|
||||
name = "Red Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/red/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/purple
|
||||
name = "Purple Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/purple/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/orange
|
||||
name = "Orange Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/orange/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/green
|
||||
name = "Green Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/green/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/cyan
|
||||
name = "Cyan Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/cyan/thirty)
|
||||
|
||||
/datum/supply_pack/misc/carpet/premium/blue
|
||||
name = "Blue Carpet Single-Pack"
|
||||
contains = list(/obj/item/stack/tile/carpet/blue/thirty)
|
||||
|
||||
/datum/supply_pack/misc/noslipfloor
|
||||
name = "High-traction Floor Tiles"
|
||||
|
||||
@@ -437,3 +437,12 @@
|
||||
item_state = "hunter"
|
||||
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/obj/item/clothing/head/kepi
|
||||
name = "kepi"
|
||||
desc = "A white cap with visor. Oui oui, mon capitane!"
|
||||
icon_state = "kepi"
|
||||
|
||||
/obj/item/clothing/head/kepi/old
|
||||
icon_state = "kepi_old"
|
||||
desc = "A flat, white circular cap with a visor, that demands some honor from it's wearer."
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
user.alpha = 255
|
||||
user.update_atom_colour()
|
||||
user.animate_movement = FORWARD_STEPS
|
||||
user.notransform = 0
|
||||
user.mob_transforming = 0
|
||||
user.anchored = FALSE
|
||||
teleporting = 0
|
||||
for(var/obj/item/I in user.held_items)
|
||||
@@ -125,7 +125,7 @@
|
||||
ADD_TRAIT(I, TRAIT_NODROP, CHRONOSUIT_TRAIT)
|
||||
user.animate_movement = NO_STEPS
|
||||
user.changeNext_move(8 + phase_in_ds)
|
||||
user.notransform = 1
|
||||
user.mob_transforming = 1
|
||||
user.anchored = TRUE
|
||||
user.Stun(INFINITY)
|
||||
|
||||
|
||||
@@ -85,8 +85,8 @@
|
||||
/datum/round_event_control/stray_cargo/syndicate
|
||||
name = "Stray Syndicate Cargo Pod"
|
||||
typepath = /datum/round_event/stray_cargo/syndicate
|
||||
weight = 6
|
||||
max_occurrences = 1
|
||||
weight = 0
|
||||
max_occurrences = 0
|
||||
earliest_start = 30 MINUTES
|
||||
|
||||
/datum/round_event/stray_cargo/syndicate
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
/mob/living/carbon/proc/handle_dreams()
|
||||
if(prob(10) && !dreaming)
|
||||
dream()
|
||||
|
||||
/mob/living/carbon/proc/dream()
|
||||
set waitfor = FALSE
|
||||
var/list/dream_fragments = list()
|
||||
|
||||
@@ -303,12 +303,12 @@ All foods are distributed among various categories. Use common sense.
|
||||
var/obj/item/result
|
||||
if(cooked_type)
|
||||
result = new cooked_type(T)
|
||||
//if the result is food, set its food quality to the original food item's quality
|
||||
if(isfood(result))
|
||||
var/obj/item/reagent_containers/food/food_output = result
|
||||
food_output.adjust_food_quality(food_quality + M.quality_increase)
|
||||
if(istype(M))
|
||||
initialize_cooked_food(result, M.efficiency)
|
||||
//if the result is food, set its food quality to the original food item's quality
|
||||
if(isfood(result))
|
||||
var/obj/item/reagent_containers/food/food_output = result
|
||||
food_output.adjust_food_quality(food_quality + M.quality_increase)
|
||||
else
|
||||
initialize_cooked_food(result, 1)
|
||||
SSblackbox.record_feedback("tally", "food_made", 1, result.type)
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
return TRUE
|
||||
if(!O.reagents || !O.reagents.reagent_list.len) // other empty containers not accepted
|
||||
return FALSE
|
||||
if(istype(O, /obj/item/reagent_containers/syringe) || istype(O, /obj/item/reagent_containers/glass/bottle) || istype(O, /obj/item/reagent_containers/glass/beaker) || istype(O, /obj/item/reagent_containers/spray) || istype(O, /obj/item/reagent_containers/medspray))
|
||||
if(istype(O, /obj/item/reagent_containers/syringe) || istype(O, /obj/item/reagent_containers/glass/bottle) || istype(O, /obj/item/reagent_containers/glass/beaker) || istype(O, /obj/item/reagent_containers/spray) || istype(O, /obj/item/reagent_containers/medspray) || istype(O, /obj/item/reagent_containers/chem_pack))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -56,8 +56,9 @@
|
||||
cached_z = z
|
||||
poof()
|
||||
|
||||
/mob/living/simple_animal/jacq/Life()
|
||||
..()
|
||||
/mob/living/simple_animal/jacq/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(!ckey)
|
||||
if((last_poof+3 MINUTES) < world.realtime)
|
||||
poof()
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
setDir(user.dir)
|
||||
|
||||
user.forceMove(src)
|
||||
user.notransform = TRUE
|
||||
user.mob_transforming = TRUE
|
||||
user.status_flags |= GODMODE
|
||||
|
||||
can_destroy = FALSE
|
||||
@@ -501,7 +501,7 @@
|
||||
|
||||
/obj/effect/immortality_talisman/proc/unvanish(mob/user)
|
||||
user.status_flags &= ~GODMODE
|
||||
user.notransform = FALSE
|
||||
user.mob_transforming = FALSE
|
||||
user.forceMove(get_turf(src))
|
||||
|
||||
user.visible_message("<span class='danger'>[user] pops back into reality!</span>")
|
||||
|
||||
@@ -68,7 +68,7 @@ INITIALIZE_IMMEDIATE(/mob/dead)
|
||||
set category = "OOC"
|
||||
set name = "Server Hop!"
|
||||
set desc= "Jump to the other server"
|
||||
if(notransform)
|
||||
if(mob_transforming)
|
||||
return
|
||||
var/list/csa = CONFIG_GET(keyed_list/cross_server)
|
||||
var/pick
|
||||
@@ -93,9 +93,9 @@ INITIALIZE_IMMEDIATE(/mob/dead)
|
||||
to_chat(C, "<span class='notice'>Sending you to [pick].</span>")
|
||||
new /obj/screen/splash(C)
|
||||
|
||||
notransform = TRUE
|
||||
mob_transforming = TRUE
|
||||
sleep(29) //let the animation play
|
||||
notransform = FALSE
|
||||
mob_transforming = FALSE
|
||||
|
||||
if(!C)
|
||||
return
|
||||
|
||||
@@ -37,10 +37,10 @@
|
||||
C.put_in_hands(B1)
|
||||
C.put_in_hands(B2)
|
||||
C.regenerate_icons()
|
||||
src.notransform = TRUE
|
||||
src.mob_transforming = TRUE
|
||||
spawn(0)
|
||||
bloodpool_sink(B)
|
||||
src.notransform = FALSE
|
||||
src.mob_transforming = FALSE
|
||||
return 1
|
||||
|
||||
/mob/living/proc/bloodpool_sink(obj/effect/decal/cleanable/B)
|
||||
@@ -155,7 +155,7 @@
|
||||
addtimer(CALLBACK(src, /atom/.proc/remove_atom_colour, TEMPORARY_COLOUR_PRIORITY, newcolor), 6 SECONDS)
|
||||
|
||||
/mob/living/proc/phasein(obj/effect/decal/cleanable/B)
|
||||
if(src.notransform)
|
||||
if(src.mob_transforming)
|
||||
to_chat(src, "<span class='warning'>Finish eating first!</span>")
|
||||
return 0
|
||||
B.visible_message("<span class='warning'>[B] starts to bubble...</span>")
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
|
||||
/mob/living/brain/Life()
|
||||
set invisibility = 0
|
||||
if (notransform)
|
||||
/mob/living/brain/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(!loc)
|
||||
return
|
||||
. = ..()
|
||||
handle_emp_damage()
|
||||
|
||||
/mob/living/brain/update_stat()
|
||||
|
||||
@@ -8,9 +8,6 @@
|
||||
/mob/living/carbon/alien/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
|
||||
return ..(AM, skipcatch = TRUE, hitpush = FALSE)
|
||||
|
||||
/mob/living/carbon/alien/can_embed(obj/item/I)
|
||||
return FALSE
|
||||
|
||||
/*Code for aliens attacking aliens. Because aliens act on a hivemind, I don't see them as very aggressive with each other.
|
||||
As such, they can either help or harm other aliens. Help works like the human help command while harm is a simple nibble.
|
||||
In all, this is a lot like the monkey code. /N
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
|
||||
|
||||
/mob/living/carbon/alien/larva/Life()
|
||||
set invisibility = 0
|
||||
if (notransform)
|
||||
/mob/living/carbon/alien/larva/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(..()) //not dead
|
||||
// GROW!
|
||||
if(amount_grown < max_grown)
|
||||
amount_grown++
|
||||
update_icons()
|
||||
// GROW!
|
||||
if(amount_grown < max_grown)
|
||||
amount_grown++
|
||||
update_icons()
|
||||
|
||||
|
||||
/mob/living/carbon/alien/larva/update_stat()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/carbon/alien/Life()
|
||||
/mob/living/carbon/alien/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
findQueen()
|
||||
return..()
|
||||
|
||||
/mob/living/carbon/alien/check_breath(datum/gas_mixture/breath)
|
||||
if(status_flags & GODMODE)
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
ghost.transfer_ckey(new_xeno, FALSE)
|
||||
SEND_SOUND(new_xeno, sound('sound/voice/hiss5.ogg',0,0,0,100)) //To get the player's attention
|
||||
new_xeno.Paralyze(6)
|
||||
new_xeno.notransform = TRUE
|
||||
new_xeno.mob_transforming = TRUE
|
||||
new_xeno.invisibility = INVISIBILITY_MAXIMUM
|
||||
|
||||
sleep(6)
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
if(new_xeno)
|
||||
new_xeno.SetParalyzed(0)
|
||||
new_xeno.notransform = FALSE
|
||||
new_xeno.mob_transforming = FALSE
|
||||
new_xeno.invisibility = 0
|
||||
|
||||
var/mob/living/carbon/old_owner = owner
|
||||
|
||||
@@ -65,17 +65,6 @@
|
||||
throw_mode_off()
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/embed_item(obj/item/I)
|
||||
throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
|
||||
var/obj/item/bodypart/L = pick(bodyparts)
|
||||
L.embedded_objects |= I
|
||||
I.add_mob_blood(src)//it embedded itself in you, of course it's bloody!
|
||||
I.forceMove(src)
|
||||
I.embedded()
|
||||
L.receive_damage(I.w_class*I.embedding["impact_pain_mult"])
|
||||
visible_message("<span class='danger'>[I] embeds itself in [src]'s [L.name]!</span>","<span class='userdanger'>[I] embeds itself in your [L.name]!</span>")
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "embedded", /datum/mood_event/embedded)
|
||||
|
||||
/mob/living/carbon/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
|
||||
var/totitemdamage = pre_attacked_by(I, user) * damage_multiplier
|
||||
var/impacting_zone = (user == src)? check_zone(user.zone_selected) : ran_zone(user.zone_selected)
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
|
||||
|
||||
/mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE)
|
||||
/mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE)
|
||||
SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone)
|
||||
var/hit_percent = (100-blocked)/100
|
||||
if(!forced && hit_percent <= 0)
|
||||
return 0
|
||||
|
||||
var/obj/item/bodypart/BP = null
|
||||
if(isbodypart(def_zone)) //we specified a bodypart object
|
||||
BP = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone(def_zone)
|
||||
BP = get_bodypart(check_zone(def_zone))
|
||||
if(!BP)
|
||||
BP = bodyparts[1]
|
||||
if(!spread_damage)
|
||||
if(isbodypart(def_zone)) //we specified a bodypart object
|
||||
BP = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone(def_zone)
|
||||
BP = get_bodypart(check_zone(def_zone))
|
||||
if(!BP)
|
||||
BP = bodyparts[1]
|
||||
|
||||
var/damage_amount = forced ? damage : damage * hit_percent
|
||||
switch(damagetype)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
|
||||
/mob/living/carbon/human/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE)
|
||||
/mob/living/carbon/human/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage)
|
||||
// depending on the species, it will run the corresponding apply_damage code there
|
||||
return dna.species.apply_damage(damage, damagetype, def_zone, blocked, src, forced)
|
||||
return dna.species.apply_damage(damage, damagetype, def_zone, blocked, src, forced, spread_damage)
|
||||
|
||||
@@ -18,32 +18,21 @@
|
||||
#define THERMAL_PROTECTION_HAND_LEFT 0.025
|
||||
#define THERMAL_PROTECTION_HAND_RIGHT 0.025
|
||||
|
||||
/mob/living/carbon/human/Life(seconds, times_fired)
|
||||
set invisibility = 0
|
||||
if (notransform)
|
||||
/mob/living/carbon/human/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
handle_active_genes()
|
||||
//heart attack stuff
|
||||
handle_heart()
|
||||
dna.species.spec_life(src) // for mutantraces
|
||||
return (stat != DEAD) && !QDELETED(src)
|
||||
|
||||
. = ..()
|
||||
|
||||
if (QDELETED(src))
|
||||
return 0
|
||||
|
||||
if(.) //not dead
|
||||
handle_active_genes()
|
||||
|
||||
if(stat != DEAD)
|
||||
//heart attack stuff
|
||||
handle_heart()
|
||||
|
||||
/mob/living/carbon/human/PhysicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
//Update our name based on whether our face is obscured/disfigured
|
||||
name = get_visible_name()
|
||||
|
||||
dna.species.spec_life(src) // for mutantraces
|
||||
|
||||
if(stat != DEAD)
|
||||
return 1
|
||||
|
||||
|
||||
/mob/living/carbon/human/calculate_affecting_pressure(pressure)
|
||||
var/headless = !get_bodypart(BODY_ZONE_HEAD) //should the mob be perennially headless (see dullahans), we only take the suit into account, so they can into space.
|
||||
if (wear_suit && istype(wear_suit, /obj/item/clothing) && (headless || (head && istype(head, /obj/item/clothing))))
|
||||
|
||||
@@ -1492,12 +1492,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
|
||||
var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
|
||||
if(user.dna.species.punchdamagelow)
|
||||
if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists have a flat 10% miss chance
|
||||
miss_chance = 10
|
||||
if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage)
|
||||
miss_chance = 0
|
||||
else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists have a flat 10% miss chance
|
||||
miss_chance = 10
|
||||
else
|
||||
miss_chance = min(10 + ((puncherstam + puncherbrute)*0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
|
||||
miss_chance = min(10 + max(puncherstam * 0.5, puncherbrute * 0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
|
||||
|
||||
if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
|
||||
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
|
||||
@@ -1939,7 +1939,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
append_message += ", causing them to drop [target_held_item]"
|
||||
log_combat(user, target, "shoved", append_message)
|
||||
|
||||
/datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE)
|
||||
/datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE, spread_damage = FALSE)
|
||||
SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone)
|
||||
var/hit_percent = (100-(blocked+armor))/100
|
||||
hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100
|
||||
@@ -1947,20 +1947,20 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
return 0
|
||||
|
||||
var/obj/item/bodypart/BP = null
|
||||
if(isbodypart(def_zone))
|
||||
if(damagetype == STAMINA && istype(def_zone, /obj/item/bodypart/head))
|
||||
BP = H.get_bodypart(check_zone(BODY_ZONE_CHEST))
|
||||
if(!spread_damage)
|
||||
if(isbodypart(def_zone))
|
||||
if(damagetype == STAMINA && istype(def_zone, /obj/item/bodypart/head))
|
||||
BP = H.get_bodypart(check_zone(BODY_ZONE_CHEST))
|
||||
else
|
||||
BP = def_zone
|
||||
else
|
||||
BP = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone(def_zone)
|
||||
if(damagetype == STAMINA && def_zone == BODY_ZONE_HEAD)
|
||||
def_zone = BODY_ZONE_CHEST
|
||||
BP = H.get_bodypart(check_zone(def_zone))
|
||||
|
||||
if(!BP)
|
||||
BP = H.bodyparts[1]
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone(def_zone)
|
||||
if(damagetype == STAMINA && def_zone == BODY_ZONE_HEAD)
|
||||
def_zone = BODY_ZONE_CHEST
|
||||
BP = H.get_bodypart(check_zone(def_zone))
|
||||
if(!BP)
|
||||
BP = H.bodyparts[1]
|
||||
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
"<span class='notice'>You focus intently on moving your body while \
|
||||
standing perfectly still...</span>")
|
||||
|
||||
H.notransform = TRUE
|
||||
H.mob_transforming = TRUE
|
||||
|
||||
if(do_after(owner, delay=60, needhand=FALSE, target=owner, progress=TRUE))
|
||||
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
|
||||
@@ -249,7 +249,7 @@
|
||||
else
|
||||
to_chat(H, "<span class='warning'>...but fail to stand perfectly still!</span>")
|
||||
|
||||
H.notransform = FALSE
|
||||
H.mob_transforming = FALSE
|
||||
|
||||
/datum/action/innate/split_body/proc/make_dupe()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
@@ -267,7 +267,7 @@
|
||||
spare.Move(get_step(H.loc, pick(NORTH,SOUTH,EAST,WEST)))
|
||||
|
||||
H.blood_volume *= 0.45
|
||||
H.notransform = 0
|
||||
H.mob_transforming = 0
|
||||
|
||||
var/datum/species/jelly/slime/origin_datum = H.dna.species
|
||||
origin_datum.bodies |= spare
|
||||
@@ -466,8 +466,9 @@
|
||||
if(new_color)
|
||||
var/temp_hsv = RGBtoHSV(new_color)
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright
|
||||
H.dna.features["mcolor"] = sanitize_hexcolor(new_color)
|
||||
H.dna.features["mcolor"] = sanitize_hexcolor(new_color, 6)
|
||||
H.update_body()
|
||||
H.update_hair()
|
||||
else
|
||||
to_chat(H, "<span class='notice'>Invalid color. Your color is not bright enough.</span>")
|
||||
else if(select_alteration == "Hair Style")
|
||||
|
||||
@@ -1,29 +1,19 @@
|
||||
/mob/living/carbon/Life()
|
||||
set invisibility = 0
|
||||
|
||||
if(notransform)
|
||||
return
|
||||
|
||||
if(damageoverlaytemp)
|
||||
damageoverlaytemp = 0
|
||||
update_damage_hud()
|
||||
|
||||
/mob/living/carbon/BiologicalLife(seconds, times_fired)
|
||||
//Reagent processing needs to come before breathing, to prevent edge cases.
|
||||
handle_organs()
|
||||
|
||||
. = ..()
|
||||
|
||||
if (QDELETED(src))
|
||||
if(stat == DEAD)
|
||||
return FALSE
|
||||
if(!(. = ..()))
|
||||
return
|
||||
|
||||
if(.) //not dead
|
||||
handle_blood()
|
||||
|
||||
handle_blood()
|
||||
// handle_blood *could* kill us.
|
||||
// we should probably have a better system for if we need to check for death or something in the future hmw
|
||||
if(stat != DEAD)
|
||||
var/bprv = handle_bodyparts()
|
||||
if(bprv & BODYPART_LIFE_UPDATE_HEALTH)
|
||||
updatehealth()
|
||||
update_stamina()
|
||||
doSprintBufferRegen()
|
||||
|
||||
if(stat != DEAD)
|
||||
handle_brain_damage()
|
||||
@@ -35,12 +25,17 @@
|
||||
stop_sound_channel(CHANNEL_HEARTBEAT)
|
||||
handle_death()
|
||||
rot()
|
||||
. = FALSE
|
||||
|
||||
//Updates the number of stored chemicals for powers
|
||||
handle_changeling()
|
||||
|
||||
if(stat != DEAD)
|
||||
return 1
|
||||
/mob/living/carbon/PhysicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(damageoverlaytemp)
|
||||
damageoverlaytemp = 0
|
||||
update_damage_hud()
|
||||
|
||||
//Procs called while dead
|
||||
/mob/living/carbon/proc/handle_death()
|
||||
|
||||
@@ -3,30 +3,26 @@
|
||||
/mob/living/carbon/monkey
|
||||
|
||||
|
||||
/mob/living/carbon/monkey/Life()
|
||||
set invisibility = 0
|
||||
|
||||
if (notransform)
|
||||
/mob/living/carbon/monkey/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
|
||||
if(..())
|
||||
|
||||
if(!client)
|
||||
if(stat == CONSCIOUS)
|
||||
if(on_fire || buckled || restrained() || (!CHECK_MOBILITY(src, MOBILITY_STAND) && CHECK_MOBILITY(src, MOBILITY_MOVE))) //CIT CHANGE - makes it so monkeys attempt to resist if they're resting)
|
||||
if(!resisting && prob(MONKEY_RESIST_PROB))
|
||||
resisting = TRUE
|
||||
walk_to(src,0)
|
||||
resist()
|
||||
else if(resisting)
|
||||
resisting = FALSE
|
||||
else if((mode == MONKEY_IDLE && !pickupTarget && !prob(MONKEY_SHENANIGAN_PROB)) || !handle_combat())
|
||||
if(prob(25) && CHECK_MOBILITY(src, MOBILITY_MOVE) && isturf(loc) && !pulledby)
|
||||
step(src, pick(GLOB.cardinals))
|
||||
else if(prob(1))
|
||||
emote(pick("scratch","jump","roll","tail"))
|
||||
else
|
||||
if(client)
|
||||
return
|
||||
if(stat == CONSCIOUS)
|
||||
if(on_fire || buckled || restrained() || (!CHECK_MOBILITY(src, MOBILITY_STAND) && CHECK_MOBILITY(src, MOBILITY_MOVE))) //CIT CHANGE - makes it so monkeys attempt to resist if they're resting)
|
||||
if(!resisting && prob(MONKEY_RESIST_PROB))
|
||||
resisting = TRUE
|
||||
walk_to(src,0)
|
||||
resist()
|
||||
else if(resisting)
|
||||
resisting = FALSE
|
||||
else if((mode == MONKEY_IDLE && !pickupTarget && !prob(MONKEY_SHENANIGAN_PROB)) || !handle_combat())
|
||||
if(prob(25) && CHECK_MOBILITY(src, MOBILITY_MOVE) && isturf(loc) && !pulledby)
|
||||
step(src, pick(GLOB.cardinals))
|
||||
else if(prob(1))
|
||||
emote(pick("scratch","jump","roll","tail"))
|
||||
else
|
||||
walk_to(src,0)
|
||||
|
||||
/mob/living/carbon/monkey/handle_mutations_and_radiation()
|
||||
if(radiation)
|
||||
|
||||
@@ -31,11 +31,12 @@
|
||||
if(relic_mask)
|
||||
equip_to_slot_or_del(new relic_mask, SLOT_WEAR_MASK)
|
||||
|
||||
/mob/living/carbon/monkey/punpun/Life()
|
||||
/mob/living/carbon/monkey/punpun/BiologicalLife(seconds, times_fired)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved)
|
||||
Write_Memory(FALSE, FALSE)
|
||||
memory_saved = TRUE
|
||||
..()
|
||||
|
||||
/mob/living/carbon/monkey/punpun/death(gibbed)
|
||||
if(!memory_saved)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user