mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
@@ -2066,7 +2066,7 @@
|
||||
|
||||
var/input = input(src.owner, "Please enter a reason for denying [key_name(H)]'s ERT request.","Outgoing message from CentComm", "")
|
||||
if(!input) return
|
||||
ert_request_answered = 1
|
||||
ert_request_answered = TRUE
|
||||
to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
|
||||
log_admin("[src.owner] denied [key_name(H)]'s ERT request with the message [input].")
|
||||
to_chat(H, "You hear something crackle in your headset for a moment before a voice speaks. \"Your ERT request has been denied for the following reasons: [input]. Message ends.\"")
|
||||
|
||||
@@ -238,6 +238,12 @@ obj/item/clothing/head/blob
|
||||
desc = "An in-atmosphere helmet worn by security members of the Nanotrasen Emergency Response Team. Has red highlights."
|
||||
icon_state = "erthelmet_sec"
|
||||
|
||||
/obj/item/clothing/head/helmet/ert/security/paranormal
|
||||
name = "paranormal emergency response team helmet"
|
||||
desc = "An in-atmosphere helmet worn by paranormal members of the Nanotrasen Emergency Response Team. Has crusader sigils."
|
||||
icon_state = "knight_templar"
|
||||
item_state = "knight_templar"
|
||||
|
||||
//Engineer
|
||||
/obj/item/clothing/head/helmet/ert/engineer
|
||||
name = "emergency response team engineer helmet"
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \
|
||||
/obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/multitool, \
|
||||
/obj/item/radio, /obj/item/analyzer, /obj/item/gun/energy/laser, /obj/item/gun/energy/pulse, \
|
||||
/obj/item/gun/energy/gun/advtaser, /obj/item/melee/baton, /obj/item/gun/energy/gun, /obj/item/gun/projectile/automatic/lasercarbine, /obj/item/gun/energy/gun/blueshield)
|
||||
/obj/item/gun/energy/gun/advtaser, /obj/item/melee/baton, /obj/item/gun/energy/gun, /obj/item/gun/projectile/automatic/lasercarbine, /obj/item/gun/energy/gun/blueshield, /obj/item/gun/energy/immolator/multi)
|
||||
strip_delay = 130
|
||||
species_fit = list("Drask", "Vox")
|
||||
sprite_sheets = list(
|
||||
@@ -56,12 +56,25 @@
|
||||
item_state = "helm-command"
|
||||
item_color = "ert_commander"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/commander/gamma
|
||||
name = "elite emergency response team commander helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
icon_state = "hardsuit0-gammacommander"
|
||||
item_color = "gammacommander"
|
||||
species_fit = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/commander
|
||||
name = "emergency response team commander suit"
|
||||
desc = "A suit worn by the commander of a Nanotrasen Emergency Response Team. Has blue highlights. Armoured, space ready, and fire resistant."
|
||||
icon_state = "ert_commander"
|
||||
item_state = "suit-command"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/commander/gamma
|
||||
name = "elite emergency response team commander suit"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gcommander"
|
||||
species_fit = null
|
||||
|
||||
//Security
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/security
|
||||
name = "emergency response team security helmet"
|
||||
@@ -70,12 +83,25 @@
|
||||
item_state = "syndicate-helm-black-red"
|
||||
item_color = "ert_security"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/security/gamma
|
||||
name = "elite emergency response team security helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
icon_state = "hardsuit0-gammasecurity"
|
||||
item_color = "gammasecurity"
|
||||
species_fit = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/security
|
||||
name = "emergency response team security suit"
|
||||
desc = "A suit worn by security members of a Nanotrasen Emergency Response Team. Has red highlights. Armoured, space ready, and fire resistant."
|
||||
icon_state = "ert_security"
|
||||
item_state = "syndicate-black-red"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/security/gamma
|
||||
name = "elite emergency response team security suit"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gsecurity"
|
||||
species_fit = null
|
||||
|
||||
//Engineer
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer
|
||||
name = "emergency response team engineer helmet"
|
||||
@@ -84,12 +110,26 @@
|
||||
item_state = "helm-orange"
|
||||
item_color = "ert_engineer"
|
||||
|
||||
//Engineer
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma
|
||||
name = "elite emergency response team engineer helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
icon_state = "hardsuit0-gammaengineer"
|
||||
item_color = "gammaengineer"
|
||||
species_fit = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/engineer
|
||||
name = "emergency response team engineer suit"
|
||||
desc = "A suit worn by the engineers of a Nanotrasen Emergency Response Team. Has yellow highlights. Armoured, space ready, and fire resistant."
|
||||
icon_state = "ert_engineer"
|
||||
item_state = "suit-orange"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/engineer/gamma
|
||||
name = "elite emergency response team engineer suit"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gengineer"
|
||||
species_fit = null
|
||||
|
||||
//Medical
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical
|
||||
name = "emergency response team medical helmet"
|
||||
@@ -97,11 +137,24 @@
|
||||
icon_state = "hardsuit0-ert_medical"
|
||||
item_color = "ert_medical"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical/gamma
|
||||
name = "elite emergency response team medical helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
icon_state = "hardsuit0-gammamedical"
|
||||
item_color = "gammamedical"
|
||||
species_fit = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/medical
|
||||
name = "emergency response team medical suit"
|
||||
desc = "A suit worn by medical members of a Nanotrasen Emergency Response Team. Has white highlights. Armoured and space ready."
|
||||
icon_state = "ert_medical"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/medical/gamma
|
||||
name = "elite emergency response team medical suit"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gmedical"
|
||||
species_fit = null
|
||||
|
||||
//Janitor
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/janitor
|
||||
name = "emergency response team janitor helmet"
|
||||
@@ -109,11 +162,24 @@
|
||||
icon_state = "hardsuit0-ert_janitor"
|
||||
item_color = "ert_janitor"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/janitor/gamma
|
||||
name = "elite emergency response team janitor helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
icon_state = "hardsuit0-gammajanitor"
|
||||
item_color = "gammajanitor"
|
||||
species_fit = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/janitor
|
||||
name = "emergency response team janitor suit"
|
||||
desc = "A suit worn by the janitorial of a Nanotrasen Emergency Response Team. Has purple highlights. Armoured, space ready, and fire resistant."
|
||||
icon_state = "ert_janitor"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/janitor/gamma
|
||||
name = "elite emergency response team janitor suit"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gjanitor"
|
||||
species_fit = null
|
||||
|
||||
//Paranormal
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal
|
||||
name = "paranormal response unit helmet"
|
||||
|
||||
@@ -440,6 +440,13 @@
|
||||
name = "emergency response team security armor"
|
||||
desc = "A set of armor worn by security members of the Nanotrasen Emergency Response Team. Has red highlights."
|
||||
icon_state = "ertarmor_sec"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/ert/security/paranormal
|
||||
name = "emergency response team paranormal armor"
|
||||
desc = "A set of armor worn by paranormal members of the Nanotrasen Emergency Response Team. Has crusader sigils."
|
||||
icon_state = "knight_templar"
|
||||
item_state = "knight_templar"
|
||||
|
||||
//Engineer
|
||||
/obj/item/clothing/suit/armor/vest/ert/engineer
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
cyborg_slots = text2num(href_list["set_cyb"])
|
||||
|
||||
if(href_list["dispatch_ert"])
|
||||
ert_request_answered = 1
|
||||
ert_request_answered = TRUE
|
||||
var/slots_list = list()
|
||||
if(commander_slots > 0)
|
||||
slots_list += "commander: [commander_slots]"
|
||||
|
||||
@@ -67,6 +67,18 @@
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
e_cost = 125
|
||||
|
||||
/obj/item/ammo_casing/energy/immolator/strong
|
||||
projectile_type = /obj/item/projectile/beam/immolator/strong
|
||||
e_cost = 125
|
||||
select_name = "precise"
|
||||
|
||||
/obj/item/ammo_casing/energy/immolator/scatter
|
||||
projectile_type = /obj/item/projectile/beam/immolator/weak
|
||||
e_cost = 125
|
||||
pellets = 6
|
||||
variance = 25
|
||||
select_name = "scatter"
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode
|
||||
projectile_type = /obj/item/projectile/energy/electrode
|
||||
select_name = "stun"
|
||||
|
||||
@@ -125,6 +125,19 @@
|
||||
origin_tech = "combat=4;magnets=4;powerstorage=3"
|
||||
shaded_charge = 1
|
||||
|
||||
/obj/item/gun/energy/immolator/multi
|
||||
name = "multi lens immolator cannon"
|
||||
desc = "A large laser cannon, similar to the Immolator Laser, with toggleable firemodes. It is frequently used by military-like forces through Nanotrasen."
|
||||
icon_state = "multilensimmolator"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/immolator/strong, /obj/item/ammo_casing/energy/immolator/scatter)
|
||||
origin_tech = "combat=5;magnets=5;powerstorage=4"
|
||||
|
||||
/obj/item/gun/energy/immolator/multi/update_icon()
|
||||
..()
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
var/append = shot.select_name
|
||||
overlays += image(icon = icon, icon_state = "multilensimmolator-[append]")
|
||||
|
||||
////////Laser Tag////////////////////
|
||||
|
||||
/obj/item/gun/energy/laser/bluetag
|
||||
|
||||
@@ -65,6 +65,11 @@
|
||||
ammo_x_offset = 1
|
||||
shaded_charge = 1
|
||||
|
||||
/obj/item/gun/energy/gun/blueshield/pdw9
|
||||
name = "PDW-9 taser pistol"
|
||||
desc = "A military grade sidearm, used by many militia forces throughout the local sector."
|
||||
icon_state = "pdw9pistol"
|
||||
|
||||
/obj/item/gun/energy/gun/turret
|
||||
name = "hybrid turret gun"
|
||||
desc = "A heavy hybrid energy cannon with two settings: Stun and kill."
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
/obj/item/gun/projectile/automatic/lasercarbine
|
||||
name = "\improper IK-60 Laser Carbine"
|
||||
desc = "An experimental carbine. Uses encased laser projectors as ammunition."//we need to uncouple the toroidal resistance dejammers
|
||||
desc = "A short, compact carbine like rifle, relying more on battery cartridges rather than a built in power cell. Utilized by the Nanotrasen Navy for combat operations."
|
||||
icon_state = "lasercarbine"
|
||||
item_state = "laser"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
@@ -119,6 +119,16 @@
|
||||
/obj/item/projectile/beam/immolator
|
||||
name = "immolation beam"
|
||||
|
||||
/obj/item/projectile/beam/immolator/strong
|
||||
name = "heavy immolation beam"
|
||||
damage = 45
|
||||
icon_state = "heavylaser"
|
||||
|
||||
/obj/item/projectile/beam/immolator/weak
|
||||
name = "light immolation beam"
|
||||
damage = 8
|
||||
icon_state = "scatterlaser"
|
||||
|
||||
/obj/item/projectile/beam/immolator/on_hit(var/atom/target, var/blocked = 0)
|
||||
. = ..()
|
||||
if(istype(target, /mob/living/carbon))
|
||||
|
||||
@@ -0,0 +1,368 @@
|
||||
// ERTs
|
||||
|
||||
#define ERT_TYPE_AMBER 1
|
||||
#define ERT_TYPE_RED 2
|
||||
#define ERT_TYPE_GAMMA 3
|
||||
|
||||
/datum/game_mode
|
||||
var/list/datum/mind/ert = list()
|
||||
|
||||
var/list/response_team_members = list()
|
||||
var/responseteam_age = 21 // Minimum account age to play as an ERT member
|
||||
var/datum/response_team/active_team = null
|
||||
var/send_emergency_team = FALSE
|
||||
var/ert_request_answered = FALSE
|
||||
|
||||
/client/proc/response_team()
|
||||
set name = "Dispatch CentComm Response Team"
|
||||
set category = "Event"
|
||||
set desc = "Send an CentComm response team to the station."
|
||||
|
||||
if(!check_rights(R_EVENT))
|
||||
return
|
||||
|
||||
if(!ticker)
|
||||
to_chat(usr, "<span class='warning'>The game hasn't started yet!</span>")
|
||||
return
|
||||
|
||||
if(ticker.current_state == GAME_STATE_PREGAME)
|
||||
to_chat(usr, "<span class='warning'>The round hasn't started yet!</span>")
|
||||
return
|
||||
|
||||
if(send_emergency_team)
|
||||
to_chat(usr, "<span class='warning'>Central Command has already dispatched an emergency response team!</span>")
|
||||
return
|
||||
|
||||
var/datum/nano_module/ert_manager/E = new()
|
||||
E.ui_interact(usr)
|
||||
|
||||
|
||||
/mob/dead/observer/proc/JoinResponseTeam()
|
||||
if(!send_emergency_team)
|
||||
to_chat(src, "<span class='warning'>No emergency response team is currently being sent.</span>")
|
||||
return 0
|
||||
|
||||
if(jobban_isbanned(src, ROLE_ERT))
|
||||
to_chat(src, "<span class='warning'>You are jobbanned from playing on an emergency response team!</span>")
|
||||
return 0
|
||||
|
||||
var/player_age_check = check_client_age(client, responseteam_age)
|
||||
if(player_age_check && config.use_age_restriction_for_antags)
|
||||
to_chat(src, "<span class='warning'>This role is not yet available to you. You need to wait another [player_age_check] days.</span>")
|
||||
return 0
|
||||
|
||||
if(cannotPossess(src))
|
||||
to_chat(src, "<span class='boldnotice'>Upon using the antagHUD you forfeited the ability to join the round.</span>")
|
||||
return 0
|
||||
|
||||
if(response_team_members.len > 6)
|
||||
to_chat(src, "<span class='warning'>The emergency response team is already full!</span>")
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
/proc/trigger_armed_response_team(var/datum/response_team/response_team_type, commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots)
|
||||
response_team_members = list()
|
||||
active_team = response_team_type
|
||||
active_team.setSlots(commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots)
|
||||
|
||||
send_emergency_team = TRUE
|
||||
var/list/ert_candidates = pollCandidates("Join the Emergency Response Team?",, responseteam_age, 600, 1, role_playtime_requirements[ROLE_ERT])
|
||||
if(!ert_candidates.len)
|
||||
active_team.cannot_send_team()
|
||||
send_emergency_team = FALSE
|
||||
return 0
|
||||
|
||||
// Respawnable players get first dibs
|
||||
for(var/mob/dead/observer/M in ert_candidates)
|
||||
if(jobban_isbanned(M, ROLE_TRAITOR) || jobban_isbanned(M, "Security Officer") || jobban_isbanned(M, "Captain") || jobban_isbanned(M, "Cyborg"))
|
||||
continue
|
||||
if((M in respawnable_list) && M.JoinResponseTeam())
|
||||
response_team_members |= M
|
||||
// If there's still open slots, non-respawnable players can fill them
|
||||
for(var/mob/dead/observer/M in (ert_candidates - respawnable_list))
|
||||
if(M.JoinResponseTeam())
|
||||
response_team_members |= M
|
||||
|
||||
if(!response_team_members.len)
|
||||
active_team.cannot_send_team()
|
||||
send_emergency_team = FALSE
|
||||
return 0
|
||||
|
||||
var/index = 1
|
||||
var/ert_spawn_seconds = 120
|
||||
spawn(ert_spawn_seconds * 10) // to account for spawn() using deciseconds
|
||||
var/list/unspawnable_ert = list()
|
||||
for(var/mob/M in response_team_members)
|
||||
if(M)
|
||||
unspawnable_ert |= M
|
||||
if(unspawnable_ert.len)
|
||||
message_admins("ERT SPAWN: The following ERT members could not be spawned within [ert_spawn_seconds] seconds:")
|
||||
for(var/mob/M in unspawnable_ert)
|
||||
message_admins("- Unspawned ERT: [ADMIN_FULLMONTY(M)]")
|
||||
for(var/mob/M in response_team_members)
|
||||
if(index > emergencyresponseteamspawn.len)
|
||||
index = 1
|
||||
|
||||
if(!M || !M.client)
|
||||
continue
|
||||
var/client/C = M.client
|
||||
var/mob/living/new_commando = C.create_response_team(emergencyresponseteamspawn[index])
|
||||
if(!M || !new_commando)
|
||||
continue
|
||||
new_commando.mind.key = M.key
|
||||
new_commando.key = M.key
|
||||
new_commando.update_icons()
|
||||
index++
|
||||
|
||||
send_emergency_team = FALSE
|
||||
active_team.announce_team()
|
||||
return 1
|
||||
|
||||
/client/proc/create_response_team(var/turf/spawn_location)
|
||||
var/class = 0
|
||||
while(!class)
|
||||
class = input(src, "Which loadout would you like to choose?") in active_team.get_slot_list()
|
||||
if(!active_team.check_slot_available(class)) // Because the prompt does not update automatically when a slot gets filled.
|
||||
class = 0
|
||||
|
||||
if(class == "Cyborg")
|
||||
active_team.reduceCyborgSlots()
|
||||
var/cyborg_unlock = active_team.getCyborgUnlock()
|
||||
var/mob/living/silicon/robot/ert/R = new /mob/living/silicon/robot/ert(spawn_location, cyborg_unlock)
|
||||
return R
|
||||
|
||||
var/mob/living/carbon/human/M = new(null)
|
||||
var/obj/item/organ/external/head/head_organ = M.get_organ("head")
|
||||
|
||||
var/new_gender = alert(src, "Please select your gender.", "ERT Character Generation", "Male", "Female")
|
||||
|
||||
if(new_gender)
|
||||
if(new_gender == "Male")
|
||||
M.change_gender(MALE)
|
||||
else
|
||||
M.change_gender(FEMALE)
|
||||
|
||||
M.set_species(/datum/species/human, TRUE)
|
||||
M.dna.ready_dna(M)
|
||||
M.reagents.add_reagent("mutadone", 1) //No fat/blind/colourblind/epileptic/whatever ERT.
|
||||
M.overeatduration = 0
|
||||
|
||||
var/hair_c = pick("#8B4513","#000000","#FF4500","#FFD700") // Brown, black, red, blonde
|
||||
var/eye_c = pick("#000000","#8B4513","1E90FF") // Black, brown, blue
|
||||
var/skin_tone = rand(-120, 20) // A range of skin colors
|
||||
|
||||
head_organ.facial_colour = hair_c
|
||||
head_organ.sec_facial_colour = hair_c
|
||||
head_organ.hair_colour = hair_c
|
||||
head_organ.sec_hair_colour = hair_c
|
||||
M.change_eye_color(eye_c)
|
||||
M.s_tone = skin_tone
|
||||
head_organ.h_style = random_hair_style(M.gender, head_organ.dna.species.name)
|
||||
head_organ.f_style = random_facial_hair_style(M.gender, head_organ.dna.species.name)
|
||||
|
||||
M.rename_character(null, "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(last_names)]")
|
||||
M.age = rand(23,35)
|
||||
M.regenerate_icons()
|
||||
M.update_body()
|
||||
M.update_dna()
|
||||
|
||||
//Creates mind stuff.
|
||||
M.mind = new
|
||||
M.mind.current = M
|
||||
M.mind.original = M
|
||||
M.mind.assigned_role = SPECIAL_ROLE_ERT
|
||||
M.mind.special_role = SPECIAL_ROLE_ERT
|
||||
if(!(M.mind in ticker.minds))
|
||||
ticker.minds += M.mind //Adds them to regular mind list.
|
||||
ticker.mode.ert += M.mind
|
||||
M.forceMove(spawn_location)
|
||||
|
||||
job_master.CreateMoneyAccount(M, class, null)
|
||||
|
||||
active_team.equip_officer(class, M)
|
||||
|
||||
return M
|
||||
|
||||
|
||||
/datum/response_team
|
||||
var/command_slots = 1
|
||||
var/engineer_slots = 3
|
||||
var/medical_slots = 3
|
||||
var/security_slots = 3
|
||||
var/janitor_slots = 0
|
||||
var/paranormal_slots = 0
|
||||
var/cyborg_slots = 0
|
||||
|
||||
var/command_outfit
|
||||
var/engineering_outfit
|
||||
var/medical_outfit
|
||||
var/security_outfit
|
||||
var/janitor_outfit
|
||||
var/paranormal_outfit
|
||||
var/cyborg_unlock = 0
|
||||
|
||||
/datum/response_team/proc/setSlots(com, sec, med, eng, jan, par, cyb)
|
||||
command_slots = com == null ? command_slots : com
|
||||
security_slots = sec == null ? security_slots : sec
|
||||
medical_slots = med == null ? medical_slots : med
|
||||
engineer_slots = eng == null ? engineer_slots : eng
|
||||
janitor_slots = jan == null ? janitor_slots : jan
|
||||
paranormal_slots = par == null ? paranormal_slots : par
|
||||
cyborg_slots = cyb == null ? cyborg_slots : cyb
|
||||
|
||||
/datum/response_team/proc/reduceCyborgSlots()
|
||||
cyborg_slots--
|
||||
|
||||
/datum/response_team/proc/getCyborgUnlock()
|
||||
return cyborg_unlock
|
||||
|
||||
/datum/response_team/proc/get_slot_list()
|
||||
var/list/slots_available = list()
|
||||
if(command_slots)
|
||||
slots_available |= "Commander"
|
||||
if(security_slots)
|
||||
slots_available |= "Security"
|
||||
if(engineer_slots)
|
||||
slots_available |= "Engineer"
|
||||
if(medical_slots)
|
||||
slots_available |= "Medic"
|
||||
if(janitor_slots)
|
||||
slots_available |= "Janitor"
|
||||
if(paranormal_slots)
|
||||
slots_available |= "Paranormal"
|
||||
if(cyborg_slots)
|
||||
slots_available |= "Cyborg"
|
||||
return slots_available
|
||||
|
||||
/datum/response_team/proc/check_slot_available(var/slot)
|
||||
switch(slot)
|
||||
if("Commander")
|
||||
return command_slots
|
||||
if("Security")
|
||||
return security_slots
|
||||
if("Engineer")
|
||||
return engineer_slots
|
||||
if("Medic")
|
||||
return medical_slots
|
||||
if("Janitor")
|
||||
return janitor_slots
|
||||
if("Paranormal")
|
||||
return paranormal_slots
|
||||
if("Cyborg")
|
||||
return cyborg_slots
|
||||
return 0
|
||||
|
||||
/datum/response_team/proc/equip_officer(var/officer_type, var/mob/living/carbon/human/M)
|
||||
switch(officer_type)
|
||||
if("Engineer")
|
||||
engineer_slots -= 1
|
||||
M.equipOutfit(engineering_outfit)
|
||||
M.job = "ERT Engineering"
|
||||
|
||||
if("Security")
|
||||
security_slots -= 1
|
||||
M.equipOutfit(security_outfit)
|
||||
M.job = "ERT Security"
|
||||
|
||||
if("Medic")
|
||||
medical_slots -= 1
|
||||
M.equipOutfit(medical_outfit)
|
||||
M.job = "ERT Medical"
|
||||
|
||||
if("Janitor")
|
||||
janitor_slots -= 1
|
||||
M.equipOutfit(janitor_outfit)
|
||||
M.job = "ERT Janitor"
|
||||
|
||||
if("Paranormal")
|
||||
paranormal_slots -= 1
|
||||
M.equipOutfit(paranormal_outfit)
|
||||
M.job = "ERT Paranormal"
|
||||
|
||||
if("Commander")
|
||||
command_slots = 0
|
||||
|
||||
// Override name and age for the commander
|
||||
M.rename_character(null, "[pick("Lieutenant", "Captain", "Major")] [pick(last_names)]")
|
||||
M.age = rand(35,45)
|
||||
|
||||
M.equipOutfit(command_outfit)
|
||||
M.job = "ERT Commander"
|
||||
|
||||
/datum/response_team/proc/cannot_send_team()
|
||||
event_announcement.Announce("[station_name()], we are unfortunately unable to send you an Emergency Response Team at this time.", "ERT Unavailable")
|
||||
|
||||
/datum/response_team/proc/announce_team()
|
||||
event_announcement.Announce("Attention, [station_name()]. We are sending a team of highly trained assistants to aid(?) you. Standby.", "ERT En-Route")
|
||||
|
||||
// -- AMBER TEAM --
|
||||
|
||||
/datum/response_team/amber
|
||||
engineering_outfit = /datum/outfit/job/centcom/response_team/engineer/amber
|
||||
security_outfit = /datum/outfit/job/centcom/response_team/security/amber
|
||||
medical_outfit = /datum/outfit/job/centcom/response_team/medic/amber
|
||||
command_outfit = /datum/outfit/job/centcom/response_team/commander/amber
|
||||
janitor_outfit = /datum/outfit/job/centcom/response_team/janitorial/amber
|
||||
paranormal_outfit = /datum/outfit/job/centcom/response_team/paranormal/amber
|
||||
|
||||
/datum/response_team/amber/announce_team()
|
||||
event_announcement.Announce("Attention, [station_name()]. We are sending a code AMBER light Emergency Response Team. Standby.", "ERT En-Route")
|
||||
|
||||
// -- RED TEAM --
|
||||
|
||||
/datum/response_team/red
|
||||
engineering_outfit = /datum/outfit/job/centcom/response_team/engineer/red
|
||||
security_outfit = /datum/outfit/job/centcom/response_team/security/red
|
||||
medical_outfit = /datum/outfit/job/centcom/response_team/medic/red
|
||||
command_outfit = /datum/outfit/job/centcom/response_team/commander/red
|
||||
janitor_outfit = /datum/outfit/job/centcom/response_team/janitorial/red
|
||||
paranormal_outfit = /datum/outfit/job/centcom/response_team/paranormal/red
|
||||
|
||||
/datum/response_team/red/announce_team()
|
||||
event_announcement.Announce("Attention, [station_name()]. We are sending a code RED Emergency Response Team. Standby.", "ERT En-Route")
|
||||
|
||||
// -- GAMMA TEAM --
|
||||
|
||||
/datum/response_team/gamma
|
||||
engineering_outfit = /datum/outfit/job/centcom/response_team/engineer/gamma
|
||||
security_outfit = /datum/outfit/job/centcom/response_team/security/gamma
|
||||
medical_outfit = /datum/outfit/job/centcom/response_team/medic/gamma
|
||||
command_outfit = /datum/outfit/job/centcom/response_team/commander/gamma
|
||||
janitor_outfit = /datum/outfit/job/centcom/response_team/janitorial/gamma
|
||||
paranormal_outfit = /datum/outfit/job/centcom/response_team/paranormal/gamma
|
||||
cyborg_unlock = 1
|
||||
|
||||
/datum/response_team/gamma/announce_team()
|
||||
event_announcement.Announce("Attention, [station_name()]. We are sending a code GAMMA elite Emergency Response Team. Standby.", "ERT En-Route")
|
||||
|
||||
/datum/outfit/job/centcom/response_team
|
||||
name = "Response team"
|
||||
var/rt_assignment = "Emergency Response Team Member"
|
||||
var/rt_job = "This is a bug"
|
||||
allow_backbag_choice = FALSE
|
||||
allow_loadout = FALSE
|
||||
pda = /obj/item/pda/heads/ert
|
||||
id = /obj/item/card/id/ert
|
||||
l_ear = /obj/item/radio/headset/ert/alt
|
||||
box = /obj/item/storage/box/responseteam
|
||||
|
||||
implants = list(/obj/item/implant/mindshield)
|
||||
|
||||
/obj/item/radio/centcom
|
||||
name = "centcomm bounced radio"
|
||||
frequency = ERT_FREQ
|
||||
icon_state = "radio"
|
||||
|
||||
/obj/item/storage/box/responseteam/
|
||||
name = "boxed survival kit"
|
||||
|
||||
/obj/item/storage/box/responseteam/New()
|
||||
..()
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
new /obj/item/tank/emergency_oxygen/engi(src)
|
||||
new /obj/item/flashlight/flare(src)
|
||||
new /obj/item/kitchen/knife/combat(src)
|
||||
new /obj/item/radio/centcom(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
@@ -0,0 +1,485 @@
|
||||
/* ERT OUTFIT DATUMS */
|
||||
|
||||
/datum/outfit/job/centcom/response_team/imprint_idcard(mob/living/carbon/human/H)
|
||||
var/obj/item/card/id/W = H.wear_id
|
||||
if(!istype(W))
|
||||
return
|
||||
W.assignment = rt_assignment
|
||||
W.rank = W.assignment
|
||||
W.age = H.age
|
||||
W.sex = capitalize(H.gender)
|
||||
W.registered_name = H.real_name
|
||||
W.name = "[H.real_name]'s ID Card ([rt_job])"
|
||||
W.access = get_centcom_access(W.assignment)
|
||||
W.photo = get_id_photo(H)
|
||||
if(H.mind && H.mind.initial_account && H.mind.initial_account.account_number)
|
||||
W.associated_account_number = H.mind.initial_account.account_number
|
||||
|
||||
/datum/outfit/job/centcom/response_team/imprint_pda(mob/living/carbon/human/H)
|
||||
var/obj/item/pda/PDA = H.wear_pda
|
||||
if(istype(PDA))
|
||||
PDA.owner = H.real_name
|
||||
PDA.ownjob = rt_assignment
|
||||
PDA.ownrank = rt_assignment
|
||||
PDA.name = "PDA-[H.real_name] ([PDA.ownjob])"
|
||||
|
||||
|
||||
//////////////////// COMMANDER ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/commander
|
||||
name = "RT Commander"
|
||||
rt_assignment = "Emergency Response Team Leader"
|
||||
rt_job = "Emergency Response Team Leader"
|
||||
|
||||
uniform = /obj/item/clothing/under/rank/centcom_officer
|
||||
back = /obj/item/storage/backpack/ert/commander
|
||||
|
||||
id = /obj/item/card/id/ert/commander
|
||||
|
||||
l_pocket = /obj/item/pinpointer
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
/datum/outfit/job/centcom/response_team/commander/amber
|
||||
name = "RT Commander (Amber)"
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
suit = /obj/item/clothing/suit/armor/vest/ert/command
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
|
||||
belt = /obj/item/gun/energy/gun
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/ert/command = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer = 1,
|
||||
/obj/item/restraints/handcuffs = 1,
|
||||
/obj/item/storage/lockbox/mindshield = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/commander/red
|
||||
name = "RT Commander (Red)"
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/commander
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment
|
||||
)
|
||||
belt = /obj/item/gun/energy/gun/blueshield/pdw9
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/commander = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/gun/energy/ionrifle/carbine = 1,
|
||||
/obj/item/restraints/handcuffs = 1,
|
||||
/obj/item/clothing/shoes/magboots = 1,
|
||||
/obj/item/storage/lockbox/mindshield = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/commander/gamma
|
||||
name = "RT Commander (Gamma)"
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/commander/gamma
|
||||
glasses = /obj/item/clothing/glasses/night
|
||||
suit_store = /obj/item/gun/energy/gun/blueshield/pdw9
|
||||
belt = /obj/item/gun/projectile/automatic/pistol/enforcer/lethal
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/commander/gamma = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/restraints/handcuffs = 1,
|
||||
/obj/item/storage/lockbox/mindshield = 1,
|
||||
/obj/item/gun/energy/ionrifle/carbine = 1,
|
||||
/obj/item/ammo_box/magazine/enforcer/lethal = 2
|
||||
)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun,
|
||||
/obj/item/organ/internal/cyberimp/arm/flash
|
||||
)
|
||||
|
||||
//////////////////// SECURITY ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/security
|
||||
name = "RT Security"
|
||||
rt_job = "Emergency Response Team Officer"
|
||||
uniform = /obj/item/clothing/under/rank/security
|
||||
back = /obj/item/storage/backpack/ert/security
|
||||
belt = /obj/item/storage/belt/security/response_team
|
||||
pda = /obj/item/pda/heads/ert/security
|
||||
id = /obj/item/card/id/ert/security
|
||||
|
||||
/datum/outfit/job/centcom/response_team/security/amber
|
||||
name = "RT Security (Amber)"
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
suit = /obj/item/clothing/suit/armor/vest/ert/security
|
||||
suit_store = /obj/item/gun/energy/gun/advtaser
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
|
||||
r_hand = /obj/item/gun/energy/laser
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/ert/security = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer = 1,
|
||||
/obj/item/storage/box/zipties = 1,
|
||||
/obj/item/storage/box/teargas = 1,
|
||||
/obj/item/flashlight/seclite = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/security/red
|
||||
name = "RT Security (Red)"
|
||||
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/security
|
||||
suit_store = /obj/item/gun/energy/gun/blueshield/pdw9
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
|
||||
r_hand = /obj/item/gun/projectile/automatic/lasercarbine
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/arm/flash,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security
|
||||
)
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/security = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer = 1,
|
||||
/obj/item/clothing/shoes/magboots = 1,
|
||||
/obj/item/storage/box/handcuffs = 1,
|
||||
/obj/item/storage/box/teargas = 1,
|
||||
/obj/item/grenade/flashbang = 1,
|
||||
/obj/item/ammo_box/magazine/laser = 2
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/security/gamma
|
||||
name = "RT Security (Gamma)"
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/security/gamma
|
||||
belt = /obj/item/storage/belt/security/response_team_gamma
|
||||
suit_store = /obj/item/gun/energy/gun/nuclear
|
||||
glasses = /obj/item/clothing/glasses/night
|
||||
l_pocket = /obj/item/restraints/legcuffs/bola/energy
|
||||
r_pocket = /obj/item/extinguisher/mini
|
||||
|
||||
r_hand = /obj/item/gun/energy/immolator/multi
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/security/gamma = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/storage/box/handcuffs = 1,
|
||||
/obj/item/storage/box/flashbangs = 1,
|
||||
/obj/item/whetstone = 1,
|
||||
/obj/item/storage/lockbox/t4 = 1
|
||||
)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun,
|
||||
/obj/item/organ/internal/cyberimp/arm/telebaton,
|
||||
/obj/item/organ/internal/cyberimp/chest/reviver
|
||||
)
|
||||
|
||||
|
||||
//////////////////// ENGINEER ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/engineer
|
||||
name = "RT Engineer"
|
||||
rt_job = "Emergency Response Team Engineer"
|
||||
back = /obj/item/storage/backpack/ert/engineer
|
||||
uniform = /obj/item/clothing/under/rank/engineer
|
||||
|
||||
belt = /obj/item/storage/belt/utility/full/multitool
|
||||
pda = /obj/item/pda/heads/ert/engineering
|
||||
id = /obj/item/card/id/ert/engineering
|
||||
|
||||
/datum/outfit/job/centcom/response_team/engineer/amber
|
||||
name = "RT Engineer (Amber)"
|
||||
shoes = /obj/item/clothing/shoes/magboots
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer
|
||||
suit_store = /obj/item/tank/emergency_oxygen/engi
|
||||
glasses = /obj/item/clothing/glasses/meson
|
||||
|
||||
l_pocket = /obj/item/gun/energy/gun/mini
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer = 1,
|
||||
/obj/item/clothing/mask/gas = 1,
|
||||
/obj/item/t_scanner = 1,
|
||||
/obj/item/stack/sheet/glass/fifty = 1,
|
||||
/obj/item/stack/sheet/metal/fifty = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/engineer/red
|
||||
name = "RT Engineer (Red)"
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
belt = /obj/item/storage/belt/utility/chief/full
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer
|
||||
suit_store = /obj/item/tank/emergency_oxygen/engi
|
||||
glasses = /obj/item/clothing/glasses/meson
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/eyes/shield,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment
|
||||
)
|
||||
l_pocket = /obj/item/t_scanner/extended_range
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer = 1,
|
||||
/obj/item/clothing/mask/gas = 1,
|
||||
/obj/item/rcd/preloaded = 1,
|
||||
/obj/item/rcd_ammo = 3,
|
||||
/obj/item/gun/energy/gun = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/engineer/gamma
|
||||
name = "RT Engineer (Gamma)"
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
belt = /obj/item/storage/belt/utility/chief/full
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer/gamma
|
||||
suit_store = /obj/item/gun/energy/gun/blueshield/pdw9
|
||||
glasses = /obj/item/clothing/glasses/meson/night
|
||||
|
||||
l_pocket = /obj/item/t_scanner/extended_range
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/rcd/combat = 1,
|
||||
/obj/item/rcd_ammo/large = 3
|
||||
)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun,
|
||||
/obj/item/organ/internal/cyberimp/eyes/shield,
|
||||
/obj/item/organ/internal/cyberimp/arm/toolset
|
||||
)
|
||||
|
||||
//////////////////// MEDIC ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/medic
|
||||
name = "RT Medic"
|
||||
rt_job = "Emergency Response Team Medic"
|
||||
uniform = /obj/item/clothing/under/rank/medical
|
||||
back = /obj/item/storage/backpack/ert/medical
|
||||
pda = /obj/item/pda/heads/ert/medical
|
||||
id = /obj/item/card/id/ert/medic
|
||||
|
||||
/datum/outfit/job/centcom/response_team/medic/amber
|
||||
name = "RT Medic (Amber)"
|
||||
|
||||
shoes = /obj/item/clothing/shoes/white
|
||||
gloves = /obj/item/clothing/gloves/color/latex
|
||||
suit = /obj/item/clothing/suit/armor/vest/ert/medical
|
||||
suit_store = /obj/item/gun/energy/gun/mini
|
||||
glasses = /obj/item/clothing/glasses/hud/health
|
||||
|
||||
belt = /obj/item/storage/belt/medical/surgery/loaded
|
||||
|
||||
l_pocket = /obj/item/reagent_containers/hypospray/safety/ert
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
l_hand = /obj/item/defibrillator/loaded
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/ert/medical = 1,
|
||||
/obj/item/clothing/mask/surgical = 1,
|
||||
/obj/item/storage/firstaid/adv = 1,
|
||||
/obj/item/storage/firstaid/regular = 1,
|
||||
/obj/item/storage/box/autoinjectors = 1,
|
||||
/obj/item/roller = 1,
|
||||
/obj/item/storage/pill_bottle/ert = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/medic/red
|
||||
name = "RT Medic (Red)"
|
||||
shoes = /obj/item/clothing/shoes/white
|
||||
gloves = /obj/item/clothing/gloves/color/latex/nitrile
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/medical
|
||||
glasses = /obj/item/clothing/glasses/hud/health/health_advanced
|
||||
suit_store = /obj/item/gun/energy/gun
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/arm/surgery,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment
|
||||
)
|
||||
belt = /obj/item/defibrillator/compact/loaded
|
||||
|
||||
l_pocket = /obj/item/reagent_containers/hypospray/safety/ert
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical = 1,
|
||||
/obj/item/clothing/mask/surgical = 1,
|
||||
/obj/item/storage/firstaid/toxin = 1,
|
||||
/obj/item/storage/firstaid/brute = 1,
|
||||
/obj/item/storage/firstaid/fire = 1,
|
||||
/obj/item/storage/box/autoinjectors = 1,
|
||||
/obj/item/roller = 1,
|
||||
/obj/item/clothing/shoes/magboots = 1,
|
||||
/obj/item/bodyanalyzer = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/medic/gamma
|
||||
name = "RT Medic (Gamma)"
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/medical/gamma
|
||||
glasses = /obj/item/clothing/glasses/night
|
||||
suit_store = /obj/item/gun/energy/gun/blueshield/pdw9
|
||||
|
||||
belt = /obj/item/defibrillator/compact/loaded
|
||||
|
||||
l_pocket = /obj/item/reagent_containers/hypospray/combat/nanites
|
||||
r_pocket = /obj/item/reagent_containers/hypospray/autoinjector
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical/gamma = 1,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/bodyanalyzer/advanced = 1,
|
||||
/obj/item/extinguisher/mini = 1,
|
||||
/obj/item/storage/belt/medical/surgery/loaded = 1,
|
||||
/obj/item/roller = 1
|
||||
)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/arm/surgery/l,
|
||||
/obj/item/organ/internal/cyberimp/arm/medibeam,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/medical,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun
|
||||
)
|
||||
|
||||
//////////////////// PARANORMAL ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/paranormal
|
||||
name = "RT Paranormal"
|
||||
rt_job = "Emergency Response Team Inquisitor"
|
||||
uniform = /obj/item/clothing/under/rank/chaplain
|
||||
back = /obj/item/storage/backpack/ert/security
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
l_ear = /obj/item/radio/headset/ert/alt
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
belt = /obj/item/storage/belt/security/response_team
|
||||
id = /obj/item/card/id/centcom
|
||||
pda = /obj/item/pda/centcom
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
||||
/obj/item/storage/box/zipties = 1,
|
||||
/obj/item/flashlight/seclite = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/paranormal/amber
|
||||
name = "RT Paranormal (Amber)"
|
||||
suit = /obj/item/clothing/suit/armor/vest/ert/security/paranormal
|
||||
head = /obj/item/clothing/head/helmet/ert/security/paranormal
|
||||
suit_store = /obj/item/gun/energy/gun/advtaser
|
||||
r_pocket = /obj/item/nullrod
|
||||
|
||||
/datum/outfit/job/centcom/response_team/paranormal/red
|
||||
name = "RT Paranormal (Red)"
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor
|
||||
head = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor
|
||||
suit_store = /obj/item/gun/energy/gun
|
||||
r_pocket = /obj/item/nullrod
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/paranormal/gamma
|
||||
name = "RT Paranormal (Gamma)"
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor
|
||||
head = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor
|
||||
suit_store = /obj/item/gun/energy/gun/nuclear
|
||||
l_pocket = /obj/item/grenade/clusterbuster/holy
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
glasses = /obj/item/clothing/glasses/night
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun
|
||||
)
|
||||
|
||||
//////////////////// JANITORIAL ///////////////////
|
||||
|
||||
/datum/outfit/job/centcom/response_team/janitorial
|
||||
name = "RT Janitor"
|
||||
rt_job = "Emergency Response Team Janitor"
|
||||
uniform = /obj/item/clothing/under/color/purple
|
||||
back = /obj/item/storage/backpack/ert/janitor
|
||||
belt = /obj/item/storage/belt/janitor/full
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
shoes = /obj/item/clothing/shoes/galoshes
|
||||
l_ear = /obj/item/radio/headset/ert/alt
|
||||
id = /obj/item/card/id/centcom
|
||||
pda = /obj/item/pda/centcom
|
||||
l_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
backpack_contents = list(
|
||||
/obj/item/grenade/chem_grenade/antiweed = 2,
|
||||
/obj/item/reagent_containers/spray/cleaner = 1,
|
||||
/obj/item/storage/bag/trash = 1,
|
||||
/obj/item/storage/box/lights/mixed = 1,
|
||||
/obj/item/holosign_creator = 1,
|
||||
/obj/item/flashlight = 1)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/janitorial/amber
|
||||
name = "RT Janitor (Amber)"
|
||||
suit = /obj/item/clothing/suit/armor/vest/ert/janitor
|
||||
head = /obj/item/clothing/head/helmet/ert/janitor
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
|
||||
r_hand = /obj/item/gun/energy/disabler
|
||||
|
||||
/datum/outfit/job/centcom/response_team/janitorial/red
|
||||
name = "RT Janitor (Red)"
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/janitor
|
||||
head = /obj/item/clothing/head/helmet/space/hardsuit/ert/janitor
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
|
||||
r_pocket = /obj/item/scythe/tele
|
||||
l_pocket = /obj/item/gun/energy/gun/mini
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/arm/advmop,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/janitorial/gamma
|
||||
name = "RT Janitor (Gamma)"
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/ert/janitor/gamma
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
suit_store = /obj/item/gun/energy/gun
|
||||
l_pocket = /obj/item/grenade/clusterbuster/cleaner
|
||||
r_pocket = /obj/item/scythe/tele
|
||||
shoes = /obj/item/clothing/shoes/magboots/advance
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/janitor/gamma = 1,
|
||||
/obj/item/grenade/chem_grenade/antiweed = 2,
|
||||
/obj/item/storage/box/lights/mixed = 1,
|
||||
/obj/item/storage/bag/trash/bluespace = 1,
|
||||
/obj/item/reagent_containers/spray/cleaner = 1
|
||||
)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/arm/advmop
|
||||
)
|
||||
@@ -166,7 +166,7 @@
|
||||
if(check_rights(R_EVENT, 0, C.mob))
|
||||
fullmin_count++
|
||||
if(fullmin_count)
|
||||
ert_request_answered = 0
|
||||
ert_request_answered = TRUE
|
||||
ERT_Announce(ert_reason , event_triggered_by, 0)
|
||||
ert_reason = "Reason for ERT"
|
||||
feedback_inc("alert_keycard_auth_ert",1)
|
||||
|
||||
@@ -168,7 +168,6 @@
|
||||
/obj/item/organ/internal/cyberimp/arm/gun/laser/l
|
||||
parent_organ = "l_arm"
|
||||
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/gun/taser
|
||||
name = "arm-mounted taser implant"
|
||||
desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use."
|
||||
@@ -245,6 +244,10 @@
|
||||
contents = newlist(/obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, /obj/item/bonegel/augment, /obj/item/FixOVein/augment, /obj/item/bonesetter/augment)
|
||||
origin_tech = "materials=3;engineering=3;biotech=3;programming=2;magnets=3"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/surgery/l
|
||||
parent_organ = "l_arm"
|
||||
slot = "l_arm_device"
|
||||
|
||||
// lets make IPCs even *more* vulnerable to EMPs!
|
||||
/obj/item/organ/internal/cyberimp/arm/power_cord
|
||||
name = "APC-compatible power adapter implant"
|
||||
@@ -318,4 +321,16 @@
|
||||
if(H.nutrition > NUTRITION_LEVEL_WELL_FED)
|
||||
to_chat(H, "<span class='notice'>You are now fully charged.</span>")
|
||||
break
|
||||
H.visible_message("<span class='notice'>[H] unplugs from \the [A].</span>", "<span class='notice'>You unplug from \the [A].</span>")
|
||||
H.visible_message("<span class='notice'>[H] unplugs from \the [A].</span>", "<span class='notice'>You unplug from \the [A].</span>")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/telebaton
|
||||
name = "telebaton implant"
|
||||
desc = "Telescopic baton implant. Does what it says on the tin" // A better description
|
||||
|
||||
contents = newlist(/obj/item/melee/classic_baton)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/advmop
|
||||
name = "advanced mop implant"
|
||||
desc = "Advanced mop implant. Does what it says on the tin" // A better description
|
||||
|
||||
contents = newlist(/obj/item/mop/advanced)
|
||||
Reference in New Issue
Block a user