Merge branch 'master' into assu
# Conflicts Resolved: # icons/mob/head.dmi # icons/mob/suit.dmi # icons/obj/clothing/hats.dmi # icons/obj/clothing/suits.dmi
This commit is contained in:
@@ -318,6 +318,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
RemoveActive()
|
||||
state = AHELP_CLOSED
|
||||
GLOB.ahelp_tickets.ListInsert(src)
|
||||
to_chat(initiator, "<span class='adminhelp'>Ticket closed by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"].</span>")
|
||||
AddInteraction("<font color='red'>Closed by [key_name].</font>")
|
||||
if(!silent)
|
||||
SSblackbox.record_feedback("tally", "ahelp_stats", 1, "closed")
|
||||
@@ -336,7 +337,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 50)
|
||||
|
||||
AddInteraction("<font color='green'>Resolved by [key_name].</font>")
|
||||
to_chat(initiator, "<span class='adminhelp'>Your ticket has been resolved by an admin. The Adminhelp verb will be returned to you shortly.</span>")
|
||||
to_chat(initiator, "<span class='adminhelp'>Your ticket has been resolved by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"]. The Adminhelp verb will be returned to you shortly.</span>")
|
||||
if(!silent)
|
||||
SSblackbox.record_feedback("tally", "ahelp_stats", 1, "resolved")
|
||||
var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name]"
|
||||
@@ -353,7 +354,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
|
||||
SEND_SOUND(initiator, sound('sound/effects/adminhelp.ogg'))
|
||||
|
||||
to_chat(initiator, "<font color='red' size='4'><b>- AdminHelp Rejected! -</b></font>")
|
||||
to_chat(initiator, "<font color='red' size='4'><b>- AdminHelp Rejected by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"]! -</b></font>")
|
||||
to_chat(initiator, "<font color='red'><b>Your admin help was rejected.</b> The adminhelp verb has been returned to you so that you may try again.</font>")
|
||||
to_chat(initiator, "Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.")
|
||||
|
||||
@@ -369,7 +370,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
if(state != AHELP_ACTIVE)
|
||||
return
|
||||
|
||||
var/msg = "<font color='red' size='4'><b>- AdminHelp marked as IC issue! -</b></font><br>"
|
||||
var/msg = "<font color='red' size='4'><b>- AdminHelp marked as IC issue by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"]! -</b></font><br>"
|
||||
msg += "<font color='red'><b>Losing is part of the game!</b></font><br>"
|
||||
msg += "<font color='red'>It is also possible that your ahelp is unable to be answered properly, due to events occurring in the round.</font>"
|
||||
if(initiator)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
if(prob(10))
|
||||
to_chat(target, "You feel as if you are being watched.")
|
||||
return
|
||||
face_atom(target)
|
||||
draining = TRUE
|
||||
essence_drained += rand(15, 20)
|
||||
to_chat(src, "<span class='revennotice'>You search for the soul of [target].</span>")
|
||||
|
||||
@@ -587,3 +587,57 @@
|
||||
shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
glasses = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
|
||||
/obj/effect/mob_spawn/human/lavaknight
|
||||
name = "odd cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a displaced knight from another dimension"
|
||||
icon = 'icons/obj/machines/sleeper.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
id_job = "Knight"
|
||||
job_description = "Cydonian Knight"
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
outfit = /datum/outfit/lavaknight
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<font size=3><b>Y</b></font><b>ou are a knight who conveniently has some form of retrograde amnesia. \
|
||||
You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \
|
||||
Remember: hostile creatures and such are fair game for attacking, but <span class='danger'>under no circumstances are you to attack anything capable of thought and/or speech</span> unless it has made it its life's calling to chase you to the ends of the earth."
|
||||
assignedrole = "Cydonian Knight"
|
||||
|
||||
/obj/effect/mob_spawn/human/lavaknight/special(mob/living/new_spawn)
|
||||
if(ishuman(new_spawn))
|
||||
var/mob/living/carbon/human/H = new_spawn
|
||||
H.dna.features["mam_ears"] = "Cat, Big" //cat people
|
||||
H.dna.features["mcolor"] = H.hair_color
|
||||
H.update_body()
|
||||
|
||||
/obj/effect/mob_spawn/human/lavaknight/Destroy()
|
||||
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/datum/outfit/lavaknight
|
||||
name = "Cydonian Knight"
|
||||
uniform = /obj/item/clothing/under/assistantformal
|
||||
mask = /obj/item/clothing/mask/breath
|
||||
shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
r_pocket = /obj/item/melee/transforming/energy/sword/cx
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/lavaknight
|
||||
suit_store = /obj/item/tank/internals/oxygen
|
||||
id = /obj/item/card/id/knight/blue
|
||||
|
||||
/obj/effect/mob_spawn/human/lavaknight/captain
|
||||
name = "odd gilded cryogenics pod"
|
||||
desc = "A humming cryo pod that appears to be gilded. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
flavour_text = "<font size=3><b>Y</b></font><b>ou are a knight who conveniently has some form of retrograde amnesia. \
|
||||
You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \
|
||||
Remember: hostile creatures and such are fair game for attacking, but <span class='danger'>under no circumstances are you to attack anything capable of thought and/or speech</span> unless it has made it its life's calling to chase you to the ends of the earth. \
|
||||
You feel a natural instict to lead, and as such, you should strive to lead your comrades to safety, and hopefully home. You also feel a burning determination to uphold your vow, as well as your fellow comrade's."
|
||||
outfit = /datum/outfit/lavaknight/captain
|
||||
id_job = "Knight Captain"
|
||||
|
||||
/datum/outfit/lavaknight/captain
|
||||
name ="Cydonian Knight Captain"
|
||||
l_pocket = /obj/item/twohanded/dualsaber/hypereutactic
|
||||
id = /obj/item/card/id/knight/captain
|
||||
|
||||
@@ -867,3 +867,133 @@
|
||||
strip_delay = 130
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
actions_types = list()
|
||||
|
||||
/*
|
||||
CYDONIAN ARMOR THAT IS RGB AND STUFF WOOOOOOOOOO
|
||||
*/
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight
|
||||
name = "cydonian helmet"
|
||||
desc = "A helmet designed with both form and function in mind, it protects the user against physical trauma and hazardous conditions while also having polychromic light strips."
|
||||
icon_state = "knight_cydonia"
|
||||
item_state = "knight_yellow"
|
||||
item_color = null
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
heat_protection = HEAD
|
||||
armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100)
|
||||
brightness_on = 7
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator)
|
||||
var/energy_color = "#35FFF0"
|
||||
var/obj/item/clothing/suit/space/hardsuit/lavaknight/linkedsuit = null
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/Initialize()
|
||||
. = ..()
|
||||
if(istype(loc, /obj/item/clothing/suit/space/hardsuit/lavaknight))
|
||||
var/obj/item/clothing/suit/space/hardsuit/lavaknight/S = loc
|
||||
energy_color = S.energy_color
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/attack_self(mob/user)
|
||||
on = !on
|
||||
|
||||
if(on)
|
||||
set_light(brightness_on)
|
||||
else
|
||||
set_light(0)
|
||||
for(var/X in actions)
|
||||
var/datum/action/A = X
|
||||
A.UpdateButtonIcon()
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/update_icon()
|
||||
var/mutable_appearance/helm_overlay = mutable_appearance(icon, "knight_cydonia_overlay")
|
||||
|
||||
if(energy_color)
|
||||
helm_overlay.color = energy_color
|
||||
|
||||
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
|
||||
|
||||
add_overlay(helm_overlay)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file)
|
||||
. = ..()
|
||||
if(!isinhands)
|
||||
var/mutable_appearance/energy_overlay = mutable_appearance(icon_file, "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER)
|
||||
energy_overlay.plane = ABOVE_LIGHTING_LAYER
|
||||
energy_overlay.color = energy_color
|
||||
. += energy_overlay
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight
|
||||
icon_state = "knight_cydonia"
|
||||
name = "cydonian armor"
|
||||
desc = "A suit designed with both form and function in mind, it protects the user against physical trauma and hazardous conditions while also having polychromic light strips."
|
||||
item_state = "swat_suit"
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe)
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lavaknight
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
tauric = TRUE //Citadel Add for tauric hardsuits
|
||||
|
||||
var/energy_color = "#35FFF0"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight/Initialize()
|
||||
..()
|
||||
light_color = energy_color
|
||||
set_light(1)
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight/update_icon()
|
||||
var/mutable_appearance/suit_overlay = mutable_appearance(icon, "knight_cydonia_overlay")
|
||||
|
||||
if(energy_color)
|
||||
suit_overlay.color = energy_color
|
||||
|
||||
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
|
||||
|
||||
add_overlay(suit_overlay)
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file)
|
||||
. = ..()
|
||||
if(!isinhands)
|
||||
var/mutable_appearance/energy_overlay
|
||||
if(taurmode == SNEK_TAURIC)
|
||||
energy_overlay = mutable_appearance('modular_citadel/icons/mob/taur_naga.dmi', "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER)
|
||||
else if(taurmode == PAW_TAURIC)
|
||||
energy_overlay = mutable_appearance('modular_citadel/icons/mob/taur_canine.dmi', "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER)
|
||||
else
|
||||
energy_overlay = mutable_appearance(icon_file, "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER)
|
||||
|
||||
energy_overlay.plane = ABOVE_LIGHTING_LAYER
|
||||
energy_overlay.color = energy_color
|
||||
. += energy_overlay
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight/AltClick(mob/living/user)
|
||||
if(user.incapacitated() || !istype(user))
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
return
|
||||
if(!in_range(src, user))
|
||||
return
|
||||
if(user.incapacitated() || !istype(user) || !in_range(src, user))
|
||||
return
|
||||
|
||||
if(alert("Are you sure you want to recolor your armor stripes?", "Confirm Repaint", "Yes", "No") == "Yes")
|
||||
var/energy_color_input = input(usr,"","Choose Energy Color",energy_color) as color|null
|
||||
if(energy_color_input)
|
||||
energy_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1)
|
||||
user.update_inv_wear_suit()
|
||||
if(helmet)
|
||||
var/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/H = helmet
|
||||
H.energy_color = energy_color
|
||||
user.update_inv_head()
|
||||
H.update_icon()
|
||||
update_icon()
|
||||
user.update_inv_wear_suit()
|
||||
light_color = energy_color
|
||||
update_light()
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/lavaknight/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>Alt-click to recolor it.</span>")
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
weight = 10
|
||||
max_occurrences = 1
|
||||
|
||||
earliest_start = 60 MINUTES
|
||||
min_players = 40
|
||||
|
||||
gamemode_blacklist = list("blob") //Just in case a blob survives that long
|
||||
|
||||
@@ -36,10 +36,11 @@
|
||||
projectilesound = 'sound/weapons/emitter.ogg'
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
var/allowed_projectile_types = list(/obj/item/projectile/magic/change, /obj/item/projectile/magic/animate, /obj/item/projectile/magic/resurrection,
|
||||
/obj/item/projectile/magic/death, /obj/item/projectile/magic/teleport, /obj/item/projectile/magic/door, /obj/item/projectile/magic/aoe/fireball,
|
||||
/obj/item/projectile/magic/spellblade, /obj/item/projectile/magic/arcane_barrage)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/ranged/Initialize()
|
||||
projectiletype = pick(allowed_projectile_types)
|
||||
. = ..()
|
||||
|
||||
@@ -61,6 +61,9 @@
|
||||
|
||||
var/display_order = JOB_DISPLAY_ORDER_DEFAULT
|
||||
|
||||
//If a job complies with dresscodes, loadout items will not be equipped instead of the job's outfit, instead placing the items into the player's backpack.
|
||||
var/dresscodecompliant = TRUE
|
||||
|
||||
//Only override this proc
|
||||
//H is usually a human unless an /equip override transformed it
|
||||
/datum/job/proc/after_spawn(mob/living/H, mob/M, latejoin = FALSE)
|
||||
|
||||
@@ -15,6 +15,7 @@ Assistant
|
||||
outfit = /datum/outfit/job/assistant
|
||||
antag_rep = 7
|
||||
display_order = JOB_DISPLAY_ORDER_ASSISTANT
|
||||
dresscodecompliant = FALSE
|
||||
|
||||
/datum/job/assistant/get_access()
|
||||
if(CONFIG_GET(flag/assistants_have_maint_access) || !CONFIG_GET(flag/jobs_have_minimal_access)) //Config has assistant maint access set
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
|
||||
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS, ACCESS_CONSTRUCTION, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ENGINE,
|
||||
ACCESS_ENGINE_EQUIP, ACCESS_EMERGENCY_STORAGE, ACCESS_CONSTRUCTION, ACCESS_MINERAL_STOREROOM)
|
||||
display_order = JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN
|
||||
|
||||
/datum/outfit/job/atmos
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
supervisors = "Nanotrasen officials and Space law"
|
||||
selection_color = "#aac1ee"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 14
|
||||
minimal_player_age = 20
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type = EXP_TYPE_COMMAND
|
||||
exp_type_department = EXP_TYPE_COMMAND
|
||||
|
||||
outfit = /datum/outfit/job/captain
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
|
||||
outfit = /datum/outfit/job/cargo_tech
|
||||
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_CARGO_TECHNICIAN
|
||||
|
||||
@@ -32,5 +32,7 @@
|
||||
satchel = /obj/item/storage/backpack/satchel/chem
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/med
|
||||
|
||||
backpack_contents = list(/obj/item/storage/hypospraykit/regular)
|
||||
|
||||
chameleon_extras = /obj/item/gun/syringe
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#ee7400"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 7
|
||||
minimal_player_age = 10
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type_department = EXP_TYPE_ENGINEERING
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#509ed1"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 7
|
||||
minimal_player_age = 10
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type_department = EXP_TYPE_MEDICAL
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#3a8529"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 10
|
||||
minimal_player_age = 20
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type_department = EXP_TYPE_SERVICE
|
||||
@@ -21,13 +21,13 @@
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,
|
||||
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS,
|
||||
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_LAWYER,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,
|
||||
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS,
|
||||
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_LAWYER,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#b90000"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 14
|
||||
minimal_player_age = 10
|
||||
exp_requirements = 300
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type_department = EXP_TYPE_SECURITY
|
||||
|
||||
@@ -32,4 +32,6 @@
|
||||
satchel = /obj/item/storage/backpack/satchel/med
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/med
|
||||
|
||||
backpack_contents = list(/obj/item/storage/hypospraykit/regular)
|
||||
|
||||
chameleon_extras = /obj/item/gun/syringe
|
||||
|
||||
@@ -11,17 +11,19 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#a06121"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 7
|
||||
minimal_player_age = 10
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
exp_type_department = EXP_TYPE_SUPPLY
|
||||
|
||||
outfit = /datum/outfit/job/quartermaster
|
||||
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION,
|
||||
ACCESS_MINERAL_STOREROOM, ACCESS_VAULT)
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_VAULT)
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_SEC_DOORS, ACCESS_HEADS)
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_SEC_DOORS, ACCESS_HEADS)
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_QUARTERMASTER
|
||||
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/insanity)
|
||||
@@ -31,11 +33,13 @@
|
||||
jobtype = /datum/job/qm
|
||||
|
||||
belt = /obj/item/pda/quartermaster
|
||||
ears = /obj/item/radio/headset/headset_cargo
|
||||
ears = /obj/item/radio/headset/heads/qm
|
||||
uniform = /obj/item/clothing/under/rank/cargo
|
||||
shoes = /obj/item/clothing/shoes/sneakers/brown
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
l_hand = /obj/item/clipboard
|
||||
id = /obj/item/card/id/silver
|
||||
backpack_contents = list(/obj/item/melee/classic_baton/telescopic = 1, /obj/item/modular_computer/tablet/preset/advanced = 1)
|
||||
|
||||
chameleon_extras = /obj/item/stamp/qm
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
supervisors = "the captain"
|
||||
selection_color = "#7544cc"
|
||||
req_admin_notify = 1
|
||||
minimal_player_age = 7
|
||||
minimal_player_age = 10
|
||||
exp_type_department = EXP_TYPE_SCIENCE
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
|
||||
outfit = /datum/outfit/job/miner
|
||||
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MAILSORTING, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_SHAFT_MINER
|
||||
@@ -47,7 +48,7 @@
|
||||
name = "Shaft Miner (Asteroid)"
|
||||
uniform = /obj/item/clothing/under/rank/miner
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
|
||||
|
||||
/datum/outfit/job/miner/equipped
|
||||
name = "Shaft Miner (Lavaland + Equipment)"
|
||||
suit = /obj/item/clothing/suit/hooded/explorer/standard
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
r_pocket = /obj/item/assembly/flash/handheld
|
||||
l_pocket = /obj/item/restraints/handcuffs
|
||||
suit_store = /obj/item/gun/energy/e_gun/advtaser
|
||||
suit_store = /obj/item/gun/energy/pumpaction/defender
|
||||
backpack_contents = list(/obj/item/melee/baton/loaded=1)
|
||||
|
||||
backpack = /obj/item/storage/backpack/security
|
||||
|
||||
@@ -468,3 +468,6 @@
|
||||
bodyparts += BP
|
||||
hand_bodyparts[i] = BP
|
||||
..() //Don't redraw hands until we have organs for them
|
||||
|
||||
/mob/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return ..() && (user == src)
|
||||
|
||||
@@ -975,4 +975,635 @@ GLOBAL_LIST_INIT(vox_sounds, list("abduction" = 'sound/vox_fem/abduction.ogg',
|
||||
"zombie" = 'sound/vox_fem/zombie.ogg',
|
||||
"zone" = 'sound/vox_fem/zone.ogg',
|
||||
"zulu" = 'sound/vox_fem/zulu.ogg'))
|
||||
|
||||
//for vim
|
||||
// :%s/\(\(.*\)\.ogg\)/"\2" = 'sound\/vox\/\1',/g
|
||||
GLOBAL_LIST_INIT(vox_sounds_male, list("," = 'sound/vox/_comma.ogg',
|
||||
"." = 'sound/vox/_period.ogg',
|
||||
"a" = 'sound/vox/a.ogg',
|
||||
"accelerating" = 'sound/vox/accelerating.ogg',
|
||||
"accelerator" = 'sound/vox/accelerator.ogg',
|
||||
"accepted" = 'sound/vox/accepted.ogg',
|
||||
"access" = 'sound/vox/access.ogg',
|
||||
"acknowledge" = 'sound/vox/acknowledge.ogg',
|
||||
"acknowledged" = 'sound/vox/acknowledged.ogg',
|
||||
"acquired" = 'sound/vox/acquired.ogg',
|
||||
"acquisition" = 'sound/vox/acquisition.ogg',
|
||||
"across" = 'sound/vox/across.ogg',
|
||||
"activate" = 'sound/vox/activate.ogg',
|
||||
"activated" = 'sound/vox/activated.ogg',
|
||||
"activity" = 'sound/vox/activity.ogg',
|
||||
"adios" = 'sound/vox/adios.ogg',
|
||||
"administration" = 'sound/vox/administration.ogg',
|
||||
"advanced" = 'sound/vox/advanced.ogg',
|
||||
"after" = 'sound/vox/after.ogg',
|
||||
"agent" = 'sound/vox/agent.ogg',
|
||||
"alarm" = 'sound/vox/alarm.ogg',
|
||||
"alert" = 'sound/vox/alert.ogg',
|
||||
"alien" = 'sound/vox/alien.ogg',
|
||||
"aligned" = 'sound/vox/aligned.ogg',
|
||||
"all" = 'sound/vox/all.ogg',
|
||||
"alpha" = 'sound/vox/alpha.ogg',
|
||||
"am" = 'sound/vox/am.ogg',
|
||||
"amigo" = 'sound/vox/amigo.ogg',
|
||||
"ammunition" = 'sound/vox/ammunition.ogg',
|
||||
"an" = 'sound/vox/an.ogg',
|
||||
"and" = 'sound/vox/and.ogg',
|
||||
"announcement" = 'sound/vox/announcement.ogg',
|
||||
"anomalous" = 'sound/vox/anomalous.ogg',
|
||||
"antenna" = 'sound/vox/antenna.ogg',
|
||||
"any" = 'sound/vox/any.ogg',
|
||||
"apprehend" = 'sound/vox/apprehend.ogg',
|
||||
"approach" = 'sound/vox/approach.ogg',
|
||||
"are" = 'sound/vox/are.ogg',
|
||||
"area" = 'sound/vox/area.ogg',
|
||||
"arm" = 'sound/vox/arm.ogg',
|
||||
"armed" = 'sound/vox/armed.ogg',
|
||||
"armor" = 'sound/vox/armor.ogg',
|
||||
"armory" = 'sound/vox/armory.ogg',
|
||||
"arrest" = 'sound/vox/arrest.ogg',
|
||||
"ass" = 'sound/vox/ass.ogg',
|
||||
"at" = 'sound/vox/at.ogg',
|
||||
"atomic" = 'sound/vox/atomic.ogg',
|
||||
"attention" = 'sound/vox/attention.ogg',
|
||||
"authorize" = 'sound/vox/authorize.ogg',
|
||||
"authorized" = 'sound/vox/authorized.ogg',
|
||||
"automatic" = 'sound/vox/automatic.ogg',
|
||||
"away" = 'sound/vox/away.ogg',
|
||||
"b" = 'sound/vox/b.ogg',
|
||||
"back" = 'sound/vox/back.ogg',
|
||||
"backman" = 'sound/vox/backman.ogg',
|
||||
"bad" = 'sound/vox/bad.ogg',
|
||||
"bag" = 'sound/vox/bag.ogg',
|
||||
"bailey" = 'sound/vox/bailey.ogg',
|
||||
"barracks" = 'sound/vox/barracks.ogg',
|
||||
"base" = 'sound/vox/base.ogg',
|
||||
"bay" = 'sound/vox/bay.ogg',
|
||||
"be" = 'sound/vox/be.ogg',
|
||||
"been" = 'sound/vox/been.ogg',
|
||||
"before" = 'sound/vox/before.ogg',
|
||||
"beyond" = 'sound/vox/beyond.ogg',
|
||||
"biohazard" = 'sound/vox/biohazard.ogg',
|
||||
"biological" = 'sound/vox/biological.ogg',
|
||||
"birdwell" = 'sound/vox/birdwell.ogg',
|
||||
"bizwarn" = 'sound/vox/bizwarn.ogg',
|
||||
"black" = 'sound/vox/black.ogg',
|
||||
"blast" = 'sound/vox/blast.ogg',
|
||||
"blocked" = 'sound/vox/blocked.ogg',
|
||||
"bloop" = 'sound/vox/bloop.ogg',
|
||||
"blue" = 'sound/vox/blue.ogg',
|
||||
"bottom" = 'sound/vox/bottom.ogg',
|
||||
"bravo" = 'sound/vox/bravo.ogg',
|
||||
"breach" = 'sound/vox/breach.ogg',
|
||||
"breached" = 'sound/vox/breached.ogg',
|
||||
"break" = 'sound/vox/break.ogg',
|
||||
"bridge" = 'sound/vox/bridge.ogg',
|
||||
"bust" = 'sound/vox/bust.ogg',
|
||||
"but" = 'sound/vox/but.ogg',
|
||||
"button" = 'sound/vox/button.ogg',
|
||||
"buzwarn" = 'sound/vox/buzwarn.ogg',
|
||||
"bypass" = 'sound/vox/bypass.ogg',
|
||||
"c" = 'sound/vox/c.ogg',
|
||||
"cable" = 'sound/vox/cable.ogg',
|
||||
"call" = 'sound/vox/call.ogg',
|
||||
"called" = 'sound/vox/called.ogg',
|
||||
"canal" = 'sound/vox/canal.ogg',
|
||||
"cap" = 'sound/vox/cap.ogg',
|
||||
"captain" = 'sound/vox/captain.ogg',
|
||||
"capture" = 'sound/vox/capture.ogg',
|
||||
"captured" = 'sound/vox/captured.ogg',
|
||||
"ceiling" = 'sound/vox/ceiling.ogg',
|
||||
"celsius" = 'sound/vox/celsius.ogg',
|
||||
"center" = 'sound/vox/center.ogg',
|
||||
"centi" = 'sound/vox/centi.ogg',
|
||||
"central" = 'sound/vox/central.ogg',
|
||||
"chamber" = 'sound/vox/chamber.ogg',
|
||||
"charlie" = 'sound/vox/charlie.ogg',
|
||||
"check" = 'sound/vox/check.ogg',
|
||||
"checkpoint" = 'sound/vox/checkpoint.ogg',
|
||||
"chemical" = 'sound/vox/chemical.ogg',
|
||||
"cleanup" = 'sound/vox/cleanup.ogg',
|
||||
"clear" = 'sound/vox/clear.ogg',
|
||||
"clearance" = 'sound/vox/clearance.ogg',
|
||||
"close" = 'sound/vox/close.ogg',
|
||||
"clown" = 'sound/vox/clown.ogg',
|
||||
"code" = 'sound/vox/code.ogg',
|
||||
"coded" = 'sound/vox/coded.ogg',
|
||||
"collider" = 'sound/vox/collider.ogg',
|
||||
"command" = 'sound/vox/command.ogg',
|
||||
"communication" = 'sound/vox/communication.ogg',
|
||||
"complex" = 'sound/vox/complex.ogg',
|
||||
"computer" = 'sound/vox/computer.ogg',
|
||||
"condition" = 'sound/vox/condition.ogg',
|
||||
"containment" = 'sound/vox/containment.ogg',
|
||||
"contamination" = 'sound/vox/contamination.ogg',
|
||||
"control" = 'sound/vox/control.ogg',
|
||||
"coolant" = 'sound/vox/coolant.ogg',
|
||||
"coomer" = 'sound/vox/coomer.ogg',
|
||||
"core" = 'sound/vox/core.ogg',
|
||||
"correct" = 'sound/vox/correct.ogg',
|
||||
"corridor" = 'sound/vox/corridor.ogg',
|
||||
"crew" = 'sound/vox/crew.ogg',
|
||||
"cross" = 'sound/vox/cross.ogg',
|
||||
"cryogenic" = 'sound/vox/cryogenic.ogg',
|
||||
"d" = 'sound/vox/d.ogg',
|
||||
"dadeda" = 'sound/vox/dadeda.ogg',
|
||||
"damage" = 'sound/vox/damage.ogg',
|
||||
"damaged" = 'sound/vox/damaged.ogg',
|
||||
"danger" = 'sound/vox/danger.ogg',
|
||||
"day" = 'sound/vox/day.ogg',
|
||||
"deactivated" = 'sound/vox/deactivated.ogg',
|
||||
"decompression" = 'sound/vox/decompression.ogg',
|
||||
"decontamination" = 'sound/vox/decontamination.ogg',
|
||||
"deeoo" = 'sound/vox/deeoo.ogg',
|
||||
"defense" = 'sound/vox/defense.ogg',
|
||||
"degrees" = 'sound/vox/degrees.ogg',
|
||||
"delta" = 'sound/vox/delta.ogg',
|
||||
"denied" = 'sound/vox/denied.ogg',
|
||||
"deploy" = 'sound/vox/deploy.ogg',
|
||||
"deployed" = 'sound/vox/deployed.ogg',
|
||||
"destroy" = 'sound/vox/destroy.ogg',
|
||||
"destroyed" = 'sound/vox/destroyed.ogg',
|
||||
"detain" = 'sound/vox/detain.ogg',
|
||||
"detected" = 'sound/vox/detected.ogg',
|
||||
"detonation" = 'sound/vox/detonation.ogg',
|
||||
"device" = 'sound/vox/device.ogg',
|
||||
"did" = 'sound/vox/did.ogg',
|
||||
"die" = 'sound/vox/die.ogg',
|
||||
"dimensional" = 'sound/vox/dimensional.ogg',
|
||||
"dirt" = 'sound/vox/dirt.ogg',
|
||||
"disengaged" = 'sound/vox/disengaged.ogg',
|
||||
"dish" = 'sound/vox/dish.ogg',
|
||||
"disposal" = 'sound/vox/disposal.ogg',
|
||||
"distance" = 'sound/vox/distance.ogg',
|
||||
"distortion" = 'sound/vox/distortion.ogg',
|
||||
"do" = 'sound/vox/do.ogg',
|
||||
"doctor" = 'sound/vox/doctor.ogg',
|
||||
"doop" = 'sound/vox/doop.ogg',
|
||||
"door" = 'sound/vox/door.ogg',
|
||||
"down" = 'sound/vox/down.ogg',
|
||||
"dual" = 'sound/vox/dual.ogg',
|
||||
"duct" = 'sound/vox/duct.ogg',
|
||||
"e" = 'sound/vox/e.ogg',
|
||||
"east" = 'sound/vox/east.ogg',
|
||||
"echo" = 'sound/vox/echo.ogg',
|
||||
"ed" = 'sound/vox/ed.ogg',
|
||||
"effect" = 'sound/vox/effect.ogg',
|
||||
"egress" = 'sound/vox/egress.ogg',
|
||||
"eight" = 'sound/vox/eight.ogg',
|
||||
"eighteen" = 'sound/vox/eighteen.ogg',
|
||||
"eighty" = 'sound/vox/eighty.ogg',
|
||||
"electric" = 'sound/vox/electric.ogg',
|
||||
"electromagnetic" = 'sound/vox/electromagnetic.ogg',
|
||||
"elevator" = 'sound/vox/elevator.ogg',
|
||||
"eleven" = 'sound/vox/eleven.ogg',
|
||||
"eliminate" = 'sound/vox/eliminate.ogg',
|
||||
"emergency" = 'sound/vox/emergency.ogg',
|
||||
"enemy" = 'sound/vox/enemy.ogg',
|
||||
"energy" = 'sound/vox/energy.ogg',
|
||||
"engage" = 'sound/vox/engage.ogg',
|
||||
"engaged" = 'sound/vox/engaged.ogg',
|
||||
"engine" = 'sound/vox/engine.ogg',
|
||||
"enter" = 'sound/vox/enter.ogg',
|
||||
"entry" = 'sound/vox/entry.ogg',
|
||||
"environment" = 'sound/vox/environment.ogg',
|
||||
"error" = 'sound/vox/error.ogg',
|
||||
"escape" = 'sound/vox/escape.ogg',
|
||||
"evacuate" = 'sound/vox/evacuate.ogg',
|
||||
"exchange" = 'sound/vox/exchange.ogg',
|
||||
"exit" = 'sound/vox/exit.ogg',
|
||||
"expect" = 'sound/vox/expect.ogg',
|
||||
"experiment" = 'sound/vox/experiment.ogg',
|
||||
"experimental" = 'sound/vox/experimental.ogg',
|
||||
"explode" = 'sound/vox/explode.ogg',
|
||||
"explosion" = 'sound/vox/explosion.ogg',
|
||||
"exposure" = 'sound/vox/exposure.ogg',
|
||||
"exterminate" = 'sound/vox/exterminate.ogg',
|
||||
"extinguish" = 'sound/vox/extinguish.ogg',
|
||||
"extinguisher" = 'sound/vox/extinguisher.ogg',
|
||||
"extreme" = 'sound/vox/extreme.ogg',
|
||||
"f" = 'sound/vox/f.ogg',
|
||||
"face" = 'sound/vox/face.ogg',
|
||||
"facility" = 'sound/vox/facility.ogg',
|
||||
"fahrenheit" = 'sound/vox/fahrenheit.ogg',
|
||||
"failed" = 'sound/vox/failed.ogg',
|
||||
"failure" = 'sound/vox/failure.ogg',
|
||||
"farthest" = 'sound/vox/farthest.ogg',
|
||||
"fast" = 'sound/vox/fast.ogg',
|
||||
"feet" = 'sound/vox/feet.ogg',
|
||||
"field" = 'sound/vox/field.ogg',
|
||||
"fifteen" = 'sound/vox/fifteen.ogg',
|
||||
"fifth" = 'sound/vox/fifth.ogg',
|
||||
"fifty" = 'sound/vox/fifty.ogg',
|
||||
"final" = 'sound/vox/final.ogg',
|
||||
"fine" = 'sound/vox/fine.ogg',
|
||||
"fire" = 'sound/vox/fire.ogg',
|
||||
"first" = 'sound/vox/first.ogg',
|
||||
"five" = 'sound/vox/five.ogg',
|
||||
"flag" = 'sound/vox/flag.ogg',
|
||||
"flooding" = 'sound/vox/flooding.ogg',
|
||||
"floor" = 'sound/vox/floor.ogg',
|
||||
"fool" = 'sound/vox/fool.ogg',
|
||||
"for" = 'sound/vox/for.ogg',
|
||||
"forbidden" = 'sound/vox/forbidden.ogg',
|
||||
"force" = 'sound/vox/force.ogg',
|
||||
"forms" = 'sound/vox/forms.ogg',
|
||||
"found" = 'sound/vox/found.ogg',
|
||||
"four" = 'sound/vox/four.ogg',
|
||||
"fourteen" = 'sound/vox/fourteen.ogg',
|
||||
"fourth" = 'sound/vox/fourth.ogg',
|
||||
"fourty" = 'sound/vox/fourty.ogg',
|
||||
"foxtrot" = 'sound/vox/foxtrot.ogg',
|
||||
"freeman" = 'sound/vox/freeman.ogg',
|
||||
"freezer" = 'sound/vox/freezer.ogg',
|
||||
"from" = 'sound/vox/from.ogg',
|
||||
"front" = 'sound/vox/front.ogg',
|
||||
"fuel" = 'sound/vox/fuel.ogg',
|
||||
"g" = 'sound/vox/g.ogg',
|
||||
"gay" = 'sound/vox/gay.ogg',
|
||||
"get" = 'sound/vox/get.ogg',
|
||||
"go" = 'sound/vox/go.ogg',
|
||||
"going" = 'sound/vox/going.ogg',
|
||||
"good" = 'sound/vox/good.ogg',
|
||||
"goodbye" = 'sound/vox/goodbye.ogg',
|
||||
"gordon" = 'sound/vox/gordon.ogg',
|
||||
"got" = 'sound/vox/got.ogg',
|
||||
"government" = 'sound/vox/government.ogg',
|
||||
"granted" = 'sound/vox/granted.ogg',
|
||||
"great" = 'sound/vox/great.ogg',
|
||||
"green" = 'sound/vox/green.ogg',
|
||||
"grenade" = 'sound/vox/grenade.ogg',
|
||||
"guard" = 'sound/vox/guard.ogg',
|
||||
"gulf" = 'sound/vox/gulf.ogg',
|
||||
"gun" = 'sound/vox/gun.ogg',
|
||||
"guthrie" = 'sound/vox/guthrie.ogg',
|
||||
"handling" = 'sound/vox/handling.ogg',
|
||||
"hangar" = 'sound/vox/hangar.ogg',
|
||||
"has" = 'sound/vox/has.ogg',
|
||||
"have" = 'sound/vox/have.ogg',
|
||||
"hazard" = 'sound/vox/hazard.ogg',
|
||||
"head" = 'sound/vox/head.ogg',
|
||||
"health" = 'sound/vox/health.ogg',
|
||||
"heat" = 'sound/vox/heat.ogg',
|
||||
"helicopter" = 'sound/vox/helicopter.ogg',
|
||||
"helium" = 'sound/vox/helium.ogg',
|
||||
"hello" = 'sound/vox/hello.ogg',
|
||||
"help" = 'sound/vox/help.ogg',
|
||||
"here" = 'sound/vox/here.ogg',
|
||||
"hide" = 'sound/vox/hide.ogg',
|
||||
"high" = 'sound/vox/high.ogg',
|
||||
"highest" = 'sound/vox/highest.ogg',
|
||||
"hit" = 'sound/vox/hit.ogg',
|
||||
"holds" = 'sound/vox/holds.ogg',
|
||||
"hole" = 'sound/vox/hole.ogg',
|
||||
"hostile" = 'sound/vox/hostile.ogg',
|
||||
"hot" = 'sound/vox/hot.ogg',
|
||||
"hotel" = 'sound/vox/hotel.ogg',
|
||||
"hour" = 'sound/vox/hour.ogg',
|
||||
"hours" = 'sound/vox/hours.ogg',
|
||||
"hundred" = 'sound/vox/hundred.ogg',
|
||||
"hydro" = 'sound/vox/hydro.ogg',
|
||||
"i" = 'sound/vox/i.ogg',
|
||||
"idiot" = 'sound/vox/idiot.ogg',
|
||||
"illegal" = 'sound/vox/illegal.ogg',
|
||||
"immediate" = 'sound/vox/immediate.ogg',
|
||||
"immediately" = 'sound/vox/immediately.ogg',
|
||||
"in" = 'sound/vox/in.ogg',
|
||||
"inches" = 'sound/vox/inches.ogg',
|
||||
"india" = 'sound/vox/india.ogg',
|
||||
"ing" = 'sound/vox/ing.ogg',
|
||||
"inoperative" = 'sound/vox/inoperative.ogg',
|
||||
"inside" = 'sound/vox/inside.ogg',
|
||||
"inspection" = 'sound/vox/inspection.ogg',
|
||||
"inspector" = 'sound/vox/inspector.ogg',
|
||||
"interchange" = 'sound/vox/interchange.ogg',
|
||||
"intruder" = 'sound/vox/intruder.ogg',
|
||||
"invallid" = 'sound/vox/invallid.ogg',
|
||||
"invasion" = 'sound/vox/invasion.ogg',
|
||||
"is" = 'sound/vox/is.ogg',
|
||||
"it" = 'sound/vox/it.ogg',
|
||||
"johnson" = 'sound/vox/johnson.ogg',
|
||||
"juliet" = 'sound/vox/juliet.ogg',
|
||||
"key" = 'sound/vox/key.ogg',
|
||||
"kill" = 'sound/vox/kill.ogg',
|
||||
"kilo" = 'sound/vox/kilo.ogg',
|
||||
"kit" = 'sound/vox/kit.ogg',
|
||||
"lab" = 'sound/vox/lab.ogg',
|
||||
"lambda" = 'sound/vox/lambda.ogg',
|
||||
"laser" = 'sound/vox/laser.ogg',
|
||||
"last" = 'sound/vox/last.ogg',
|
||||
"launch" = 'sound/vox/launch.ogg',
|
||||
"leak" = 'sound/vox/leak.ogg',
|
||||
"leave" = 'sound/vox/leave.ogg',
|
||||
"left" = 'sound/vox/left.ogg',
|
||||
"legal" = 'sound/vox/legal.ogg',
|
||||
"level" = 'sound/vox/level.ogg',
|
||||
"lever" = 'sound/vox/lever.ogg',
|
||||
"lie" = 'sound/vox/lie.ogg',
|
||||
"lieutenant" = 'sound/vox/lieutenant.ogg',
|
||||
"life" = 'sound/vox/life.ogg',
|
||||
"light" = 'sound/vox/light.ogg',
|
||||
"lima" = 'sound/vox/lima.ogg',
|
||||
"liquid" = 'sound/vox/liquid.ogg',
|
||||
"loading" = 'sound/vox/loading.ogg',
|
||||
"locate" = 'sound/vox/locate.ogg',
|
||||
"located" = 'sound/vox/located.ogg',
|
||||
"location" = 'sound/vox/location.ogg',
|
||||
"lock" = 'sound/vox/lock.ogg',
|
||||
"locked" = 'sound/vox/locked.ogg',
|
||||
"locker" = 'sound/vox/locker.ogg',
|
||||
"lockout" = 'sound/vox/lockout.ogg',
|
||||
"lower" = 'sound/vox/lower.ogg',
|
||||
"lowest" = 'sound/vox/lowest.ogg',
|
||||
"magnetic" = 'sound/vox/magnetic.ogg',
|
||||
"main" = 'sound/vox/main.ogg',
|
||||
"maintenance" = 'sound/vox/maintenance.ogg',
|
||||
"malfunction" = 'sound/vox/malfunction.ogg',
|
||||
"man" = 'sound/vox/man.ogg',
|
||||
"mass" = 'sound/vox/mass.ogg',
|
||||
"materials" = 'sound/vox/materials.ogg',
|
||||
"maximum" = 'sound/vox/maximum.ogg',
|
||||
"may" = 'sound/vox/may.ogg',
|
||||
"med" = 'sound/vox/med.ogg',
|
||||
"medical" = 'sound/vox/medical.ogg',
|
||||
"men" = 'sound/vox/men.ogg',
|
||||
"mercy" = 'sound/vox/mercy.ogg',
|
||||
"mesa" = 'sound/vox/mesa.ogg',
|
||||
"message" = 'sound/vox/message.ogg',
|
||||
"meter" = 'sound/vox/meter.ogg',
|
||||
"micro" = 'sound/vox/micro.ogg',
|
||||
"middle" = 'sound/vox/middle.ogg',
|
||||
"mike" = 'sound/vox/mike.ogg',
|
||||
"miles" = 'sound/vox/miles.ogg',
|
||||
"military" = 'sound/vox/military.ogg',
|
||||
"milli" = 'sound/vox/milli.ogg',
|
||||
"million" = 'sound/vox/million.ogg',
|
||||
"minefield" = 'sound/vox/minefield.ogg',
|
||||
"minimum" = 'sound/vox/minimum.ogg',
|
||||
"minutes" = 'sound/vox/minutes.ogg',
|
||||
"mister" = 'sound/vox/mister.ogg',
|
||||
"mode" = 'sound/vox/mode.ogg',
|
||||
"motor" = 'sound/vox/motor.ogg',
|
||||
"motorpool" = 'sound/vox/motorpool.ogg',
|
||||
"move" = 'sound/vox/move.ogg',
|
||||
"must" = 'sound/vox/must.ogg',
|
||||
"nearest" = 'sound/vox/nearest.ogg',
|
||||
"nice" = 'sound/vox/nice.ogg',
|
||||
"nine" = 'sound/vox/nine.ogg',
|
||||
"nineteen" = 'sound/vox/nineteen.ogg',
|
||||
"ninety" = 'sound/vox/ninety.ogg',
|
||||
"no" = 'sound/vox/no.ogg',
|
||||
"nominal" = 'sound/vox/nominal.ogg',
|
||||
"north" = 'sound/vox/north.ogg',
|
||||
"not" = 'sound/vox/not.ogg',
|
||||
"november" = 'sound/vox/november.ogg',
|
||||
"now" = 'sound/vox/now.ogg',
|
||||
"number" = 'sound/vox/number.ogg',
|
||||
"objective" = 'sound/vox/objective.ogg',
|
||||
"observation" = 'sound/vox/observation.ogg',
|
||||
"of" = 'sound/vox/of.ogg',
|
||||
"officer" = 'sound/vox/officer.ogg',
|
||||
"ok" = 'sound/vox/ok.ogg',
|
||||
"on" = 'sound/vox/on.ogg',
|
||||
"one" = 'sound/vox/one.ogg',
|
||||
"open" = 'sound/vox/open.ogg',
|
||||
"operating" = 'sound/vox/operating.ogg',
|
||||
"operations" = 'sound/vox/operations.ogg',
|
||||
"operative" = 'sound/vox/operative.ogg',
|
||||
"option" = 'sound/vox/option.ogg',
|
||||
"order" = 'sound/vox/order.ogg',
|
||||
"organic" = 'sound/vox/organic.ogg',
|
||||
"oscar" = 'sound/vox/oscar.ogg',
|
||||
"out" = 'sound/vox/out.ogg',
|
||||
"outside" = 'sound/vox/outside.ogg',
|
||||
"over" = 'sound/vox/over.ogg',
|
||||
"overload" = 'sound/vox/overload.ogg',
|
||||
"override" = 'sound/vox/override.ogg',
|
||||
"pacify" = 'sound/vox/pacify.ogg',
|
||||
"pain" = 'sound/vox/pain.ogg',
|
||||
"pal" = 'sound/vox/pal.ogg',
|
||||
"panel" = 'sound/vox/panel.ogg',
|
||||
"percent" = 'sound/vox/percent.ogg',
|
||||
"perimeter" = 'sound/vox/perimeter.ogg',
|
||||
"permitted" = 'sound/vox/permitted.ogg',
|
||||
"personnel" = 'sound/vox/personnel.ogg',
|
||||
"pipe" = 'sound/vox/pipe.ogg',
|
||||
"plant" = 'sound/vox/plant.ogg',
|
||||
"platform" = 'sound/vox/platform.ogg',
|
||||
"please" = 'sound/vox/please.ogg',
|
||||
"point" = 'sound/vox/point.ogg',
|
||||
"portal" = 'sound/vox/portal.ogg',
|
||||
"power" = 'sound/vox/power.ogg',
|
||||
"presence" = 'sound/vox/presence.ogg',
|
||||
"press" = 'sound/vox/press.ogg',
|
||||
"primary" = 'sound/vox/primary.ogg',
|
||||
"proceed" = 'sound/vox/proceed.ogg',
|
||||
"processing" = 'sound/vox/processing.ogg',
|
||||
"progress" = 'sound/vox/progress.ogg',
|
||||
"proper" = 'sound/vox/proper.ogg',
|
||||
"propulsion" = 'sound/vox/propulsion.ogg',
|
||||
"prosecute" = 'sound/vox/prosecute.ogg',
|
||||
"protective" = 'sound/vox/protective.ogg',
|
||||
"push" = 'sound/vox/push.ogg',
|
||||
"quantum" = 'sound/vox/quantum.ogg',
|
||||
"quebec" = 'sound/vox/quebec.ogg',
|
||||
"question" = 'sound/vox/question.ogg',
|
||||
"questioning" = 'sound/vox/questioning.ogg',
|
||||
"quick" = 'sound/vox/quick.ogg',
|
||||
"quit" = 'sound/vox/quit.ogg',
|
||||
"radiation" = 'sound/vox/radiation.ogg',
|
||||
"radioactive" = 'sound/vox/radioactive.ogg',
|
||||
"rads" = 'sound/vox/rads.ogg',
|
||||
"rapid" = 'sound/vox/rapid.ogg',
|
||||
"reach" = 'sound/vox/reach.ogg',
|
||||
"reached" = 'sound/vox/reached.ogg',
|
||||
"reactor" = 'sound/vox/reactor.ogg',
|
||||
"red" = 'sound/vox/red.ogg',
|
||||
"relay" = 'sound/vox/relay.ogg',
|
||||
"released" = 'sound/vox/released.ogg',
|
||||
"remaining" = 'sound/vox/remaining.ogg',
|
||||
"renegade" = 'sound/vox/renegade.ogg',
|
||||
"repair" = 'sound/vox/repair.ogg',
|
||||
"report" = 'sound/vox/report.ogg',
|
||||
"reports" = 'sound/vox/reports.ogg',
|
||||
"required" = 'sound/vox/required.ogg',
|
||||
"research" = 'sound/vox/research.ogg',
|
||||
"reset" = 'sound/vox/reset.ogg',
|
||||
"resevoir" = 'sound/vox/resevoir.ogg',
|
||||
"resistance" = 'sound/vox/resistance.ogg',
|
||||
"returned" = 'sound/vox/returned.ogg',
|
||||
"right" = 'sound/vox/right.ogg',
|
||||
"rocket" = 'sound/vox/rocket.ogg',
|
||||
"roger" = 'sound/vox/roger.ogg',
|
||||
"romeo" = 'sound/vox/romeo.ogg',
|
||||
"room" = 'sound/vox/room.ogg',
|
||||
"round" = 'sound/vox/round.ogg',
|
||||
"run" = 'sound/vox/run.ogg',
|
||||
"safe" = 'sound/vox/safe.ogg',
|
||||
"safety" = 'sound/vox/safety.ogg',
|
||||
"sargeant" = 'sound/vox/sargeant.ogg',
|
||||
"satellite" = 'sound/vox/satellite.ogg',
|
||||
"save" = 'sound/vox/save.ogg',
|
||||
"science" = 'sound/vox/science.ogg',
|
||||
"scores" = 'sound/vox/scores.ogg',
|
||||
"scream" = 'sound/vox/scream.ogg',
|
||||
"screen" = 'sound/vox/screen.ogg',
|
||||
"search" = 'sound/vox/search.ogg',
|
||||
"second" = 'sound/vox/second.ogg',
|
||||
"secondary" = 'sound/vox/secondary.ogg',
|
||||
"seconds" = 'sound/vox/seconds.ogg',
|
||||
"sector" = 'sound/vox/sector.ogg',
|
||||
"secure" = 'sound/vox/secure.ogg',
|
||||
"secured" = 'sound/vox/secured.ogg',
|
||||
"security" = 'sound/vox/security.ogg',
|
||||
"select" = 'sound/vox/select.ogg',
|
||||
"selected" = 'sound/vox/selected.ogg',
|
||||
"service" = 'sound/vox/service.ogg',
|
||||
"seven" = 'sound/vox/seven.ogg',
|
||||
"seventeen" = 'sound/vox/seventeen.ogg',
|
||||
"seventy" = 'sound/vox/seventy.ogg',
|
||||
"severe" = 'sound/vox/severe.ogg',
|
||||
"sewage" = 'sound/vox/sewage.ogg',
|
||||
"sewer" = 'sound/vox/sewer.ogg',
|
||||
"shield" = 'sound/vox/shield.ogg',
|
||||
"shipment" = 'sound/vox/shipment.ogg',
|
||||
"shock" = 'sound/vox/shock.ogg',
|
||||
"shoot" = 'sound/vox/shoot.ogg',
|
||||
"shower" = 'sound/vox/shower.ogg',
|
||||
"shut" = 'sound/vox/shut.ogg',
|
||||
"side" = 'sound/vox/side.ogg',
|
||||
"sierra" = 'sound/vox/sierra.ogg',
|
||||
"sight" = 'sound/vox/sight.ogg',
|
||||
"silo" = 'sound/vox/silo.ogg',
|
||||
"six" = 'sound/vox/six.ogg',
|
||||
"sixteen" = 'sound/vox/sixteen.ogg',
|
||||
"sixty" = 'sound/vox/sixty.ogg',
|
||||
"slime" = 'sound/vox/slime.ogg',
|
||||
"slow" = 'sound/vox/slow.ogg',
|
||||
"soldier" = 'sound/vox/soldier.ogg',
|
||||
"some" = 'sound/vox/some.ogg',
|
||||
"someone" = 'sound/vox/someone.ogg',
|
||||
"something" = 'sound/vox/something.ogg',
|
||||
"son" = 'sound/vox/son.ogg',
|
||||
"sorry" = 'sound/vox/sorry.ogg',
|
||||
"south" = 'sound/vox/south.ogg',
|
||||
"squad" = 'sound/vox/squad.ogg',
|
||||
"square" = 'sound/vox/square.ogg',
|
||||
"stairway" = 'sound/vox/stairway.ogg',
|
||||
"status" = 'sound/vox/status.ogg',
|
||||
"sterile" = 'sound/vox/sterile.ogg',
|
||||
"sterilization" = 'sound/vox/sterilization.ogg',
|
||||
"stolen" = 'sound/vox/stolen.ogg',
|
||||
"storage" = 'sound/vox/storage.ogg',
|
||||
"sub" = 'sound/vox/sub.ogg',
|
||||
"subsurface" = 'sound/vox/subsurface.ogg',
|
||||
"sudden" = 'sound/vox/sudden.ogg',
|
||||
"suit" = 'sound/vox/suit.ogg',
|
||||
"superconducting" = 'sound/vox/superconducting.ogg',
|
||||
"supercooled" = 'sound/vox/supercooled.ogg',
|
||||
"supply" = 'sound/vox/supply.ogg',
|
||||
"surface" = 'sound/vox/surface.ogg',
|
||||
"surrender" = 'sound/vox/surrender.ogg',
|
||||
"surround" = 'sound/vox/surround.ogg',
|
||||
"surrounded" = 'sound/vox/surrounded.ogg',
|
||||
"switch" = 'sound/vox/switch.ogg',
|
||||
"system" = 'sound/vox/system.ogg',
|
||||
"systems" = 'sound/vox/systems.ogg',
|
||||
"tactical" = 'sound/vox/tactical.ogg',
|
||||
"take" = 'sound/vox/take.ogg',
|
||||
"talk" = 'sound/vox/talk.ogg',
|
||||
"tango" = 'sound/vox/tango.ogg',
|
||||
"tank" = 'sound/vox/tank.ogg',
|
||||
"target" = 'sound/vox/target.ogg',
|
||||
"team" = 'sound/vox/team.ogg',
|
||||
"temperature" = 'sound/vox/temperature.ogg',
|
||||
"temporal" = 'sound/vox/temporal.ogg',
|
||||
"ten" = 'sound/vox/ten.ogg',
|
||||
"terminal" = 'sound/vox/terminal.ogg',
|
||||
"terminated" = 'sound/vox/terminated.ogg',
|
||||
"termination" = 'sound/vox/termination.ogg',
|
||||
"test" = 'sound/vox/test.ogg',
|
||||
"that" = 'sound/vox/that.ogg',
|
||||
"the" = 'sound/vox/the.ogg',
|
||||
"then" = 'sound/vox/then.ogg',
|
||||
"there" = 'sound/vox/there.ogg',
|
||||
"third" = 'sound/vox/third.ogg',
|
||||
"thirteen" = 'sound/vox/thirteen.ogg',
|
||||
"thirty" = 'sound/vox/thirty.ogg',
|
||||
"this" = 'sound/vox/this.ogg',
|
||||
"those" = 'sound/vox/those.ogg',
|
||||
"thousand" = 'sound/vox/thousand.ogg',
|
||||
"threat" = 'sound/vox/threat.ogg',
|
||||
"three" = 'sound/vox/three.ogg',
|
||||
"through" = 'sound/vox/through.ogg',
|
||||
"time" = 'sound/vox/time.ogg',
|
||||
"to" = 'sound/vox/to.ogg',
|
||||
"top" = 'sound/vox/top.ogg',
|
||||
"topside" = 'sound/vox/topside.ogg',
|
||||
"touch" = 'sound/vox/touch.ogg',
|
||||
"towards" = 'sound/vox/towards.ogg',
|
||||
"track" = 'sound/vox/track.ogg',
|
||||
"train" = 'sound/vox/train.ogg',
|
||||
"transportation" = 'sound/vox/transportation.ogg',
|
||||
"truck" = 'sound/vox/truck.ogg',
|
||||
"tunnel" = 'sound/vox/tunnel.ogg',
|
||||
"turn" = 'sound/vox/turn.ogg',
|
||||
"turret" = 'sound/vox/turret.ogg',
|
||||
"twelve" = 'sound/vox/twelve.ogg',
|
||||
"twenty" = 'sound/vox/twenty.ogg',
|
||||
"two" = 'sound/vox/two.ogg',
|
||||
"unauthorized" = 'sound/vox/unauthorized.ogg',
|
||||
"under" = 'sound/vox/under.ogg',
|
||||
"uniform" = 'sound/vox/uniform.ogg',
|
||||
"unlocked" = 'sound/vox/unlocked.ogg',
|
||||
"until" = 'sound/vox/until.ogg',
|
||||
"up" = 'sound/vox/up.ogg',
|
||||
"upper" = 'sound/vox/upper.ogg',
|
||||
"uranium" = 'sound/vox/uranium.ogg',
|
||||
"us" = 'sound/vox/us.ogg',
|
||||
"usa" = 'sound/vox/usa.ogg',
|
||||
"use" = 'sound/vox/use.ogg',
|
||||
"used" = 'sound/vox/used.ogg',
|
||||
"user" = 'sound/vox/user.ogg',
|
||||
"vacate" = 'sound/vox/vacate.ogg',
|
||||
"valid" = 'sound/vox/valid.ogg',
|
||||
"vapor" = 'sound/vox/vapor.ogg',
|
||||
"vent" = 'sound/vox/vent.ogg',
|
||||
"ventillation" = 'sound/vox/ventillation.ogg',
|
||||
"victor" = 'sound/vox/victor.ogg',
|
||||
"violated" = 'sound/vox/violated.ogg',
|
||||
"violation" = 'sound/vox/violation.ogg',
|
||||
"voltage" = 'sound/vox/voltage.ogg',
|
||||
"vox_login" = 'sound/vox/vox_login.ogg',
|
||||
"walk" = 'sound/vox/walk.ogg',
|
||||
"wall" = 'sound/vox/wall.ogg',
|
||||
"want" = 'sound/vox/want.ogg',
|
||||
"wanted" = 'sound/vox/wanted.ogg',
|
||||
"warm" = 'sound/vox/warm.ogg',
|
||||
"warn" = 'sound/vox/warn.ogg',
|
||||
"warning" = 'sound/vox/warning.ogg',
|
||||
"waste" = 'sound/vox/waste.ogg',
|
||||
"water" = 'sound/vox/water.ogg',
|
||||
"we" = 'sound/vox/we.ogg',
|
||||
"weapon" = 'sound/vox/weapon.ogg',
|
||||
"west" = 'sound/vox/west.ogg',
|
||||
"whiskey" = 'sound/vox/whiskey.ogg',
|
||||
"white" = 'sound/vox/white.ogg',
|
||||
"wilco" = 'sound/vox/wilco.ogg',
|
||||
"will" = 'sound/vox/will.ogg',
|
||||
"with" = 'sound/vox/with.ogg',
|
||||
"without" = 'sound/vox/without.ogg',
|
||||
"woop" = 'sound/vox/woop.ogg',
|
||||
"xeno" = 'sound/vox/xeno.ogg',
|
||||
"yankee" = 'sound/vox/yankee.ogg',
|
||||
"yards" = 'sound/vox/yards.ogg',
|
||||
"year" = 'sound/vox/year.ogg',
|
||||
"yellow" = 'sound/vox/yellow.ogg',
|
||||
"yes" = 'sound/vox/yes.ogg',
|
||||
"you" = 'sound/vox/you.ogg',
|
||||
"your" = 'sound/vox/your.ogg',
|
||||
"yourself" = 'sound/vox/yourself.ogg',
|
||||
"zero" = 'sound/vox/zero.ogg',
|
||||
"zone" = 'sound/vox/zone.ogg',
|
||||
"zulu" = 'sound/vox/zulu.ogg',))
|
||||
#endif
|
||||
@@ -51,6 +51,7 @@
|
||||
var/treatment_fire = "kelotane"
|
||||
var/treatment_tox_avoid = "tricordrazine"
|
||||
var/treatment_tox = "charcoal"
|
||||
var/treatment_tox_toxlover = "toxin"
|
||||
var/treatment_virus_avoid = null
|
||||
var/treatment_virus = "spaceacillin"
|
||||
var/treat_virus = 1 //If on, the bot will attempt to treat viral infections, curing them if possible.
|
||||
@@ -381,8 +382,8 @@
|
||||
|
||||
if((!C.reagents.has_reagent(treatment_fire_avoid)) && (C.getFireLoss() >= heal_threshold) && (!C.reagents.has_reagent(treatment_fire)))
|
||||
return TRUE
|
||||
|
||||
if((!C.reagents.has_reagent(treatment_tox_avoid)) && (C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(treatment_tox)))
|
||||
var/treatment_toxavoid = get_avoidchem_toxin(C)
|
||||
if(((treatment_toxavoid && !C.reagents.has_reagent(treatment_toxavoid))) && (C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(get_healchem_toxin(C))))
|
||||
return TRUE
|
||||
|
||||
if(treat_virus && !C.reagents.has_reagent(treatment_virus_avoid) && !C.reagents.has_reagent(treatment_virus))
|
||||
@@ -396,6 +397,12 @@
|
||||
|
||||
return FALSE
|
||||
|
||||
/mob/living/simple_animal/bot/medbot/proc/get_avoidchem_toxin(mob/M)
|
||||
return HAS_TRAIT(M, TRAIT_TOXINLOVER)? null : treatment_tox_avoid
|
||||
|
||||
/mob/living/simple_animal/bot/medbot/proc/get_healchem_toxin(mob/M)
|
||||
return HAS_TRAIT(M, TRAIT_TOXINLOVER)? treatment_tox_toxlover : treatment_tox
|
||||
|
||||
/mob/living/simple_animal/bot/medbot/UnarmedAttack(atom/A)
|
||||
if(iscarbon(A))
|
||||
var/mob/living/carbon/C = A
|
||||
@@ -463,8 +470,10 @@
|
||||
reagent_id = treatment_fire
|
||||
|
||||
if(!reagent_id && (C.getToxLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(treatment_tox) && !C.reagents.has_reagent(treatment_tox_avoid))
|
||||
reagent_id = treatment_tox
|
||||
var/toxin_heal_avoid = get_avoidchem_toxin(C)
|
||||
var/toxin_healchem = get_healchem_toxin(C)
|
||||
if(!C.reagents.has_reagent(toxin_healchem) && (toxin_heal_avoid && !C.reagents.has_reagent(toxin_heal_avoid)))
|
||||
reagent_id = toxin_healchem
|
||||
|
||||
//If the patient is injured but doesn't have our special reagent in them then we should give it to them first
|
||||
if(reagent_id && use_beaker && reagent_glass && reagent_glass.reagents.total_volume)
|
||||
|
||||
@@ -131,3 +131,30 @@
|
||||
category = list("Misc")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenobio_upgrade
|
||||
name = "owo"
|
||||
desc = "someone's bussin"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
|
||||
category = list("Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xenobio_upgrade/xenobiomonkeys
|
||||
name = "Xenobiology console monkey upgrade disk"
|
||||
desc = "This disk will add the ability to remotely recycle monkeys via the Xenobiology console."
|
||||
id = "xenobio_monkeys"
|
||||
build_path = /obj/item/disk/xenobio_console_upgrade/monkey
|
||||
|
||||
/datum/design/xenobio_upgrade/xenobioslimebasic
|
||||
name = "Xenobiology console basic slime upgrade disk"
|
||||
desc = "This disk will add the ability to remotely manipulate slimes via the Xenobiology console."
|
||||
id = "xenobio_slimebasic"
|
||||
build_path = /obj/item/disk/xenobio_console_upgrade/slimebasic
|
||||
|
||||
/datum/design/xenobio_upgrade/xenobioslimeadv
|
||||
name = "Xenobiology console advanced slime upgrade disk"
|
||||
desc = "This disk will add the ability to remotely feed slimes potions via the Xenobiology console, and lift the restrictions on the number of slimes that can be stored inside the Xenobiology console. This includes the contents of the basic slime upgrade disk."
|
||||
id = "xenobio_slimeadv"
|
||||
build_path = /obj/item/disk/xenobio_console_upgrade/slimeadv
|
||||
|
||||
|
||||
|
||||
@@ -98,3 +98,11 @@
|
||||
build_path = /obj/item/circuitboard/machine/vr_sleeper
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
category = list ("Medical Machinery")
|
||||
|
||||
/datum/design/board/autoylathe
|
||||
name = "Machine Design (Autoylathe)"
|
||||
desc = "The circuit board for an autoylathe."
|
||||
id = "autoylathe"
|
||||
build_path = /obj/item/circuitboard/machine/autoylathe
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
@@ -372,3 +372,7 @@
|
||||
|
||||
/datum/techweb/specialized/autounlocking/exofab
|
||||
allowed_buildtypes = MECHFAB
|
||||
|
||||
/datum/techweb/specialized/autounlocking/autoylathe
|
||||
design_autounlock_buildtypes = AUTOYLATHE
|
||||
allowed_buildtypes = AUTOYLATHE
|
||||
|
||||
@@ -31,8 +31,9 @@
|
||||
|
||||
var/list/stored_slimes
|
||||
var/obj/item/slimepotion/slime/current_potion
|
||||
var/max_slimes = 5
|
||||
var/max_slimes = 1
|
||||
var/monkeys = 0
|
||||
var/upgradetier = 0
|
||||
|
||||
icon_screen = "slime_comp"
|
||||
icon_keyboard = "rd_key"
|
||||
@@ -106,6 +107,22 @@
|
||||
stored_slimes -= deleted
|
||||
|
||||
/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/disk/xenobio_console_upgrade))
|
||||
var/obj/item/disk/xenobio_console_upgrade/diskthing = O
|
||||
var/successfulupgrade = FALSE
|
||||
for(var/I in diskthing.upgradetypes)
|
||||
if(upgradetier & I)
|
||||
continue
|
||||
else
|
||||
upgradetier |= I
|
||||
successfulupgrade = TRUE
|
||||
if(I == XENOBIO_UPGRADE_SLIMEADV)
|
||||
max_slimes = 10
|
||||
if(successfulupgrade)
|
||||
to_chat(user, "<span class='notice'>You have successfully upgraded [src] with [O].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] already has the contents of [O] installed!</span>")
|
||||
return
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube) && (upgradetier & XENOBIO_UPGRADE_MONKEYS)) //CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS
|
||||
monkeys++
|
||||
to_chat(user, "<span class='notice'>You feed [O] to [src]. It now has [monkeys] monkey cubes stored.</span>")
|
||||
@@ -264,3 +281,29 @@
|
||||
break
|
||||
else
|
||||
to_chat(owner, "<span class='notice'>Target is not near a camera. Cannot proceed.</span>")
|
||||
|
||||
/obj/item/disk/xenobio_console_upgrade
|
||||
name = "Xenobiology console upgrade disk"
|
||||
desc = "Allan please add detail."
|
||||
icon_state = "datadisk5"
|
||||
var/list/upgradetypes = list()
|
||||
|
||||
/obj/item/disk/xenobio_console_upgrade/admin
|
||||
name = "Xenobio all access thing"
|
||||
desc = "'the consoles are literally useless!!!!!!!!!!!!!!!'"
|
||||
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC, XENOBIO_UPGRADE_SLIMEADV, XENOBIO_UPGRADE_MONKEYS)
|
||||
|
||||
/obj/item/disk/xenobio_console_upgrade/monkey
|
||||
name = "Xenobiology console monkey upgrade disk"
|
||||
desc = "This disk will add the ability to remotely recycle monkeys via the Xenobiology console."
|
||||
upgradetypes = list(XENOBIO_UPGRADE_MONKEYS)
|
||||
|
||||
/obj/item/disk/xenobio_console_upgrade/slimebasic
|
||||
name = "Xenobiology console basic slime upgrade disk"
|
||||
desc = "This disk will add the ability to remotely manipulate slimes via the Xenobiology console."
|
||||
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC)
|
||||
|
||||
/obj/item/disk/xenobio_console_upgrade/slimeadv
|
||||
name = "Xenobiology console advanced slime upgrade disk"
|
||||
desc = "This disk will add the ability to remotely feed slimes potions via the Xenobiology console, and lift the restrictions on the number of slimes that can be stored inside the Xenobiology console. This includes the contents of the basic slime upgrade disk."
|
||||
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC, XENOBIO_UPGRADE_SLIMEADV)
|
||||
|
||||
@@ -223,7 +223,6 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
|
||||
/turf/open/space/bluespace/Entered(atom/movable/A)
|
||||
. = ..()
|
||||
A.forceMove(get_turf(parentSphere))
|
||||
do_sparks(3, FALSE, get_turf(A))
|
||||
|
||||
/turf/closed/indestructible/hoteldoor
|
||||
name = "Hotel Door"
|
||||
|
||||
@@ -1920,6 +1920,13 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
Radio headset does not include encryption key. No gun included."
|
||||
item = /obj/item/storage/box/syndie_kit/centcom_costume
|
||||
|
||||
/datum/uplink_item/badass/claymore
|
||||
name = "Claymore"
|
||||
cost = 8
|
||||
player_minimum = 25
|
||||
desc = "A claymore. We don't know why you'd do this."
|
||||
item = /obj/item/claymore
|
||||
|
||||
/datum/uplink_item/badass/costumes/clown
|
||||
name = "Clown Costume"
|
||||
desc = "Nothing is more terrifying than clowns with fully automatic weaponry."
|
||||
|
||||
Reference in New Issue
Block a user