mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-10 01:22:41 +00:00
No front-end changes. This just means that mob colours now take up less columns in the database, incur less processing (reduced rgb() calls) and reduces the amount of code dedicated to them.
640 lines
22 KiB
Plaintext
640 lines
22 KiB
Plaintext
//STRIKE TEAMS
|
|
//Thanks to Kilakk for the admin-button portion of this code.
|
|
|
|
#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
|
|
var/ert_request_answered = 0
|
|
|
|
/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 == 1)
|
|
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
|
|
|
|
if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes")
|
|
return
|
|
|
|
if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red
|
|
switch(alert("The station is not in red alert. Do you still want to dispatch a response team?",,"Yes","No"))
|
|
if("No")
|
|
return
|
|
|
|
if(send_emergency_team)
|
|
to_chat(usr, "<span class='warning'>Central Command has already dispatched an emergency response team!</span>")
|
|
return
|
|
|
|
var/ert_type = pick_ert_type()
|
|
|
|
if(!ert_type)
|
|
return
|
|
|
|
ert_request_answered = 1
|
|
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team", 1)
|
|
log_admin("[key_name(usr)] used Dispatch Emergency Response Team..")
|
|
trigger_armed_response_team(ert_type)
|
|
|
|
/client/proc/pick_ert_type()
|
|
switch(alert("Please select the ERT type you wish to deploy.", "Emergency Response Team", "Code Amber", "Code Red", "Code Gamma", "Cancel"))
|
|
if("Code Amber")
|
|
if(alert("Confirm: Deploy code 'AMBER' light ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
|
|
return new /datum/response_team/amber
|
|
else
|
|
return pick_ert_type()
|
|
if("Code Red")
|
|
if(alert("Confirm: Deploy code 'RED' medium ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
|
|
return new /datum/response_team/red
|
|
else
|
|
return pick_ert_type()
|
|
if("Code Gamma")
|
|
if(alert("Confirm: Deploy code 'GAMMA' elite ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
|
|
return new /datum/response_team/gamma
|
|
else
|
|
return pick_ert_type()
|
|
return 0
|
|
|
|
/mob/dead/observer/proc/JoinResponseTeam()
|
|
if(!send_emergency_team)
|
|
to_chat(src, "No emergency response team is currently being sent.")
|
|
return 0
|
|
|
|
if(jobban_isbanned(src, ROLE_ERT))
|
|
to_chat(src, "<span class='warning'>You are jobbanned from the emergency reponse 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(has_enabled_antagHUD == 1 && config.antag_hud_restricted)
|
|
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, "The emergency response team is already full!")
|
|
return 0
|
|
|
|
return 1
|
|
|
|
/proc/trigger_armed_response_team(var/datum/response_team/response_team_type)
|
|
response_team_members = list()
|
|
active_team = response_team_type
|
|
|
|
send_emergency_team = 1
|
|
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 = 0
|
|
return 0
|
|
|
|
// Respawnable players get first dibs
|
|
for(var/mob/dead/observer/M in ert_candidates)
|
|
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 = 0
|
|
return 0
|
|
|
|
var/index = 1
|
|
for(var/mob/M in response_team_members)
|
|
if(index > emergencyresponseteamspawn.len)
|
|
index = 1
|
|
|
|
var/client/C = M.client
|
|
var/mob/living/carbon/human/new_commando = C.create_response_team(emergencyresponseteamspawn[index])
|
|
new_commando.mind.key = M.key
|
|
new_commando.key = M.key
|
|
new_commando.update_icons()
|
|
index++
|
|
|
|
send_emergency_team = 0
|
|
active_team.announce_team()
|
|
return 1
|
|
|
|
/client/proc/create_response_team(var/turf/spawn_location)
|
|
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")
|
|
|
|
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(new_gender)
|
|
if(new_gender == "Male")
|
|
M.change_gender(MALE)
|
|
else
|
|
M.change_gender(FEMALE)
|
|
|
|
M.set_species("Human",1)
|
|
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 = pick(-50, -30, -10, 0, 0, 0, 10) // Caucasian/black
|
|
|
|
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.species.name)
|
|
head_organ.f_style = random_facial_hair_style(M.gender, head_organ.species.name)
|
|
|
|
M.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(last_names)]"
|
|
M.name = M.real_name
|
|
M.age = rand(23,35)
|
|
M.regenerate_icons()
|
|
M.update_body()
|
|
|
|
//Creates mind stuff.
|
|
M.mind = new
|
|
M.mind.current = M
|
|
M.mind.original = M
|
|
M.mind.assigned_role = "MODE"
|
|
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/command_outfit
|
|
var/engineering_outfit
|
|
var/medical_outfit
|
|
var/security_outfit
|
|
|
|
/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"
|
|
|
|
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
|
|
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("Commander")
|
|
command_slots = 0
|
|
|
|
// Override name and age for the commander
|
|
M.real_name = "[pick("Lieutenant", "Captain", "Major")] [pick(last_names)]"
|
|
M.name = M.real_name
|
|
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
|
|
|
|
/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
|
|
|
|
/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
|
|
|
|
/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/device/pda/heads/ert
|
|
id = /obj/item/weapon/card/id/ert
|
|
l_ear = /obj/item/device/radio/headset/ert/alt
|
|
|
|
implants = list(/obj/item/weapon/implant/mindshield)
|
|
|
|
/datum/outfit/job/centcom/response_team/pre_equip()
|
|
. = ..()
|
|
backpack_contents.Insert(1, /obj/item/weapon/storage/box/responseteam)
|
|
backpack_contents[/obj/item/weapon/storage/box/responseteam] = 1
|
|
|
|
/datum/outfit/job/centcom/response_team/imprint_idcard(mob/living/carbon/human/H)
|
|
var/obj/item/weapon/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/device/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])"
|
|
|
|
/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/weapon/storage/backpack/ert/commander
|
|
|
|
id = /obj/item/weapon/card/id/ert/commander
|
|
|
|
l_pocket = /obj/item/weapon/pinpointer
|
|
r_pocket = /obj/item/weapon/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/weapon/gun/energy/gun
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/ert/command = 1,
|
|
/obj/item/clothing/mask/gas/sechailer = 1,
|
|
/obj/item/weapon/restraints/handcuffs = 1,
|
|
/obj/item/weapon/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/hud/security/sunglasses
|
|
|
|
belt = /obj/item/weapon/gun/energy/gun/nuclear
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/commander = 1,
|
|
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
|
/obj/item/weapon/restraints/handcuffs = 1,
|
|
/obj/item/clothing/shoes/magboots = 1,
|
|
/obj/item/weapon/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
|
|
glasses = /obj/item/clothing/glasses/hud/security/night
|
|
|
|
belt = /obj/item/weapon/gun/energy/gun/nuclear
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/commander = 1,
|
|
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
|
/obj/item/weapon/restraints/handcuffs = 1,
|
|
/obj/item/weapon/storage/lockbox/mindshield = 1,
|
|
/obj/item/weapon/gun/energy/pulse/pistol = 1
|
|
)
|
|
|
|
/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/weapon/storage/backpack/ert/security
|
|
belt = /obj/item/weapon/storage/belt/security/response_team
|
|
pda = /obj/item/device/pda/heads/ert/security
|
|
id = /obj/item/weapon/card/id/ert/security
|
|
var/has_grenades = FALSE
|
|
|
|
/datum/outfit/job/centcom/response_team/security/pre_equip()
|
|
. = ..()
|
|
if(has_grenades)
|
|
var/grenadebox = /obj/item/weapon/storage/box/flashbangs
|
|
if(prob(50))
|
|
grenadebox = /obj/item/weapon/storage/box/teargas
|
|
backpack_contents.Insert(1, grenadebox)
|
|
backpack_contents[grenadebox] = 1
|
|
|
|
/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/weapon/gun/energy/gun/advtaser
|
|
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
|
|
|
r_hand = /obj/item/weapon/gun/energy/laser
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/ert/security = 1,
|
|
/obj/item/clothing/mask/gas/sechailer = 1,
|
|
/obj/item/weapon/storage/box/zipties = 1
|
|
)
|
|
|
|
/datum/outfit/job/centcom/response_team/security/red
|
|
name = "RT Security (Red)"
|
|
has_grenades = TRUE
|
|
|
|
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/weapon/gun/energy/gun/advtaser
|
|
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
|
|
|
|
r_hand = /obj/item/weapon/gun/energy/lasercannon
|
|
|
|
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/weapon/storage/box/handcuffs = 1,
|
|
/obj/item/weapon/gun/energy/ionrifle/carbine = 1
|
|
)
|
|
|
|
/datum/outfit/job/centcom/response_team/security/gamma
|
|
name = "RT Security (Gamma)"
|
|
has_grenades = TRUE
|
|
shoes = /obj/item/clothing/shoes/magboots/advance
|
|
gloves = /obj/item/clothing/gloves/combat
|
|
suit = /obj/item/clothing/suit/space/hardsuit/ert/security
|
|
suit_store = /obj/item/weapon/gun/energy/gun/nuclear
|
|
glasses = /obj/item/clothing/glasses/hud/security/night
|
|
|
|
r_hand = /obj/item/weapon/gun/energy/pulse/carbine
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/security = 1,
|
|
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
|
/obj/item/weapon/storage/box/handcuffs = 1,
|
|
/obj/item/weapon/gun/energy/ionrifle/carbine = 1
|
|
)
|
|
|
|
/datum/outfit/job/centcom/response_team/engineer
|
|
name = "RT Engineer"
|
|
rt_job = "Emergency Response Team Engineer"
|
|
back = /obj/item/weapon/storage/backpack/ert/engineer
|
|
uniform = /obj/item/clothing/under/rank/engineer
|
|
|
|
belt = /obj/item/weapon/storage/belt/utility/full/multitool
|
|
pda = /obj/item/device/pda/heads/ert/engineering
|
|
id = /obj/item/weapon/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/weapon/tank/emergency_oxygen/engi
|
|
glasses = /obj/item/clothing/glasses/meson
|
|
|
|
l_pocket = /obj/item/device/t_scanner
|
|
r_pocket = /obj/item/weapon/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/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
|
|
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer
|
|
suit_store = /obj/item/weapon/tank/emergency_oxygen/engi
|
|
glasses = /obj/item/clothing/glasses/meson
|
|
|
|
l_pocket = /obj/item/device/t_scanner/extended_range
|
|
r_pocket = /obj/item/weapon/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/weapon/rcd/preloaded = 1,
|
|
/obj/item/weapon/rcd_ammo = 3,
|
|
/obj/item/weapon/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
|
|
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer
|
|
suit_store = /obj/item/weapon/tank/emergency_oxygen/double/full
|
|
glasses = /obj/item/clothing/glasses/meson/night
|
|
|
|
l_pocket = /obj/item/device/t_scanner/extended_range
|
|
r_pocket = /obj/item/weapon/melee/classic_baton/telescopic
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/engineer = 1,
|
|
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
|
/obj/item/weapon/rcd/combat = 1,
|
|
/obj/item/weapon/rcd_ammo/large = 3,
|
|
/obj/item/weapon/gun/energy/pulse/pistol = 1
|
|
)
|
|
|
|
/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/weapon/storage/backpack/ert/medical
|
|
pda = /obj/item/device/pda/heads/ert/medical
|
|
id = /obj/item/weapon/card/id/ert/medic
|
|
|
|
l_pocket = /obj/item/weapon/reagent_containers/hypospray/CMO
|
|
r_pocket = /obj/item/weapon/melee/classic_baton/telescopic
|
|
|
|
/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
|
|
glasses = /obj/item/clothing/glasses/hud/health
|
|
|
|
belt = /obj/item/weapon/storage/belt/medical/response_team
|
|
|
|
l_pocket = /obj/item/weapon/reagent_containers/hypospray/CMO
|
|
r_pocket = /obj/item/weapon/melee/classic_baton/telescopic
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/ert/medical = 1,
|
|
/obj/item/clothing/mask/surgical = 1,
|
|
/obj/item/weapon/storage/firstaid/o2 = 1,
|
|
/obj/item/weapon/storage/firstaid/brute = 1,
|
|
/obj/item/weapon/storage/firstaid/adv = 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
|
|
|
|
belt = /obj/item/weapon/defibrillator/compact/loaded
|
|
|
|
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical = 1,
|
|
/obj/item/clothing/mask/surgical = 1,
|
|
/obj/item/weapon/storage/firstaid/o2 = 1,
|
|
/obj/item/weapon/storage/firstaid/toxin = 1,
|
|
/obj/item/weapon/storage/firstaid/adv = 1,
|
|
/obj/item/weapon/storage/firstaid/surgery = 1,
|
|
/obj/item/weapon/gun/energy/gun = 1,
|
|
/obj/item/clothing/shoes/magboots = 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
|
|
glasses = /obj/item/clothing/glasses/hud/health/night
|
|
|
|
belt = /obj/item/weapon/defibrillator/compact/loaded
|
|
|
|
l_pocket = /obj/item/weapon/reagent_containers/hypospray/combat/nanites
|
|
|
|
r_hand = /obj/item/weapon/gun/medbeam
|
|
backpack_contents = list(
|
|
/obj/item/clothing/head/helmet/space/hardsuit/ert/medical = 1,
|
|
/obj/item/clothing/mask/gas/sechailer/swat = 1,
|
|
/obj/item/weapon/storage/firstaid/surgery = 1,
|
|
/obj/item/weapon/gun/energy/pulse/pistol = 1
|
|
)
|
|
|
|
/obj/item/device/radio/centcom
|
|
name = "centcomm bounced radio"
|
|
frequency = ERT_FREQ
|
|
icon_state = "radio"
|
|
|
|
/obj/item/weapon/storage/box/responseteam/
|
|
name = "boxed survival kit"
|
|
|
|
/obj/item/weapon/storage/box/responseteam/New()
|
|
..()
|
|
contents = list()
|
|
sleep(1)
|
|
new /obj/item/clothing/mask/breath( src )
|
|
new /obj/item/weapon/tank/emergency_oxygen/engi( src )
|
|
new /obj/item/device/flashlight/flare( src )
|
|
new /obj/item/weapon/kitchen/knife/combat( src )
|
|
new /obj/item/device/radio/centcom( src )
|
|
new /obj/item/weapon/reagent_containers/food/pill/salicylic( src )
|
|
new /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh( src )
|
|
return
|