diff --git a/aurorastation.dme b/aurorastation.dme index 17a72c60c7f..4c939bd13ea 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -459,19 +459,27 @@ #include "code\datums\outfits\outfit_admin.dm" #include "code\datums\outfits\outfit_antag.dm" #include "code\datums\outfits\ert\ap_eridani.dm" +#include "code\datums\outfits\ert\biesel.dm" #include "code\datums\outfits\ert\coalition.dm" #include "code\datums\outfits\ert\deathsquad.dm" +#include "code\datums\outfits\ert\dominia.dm" +#include "code\datums\outfits\ert\einstein.dm" #include "code\datums\outfits\ert\elyra.dm" #include "code\datums\outfits\ert\fsf.dm" #include "code\datums\outfits\ert\hephaestus_ert.dm" #include "code\datums\outfits\ert\iac.dm" +#include "code\datums\outfits\ert\izweski.dm" #include "code\datums\outfits\ert\kataphract.dm" #include "code\datums\outfits\ert\kosmostrelki.dm" #include "code\datums\outfits\ert\mercenary.dm" #include "code\datums\outfits\ert\nt_ert.dm" +#include "code\datums\outfits\ert\qukala.dm" #include "code\datums\outfits\ert\scc_ert.dm" #include "code\datums\outfits\ert\syndicate.dm" #include "code\datums\outfits\ert\tcfl.dm" +#include "code\datums\outfits\ert\vaurca.dm" +#include "code\datums\outfits\ert\zavod.dm" +#include "code\datums\outfits\ert\zenghu.dm" #include "code\datums\outfits\event\outfit_events.dm" #include "code\datums\outfits\event\outfit_killers.dm" #include "code\datums\outfits\event\outfit_megacorps.dm" @@ -2142,14 +2150,23 @@ #include "code\modules\ghostroles\spawner\human\responseteams\response_team.dm" #include "code\modules\ghostroles\spawner\human\responseteams\syndicate.dm" #include "code\modules\ghostroles\spawner\human\responseteams\tcfl.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\corporate\einstein.dm" #include "code\modules\ghostroles\spawner\human\responseteams\corporate\hephaestus.dm" #include "code\modules\ghostroles\spawner\human\responseteams\corporate\nt_ert.dm" #include "code\modules\ghostroles\spawner\human\responseteams\corporate\scc_ert.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\corporate\zavod.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\corporate\zenghu.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\human\biesel.dm" #include "code\modules\ghostroles\spawner\human\responseteams\human\coalition.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\human\dominia.dm" #include "code\modules\ghostroles\spawner\human\responseteams\human\elyra.dm" #include "code\modules\ghostroles\spawner\human\responseteams\human\fsf.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\skrell\qukala.dm" #include "code\modules\ghostroles\spawner\human\responseteams\tajara\kosmostrelki.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\unathi\izweski.dm" #include "code\modules\ghostroles\spawner\human\responseteams\unathi\kataphracts.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\vaurca\klax.dm" +#include "code\modules\ghostroles\spawner\human\responseteams\vaurca\zora.dm" #include "code\modules\ghostroles\spawner\simplemob\maintdrone.dm" #include "code\modules\ghostroles\spawner\simplemob\reboot_maintdrone.dm" #include "code\modules\ghostroles\spawner\simplemob\simplemob.dm" diff --git a/code/datums/ert/corporate.dm b/code/datums/ert/corporate.dm index 2136f1512d3..b01e7add1b7 100644 --- a/code/datums/ert/corporate.dm +++ b/code/datums/ert/corporate.dm @@ -16,6 +16,24 @@ spawner = /datum/ghostspawner/human/ert/hephaestus possible_space_sector = list(SECTOR_BURZSIA, SECTOR_UUEOAESA, SECTOR_TAU_CETI) +/datum/responseteam/zavod + name = "Zavodskoi ERT" + chance = 20 + spawner = /datum/ghostspawner/human/ert/zavodskoi + possible_space_sector = list(SECTOR_ROMANOVICH, SECTOR_TAU_CETI) + +/datum/responseteam/zeng + name = "Zeng-Hu ERT" + chance = 20 + spawner = /datum/ghostspawner/human/ert/zeng + possible_space_sector = list(SECTOR_ROMANOVICH, SECTOR_TAU_CETI) + +/datum/responseteam/einstein + name = "Einstein ERT" + chance = 20 + spawner = /datum/ghostspawner/human/ert/einstein + possible_space_sector = list(SECTOR_HANEUNIM) //add more when relevant + /datum/responseteam/deathsquad name = "SCC Asset Protection" spawner = /datum/ghostspawner/human/ert/deathsquad diff --git a/code/datums/ert/outsider.dm b/code/datums/ert/outsider.dm index ddded3e92af..edd3a64486e 100644 --- a/code/datums/ert/outsider.dm +++ b/code/datums/ert/outsider.dm @@ -59,3 +59,34 @@ chance = 15 spawner = /datum/ghostspawner/human/ert/konyang possible_space_sector = list(SECTOR_HANEUNIM) + +/datum/responseteam/izweski + name = "Izweski Hegemony Navy" + chance = 15 + spawner = /datum/ghostspawner/human/ert/izweski + possible_space_sector = list(SECTOR_BADLANDS, SECTOR_UUEOAESA) + +/datum/responseteam/qukala + name = "Nralakk Federation Qukala" + chance = 15 + spawner = /datum/ghostspawner/human/ert/qukala + possible_space_sector = list(SECTOR_BADLANDS) //Not super lore-friendly but our only sector that could possibly have a Fed presence + +/datum/responseteam/dominia + name = "Dominian Imperial Fleet" + chance = 15 + spawner = /datum/ghostspawner/human/ert/dominia + possible_space_sector = list(SECTOR_BADLANDS) + equipment_map = /datum/map_template/distress_dominia + +/datum/responseteam/zora + name = "Zo'ra Hive Warriors" + chance = 10 + spawner = /datum/ghostspawner/human/ert/zora + possible_space_sector = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH) + +/datum/responseteam/klax + name = "K'lax Hive Warriors" + chance = 10 + spawner = /datum/ghostspawner/human/ert/klax + possible_space_sector = list(SECTOR_UUEOAESA) diff --git a/code/datums/ert/tcfl.dm b/code/datums/ert/tcfl.dm index 2ebd0cc163d..7d68ecfa9a1 100644 --- a/code/datums/ert/tcfl.dm +++ b/code/datums/ert/tcfl.dm @@ -3,3 +3,10 @@ chance = 20 spawner = /datum/ghostspawner/human/ert/tcfl possible_space_sector = list(SECTOR_ROMANOVICH, SECTOR_TAU_CETI, SECTOR_CORP_ZONE) + +/datum/responseteam/tcaf + name = "Tau Ceti Republican Fleet" + chance = 20 + spawner = /datum/ghostspawner/human/ert/tcaf + equipment_map = /datum/map_template/distress_tcaf + possible_space_sector = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE) diff --git a/code/datums/outfits/ert/biesel.dm b/code/datums/outfits/ert/biesel.dm new file mode 100644 index 00000000000..11eed6d171a --- /dev/null +++ b/code/datums/outfits/ert/biesel.dm @@ -0,0 +1,131 @@ +/obj/outfit/admin/ert/tcaf + name = "Republican Fleet Legionary" + uniform = /obj/item/clothing/under/legion/tcaf + suit = /obj/item/clothing/suit/space/void/tcaf + head = /obj/item/clothing/head/helmet/space/void/tcaf + gloves = /obj/item/clothing/gloves/tcaf + glasses = /obj/item/clothing/glasses/safety/goggles/tactical/generic + shoes = /obj/item/clothing/shoes/jackboots + id = /obj/item/card/id + accessory = /obj/item/clothing/accessory/holster/hip + l_ear = /obj/item/device/radio/headset/legion + r_pocket = /obj/item/crowbar/red + l_pocket = /obj/item/tank/emergency_oxygen/double + back = /obj/item/storage/backpack/tcaf + mask = /obj/item/clothing/mask/gas + suit_store = /obj/item/gun/energy/blaster/tcaf + accessory_contents = list(/obj/item/gun/energy/blaster/revolver = 1) + id = /obj/item/card/id/distress/legion/tcaf + belt = /obj/item/storage/belt/military + belt_contents = list( + /obj/item/melee/energy/sword/knife = 1, + /obj/item/shield/energy/legion = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/grenade/frag = 1 + ) + species_shoes = list( + SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless, + SPECIES_TAJARA = /obj/item/clothing/shoes/jackboots/toeless, + SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/jackboots/toeless, + SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/jackboots/toeless, + SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/vaurca, + SPECIES_VAURCA_WARRIOR =/obj/item/clothing/shoes/vaurca + ) + id_iff = IFF_TCFL + +/obj/outfit/admin/ert/tcaf/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(isvaurca(H)) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/tactical(H), slot_wear_mask) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + H.equip_or_collect(new /obj/item/reagent_containers/food/snacks/koisbar, slot_in_backpack) + var/list/fullname = splittext(H.real_name, " ") + var/surname = fullname[fullname.len] //prefix bumps it up + switch(surname) + if("K'lax") + var/obj/item/organ/A = new /obj/item/organ/internal/augment/language/klax(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + if("C'thur") + var/obj/item/organ/A = new /obj/item/organ/internal/augment/language/cthur(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + var/obj/item/organ/B = new /obj/item/organ/internal/augment/hiveshield(H) + var/obj/item/organ/external/affectedB = H.get_organ(B.parent_organ) + B.replaced(H, affectedB) + H.update_body() + if(isoffworlder(H)) + H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + +/obj/outfit/admin/ert/tcaf/get_id_access(mob/living/carbon/human/H) + return get_distress_access() + +/obj/outfit/admin/ert/tcaf/medic + name = "Republican Fleet Medic" + belt = /obj/item/storage/belt/medical/first_responder/combat + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex/nitrile + species_gloves = list( + SPECIES_UNATHI = /obj/item/clothing/gloves/latex/nitrile/unathi, + SPECIES_TAJARA = /obj/item/clothing/gloves/latex/nitrile/tajara, + SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/latex/nitrile/tajara, + SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/latex/nitrile/tajara, + SPECIES_VAURCA_WARRIOR = /obj/item/clothing/gloves/latex/nitrile/vaurca, + SPECIES_VAURCA_WORKER = /obj/item/clothing/gloves/latex/nitrile/vaurca, + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/energy/sword/knife = 1, + /obj/item/shield/energy/legion = 1 + ) + +/obj/outfit/admin/ert/tcaf/engi + name = "Republican Fleet Engineer" + belt = /obj/item/storage/belt/utility/very_full + belt_contents = null + gloves = /obj/item/clothing/gloves/yellow + species_gloves = list( + SPECIES_UNATHI = /obj/item/clothing/gloves/yellow/specialu, + SPECIES_TAJARA = /obj/item/clothing/gloves/yellow/specialt, + SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/yellow/specialt, + SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/yellow/specialt, + SPECIES_VAURCA_WARRIOR = null, + SPECIES_VAURCA_WORKER = null + ) + accessory = /obj/item/clothing/accessory/storage/brown_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/melee/energy/sword/knife = 1, + /obj/item/shield/energy/legion = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/clothing/glasses/welding/superior = 1, + /obj/item/gun/energy/blaster/revolver = 1, + /obj/item/grenade/frag = 2 + ) + +/obj/outfit/admin/ert/tcaf/officer + accessory = /obj/item/clothing/accessory/legion diff --git a/code/datums/outfits/ert/dominia.dm b/code/datums/outfits/ert/dominia.dm new file mode 100644 index 00000000000..09c4903e8a8 --- /dev/null +++ b/code/datums/outfits/ert/dominia.dm @@ -0,0 +1,98 @@ +/obj/outfit/admin/ert/dominia + name = "Imperial Fleet Responder" + uniform = /obj/item/clothing/under/dominia/fleet/armsman + suit = /obj/item/clothing/suit/space/void/dominia/voidsman + head = /obj/item/clothing/head/helmet/space/void/dominia/voidsman + gloves = /obj/item/clothing/gloves/combat + glasses = /obj/item/clothing/glasses/safety/goggles/tactical/generic + shoes = /obj/item/clothing/shoes/jackboots + back = /obj/item/tank/jetpack/carbondioxide + r_pocket = /obj/item/tank/emergency_oxygen/double + l_pocket = /obj/item/crowbar/red + suit_accessory = /obj/item/clothing/accessory/dominia + id = /obj/item/card/id/imperial_fleet + l_ear = /obj/item/device/radio/headset/distress + mask = /obj/item/clothing/mask/gas + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/projectile/pistol/dominia = 1 + ) + suit_store = /obj/item/gun/projectile/automatic/rifle/dominia + belt = /obj/item/storage/belt/military + belt_contents = list( + /obj/item/ammo_magazine/a556 = 2, + /obj/item/ammo_magazine/c45m/dominia = 1, + /obj/item/shield/energy/dominia = 1, + /obj/item/material/knife/bayonet = 1, + /obj/item/grenade/frag = 1, + /obj/item/handcuffs/ziptie = 1 + ) + +/obj/outfit/admin/ert/dominia/get_id_access() + return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_IMPERIAL_FLEET_VOIDSMAN_SHIP) + +/obj/outfit/admin/ert/dominia/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + +/obj/outfit/admin/ert/dominia/medic + name = "Imperial Fleet Medic" + uniform = /obj/item/clothing/under/dominia/fleet + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex + belt = /obj/item/storage/belt/medical/first_responder/combat + back = /obj/item/storage/backpack/dominia + suit_store = /obj/item/gun/projectile/automatic/tommygun/dom + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/ammo_magazine/c45m/dominia = 1, + /obj/item/ammo_magazine/submachinemag = 2, + /obj/item/storage/firstaid/adv = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/material/knife/bayonet= 1, + /obj/item/roller = 1 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/dominia/engi + name = "Imperial Fleet Sapper" + uniform = /obj/item/clothing/under/dominia/fleet + back = /obj/item/storage/backpack/duffel/eng + belt = /obj/item/storage/belt/utility/very_full + gloves = /obj/item/clothing/gloves/yellow + glasses = /obj/item/clothing/glasses/welding/superior + backpack_contents = list( + /obj/item/plastique = 3, + /obj/item/ammo_magazine/a556 = 2, + /obj/item/ammo_magazine/c45m/dominia = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/grenade/frag = 2 + ) + belt_contents = null + +/obj/outfit/admin/ert/dominia/officer + name = "Imperial Fleet Officer" + uniform = /obj/item/clothing/under/dominia/fleet/officer + belt_contents = list( + /obj/item/ammo_magazine/a556 = 2, + /obj/item/ammo_magazine/c45m/dominia = 1, + /obj/item/shield/energy/dominia = 1, + /obj/item/material/knife/bayonet = 1, + /obj/item/grenade/frag = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/energy/sword/pirate/generic = 1 + ) diff --git a/code/datums/outfits/ert/einstein.dm b/code/datums/outfits/ert/einstein.dm new file mode 100644 index 00000000000..719fd9c5bc1 --- /dev/null +++ b/code/datums/outfits/ert/einstein.dm @@ -0,0 +1,87 @@ +/obj/outfit/admin/ert/einstein + name = "Einstein Engines ERT" + uniform = /obj/item/clothing/under/rank/security/einstein + shoes = /obj/item/clothing/shoes/jackboots + suit = /obj/item/clothing/suit/space/void/einstein + head = /obj/item/clothing/head/helmet/space/void/einstein + back = /obj/item/tank/jetpack/carbondioxide + belt = /obj/item/storage/belt/military + l_ear = /obj/item/device/radio/headset/distress + id = /obj/item/card/id/zeng_hu + mask = /obj/item/clothing/mask/gas/tactical + glasses = /obj/item/clothing/glasses/night + l_pocket = /obj/item/tank/emergency_oxygen/double + r_pocket = /obj/item/crowbar/red + suit_store = /obj/item/gun/energy/gun/nuclear + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/projectile/colt = 1 + ) + belt_contents = list( + /obj/item/shield/energy = 1, + /obj/item/device/flash = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/melee/baton/loaded = 1, + /obj/item/grenade/flashbang = 2, + /obj/item/ammo_magazine/c45m = 2 + ) + id_iff = IFF_EE + +/obj/outfit/admin/ert/einstein/medic + name = "Einstein Medic" + belt = /obj/item/storage/belt/medical/first_responder/combat + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex/nitrile + backpack = /obj/item/storage/backpack/satchel/med + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/ammo_magazine/c45m = 2, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/shield/energy = 1, + /obj/item/gun/projectile/colt = 1 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/einstein/engi + name = "Einstein Engineer" + uniform = /obj/item/clothing/under/rank/engineer/einstein + back = /obj/item/storage/backpack/industrial + belt = /obj/item/storage/belt/utility/very_full + gloves = /obj/item/clothing/gloves/yellow + + accessory = /obj/item/clothing/accessory/storage/brown_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/ammo_magazine/c45m = 2, + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/shield/energy = 1, + /obj/item/clothing/glasses/welding/superior = 1, + /obj/item/gun/projectile/colt = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/einstein/leader + name = "Einstein Squad Leader" + back = /obj/item/rig/merc/einstein + l_hand = /obj/item/gun/energy/gun/nuclear + suit_store = null + suit = null + head = null diff --git a/code/datums/outfits/ert/hephaestus_ert.dm b/code/datums/outfits/ert/hephaestus_ert.dm index fe1bb482094..bfe0ccc9f7b 100644 --- a/code/datums/outfits/ert/hephaestus_ert.dm +++ b/code/datums/outfits/ert/hephaestus_ert.dm @@ -1,7 +1,10 @@ /obj/outfit/admin/ert/hephaestus name = "Hephaestus Asset Protection" uniform = /obj/item/clothing/under/rank/security/heph - shoes = /obj/item/clothing/shoes/magboots + shoes = /obj/item/clothing/shoes/jackboots + species_shoes = list( + SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless + ) back = /obj/item/storage/backpack/satchel/heph suit = /obj/item/clothing/suit/space/void/hephaestus head = /obj/item/clothing/head/helmet/space/void/hephaestus @@ -35,6 +38,11 @@ /obj/outfit/admin/ert/hephaestus/get_id_access() return get_distress_access() +/obj/outfit/admin/ert/hephaestuss/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + /obj/outfit/admin/ert/hephaestus/medic name = "Hephaestus Medic" belt = /obj/item/storage/belt/medical/first_responder/combat diff --git a/code/datums/outfits/ert/izweski.dm b/code/datums/outfits/ert/izweski.dm new file mode 100644 index 00000000000..73b0b41f4a8 --- /dev/null +++ b/code/datums/outfits/ert/izweski.dm @@ -0,0 +1,108 @@ +/obj/outfit/admin/ert/izweski + name = "Izweski Navy Crewman" + uniform = /obj/item/clothing/under/unathi/izweski + head = /obj/item/clothing/head/helmet/space/void/hegemony + suit = /obj/item/clothing/suit/space/void/hegemony + suit_store = /obj/item/gun/energy/rifle/hegemony + belt = /obj/item/storage/belt/military + shoes = /obj/item/clothing/shoes/sandals/caligae/socks + accessory = /obj/item/clothing/accessory/holster/thigh + accessory_contents = list(/obj/item/gun/energy/pistol/hegemony = 1) + gloves = /obj/item/clothing/gloves/black/unathi + back = /obj/item/recharger_backpack/high + l_ear = /obj/item/device/radio/headset/distress + l_pocket = /obj/item/tank/emergency_oxygen/double + belt_contents = list( + /obj/item/melee/energy/sword/hegemony = 1, + /obj/item/shield/energy/hegemony = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/grenade/flashbang = 2, + /obj/item/crowbar = 1 + ) + id = /obj/item/card/id + +/obj/outfit/admin/ert/izweski/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + +/obj/outfit/admin/ert/izweski/get_id_access() + return get_distress_access_lesser() + +/obj/outfit/admin/ert/izweski/medic + name = "Izweski Navy Medic" + belt = /obj/item/storage/belt/medical/first_responder/combat + back = /obj/item/storage/backpack/satchel/hegemony + head = /obj/item/clothing/head/helmet/space/void/hegemony/specialist + suit = /obj/item/clothing/suit/space/void/hegemony/specialist + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/butazoline = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + backpack_contents = list( + /obj/item/shield/energy/hegemony = 1, + /obj/item/crowbar = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/handcuffs/ziptie = 2 + ) + gloves = /obj/item/clothing/gloves/latex/nitrile/unathi + r_pocket = /obj/item/melee/energy/sword/hegemony + +/obj/outfit/admin/ert/izweski/klax + name = "Izweski Navy K'lax" + uniform = /obj/item/clothing/under/vaurca + head = /obj/item/clothing/head/helmet/unathi/klax + mask = /obj/item/clothing/mask/gas/vaurca/tactical + suit = /obj/item/clothing/suit/armor/unathi/klax + shoes = /obj/item/clothing/shoes/vaurca + gloves = null + l_hand = /obj/item/martial_manual/vaurca + suit_store = /obj/item/gun/projectile/heavysniper/unathi + back = /obj/item/storage/backpack/satchel/hegemony + backpack_contents = list( + /obj/item/handcuffs/ziptie = 2, + /obj/item/shield/energy/hegemony = 1, + /obj/item/melee/energy/sword/hegemony = 1, + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/ammo_casing/slugger = 5 + ) + +/obj/outfit/admin/ert/izweski/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE]) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + + var/obj/item/organ/A = new /obj/item/organ/internal/augment/language/klax(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + H.update_body() + +/obj/outfit/admin/ert/izweski/leader + name = "Izweski Navy Squad Leader" + uniform = /obj/item/clothing/under/unathi/izweski/officer + l_hand = /obj/item/melee/hammer/powered/hegemony + r_hand = /obj/item/gun/energy/rifle/hegemony + back = /obj/item/rig/unathi/fancy/equipped + suit_store = null + suit = null + head = null + + backpack_contents = list() + + belt_contents = list( + /obj/item/melee/energy/sword/hegemony = 1, + /obj/item/shield/energy/hegemony = 1, + /obj/item/handcuffs/ziptie = 2 + ) + +/obj/outfit/admin/ert/izweski/leader/post_equip(mob/living/carbon/human/H, visualsOnly) diff --git a/code/datums/outfits/ert/kataphract.dm b/code/datums/outfits/ert/kataphract.dm index ad9d0b7d9ee..062b270f617 100644 --- a/code/datums/outfits/ert/kataphract.dm +++ b/code/datums/outfits/ert/kataphract.dm @@ -14,6 +14,7 @@ back = /obj/item/storage/backpack/satchel/hegemony l_ear = /obj/item/device/radio/headset/distress + l_hand = /obj/item/martial_manual/swordsmanship r_pocket = /obj/item/device/radio @@ -21,7 +22,7 @@ backpack_contents = list( /obj/item/handcuffs/ziptie = 2, - /obj/item/shield/energy/hegemony = 1, + /obj/item/shield/energy/hegemony/kataphract = 1, /obj/item/crowbar = 1, /obj/item/storage/box/donkpockets = 1 ) @@ -37,7 +38,7 @@ H.equip_to_slot_if_possible(boots, slot_shoes) /obj/outfit/admin/ert/kataphract/get_id_access() - return get_distress_access() + return get_distress_access_lesser() /obj/outfit/admin/ert/kataphract/klax name = "Kataphract-Hopeful Klax" @@ -51,10 +52,11 @@ gloves = null l_hand = /obj/item/martial_manual/vaurca + l_pocket = /obj/item/melee/energy/sword/hegemony backpack_contents = list( /obj/item/handcuffs/ziptie = 2, - /obj/item/shield/energy/hegemony = 1, + /obj/item/shield/energy/hegemony/kataphract = 1, /obj/item/crowbar = 1, /obj/item/storage/box/smokebombs = 1, /obj/item/storage/box/anti_photons = 1, diff --git a/code/datums/outfits/ert/qukala.dm b/code/datums/outfits/ert/qukala.dm new file mode 100644 index 00000000000..bba04c76dd4 --- /dev/null +++ b/code/datums/outfits/ert/qukala.dm @@ -0,0 +1,158 @@ +/obj/outfit/admin/ert/qukala + name = "Qukala Emergency Responder" + uniform = /obj/item/clothing/under/skrell/qukala + shoes = /obj/item/clothing/shoes/jackboots/kala + gloves = /obj/item/clothing/gloves/kala + accessory = /obj/item/clothing/accessory/holster/hip + suit = /obj/item/clothing/suit/space/void/kala + head = /obj/item/clothing/head/helmet/space/void/kala + back = /obj/item/storage/backpack/kala + suit_store = /obj/item/gun/energy/gun/qukala + l_ear = /obj/item/device/radio/headset/distress + l_pocket = /obj/item/tank/emergency_oxygen/double + id = /obj/item/card/id + backpack_contents = list( + /obj/item/storage/box/survival = 1 + ) + belt = /obj/item/storage/belt/military + species_suit = list( //bugs and trees can't use the skroidsuits + SPECIES_VAURCA_WORKER = /obj/item/clothing/suit/storage/vest/kala, + SPECIES_VAURCA_WARRIOR = /obj/item/clothing/suit/storage/vest/kala, + SPECIES_DIONA = /obj/item/clothing/suit/storage/vest/kala + ) + species_head = list( //until we get non-skrell kala helmets + SPECIES_VAURCA_WORKER = /obj/item/clothing/head/helmet/tactical, + SPECIES_VAURCA_WARRIOR = /obj/item/clothing/head/helmet/tactical, + SPECIES_DIONA = /obj/item/clothing/head/helmet/tactical + ) + species_shoes = list( + SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/vaurca, + SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/vaurca, + SPECIES_DIONA = null + ) + belt_contents = list( + /obj/item/melee/telebaton/nlom = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/grenade/empgrenade = 1, + /obj/item/crowbar/red = 1 + ) + +/obj/outfit/admin/ert/qukala/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(isvaurca(H)) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/tactical(H), slot_wear_mask) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + H.equip_or_collect(new /obj/item/reagent_containers/food/snacks/koisbar, slot_in_backpack) + var/obj/item/organ/A = new /obj/item/organ/internal/augment/language/cthur(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + var/obj/item/organ/B = new /obj/item/organ/internal/augment/hiveshield/warfare(H) + var/obj/item/organ/external/affectedB = H.get_organ(B.parent_organ) + B.replaced(H, affectedB) + H.update_body() + if(H.is_diona()) + H.equip_or_collect(new /obj/item/device/uv_light(src), slot_in_backpack) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/advance/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + if(isskrell(H)) + H.equip_or_collect(new /obj/item/gun/energy/fedpistol(src), slot_in_backpack) + else + H.equip_or_collect(new /obj/item/gun/energy/fedpistol/nopsi(src), slot_in_backpack) + +/obj/outfit/admin/ert/qukala/get_id_access() + return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_SKRELL) + +/obj/outfit/admin/ert/qukala/medic + name = "Qukala Medic" + suit = /obj/item/clothing/suit/space/void/kala/med + head = /obj/item/clothing/head/helmet/space/void/kala/med + belt = /obj/item/storage/belt/medical/first_responder/combat + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex/nitrile + species_gloves = list( + SPECIES_VAURCA_WARRIOR = /obj/item/clothing/gloves/latex/nitrile/vaurca, + SPECIES_VAURCA_WORKER = /obj/item/clothing/gloves/latex/nitrile/vaurca, + SPECIES_DIONA = null + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/telebaton/nlom = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/crowbar/red = 1, + /obj/item/roller/hover = 1 + ) + +/obj/outfit/admin/ert/qukala/engi + name = "Qukala Engineer" + suit = /obj/item/clothing/suit/space/void/kala/engineering + head = /obj/item/clothing/head/helmet/space/void/kala/engineering + gloves = /obj/item/clothing/gloves/yellow + belt = /obj/item/storage/belt/utility/very_full + glasses = /obj/item/clothing/glasses/welding/superior + species_gloves = list( + SPECIES_VAURCA_WARRIOR = null, + SPECIES_VAURCA_WORKER = null, + SPECIES_DIONA = null + ) + accessory = /obj/item/clothing/accessory/storage/white_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/handcuffs/ziptie = 1, + /obj/item/clothing/glasses/welding/superior = 1, + /obj/item/gun/energy/blaster/revolver = 1, + /obj/item/melee/telebaton/nlom = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/grenade/empgrenade = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/qukala/heavy + name = "Qukala Heavy Trooper" + suit = null + head = null + suit_store = null + back = /obj/item/rig/skrell/equipped + backpack_contents = list() + mask = /obj/item/clothing/mask/gas/tactical + r_hand = /obj/item/gun/energy/rifle/laser/qukala + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/energy/fedpistol = 1 + ) + +/obj/outfit/admin/ert/qukala/heavy/post_equip(mob/living/carbon/human/H, visualsOnly) + +/obj/outfit/admin/ert/qukala/officer + suit = /obj/item/clothing/suit/space/void/kala/leader + head = /obj/item/clothing/head/helmet/space/void/kala/leader + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/energy/fedpistol = 1 + ) + +/obj/outfit/admin/ert/qukala/officer/post_equip(mob/living/carbon/human/H, visualsOnly) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/advance/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) diff --git a/code/datums/outfits/ert/vaurca.dm b/code/datums/outfits/ert/vaurca.dm new file mode 100644 index 00000000000..57960628ff6 --- /dev/null +++ b/code/datums/outfits/ert/vaurca.dm @@ -0,0 +1,279 @@ +//Zo'ra +/obj/outfit/admin/ert/zora + name = "Zo'ra Warrior" + uniform = /obj/item/clothing/under/vaurca + shoes = /obj/item/clothing/shoes/vaurca + suit = /obj/item/clothing/suit/space/void/commando + head = /obj/item/clothing/head/helmet/space/void/commando + mask = /obj/item/clothing/mask/gas/vaurca/tactical + glasses = /obj/item/clothing/glasses/sunglasses/blinders + id = /obj/item/card/id + l_ear = /obj/item/device/radio/headset/distress + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/energy/vaurca/blaster = 1 + ) + suit_store = /obj/item/gun/energy/rifle/laser/tachyon + back = /obj/item/storage/backpack/cloak/zora + backpack_contents = list( + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1 + ) + belt = /obj/item/storage/belt/military + belt_contents = list( + /obj/item/melee/energy/vaurca = 1, + /obj/item/grenade/anti_photon = 1, + /obj/item/crowbar/red = 1, + /obj/item/handcuffs/ziptie = 2 + ) + +/obj/outfit/admin/ert/zora/post_equip(mob/living/carbon/human/H, visualsOnly) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + var/obj/item/organ/A = new /obj/item/organ/internal/augment/hiveshield/warfare(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + var/obj/item/organ/B = new /obj/item/organ/external/hand/right/vaurca/security(H) + var/obj/item/organ/external/affectedB = H.get_organ(B.parent_organ) + B.replaced(H, affectedB) + H.update_body() + if(H?.shoes) + H.shoes.color = "#391610" + var/obj/item/clothing/shoes/magboots/vaurca/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + if(H?.w_uniform) + H.w_uniform.color = "#391610" + if(H?.glasses) + H.glasses.color = "#391610" + +/obj/outfit/admin/ert/zora/get_id_access() + return get_distress_access_lesser() + +/obj/outfit/admin/ert/zora/medic + name = "Zo'ra Field Biotechnician" + belt = /obj/item/storage/belt/medical/first_responder/combat + gloves = /obj/item/clothing/gloves/latex/nitrile/vaurca + + backpack_contents = list( + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1, + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/energy/vaurca = 1, + /obj/item/roller = 1 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/phoron = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/zora/medic/post_equip(mob/living/carbon/human/H, visualsOnly) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + var/obj/item/organ/A = new /obj/item/organ/internal/augment/hiveshield(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + var/obj/item/organ/B = new /obj/item/organ/external/hand/right/vaurca/medical(H) + var/obj/item/organ/external/affectedB = H.get_organ(B.parent_organ) + B.replaced(H, affectedB) + var/obj/item/organ/C = new /obj/item/organ/internal/augment/eye_sensors/medical(H) + var/obj/item/organ/external/affectedC = H.get_organ(C.parent_organ) + C.replaced(H, affectedC) + H.update_body() + if(H?.shoes) + H.shoes.color = "#391610" + var/obj/item/clothing/shoes/magboots/vaurca/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + if(H?.w_uniform) + H.w_uniform.color = "#391610" + if(H?.glasses) + H.glasses.color = "#391610" + var/obj/item/card/id/I = H.wear_id + I.access += (ACCESS_MEDICAL) //so the hud works + +/obj/outfit/admin/ert/zora/engi + name = "Zo'ra Sapper" + belt = /obj/item/storage/belt/utility/very_full + accessory = /obj/item/clothing/accessory/storage/brown_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/melee/energy/vaurca = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/gun/energy/vaurca/blaster = 1, + /obj/item/grenade/anti_photon= 1, + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/zora/engi/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + var/obj/item/organ/C = new /obj/item/organ/internal/augment/tool/correctivelens/glare_dampener(H) + var/obj/item/organ/external/affectedC = H.get_organ(C.parent_organ) + C.replaced(H, affectedC) + var/obj/item/organ/D = new /obj/item/organ/internal/augment/tool/combitool/vaurca/left(H) + var/obj/item/organ/external/affectedD = H.get_organ(D.parent_organ) + D.replaced(H, affectedD) + H.update_body() + +/obj/outfit/admin/ert/zora/heavy + name = "Zo'ra Heavy" + r_hand = /obj/item/gun/energy/vaurca/gatlinglaser + back = /obj/item/rig/vaurca + suit_store = null + suit = null + head = null + + backpack_contents = list() + +//K'lax +/obj/outfit/admin/ert/klax + name = "K'lax Warrior" + uniform = /obj/item/clothing/under/vaurca + shoes = /obj/item/clothing/shoes/vaurca + suit = /obj/item/clothing/suit/armor/unathi/klax + head = /obj/item/clothing/head/helmet/unathi/klax + mask = /obj/item/clothing/mask/gas/vaurca/tactical + glasses = /obj/item/clothing/glasses/sunglasses/blinders + id = /obj/item/card/id + l_ear = /obj/item/device/radio/headset/distress + r_pocket = /obj/item/crowbar/red + accessory = /obj/item/clothing/accessory/holster/hip + r_hand = /obj/item/recharger_backpack/high //so they can charge the hegemony weapons + accessory_contents = list( + /obj/item/gun/energy/pistol/hegemony = 1 + ) + suit_store = /obj/item/gun/energy/rifle/hegemony + back = /obj/item/storage/backpack/cloak/klax + backpack_contents = list( + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1 + ) + belt = /obj/item/storage/belt/military + belt_contents = list( + /obj/item/melee/energy/sword/hegemony = 1, + /obj/item/shield/energy/hegemony = 1, + /obj/item/handcuffs/ziptie = 2 + ) + +/obj/outfit/admin/ert/klax/post_equip(mob/living/carbon/human/H, visualsOnly) + var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] + H.internal = preserve + H.internals.icon_state = "internal1" + var/obj/item/organ/A = new /obj/item/organ/internal/augment/hiveshield/warfare(H) + var/obj/item/organ/external/affected = H.get_organ(A.parent_organ) + A.replaced(H, affected) + var/obj/item/organ/B = new /obj/item/organ/external/hand/right/vaurca/security(H) + var/obj/item/organ/external/affectedB = H.get_organ(B.parent_organ) + B.replaced(H, affectedB) + var/obj/item/organ/C = new /obj/item/organ/internal/augment/language/klax(H) + var/obj/item/organ/affectedC = H.get_organ(C.parent_organ) + C.replaced(H, affectedC) + H.update_body() + if(H?.shoes) + H.shoes.color = "#0e3a11" + var/obj/item/clothing/shoes/magboots/vaurca/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + if(H?.w_uniform) + H.w_uniform.color = "#0e3a11" + if(H?.glasses) + H.glasses.color = "#0e3a11" + +/obj/outfit/admin/ert/klax/get_id_access() + return get_distress_access_lesser() + +/obj/outfit/admin/ert/klax/medic + name = "K'lax Field Biotechnician" + belt = /obj/item/storage/belt/medical/first_responder/combat + gloves = /obj/item/clothing/gloves/latex/nitrile/vaurca + r_hand = null + + backpack_contents = list( + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1, + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/energy/sword/hegemony = 1, + /obj/item/shield/energy/hegemony = 1, + /obj/item/roller = 1 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/phoron = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/klax/medic/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + var/obj/item/organ/grasper = new /obj/item/organ/external/hand/right/vaurca/medical(H) + var/obj/item/organ/external/arm = H.get_organ(grasper.parent_organ) + grasper.replaced(H, arm) + var/obj/item/organ/med = new /obj/item/organ/internal/augment/eye_sensors/medical(H) + var/obj/item/organ/external/head = H.get_organ(med.parent_organ) + med.replaced(H, head) + H.update_body() + var/obj/item/card/id/I = H.wear_id + I.access += (ACCESS_MEDICAL) //so the hud works + +/obj/outfit/admin/ert/klax/engi + name = "K'lax Sapper" + belt = /obj/item/storage/belt/utility/very_full + accessory = /obj/item/clothing/accessory/storage/brown_vest + r_hand = null + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/melee/hammer/powered/hegemony = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/gun/energy/pistol/hegemony = 1, + /obj/item/grenade/anti_photon= 1, + /obj/item/reagent_containers/food/snacks/koisbar = 3, + /obj/item/reagent_containers/inhaler/phoron_special = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/klax/engi/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + var/obj/item/organ/weld = new /obj/item/organ/internal/augment/tool/correctivelens/glare_dampener(H) + var/obj/item/organ/external/head = H.get_organ(weld.parent_organ) + weld.replaced(H, head) + var/obj/item/organ/tool = new /obj/item/organ/internal/augment/tool/combitool/vaurca/left(H) + var/obj/item/organ/external/hand = H.get_organ(tool.parent_organ) + tool.replaced(H, hand) + H.update_body() + +/obj/outfit/admin/ert/klax/heavy + name = "K'lax Heavy" + r_hand = /obj/item/melee/energy/vaurca_zweihander + back = /obj/item/rig/vaurca + suit_store = null + suit = null + head = null + + backpack_contents = list() diff --git a/code/datums/outfits/ert/zavod.dm b/code/datums/outfits/ert/zavod.dm new file mode 100644 index 00000000000..f63a2883cb7 --- /dev/null +++ b/code/datums/outfits/ert/zavod.dm @@ -0,0 +1,101 @@ +/obj/outfit/admin/ert/zavodskoi + name = "Zavodskoi Asset Protection" + uniform = /obj/item/clothing/under/rank/security/zavod/zavodsec + shoes = /obj/item/clothing/shoes/jackboots + back = /obj/item/storage/backpack/satchel/zavod + suit = /obj/item/clothing/suit/space/void/zavodskoi + head = /obj/item/clothing/head/helmet/space/void/zavodskoi + belt = /obj/item/storage/belt/military + l_ear = /obj/item/device/radio/headset/distress + id = /obj/item/card/id/zavodskoi + mask = /obj/item/clothing/mask/gas/tactical + glasses = /obj/item/clothing/glasses/safety/goggles/goon/zavod + l_pocket = /obj/item/tank/emergency_oxygen/double + r_pocket = /obj/item/crowbar/red + suit_store = /obj/item/gun/projectile/automatic/rifle/z8 + accessory = /obj/item/clothing/accessory/holster/hip/brown + accessory_contents = list(/obj/item/gun/projectile/pistol) + belt_contents = list( + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/grenade/frag = 2, + /obj/item/ammo_magazine/mc9mm = 2, + /obj/item/ammo_magazine/a556 = 2 + ) + backpack_contents = list( + /obj/item/storage/box/survival = 1, + /obj/item/grenade/flashbang = 2 + ) + id_iff = IFF_ZAVOD + +/obj/outfit/admin/ert/zavodskoi/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H?.shoes) + var/obj/item/clothing/shoes/magboots/boots = new(H) + H.equip_to_slot_if_possible(boots, slot_shoes) + +/obj/outfit/admin/ert/zavodskoi/get_id_access() + return get_distress_access() + +/obj/outfit/admin/ert/zavodskoi/medic + name = "Zavodskoi Medic" + belt = /obj/item/storage/belt/medical/first_responder/combat + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex/nitrile + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/ammo_magazine/mc9mm = 2, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/shield/energy = 1, + /obj/item/gun/projectile/pistol = 1, + /obj/item/ammo_magazine/a556 = 2 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/zavodskoi/engi + name = "Zavodskoi Engineer" + uniform = /obj/item/clothing/under/rank/engineer/zavod + back = /obj/item/storage/backpack/duffel/zavod + belt = /obj/item/storage/belt/utility/very_full + gloves = /obj/item/clothing/gloves/yellow + + accessory = /obj/item/clothing/accessory/storage/brown_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/ammo_magazine/mc9mm = 2, + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/clothing/glasses/welding/superior = 1, + /obj/item/ammo_magazine/a556 = 2, + /obj/item/gun/projectile/pistol = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/zavodskoi/lead + name = "Zavodskoi Squad Leader" + accessory_contents = list( + /obj/item/gun/projectile/revolver = 1 + ) + belt_contents = list( + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/grenade/frag = 2, + /obj/item/ammo_magazine/a357 = 2, + /obj/item/ammo_magazine/a556 = 2 + ) diff --git a/code/datums/outfits/ert/zenghu.dm b/code/datums/outfits/ert/zenghu.dm new file mode 100644 index 00000000000..95b809396c6 --- /dev/null +++ b/code/datums/outfits/ert/zenghu.dm @@ -0,0 +1,80 @@ +/obj/outfit/admin/ert/zeng + name = "Zeng-Hu ERT" + uniform = /obj/item/clothing/under/rank/security/zeng + shoes = /obj/item/clothing/shoes/jackboots + back = /obj/item/recharger_backpack/high + suit = /obj/item/clothing/suit/space/void/zenghu + head = /obj/item/clothing/head/helmet/space/void/zenghu + belt = /obj/item/storage/belt/military + l_ear = /obj/item/device/radio/headset/distress + id = /obj/item/card/id/zeng_hu + mask = /obj/item/clothing/mask/gas/tactical + glasses = /obj/item/clothing/glasses/night + l_pocket = /obj/item/tank/emergency_oxygen/double + r_pocket = /obj/item/crowbar/red + suit_store = /obj/item/gun/energy/rifle + accessory = /obj/item/clothing/accessory/holster/hip + accessory_contents = list( + /obj/item/gun/energy/toxgun = 1 + ) + belt_contents = list( + /obj/item/shield/energy = 1, + /obj/item/device/flash = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/melee/baton/loaded = 1, + /obj/item/grenade/flashbang = 2 + ) + id_iff = IFF_ZENGHU + +/obj/outfit/admin/ert/zeng/medic + name = "Zeng-Hu Medic" + uniform = /obj/item/clothing/under/rank/medical/first_responder/zeng + belt = /obj/item/storage/belt/medical/first_responder/combat + glasses = /obj/item/clothing/glasses/hud/health + gloves = /obj/item/clothing/gloves/latex/nitrile + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/shield/energy = 1, + /obj/item/gun/energy/toxgun = 1 + ) + + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + +/obj/outfit/admin/ert/zeng/engineer + name = "Zeng-Hu Engineer" + back = /obj/item/storage/backpack/duffel/zeng + belt = /obj/item/storage/belt/utility/very_full + gloves = /obj/item/clothing/gloves/yellow + + accessory = /obj/item/clothing/accessory/storage/white_vest + accessory_contents = list( + /obj/item/plastique = 5 + ) + backpack_contents = list( + /obj/item/handcuffs/ziptie = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/clothing/glasses/welding/superior = 1, + /obj/item/gun/energy/toxgun = 1 + ) + belt_contents = null + +/obj/outfit/admin/ert/zeng/leader + name = "Zeng-Hu Squad Leader" + accessory_contents = list( + /obj/item/gun/energy/decloner = 1 + ) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 876fe151e9d..1265f7c7588 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -526,6 +526,10 @@ var/const/NO_EMAG_ACT = -50 access = list(ACCESS_LEGION, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_SECURITY, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_ATMOSPHERICS, ACCESS_MEDICAL_EQUIP) ..() +/obj/item/card/id/distress/legion/tcaf + name = "\improper Tau Ceti Armed Forces identification card" + assignment = "Republican Fleet Legionary" + /obj/item/card/id/distress/ap_eridani name = "\improper Eridani Private Military Contractor identification card" desc = "A high-tech holobadge, identifying the owner as a contractor from one of the many PMCs from the Eridani Corporate Federation." diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm new file mode 100644 index 00000000000..117f8997dda --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm @@ -0,0 +1,32 @@ +/datum/ghostspawner/human/ert/einstein + name = "Einstein Engines Asset Protection" + short_name = "ee_ert" + desc = "A responder from an Einstein Engines asset protection squad." + max_count = 2 + welcome_message = "You are a member of an Einstein Engines heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders." + outfit = /obj/outfit/admin/ert/einstein + possible_species = list(SPECIES_HUMAN) + assigned_role = "Asset Protection (Einstein)" + +/datum/ghostspawner/human/ert/einstein/medical + name = "Einstein Engines Medical Specialist" + short_name = "ee_ertm" + desc = "A medical specialist from an Einstein Engines asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/einstein/medic + +/datum/ghostspawner/human/ert/einstein/engineer + name = "Einstein Engines Engineering Specialist" + short_name = "ee_erte" + desc = "An engineering specialist from an Einstein Engines asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/einstein/engi + +/datum/ghostspawner/human/ert/einstein/leader + name = "Einstein Engines Squad Leader" + short_name = "ee_ertl" + desc = "The commander of a Einstein Engines asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/einstein/leader + welcome_message = "You are the commander of an Einstein Engines heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team." + assigned_role = "Asset Protection Commander (Einstein)" diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm index 5b415e398b3..c76659b7893 100644 --- a/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm +++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm @@ -6,6 +6,7 @@ welcome_message = "You are a member of a Hephaestus heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders." outfit = /obj/outfit/admin/ert/hephaestus possible_species = list(SPECIES_HUMAN, SPECIES_UNATHI) + assigned_role = "Asset Protection (Hepht)" /datum/ghostspawner/human/ert/hephaestus/medical name = "Hephaestus Industries Medical Specialist" diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm new file mode 100644 index 00000000000..8032d4c241a --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm @@ -0,0 +1,32 @@ +/datum/ghostspawner/human/ert/zavodskoi + name = "Zavodskoi Interstellar Asset Protection" + short_name = "zavodert" + desc = "A responder from a Zavodskoi Interstellar asset protection squad." + max_count = 2 + welcome_message = "You are a member of a Zavodskoi heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders." + outfit = /obj/outfit/admin/ert/zavodskoi + possible_species = list(SPECIES_HUMAN) //Only humans have Zavod voidsuit sprites currently + assigned_role = "Asset Protection (Zavod)" + +/datum/ghostspawner/human/ert/zavodskoi/medical + name = "Zavodskoi Interstellar Medical Specialist" + short_name = "zavmed" + desc = "A medical specialist from a Zavodskoi Interstellar asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zavodskoi/medic + +/datum/ghostspawner/human/ert/zavodskoi/engineer + name = "Zavodskoi Interstellar Engineering Specialist" + short_name = "zaveng" + desc = "An engineering specialist from a Zavodskoi Interstellar asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zavodskoi/engi + +/datum/ghostspawner/human/ert/zavodskoi/leader + name = "Zavodskoi Interstellar Squad Leader" + short_name = "zavlead" + desc = "The commander of a Zavodskoi Interstellar asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zavodskoi/lead + welcome_message = "You are the commander of a Zavodskoi heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team." + assigned_role = "Asset Protection Commander (Zavod)" diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm new file mode 100644 index 00000000000..c660d4172c9 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm @@ -0,0 +1,32 @@ +/datum/ghostspawner/human/ert/zeng + name = "Zeng-Hu Pharmaceuticals Asset Protection" + short_name = "zengert" + desc = "A responder from a Zeng-Hu Pharmaceuticals asset protection squad." + max_count = 2 + welcome_message = "You are a member of a Zeng-Hu heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders." + outfit = /obj/outfit/admin/ert/zeng + possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) + assigned_role = "Asset Protection (Zeng)" + +/datum/ghostspawner/human/ert/zeng/medical + name = "Zeng-Hu Pharmaceuticals Medical Specialist" + short_name = "zengertmed" + desc = "A medical specialist from a Zeng-Hu Pharmaceuticals asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zeng/medic + +/datum/ghostspawner/human/ert/zeng/engineer + name = "Zeng-Hu Pharmaceuticals Engineering Specialist" + short_name = "zengerteng" + desc = "An engineering specialist from a Zeng-Hu Pharmaceuticals asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zeng/engineer + +/datum/ghostspawner/human/ert/zeng/leader + name = "Zeng-Hu Pharmaceuticals Squad Leader" + short_name = "zengertlead" + desc = "The commander of a Zeng-Hu Pharmaceuticals asset protection squad." + max_count = 1 + outfit = /obj/outfit/admin/ert/zeng/leader + welcome_message = "You are the commander of a Zeng-Hu heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team." + assigned_role = "Asset Protection Commander (Zavod)" diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm b/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm new file mode 100644 index 00000000000..d870622b900 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm @@ -0,0 +1,38 @@ +/datum/ghostspawner/human/ert/tcaf + name = "Republican Fleet Legionary" + short_name = "erttcaf" + desc = "A soldier of the Republican Fleet response team." + max_count = 2 + outfit = /obj/outfit/admin/ert/tcaf + possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS) + mob_name_prefix = "Lgn. " + welcome_message = "You are a soldier of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Republican Fleet Legionary" + +/datum/ghostspawner/human/ert/tcaf/medic + name = "Republican Fleet Medic" + short_name = "erttcafm" + desc = "The assigned medic of the Republican Fleet response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/tcaf/medic + welcome_message = "You are a medical specialist of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Republican Fleet Medic" + +/datum/ghostspawner/human/ert/tcaf/engi + name = "Republican Fleet Sapper" + short_name = "erttcafe" + desc = "The assigned sapper and engineering specialist of the Republican Fleet response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/tcaf/engi + welcome_message = "You are an engineering specialist of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Republican Fleet Engineer" + +/datum/ghostspawner/human/ert/tcaf/officer + name = "Republican Fleet Officer" + short_name = "erttcaflead" + desc = "The commanding officer of the Republican Fleet response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/tcaf/officer + welcome_message = "You are the commanding officer of a Tau Ceti Republican Fleet squadron, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Republican Fleet Officer" + mob_name_prefix = "Dec. " diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm b/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm new file mode 100644 index 00000000000..f1f8fc5ab5a --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm @@ -0,0 +1,37 @@ +/datum/ghostspawner/human/ert/dominia + short_name = "ertdom" + name = "Imperial Fleet Armsman" + desc = "You are an enlisted voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector." + outfit = /obj/outfit/admin/ert/dominia + mob_name_prefix = "ARMSN. " //Armsman + max_count = 2 + possible_species = list(SPECIES_HUMAN) + assigned_role = "Imperial Fleet Voidsman" + respawn_flag = null + +/datum/ghostspawner/human/ert/dominia/medic + short_name = "ertdomm" + name = "Imperial Fleet Medic" + desc = "You are a medical specialist voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector." + outfit = /obj/outfit/admin/ert/dominia/medic + mob_name_prefix = "VDSMN. " //Voidsman + max_count = 1 + assigned_role = "Imperial Fleet Medic" + +/datum/ghostspawner/human/ert/dominia/engi + short_name = "ertdome" + name = "Imperial Fleet Sapper" + desc = "You are an engineering specialist voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector." + outfit = /obj/outfit/admin/ert/dominia/engi + mob_name_prefix = "VDSMN. " //Voidsman + max_count = 1 + assigned_role = "Imperial Fleet Sapper" + +/datum/ghostspawner/human/ert/dominia/lead + short_name = "ertdomlead" + name = "Imperial Fleet Offcer" + desc = "You are an ensign of the Dominian Imperial Fleet, leading the response to a distress call in the sector." + outfit = /obj/outfit/admin/ert/dominia/officer + mob_name_prefix = "ENS. " //Voidsman + max_count = 1 + assigned_role = "Imperial Fleet Officer" diff --git a/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm b/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm new file mode 100644 index 00000000000..ba2857ac1d8 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm @@ -0,0 +1,48 @@ +/datum/ghostspawner/human/ert/qukala + name = "Qukala Responder" + short_name = "ertkala" + desc = "A soldier of the Qukala response team." + max_count = 2 + outfit = /obj/outfit/admin/ert/qukala + uses_species_whitelist = FALSE + possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WARRIOR, SPECIES_DIONA) + welcome_message = "You are a soldier of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Qukala Responder" + +/datum/ghostspawner/human/ert/qukala/medic + name = "Qukala Medic" + short_name = "ertkalam" + desc = "A medical specialist of the Qukala response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/qukala/medic + welcome_message = "You are a medical specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Qukala Medic" + +/datum/ghostspawner/human/ert/qukala/engineer + name = "Qukala Engineer" + short_name = "ertkalae" + desc = "An engineering specialist of the Qukala response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/qukala/engi + welcome_message = "You are an engineering specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Qukala Engineer" + +/datum/ghostspawner/human/ert/qukala/heavy + name = "Qukala Heavy Trooper" + short_name = "ertkalah" + desc = "A heavy weapons specialist of the Qukala response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/qukala/heavy + possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) //hardsuit only has skrell sprites + welcome_message = "You are a heavy weapons specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Qukala Heavy Trooper" + +/datum/ghostspawner/human/ert/qukala/officer + name = "Qukala Commander" + short_name = "ertkalalead" + desc = "The commanding officer of the Qukala response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/qukala/officer + possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) //only the warblers get to give orders around here + welcome_message = "You are an officer of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon." + assigned_role = "Qukala Commander" diff --git a/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm b/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm new file mode 100644 index 00000000000..d7dfaa61239 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm @@ -0,0 +1,37 @@ +/datum/ghostspawner/human/ert/izweski + name = "Izweski Navy Crewman" + short_name = "ertizweski" + desc = "A soldier of the Izweski Hegemony response team." + max_count = 2 + outfit = /obj/outfit/admin/ert/izweski + uses_species_whitelist = FALSE // Anyone should be able to play an ERT Unathi + possible_species = list(SPECIES_UNATHI) + extra_languages = list(LANGUAGE_UNATHI) + welcome_message = "You are a soldier of the Izweski Hegemony Navy, responding to a distress call. Obey the orders of your commander, and uphold the Warrior's Code." + assigned_role = "Izweski Navy Crewman" + +/datum/ghostspawner/human/ert/izweski/medic + name = "Izweski Navy Healer" + short_name = "ertizweskim" + desc = "The medical specialist of the Izweski Hegemony response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/izweski/medic + assigned_role = "Izweski Navy Medic" + +/datum/ghostspawner/human/ert/izweski/klax + name = "Izweski Navy K'laxan Warrior" + short_name = "ertizweskik" + desc = "A K'lax Vaurca Warrior, assigned to the Izweski Hegemony response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/izweski/klax + possible_species = list(SPECIES_VAURCA_WARRIOR) + extra_languages = list(LANGUAGE_VAURCA) + +/datum/ghostspawner/human/ert/izweski/leader + name = "Izweski Navy Squad Leader" + short_name = "ertizweskil" + desc = "The commander of the Izweski Hegemony response team." + max_count = 1 + outfit = /obj/outfit/admin/ert/izweski/leader + welcome_message = "You are the leader of an Izweski Hegemony naval squad, investigating a distress signal. Act with honor, and uphold the interests of the Hegemon." + assigned_role = "Izweski Navy Officer" diff --git a/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm b/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm new file mode 100644 index 00000000000..0731ae7de92 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm @@ -0,0 +1,35 @@ +/datum/ghostspawner/human/ert/klax + name = "K'lax Warrior" + short_name = "ertklax" + desc = "You are a warrior of the K'lax Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/klax + mob_name_suffix = " K'lax" + mob_name_pick_message = "Choose a Vaurca first name." + possible_species = list(SPECIES_VAURCA_WARRIOR) + uses_species_whitelist = FALSE + max_count = 2 + assigned_role = "K'lax Warrior" + +/datum/ghostspawner/human/ert/klax/medic + name = "K'lax Field Biotechnician" + short_name = "ertklaxm" + desc = "You are a medical specialist of the K'lax Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/klax/medic + max_count = 1 + assigned_role = "K'lax Field Biotechnician" + +/datum/ghostspawner/human/ert/klax/engi + name = "K'lax Sapper" + short_name = "ertklaxe" + desc = "You are an engineering specialist of the K'lax Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/klax/engi + max_count = 1 + assigned_role = "K'lax Sapper" + +/datum/ghostspawner/human/ert/klax/heavy + name = "K'lax Heavy" + short_name = "ertklaxh" + desc = "You are a heavy weapons specialist of the K'lax Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/klax/heavy + max_count = 1 + assigned_role = "K'lax Heavy" diff --git a/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm b/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm new file mode 100644 index 00000000000..e02f81096d7 --- /dev/null +++ b/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm @@ -0,0 +1,35 @@ +/datum/ghostspawner/human/ert/zora + name = "Zo'ra Warrior" + short_name = "ertzora" + desc = "You are a warrior of the Zo'ra Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/zora + mob_name_suffix = " Zo'ra" + mob_name_pick_message = "Choose a Vaurca first name." + possible_species = list(SPECIES_VAURCA_WARRIOR) + uses_species_whitelist = FALSE + max_count = 2 + assigned_role = "Zo'ra Warrior" + +/datum/ghostspawner/human/ert/zora/medic + name = "Zo'ra Field Biotechnician" + short_name = "ertzoram" + desc = "You are a medical specialist of the Zo'ra Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/zora/medic + max_count = 1 + assigned_role = "Zo'ra Field Biotechnician" + +/datum/ghostspawner/human/ert/zora/engi + name = "Zo'ra Sapper" + short_name = "ertzorae" + desc = "You are an engineering specialist of the Zo'ra Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/zora/engi + max_count = 1 + assigned_role = "Zo'ra Sapper" + +/datum/ghostspawner/human/ert/zora/heavy + name = "Zo'ra Heavy" + short_name = "ertzorah" + desc = "You are a heavy weapons specialist of the Zo'ra Hive, deployed to respond to an incident in the sector." + outfit = /obj/outfit/admin/ert/zora/heavy + max_count = 1 + assigned_role = "Zo'ra Heavy" diff --git a/code/modules/projectiles/guns/energy/rifle.dm b/code/modules/projectiles/guns/energy/rifle.dm index c0c37bea0fa..8d7c7d942c7 100644 --- a/code/modules/projectiles/guns/energy/rifle.dm +++ b/code/modules/projectiles/guns/energy/rifle.dm @@ -233,11 +233,11 @@ /obj/item/gun/energy/rifle/laser/qukala name = "geop cannon" desc = "An advanced weapon of Skrell design, this Geop Cannon uses a tiny warp accelerator to super heat particles." - desc_extended = "" icon = 'icons/obj/item/gun/energy/rifle/qukala_heavy.dmi' icon_state = "qukala_heavy" item_state = "qukala_heavy" max_shots = 10 + self_recharge = TRUE projectile_type = /obj/item/projectile/beam/midlaser/skrell/heavy /obj/item/gun/energy/rifle/hegemony diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index ccc05cd9fbf..902fa38bfe4 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -232,6 +232,12 @@ desc = "A small, unmarked lial with an ominous label. It contains a swirling, purple liquid." icon_state = "bouteille" reagents_to_add = list(/singleton/reagent/toxin/hylemnomil = 60) + +/obj/item/reagent_containers/glass/bottle/phoron + name = "phoron bottle" + desc = "A small bottle. Contains highly rare and flammable phoron." + icon_state = "bottle-1" + reagents_to_add = list(/singleton/reagent/toxin/phoron = 60) //syrups /obj/item/reagent_containers/glass/bottle/syrup diff --git a/html/changelogs/RustingWithYou - ohgodhelp.yml b/html/changelogs/RustingWithYou - ohgodhelp.yml new file mode 100644 index 00000000000..cef83e825db --- /dev/null +++ b/html/changelogs/RustingWithYou - ohgodhelp.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: RustingWithYou + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds several new ERTs." diff --git a/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm b/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm index ffbe52fc1f8..7ff45a12f2d 100644 --- a/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm +++ b/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm @@ -149,7 +149,6 @@ /obj/machinery/door/airlock/hatch{ dir = 1; frequency = 1337; - icon_state = "door_locked"; id_tag = "distress_shuttle_hatch_aft"; locked = 1; name = "Aft Shuttle Hatch"; @@ -27833,7 +27832,8 @@ pixel_y = 32 }, /turf/unsimulated/floor{ - icon_state = "wood-broken6" + dir = 8; + icon_state = "wood" }, /area/centcom/distress_prep) "bqk" = ( @@ -32271,7 +32271,6 @@ /obj/machinery/door/airlock/hatch{ dir = 4; frequency = 1337; - icon_state = "door_locked"; id_tag = "distress_shuttle_hatch_fore"; locked = 1; name = "Port Shuttle Hatch"; diff --git a/maps/templates/distress/distress_equipment.dm b/maps/templates/distress/distress_equipment.dm index a6e3962e8ad..db20a1f53c7 100644 --- a/maps/templates/distress/distress_equipment.dm +++ b/maps/templates/distress/distress_equipment.dm @@ -9,3 +9,11 @@ /datum/map_template/distress_freelancers name = "freelancer distress equipment" mappaths = list("maps/templates/distress/freelancers.dmm") + +/datum/map_template/distress_tcaf + name = "tau ceti distress equipment" + mappaths = list("maps/templates/distress/tcaf.dmm") + +/datum/map_template/distress_dominia + name = "dominian distress equipment" + mappaths = list("maps/templates/distress/dominia.dmm") diff --git a/maps/templates/distress/dominia.dmm b/maps/templates/distress/dominia.dmm new file mode 100644 index 00000000000..0a784bdff76 --- /dev/null +++ b/maps/templates/distress/dominia.dmm @@ -0,0 +1,96 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/security, +/obj/item/storage/backpack/dominia, +/obj/item/storage/backpack/dominia, +/obj/item/storage/backpack/dominia, +/obj/item/storage/backpack/dominia, +/obj/item/storage/backpack/dominia, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"l" = ( +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"E" = ( +/obj/effect/floor_decal/industrial/warning/full, +/obj/machinery/power/emitter{ + req_access = list(111) + }, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"N" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/security, +/obj/item/clothing/head/dominia/fleet/armsman, +/obj/item/clothing/head/dominia/fleet/armsman, +/obj/item/clothing/head/dominia/fleet/officer, +/obj/item/clothing/head/dominia/fleet, +/obj/item/clothing/head/dominia/fleet, +/obj/item/clothing/suit/storage/dominia/fleet, +/obj/item/clothing/accessory/poncho/dominia_cape/mantle, +/obj/item/clothing/accessory/poncho/dominia_cape/mantle, +/obj/item/clothing/accessory/poncho/dominia_cape/mantle, +/obj/item/clothing/accessory/poncho/dominia_cape/mantle, +/obj/item/clothing/accessory/poncho/dominia_cape/mantle, +/obj/item/clothing/accessory/flagpatch/dominia, +/obj/item/clothing/accessory/flagpatch/dominia, +/obj/item/clothing/accessory/flagpatch/dominia, +/obj/item/clothing/accessory/flagpatch/dominia, +/obj/item/clothing/accessory/flagpatch/dominia, +/obj/item/clothing/accessory/sash/white{ + name = "House Zhao sash" + }, +/obj/item/clothing/accessory/sash/white{ + name = "House Zhao sash" + }, +/obj/item/clothing/accessory/sash/white{ + name = "House Zhao sash" + }, +/obj/item/clothing/accessory/sash/white{ + name = "House Zhao sash" + }, +/obj/item/clothing/accessory/sash/white{ + name = "House Zhao sash" + }, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"Y" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/security, +/obj/item/gun/projectile/automatic/rifle/dominia_lmg, +/obj/item/ammo_magazine/a556/dlmg, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"Z" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/security, +/obj/item/device/versebook/tribunal, +/obj/item/device/versebook/tribunal, +/obj/item/device/versebook/tribunal, +/obj/item/device/versebook/tribunal, +/obj/item/device/versebook/tribunal, +/obj/item/sign/painting_frame/goddess/soldier, +/turf/unsimulated/floor, +/area/centcom/distress_prep) + +(1,1,1) = {" +E +l +Z +"} +(2,1,1) = {" +l +l +a +"} +(3,1,1) = {" +l +l +N +"} +(4,1,1) = {" +l +l +Y +"} diff --git a/maps/templates/distress/tcaf.dmm b/maps/templates/distress/tcaf.dmm new file mode 100644 index 00000000000..0d625e5230b --- /dev/null +++ b/maps/templates/distress/tcaf.dmm @@ -0,0 +1,114 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/machinery/power/emitter{ + req_access = list(111) + }, +/obj/effect/floor_decal/industrial/warning/full, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"y" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"B" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/armor/carrier/tcaf, +/obj/item/clothing/suit/armor/carrier/tcaf, +/obj/item/clothing/suit/armor/carrier/tcaf, +/obj/item/clothing/suit/armor/carrier/tcaf, +/obj/item/clothing/suit/armor/carrier/tcaf, +/obj/item/clothing/head/helmet/tcaf, +/obj/item/clothing/head/helmet/tcaf, +/obj/item/clothing/head/helmet/tcaf, +/obj/item/clothing/head/helmet/tcaf, +/obj/item/clothing/head/helmet/tcaf, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/item/material/twohanded/pike/flag{ + pixel_y = 6 + }, +/obj/item/recharger_backpack/high, +/obj/item/recharger_backpack/high, +/obj/item/recharger_backpack/high, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"D" = ( +/obj/structure/table/rack, +/obj/item/gun/projectile/peac, +/obj/item/ammo_casing/peac, +/obj/item/ammo_casing/peac, +/obj/item/ammo_casing/peac/he, +/obj/item/ammo_casing/peac/he, +/obj/item/ammo_casing/peac/shrapnel, +/obj/item/ammo_casing/peac/shrapnel, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"O" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/crate/secure/legion{ + name = "republican fleet supply crate" + }, +/obj/item/deployable_kit/legion_barrier, +/obj/item/deployable_kit/legion_barrier, +/obj/item/deployable_kit/legion_barrier, +/obj/item/deployable_kit/legion_barrier, +/obj/item/deployable_kit/legion_barrier, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/device/magnetic_lock/security/legion, +/obj/item/deployable_kit/legion_turret{ + name = "blaster turret assembly kit" + }, +/obj/item/deployable_kit/legion_turret{ + name = "blaster turret assembly kit" + }, +/obj/item/deployable_kit/legion_turret{ + name = "blaster turret assembly kit" + }, +/obj/item/deployable_kit/legion_turret{ + name = "blaster turret assembly kit" + }, +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"T" = ( +/turf/unsimulated/floor, +/area/centcom/distress_prep) +"V" = ( +/obj/machinery/mech_recharger, +/obj/effect/floor_decal/industrial/outline/yellow, +/mob/living/heavy_vehicle/premade/combat/tcaf, +/turf/unsimulated/floor, +/area/centcom/distress_prep) + +(1,1,1) = {" +a +O +y +"} +(2,1,1) = {" +T +T +D +"} +(3,1,1) = {" +T +T +B +"} +(4,1,1) = {" +T +T +V +"}