mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-26 22:56:33 +01:00
Merge pull request #9005 from MistakeNot4892/drakemap
Adds xenofauna lab
This commit is contained in:
@@ -1993,6 +1993,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Xenoflora Lab"
|
||||
icon_state = "xeno_f_lab"
|
||||
|
||||
/area/rnd/xenobiology/xenofauna
|
||||
name = "\improper Xenofauna Lab"
|
||||
icon_state = "xeno_f_lab"
|
||||
|
||||
/area/rnd/storage
|
||||
name = "\improper Toxins Storage"
|
||||
icon_state = "toxstorage"
|
||||
|
||||
@@ -318,6 +318,12 @@ var/global/const/access_xenobiology = 55
|
||||
desc = "Xenobiology Lab"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
var/global/const/access_xenofauna = 67
|
||||
/datum/access/xenofauna
|
||||
id = access_xenofauna
|
||||
desc = "Xenofauna Lab"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
var/global/const/access_ce = 56
|
||||
/datum/access/ce
|
||||
id = access_ce
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
economic_modifier = 15
|
||||
access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
|
||||
access_research, access_robotics, access_xenobiology, access_xenofauna, access_ai_upload, access_tech_storage,
|
||||
access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network)
|
||||
minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
|
||||
access_research, access_robotics, access_xenobiology, access_xenofauna, access_ai_upload, access_tech_storage,
|
||||
access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network)
|
||||
|
||||
minimum_character_age = 25
|
||||
@@ -57,7 +57,7 @@
|
||||
supervisors = "the Research Director"
|
||||
selection_color = "#633D63"
|
||||
economic_modifier = 7
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch)
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenofauna, access_xenoarch)
|
||||
minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch)
|
||||
min_age_by_species = list(SPECIES_PROMETHEAN = 2)
|
||||
banned_job_species = list(SPECIES_VOX, "digital")
|
||||
@@ -102,8 +102,8 @@
|
||||
supervisors = "the Research Director"
|
||||
selection_color = "#633D63"
|
||||
economic_modifier = 7
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics)
|
||||
minimal_access = list(access_research, access_xenobiology, access_hydroponics, access_tox_storage)
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenofauna, access_hydroponics)
|
||||
minimal_access = list(access_research, access_xenobiology, access_xenofauna, access_hydroponics, access_tox_storage)
|
||||
banned_job_species = list(SPECIES_VOX, "digital")
|
||||
|
||||
minimal_player_age = 14
|
||||
@@ -125,8 +125,8 @@
|
||||
|
||||
/datum/alt_title/xenovet
|
||||
title = "Xenofauna Technician"
|
||||
title_blurb = "A Xenofauna Technician works with the alien fauna living in the territory around the station, often out in the field. They are also responsible \
|
||||
for training and tending to the station's small drake population."
|
||||
title_blurb = "A Xenofauna Technician works with the alien fauna living in the territory around the station, heading out in the field to tag and assess the \
|
||||
local animal populations. They are also responsible for training and tending to the station's small drake population."
|
||||
|
||||
//////////////////////////////////
|
||||
// Roboticist
|
||||
|
||||
@@ -10,7 +10,7 @@ var/global/list/default_internal_channels = list(
|
||||
num2text(MED_I_FREQ) = list(access_medical_equip),
|
||||
num2text(SEC_FREQ) = list(access_security),
|
||||
num2text(SEC_I_FREQ) = list(access_security),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology,access_xenofauna),
|
||||
num2text(SUP_FREQ) = list(access_cargo),
|
||||
num2text(SRV_FREQ) = list(access_janitor, access_hydroponics)
|
||||
)
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
assignment = "Synthetic"
|
||||
access = list(
|
||||
access_synth, access_mining, access_mining_station, access_mining_office, access_research,
|
||||
access_xenoarch, access_xenobiology, access_external_airlocks, access_robotics, access_tox,
|
||||
access_xenoarch, access_xenobiology, access_xenofauna, access_external_airlocks, access_robotics, access_tox,
|
||||
access_tox_storage, access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot
|
||||
)
|
||||
|
||||
|
||||
@@ -153,6 +153,21 @@
|
||||
/obj/item/autopsy_scanner
|
||||
)
|
||||
|
||||
/obj/item/storage/firstaid/surgery/simple
|
||||
starts_with = list(
|
||||
/obj/item/surgical/bonesetter,
|
||||
/obj/item/surgical/cautery,
|
||||
/obj/item/surgical/circular_saw,
|
||||
/obj/item/surgical/hemostat,
|
||||
/obj/item/surgical/retractor,
|
||||
/obj/item/surgical/scalpel,
|
||||
/obj/item/surgical/surgicaldrill,
|
||||
/obj/item/surgical/bonegel,
|
||||
/obj/item/surgical/FixOVein,
|
||||
/obj/item/stack/medical/advanced/bruise_pack,
|
||||
/obj/item/autopsy_scanner
|
||||
)
|
||||
|
||||
/obj/item/storage/firstaid/clotting
|
||||
name = "clotting kit"
|
||||
desc = "Contains chemicals to stop bleeding."
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
// Hit by a projectile.
|
||||
/mob/living/simple_mob/bullet_act(var/obj/item/projectile/P)
|
||||
//Projectiles with bonus SA damage
|
||||
if(!P.nodamage)
|
||||
// if(!P.SA_vulnerability || P.SA_vulnerability == intelligence_level)
|
||||
if(P.SA_vulnerability & mob_class)
|
||||
P.damage += P.SA_bonus_damage
|
||||
P.damage += P.apply_SA_vulnerability(src)
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
//Should we be dead?
|
||||
/mob/living/simple_mob/updatehealth()
|
||||
var/lasthealth = health
|
||||
health = getMaxHealth() - getFireLoss() - getBruteLoss() - getToxLoss() - getOxyLoss() - getCloneLoss()
|
||||
|
||||
//Alive, becoming dead
|
||||
@@ -33,26 +34,30 @@
|
||||
health = getMaxHealth()
|
||||
|
||||
//Update our hud if we have one
|
||||
if(healths)
|
||||
if(stat != DEAD)
|
||||
var/heal_per = (health / getMaxHealth()) * 100
|
||||
switch(heal_per)
|
||||
if(100 to INFINITY)
|
||||
healths.icon_state = "health0"
|
||||
if(80 to 100)
|
||||
healths.icon_state = "health1"
|
||||
if(60 to 80)
|
||||
healths.icon_state = "health2"
|
||||
if(40 to 60)
|
||||
healths.icon_state = "health3"
|
||||
if(20 to 40)
|
||||
healths.icon_state = "health4"
|
||||
if(0 to 20)
|
||||
healths.icon_state = "health5"
|
||||
else
|
||||
healths.icon_state = "health6"
|
||||
else
|
||||
healths.icon_state = "health7"
|
||||
if(lasthealth != health)
|
||||
if(lasthealth > health && sleeping) // Damage wakes us up.
|
||||
tranq_countdown = 0
|
||||
SetSleeping(0)
|
||||
if(healths)
|
||||
if(stat != DEAD)
|
||||
var/heal_per = (health / getMaxHealth()) * 100
|
||||
switch(heal_per)
|
||||
if(100 to INFINITY)
|
||||
healths.icon_state = "health0"
|
||||
if(80 to 100)
|
||||
healths.icon_state = "health1"
|
||||
if(60 to 80)
|
||||
healths.icon_state = "health2"
|
||||
if(40 to 60)
|
||||
healths.icon_state = "health3"
|
||||
if(20 to 40)
|
||||
healths.icon_state = "health4"
|
||||
if(0 to 20)
|
||||
healths.icon_state = "health5"
|
||||
else
|
||||
healths.icon_state = "health6"
|
||||
else
|
||||
healths.icon_state = "health7"
|
||||
|
||||
//Updates the nutrition while we're here
|
||||
var/food_per = (nutrition / max_nutrition) * 100
|
||||
|
||||
@@ -163,6 +163,11 @@
|
||||
// Used for if the mob can drop limbs. Overrides the icon cache key, so it doesn't keep remaking the icon needlessly.
|
||||
var/limb_icon_key
|
||||
|
||||
/// If above zero, decrement in Life(); on zero, put the mob to sleep for thirty seconds.
|
||||
var/tranq_countdown = 0
|
||||
/// A temporary storage value for the duration of any tranquilizer effect.
|
||||
var/tranq_duration
|
||||
|
||||
/mob/living/simple_mob/Initialize()
|
||||
verbs -= /mob/verb/observe
|
||||
health = maxHealth
|
||||
@@ -288,3 +293,17 @@
|
||||
|
||||
/decl/mob_organ_names
|
||||
var/list/hit_zones = list("body") //When in doubt, it's probably got a body.
|
||||
|
||||
/mob/living/simple_mob/handle_sleeping()
|
||||
if(sleeping || stat != CONSCIOUS)
|
||||
tranq_countdown = null
|
||||
tranq_duration = null
|
||||
else if(tranq_countdown > 0)
|
||||
tranq_countdown--
|
||||
if(tranq_countdown <= 0)
|
||||
if(client)
|
||||
to_chat(src, SPAN_DANGER("You fall asleep!"))
|
||||
SetSleeping(max(1, round(tranq_duration / SSmobs.wait)))
|
||||
else if(prob(5) && client)
|
||||
to_chat(src, SPAN_WARNING("You feel [pick("dizzy", "woozy", "sleepy")]..."))
|
||||
return ..()
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
// Phase weapons go here
|
||||
|
||||
/obj/item/gun/energy/phasegun
|
||||
name = "phase carbine"
|
||||
desc = "The RayZar EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife."
|
||||
@@ -12,6 +11,30 @@
|
||||
projectile_type = /obj/item/projectile/energy/phase
|
||||
one_handed_penalty = 15
|
||||
|
||||
/obj/item/gun/energy/phasegun/tranq_rifle
|
||||
name = "tranquilizer rifle"
|
||||
desc = "A niche RayZar product designed for nonlethal animal control. A specialized emitter disrupts the nervous system of the target, eventually inducing sleep. Only rated for use on wildlife."
|
||||
icon_state = "phaserifle"
|
||||
item_state = "phaserifle"
|
||||
wielded_item_state = "phaserifle-wielded"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
slot_flags = SLOT_BACK
|
||||
charge_cost = 140
|
||||
projectile_type = /obj/item/projectile/energy/phase/tranq
|
||||
accuracy = 15
|
||||
one_handed_penalty = 30
|
||||
|
||||
/obj/item/gun/energy/phasegun/tranq_pistol
|
||||
name = "tranquilizer pistol"
|
||||
desc = "A niche RayZar product designed for nonlethal animal control. A specialized emitter disrupts the nervous system of the target, eventually inducing sleep. Only rated for use on wildlife."
|
||||
icon_state = "phase"
|
||||
item_state = "taser"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
charge_cost = 200
|
||||
projectile_type = /obj/item/projectile/energy/phase/tranq/weak
|
||||
one_handed_penalty = 0
|
||||
|
||||
/obj/item/gun/energy/phasegun/mounted
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
@@ -65,4 +88,4 @@
|
||||
charge_cost = 100
|
||||
projectile_type = /obj/item/projectile/energy/phase/heavy/cannon
|
||||
accuracy = 15
|
||||
one_handed_penalty = 65
|
||||
one_handed_penalty = 65
|
||||
|
||||
@@ -820,3 +820,9 @@
|
||||
if(silenced)
|
||||
volume = 5
|
||||
playsound(A, hitsound_wall, volume, 1, -1)
|
||||
|
||||
|
||||
/obj/item/projectile/proc/apply_SA_vulnerability(var/mob/living/simple_mob/victim)
|
||||
if(!nodamage && SA_bonus_damage && istype(victim) && (SA_vulnerability & victim.mob_class))
|
||||
return SA_bonus_damage
|
||||
return 0
|
||||
|
||||
@@ -292,4 +292,33 @@
|
||||
range = 10
|
||||
damage = 15
|
||||
SA_bonus_damage = 60 // 75 total on animals
|
||||
hud_state = "laser_heat"
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/energy/phase/tranq
|
||||
name = "tranquilizer wave"
|
||||
range = 10
|
||||
damage = 0
|
||||
nodamage = TRUE
|
||||
SA_bonus_damage = 0
|
||||
hud_state = "laser_heat"
|
||||
var/tranq_duration = 30 SECONDS
|
||||
var/tranq_delay = 10 SECONDS
|
||||
var/tranq_delay_modifier = 0.7
|
||||
|
||||
/obj/item/projectile/energy/phase/tranq/weak
|
||||
range = 6
|
||||
tranq_duration = 20 SECONDS
|
||||
tranq_delay = 15 SECONDS
|
||||
tranq_delay_modifier = 0.9
|
||||
|
||||
// Being hit with a tranq shot either shaves a percentage off the remaining delay, or starts the timer.
|
||||
/obj/item/projectile/energy/phase/tranq/apply_SA_vulnerability(var/mob/living/simple_mob/victim)
|
||||
..()
|
||||
if(!istype(victim) || victim.stat != CONSCIOUS || !(SA_vulnerability & victim.mob_class))
|
||||
return
|
||||
if(victim.tranq_countdown <= 0)
|
||||
victim.tranq_countdown = tranq_duration / SSmobs.wait
|
||||
else
|
||||
victim.tranq_countdown *= tranq_delay_modifier
|
||||
victim.tranq_duration = (victim.tranq_duration > 0) ? min(tranq_duration, victim.tranq_duration) : tranq_duration
|
||||
victim.tranq_countdown = max(1, round(victim.tranq_countdown))
|
||||
|
||||
+192
-39
@@ -253,7 +253,7 @@
|
||||
/obj/effect/floor_decal/corner/paleblue/border,
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Morgue Access";
|
||||
req_one_access = list(5, 6, 12, 47)
|
||||
req_one_access = list(5,6,12,47)
|
||||
},
|
||||
/obj/machinery/door/firedoor/border_only,
|
||||
/turf/simulated/floor/tiled/steel_dirty,
|
||||
@@ -2480,7 +2480,7 @@
|
||||
dir = 4;
|
||||
frequency = 1430;
|
||||
name = "Mixing Chamber Monitor";
|
||||
sensors = list("toxins_mixing_exterior" = "Mixing Chamber - Exterior", "toxins_mixing_interior" = "Mixing Chamber - Interior")
|
||||
sensors = list("toxins_mixing_exterior"="Mixing Chamber - Exterior","toxins_mixing_interior"="Mixing Chamber - Interior")
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
@@ -2978,6 +2978,12 @@
|
||||
name = "Medbay Maintenance Access";
|
||||
req_access = list(5)
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/medical/hallway/bmt)
|
||||
"gA" = (
|
||||
@@ -5086,6 +5092,18 @@
|
||||
/obj/structure/window/reinforced/full,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/outpost/research/xenoarcheology/exp_prep)
|
||||
"kM" = (
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"kN" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals4{
|
||||
@@ -7401,6 +7419,24 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled/old_tile/white,
|
||||
/area/surface/station/rnd/mixing)
|
||||
"pB" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/maintenance{
|
||||
req_one_access = list(5,12,47)
|
||||
},
|
||||
/obj/machinery/door/firedoor/border_only,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"pC" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
@@ -7545,7 +7581,7 @@
|
||||
/obj/machinery/door/firedoor/border_only,
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Morgue Access";
|
||||
req_one_access = list(5, 6, 12, 47)
|
||||
req_one_access = list(5,6,12,47)
|
||||
},
|
||||
/turf/simulated/floor/tiled/steel_dirty,
|
||||
/area/surface/station/maintenance/eaststairwell)
|
||||
@@ -8081,6 +8117,27 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/surface/station/mining_main)
|
||||
"qR" = (
|
||||
/obj/structure/ladder/up,
|
||||
/obj/effect/floor_decal/industrial/hatch/yellow,
|
||||
/obj/structure/cable{
|
||||
d1 = 16;
|
||||
d2 = 0;
|
||||
icon_state = "16-0"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 16;
|
||||
d2 = 0;
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/zpipe/up/supply{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"qS" = (
|
||||
/obj/structure/closet/crate/medical,
|
||||
/obj/random/contraband,
|
||||
@@ -9698,6 +9755,20 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/substation/engineering/bmt)
|
||||
"ue" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"uf" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
@@ -11338,6 +11409,12 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"xI" = (
|
||||
@@ -12193,6 +12270,20 @@
|
||||
/obj/effect/map_helper/airlock/sensor/chamber_sensor,
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/surface/outpost/research/xenoarcheology/entrance)
|
||||
"zo" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 4;
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"zq" = (
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 8;
|
||||
@@ -12339,6 +12430,21 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/engineering/drone_fabrication)
|
||||
"zE" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/random/mob/mouse,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"zG" = (
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
dir = 4
|
||||
@@ -14922,7 +15028,7 @@
|
||||
/obj/effect/catwalk_plated/dark,
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Morgue Access";
|
||||
req_one_access = list(5, 6, 12, 47)
|
||||
req_one_access = list(5,6,12,47)
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/south)
|
||||
@@ -16883,9 +16989,10 @@
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/surface/outpost/research/xenoarcheology/analysis)
|
||||
"JD" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 5
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/surface/station/medical/hallway/bmt)
|
||||
"JE" = (
|
||||
@@ -17581,6 +17688,20 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/surface/station/hallway/primary/bmt/west)
|
||||
"KY" = (
|
||||
/obj/machinery/door/blast/regular/open{
|
||||
id = "medbayquar";
|
||||
layer = 3.3;
|
||||
name = "Medbay Lockdown"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/medical/hallway/bmt)
|
||||
"KZ" = (
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/construction/bmt/construction3)
|
||||
@@ -17885,6 +18006,10 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled/steel_grid,
|
||||
/area/surface/station/mining_main/storage)
|
||||
"LJ" = (
|
||||
/obj/structure/loot_pile/maint/junk,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"LL" = (
|
||||
/obj/structure/table/rack{
|
||||
layer = 2.6
|
||||
@@ -18051,6 +18176,21 @@
|
||||
/obj/effect/floor_decal/industrial/warning,
|
||||
/turf/simulated/floor/tiled/old_cargo/gray,
|
||||
/area/surface/station/engineering/auxiliary_engineering)
|
||||
"Ma" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/light/small/no_nightshift,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"Mb" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
@@ -18083,7 +18223,6 @@
|
||||
pixel_x = -24;
|
||||
pixel_y = 12
|
||||
},
|
||||
/obj/effect/catwalk_plated/dark,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"Me" = (
|
||||
@@ -19272,7 +19411,7 @@
|
||||
},
|
||||
/obj/machinery/door/window/eastleft{
|
||||
name = "Garbage Outlet";
|
||||
req_one_access = list(65, 26)
|
||||
req_one_access = list(65,26)
|
||||
},
|
||||
/turf/simulated/floor/tiled/steel/sif/planetuse{
|
||||
icon_state = "steel_dirty";
|
||||
@@ -20823,7 +20962,17 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/effect/catwalk_plated/dark,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 16;
|
||||
d2 = 0;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"Rr" = (
|
||||
@@ -20881,6 +21030,8 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/maintenance/medical/west)
|
||||
"Ry" = (
|
||||
@@ -23259,12 +23410,14 @@
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/surface/station/mining_main)
|
||||
"WG" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/catwalk_plated,
|
||||
/obj/effect/floor_decal/rust,
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/surface/station/medical/hallway/bmt)
|
||||
"WH" = (
|
||||
@@ -54282,10 +54435,10 @@ HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
jw
|
||||
jw
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
@@ -54539,10 +54692,10 @@ HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
qR
|
||||
LJ
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
@@ -54796,10 +54949,10 @@ Kj
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
zE
|
||||
zo
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
@@ -55053,10 +55206,10 @@ Kj
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
jw
|
||||
pB
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
@@ -55311,9 +55464,9 @@ HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
ue
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
@@ -55568,9 +55721,9 @@ HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
ue
|
||||
jw
|
||||
jw
|
||||
jw
|
||||
cE
|
||||
@@ -55825,8 +55978,8 @@ HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
Ma
|
||||
jw
|
||||
jw
|
||||
dU
|
||||
@@ -56082,8 +56235,8 @@ jw
|
||||
jw
|
||||
jw
|
||||
HE
|
||||
HE
|
||||
HE
|
||||
jw
|
||||
ue
|
||||
jw
|
||||
yS
|
||||
iu
|
||||
@@ -56340,7 +56493,7 @@ Io
|
||||
jw
|
||||
jw
|
||||
jw
|
||||
jw
|
||||
ue
|
||||
jw
|
||||
tb
|
||||
GN
|
||||
@@ -56856,7 +57009,7 @@ zz
|
||||
Pw
|
||||
Zf
|
||||
jw
|
||||
VU
|
||||
kM
|
||||
VU
|
||||
id
|
||||
QG
|
||||
@@ -57113,7 +57266,7 @@ Us
|
||||
id
|
||||
id
|
||||
id
|
||||
Cb
|
||||
KY
|
||||
Cb
|
||||
id
|
||||
QG
|
||||
|
||||
+815
-191
File diff suppressed because it is too large
Load Diff
@@ -56,12 +56,12 @@ var/global/const/access_explorer = 43
|
||||
/datum/job/rd
|
||||
access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
|
||||
access_research, access_robotics, access_xenobiology, access_xenofauna, access_ai_upload, access_tech_storage,
|
||||
access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch,
|
||||
access_network, access_maint_tunnels, access_explorer, access_eva, access_external_airlocks)
|
||||
minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
|
||||
access_research, access_robotics, access_xenobiology, access_xenofauna, access_ai_upload, access_tech_storage,
|
||||
access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch,
|
||||
access_network, access_maint_tunnels, access_explorer, access_eva, access_external_airlocks)
|
||||
|
||||
|
||||
@@ -95,8 +95,8 @@ var/global/const/NETWORK_SUPPLY = "Supply"
|
||||
num2text(MED_I_FREQ)=list(access_medical_equip),
|
||||
num2text(SEC_FREQ) = list(access_security),
|
||||
num2text(SEC_I_FREQ)=list(access_security),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology,access_xenofauna),
|
||||
num2text(SUP_FREQ) = list(access_cargo),
|
||||
num2text(SRV_FREQ) = list(access_janitor, access_hydroponics),
|
||||
num2text(EXP_FREQ) = list(access_explorer)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -33,6 +33,17 @@
|
||||
/obj/item/cell/device/weapon = 2,
|
||||
/obj/item/clothing/accessory/permit/gun/planetside)
|
||||
|
||||
/obj/structure/closet/secure_closet/guncabinet/tranq
|
||||
name = "tranquilizer rifle cabinet"
|
||||
req_one_access = list(access_xenofauna,access_medical)
|
||||
starts_with = list(
|
||||
/obj/item/gun/energy/phasegun/tranq_rifle = 2,
|
||||
/obj/item/gun/energy/phasegun/tranq_pistol,
|
||||
/obj/item/gun/energy/phasegun/pistol,
|
||||
/obj/item/cell/device/weapon = 2,
|
||||
/obj/item/clothing/accessory/permit/gun/planetside
|
||||
)
|
||||
|
||||
//Explorer Lockers
|
||||
|
||||
/obj/structure/closet/secure_closet/explorer
|
||||
@@ -69,6 +80,40 @@
|
||||
starts_with += /obj/item/material/knife/machete
|
||||
return ..()
|
||||
|
||||
//Xenofauna tech lockers
|
||||
/obj/structure/closet/secure_closet/xenofauna
|
||||
name = "xenofauna technician locker"
|
||||
req_access = list(access_xenofauna)
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/clothing/suit/armor/pcarrier/explorer/light,
|
||||
/obj/item/clothing/head/helmet/explorer,
|
||||
/obj/item/clothing/suit/storage/hooded/explorer,
|
||||
/obj/item/clothing/mask/gas/explorer,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/radio/headset/explorer,
|
||||
/obj/item/flashlight,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/storage/box/flare,
|
||||
/obj/item/geiger,
|
||||
/obj/item/cell/device,
|
||||
/obj/item/radio,
|
||||
/obj/item/stack/marker_beacon/thirty,
|
||||
/obj/item/cataloguer
|
||||
)
|
||||
|
||||
/obj/structure/closet/secure_closet/xenofauna/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/storage/backpack/rucksack
|
||||
else
|
||||
starts_with += /obj/item/storage/backpack/satchel/norm
|
||||
if(prob(75))
|
||||
starts_with += /obj/item/material/knife/tacknife/survival
|
||||
else
|
||||
starts_with += /obj/item/material/knife/machete
|
||||
return ..()
|
||||
|
||||
//SAR Lockers
|
||||
|
||||
/obj/structure/closet/secure_closet/sar
|
||||
|
||||
@@ -109,8 +109,8 @@ var/global/const/NETWORK_MAIN_OUTPOST = "Main Outpost"
|
||||
num2text(MED_I_FREQ)=list(access_medical_equip),
|
||||
num2text(SEC_FREQ) = list(access_security),
|
||||
num2text(SEC_I_FREQ)=list(access_security),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology,access_xenofauna),
|
||||
num2text(SUP_FREQ) = list(access_cargo),
|
||||
num2text(SRV_FREQ) = list(access_janitor, access_hydroponics),
|
||||
num2text(EXP_FREQ) = list(access_explorer)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -313,7 +313,7 @@ var/global/list/all_maps = list()
|
||||
num2text(MED_I_FREQ) = list(access_medical_equip),
|
||||
num2text(SEC_FREQ) = list(access_security),
|
||||
num2text(SEC_I_FREQ) = list(access_security),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology),
|
||||
num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology,access_xenofauna),
|
||||
num2text(SUP_FREQ) = list(access_cargo),
|
||||
num2text(SRV_FREQ) = list(access_janitor, access_hydroponics),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user