Merge pull request #9005 from MistakeNot4892/drakemap

Adds xenofauna lab
This commit is contained in:
Atermonera
2023-03-08 18:55:33 -08:00
committed by GitHub
19 changed files with 1199 additions and 273 deletions
+4
View File
@@ -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"
+6
View File
@@ -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
+7 -7
View File
@@ -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)
. = ..()
+25 -20
View File
@@ -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 ..()
+25 -2
View File
@@ -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
+6
View File
@@ -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
+30 -1
View File
@@ -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
View File
@@ -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
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
)
)
+45
View File
@@ -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)
)
)
+1 -1
View File
@@ -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),
)