mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-26 13:36:48 +01:00
Merge branch 'master' of https://github.com/VOREStation/VOREStation into Fluff_Items_worshop
This commit is contained in:
@@ -43,6 +43,18 @@
|
||||
if (isarea(A))
|
||||
return A
|
||||
|
||||
|
||||
/** Checks if any living humans are in a given area. */
|
||||
/proc/area_is_occupied(var/area/myarea)
|
||||
// Testing suggests looping over human_mob_list is quicker than looping over area contents
|
||||
for(var/mob/living/carbon/human/H in human_mob_list)
|
||||
if(H.stat >= DEAD) //Conditions for exclusion here, like if disconnected people start blocking it.
|
||||
continue
|
||||
var/area/A = get_area(H)
|
||||
if(A == myarea) //The loc of a turf is the area it is in.
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/in_range(source, user)
|
||||
if(get_dist(source, user) <= 1)
|
||||
return 1
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
/datum/supply_packs/misc/beltminer
|
||||
name = "Belt-miner gear crate"
|
||||
contains = list(
|
||||
/obj/item/weapon/gun/energy/particle = 2,
|
||||
/obj/item/weapon/cell/device/weapon = 2,
|
||||
/obj/item/weapon/storage/firstaid/regular = 1,
|
||||
/obj/item/device/gps = 2,
|
||||
/obj/item/weapon/storage/box/traumainjectors = 1
|
||||
)
|
||||
cost = 50
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containername = "Belt-miner gear crate"
|
||||
access = access_mining
|
||||
@@ -39,10 +39,8 @@
|
||||
var/obj/item/stack/stack = I
|
||||
var/transfer
|
||||
var/amount_needed = 2
|
||||
if (stack.amount >= amount_needed)
|
||||
if(stat & BROKEN)
|
||||
user << "<span class='notice'>It looks like \the [src] is pretty busted. There's not much point reinforcing it.</span>"
|
||||
return 1
|
||||
if(stat & BROKEN)
|
||||
user << "<span class='notice'>It looks like \the [src] is pretty busted.</span>"
|
||||
if (reinforcing)
|
||||
transfer = stack.transfer_to(reinforcing, amount_needed - reinforcing.amount)
|
||||
if (!transfer)
|
||||
@@ -57,13 +55,50 @@
|
||||
if (transfer)
|
||||
user << "<span class='notice'>You fit [transfer] [stack.singular_name]\s to \the [src].</span>"
|
||||
return 1
|
||||
return 0
|
||||
|
||||
if(istype(I, /obj/item/stack/material) && I.get_material_name() == src.get_material_name())
|
||||
if(stat & BROKEN)
|
||||
if(health >= maxhealth && destroy_hits >= 10)
|
||||
user << "<span class='notice'>The [src] is about as shored up as it's going to get.</span>"
|
||||
return 1
|
||||
if(!density)
|
||||
user << "<span class='warning'>\The [src] must be closed before you can repair it.</span>"
|
||||
return 1
|
||||
|
||||
//figure out how much metal we need
|
||||
var/amount_needed = (maxhealth - health) / DOOR_REPAIR_AMOUNT
|
||||
if (destroy_hits < 10)
|
||||
amount_needed += (20*(10 - destroy_hits) / DOOR_REPAIR_AMOUNT)
|
||||
amount_needed = (round(amount_needed) == amount_needed)? amount_needed : round(amount_needed) + 1 //Why does BYOND not have a ceiling proc?
|
||||
|
||||
var/obj/item/stack/stack = I
|
||||
var/transfer
|
||||
if (repairing)
|
||||
transfer = stack.transfer_to(repairing, amount_needed - repairing.amount)
|
||||
if (!transfer)
|
||||
user << "<span class='warning'>You must weld or remove \the [repairing] from \the [src] before you can add anything else.</span>"
|
||||
else
|
||||
repairing = stack.split(amount_needed)
|
||||
if (repairing)
|
||||
repairing.loc = src
|
||||
transfer = repairing.amount
|
||||
|
||||
if (transfer)
|
||||
user << "<span class='notice'>\The [src] is completely broken inside, but you manage to fit [transfer] [stack.singular_name]\s to shore it up.</span>"
|
||||
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
if(reinforcing && istype(I, /obj/item/weapon/weldingtool))
|
||||
var/amount_needed = 2
|
||||
if(!density)
|
||||
user << "<span class='warning'>\The [src] must be closed before you can repair it.</span>"
|
||||
return 1
|
||||
|
||||
if (reinforcing.amount < amount_needed)
|
||||
user << "<span class='notice'>You need [amount_needed] [reinforcing.singular_name]\s to reinforce \the [src].</span>"
|
||||
return 1
|
||||
var/obj/item/weapon/weldingtool/welder = I
|
||||
if(welder.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You start to weld \the [reinforcing] into place.</span>"
|
||||
@@ -76,6 +111,28 @@
|
||||
reinforcing = null
|
||||
return 1
|
||||
|
||||
if(repairing && istype(I, /obj/item/weapon/weldingtool) && (stat & BROKEN))
|
||||
if(!density)
|
||||
user << "<span class='warning'>\The [src] must be closed before you can shore it up.</span>"
|
||||
return 1
|
||||
|
||||
var/obj/item/weapon/weldingtool/welder = I
|
||||
if(welder.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You start to weld \the [repairing] into place.</span>"
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
if(do_after(user, 5 * repairing.amount) && welder && welder.isOn())
|
||||
user << "<span class='notice'>You finish shoring up \the [src]. It'll hold for at least a little while.</span>"
|
||||
var/damagerepaired = repairing.amount*DOOR_REPAIR_AMOUNT
|
||||
if (destroy_hits < 10)
|
||||
var/severedamage = 10 - destroy_hits
|
||||
destroy_hits = between(destroy_hits, destroy_hits + (damagerepaired)/20, 10)
|
||||
damagerepaired -= 20 * severedamage
|
||||
health = between(health, health + damagerepaired, maxhealth)
|
||||
update_icon()
|
||||
qdel(repairing)
|
||||
repairing = null
|
||||
return 1
|
||||
|
||||
if(reinforcing && istype(I, /obj/item/weapon/crowbar))
|
||||
user << "<span class='notice'>You remove \the [reinforcing].</span>"
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
..()
|
||||
|
||||
/obj/machinery/vending/medical/New()
|
||||
products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/storage/box/backup_kit = 2,
|
||||
products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/backup_implanter = 3,
|
||||
/obj/item/clothing/glasses/omnihud/med = 2, /obj/item/device/glasses_kit = 1)
|
||||
..()
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// This event causes a gas leak of phoron, sleeping_agent, or carbon_dioxide in a random unoccupied area.
|
||||
// One wonders, where did the gas come from? Who knows! Its SPACE! But if you want something a touch
|
||||
// more "explainable" then check out the canister_leak event instead.
|
||||
//
|
||||
|
||||
/datum/event/atmos_leak
|
||||
startWhen = 5 // Nobody will actually be in the room, but still give a bit of warning.
|
||||
var/area/target_area // Chosen target area
|
||||
var/area/target_turf // Chosen target turf in target_area
|
||||
var/gas_type // Chosen gas to release
|
||||
// Exclude these types and sub-types from targeting eligibilty
|
||||
var/list/area/excluded = list(
|
||||
/area/shuttle,
|
||||
/area/crew_quarters,
|
||||
/area/holodeck,
|
||||
/area/engineering/engine_room
|
||||
)
|
||||
|
||||
// Decide which area will be targeted!
|
||||
/datum/event/atmos_leak/setup()
|
||||
var/gas_choices = list("carbon_dioxide", "sleeping_agent") // Annoying
|
||||
if(severity >= EVENT_LEVEL_MODERATE)
|
||||
gas_choices += "phoron" // Dangerous
|
||||
if(severity >= EVENT_LEVEL_MAJOR)
|
||||
gas_choices += "volatile_fuel" // Dangerous and no default atmos setup!
|
||||
gas_type = pick(gas_choices)
|
||||
|
||||
// Assemble areas that all exists (See DM reference if you are confused about loop labels)
|
||||
var/list/area/grand_list_of_areas = list()
|
||||
looping_station_areas:
|
||||
for(var/parentpath in global.the_station_areas)
|
||||
// Check its not excluded
|
||||
for(var/excluded_path in excluded)
|
||||
if(ispath(parentpath, excluded_path))
|
||||
continue looping_station_areas
|
||||
// Otherwise add it and all subtypes that exist on the map to our grand list
|
||||
for(var/areapath in typesof(parentpath))
|
||||
var/area/A = locate(areapath) // Check if it actually exists
|
||||
if(istype(A) && A.z in using_map.player_levels)
|
||||
grand_list_of_areas += A
|
||||
|
||||
// Okay, now lets try and pick a target! Lets try 10 times, otherwise give up
|
||||
for(var/i in 1 to 10)
|
||||
var/area/A = pick(grand_list_of_areas)
|
||||
if(is_area_occupied(A))
|
||||
log_debug("atmos_leak event: Rejected [A] because it is occupied.")
|
||||
continue
|
||||
// A good area, great! Lets try and pick a turf
|
||||
var/list/turfs = list()
|
||||
for(var/turf/simulated/floor/F in A)
|
||||
if(turf_clear(F))
|
||||
turfs += F
|
||||
if(turfs.len == 0)
|
||||
log_debug("atmos_leak event: Rejected [A] because it has no clear turfs.")
|
||||
continue
|
||||
target_area = A
|
||||
target_turf = pick(turfs)
|
||||
|
||||
// If we can't find a good target, give up
|
||||
if(!target_area)
|
||||
log_debug("atmos_leak event: Giving up after too many failures to pick target area")
|
||||
kill()
|
||||
return
|
||||
|
||||
/** Checks if any living humans are in a given area! */
|
||||
/datum/event/atmos_leak/proc/is_area_occupied(var/area/myarea)
|
||||
// Testing suggests looping over human_mob_list is quicker than looping over area contents
|
||||
for(var/mob/living/carbon/human/H in human_mob_list)
|
||||
if(H.stat >= DEAD) //Conditions for exclusion here, like if disconnected people start blocking it.
|
||||
continue
|
||||
var/area/A = get_area(H)
|
||||
if(A == myarea) //The loc of a turf is the area it is in.
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/datum/event/atmos_leak/announce()
|
||||
command_announcement.Announce("Warning, hazardous [gas_data.name[gas_type]] gas leak detected in \the [target_area], evacuate the area and contain the damage!", "Hazard Alert")
|
||||
|
||||
/datum/event/atmos_leak/start()
|
||||
// Okay, time to actually put the gas in the room!
|
||||
// TODO - Would be nice to break a waste pipe perhaps?
|
||||
// TODO - Maybe having it released from a single point and thus causing airflow to blow stuff around
|
||||
|
||||
// Fow now just add a bunch of it to the air
|
||||
var/datum/gas_mixture/air_contents = new
|
||||
air_contents.temperature = T20C + ((severity - 1) * rand(-50, 50))
|
||||
air_contents.gas[gas_type] = 10 * MOLES_CELLSTANDARD
|
||||
target_turf.assume_air(air_contents)
|
||||
playsound(target_turf, 'sound/effects/smoke.ogg', 50, 1)
|
||||
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// This event chooses a random canister on player levels and breaks it, releasing its contents!
|
||||
// On severity EVENT_LEVEL_MUNDANE or below it checks to make sure nobody is in the area, otherwise... good luck.
|
||||
//
|
||||
|
||||
/datum/event/canister_leak/start()
|
||||
// List of all non-destroyed canisters on station levels
|
||||
var/list/all_canisters = list()
|
||||
for(var/obj/machinery/portable_atmospherics/canister/C in machines)
|
||||
if(!C.destroyed && (C.z in using_map.station_levels))
|
||||
all_canisters += C
|
||||
|
||||
for(var/i in 1 to 10)
|
||||
var/obj/machinery/portable_atmospherics/canister/C = pick(all_canisters)
|
||||
if(severity <= EVENT_LEVEL_MUNDANE && area_is_occupied(get_area(C)))
|
||||
log_debug("canister_leak event: Rejecting canister [C] ([C.x],[C.y],[C.z]) because area is occupied")
|
||||
continue
|
||||
// Okay lets break it
|
||||
break_canister(C)
|
||||
return
|
||||
|
||||
// If we got to here we failed to find it
|
||||
log_debug("canister_leak event: Giving up after too many failures to pick target canister")
|
||||
kill()
|
||||
return
|
||||
|
||||
/datum/event/canister_leak/proc/break_canister(var/obj/machinery/portable_atmospherics/canister/C)
|
||||
log_debug("canister_leak event: Canister [C] ([C.x],[C.y],[C.z]) destroyed.")
|
||||
C.health = 0
|
||||
C.healthcheck()
|
||||
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// This event chooses a random canister on player levels and breaks it, releasing its contents!
|
||||
//
|
||||
|
||||
/datum/gm_action/canister_leak
|
||||
name = "Canister Leak"
|
||||
departments = list(ROLE_ENGINEERING)
|
||||
chaotic = 20
|
||||
|
||||
/datum/gm_action/canister_leak/get_weight()
|
||||
return metric.count_people_in_department(ROLE_ENGINEERING) * 30
|
||||
|
||||
/datum/gm_action/canister_leak/start()
|
||||
..()
|
||||
// List of all non-destroyed canisters on station levels
|
||||
var/list/all_canisters = list()
|
||||
for(var/obj/machinery/portable_atmospherics/canister/C in machines)
|
||||
if(!C.destroyed && (C.z in using_map.station_levels))
|
||||
all_canisters += C
|
||||
var/obj/machinery/portable_atmospherics/canister/C = pick(all_canisters)
|
||||
log_debug("canister_leak event: Canister [C] ([C.x],[C.y],[C.z]) destroyed.")
|
||||
C.health = 0
|
||||
C.healthcheck()
|
||||
return
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/weapon/gun/energy/particle //base gun, similar stats to an egun
|
||||
name = "Antiparticle projector pistol"
|
||||
name = "Anti-particle projector pistol"
|
||||
icon = 'icons/obj/gun_vr.dmi'
|
||||
icon_state = "ppistol"
|
||||
item_state = "ppistol_item"
|
||||
@@ -18,27 +18,28 @@
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
projectile_type = /obj/item/projectile/bullet/particle
|
||||
origin_tech = null
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2, TECH_MATERIAL = 2)
|
||||
fire_delay = 10
|
||||
charge_cost = 240 //same cost as lasers
|
||||
charge_cost = 200 //slightly more shots than lasers
|
||||
var/safetycatch = 0 //if 1, won't let you fire in pressurised environment, rather than malfunctioning
|
||||
var/obj/item/pressurelock/attached_safety
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/particle/advanced //particle equivalent of AEG
|
||||
name = "Advanced antiparticle rifle"
|
||||
name = "Advanced anti-particle rifle"
|
||||
icon_state = "particle"
|
||||
item_state = "particle_item"
|
||||
desc = "An antiparticle projector gun with an enhanced power-generation unit."
|
||||
slot_flags = SLOT_BELT
|
||||
force = 8 //looks heavier than a pistol
|
||||
w_class = ITEMSIZE_LARGE //bigger than a pistol, too.
|
||||
origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 5, TECH_POWER = 3, TECH_MAGNET = 3)
|
||||
fire_delay = 6 //This one's not a handgun, it should have the same fire delay as everything else
|
||||
self_recharge = 1
|
||||
modifystate = null
|
||||
battery_lock = 1
|
||||
recharge_time = 15 // every 15 ticks, recharge 2 shots. Rather slower than AEG.
|
||||
charge_delay = 20 //Starts recharging faster after firing than an AEG, but much slower recharge rate. Balances out for a full charge.
|
||||
recharge_time = 6 // every 6 ticks, recharge 2 shots. Slightly slower than AEG.
|
||||
charge_delay = 10 //Starts recharging faster after firing than an AEG though.
|
||||
|
||||
/obj/item/weapon/gun/energy/particle/cannon //particle version of laser cannon
|
||||
name = "Anti-particle cannon"
|
||||
@@ -47,17 +48,18 @@
|
||||
item_state = "heavyparticle_item"
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4)
|
||||
projectile_type = /obj/item/projectile/bullet/particle/heavy
|
||||
battery_lock = 1
|
||||
fire_delay = 20
|
||||
fire_delay = 15 // fires faster than a laser cannon. c'mon, it's an awesome-but-impractical endgame gun.
|
||||
w_class = ITEMSIZE_HUGE // So it can't fit in a backpack.
|
||||
force = 10
|
||||
one_handed_penalty = 6 // The thing's heavy and huge.
|
||||
one_handed_penalty = 8 // The thing's heavy and huge.
|
||||
accuracy = 3
|
||||
charge_cost = 480 // 5 shots
|
||||
charge_cost = 400 // 6 shots
|
||||
self_recharge = 1
|
||||
charge_delay = 20 //won't start charging until it's ready to fire again
|
||||
recharge_time = 20 //100 ticks after that to refill the whole thing.
|
||||
charge_delay = 15 //won't start charging until it's ready to fire again
|
||||
recharge_time = 8 //40 ticks after that to refill the whole thing.
|
||||
|
||||
//special behaviours for particle guns below
|
||||
|
||||
@@ -161,7 +163,7 @@
|
||||
icon_state = "pressurelock"
|
||||
desc = "A safety interlock that can be installed in an antiparticle projector. It prevents the weapon from discharging in pressurised environments."
|
||||
w_class = ITEMSIZE_TINY
|
||||
|
||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
|
||||
// projectiles below
|
||||
|
||||
|
||||
@@ -48,3 +48,29 @@
|
||||
user << "<span class='notice'>\The [src] already has a vial.</span>"
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/autoinjector/beltminer
|
||||
name = "Emergency trauma injector"
|
||||
desc = "A rapid injector for emergency treatment of injuries. The warning label advises that it is not a substitute for proper medical treatment."
|
||||
icon_state = "autoinjector"
|
||||
item_state = "autoinjector"
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 10
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/autoinjector/beltminer/New()
|
||||
..()
|
||||
reagents.add_reagent("bicaridine", 5)
|
||||
reagents.add_reagent("tricordrazine", 3)
|
||||
reagents.add_reagent("tramadol", 2)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/traumainjectors
|
||||
name = "box of emergency trauma injectors"
|
||||
desc = "Contains emergency trauma autoinjectors."
|
||||
icon_state = "syringe"
|
||||
|
||||
/obj/item/weapon/storage/box/traumainjectors/New()
|
||||
..()
|
||||
for (var/i = 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/beltminer(src)
|
||||
|
||||
@@ -8,27 +8,51 @@
|
||||
build_path = /obj/item/weapon/pickaxe/excavationdrill
|
||||
|
||||
/datum/design/item/implant/language
|
||||
name = "language implant"
|
||||
name = "Language implant"
|
||||
id = "implant_language"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_BIO = 5, TECH_DATA = 4, TECH_ENGINEERING = 4) //This is not an easy to make implant.
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 7000, "gold" = 2000, "diamond" = 3000)
|
||||
build_path = /obj/item/weapon/implantcase/vrlanguage
|
||||
|
||||
/datum/design/item/implant/backup
|
||||
name = "backup implant"
|
||||
name = "Backup implant"
|
||||
id = "implant_backup"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_DATA = 4, TECH_ENGINEERING = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000)
|
||||
build_path = /obj/item/weapon/implantcase/backup
|
||||
|
||||
/datum/design/item/weapon/sizegun
|
||||
name = "shrink ray"
|
||||
name = "Shrink ray"
|
||||
id = "shrinkray"
|
||||
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000, "uranium" = 2000)
|
||||
build_path = /obj/item/weapon/gun/energy/sizegun
|
||||
sort_string = "TAAAB"
|
||||
|
||||
/datum/design/item/item/pressureinterlock
|
||||
name = "APP pressure interlock"
|
||||
id = "pressureinterlock"
|
||||
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 250)
|
||||
build_path = /obj/item/pressurelock
|
||||
sort_string = "TAADA"
|
||||
|
||||
/datum/design/item/weapon/advparticle
|
||||
name = "Advanced anti-particle rifle"
|
||||
id = "advparticle"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 5, TECH_POWER = 3, TECH_MAGNET = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "gold" = 1000, "uranium" = 750)
|
||||
build_path = /obj/item/weapon/gun/energy/particle/advanced
|
||||
sort_string = "TAADB"
|
||||
|
||||
/datum/design/item/weapon/particlecannon
|
||||
name = "Anti-particle cannon"
|
||||
id = "particlecannon"
|
||||
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1500, "gold" = 2000, "uranium" = 1000, "diamond" = 2000)
|
||||
build_path = /obj/item/weapon/gun/energy/particle/cannon
|
||||
sort_string = "TAADC"
|
||||
|
||||
/datum/design/item/hud/omni
|
||||
name = "AR glasses"
|
||||
id = "omnihud"
|
||||
@@ -38,17 +62,24 @@
|
||||
sort_string = "GAAFB"
|
||||
|
||||
/datum/design/item/translocator
|
||||
name = "personal translocator"
|
||||
name = "Personal translocator"
|
||||
id = "translocator"
|
||||
req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_ILLEGAL = 7)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "uranium" = 4000, "diamond" = 2000)
|
||||
build_path = /obj/item/device/perfect_tele
|
||||
sort_string = "HABAF"
|
||||
|
||||
/datum/design/item/translator
|
||||
name = "handheld translator"
|
||||
id = "translator"
|
||||
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000)
|
||||
build_path = /obj/item/device/universal_trans
|
||||
sort_string = "HABBA"
|
||||
|
||||
// Resleeving Circuitboards
|
||||
|
||||
/datum/design/circuit/comm_server
|
||||
/datum/design/circuit/transhuman_clonepod
|
||||
name = "grower pod"
|
||||
id = "transhuman_clonepod"
|
||||
req_tech = list(TECH_DATA = 3, TECH_BIO = 3)
|
||||
@@ -63,21 +94,21 @@
|
||||
sort_string = "HAADB"
|
||||
|
||||
/datum/design/circuit/transhuman_resleever
|
||||
name = "resleeving pod"
|
||||
name = "Resleeving pod"
|
||||
id = "transhuman_resleever"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_BIO = 4)
|
||||
build_path = /obj/item/weapon/circuitboard/transhuman_resleever
|
||||
sort_string = "HAADC"
|
||||
|
||||
/datum/design/circuit/resleeving_control
|
||||
name = "resleeving control console"
|
||||
name = "Resleeving control console"
|
||||
id = "resleeving_control"
|
||||
req_tech = list(TECH_DATA = 5)
|
||||
build_path = /obj/item/weapon/circuitboard/resleeving_control
|
||||
sort_string = "HAADE"
|
||||
|
||||
/datum/design/circuit/partslathe
|
||||
name = "parts lathe"
|
||||
name = "Parts lathe"
|
||||
id = "partslathe"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/partslathe
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
/obj/item/weapon/implant/backup
|
||||
name = "backup implant"
|
||||
desc = "A mindstate backup implant that occasionally stores a copy of one's mind on a central server for backup purposes."
|
||||
icon = 'icons/vore/custom_items_vr.dmi'
|
||||
icon_state = "backup_implant"
|
||||
var/last_attempt
|
||||
var/attempt_delay = 5 MINUTES
|
||||
|
||||
@@ -52,6 +54,90 @@
|
||||
spawn(attempt_delay)
|
||||
backup()
|
||||
|
||||
//New, modern implanter instead of old style implanter.
|
||||
/obj/item/weapon/backup_implanter
|
||||
name = "backup implanter"
|
||||
desc = "After discovering that Nanotrasen was just re-using the same implanters over and over again on organics, leading to cross-contamination, Kitsuhana Heavy industries designed this self-cleaning model. Holds four backup implants at a time."
|
||||
icon = 'icons/obj/device_alt.dmi'
|
||||
icon_state = "bimplant"
|
||||
item_state = "syringe_0"
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000)
|
||||
var/obj/item/weapon/implant/backup/list/imps = list()
|
||||
var/max_implants = 4 //Iconstates need to exist due to the update proc!
|
||||
|
||||
/obj/item/weapon/backup_implanter/New()
|
||||
..()
|
||||
for(var/i = 1 to max_implants)
|
||||
var/obj/item/weapon/implant/backup/imp = new(src)
|
||||
imps |= imp
|
||||
imp.germ_level = 0
|
||||
update()
|
||||
|
||||
/obj/item/weapon/backup_implanter/proc/update()
|
||||
icon_state = "[initial(icon_state)][imps.len]"
|
||||
germ_level = 0
|
||||
|
||||
/obj/item/weapon/backup_implanter/attack_self(mob/user as mob)
|
||||
if(!istype(user))
|
||||
return
|
||||
|
||||
if(imps.len)
|
||||
user << "<span class='notice'>You eject a backup implant.</span>"
|
||||
var/obj/item/weapon/implant/backup/imp = imps[imps.len]
|
||||
imp.forceMove(get_turf(user))
|
||||
imps -= imp
|
||||
user.put_in_any_hand_if_possible(imp)
|
||||
update()
|
||||
else
|
||||
user << "<span class='warning'>\The [src] is empty.</span>"
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/backup_implanter/attackby(obj/W, mob/user)
|
||||
if(istype(W,/obj/item/weapon/implant/backup))
|
||||
if(imps.len < max_implants)
|
||||
user.unEquip(W)
|
||||
imps |= W
|
||||
W.germ_level = 0
|
||||
W.forceMove(src)
|
||||
update()
|
||||
user << "<span class='notice'>You load \the [W] into \the [src].</span>"
|
||||
else
|
||||
user << "<span class='warning'>\The [src] is already full!</span>"
|
||||
|
||||
/obj/item/weapon/backup_implanter/attack(mob/M as mob, mob/user as mob)
|
||||
if (!istype(M, /mob/living/carbon))
|
||||
return
|
||||
if (user && imps.len)
|
||||
M.visible_message("<span class='notice'>[user] is injecting a backup implant into [M].</span>")
|
||||
|
||||
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
|
||||
user.do_attack_animation(M)
|
||||
|
||||
var/turf/T1 = get_turf(M)
|
||||
if (T1 && ((M == user) || do_after(user, 5 SECONDS)))
|
||||
if(user && M && (get_turf(M) == T1) && src && src.imps.len)
|
||||
M.visible_message("<span class='notice'>[M] has been backup implanted by [user].</span>")
|
||||
|
||||
var/obj/item/weapon/implant/backup/imp = imps[imps.len]
|
||||
if(imp.implanted(M))
|
||||
imp.forceMove(M)
|
||||
imps -= imp
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
admin_attack_log(user, M, "Implanted using \the [src.name] ([imp.name])", "Implanted with \the [src.name] ([imp.name])", "used an implanter, [src.name] ([imp.name]), on")
|
||||
if (ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
affected.implants += imp
|
||||
imp.part = affected
|
||||
BITSET(H.hud_updateflag, BACKUP_HUD)
|
||||
|
||||
update()
|
||||
|
||||
//The glass case for the implant
|
||||
/obj/item/weapon/implantcase/backup
|
||||
name = "glass case - 'backup'"
|
||||
|
||||
@@ -981,6 +981,17 @@
|
||||
M.update_inv_wear_mask()
|
||||
usr.update_action_buttons()
|
||||
|
||||
//Vorrarkul: Theodora Lindt
|
||||
/obj/item/clothing/suit/chococoat
|
||||
name = "Chococoat"
|
||||
desc = "A long coat designed to resemble Getmore Chocolate Corp's namesake chocolate bar wrapper." //A walking advertisement?
|
||||
icon = 'icons/vore/custom_clothes_vr.dmi'
|
||||
icon_override = 'icons/vore/custom_clothes_vr.dmi'
|
||||
item_state = "chococoat_on"
|
||||
icon_state = "chococoat"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
allowed = list (/obj/item/weapon/material/knife)
|
||||
|
||||
/*
|
||||
Departamental Swimsuits, for general use
|
||||
*/
|
||||
|
||||
@@ -865,3 +865,60 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
|
||||
B.internal_contents |= src
|
||||
user.visible_message("<span class='warning'>[user] eats a telebeacon!</span>","You eat the the beacon!")
|
||||
playsound(user, B.vore_sound, 70, 1)
|
||||
|
||||
//Universal translator
|
||||
/obj/item/device/universal_trans
|
||||
name = "handheld translator"
|
||||
desc = "This handy device appears to translate the languages it hears into onscreen text for a user."
|
||||
icon = 'icons/obj/device_alt.dmi'
|
||||
icon_state = "atmos"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
var/listening = 0
|
||||
var/datum/language/langset
|
||||
|
||||
/obj/item/device/universal_trans/attack_self(mob/user)
|
||||
if(!listening) //Turning ON
|
||||
langset = input(user,"Translate to which of your languages?","Language Selection") as anything|null in user.languages
|
||||
if(langset)
|
||||
listening = 1
|
||||
listening_objects |= src
|
||||
icon_state = "[initial(icon_state)]1"
|
||||
user << "<span class='notice'>You enable \the [src], translating into [langset.name].</span>"
|
||||
else //Turning OFF
|
||||
listening = 0
|
||||
listening_objects -= src
|
||||
langset = null
|
||||
icon_state = "[initial(icon_state)]"
|
||||
user << "<span class='notice'>You disable \the [src].</span>"
|
||||
|
||||
|
||||
/obj/item/device/universal_trans/hear_talk(var/mob/speaker,var/message,var/vrb,var/datum/language/language)
|
||||
if(!listening || !istype(speaker))
|
||||
return
|
||||
|
||||
//Show the "I heard something" animation.
|
||||
flick("[initial(icon_state)]2",src)
|
||||
|
||||
//Handheld or pocket only.
|
||||
if(!isliving(loc))
|
||||
return
|
||||
|
||||
var/mob/living/L = loc
|
||||
|
||||
if (language && (language.flags & NONVERBAL))
|
||||
return //Not gonna translate sign language
|
||||
|
||||
//Only translate if they can't understand, otherwise pointlessly spammy
|
||||
//I'll just assume they don't look at the screen in that case
|
||||
|
||||
//They don't understand the spoken language we're translating FROM
|
||||
if(!L.say_understands(speaker,language))
|
||||
|
||||
//They understand the PRINTED language
|
||||
if(L.say_understands(null,langset))
|
||||
L << "<i><b>[src]</b> displays, </i>\"<span class='[langset.colour]'>[message]</span>\""
|
||||
|
||||
//They don't understand the PRINTED language
|
||||
else
|
||||
L << "<i><b>[src]</b> displays, </i>\"<span class='[langset.colour]'>[langset.scramble(message)]</span>\""
|
||||
|
||||
@@ -478,6 +478,12 @@ character_name: Nyssa Brennan
|
||||
item_path: /obj/item/clothing/suit/storage/hooded/wintercoat/cargo
|
||||
}
|
||||
|
||||
{
|
||||
ckey: vorrarkul
|
||||
character_name: Theodora Lindt
|
||||
item_path: /obj/item/clothing/suit/chococoat
|
||||
}
|
||||
|
||||
{
|
||||
ckey: Viveret
|
||||
character_name: Keturah
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 140 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 33 KiB |
+11
-11
@@ -682,7 +682,7 @@
|
||||
"anf" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/obj/item/clothing/shoes/boots/jackboots/toeless,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
|
||||
"ang" = (/obj/structure/closet/secure_closet/security,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/obj/item/clothing/suit/armor/vest/wolftaur,/obj/item/clothing/shoes/boots/jackboots/toeless,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
|
||||
"anh" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_lockerroom)
|
||||
"ani" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
|
||||
"ani" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/obj/item/device/universal_trans,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
|
||||
"anj" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom)
|
||||
"ank" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom)
|
||||
"anl" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom)
|
||||
@@ -3044,7 +3044,7 @@
|
||||
"bgB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgC" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgD" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgE" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgE" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/device/universal_trans,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgF" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bgH" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/medbay{c_tag = "MED - Break Room"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
@@ -3752,7 +3752,7 @@
|
||||
"buh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo)
|
||||
"bui" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo)
|
||||
"buj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo)
|
||||
"buk" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"buk" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/item/weapon/backup_implanter,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bul" = (/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/medical/morgue)
|
||||
"bum" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue)
|
||||
"bun" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = list(64)},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/tiled,/area/medical/morgue)
|
||||
@@ -3800,7 +3800,7 @@
|
||||
"bvd" = (/turf/simulated/wall,/area/medical/reception)
|
||||
"bve" = (/obj/structure/bed/chair{dir = 4},/obj/structure/sign/nosmoking_1{pixel_x = -32},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvg" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvg" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvh" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bvj" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
@@ -3967,7 +3967,7 @@
|
||||
"byo" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two)
|
||||
"byp" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"byq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"byr" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"byr" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/item/weapon/backup_implanter,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"bys" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"byt" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
"byu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage)
|
||||
@@ -4258,7 +4258,7 @@
|
||||
"bDT" = (/obj/structure/closet/secure_closet/hydroponics,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled,/area/hydroponics)
|
||||
"bDU" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/alarm{pixel_y = 22},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/turf/simulated/floor/tiled,/area/hydroponics)
|
||||
"bDV" = (/turf/simulated/wall/r_wall,/area/maintenance/research_shuttle)
|
||||
"bDW" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/recharger,/obj/item/device/defib_kit,/obj/item/device/defib_kit,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bDW" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/recharger,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak)
|
||||
"bDX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_two)
|
||||
"bDY" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_x = 32; pixel_y = 0},/obj/structure/sign/directions/cargo{dir = 2; pixel_x = 32; pixel_z = 8},/obj/structure/sign/directions/engineering{dir = 2; pixel_x = 32; pixel_z = -8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two)
|
||||
"bDZ" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception)
|
||||
@@ -4367,7 +4367,7 @@
|
||||
"bFY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper)
|
||||
"bFZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper)
|
||||
"bGa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper)
|
||||
"bGb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper)
|
||||
"bGb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper)
|
||||
"bGc" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/turf/simulated/floor/plating,/area/medical/resleeving)
|
||||
"bGd" = (/obj/structure/bed/chair,/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
"bGe" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
@@ -4803,7 +4803,7 @@
|
||||
"bOs" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay)
|
||||
"bOt" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Resleeving"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
"bOu" = (/turf/simulated/floor/carpet/blue,/area/medical/psych)
|
||||
"bOv" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/box/backup_kit,/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
"bOv" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/table/standard,/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
"bOw" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/resleeving)
|
||||
"bOx" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_a)
|
||||
"bOy" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_a)
|
||||
@@ -5296,7 +5296,7 @@
|
||||
"bXR" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/medical_emergency_hallway)
|
||||
"bXS" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room C"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a)
|
||||
"bXT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room A"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_a)
|
||||
"bXU" = (/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/dark,/area/medical/biostorage)
|
||||
"bXU" = (/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/storage/box/backup_kit,/obj/item/weapon/backup_implanter,/turf/simulated/floor/tiled/dark,/area/medical/biostorage)
|
||||
"bXV" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/circuitboard/autolathe,/obj/machinery/light/small{dir = 1},/obj/item/weapon/circuitboard/partslathe,/turf/simulated/floor,/area/storage/tech)
|
||||
"bXW" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr5_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_c)
|
||||
"bXX" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr4_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr4_window_tint"},/turf/simulated/floor,/area/medical/patient_d)
|
||||
@@ -10105,8 +10105,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaX
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaaaaeaaaaaaaaaaaaaaeaaeaaaaaaaaeaaeaaaaaeaaeaaeaaaaaeaaeaaeaaaaayaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpWaaiaaibpXblmblnbrubrvblmbrwblqbikbikbikbrxblqbikbiybvSbjQbfEbgTbgUbgVbgWbgXbgYbgZbfEdIXbcEbqhbaZbqibqjbqkbqkbqlbqmbqnbqoboObqpboQbqqbqrbqsboUbqtbquaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaaiaafaafbhrbhrbnibnjbqvbnlbqwbnlbnkbnjbnmbhrbhraafaafaVeaVOaVeaaiaVPbawaYebqxbdWbnnbqybcXbqzaYjaYjaYjbqybcXbqzbiTbdSbphaYebawaVPaaiaVWaUubbyaPRbplaaiaaibckbckbqAbckbckbjebjebjebqBbqBbqBbqBbqCbqDbqBbqBbqEbqFbqGbqHbqHbqIbqJbqFbqKbqLbqMbpJbqObqPbqQbIZbmobpKbqNbpLbqSbqRbIZaXCaVnaafbdzbqWbqXbkYbqYblabqZblabrabjEbrbbjEbrcbdzbrdbfCbrebrfbrgbrhbribdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaaaayaaeaaeaaaaaaaaaaaaaaaaaabrmbrnbrobrpaaaaaabrqbrrbrsbrqbrqbrtbjGbjHbjIbjHbjGbikaaiaaiaaiaaiaaiaaibrmbsZbrzbtabfEbipbiqbirbisbitbiubivbiwdIZdIYdJabmZbrEbrFbrGbnabrHbbLbrIbrJbrKbrLbrMbrNbrNbrNbrObrPbrQaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaafaafaafbhrbhrbrRbrSbrTbnlbnlbnlbrUbrVbrWbhrbhraafaafaVeaVOaVeaaiaaiaYqaXdaYebqxbdWbrXbrYbrZbdabdabdabrXbrYbrZbdSbphaYeaWPaYdaaiaaiaXebaAbaBbsabplaaiaaibsbbscbsdbsebsfbsgbshbsibqBbsjbskbslbsmbsnbsobspbsqbsrbssbstbsubsvbqJbqTbsxbsybszbsAbsBbsybsAbIZbqVbqUbOubswbOubOubIZaXCaVnaafbdzbdzbfybsIbicbmsbsJbjEbjxbjEbjEbrhbsKbdzbsLbsMbsNbsObpRbsPbdzbdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaayaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaeaazaaaaaeaaeaaaaaaaaaaaaaaabrmbrmbsRbsSbrmbsTbsUbsVbsWbsXbsYbikbikabxabxbilbikbikcxVcxVaaiaaiaaiaaibrmbrmbrzbuJbfEbjKbjLbgVbjMbjNbjObjPbfEdJbbtcbtdboHbtebtfbtgbthbmZbtibtjbtkbtlbtmbtnbtobtpbtqbtrbtsbiHaaiaaiaWAaVGbttbeIaWAaaiaaiaaiaafaafaafaafaafaafbhrbhrbtubrSbtvbtwbtxbtybtzbhrbhraafaafaafaVeaVOaVeaaiaaiaaiaYqaVSbaxbdUbdUbtAbtBbtCbtDbtCbtEbtFbdUbdUbtGaVQaYdaaiaaiaaiaYraUubtHaPRbtIaaiaaibtJbtKbsdbtLbtMbtNbtObtPbqBbtQbtRbtSbtTbtTbtUbtVbtWbtXbtYbtZbtZbuabubbucbudbuebufbugbuhbuibujbIZbsDbsCbsFbsEbsEbsGbIZaXCaVnaafaafbdzbdzbdzbdzbuqburbusbjxbutbuubuvbdzbdzbiebdzbuxbuybuzbdzbdzaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaeaaeaaaaaaaaaaaabrmbuAbuBbuCbrmbuDbuEbuFbuGbuHbuIdIScxVaaiaaiaaiaaicxVcxVaaiaaiaaiaaiaaiaaibrmbrzdIRbfEbfEbfEbfEbfEbfEbfEbfEbfEdJcbuMbuNbaZbuObuPbuQbuRboHbuSbrIbqhbrKbuTbuUbuVbiHbuWbuXbuWbiHaaibbkbbkbiIbiJbiKaXOaaiaaiaafaafaafaafaafaafaafbhrbhrbhrbuYbuZbvabvbbvcbhrbhrbhraafaafaVeaVeaVOaVeaVeaaiaaiaaiaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaaiaaiaaiaaiaOKaVkbiVaVmaOKaOKaaibvdbvebvfbtNbvgbvhbvibvjbqBbvkbvlbvmbvnbtTbtTbvobnHbvpbvqbqLbqLbvrbqJbvsbvtbvubvvbvwbvxbvybvzbIZbIZbIZbIZbsHbIZbIZbIZaXCaVnaafaafaafaafaafbdzbvBbvCbdzbvDbdzbvBbvEbdzbvFbvGbdzbvHbvIbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaeaaeaaaaaaaaabrmbvJbvKbvLbrmbvMbvNbvObvPbvQbvRbrqaafaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafbrmbvSbuKbuKbvTbvUbvVbvWbvXbvYbvZbuKdJdbwbbwcbaZbwdbwebwfbwgbaZbwhbrIbwibwjbwjbwjbwjbwjbwkbwlbwmbwjbcJbbkbwnaVGaZhbwoaXOaVeaafaafaafaafaafaafaafaafaafbhrbhrbhrbwpbhrbhrbhrbhrbhraafaafaVeaVeaVNaVOaVNaVeaVeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaVeaOKaUubwqbgibwraOKbwsbwtbwubwvbwwbwxbwybukbwAbwBbwCbwDbwEbwFbtTbwGbqBcsVbqFbwIbwJbwKbwLbwMbwNbwObwPbwQbwRbwSbwTbwUbwVbulbwZbumbwZbwZbunbwVaXCaVnaafaafaafaafaafbdzbxcbxdbxebxfbxgbxhbxibxjbxkbxlbdzbxmbxnbxobdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaeaaeaaaaaaaaaaaabrmbuAbuBbuCbrmbuDbuEbuFbuGbuHbuIdIScxVaaiaaiaaiaaicxVcxVaaiaaiaaiaaiaaiaaibrmbrzdIRbfEbfEbfEbfEbfEbfEbfEbfEbfEdJcbuMbuNbaZbuObuPbuQbuRboHbuSbrIbqhbrKbuTbuUbuVbiHbuWbuXbuWbiHaaibbkbbkbiIbiJbiKaXOaaiaaiaafaafaafaafaafaafaafbhrbhrbhrbuYbuZbvabvbbvcbhrbhrbhraafaafaVeaVeaVOaVeaVeaaiaaiaaiaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaaiaaiaaiaaiaOKaVkbiVaVmaOKaOKaaibvdbvebvfbtNbukbvhbvibvjbqBbvkbvlbvmbvnbtTbtTbvobnHbvpbvqbqLbqLbvrbqJbvsbvtbvubvvbvwbvxbvybvzbIZbIZbIZbIZbsHbIZbIZbIZaXCaVnaafaafaafaafaafbdzbvBbvCbdzbvDbdzbvBbvEbdzbvFbvGbdzbvHbvIbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaeaaeaaaaaaaaabrmbvJbvKbvLbrmbvMbvNbvObvPbvQbvRbrqaafaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafbrmbvSbuKbuKbvTbvUbvVbvWbvXbvYbvZbuKdJdbwbbwcbaZbwdbwebwfbwgbaZbwhbrIbwibwjbwjbwjbwjbwjbwkbwlbwmbwjbcJbbkbwnaVGaZhbwoaXOaVeaafaafaafaafaafaafaafaafaafbhrbhrbhrbwpbhrbhrbhrbhrbhraafaafaVeaVeaVNaVOaVNaVeaVeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaVeaOKaUubwqbgibwraOKbwsbwtbwubwvbwwbwxbwybvgbwAbwBbwCbwDbwEbwFbtTbwGbqBcsVbqFbwIbwJbwKbwLbwMbwNbwObwPbwQbwRbwSbwTbwUbwVbulbwZbumbwZbwZbunbwVaXCaVnaafaafaafaafaafbdzbxcbxdbxebxfbxgbxhbxibxjbxkbxlbdzbxmbxnbxobdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaaeaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaaaaebxpbxqbxqbxqbxqbxrbrmbrmbrqbxsbxtbxubxvbxwbrqaafaafaafaafaaiaaiaaiaaiaaiaaiaafaafaafbrmbvSbuKbxxbxybxzbxAbxBbxCbxDbxEbxFdJebxHbxIbxJbxKbxLbxMbxNbxObxPbxQbxRbxSbxTbxUbxVbxSbxWbxXbxYbxZbyabybbbiaWBbeHbeIbycaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaafaafbydbyebydbydaVeaVeaVeaVeaVeaVebyfbygbyhbyiaVNaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVebyjbykbylbymaPQbynbyobypbtNbyqbtNbyrbvhbysbytbspbyubyvbywbyxbyybyzbspbyAbyBbnMbyCbyCbyDbqJbyEbudbyFbyGbyHbvybyIbyJbwVbwVbwVbwVbuobwVbwVbwVbyOaVnaafaafaafaafaafbdzbdzbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbzabzbbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaeaaaaaabzdbzebzebzfbzgbzhbzibzjbzkbzlbzmbrqbznbzobzpbzqbzrbrqaafaafaafaafaafaaiaaiaaiaaiaafaafaafaafbrmbvSbuKbzsbxzbztbzubzvbzwbzxbzwbzybzzbzAbzBbzCbhebzDbhebzEbhebhebzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbzZbzZbzZbAabzZbAbaVeaVeaVeaVebAcaVeaVeaVebAdbAebAebAebAebAebAfbAgbAhbAibAibAibAibAibAibAibAjbAibAibAibAkbAlbAlbAlbAlbAlbAlbAlbAlbAmbAlbAnbAobApbAqbAraYvbAsbAtbAubAvbAwbtLbAxbtNbAybAzbtVbAAbupbACbADbAEbAFbtVbAGbAHbAIbAJbAJbAKbALbAMbvtbANbAObAPbAQbARbwVbwVbwzbvAbwXbwWbxabwYbwVbyOaVnaafaafaafaafaafaafbdzbdzbdzbAWbAXbdzbdzbdzbdzbdzbdzbAYbAZbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaebBabBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBbbBdbBebBfbBgbBhbBibBjbBkbBlbBmbBnbBobrqbrqbBpbrqbrqbBqbrqaafaafaafaafaafaafaafaaiaaiaafaafaafaafbrmbvSbuKbBrbBsbBtbBubBvbBwbBxbBybuKbBzbBAbBBbBCbBDbBEbBFbBGbBHbBIbBJbBKbwjbBLbBMbBNbBObBPbBQbxYbxZbyabybbbibbibBRbBSbBTaVebBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfbCgbzZbzZbzZbChaVeaVeaVeaVeaVNbCibCjbCkbClbClbClbClbClbClbClbCmbClbClbClbCnbCobCobCobCobCobCobCobFpbfYbhtaVebCqaUubbybCraQIbCsbCtbCubCvbCwbCxbCybCzbCAbCBbqBbqCbqDbCCbqCbCDbqDbqBbCEbqFbwIbwJbwKbCFbqJbCGbsxbCHbCIbsxbwVbwVbwVbCJbyKbxbbxbbCNbwZbyLbwVbyOaVnaafaafaafaafaafaafaafbdzbCObCPbCQbdzaafaafaafaafbdzbdzbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -234,6 +234,7 @@
|
||||
#include "code\datums\supplypacks\materials.dm"
|
||||
#include "code\datums\supplypacks\medical.dm"
|
||||
#include "code\datums\supplypacks\misc.dm"
|
||||
#include "code\datums\supplypacks\misc_vr.dm"
|
||||
#include "code\datums\supplypacks\munitions.dm"
|
||||
#include "code\datums\supplypacks\recreation.dm"
|
||||
#include "code\datums\supplypacks\robotics.dm"
|
||||
@@ -1392,9 +1393,11 @@
|
||||
#include "code\modules\error_handler\error_viewer.dm"
|
||||
#include "code\modules\error_handler\~defines.dm"
|
||||
#include "code\modules\events\apc_damage.dm"
|
||||
#include "code\modules\events\atmos_leak.dm"
|
||||
#include "code\modules\events\blob.dm"
|
||||
#include "code\modules\events\brand_intelligence.dm"
|
||||
#include "code\modules\events\camera_damage.dm"
|
||||
#include "code\modules\events\canister_leak.dm"
|
||||
#include "code\modules\events\carp_migration.dm"
|
||||
#include "code\modules\events\comms_blackout.dm"
|
||||
#include "code\modules\events\communications_blackout.dm"
|
||||
@@ -1454,6 +1457,7 @@
|
||||
#include "code\modules\gamemaster\game_master.dm"
|
||||
#include "code\modules\gamemaster\helpers.dm"
|
||||
#include "code\modules\gamemaster\actions\action.dm"
|
||||
#include "code\modules\gamemaster\actions\canister_leak.dm"
|
||||
#include "code\modules\gamemaster\actions\carp_migration.dm"
|
||||
#include "code\modules\gamemaster\actions\comms_blackout.dm"
|
||||
#include "code\modules\gamemaster\actions\dust.dm"
|
||||
|
||||
Reference in New Issue
Block a user