Merge pull request #100 from Hawk-v3/master

More Vore Updates
This commit is contained in:
Hawk-v3
2019-05-08 21:08:40 +01:00
committed by GitHub
40 changed files with 1613 additions and 469 deletions
+4 -4
View File
@@ -13,7 +13,7 @@ SUBSYSTEM_DEF(nanoui)
"nano/css/",\
"nano/images/",\
"nano/images/status_icons/",\
"nano/images/modular_computers/",
"nano/images/modular_computers/",\
"nano/js/",\
"nano/templates/"\
)
@@ -25,9 +25,9 @@ SUBSYSTEM_DEF(nanoui)
if(copytext(filename, length(filename)) != "/") // filenames which end in "/" are actually directories, which we want to ignore
if(fexists(path + filename))
asset_files.Add(fcopy_rsc(path + filename)) // add this file to asset_files for sending to clients when they connect
.=..() //VOREStation Edit start: fixing some kevinzing
.=..()
for(var/i in GLOB.clients)
send_resources(i) //VOREStation Edit end: fixing some kevinzing
send_resources(i)
/datum/controller/subsystem/nanoui/Recover()
if(SSnanoui.open_uis)
@@ -50,4 +50,4 @@ SUBSYSTEM_DEF(nanoui)
if(!subsystem_initialized)
return
for(var/file in asset_files)
client << browse_rsc(file) // send the file to the client
client << browse_rsc(file) // send the file to the client
+1 -1
View File
@@ -6,7 +6,7 @@
/decl/hierarchy/outfit/job/assistant/engineer
id_type = /obj/item/weapon/card/id/engineering
flags = OUTFIT_EXTENDED_SURVIVAL
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
/decl/hierarchy/outfit/job/assistant/medic
id_type = /obj/item/weapon/card/id/medical
+4 -2
View File
@@ -342,11 +342,13 @@ var/global/datum/controller/occupations/job_master
if(!joined_late)
var/obj/S = null
var/list/possible_spawns = list()
for(var/obj/effect/landmark/start/sloc in landmarks_list)
if(sloc.name != rank) continue
if(locate(/mob/living) in sloc.loc) continue
S = sloc
break
possible_spawns.Add(sloc)
if(possible_spawns.len)
S = pick(possible_spawns)
if(!S)
S = locate("start*[rank]") // use old stype
if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf))
+1
View File
@@ -19,6 +19,7 @@
/turf/simulated/floor/water/Initialize()
. = ..()
update_icon()
handle_fish()
/turf/simulated/floor/water/update_icon()
..() // To get the edges.
+202
View File
@@ -0,0 +1,202 @@
/*
* Fishing! Contains normal fishing rods and nets.
*/
GLOBAL_LIST_INIT(generic_fishing_rare_list, list(
/mob/living/simple_mob/animal/passive/fish/solarfish = 1,
/mob/living/simple_mob/animal/passive/fish/icebass = 5,
/mob/living/simple_mob/animal/passive/fish/koi = 3
))
GLOBAL_LIST_INIT(generic_fishing_uncommon_list, list(
/mob/living/simple_mob/animal/passive/fish/salmon = 6,
/mob/living/simple_mob/animal/passive/fish/pike = 10,
/mob/living/simple_mob/animal/passive/fish/javelin = 3,
/mob/living/simple_mob/animal/passive/crab/sif = 1
))
GLOBAL_LIST_INIT(generic_fishing_common_list, list(
/mob/living/simple_mob/animal/passive/fish/bass = 10,
/mob/living/simple_mob/animal/passive/fish/trout = 8,
/mob/living/simple_mob/animal/passive/fish/perch = 6,
/mob/living/simple_mob/animal/passive/fish/murkin = 8,
/mob/living/simple_mob/animal/passive/fish/rockfish = 5,
/mob/living/simple_mob/animal/passive/crab = 1
))
GLOBAL_LIST_INIT(generic_fishing_junk_list, list(
/obj/item/clothing/shoes/boots/cowboy = 1,
/obj/random/fishing_junk = 10
))
GLOBAL_LIST_INIT(generic_fishing_pool_list, list(
/obj/item/weapon/bikehorn/rubberducky = 5,
/obj/item/toy/plushie/carp = 20,
/obj/random/junk = 80,
/obj/random/trash = 80,
/obj/item/weapon/spacecash/c1 = 10,
/obj/item/weapon/spacecash/c10 = 5,
/obj/item/weapon/spacecash/c100 = 1
))
#define FISHING_RARE "rare"
#define FISHING_UNCOMMON "uncommon"
#define FISHING_COMMON "common"
#define FISHING_JUNK "junk"
#define FISHING_NOTHING "nothing"
GLOBAL_LIST_INIT(generic_fishing_chance_list, list(FISHING_RARE = 5, FISHING_UNCOMMON = 15, FISHING_COMMON = 30, FISHING_JUNK = 30, FISHING_NOTHING = 40))
/turf/simulated/floor/water
var/has_fish = TRUE //If the water has fish or not.
var/list/rare_fish_list // Rare list.
var/list/uncommon_fish_list // Uncommon list.
var/list/common_fish_list // Common list.
var/list/junk_list // Junk item list.
var/list/fishing_loot // Chance list.
var/fishing_cooldown = 30 SECONDS
var/last_fished = 0
var/fish_type
var/min_fishing_time = 30 // Time in seconds.
var/max_fishing_time = 90
var/being_fished = FALSE
/turf/simulated/floor/water/proc/handle_fish() // Subtypes should over-ride this, and supply their own GLOB lists for maximum Mix and Match power.
if(has_fish)
rare_fish_list = GLOB.generic_fishing_rare_list
uncommon_fish_list = GLOB.generic_fishing_uncommon_list
common_fish_list = GLOB.generic_fishing_common_list
junk_list = GLOB.generic_fishing_junk_list
fishing_loot = GLOB.generic_fishing_chance_list
/turf/simulated/floor/water/pool
has_fish = FALSE
/turf/simulated/floor/water/deep/pool
has_fish = TRUE
/turf/simulated/floor/water/deep/pool/handle_fish()
if(has_fish)
rare_fish_list = GLOB.generic_fishing_pool_list
uncommon_fish_list = GLOB.generic_fishing_pool_list
common_fish_list = GLOB.generic_fishing_pool_list
junk_list = GLOB.generic_fishing_pool_list
fishing_loot = GLOB.generic_fishing_chance_list
/turf/simulated/floor/water/ex_act(severity) // Explosive fishing.
if(prob(5 * severity))
pick_fish()
if(fish_type)
var/fished = new fish_type(get_turf(src))
if(isliving(fished))
var/mob/living/L = fished
L.death()
has_fish = FALSE
..(severity)
/turf/simulated/floor/water/proc/pick_fish()
if(has_fish)
var/table = pickweight(fishing_loot)
if(table == FISHING_RARE && rare_fish_list.len)
fish_type = pickweight(rare_fish_list)
else if(table == FISHING_UNCOMMON && uncommon_fish_list.len)
fish_type = pickweight(uncommon_fish_list)
else if(table == FISHING_COMMON && common_fish_list.len)
fish_type = pickweight(common_fish_list)
else if(table == FISHING_JUNK && junk_list.len)
fish_type = pickweight(junk_list)
else
fish_type = null
else
fish_type = null
/turf/simulated/floor/water/attackby(obj/item/weapon/P as obj, mob/user as mob)
//If you use a fishing rod on an open body of water that var/has_fish enabled
if(istype(P, /obj/item/weapon/material/fishing_rod) && !being_fished)
var/obj/item/weapon/material/fishing_rod/R = P
if(!R.strung)
to_chat(user, "<span class='notice'>It is hard to go fishing without any line!</span>")
return
if(R.cast)
to_chat(user, "<span class='notice'>You can only cast one line at a time!</span>")
return
playsound(src, 'sound/effects/slosh.ogg', 5, 1, 5)
to_chat(user,"You cast \the [P.name] into \the [src].")
being_fished = TRUE
R.cast = TRUE
var/fishing_time = rand(min_fishing_time SECONDS,max_fishing_time SECONDS) * R.toolspeed
if(do_after(user,fishing_time,user))
playsound(src, 'sound/effects/slosh.ogg', 5, 1, 5)
to_chat(user,"<span class='notice'>You feel a tug and begin pulling!</span>")
if(world.time >= last_fished + fishing_cooldown)
pick_fish()
last_fished = world.time
else
fish_type = null
if(prob(3)) // No fish left here..
has_fish = FALSE
//List of possible outcomes.
if(!fish_type)
to_chat(user,"You caught... nothing. How sad.")
else
var/fished = new fish_type(get_turf(user))
if(isliving(fished))
R.consume_bait()
var/mob/living/L = fished
if(prob(rand(L.mob_size) + 10) && R.line_break)
R.strung = FALSE
R.update_icon()
user.visible_message("<span class='danger'>\The [R]'s string snaps!</span>")
if(prob(33)) // Dead on hook. Good for food, not so much for live catch.
L.death()
to_chat(user,"<span class='notice'>You fish out \the [fished] from the water with [P.name]!</span>")
R.cast = FALSE
being_fished = FALSE
else ..()
/obj/random/fishing_junk
name = "junk"
desc = "This is a random fishing junk item."
icon = 'icons/obj/storage.dmi'
icon_state = "red"
/obj/random/fishing_junk/item_to_spawn()
return pickweight(list(
/obj/random/toy = 60,
/obj/random/maintenance/engineering = 50,
/obj/random/maintenance/clean = 40,
/obj/random/maintenance/security = 40,
/obj/random/maintenance/research = 40,
/obj/structure/closet/crate/secure/loot = 30,
/obj/random/bomb_supply = 30,
/obj/random/powercell = 30,
/obj/random/tech_supply/component = 30,
/obj/random/unidentified_medicine/old_medicine = 30,
/obj/random/plushie = 30,
/obj/random/contraband = 20,
/obj/random/coin = 20,
/obj/random/medical = 15,
/obj/random/unidentified_medicine/fresh_medicine = 15,
/obj/random/action_figure = 15,
/obj/random/plushielarge = 15,
/obj/random/firstaid = 10,
/obj/random/tool/powermaint = 5,
/obj/random/unidentified_medicine/combat_medicine = 1,
/obj/random/tool/alien = 1,
/obj/random/handgun = 1,
/mob/living/simple_mob/animal/sif/hooligan_crab = 1
))
#undef FISHING_RARE
#undef FISHING_UNCOMMON
#undef FISHING_COMMON
#undef FISHING_JUNK
#undef FISHING_NOTHING
+109
View File
@@ -0,0 +1,109 @@
/obj/item/weapon/material/fishing_net
name = "fishing net"
desc = "A crude fishing net."
icon = 'icons/obj/items.dmi'
icon_state = "net"
item_state = "net"
description_info = "This object can be used to capture certain creatures easily, most commonly fish. \
It has a reach of two tiles, and can be emptied by activating it in-hand. \
This version will not keep creatures inside in stasis, and will be heavier if it contains a mob."
var/empty_state = "net"
var/contain_state = "net_full"
w_class = ITEMSIZE_SMALL
flags = NOBLUDGEON
slowdown = 0.25
reach = 2
default_material = "cloth"
var/list/accepted_mobs = list(/mob/living/simple_mob/animal/passive/fish)
/obj/item/weapon/material/fishing_net/Initialize()
..()
update_icon()
/obj/item/weapon/material/fishing_net/afterattack(var/atom/A, var/mob/user, var/proximity)
if(get_dist(get_turf(src), A) > reach)
return
if(istype(A, /turf))
var/mob/living/Target
for(var/type in accepted_mobs)
Target = locate(type) in A.contents
if(Target)
afterattack(Target, user, proximity)
break
if(istype(A, /mob))
var/accept = FALSE
for(var/D in accepted_mobs)
if(istype(A, D))
accept = TRUE
for(var/atom/At in src.contents)
if(isliving(At))
to_chat(user, "<span class='notice'>Your net is already holding something!</span>")
accept = FALSE
if(!accept)
to_chat(user, "[A] can't be trapped in \the [src].")
return
var/mob/L = A
user.visible_message("<span class='notice'>[user] snatches [L] with \the [src].</span>", "<span class='notice'>You snatch [L] with \the [src].</span>")
L.forceMove(src)
update_icon()
update_weight()
return
return ..()
/obj/item/weapon/material/fishing_net/attack_self(var/mob/user)
for(var/mob/M in src)
M.forceMove(get_turf(src))
user.visible_message("<span class='notice'>[user] releases [M] from \the [src].</span>", "<span class='notice'>You release [M] from \the [src].</span>")
for(var/obj/item/I in src)
I.forceMove(get_turf(src))
user.visible_message("<span class='notice'>[user] dumps \the [I] out of \the [src].</span>", "<span class='notice'>You dump \the [I] out of \the [src].</span>")
update_icon()
update_weight()
return
/obj/item/weapon/material/fishing_net/attackby(var/obj/item/W, var/mob/user)
if(contents)
for(var/mob/living/L in contents)
if(prob(25))
L.attackby(W, user)
..()
/obj/item/weapon/material/fishing_net/update_icon() // Also updates name and desc
underlays.Cut()
overlays.Cut()
..()
name = initial(name)
desc = initial(desc)
var/contains_mob = FALSE
for(var/mob/M in src)
var/image/victim = image(M.icon, M.icon_state)
underlays += victim
name = "filled net"
desc = "A net with [M] inside."
contains_mob = TRUE
if(contains_mob)
icon_state = contain_state
else
icon_state = empty_state
return
/obj/item/weapon/material/fishing_net/proc/update_weight()
if(icon_state == contain_state) // Let's not do a for loop just to see if a mob is in here.
slowdown = initial(slowdown) * 2
reach = 1
else
slowdown = initial(slowdown)
reach = initial(reach)
+124
View File
@@ -0,0 +1,124 @@
/obj/item/weapon/material/fishing_rod
name = "crude fishing rod"
desc = "A crude rod made for catching fish."
description_info = "A tool usable on water-tiles to attempt to catch fish by swiping it over them.\
You can add or remove cable by wirecutter or coil respectively to allow its use.\
Any food containing things like protein, sugar, or standard nutriment can be attached to the rod, allowing for faster fishing based on the amount.\
You can examine the rod to check if it has bait attached, and examine it automatically if so.\
\
Ctrl clicking the rod will remove any attached bait from the rod."
description_antag = "Some fishing rods can be utilized as long-range, sharp weapons, though their pseudo ranged ability comes at the cost of slow speed."
icon_state = "fishing_rod"
item_state = "fishing_rod"
force_divisor = 0.25
throwforce = 7
sharp = TRUE
attack_verb = list("whipped", "battered", "slapped", "fished", "hooked")
hitsound = 'sound/weapons/punchmiss.ogg'
applies_material_colour = TRUE
default_material = "wood"
can_dull = FALSE
var/strung = TRUE
var/line_break = TRUE
var/obj/item/weapon/reagent_containers/food/snacks/Bait
var/bait_type = /obj/item/weapon/reagent_containers/food/snacks
var/cast = FALSE
attackspeed = 3 SECONDS
/obj/item/weapon/material/fishing_rod/built
strung = FALSE
/obj/item/weapon/material/fishing_rod/examine(mob/M as mob)
..()
if(Bait)
to_chat(M, "<span class='notice'>\The [src] has \the [Bait] hanging on its hook.</span>")
Bait.examine(M)
/obj/item/weapon/material/fishing_rod/CtrlClick(mob/user)
if((src.loc == user || Adjacent(user)) && Bait)
Bait.forceMove(get_turf(user))
to_chat(user, "<span class='notice'>You remove the bait from \the [src].</span>")
Bait = null
else
..()
/obj/item/weapon/material/fishing_rod/Initialize()
..()
update_icon()
/obj/item/weapon/material/fishing_rod/attackby(obj/item/I as obj, mob/user as mob)
if(I.is_wirecutter() && strung)
strung = FALSE
to_chat(user, "<span class='notice'>You cut \the [src]'s string!</span>")
update_icon()
return
else if(istype(I, /obj/item/stack/cable_coil) && !strung)
var/obj/item/stack/cable_coil/C = I
if(C.amount < 5)
to_chat(user, "<span class='warning'>You do not have enough length in \the [C] to string this!</span>")
return
if(do_after(user, rand(10 SECONDS, 20 SECONDS)))
C.use(5)
strung = TRUE
to_chat(user, "<span class='notice'>You string \the [src]!</span>")
update_icon()
return
else if(istype(I, bait_type))
if(Bait)
Bait.forceMove(get_turf(user))
to_chat(user, "<span class='notice'>You swap \the [Bait] with \the [I].</span>")
Bait = I
user.drop_from_inventory(Bait)
Bait.forceMove(src)
update_bait()
return ..()
/obj/item/weapon/material/fishing_rod/update_icon()
overlays.Cut()
..()
if(strung)
overlays += image(icon, "[icon_state]_string")
/obj/item/weapon/material/fishing_rod/proc/update_bait()
if(istype(Bait, bait_type))
var/foodvolume
for(var/datum/reagent/re in Bait.reagents.reagent_list)
if(re.id == "nutriment" || re.id == "protein" || re.id == "glucose")
foodvolume += re.volume
toolspeed = initial(toolspeed) * min(0.75, (0.5 / max(0.5, (foodvolume / Bait.reagents.maximum_volume))))
else
toolspeed = initial(toolspeed)
/obj/item/weapon/material/fishing_rod/proc/consume_bait()
if(Bait)
qdel(Bait)
Bait = null
return TRUE
return FALSE
/obj/item/weapon/material/fishing_rod/attack(var/mob/M as mob, var/mob/user as mob, var/def_zone)
if(cast)
to_chat(user, "<span class='notice'>You cannot cast \the [src] when it is already in use!</span>")
return FALSE
update_bait()
return ..()
/obj/item/weapon/material/fishing_rod/modern
name = "fishing rod"
desc = "A refined rod for catching fish."
icon_state = "fishing_rod_modern"
item_state = "fishing_rod"
reach = 4
attackspeed = 2 SECONDS
default_material = "titanium"
toolspeed = 0.75
/obj/item/weapon/material/fishing_rod/modern/built
strung = FALSE
+21 -3
View File
@@ -714,18 +714,36 @@
bitesize = 1
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
name = "carp fillet"
desc = "A fillet of spess carp meat"
name = "fillet"
desc = "A fillet of carp meat"
icon_state = "fishfillet"
filling_color = "#FFDEFE"
center_of_mass = list("x"=17, "y"=13)
var/toxin_type = "carpotoxin"
var/toxin_amount = 3
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/Initialize()
. = ..()
reagents.add_reagent("protein", 3)
reagents.add_reagent("carpotoxin", 3)
reagents.add_reagent(toxin_type, toxin_amount)
src.bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif
desc = "A fillet of sivian fish meat."
filling_color = "#2c2cff"
color = "#2c2cff"
toxin_type = "neurotoxic_protein"
toxin_amount = 2
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish
toxin_type = "murk_protein"
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish
desc = "A fillet of fish meat."
toxin_type = "neurotoxic_protein"
toxin_amount = 1
/obj/item/weapon/reagent_containers/food/snacks/fishfingers
name = "Fish Fingers"
desc = "A finger of fish."
@@ -129,6 +129,7 @@
recipes += new/datum/stack_recipe("airtight plastic flaps", /obj/structure/plasticflaps/mining, 5, time = 25, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("water-cooler", /obj/structure/reagent_dispensers/water_cooler, 4, time = 10, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("lampshade", /obj/item/weapon/lampshade, 1, time = 1)
recipes += new/datum/stack_recipe("plastic net", /obj/item/weapon/material/fishing_net, 25, time = 1 MINUTE)
/material/wood/generate_recipes()
..()
@@ -148,6 +149,7 @@
recipes += new/datum/stack_recipe("noticeboard frame", /obj/item/frame/noticeboard, 4, time = 5, one_per_turf = 0, on_floor = 1)
recipes += new/datum/stack_recipe("wooden bucket", /obj/item/weapon/reagent_containers/glass/bucket/wood, 2, time = 4, one_per_turf = 0, on_floor = 0)
recipes += new/datum/stack_recipe("coilgun stock", /obj/item/weapon/coilgun_assembly, 5)
recipes += new/datum/stack_recipe("crude fishing rod", /obj/item/weapon/material/fishing_rod/built, 8, time = 10 SECONDS)
/material/wood/log/generate_recipes()
recipes = list()
@@ -200,3 +202,20 @@
/material/supermatter/generate_recipes()
recipes = list()
recipes += new/datum/stack_recipe("supermatter shard", /obj/machinery/power/supermatter/shard, 30 , one_per_turf = 1, time = 600, on_floor = 1)
/material/cloth/generate_recipes()
recipes = list()
recipes += new/datum/stack_recipe("woven net", /obj/item/weapon/material/fishing_net, 10, time = 30 SECONDS)
recipes += new/datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 10, time = 30 SECONDS)
recipes += new/datum/stack_recipe("uniform", /obj/item/clothing/under/color/white, 8, time = 15 SECONDS)
recipes += new/datum/stack_recipe("foot wraps", /obj/item/clothing/shoes/footwraps, 2, time = 5 SECONDS)
recipes += new/datum/stack_recipe("gloves", /obj/item/clothing/gloves/white, 2, time = 5 SECONDS)
recipes += new/datum/stack_recipe("wig", /obj/item/clothing/head/powdered_wig, 4, time = 10 SECONDS)
recipes += new/datum/stack_recipe("philosopher's wig", /obj/item/clothing/head/philosopher_wig, 50, time = 2 MINUTES)
recipes += new/datum/stack_recipe("taqiyah", /obj/item/clothing/head/taqiyah, 3, time = 6 SECONDS)
recipes += new/datum/stack_recipe("turban", /obj/item/clothing/head/turban, 3, time = 6 SECONDS)
recipes += new/datum/stack_recipe("hijab", /obj/item/clothing/head/hijab, 3, time = 6 SECONDS)
recipes += new/datum/stack_recipe("kippa", /obj/item/clothing/head/kippa, 3, time = 6 SECONDS)
recipes += new/datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white, 4, time = 5 SECONDS)
recipes += new/datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS)
recipes += new/datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE)
@@ -53,7 +53,9 @@
new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000),
new /datum/data/mining_equipment("KA Efficiency Increase", /obj/item/borg/upgrade/modkit/efficiency, 1200),
new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000),
new /datum/data/mining_equipment("KA Holster", /obj/item/clothing/accessory/holster/waist/kinetic_accelerator, 350)
new /datum/data/mining_equipment("KA Holster", /obj/item/clothing/accessory/holster/waist/kinetic_accelerator, 350),
new /datum/data/mining_equipment("Fishing Net", /obj/item/weapon/material/fishing_net, 500),
new /datum/data/mining_equipment("Titanium Fishing Rod", /obj/item/weapon/material/fishing_rod/modern, 1000)
)
//VOREStation Edit End
+16
View File
@@ -104,6 +104,22 @@ var/list/holder_mob_icon_cache = list()
/obj/item/weapon/holder/borer
origin_tech = list(TECH_BIO = 6)
/obj/item/weapon/holder/fish
attack_verb = list("fished", "disrespected", "smacked", "smackereled")
hitsound = 'sound/effects/slime_squish.ogg'
slot_flags = SLOT_HOLSTER
origin_tech = list(TECH_BIO = 3)
/obj/item/weapon/holder/fish/afterattack(var/atom/target, var/mob/living/user, proximity)
if(!target)
return
if(!proximity)
return
if(isliving(target))
var/mob/living/L = target
if(prob(10))
L.Stun(2)
/obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob)
for(var/mob/M in src.contents)
M.attackby(W,user)
@@ -16,6 +16,8 @@
response_harm = "stomps"
friendly = "pinches"
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/crab
say_list_type = /datum/say_list/crab
//COFFEE! SQUEEEEEEEEE!
@@ -23,3 +25,33 @@
name = "Coffee"
real_name = "Coffee"
desc = "It's Coffee, the other pet!"
// Sif!
/datum/category_item/catalogue/fauna/sif_crab
name = "Sivian Fauna - Shelf Crab"
desc = "Classification: S Ocypode glacian\
<br><br>\
A small crustacean sometimes considered a pest to Sivian fisheries, \
as the creatures often tend to ignore non-native fish species when feeding. This \
results in an unfortunate advantage for invasive species. \
<br>\
Otherwise, these animals are enjoyed as a reliable source of high-grade meat."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/passive/crab/sif
icon = 'icons/mob/fish.dmi'
tt_desc = "S Ocypode glacian"
catalogue_data = list(/datum/category_item/catalogue/fauna/sif_crab)
/mob/living/simple_mob/animal/passive/crab/sif/Initialize()
..()
adjust_scale(rand(5,15) / 10)
// Meat!
/obj/item/weapon/reagent_containers/food/snacks/meat/crab
name = "meat"
desc = "A chunk of meat."
icon_state = "crustacean-meat"
@@ -1,14 +1,27 @@
// Different types of fish! They are all subtypes of this tho
/datum/category_item/catalogue/fauna/invasive_fish
name = "Invasive Fauna - Fish"
desc = "This fish is considered an invasive species according \
to Sivian wildlife regulations. Removal or relocation is advised."
value = CATALOGUER_REWARD_TRIVIAL
/mob/living/simple_mob/animal/passive/fish
name = "fish"
desc = "Its a fishy. No touchy fishy."
icon = 'icons/mob/fish.dmi'
item_state = "fish"
catalogue_data = list(/datum/category_item/catalogue/fauna/invasive_fish)
mob_size = MOB_SMALL
// So fish are actually underwater.
plane = TURF_PLANE
layer = UNDERWATER_LAYER
holder_type = /obj/item/weapon/holder/fish
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish
// By default they can be in any water turf. Subtypes might restrict to deep/shallow etc
var/global/list/suitable_turf_types = list(
/turf/simulated/floor/beach/water,
@@ -75,3 +88,212 @@
icon_living = "koi-swim"
icon_dead = "koi-dead"
/datum/category_item/catalogue/fauna/javelin
name = "Sivian Fauna - Javelin Shark"
desc = "Classification: S Cetusan minimalix\
<br><br>\
A small breed of fatty shark native to the waters near the Ullran Expanse.\
The creatures are not known to attack humans or larger animals, possibly \
due to their size. It is speculated that they are actually scavengers, \
as they are most commonly found near the gulf floor. \
<br>\
The Javelin's reproductive cycle only recurs between three and four \
Sivian years. \
<br>\
These creatures are considered a protected species, and thus require an \
up-to-date license to be hunted."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/passive/fish/javelin
name = "javelin"
tt_desc = "S Cetusan minimalix"
icon_state = "javelin-swim"
icon_living = "javelin-swim"
icon_dead = "javelin-dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/javelin)
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif
/datum/category_item/catalogue/fauna/icebass
name = "Sivian Fauna - Glitter Bass"
desc = "Classification: X Micropterus notius crotux\
<br><br>\
Initially a genetically engineered hybrid of the common Earth bass and \
the Sivian Rock-Fish. These were designed to deal with the invasive \
fish species, however to their creators' dismay, they instead \
began to form their own passive niche. \
<br>\
Due to the brilliant reflective scales earning them their name, the \
animals pose a specific issue for Sivian animals relying on \
bioluminesence to aid in their hunt. \
<br>\
Despite their beauty, they are considered an invasive species."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/passive/fish/icebass
name = "glitter bass"
tt_desc = "X Micropterus notius crotux"
icon_state = "sifbass-swim"
icon_living = "sifbass-swim"
icon_dead = "sifbass-dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/icebass)
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif
var/max_red = 150
var/min_red = 50
var/max_blue = 255
var/min_blue = 50
var/max_green = 150
var/min_green = 50
var/dorsal_color = "#FFFFFF"
var/belly_color = "#FFFFFF"
var/image/dorsal_image
var/image/belly_image
/mob/living/simple_mob/animal/passive/fish/icebass/Initialize()
..()
dorsal_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
belly_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
update_icon()
/mob/living/simple_mob/animal/passive/fish/icebass/update_icon()
overlays.Cut()
..()
if(!dorsal_image)
dorsal_image = image(icon, "[icon_state]_mask-body")
if(!belly_image)
belly_image = image(icon, "[icon_state]_mask-belly")
dorsal_image.color = dorsal_color
belly_image.color = belly_color
overlays += dorsal_image
overlays += belly_image
/datum/category_item/catalogue/fauna/rockfish
name = "Sivian Fauna - Rock Puffer"
desc = "Classification: S Tetraodontidae scopulix\
<br><br>\
A species strangely resembling the puffer-fish of Earth. These \
creatures do not use toxic spines to protect themselves, instead \
utilizing an incredibly durable exoskeleton that is molded by the \
expansion of its ventral fluid bladders. \
<br>\
Rock Puffers or 'Rock-fish' are often host to smaller creatures which \
maneuver their way into the gap between the fish's body and shell. \
<br>\
The species is also capable of pulling its vibrantly colored head into \
the safer confines of its shell, the action being utilized in their \
attempts to find a mate."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/passive/fish/rockfish
name = "rock-fish"
tt_desc = "S Tetraodontidae scopulix"
icon_state = "rockfish-swim"
icon_living = "rockfish-swim"
icon_dead = "rockfish-dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/rockfish)
armor = list(
"melee" = 90,
"bullet" = 50,
"laser" = -15,
"energy" = 30,
"bomb" = 30,
"bio" = 100,
"rad" = 100)
var/max_red = 255
var/min_red = 50
var/max_blue = 255
var/min_blue = 50
var/max_green = 255
var/min_green = 50
var/head_color = "#FFFFFF"
var/image/head_image
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif
/mob/living/simple_mob/animal/passive/fish/rockfish/Initialize()
..()
head_color = rgb(rand(min_red,max_red), rand(min_green,max_green), rand(min_blue,max_blue))
/mob/living/simple_mob/animal/passive/fish/rockfish/update_icon()
overlays.Cut()
..()
if(!head_image)
head_image = image(icon, "[icon_state]_mask")
head_image.color = head_color
overlays += head_image
/datum/category_item/catalogue/fauna/solarfish
name = "Sivian Fauna - Solar Fin"
desc = "Classification: S Exocoetidae solarin\
<br><br>\
An incredibly rare species of Sivian fish.\
The solar-fin missile fish is a specialized omnivore capable of \
catching insects or small birds venturing too close to the water's \
surface. \
<br>\
The glimmering fins of the solar-fin are actually biofluorescent, \
'charged' by the creature basking at the surface of the water, most \
commonly by the edge of an ice-shelf, as a rapid means of cover. \
<br>\
These creatures are considered a protected species, and thus require an \
up-to-date license to be hunted."
value = CATALOGUER_REWARD_HARD
/mob/living/simple_mob/animal/passive/fish/solarfish
name = "sun-fin"
tt_desc = "S Exocoetidae solarin"
icon_state = "solarfin-swim"
icon_living = "solarfin-swim"
icon_dead = "solarfin-dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/solarfish)
has_eye_glow = TRUE
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif
/datum/category_item/catalogue/fauna/murkin
name = "Sivian Fauna - Murkfish"
desc = "Classification: S Perca lutux\
<br><br>\
A small, Sivian fish most known for its bland-ness.\
<br>\
The species is incredibly close in appearance to the Earth \
perch, aside from its incredibly tall dorsal fin. The animals use \
the fin to assess the wind direction while near the surface. \
<br>\
The murkfish earns its name from the fact its dense meat tastes like mud \
thanks to a specially formed protein, most likely an adaptation to \
protect the species from predation."
value = CATALOGUER_REWARD_TRIVIAL
/mob/living/simple_mob/animal/passive/fish/murkin
name = "murkin"
tt_desc = "S Perca lutux"
icon_state = "murkin-swim"
icon_living = "murkin-swim"
icon_dead = "murkin-dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/murkin)
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish
@@ -22,6 +22,16 @@
if(!istype(loc, /turf/))
to_chat(usr, "\The [src] has to be on a stable surface first!")
return
//VOREStation Addition Begin
var/supported = FALSE
for(var/obj/structure/table/S in loc)
if(istype(S, /obj/structure/table/bench) || istype(S, /obj/structure/table/rack))
continue
supported = TRUE
if(!supported)
to_chat(usr, "You will need a better supporting surface before opening \the [src]!")
return
//VOREStation Addition End
anchored = !anchored
screen_on = anchored
update_icon()
@@ -7,6 +7,7 @@
program_key_state = "atmos_key"
program_menu_icon = "alert"
extended_desc = "This program provides visual interface for the alarm system."
required_access = access_engine //VOREStation Addition
requires_ntnet = 1
network_destination = "alarm monitoring network"
size = 5
@@ -9,8 +9,9 @@
switch(network)
if(NETWORK_THUNDER)
return 0
if(NETWORK_ENGINE,NETWORK_ENGINEERING,NETWORK_ENGINEERING_OUTPOST,NETWORK_ALARM_ATMOS,NETWORK_ALARM_FIRE,NETWORK_ALARM_POWER)
if(NETWORK_ENGINE,NETWORK_ALARM_ATMOS,NETWORK_ALARM_FIRE,NETWORK_ALARM_POWER) //VOREStation Edit
return access_engine
/*
if(NETWORK_MEDICAL)
return access_medical
if(NETWORK_RESEARCH,NETWORK_RESEARCH_OUTPOST)
@@ -19,6 +20,7 @@
return access_mailsorting // Cargo office - all cargo staff should have access here.
if(NETWORK_COMMAND,NETWORK_TELECOM)
return access_heads
*/ //VOREStation Removal
if(NETWORK_ERT)
return access_cent_specops
@@ -80,7 +82,7 @@
if(!network_access)
return 1
return check_access(user, access_security) || check_access(user, network_access)
return check_access(user, access_security) || check_access(user, access_heads) || check_access(user, network_access) //VOREStation Edit
/datum/nano_module/camera_monitor/Topic(href, href_list)
if(..())
+2 -2
View File
@@ -88,8 +88,8 @@
reaction_occurred = FALSE
for(var/i in reagent_list)
var/datum/reagent/R = i
if(SSchemistry.chemical_reactions_by_reagent[R.id]) //VOREStation Edit: unruntiming chems
eligible_reactions |= SSchemistry.chemical_reactions_by_reagent[R.id] //VOREStation Edit: unruntiming chems
if(SSchemistry.chemical_reactions_by_reagent[R.id])
eligible_reactions |= SSchemistry.chemical_reactions_by_reagent[R.id]
for(var/i in eligible_reactions)
var/datum/chemical_reaction/C = i
@@ -92,6 +92,12 @@
taste_description = "egg"
color = "#FFFFAA"
/datum/reagent/nutriment/protein/murk
name = "murkfin protein"
id = "murk_protein"
taste_description = "mud"
color = "#664330"
/datum/reagent/nutriment/honey
name = "Honey"
id = "honey"
@@ -50,6 +50,25 @@
color = "#003333"
strength = 10
/datum/reagent/toxin/neurotoxic_protein
name = "toxic protein"
id = "neurotoxic_protein"
description = "A weak neurotoxic chemical commonly found in Sivian fish meat."
taste_description = "fish"
reagent_state = LIQUID
color = "#005555"
strength = 8
/datum/reagent/toxin/neurotoxic_protein/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
..()
if(alien != IS_DIONA)
if(M.canmove && !M.restrained() && istype(M.loc, /turf/space))
step(M, pick(cardinal))
if(prob(5))
M.emote(pick("twitch", "drool", "moan"))
if(prob(20))
M.adjustBrainLoss(0.1)
//R-UST port
// Produced during deuterium synthesis. Super poisonous, SUPER flammable (doesn't need oxygen to burn).
/datum/reagent/toxin/hydrophoron
@@ -2379,3 +2379,12 @@
result = "biomass"
required_reagents = list("protein" = 1, "sugar" = 1, "phoron" = 1)
result_amount = 6 // Roughly 120u per phoron sheet //VOREStation Edit
// Neutralization.
/datum/chemical_reaction/neutralize_neurotoxic_protein
name = "Neutralize Toxic Proteins"
id = "neurotoxic_protein_neutral"
result = "protein"
required_reagents = list("anti_toxin" = 1, "neurotoxic_protein" = 2)
result_amount = 2
+20
View File
@@ -53,6 +53,26 @@
-->
<div class="commit sansserif">
<h2 class="date">06 May 2019</h2>
<h3 class="author">Mechoid updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added fishing mechanics, and fishing gear.</li>
<li class="tweak">Cloth can make normal cloth things.</li>
</ul>
<h3 class="author">Novacat updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Ports Bay code to allow hiding accessories when jumpsuits are rolled down/sleeve rolled.</li>
<li class="rscadd">Ports medals and ribbons from SEV Torch.</li>
<li class="rscadd">Ports initial infrastructure for modular computers from Baystation.</li>
<li class="rscadd">Cameras now have a slight static when viewing through them.</li>
<li class="rscadd">Adds Digital Warrant Program, to set warrants. Comes with a device.</li>
<li class="rscadd">Adds Supermatter Monitor program.</li>
<li class="tweak">Chemistry processes instantly again.</li>
<li class="tweak">Nanoui sends stuff even after client connect.</li>
<li class="tweak">Shortwave radios now can transmit across connected Z levels.</li>
<li class="tweak">Relays on moving platforms (shuttles) will now function.</li>
</ul>
<h2 class="date">26 April 2019</h2>
<h3 class="author">Heroman3003 updated:</h3>
<ul class="changes bgimages16">
+16
View File
@@ -4477,3 +4477,19 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
chaoko99:
- rscadd: Ore bags will automatically pick up items when held, belted, or pocketed,
and automatically deposit ore in boxes if one is being pulled.
2019-05-06:
Mechoid:
- rscadd: Added fishing mechanics, and fishing gear.
- tweak: Cloth can make normal cloth things.
Novacat:
- rscadd: Ports Bay code to allow hiding accessories when jumpsuits are rolled down/sleeve
rolled.
- rscadd: Ports medals and ribbons from SEV Torch.
- rscadd: Ports initial infrastructure for modular computers from Baystation.
- rscadd: Cameras now have a slight static when viewing through them.
- rscadd: Adds Digital Warrant Program, to set warrants. Comes with a device.
- rscadd: Adds Supermatter Monitor program.
- tweak: Chemistry processes instantly again.
- tweak: Nanoui sends stuff even after client connect.
- tweak: Shortwave radios now can transmit across connected Z levels.
- tweak: Relays on moving platforms (shuttles) will now function.
@@ -1,39 +0,0 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Novacat
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Ports initial infrastructure for modular computers from Baystation."
- rscadd: "Cameras now have a slight static when viewing through them."
- rscadd: "Adds Digital Warrant Program, to set warrants. Comes with a device."
- rscadd: "Adds Supermatter Monitor program."
-37
View File
@@ -1,37 +0,0 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Novacat
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- tweak: "Shortwave radios now can transmit across connected Z levels."
- tweak: "Relays on moving platforms (shuttles) will now function."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

+1 -1
View File
@@ -18,4 +18,4 @@
/decl/hierarchy/outfit/job/assistant/explorer
id_type = /obj/item/weapon/card/id/explorer
flags = OUTFIT_COMPREHENSIVE_SURVIVAL
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
+88 -49
View File
@@ -1408,12 +1408,18 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/effect/landmark/start{
name = "Shaft Miner"
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/mining_main/eva)
"acF" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/effect/landmark/start{
name = "Shaft Miner"
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/mining_main/eva)
"acG" = (
@@ -5071,6 +5077,9 @@
/obj/structure/bed/chair/office/light{
dir = 4
},
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/tiled/white,
/area/rnd/chemistry_lab)
"aiI" = (
@@ -5822,6 +5831,16 @@
},
/turf/simulated/floor/tiled,
/area/rnd/hallway)
"ajP" = (
/obj/structure/bed/chair/office/light{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/landmark/start{
name = "Xenobiologist"
},
/turf/simulated/floor/tiled,
/area/rnd/xenobiology)
"ajQ" = (
/obj/machinery/door/airlock/glass_mining{
name = "Warehouse"
@@ -5834,6 +5853,37 @@
},
/turf/simulated/floor/tiled/steel_grid,
/area/tether/surfacebase/mining_main/ore)
"ajR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/effect/landmark/start{
name = "Xenobiologist"
},
/turf/simulated/floor/tiled,
/area/rnd/xenobiology)
"ajS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/obj/effect/landmark/start{
name = "Bartender"
},
/turf/simulated/floor/tiled,
/area/crew_quarters/visitor_dining)
"ajT" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/bed/chair/office/dark{
dir = 4
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/tiled,
/area/security/checkpoint)
"ajU" = (
/turf/simulated/floor/grass,
/area/tether/surfacebase/atrium_one)
@@ -5859,6 +5909,19 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/atrium_one)
"ajX" = (
/obj/effect/landmark/start{
name = "Atmospheric Technician"
},
/turf/simulated/floor/tiled,
/area/engineering/atmos)
"ajY" = (
/obj/item/weapon/stool,
/obj/effect/landmark/start{
name = "Atmospheric Technician"
},
/turf/simulated/floor/tiled,
/area/engineering/atmos)
"ajZ" = (
/obj/structure/table/standard,
/obj/item/device/t_scanner,
@@ -5880,6 +5943,19 @@
},
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
/area/storage/surface_eva/external)
"akd" = (
/obj/effect/landmark/start{
name = "Assistant"
},
/turf/simulated/floor/tiled,
/area/storage/primary)
"ake" = (
/obj/item/weapon/stool,
/obj/effect/landmark/start{
name = "Assistant"
},
/turf/simulated/floor/tiled,
/area/storage/primary)
"akf" = (
/obj/machinery/washing_machine,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
@@ -7333,10 +7409,6 @@
},
/turf/simulated/floor/tiled,
/area/storage/primary)
"aoB" = (
/obj/item/weapon/stool,
/turf/simulated/floor/tiled,
/area/storage/primary)
"aoC" = (
/obj/effect/floor_decal/borderfloor{
dir = 5
@@ -13495,13 +13567,6 @@
},
/turf/simulated/floor/tiled,
/area/hallway/lower/first_west)
"aEA" = (
/obj/structure/bed/chair/office/light{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled,
/area/rnd/xenobiology)
"aEC" = (
/obj/effect/floor_decal/borderfloor{
dir = 10
@@ -14139,12 +14204,6 @@
},
/turf/simulated/floor/tiled,
/area/rnd/xenobiology)
"aGv" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/turf/simulated/floor/tiled,
/area/rnd/xenobiology)
"aGw" = (
/obj/structure/table/standard,
/obj/item/weapon/storage/box/monkeycubes,
@@ -14432,10 +14491,6 @@
/obj/machinery/pipedispenser,
/turf/simulated/floor/tiled,
/area/engineering/atmos)
"aHr" = (
/obj/item/weapon/stool,
/turf/simulated/floor/tiled,
/area/engineering/atmos)
"aHv" = (
/obj/structure/table/standard,
/obj/effect/floor_decal/borderfloor{
@@ -15319,13 +15374,6 @@
/obj/machinery/disposal,
/turf/simulated/floor/tiled,
/area/security/checkpoint)
"aMy" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/bed/chair/office/dark{
dir = 4
},
/turf/simulated/floor/tiled,
/area/security/checkpoint)
"aND" = (
/obj/structure/table/standard,
/obj/random/tech_supply,
@@ -23971,15 +24019,6 @@
},
/turf/simulated/floor/lino,
/area/crew_quarters/visitor_dining)
"cfd" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/turf/simulated/floor/tiled,
/area/crew_quarters/visitor_dining)
"cfg" = (
/obj/structure/grille,
/obj/structure/window/reinforced/full,
@@ -36696,7 +36735,7 @@ bqm
aAO
aAO
aDP
aEA
ajP
aFh
aFE
aFE
@@ -37410,7 +37449,7 @@ aEE
aFk
aGr
aGh
aGv
ajR
aZe
aHe
bOo
@@ -40917,10 +40956,10 @@ aah
aah
aeW
aft
afT
akd
afr
afr
afT
akd
agX
ahn
ahU
@@ -41059,10 +41098,10 @@ aah
aah
aeW
amq
aoB
ake
afr
agA
aoB
ake
agY
ahn
ahL
@@ -41201,10 +41240,10 @@ aah
aah
aeW
afv
afT
akd
afr
aND
afT
akd
agX
ahn
ahS
@@ -41814,7 +41853,7 @@ aFs
aFs
bEX
ugE
aHr
ajY
aHO
kwi
kwi
@@ -43238,7 +43277,7 @@ kwi
kwi
xKT
iLm
kwi
ajX
kwi
kwi
kwi
@@ -47190,7 +47229,7 @@ asF
atp
auW
awR
aMy
ajT
aTf
atp
bfv
@@ -47485,7 +47524,7 @@ agM
aFc
bqg
bXu
cfd
ajS
cfw
bXu
bAT
+68 -26
View File
@@ -4811,6 +4811,9 @@
pixel_x = -30;
pixel_y = -18
},
/obj/effect/landmark/start{
name = "Research Director"
},
/turf/simulated/floor/tiled,
/area/rnd/rdoffice)
"kr" = (
@@ -7821,6 +7824,9 @@
d2 = 8;
icon_state = "1-8"
},
/obj/effect/landmark/start{
name = "Roboticist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
"pU" = (
@@ -7850,6 +7856,9 @@
/obj/structure/bed/chair{
dir = 8
},
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
"pX" = (
@@ -8034,6 +8043,9 @@
/obj/structure/bed/chair{
dir = 4
},
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
"qo" = (
@@ -8062,11 +8074,10 @@
/area/rnd/breakroom)
"qr" = (
/obj/structure/bed/chair{
dir = 4
dir = 8
},
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
/obj/effect/landmark/start{
name = "Roboticist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
@@ -8305,12 +8316,12 @@
/obj/structure/bed/chair{
dir = 4
},
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
@@ -9423,6 +9434,49 @@
},
/turf/simulated/open,
/area/rnd/staircase/secondfloor)
"sY" = (
/obj/structure/bed/chair{
dir = 4
},
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
/obj/effect/landmark/start{
name = "Xenobiologist"
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
"sZ" = (
/obj/structure/bed/chair{
dir = 1
},
/obj/effect/landmark/start{
name = "Atmospheric Technician"
},
/turf/simulated/floor/carpet,
/area/engineering/lower/breakroom)
"ta" = (
/obj/effect/landmark/start{
name = "Atmospheric Technician"
},
/turf/simulated/floor/tiled,
/area/engineering/lower/atmos_lockers)
"tb" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
},
/obj/effect/floor_decal/corner/purple/border{
dir = 8
},
/obj/effect/landmark/start{
name = "Janitor"
},
/turf/simulated/floor/tiled,
/area/janitor)
"te" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -11304,9 +11358,6 @@
/obj/structure/railing,
/turf/simulated/floor/tiled/techmaint,
/area/engineering/atmos)
"xY" = (
/turf/simulated/floor/tiled,
/area/engineering/lower/atmos_lockers)
"ya" = (
/obj/machinery/door/firedoor/glass,
/obj/structure/grille,
@@ -15933,15 +15984,6 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/public_garden_two)
"Nt" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
},
/obj/effect/floor_decal/corner/purple/border{
dir = 8
},
/turf/simulated/floor/tiled,
/area/janitor)
"Nw" = (
/obj/structure/table/rack,
/obj/random/maintenance/clean,
@@ -27447,8 +27489,8 @@ nq
pF
pT
qn
qr
qL
sY
rm
rm
sb
@@ -27872,7 +27914,7 @@ oZ
nr
pL
pW
pW
qr
pW
pW
rn
@@ -28868,7 +28910,7 @@ Pi
OR
Ji
KH
xY
ta
uG
vw
th
@@ -30710,7 +30752,7 @@ RK
oJ
py
qk
rK
sZ
If
sp
tp
@@ -32422,7 +32464,7 @@ ac
oc
vP
Qh
Nt
tb
QR
TD
Vz
+88 -39
View File
@@ -2351,7 +2351,7 @@
/area/tether/surfacebase/security/armory)
"eq" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_mob/animal/space/mimic,
/mob/living/simple_mob/vore/aggressive/mimic,
/turf/simulated/floor/plating,
/area/tether/surfacebase/security/armory)
"er" = (
@@ -4831,13 +4831,13 @@
/area/rnd/workshop)
"iz" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/vending,
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/floor_decal/rust,
/obj/machinery/vending/assist,
/turf/simulated/floor/plating,
/area/rnd/research_storage)
"iA" = (
@@ -11094,6 +11094,9 @@
/area/crew_quarters/kitchen)
"tp" = (
/obj/structure/bed/chair/office/dark,
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/tiled/techfloor,
/area/rnd/workshop)
"tq" = (
@@ -11202,6 +11205,9 @@
/obj/structure/bed/chair/office/dark{
dir = 1
},
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/tiled/techfloor,
/area/rnd/workshop)
"tD" = (
@@ -12621,6 +12627,9 @@
dir = 4
},
/obj/machinery/hologram/holopad,
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/tiled/dark,
/area/rnd/research)
"vW" = (
@@ -14031,6 +14040,9 @@
pixel_x = -12;
pixel_y = 8
},
/obj/effect/landmark/start{
name = "Gardener"
},
/turf/simulated/floor/tiled,
/area/hydroponics)
"xZ" = (
@@ -17243,11 +17255,23 @@
/turf/simulated/floor/tiled,
/area/rnd/research/testingrange)
"Cz" = (
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/bed/chair{
dir = 8
},
/obj/structure/cable/green{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/rnd/research/testingrange)
/obj/effect/landmark/start{
name = "Roboticist"
},
/turf/simulated/floor/tiled/steel_grid,
/area/assembly/robotics)
"CA" = (
/obj/machinery/door/firedoor/glass,
/obj/structure/cable/green{
@@ -17708,6 +17732,9 @@
pixel_x = -12;
pixel_y = 8
},
/obj/effect/landmark/start{
name = "Gardener"
},
/turf/simulated/floor/tiled,
/area/hydroponics)
"Do" = (
@@ -18386,20 +18413,14 @@
/turf/simulated/floor/bluegrid,
/area/assembly/chargebay)
"Eq" = (
/obj/structure/bed/chair{
dir = 8
},
/obj/structure/cable/green{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/steel_grid,
/area/assembly/robotics)
/obj/effect/landmark/start{
name = "Scientist"
},
/turf/simulated/floor/tiled,
/area/rnd/research/testingrange)
"Er" = (
/turf/simulated/floor/bluegrid,
/area/assembly/chargebay)
@@ -19802,6 +19823,9 @@
/area/assembly/robotics)
"Gx" = (
/obj/structure/bed/chair/office/dark,
/obj/effect/landmark/start{
name = "Roboticist"
},
/turf/simulated/floor/tiled/steel_grid,
/area/assembly/robotics)
"Gy" = (
@@ -20303,10 +20327,18 @@
/turf/simulated/floor/tiled/steel_grid,
/area/assembly/robotics)
"Hp" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/carry,
/area/shuttle/tether/surface)
/obj/effect/floor_decal/corner/grey/diagonal,
/obj/effect/landmark/start{
name = "Chef"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/kitchen)
"Hq" = (
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/triage)
"Hr" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass_external/public,
@@ -20336,6 +20368,25 @@
},
/turf/simulated/floor/tiled/steel_grid,
/area/assembly/robotics)
"Ht" = (
/obj/structure/bed/chair{
dir = 1
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/carpet/blue,
/area/tether/surfacebase/security/breakroom)
"Hu" = (
/obj/item/weapon/storage/secure/safe{
pixel_x = 30;
pixel_z = 0
},
/obj/effect/landmark/start{
name = "Bartender"
},
/turf/simulated/floor/wood,
/area/tether/surfacebase/bar_backroom)
"Hv" = (
/obj/structure/railing{
dir = 1
@@ -20358,6 +20409,11 @@
/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/lino,
/area/tether/surfacebase/bar_backroom)
"Hx" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/carry,
/area/shuttle/tether/surface)
"HH" = (
/obj/structure/disposalpipe/segment,
/obj/effect/floor_decal/borderfloor{
@@ -22335,13 +22391,6 @@
/obj/machinery/portable_atmospherics/hydroponics/soil,
/turf/simulated/floor/grass,
/area/tether/surfacebase/public_garden_three)
"VS" = (
/obj/item/weapon/storage/secure/safe{
pixel_x = 30;
pixel_z = 0
},
/turf/simulated/floor/wood,
/area/tether/surfacebase/bar_backroom)
"VV" = (
/obj/structure/bookcase,
/obj/item/weapon/book/manual/nuclear,
@@ -30421,7 +30470,7 @@ Em
Al
Bd
Ca
Cz
Eq
DB
Ei
EA
@@ -31982,7 +32031,7 @@ zw
CA
GJ
Eb
Eq
Cz
EK
EX
Fq
@@ -34063,7 +34112,7 @@ bl
bS
cG
cF
dY
Ht
eA
fs
gd
@@ -35339,7 +35388,7 @@ aQ
aZ
aZ
ca
aZ
Hq
dv
ag
eI
@@ -36822,7 +36871,7 @@ Jr
Js
Wh
JE
Hp
Hx
IY
bg
RO
@@ -36964,7 +37013,7 @@ Js
Js
Jz
JE
Hp
Hx
IY
bg
RO
@@ -37106,7 +37155,7 @@ Jt
Js
Jz
JE
Hp
Hx
IY
bg
RO
@@ -38375,7 +38424,7 @@ Qr
Hc
RB
QB
VS
Hu
Vi
RB
ac
@@ -38915,7 +38964,7 @@ ra
rt
rS
sq
sO
Hp
sO
sO
sO
+42 -26
View File
@@ -6467,6 +6467,18 @@
},
/turf/simulated/floor/tiled,
/area/hallway/station/atrium)
"alM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/effect/landmark/start{
name = "Librarian"
},
/turf/simulated/floor/carpet,
/area/library)
"alN" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/structure/extinguisher_cabinet{
@@ -6477,6 +6489,25 @@
/obj/vehicle/train/trolley,
/turf/simulated/floor/tiled/monotile,
/area/engineering/hallway)
"alO" = (
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/obj/effect/landmark/start,
/turf/simulated/floor/tiled,
/area/storage/tools)
"alP" = (
/obj/structure/cable{
icon_state = "1-4"
},
/obj/effect/landmark/start{
name = "Assistant"
},
/turf/simulated/floor/tiled,
/area/storage/tools)
"alQ" = (
/turf/simulated/wall/r_wall,
/area/maintenance/substation/civilian)
@@ -6491,6 +6522,12 @@
/obj/vehicle/train/trolley,
/turf/simulated/floor/tiled/monotile,
/area/engineering/hallway)
"alS" = (
/obj/effect/landmark/start{
name = "Assistant"
},
/turf/simulated/floor/tiled,
/area/storage/tools)
"alT" = (
/turf/simulated/wall,
/area/storage/emergency_storage/emergency4)
@@ -10082,12 +10119,6 @@
"axR" = (
/turf/simulated/floor/tiled,
/area/tether/station/stairs_one)
"axT" = (
/obj/structure/cable{
icon_state = "1-4"
},
/turf/simulated/floor/tiled,
/area/storage/tools)
"axU" = (
/obj/effect/floor_decal/industrial/warning/corner{
icon_state = "warningcorner";
@@ -10243,9 +10274,6 @@
/obj/structure/stairs/south,
/turf/simulated/floor/tiled,
/area/tether/station/stairs_one)
"ayA" = (
/turf/simulated/floor/tiled,
/area/storage/tools)
"ayB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
@@ -17521,18 +17549,6 @@
/obj/effect/floor_decal/industrial/warning,
/turf/simulated/floor/tiled,
/area/tether/station/stairs_one)
"biE" = (
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/obj/effect/landmark/start{
name = "Assistant"
},
/turf/simulated/floor/tiled,
/area/storage/tools)
"biK" = (
/obj/structure/table/standard,
/obj/random/tech_supply,
@@ -30188,10 +30204,10 @@ acp
bdx
awt
bgO
biE
axT
ayA
ayA
alO
alP
alS
alS
azO
awt
bsv
@@ -35739,7 +35755,7 @@ bFh
aBx
aEh
bSN
aFi
alM
aEL
aGo
bWQ
+109 -82
View File
@@ -7676,7 +7676,6 @@
/turf/simulated/floor,
/area/maintenance/station/exploration)
"lo" = (
/obj/machinery/portable_atmospherics/canister/empty/oxygen,
/obj/effect/floor_decal/borderfloor{
dir = 1;
icon_state = "borderfloor";
@@ -7703,6 +7702,7 @@
pixel_y = 24;
req_access = list()
},
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/simulated/floor/tiled,
/area/tether/exploration/equipment)
"lp" = (
@@ -8025,16 +8025,16 @@
/obj/effect/floor_decal/steeldecal/steel_decals7{
dir = 4
},
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/light_switch{
dir = 2;
name = "light switch ";
pixel_x = 0;
pixel_y = 26
},
/obj/machinery/photocopier,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/tiled,
/area/tether/exploration/pathfinder_office)
"lO" = (
@@ -8044,7 +8044,10 @@
/obj/effect/floor_decal/corner/purple/border{
dir = 5
},
/obj/structure/filingcabinet/filingcabinet,
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/turf/simulated/floor/tiled,
/area/tether/exploration/pathfinder_office)
"lP" = (
@@ -8511,10 +8514,16 @@
/obj/effect/floor_decal/steeldecal/steel_decals7{
dir = 10
},
/obj/machinery/photocopier,
/obj/machinery/light{
dir = 4
},
/obj/structure/table/rack/shelf,
/obj/item/weapon/tank/oxygen,
/obj/item/device/suit_cooling_unit,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/void/exploration,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/helmet/space/void/exploration,
/turf/simulated/floor/tiled,
/area/tether/exploration/pathfinder_office)
"mA" = (
@@ -12435,6 +12444,9 @@
/obj/structure/bed/chair/office/dark{
dir = 8
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/medical/virology)
"sJ" = (
@@ -15618,6 +15630,9 @@
/obj/structure/bed/chair/office/light{
dir = 8
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/techfloor,
/area/medical/morgue)
"xZ" = (
@@ -18237,10 +18252,17 @@
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"BS" = (
/obj/structure/bed/chair,
/obj/effect/floor_decal/corner/paleblue/diagonal,
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
/obj/effect/floor_decal/borderfloorblack{
dir = 8
},
/obj/effect/floor_decal/corner/paleblue/border{
dir = 8
},
/obj/effect/landmark/start{
name = "Pathfinder"
},
/turf/simulated/floor/tiled/dark,
/area/medical/medbay_emt_bay)
"BT" = (
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/machinery/atmospherics/unary/vent_pump/on,
@@ -18412,23 +18434,17 @@
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"Ci" = (
/obj/structure/bed/chair{
/obj/effect/floor_decal/borderfloorblack{
dir = 4
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/structure/cable/green{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
/obj/effect/floor_decal/corner/paleblue/border{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
/obj/effect/landmark/start{
name = "Pathfinder"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
/turf/simulated/floor/tiled/dark,
/area/medical/medbay_emt_bay)
"Cj" = (
/obj/structure/table/glass,
/obj/item/weapon/deck/cards,
@@ -18454,19 +18470,15 @@
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"Cl" = (
/obj/structure/bed/chair{
dir = 8
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_l"
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9;
pixel_y = 0
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/large_escape_pod1/station{
base_turf = /turf/simulated/mineral/floor/vacuum
})
"Cm" = (
/obj/effect/floor_decal/borderfloor,
/obj/effect/floor_decal/corner/purple/border,
@@ -18657,16 +18669,14 @@
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"CE" = (
/obj/structure/bed/chair{
dir = 4
/obj/structure/shuttle/engine/propulsion{
dir = 8
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/landmark/start{
name = "Field Medic"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/large_escape_pod1/station{
base_turf = /turf/simulated/mineral/floor/vacuum
})
"CF" = (
/obj/structure/table/glass,
/obj/item/device/universal_translator,
@@ -18770,18 +18780,33 @@
/area/crew_quarters/medbreak)
"CR" = (
/obj/structure/bed/chair{
dir = 1
dir = 4
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/structure/cable/green{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"CS" = (
/obj/structure/bed/chair{
dir = 1
dir = 4
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/landmark/start{
name = "Field Medic"
name = "Paramedic"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
@@ -18944,13 +18969,6 @@
/obj/effect/floor_decal/corner/purple/border{
dir = 6
},
/obj/structure/table/rack/shelf,
/obj/item/weapon/tank/oxygen,
/obj/item/device/suit_cooling_unit,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/void/exploration,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/helmet/space/void/exploration,
/obj/item/device/radio/intercom{
dir = 4;
pixel_x = 24
@@ -18958,6 +18976,7 @@
/obj/machinery/camera/network/exploration{
dir = 1
},
/obj/structure/filingcabinet/filingcabinet,
/turf/simulated/floor/tiled,
/area/tether/exploration/pathfinder_office)
"Di" = (
@@ -19546,24 +19565,32 @@
/turf/simulated/floor/tiled/dark,
/area/security/interrogation)
"Eo" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_l"
},
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/large_escape_pod1/station{
base_turf = /turf/simulated/mineral/floor/vacuum
})
"Ep" = (
/obj/structure/shuttle/engine/propulsion{
/obj/structure/bed/chair{
dir = 8
},
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/large_escape_pod1/station{
base_turf = /turf/simulated/mineral/floor/vacuum
})
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9;
pixel_y = 0
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"Ep" = (
/obj/structure/bed/chair{
dir = 1
},
/obj/effect/floor_decal/corner/paleblue/diagonal,
/obj/effect/landmark/start{
name = "Paramedic"
},
/turf/simulated/floor/tiled/white,
/area/crew_quarters/medbreak)
"Eq" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
@@ -30854,8 +30881,8 @@ AX
Bp
BF
BQ
Ci
CE
CR
CS
CQ
AX
Di
@@ -30998,7 +31025,7 @@ BG
BR
Cj
CF
CR
Ep
De
AG
aP
@@ -31137,10 +31164,10 @@ AH
AX
Bp
BG
BS
BR
Ck
CG
CS
Ep
Df
AG
aP
@@ -31280,7 +31307,7 @@ AZ
Bq
BH
BT
Cl
Eo
CH
CT
AX
@@ -31986,7 +32013,7 @@ zQ
Aj
Ay
AK
AK
BS
fO
BK
ac
@@ -32412,13 +32439,13 @@ zT
Ai
AB
AN
AN
Ci
Bw
yY
Eo
Ep
Ep
Ep
Cl
CE
CE
CE
Eq
yY
ac
+368 -155
View File
@@ -1627,8 +1627,11 @@
/turf/simulated/floor/tiled,
/area/security/hallwayaux)
"cy" = (
/obj/structure/railing{
dir = 4
/obj/machinery/alarm{
dir = 4;
icon_state = "alarm0";
pixel_x = -22;
pixel_y = 0
},
/turf/simulated/floor,
/area/maintenance/station/ai)
@@ -2073,15 +2076,10 @@
/turf/simulated/floor,
/area/maintenance/station/sec_upper)
"ds" = (
/obj/structure/bed/chair/office/dark{
dir = 8
/obj/structure/bed/chair/office/dark,
/obj/effect/landmark/start{
name = "Security Officer"
},
/obj/structure/cable/green{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/carpet,
/area/security/breakroom)
"dt" = (
@@ -5891,6 +5889,9 @@
/area/security/breakroom)
"jC" = (
/obj/structure/bed/chair/office/dark,
/obj/effect/landmark/start{
name = "Detective"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"jD" = (
@@ -6139,16 +6140,8 @@
/obj/structure/bed/chair/office/dark{
dir = 4
},
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
@@ -6747,15 +6740,16 @@
/turf/simulated/floor/tiled/techfloor/grid,
/area/ai)
"kV" = (
/obj/structure/railing{
icon_state = "railing0";
dir = 1
},
/obj/structure/railing{
dir = 4
/obj/structure/catwalk,
/obj/random/junk,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/turf/simulated/floor,
/area/maintenance/station/sec_upper)
/area/maintenance/station/ai)
"kW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
@@ -8055,15 +8049,20 @@
/turf/simulated/floor,
/area/maintenance/station/ai)
"mU" = (
/obj/structure/railing,
/obj/structure/table/rack{
dir = 8;
layer = 2.9
/obj/structure/bed/chair/office/dark{
dir = 8
},
/obj/random/maintenance/clean,
/obj/random/maintenance/clean,
/turf/simulated/floor,
/area/maintenance/cargo)
/obj/structure/cable/green{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/effect/landmark/start{
name = "Detective"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"mV" = (
/obj/structure/railing,
/obj/structure/railing{
@@ -8574,18 +8573,25 @@
/turf/simulated/floor/tiled/dark,
/area/security/security_lockerroom)
"nK" = (
/obj/effect/floor_decal/borderfloorblack{
dir = 8
/obj/structure/bed/chair/office/dark{
dir = 4
},
/obj/effect/floor_decal/corner/red/border{
dir = 8
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/table/bench/steel,
/obj/structure/window/reinforced{
dir = 8
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/turf/simulated/floor/tiled/dark,
/area/security/security_lockerroom)
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"nL" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -9577,14 +9583,30 @@
/turf/simulated/floor/tiled,
/area/security/security_processing)
"pm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
/obj/structure/bed/chair/office/dark{
dir = 8
},
/obj/structure/cable/green{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
/obj/structure/cable/green{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
/turf/simulated/floor/tiled,
/area/security/security_processing)
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"pn" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -19509,17 +19531,11 @@
/turf/simulated/floor/tiled/white,
/area/medical/reception)
"EI" = (
/obj/effect/floor_decal/borderfloorwhite{
dir = 1
/obj/effect/landmark/start{
name = "Cargo Technician"
},
/obj/effect/floor_decal/corner/paleblue/border{
dir = 1
},
/obj/structure/bed/chair/office/light{
dir = 4
},
/turf/simulated/floor/tiled/white,
/area/medical/reception)
/turf/simulated/floor/tiled,
/area/quartermaster/office)
"EJ" = (
/obj/structure/window/reinforced{
dir = 4
@@ -19937,17 +19953,16 @@
/turf/simulated/floor/tiled/white,
/area/medical/reception)
"Fx" = (
/obj/structure/bed/chair/office/light{
dir = 4
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
/obj/effect/landmark/start{
name = "Cargo Technician"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/turf/simulated/floor/tiled/white,
/area/medical/reception)
/turf/simulated/floor/tiled,
/area/quartermaster/office)
"Fy" = (
/obj/structure/window/reinforced{
dir = 4
@@ -20922,11 +20937,20 @@
/turf/simulated/floor/tiled/white,
/area/medical/chemistry)
"He" = (
/obj/structure/bed/chair/office/dark{
/obj/effect/floor_decal/borderfloorwhite{
dir = 1
},
/obj/effect/floor_decal/corner/paleblue/border{
dir = 1
},
/obj/structure/bed/chair/office/light{
dir = 4
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/medical/chemistry)
/area/medical/reception)
"Hf" = (
/obj/machinery/chem_master,
/obj/effect/floor_decal/borderfloorwhite{
@@ -26341,10 +26365,21 @@
/turf/simulated/wall,
/area/medical/patient_c)
"Pk" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/excursion/tether)
/obj/structure/catwalk,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/obj/machinery/firealarm{
dir = 4;
layer = 3.3;
pixel_x = 26
},
/turf/simulated/floor,
/area/maintenance/station/ai)
"Pl" = (
/obj/structure/cable/green{
d1 = 1;
@@ -26435,16 +26470,20 @@
/turf/simulated/floor/tiled/white,
/area/medical/ward)
"Ps" = (
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/bed/chair/office/light{
dir = 8
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/medical/ward)
/area/medical/reception)
"Pt" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -26515,12 +26554,14 @@
/turf/simulated/floor/tiled/white,
/area/medical/exam_room)
"Py" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
/obj/structure/bed/chair/office/dark{
dir = 4
},
/obj/structure/bed/chair/office/light,
/obj/effect/landmark/start{
name = "Chemist"
},
/turf/simulated/floor/tiled/white,
/area/medical/exam_room)
/area/medical/chemistry)
"Pz" = (
/obj/structure/table/glass,
/obj/machinery/computer/med_data/laptop{
@@ -27753,13 +27794,17 @@
/turf/simulated/floor,
/area/maintenance/station/ai)
"Ry" = (
/obj/structure/catwalk,
/obj/random/junk,
/obj/structure/railing{
dir = 4
},
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
icon_state = "0-4";
d2 = 4
},
/obj/machinery/power/apc{
dir = 8;
name = "west bump";
pixel_x = -28
},
/turf/simulated/floor,
/area/maintenance/station/ai)
@@ -27828,6 +27873,19 @@
},
/turf/simulated/floor,
/area/maintenance/station/sec_upper)
"RF" = (
/obj/structure/catwalk,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor,
/area/maintenance/station/ai)
"RG" = (
/obj/structure/catwalk,
/obj/effect/decal/cleanable/dirt,
@@ -28115,6 +28173,106 @@
},
/turf/simulated/floor/tiled/monotile,
/area/tether/exploration)
"Sr" = (
/obj/structure/railing,
/obj/structure/table/rack{
dir = 8;
layer = 2.9
},
/obj/random/maintenance/clean,
/obj/random/maintenance/clean,
/obj/machinery/alarm{
pixel_y = 22
},
/turf/simulated/floor,
/area/maintenance/cargo)
"Ss" = (
/obj/effect/floor_decal/rust,
/obj/machinery/light/small{
dir = 8;
pixel_y = 0
},
/turf/simulated/floor,
/area/maintenance/station/ai)
"St" = (
/obj/structure/railing{
icon_state = "railing0";
dir = 1
},
/obj/structure/railing{
dir = 4
},
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/obj/machinery/power/apc{
dir = 8;
name = "west bump";
pixel_x = -28
},
/turf/simulated/floor,
/area/maintenance/station/sec_upper)
"Su" = (
/obj/structure/catwalk,
/obj/structure/cable{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
pixel_x = 0
},
/turf/simulated/floor,
/area/maintenance/station/sec_upper)
"Sv" = (
/obj/structure/catwalk,
/obj/effect/floor_decal/rust,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/firealarm{
dir = 1;
pixel_x = 0;
pixel_y = -24
},
/turf/simulated/floor,
/area/maintenance/cargo)
"Sw" = (
/obj/structure/catwalk,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/door/airlock/maintenance/common,
/turf/simulated/floor,
/area/maintenance/cargo)
"Sx" = (
/obj/structure/catwalk,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/alarm{
dir = 1;
icon_state = "alarm0";
pixel_y = -22
},
/turf/simulated/floor,
/area/maintenance/station/ai)
"Sy" = (
/obj/effect/landmark/start{
name = "Cargo Technician"
},
/turf/simulated/floor/tiled,
/area/quartermaster/storage)
"Sz" = (
/obj/structure/cable/green{
d1 = 1;
@@ -28123,6 +28281,89 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/heads/hos)
"SA" = (
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/bed/chair/office/light{
dir = 8
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/medical/ward)
"SB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/structure/bed/chair/office/light,
/obj/effect/landmark/start{
name = "Medical Doctor"
},
/turf/simulated/floor/tiled/white,
/area/medical/exam_room)
"SC" = (
/obj/structure/bed/chair/office/dark{
dir = 1
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"SD" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/airless/carry,
/area/shuttle/excursion/tether)
"SE" = (
/obj/effect/floor_decal/borderfloorblack{
dir = 8
},
/obj/effect/floor_decal/corner/red/border{
dir = 8
},
/obj/structure/table/bench/steel,
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/tiled/dark,
/area/security/security_lockerroom)
"SF" = (
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/bed/chair{
dir = 4
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/tiled,
/area/security/briefing_room)
"SG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
/obj/structure/bed/chair/office/dark{
dir = 4
},
/obj/effect/landmark/start{
name = "Security Officer"
},
/turf/simulated/floor/tiled,
/area/security/security_processing)
"SH" = (
/turf/simulated/wall,
/area/storage/emergency_storage/emergency3)
"SK" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -28173,12 +28414,6 @@
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"Th" = (
/obj/structure/bed/chair/office/dark{
dir = 4
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"Tp" = (
/obj/structure/cable{
d1 = 1;
@@ -28484,28 +28719,6 @@
/obj/structure/closet/secure_closet/hos2,
/turf/simulated/floor/wood,
/area/crew_quarters/heads/hos)
"YF" = (
/obj/structure/bed/chair/office/dark{
dir = 8
},
/obj/structure/cable/green{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
/obj/structure/cable/green{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
/turf/simulated/floor/carpet,
/area/security/breakroom)
"YH" = (
/obj/structure/table/woodentable,
/obj/machinery/microwave,
@@ -34133,7 +34346,7 @@ eT
me
mB
ev
nK
SE
od
mh
pd
@@ -35840,7 +36053,7 @@ jk
jk
lv
oC
pm
SG
Rs
qi
qN
@@ -36001,9 +36214,9 @@ Ah
Bt
Cc
Dk
EI
He
nc
Fx
Ps
GS
GW
HO
@@ -36588,7 +36801,7 @@ NF
NZ
yl
OV
Ps
SA
PM
Ql
Pu
@@ -37104,8 +37317,8 @@ iR
YT
jn
jB
Th
jW
nK
ey
eJ
kF
@@ -37245,10 +37458,10 @@ iG
iS
YT
jo
jC
ds
jN
jX
da
SC
eJ
kG
YT
@@ -37530,8 +37743,8 @@ iR
YT
Uq
dt
ds
YF
mU
pm
Td
eY
TQ
@@ -37542,7 +37755,7 @@ mm
mO
ns
mm
ol
SF
oL
le
iq
@@ -37567,14 +37780,14 @@ DW
ER
FI
Gy
He
Py
HY
ID
Jv
Kj
Kh
Lt
Kh
LT
Mn
Lp
Nj
@@ -37582,7 +37795,7 @@ KI
Of
tt
Pb
Py
SB
PS
Qr
uN
@@ -38532,7 +38745,7 @@ ku
kJ
aI
mR
kV
St
aI
aI
aI
@@ -38674,7 +38887,7 @@ RH
RH
RH
RH
RO
Su
eU
aI
ab
@@ -39100,7 +39313,7 @@ cJ
mr
nz
be
mU
Sr
RS
iV
ab
@@ -39520,7 +39733,7 @@ it
di
di
dy
Pk
SD
cK
cK
ms
@@ -39662,7 +39875,7 @@ iK
jY
kn
di
Pk
SD
cK
cK
ms
@@ -39671,7 +39884,7 @@ be
os
oV
RY
Sf
Sv
iV
oO
ps
@@ -39684,7 +39897,7 @@ eL
up
vc
vS
sq
SH
xe
xU
yO
@@ -39804,7 +40017,7 @@ iK
jY
kn
di
Pk
SD
cK
cK
ms
@@ -39826,7 +40039,7 @@ iV
uq
vd
vT
sq
SH
xf
xV
yP
@@ -40239,7 +40452,7 @@ Ox
Ox
Sp
be
Sg
Sw
iV
iV
pw
@@ -40656,7 +40869,7 @@ eb
ka
ky
di
Pk
SD
cK
cK
ms
@@ -40798,7 +41011,7 @@ jf
kj
kQ
di
Pk
SD
cK
cK
ms
@@ -40940,7 +41153,7 @@ jr
kk
kR
dy
Pk
SD
cK
cK
ms
@@ -41233,7 +41446,7 @@ be
be
be
be
Si
Sx
gy
Sn
Sl
@@ -41687,7 +41900,7 @@ BU
GL
HB
Is
BU
Sy
JN
zO
ab
@@ -41784,22 +41997,22 @@ aa
aa
dV
bV
gK
cy
lt
dV
Rw
Ry
kV
RA
RC
RD
RG
Pk
RA
RA
RG
RL
cy
Ry
RR
RX
Ss
Sd
Si
Sk
@@ -41939,7 +42152,7 @@ eI
RJ
RK
RM
RA
RF
RA
RA
RA
@@ -42383,8 +42596,8 @@ sJ
vq
sJ
sJ
sJ
yg
EI
Fx
zc
zR
AU
+4
View File
@@ -1820,6 +1820,9 @@
#include "code\modules\examine\descriptions\weapons.dm"
#include "code\modules\ext_scripts\irc.dm"
#include "code\modules\ext_scripts\python.dm"
#include "code\modules\fishing\fishing.dm"
#include "code\modules\fishing\fishing_net.dm"
#include "code\modules\fishing\fishing_rod.dm"
#include "code\modules\flufftext\Dreaming.dm"
#include "code\modules\flufftext\Hallucination.dm"
#include "code\modules\flufftext\look_up.dm"
@@ -2881,6 +2884,7 @@
#include "code\modules\research\designs\medical.dm"
#include "code\modules\research\designs\mining_toys.dm"
#include "code\modules\research\designs\misc.dm"
#include "code\modules\research\designs\modular_computer.dm"
#include "code\modules\research\designs\pdas.dm"
#include "code\modules\research\designs\powercells.dm"
#include "code\modules\research\designs\precursor.dm"