diff --git a/code/datums/ert.dm b/code/datums/ert.dm index cde9da65112..d2d2bbbf06e 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -71,3 +71,12 @@ rename_team = "Horde of Interns" mission = "Assist in conflict resolution." polldesc = "an unpaid internship opportunity with Nanotrasen" + +/datum/ert/erp + roles = list(/datum/antagonist/ert/security/party, /datum/antagonist/ert/clown/party, /datum/antagonist/ert/engineer/party, /datum/antagonist/ert/janitor/party) + leader_role = /datum/antagonist/ert/commander/party + opendoors = FALSE + rename_team = "Emergency Response Party" + mission = "Create entertainment for the crew." + polldesc = "a Code Rainbow Nanotrasen Emergency Response Party" + code = "Rainbow" diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 3462ff1800b..e4008faed05 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -505,7 +505,7 @@ update_label() desc = "An ID straight from Central Command." icon_state = "centcom" registered_name = "Central Command" - assignment = "General" + assignment = "Central Command" uses_overlays = FALSE /obj/item/card/id/centcom/Initialize() @@ -525,30 +525,30 @@ update_label() access = get_all_accesses()+get_ert_access("commander")-ACCESS_CHANGE_IDS . = ..() -/obj/item/card/id/ert/Security +/obj/item/card/id/ert/security registered_name = "Security Response Officer" assignment = "Security Response Officer" icon_state = "ert_security" -/obj/item/card/id/ert/Security/Initialize() +/obj/item/card/id/ert/security/Initialize() access = get_all_accesses()+get_ert_access("sec")-ACCESS_CHANGE_IDS . = ..() -/obj/item/card/id/ert/Engineer - registered_name = "Engineer Response Officer" - assignment = "Engineer Response Officer" +/obj/item/card/id/ert/engineer + registered_name = "Engineering Response Officer" + assignment = "Engineering Response Officer" icon_state = "ert_engineer" -/obj/item/card/id/ert/Engineer/Initialize() +/obj/item/card/id/ert/engineer/Initialize() access = get_all_accesses()+get_ert_access("eng")-ACCESS_CHANGE_IDS . = ..() -/obj/item/card/id/ert/Medical +/obj/item/card/id/ert/medical registered_name = "Medical Response Officer" assignment = "Medical Response Officer" icon_state = "ert_medic" -/obj/item/card/id/ert/Medical/Initialize() +/obj/item/card/id/ert/medical/Initialize() access = get_all_accesses()+get_ert_access("med")-ACCESS_CHANGE_IDS . = ..() @@ -561,15 +561,33 @@ update_label() access = get_all_accesses()+get_ert_access("sec")-ACCESS_CHANGE_IDS . = ..() -/obj/item/card/id/ert/Janitor +/obj/item/card/id/ert/janitor registered_name = "Janitorial Response Officer" assignment = "Janitorial Response Officer" icon_state = "ert_janitor" -/obj/item/card/id/ert/Janitor/Initialize() +/obj/item/card/id/ert/janitor/Initialize() access = get_all_accesses() . = ..() +/obj/item/card/id/ert/clown + registered_name = "Entertainment Response Officer" + assignment = "Entertainment Response Officer" + icon_state = "ert_clown" + +/obj/item/card/id/ert/clown/Initialize() + access = get_all_accesses() + . = ..() + +/obj/item/card/id/ert/deathsquad + name = "\improper Death Squad ID" + id_type_name = "\improper Death Squad ID" + desc = "A Death Squad ID card." + icon_state = "deathsquad" //NO NO SIR DEATH SQUADS ARENT A PART OF NANOTRASEN AT ALL + registered_name = "Death Commando" + assignment = "Death Commando" + uses_overlays = FALSE + /obj/item/card/id/debug name = "\improper Debug ID" desc = "A debug ID card. Has ALL the all access, you really shouldn't have this." diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 0120b3ce5a4..d1aafe990ab 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -204,6 +204,15 @@ desc = "A spacious backpack with lots of pockets, worn by Engineers of an Emergency Response Team." icon_state = "ert_engineering" +/obj/item/storage/backpack/ert/janitor + name = "emergency response team janitor backpack" + desc = "A spacious backpack with lots of pockets, worn by Janitors of an Emergency Response Team." + icon_state = "ert_janitor" + +/obj/item/storage/backpack/ert/clown + name = "emergency response team clown backpack" + desc = "A spacious backpack with lots of pockets, worn by Clowns of an Emergency Response Team." + icon_state = "ert_clown" /* * Satchel Types */ diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 59a33cec997..11ff20a6e13 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -336,7 +336,7 @@ name = "championship belt" desc = "Proves to the world that you are the strongest!" icon_state = "championbelt" - item_state = "champion" + item_state = "championbelt" custom_materials = list(/datum/material/gold=400) /obj/item/storage/belt/champion/ComponentInitialize() diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 9c720f2d752..f4ae19125be 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -260,7 +260,7 @@ var/datum/antagonist/ert/ert = antag mannequin.equipOutfit(initial(ert.outfit), TRUE) else if (ispath(antag, /datum/antagonist/official)) - mannequin.equipOutfit(/datum/outfit/centcom_official, TRUE) + mannequin.equipOutfit(/datum/outfit/centcom/centcom_official, TRUE) /datum/admins/proc/makeERTPreviewIcon(list/settings) // Set up the dummy for its photoshoot diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 513e276661c..bdb71b0a44a 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -7,10 +7,11 @@ name = "Emergency Response Officer" var/datum/team/ert/ert_team var/leader = FALSE - var/datum/outfit/outfit = /datum/outfit/ert/security + var/datum/outfit/outfit = /datum/outfit/centcom/ert/security var/role = "Security Officer" var/list/name_source var/random_names = TRUE + var/rip_and_tear = FALSE show_in_antagpanel = FALSE antag_moodlet = /datum/mood_event/focused can_hijack = HIJACK_PREVENT @@ -45,53 +46,54 @@ /datum/antagonist/ert/security // kinda handled by the base template but here for completion /datum/antagonist/ert/security/red - outfit = /datum/outfit/ert/security/alert + outfit = /datum/outfit/centcom/ert/security/alert /datum/antagonist/ert/engineer role = "Engineer" - outfit = /datum/outfit/ert/engineer + outfit = /datum/outfit/centcom/ert/engineer /datum/antagonist/ert/engineer/red - outfit = /datum/outfit/ert/engineer/alert + outfit = /datum/outfit/centcom/ert/engineer/alert /datum/antagonist/ert/medic role = "Medical Officer" - outfit = /datum/outfit/ert/medic + outfit = /datum/outfit/centcom/ert/medic /datum/antagonist/ert/medic/red - outfit = /datum/outfit/ert/medic/alert + outfit = /datum/outfit/centcom/ert/medic/alert /datum/antagonist/ert/commander role = "Commander" - outfit = /datum/outfit/ert/commander + outfit = /datum/outfit/centcom/ert/commander /datum/antagonist/ert/commander/red - outfit = /datum/outfit/ert/commander/alert + outfit = /datum/outfit/centcom/ert/commander/alert /datum/antagonist/ert/deathsquad name = "Deathsquad Trooper" - outfit = /datum/outfit/death_commando + outfit = /datum/outfit/centcom/death_commando role = "Trooper" + rip_and_tear = TRUE /datum/antagonist/ert/medic/inquisitor - outfit = /datum/outfit/ert/medic/inquisitor + outfit = /datum/outfit/centcom/ert/medic/inquisitor /datum/antagonist/ert/security/inquisitor - outfit = /datum/outfit/ert/security/inquisitor + outfit = /datum/outfit/centcom/ert/security/inquisitor /datum/antagonist/ert/chaplain role = "Chaplain" - outfit = /datum/outfit/ert/chaplain + outfit = /datum/outfit/centcom/ert/chaplain /datum/antagonist/ert/chaplain/inquisitor - outfit = /datum/outfit/ert/chaplain/inquisitor + outfit = /datum/outfit/centcom/ert/chaplain/inquisitor /datum/antagonist/ert/chaplain/on_gain() . = ..() owner.isholy = TRUE /datum/antagonist/ert/commander/inquisitor - outfit = /datum/outfit/ert/commander/inquisitor + outfit = /datum/outfit/centcom/ert/commander/inquisitor /datum/antagonist/ert/commander/inquisitor/on_gain() . = ..() @@ -99,28 +101,56 @@ /datum/antagonist/ert/janitor role = "Janitor" - outfit = /datum/outfit/ert/janitor + outfit = /datum/outfit/centcom/ert/janitor /datum/antagonist/ert/janitor/heavy role = "Heavy Duty Janitor" - outfit = /datum/outfit/ert/janitor/heavy + outfit = /datum/outfit/centcom/ert/janitor/heavy /datum/antagonist/ert/deathsquad/leader name = "Deathsquad Officer" - outfit = /datum/outfit/death_commando + outfit = /datum/outfit/centcom/death_commando role = "Officer" /datum/antagonist/ert/intern name = "CentCom Intern" - outfit = /datum/outfit/centcom_intern + outfit = /datum/outfit/centcom/centcom_intern random_names = FALSE role = "Intern" /datum/antagonist/ert/intern/leader name = "CentCom Head Intern" - outfit = /datum/outfit/centcom_intern/leader + outfit = /datum/outfit/centcom/centcom_intern/leader role = "Head Intern" +/datum/antagonist/ert/clown + role = "Clown" + outfit = /datum/outfit/centcom/ert/clown + +/datum/antagonist/ert/clown/New() + . = ..() + name_source = GLOB.clown_names + +/datum/antagonist/ert/janitor/party + role = "Party Cleaning Service" + outfit = /datum/outfit/centcom/ert/janitor/party + +/datum/antagonist/ert/security/party + role = "Party Bouncer" + outfit = /datum/outfit/centcom/ert/security/party + +/datum/antagonist/ert/engineer/party + role = "Party Constructor" + outfit = /datum/outfit/centcom/ert/engineer/party + +/datum/antagonist/ert/clown/party + role = "Party Comedian" + outfit = /datum/outfit/centcom/ert/clown/party + +/datum/antagonist/ert/commander/party + role = "Party Coordinator" + outfit = /datum/outfit/centcom/ert/commander/party + /datum/antagonist/ert/create_team(datum/team/ert/new_team) if(istype(new_team)) ert_team = new_team @@ -146,23 +176,8 @@ missiondesc += " Lead your squad to ensure the completion of the mission. Board the shuttle when your team is ready." else missiondesc += " Follow orders given to you by your squad leader." - + if(!rip_and_tear) missiondesc += "Avoid civilian casualties when possible." missiondesc += "
Your Mission : [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) - -/datum/antagonist/ert/deathsquad/greet() - if(!ert_team) - return - - to_chat(owner, "You are the [name].") - - var/missiondesc = "Your squad is being sent on a mission to [station_name()] by Nanotrasen's Security Division." - if(leader) //If Squad Leader - missiondesc += " Lead your squad to ensure the completion of the mission. Board the shuttle when your team is ready." - else - missiondesc += " Follow orders given to you by your squad leader." - - missiondesc += "
Your Mission : [ert_team.mission.explanation_text]" - to_chat(owner,missiondesc) diff --git a/code/modules/antagonists/official/official.dm b/code/modules/antagonists/official/official.dm index 77bba675ca6..a12d04b60d1 100644 --- a/code/modules/antagonists/official/official.dm +++ b/code/modules/antagonists/official/official.dm @@ -17,7 +17,7 @@ var/mob/living/carbon/human/H = owner.current if(!istype(H)) return - H.equipOutfit(/datum/outfit/centcom_official) + H.equipOutfit(/datum/outfit/centcom/centcom_official) if(CONFIG_GET(flag/enforce_human_authority)) H.set_species(/datum/species/human) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 090c00afc8f..1b7181528de 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -442,3 +442,10 @@ desc = "A horrifying mix of beanie and softcap in CentCom green. You'd have to be pretty desperate for power over your peers to agree to wear this." icon_state = "intern_hat" item_state = "intern_hat" + +/obj/item/clothing/head/coordinator + name = "coordinator cap" + desc = "A cap for a party ooordinator, stylish!." + icon_state = "capcap" + item_state = "that" + armor = list("melee" = 25, "bullet" = 15, "laser" = 25, "energy" = 35, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 158d6965978..7ddccf1b1bc 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -49,10 +49,10 @@ GLOBAL_LIST_INIT(hailer_phrases, list( icon_state = "sechailer" item_state = "sechailer" clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS - flags_inv = HIDEFACIALHAIR|HIDEFACE + flags_inv = HIDEFACIALHAIR | HIDEFACE w_class = WEIGHT_CLASS_SMALL visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS - visor_flags_inv = HIDEFACE + visor_flags_inv = HIDEFACIALHAIR | HIDEFACE flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF visor_flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF var/aggressiveness = AGGR_BAD_COP diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index ab09425ea43..e809d8ba4dc 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -1,18 +1,16 @@ -/datum/outfit/ert +/datum/outfit/centcom/ert name = "ERT Common" + mask = /obj/item/clothing/mask/gas/sechailer uniform = /obj/item/clothing/under/rank/centcom/officer shoes = /obj/item/clothing/shoes/combat/swat gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/headset_cent/alt -/datum/outfit/ert/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return - var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H) - L.implant(H, null, 1) - var/obj/item/radio/R = H.ears R.set_frequency(FREQ_CENTCOM) R.freqlock = TRUE @@ -20,8 +18,9 @@ var/obj/item/card/id/W = H.wear_id W.registered_name = H.real_name W.update_label() + ..() -/datum/outfit/ert/commander +/datum/outfit/centcom/ert/commander name = "ERT Commander" id = /obj/item/card/id/ert @@ -31,11 +30,10 @@ belt = /obj/item/storage/belt/security/full backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/gun/energy/e_gun=1) l_pocket = /obj/item/switchblade -/datum/outfit/ert/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) @@ -44,31 +42,30 @@ R.keyslot = new /obj/item/encryptionkey/heads/captain R.recalculateChannels() -/datum/outfit/ert/commander/alert +/datum/outfit/centcom/ert/commander/alert name = "ERT Commander - High Alert" + mask = /obj/item/clothing/mask/gas/sechailer/swat glasses = /obj/item/clothing/glasses/thermal/eyepatch backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer/swat=1,\ /obj/item/gun/energy/pulse/pistol/loyalpin=1) l_pocket = /obj/item/melee/transforming/energy/sword/saber -/datum/outfit/ert/security +/datum/outfit/centcom/ert/security name = "ERT Security" - id = /obj/item/card/id/ert/Security + id = /obj/item/card/id/ert/security suit = /obj/item/clothing/suit/space/hardsuit/ert/sec glasses = /obj/item/clothing/glasses/hud/security/sunglasses back = /obj/item/storage/backpack/ert/security belt = /obj/item/storage/belt/security/full backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/gun/energy/e_gun/stun=1,\ /obj/item/melee/baton/loaded=1) -/datum/outfit/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) @@ -78,20 +75,20 @@ R.keyslot = new /obj/item/encryptionkey/heads/hos R.recalculateChannels() -/datum/outfit/ert/security/alert +/datum/outfit/centcom/ert/security/alert name = "ERT Security - High Alert" + mask = /obj/item/clothing/mask/gas/sechailer/swat backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ - /obj/item/clothing/mask/gas/sechailer/swat=1,\ /obj/item/melee/baton/loaded=1,\ /obj/item/gun/energy/pulse/carbine/loyalpin=1) -/datum/outfit/ert/medic +/datum/outfit/centcom/ert/medic name = "ERT Medic" - id = /obj/item/card/id/ert/Medical + id = /obj/item/card/id/ert/medical suit = /obj/item/clothing/suit/space/hardsuit/ert/med glasses = /obj/item/clothing/glasses/hud/health back = /obj/item/storage/backpack/ert/medical @@ -99,12 +96,11 @@ r_hand = /obj/item/storage/firstaid/regular backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/gun/energy/e_gun=1,\ /obj/item/reagent_containers/hypospray/combat=1,\ /obj/item/gun/medbeam=1) -/datum/outfit/ert/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) @@ -114,20 +110,20 @@ R.keyslot = new /obj/item/encryptionkey/heads/cmo R.recalculateChannels() -/datum/outfit/ert/medic/alert +/datum/outfit/centcom/ert/medic/alert name = "ERT Medic - High Alert" + mask = /obj/item/clothing/mask/gas/sechailer/swat backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer/swat=1,\ /obj/item/gun/energy/pulse/pistol/loyalpin=1,\ /obj/item/reagent_containers/hypospray/combat/nanites=1,\ /obj/item/gun/medbeam=1) -/datum/outfit/ert/engineer +/datum/outfit/centcom/ert/engineer name = "ERT Engineer" - id = /obj/item/card/id/ert/Engineer + id = /obj/item/card/id/ert/engineer suit = /obj/item/clothing/suit/space/hardsuit/ert/engi glasses = /obj/item/clothing/glasses/meson/engine back = /obj/item/storage/backpack/ert/engineer @@ -136,11 +132,10 @@ r_hand = /obj/item/storage/firstaid/regular backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/gun/energy/e_gun=1,\ /obj/item/construction/rcd/loaded=1) -/datum/outfit/ert/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) @@ -150,17 +145,17 @@ R.keyslot = new /obj/item/encryptionkey/heads/ce R.recalculateChannels() -/datum/outfit/ert/engineer/alert +/datum/outfit/centcom/ert/engineer/alert name = "ERT Engineer - High Alert" + mask = /obj/item/clothing/mask/gas/sechailer/swat backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer/swat=1,\ /obj/item/gun/energy/pulse/pistol/loyalpin=1,\ /obj/item/construction/rcd/combat=1) -/datum/outfit/centcom_official +/datum/outfit/centcom/centcom_official name = "CentCom Official" uniform = /obj/item/clothing/under/rank/centcom/officer @@ -175,7 +170,7 @@ l_hand = /obj/item/clipboard id = /obj/item/card/id/centcom -/datum/outfit/centcom_official/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/centcom_official/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -190,51 +185,39 @@ W.assignment = "CentCom Official" W.registered_name = H.real_name W.update_label() + ..() -/datum/outfit/ert/commander/inquisitor +/datum/outfit/centcom/ert/commander/inquisitor name = "Inquisition Commander" r_hand = /obj/item/nullrod/scythe/talking/chainsword suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal backpack_contents = list(/obj/item/storage/box/survival/engineer=1, - /obj/item/clothing/mask/gas/sechailer=1, /obj/item/gun/energy/e_gun=1) -/datum/outfit/ert/security/inquisitor +/datum/outfit/centcom/ert/security/inquisitor name = "Inquisition Security" suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor backpack_contents = list(/obj/item/storage/box/survival/engineer=1, /obj/item/storage/box/handcuffs=1, - /obj/item/clothing/mask/gas/sechailer=1, /obj/item/gun/energy/e_gun/stun=1, /obj/item/melee/baton/loaded=1, /obj/item/construction/rcd/loaded=1) -/datum/outfit/ert/medic/inquisitor +/datum/outfit/centcom/ert/medic/inquisitor name = "Inquisition Medic" suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor backpack_contents = list(/obj/item/storage/box/survival/engineer=1, /obj/item/melee/baton/loaded=1, - /obj/item/clothing/mask/gas/sechailer=1, /obj/item/gun/energy/e_gun=1, /obj/item/reagent_containers/hypospray/combat=1, /obj/item/reagent_containers/hypospray/combat/heresypurge=1, /obj/item/gun/medbeam=1) -/datum/outfit/ert/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/heads/hop - R.recalculateChannels() - -/datum/outfit/ert/chaplain +/datum/outfit/centcom/ert/chaplain name = "ERT Chaplain" suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor // Chap role always gets this suit @@ -244,30 +227,34 @@ belt = /obj/item/storage/belt/soulstone backpack_contents = list(/obj/item/storage/box/survival/engineer=1, /obj/item/nullrod=1, - /obj/item/clothing/mask/gas/sechailer=1, /obj/item/gun/energy/e_gun=1, ) -/datum/outfit/ert/chaplain/inquisitor - name = "Inquisition Chaplain" +/datum/outfit/centcom/ert/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + ..() + if(visualsOnly) + return + var/obj/item/radio/R = H.ears + R.keyslot = new /obj/item/encryptionkey/heads/hop + R.recalculateChannels() - suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor +/datum/outfit/centcom/ert/chaplain/inquisitor + name = "Inquisition Chaplain" belt = /obj/item/storage/belt/soulstone/full/chappy backpack_contents = list(/obj/item/storage/box/survival/engineer=1, /obj/item/grenade/chem_grenade/holy=1, /obj/item/nullrod=1, - /obj/item/clothing/mask/gas/sechailer=1, /obj/item/gun/energy/e_gun=1, ) -/datum/outfit/ert/janitor +/datum/outfit/centcom/ert/janitor name = "ERT Janitor" - id = /obj/item/card/id/ert/Janitor + id = /obj/item/card/id/ert/janitor suit = /obj/item/clothing/suit/space/hardsuit/ert/jani glasses = /obj/item/clothing/glasses/night - back = /obj/item/storage/backpack + back = /obj/item/storage/backpack/ert/janitor belt = /obj/item/storage/belt/janitor/full r_pocket = /obj/item/grenade/chem_grenade/cleaner l_pocket = /obj/item/grenade/chem_grenade/cleaner @@ -275,12 +262,11 @@ backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/lights/mixed=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/mop/advanced=1,\ /obj/item/reagent_containers/glass/bucket=1,\ /obj/item/grenade/clusterbuster/cleaner=1) -/datum/outfit/ert/janitor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/ert/janitor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) @@ -290,16 +276,45 @@ R.keyslot = new /obj/item/encryptionkey/headset_service R.recalculateChannels() -/datum/outfit/ert/janitor/heavy +/datum/outfit/centcom/ert/janitor/heavy name = "ERT Janitor - Heavy Duty" + + mask = /obj/item/clothing/mask/gas/sechailer/swat r_hand = /obj/item/reagent_containers/spray/chemsprayer/janitor backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/lights/mixed=1,\ /obj/item/melee/baton/loaded=1,\ - /obj/item/clothing/mask/gas/sechailer=1,\ /obj/item/grenade/clusterbuster/cleaner=3) -/datum/outfit/centcom_intern +/datum/outfit/centcom/ert/clown + name = "ERT Clown" + + suit = /obj/item/clothing/suit/space/hardsuit/ert/clown + mask = /obj/item/clothing/mask/gas/clown_hat + id = /obj/item/card/id/ert/clown + glasses = /obj/item/clothing/glasses/godeye + back = /obj/item/storage/backpack/ert/clown + belt = /obj/item/storage/belt/champion + shoes = /obj/item/clothing/shoes/clown_shoes/combat + r_pocket = /obj/item/bikehorn/golden + l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana + backpack_contents = list(/obj/item/storage/box/hug/survival=1,\ + /obj/item/melee/transforming/energy/sword/bananium=1,\ + /obj/item/shield/energy/bananium=1,\ + /obj/item/gun/ballistic/revolver/reverse=1) + +/datum/outfit/centcom/ert/clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + ..() + if(visualsOnly) + return + var/obj/item/radio/R = H.ears + R.keyslot = new /obj/item/encryptionkey/headset_service + R.recalculateChannels() + H.dna.add_mutation(CLOWNMUT) + for(var/datum/mutation/human/clumsy/M in H.dna.mutations) + M.mutadone_proof = TRUE + +/datum/outfit/centcom/centcom_intern name = "CentCom Intern" uniform = /obj/item/clothing/under/rank/centcom/intern @@ -315,7 +330,7 @@ id = /obj/item/card/id/centcom backpack_contents = list(/obj/item/storage/box/survival = 1) -/datum/outfit/centcom_intern/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/centcom_intern/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -326,10 +341,79 @@ W.registered_name = H.real_name W.update_label() -/datum/outfit/centcom_intern/leader +/datum/outfit/centcom/centcom_intern/leader name = "CentCom Head Intern" belt = /obj/item/melee/baton/loaded suit = /obj/item/clothing/suit/armor/vest suit_store = /obj/item/gun/ballistic/rifle/boltaction r_hand = /obj/item/megaphone head = /obj/item/clothing/head/intern + +/datum/outfit/centcom/ert/janitor/party + name = "ERP Cleaning Service" + + uniform = /obj/item/clothing/under/misc/overalls + mask = /obj/item/clothing/mask/bandana/blue + suit = /obj/item/clothing/suit/apron + glasses = /obj/item/clothing/glasses/meson + belt = /obj/item/storage/belt/janitor/full + r_pocket = /obj/item/grenade/chem_grenade/cleaner + l_pocket = /obj/item/grenade/chem_grenade/cleaner + l_hand = /obj/item/storage/bag/trash + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/storage/box/lights/mixed=1,\ + /obj/item/mop/advanced=1,\ + /obj/item/reagent_containers/glass/bucket=1) + +/datum/outfit/centcom/ert/security/party + name = "ERP Bouncer" + + uniform = /obj/item/clothing/under/misc/bouncer + suit = /obj/item/clothing/suit/armor/vest + belt = /obj/item/melee/classic_baton/telescopic + l_pocket = /obj/item/assembly/flash + r_pocket = /obj/item/storage/wallet + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/clothing/head/helmet/police=1,\ + /obj/item/storage/box/handcuffs=1) + + +/datum/outfit/centcom/ert/engineer/party + name = "ERP Constructor" + + uniform = /obj/item/clothing/under/rank/engineering/engineer/hazard + mask = /obj/item/clothing/mask/gas/atmos + head = /obj/item/clothing/head/hardhat/weldhat + suit = /obj/item/clothing/suit/hazardvest + r_hand = /obj/item/areaeditor/blueprints + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/stack/sheet/metal/fifty=1,\ + /obj/item/stack/sheet/glass/fifty=1,\ + /obj/item/stack/sheet/plasteel/twenty=1,\ + /obj/item/etherealballdeployer=1,\ + /obj/item/stack/light_w=30,\ + /obj/item/construction/rcd/loaded=1) + +/datum/outfit/centcom/ert/clown/party + name = "ERP Comedian" + + uniform = /obj/item/clothing/under/rank/civilian/clown + head = /obj/item/clothing/head/chameleon + suit = /obj/item/clothing/suit/chameleon + glasses = /obj/item/clothing/glasses/chameleon + backpack_contents = list(/obj/item/storage/box/hug/survival=1,\ + /obj/item/shield/energy/bananium=1,\ + /obj/item/instrument/piano_synth=1) + +/datum/outfit/centcom/ert/commander/party + name = "ERP Coordinator" + + uniform = /obj/item/clothing/under/misc/coordinator + head = /obj/item/clothing/head/coordinator + suit = /obj/item/clothing/suit/coordinator + belt = /obj/item/storage/belt/sabre + r_hand = /obj/item/toy/balloon + l_pocket = /obj/item/kitchen/knife + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/storage/box/fireworks=3,\ + /obj/item/reagent_containers/food/snacks/store/cake/birthday=1) diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index de0c4ee5480..8043ec758c9 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -1,4 +1,11 @@ -/datum/outfit/spec_ops +/datum/outfit/centcom/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return + + var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)//hmm lets have centcom officials become revs + L.implant(H, null, 1) + +/datum/outfit/centcom/spec_ops name = "Special Ops Officer" uniform = /obj/item/clothing/under/syndicate @@ -14,7 +21,7 @@ back = /obj/item/storage/backpack/satchel/leather id = /obj/item/card/id/centcom -/datum/outfit/spec_ops/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/spec_ops/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -28,6 +35,7 @@ var/obj/item/radio/headset/R = H.ears R.set_frequency(FREQ_CENTCOM) R.freqlock = TRUE + ..() /datum/outfit/space name = "Standard Space Gear" @@ -257,6 +265,7 @@ W.assignment = "CentCom Commander" W.registered_name = H.real_name W.update_label() + ..() /datum/outfit/ghost_cultist name = "Cultist Ghost" @@ -307,7 +316,7 @@ shoes = /obj/item/clothing/shoes/sandal/marisa head = /obj/item/clothing/head/wizard/marisa -/datum/outfit/soviet +/datum/outfit/centcom/soviet name = "Soviet Admiral" uniform = /obj/item/clothing/under/costume/soviet @@ -322,7 +331,7 @@ id = /obj/item/card/id/centcom -/datum/outfit/soviet/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/soviet/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -332,6 +341,7 @@ W.assignment = "Admiral" W.registered_name = H.real_name W.update_label() + ..() /datum/outfit/mobster name = "Mobster" @@ -362,7 +372,7 @@ r_hand= /obj/item/tank/internals/plasmaman/belt/full mask = /obj/item/clothing/mask/breath -/datum/outfit/death_commando +/datum/outfit/centcom/death_commando name = "Death Commando" uniform = /obj/item/clothing/under/rank/centcom/commander @@ -377,36 +387,32 @@ suit_store = /obj/item/tank/internals/emergency_oxygen/double belt = /obj/item/gun/ballistic/revolver/mateba r_hand = /obj/item/gun/energy/pulse/loyalpin - id = /obj/item/card/id/centcom + id = /obj/item/card/id/ert/deathsquad ears = /obj/item/radio/headset/headset_cent/alt - backpack_contents = list(/obj/item/storage/box=1,\ + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/ammo_box/a357=1,\ /obj/item/storage/firstaid/regular=1,\ /obj/item/storage/box/flashbangs=1,\ /obj/item/flashlight=1,\ /obj/item/grenade/c4/x4=1) -/datum/outfit/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/centcom/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return var/obj/item/radio/R = H.ears R.set_frequency(FREQ_CENTCOM) R.freqlock = TRUE - - var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)//Here you go Deuryn - L.implant(H, null, 1) - - var/obj/item/card/id/W = H.wear_id W.access = get_all_accesses()//They get full station access. W.access += get_centcom_access("Death Commando")//Let's add their alloted CentCom access. W.assignment = "Death Commando" W.registered_name = H.real_name W.update_label() + ..() -/datum/outfit/death_commando/officer +/datum/outfit/centcom/death_commando/officer name = "Death Commando Officer" head = /obj/item/clothing/head/helmet/space/beret diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index fe9ef9197ca..aff8f601fe7 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -246,7 +246,23 @@ Contains: icon_state = "ert_janitor" item_state = "ert_janitor" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/jani - allowed = list(/obj/item/storage/bag/trash, /obj/item/melee/flyswatter, /obj/item/mop, /obj/item/holosign_creator, /obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/spray/chemsprayer/janitor) + allowed = list(/obj/item/tank/internals, /obj/item/storage/bag/trash, /obj/item/melee/flyswatter, /obj/item/mop, /obj/item/holosign_creator, /obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/spray/chemsprayer/janitor) + + //ERT Clown +/obj/item/clothing/head/helmet/space/hardsuit/ert/clown + name = "emergency response team clown helmet" + desc = "The integrated helmet of an ERT hardsuit, this one is colourful!" + icon_state = "hardsuit0-ert_clown" + item_state = "hardsuit0-ert_clown" + hardsuit_type = "ert_clown" + +/obj/item/clothing/suit/space/hardsuit/ert/clown + name = "emergency response team clown hardsuit" + desc = "The non-standard issue hardsuit of the ERT, this one is colourful! Offers superb protection against environmental hazards. Does not offer superb protection against a ravaging crew." + icon_state = "ert_clown" + item_state = "ert_clown" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/clown + allowed = list(/obj/item/tank/internals, /obj/item/bikehorn, /obj/item/instrument, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/grown/bananapeel) /obj/item/clothing/suit/space/eva name = "EVA suit" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 854889fcea0..8091e1f63e9 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -733,3 +733,10 @@ item_state = "mystichood" body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEEARS|HIDEFACIALHAIR|HIDEFACE|HIDEMASK + +/obj/item/clothing/suit/coordinator + name = "coordinator jacket" + desc = "A jacket for a party ooordinator, stylish!." + icon_state = "capformal" + item_state = "capspacesuit" + armor = list("melee" = 25, "bullet" = 15, "laser" = 25, "energy" = 35, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 33ed895c8ca..f0fb36e26cb 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -139,3 +139,20 @@ item_state = "durathread" can_adjust = FALSE armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5) + +/obj/item/clothing/under/misc/bouncer + name = "bouncer uniform" + desc = "A uniform made from a little bit more resistant fibers, makes you seem like a cool guy." + icon_state = "bouncer" + item_state = "bouncer" + can_adjust = FALSE + armor = list("melee" = 5, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) + +/obj/item/clothing/under/misc/coordinator + name = "coordinator jumpsuit" + desc = "A jumpsuit made by party people, from party people, for party people." + icon = 'icons/obj/clothing/under/captain.dmi' + mob_overlay_icon = 'icons/mob/clothing/under/captain.dmi' + icon_state = "captain_parade" + item_state = "by_suit" + can_adjust = FALSE diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index f2af09397e4..7741ac03eb5 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -362,10 +362,10 @@ "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") /proc/get_all_job_icons() //For all existing HUD icons - return get_all_jobs() + list("Prisoner") + return get_all_jobs() + list("Prisoner", "Entertainment Response Officer", "Religious Response Officer", "Janitorial Response Officer", "Death Commando") /proc/get_all_centcom_jobs() - return list("VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","CentCom Commander","Emergency Response Team Commander","Security Response Officer","Engineer Response Officer", "Medical Response Officer","CentCom Bartender") + return list("Central Command","VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Research Officer","Special Ops Officer","Admiral","CentCom Commander","Emergency Response Team Commander","Security Response Officer","Engineering Response Officer", "Medical Response Officer","CentCom Bartender") /obj/item/proc/GetJobName() //Used in secHUD icon generation var/obj/item/card/id/I = GetID() diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 062564f27cf..f5ff53dfd5e 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index 2132a7ebac1..efbea555c56 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 61dbd495988..e02dd38adda 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index 4a9f11cd4b5..7ed1cc720ab 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/under/misc.dmi b/icons/mob/clothing/under/misc.dmi index c9b63732efd..9cef7924af2 100644 Binary files a/icons/mob/clothing/under/misc.dmi and b/icons/mob/clothing/under/misc.dmi differ diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index d42f1e2143c..383b353e6b4 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/mob/inhands/equipment/belt_lefthand.dmi b/icons/mob/inhands/equipment/belt_lefthand.dmi index fdc444f956a..0a5a460a910 100644 Binary files a/icons/mob/inhands/equipment/belt_lefthand.dmi and b/icons/mob/inhands/equipment/belt_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/belt_righthand.dmi b/icons/mob/inhands/equipment/belt_righthand.dmi index b31ca252c02..568aa3d08e3 100644 Binary files a/icons/mob/inhands/equipment/belt_righthand.dmi and b/icons/mob/inhands/equipment/belt_righthand.dmi differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 9998a62ae29..e90f357ac93 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 3f4cd75c66f..a8fb053b44f 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index c94d5566705..03ba2336719 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/under/misc.dmi b/icons/obj/clothing/under/misc.dmi index 8e0dbd728e8..0843b21d2ca 100644 Binary files a/icons/obj/clothing/under/misc.dmi and b/icons/obj/clothing/under/misc.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 816c1d767ce..504e7e6c2c8 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ