diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index 964c269b5f43..34771af91ed2 100644 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -104,6 +104,9 @@ /// Set to FALSE if your outfit requires runtime parameters var/can_be_admin_equipped = TRUE + // Used to determine if it should be ignored in unit tests due to being to dynamic to always spawn backpack contents right + var/random = FALSE + /** * extra types for chameleon outfit changes, mostly guns * diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index a11e647a706d..f3aca3e96a98 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -5,11 +5,9 @@ /obj/structure/closet/secure_closet/engineering_chief/PopulateContents() ..() - //WS Begin new /obj/item/clothing/head/beret/ce(src) //Berets new /obj/item/clothing/under/rank/command(src) //Better command uniforms new /obj/item/stack/tape/industrial/pro(src) //Better tape - //WS End new /obj/item/clothing/neck/cloak/ce(src) new /obj/item/clothing/under/rank/engineering/chief_engineer(src) new /obj/item/clothing/under/rank/engineering/chief_engineer/skirt(src) @@ -40,9 +38,7 @@ /obj/structure/closet/secure_closet/engineering_electrical/PopulateContents() ..() var/static/items_inside = list( - //WS Begin /obj/item/stack/tape/industrial/electrical = 1, // Better tape - //WS End /obj/item/clothing/gloves/color/yellow = 2, /obj/item/storage/toolbox/electrical = 3, /obj/item/electronics/apc = 3, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index cfdcca348b14..6c01be326e7a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -79,13 +79,11 @@ /obj/structure/closet/secure_closet/CMO/PopulateContents() ..() - //WS Begin new /obj/item/storage/belt/medical(src) //Gives the CMO a belt new /obj/item/storage/bag/medical(src) //Medibags new /obj/item/clothing/head/beret/cmo(src) //Berets new /obj/item/clothing/under/rank/command(src) //Better command uniforms new /obj/item/storage/box/hypospray/CMO(src) //Hypo mk. 2s - //WS End new /obj/item/clothing/neck/cloak/cmo(src) new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) diff --git a/code/modules/client/loadout/loadout_accessories.dm b/code/modules/client/loadout/loadout_accessories.dm index 40702e5fc2be..b81588c8e72e 100644 --- a/code/modules/client/loadout/loadout_accessories.dm +++ b/code/modules/client/loadout/loadout_accessories.dm @@ -77,6 +77,11 @@ description = "Standard hand coverings for everyday use." path = /obj/item/clothing/gloves/color/white +/datum/gear/accessory/gloves/fingerless + display_name = "fingerless gloves" + description = "Radical hand coverings for everyday use." + path = /obj/item/clothing/gloves/fingerless + /datum/gear/accessory/gloves/evening display_name = "evening gloves" description = "Excessively fancy elbow-length gloves." diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 1cbc7ec58d51..e0c0d8a801ab 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -403,521 +403,38 @@ /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize() //in an ideal world, these would generate, the legion would overlay over the corpse, and we'd get cool sprites mob_species = pickweight(list( - /datum/species/human = 31, - /datum/species/lizard = 26, - /datum/species/elzuose = 24, - /datum/species/spider = 7, - /datum/species/ipc = 7, - /datum/species/jelly = 4, - /datum/species/fly = 1 + /datum/species/human = 50, + /datum/species/lizard = 20, + /datum/species/ipc = 10, + /datum/species/elzuose = 10, + /datum/species/moth = 5, + /datum/species/spider = 5 ) ) var/type = pickweight(list( - "Miner" = 44, - "Waldo" = 3, - "Ashwalker" = 7, - "Soldier" = 5, - "Oldminer" = 8, - "Kobold" = 5, - "SRM" = 6, - "Operative" = 5, - pick("Shadow", "YeOlde") = 4 + "Miner" = 40, + "Assistant" = 10, + "Engineer" = 5, + "Doctor" = 5, + "Scientist" = 5, + "Cargo" = 5, + "Security" = 5 ) ) + switch(type) if("Miner") - if(prob(2)) - mob_species = /datum/species/plasmaman - uniform = /obj/item/clothing/under/plasmaman - head = /obj/item/clothing/head/helmet/space/plasmaman - belt = /obj/item/tank/internals/plasmaman/belt - else - uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland - if (prob(4)) - belt = pickweight(list( - /obj/item/storage/belt/mining = 2, - /obj/item/storage/belt/mining/alt = 2 - ) - ) - else if(prob(10)) - belt = pickweight(list( - /obj/item/pickaxe = 8, - /obj/item/pickaxe/mini = 4, - /obj/item/pickaxe/silver = 2, - /obj/item/pickaxe/diamond = 1, - /obj/item/gun/energy/kinetic_accelerator = 1 - ) - ) - else - belt = /obj/item/tank/internals/emergency_oxygen/engi - if(mob_species != /datum/species/lizard) - shoes = /obj/item/clothing/shoes/workboots/mining - gloves = /obj/item/clothing/gloves/color/black - mask = /obj/item/clothing/mask/gas/explorer - if(prob(45)) - glasses = /obj/item/clothing/glasses/meson - if(prob(20)) - suit = pickweight(list( - /obj/item/clothing/suit/hooded/explorer = 18, - /obj/item/clothing/suit/hooded/cloak/goliath = 2 - ) - ) - if(prob(30)) - r_pocket = pickweight(list( - /obj/item/stack/marker_beacon = 20, - /obj/item/spacecash/bundle/mediumrand = 7, - /obj/item/reagent_containers/hypospray/medipen/survival = 2, - /obj/item/borg/upgrade/modkit/damage = 1 - ) - ) - if(prob(10)) - l_pocket = pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 7, - /obj/item/reagent_containers/hypospray/medipen/survival = 2, - /obj/item/borg/upgrade/modkit/cooldown = 1 - ) - ) - if(prob(95)) - back = /obj/item/storage/backpack/explorer - backpack_contents = list(/obj/item/radio) - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite=3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite = 3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite = 3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(30)) - backpack_contents += list( - /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list( - 1 = 3, - 2 = 2, - 3 = 1 - ) - ) - ) - else - back = /obj/item/kinetic_crusher - if("Oldminer") - suit = /obj/item/clothing/suit/hooded/explorer/old - mask = /obj/item/clothing/mask/gas/explorer/old - if(prob(95)) - glasses = /obj/item/clothing/glasses/meson - else - glasses = /obj/item/clothing/glasses/meson/night - suit_store = /obj/item/tank/internals/oxygen - gloves = /obj/item/clothing/gloves/explorer/old - uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland/old - if(prob(85)) - back = /obj/item/storage/backpack/explorer //someone could totally make these backpacks a subtype and just have them be there. It'd cut down this file size a bit. - backpack_contents = list() - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite=3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite=3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(70)) - backpack_contents += pickweight(list( - /obj/item/borg/upgrade/modkit/damage = 1, - /obj/item/borg/upgrade/modkit/trigger_guard = 1, - /obj/item/soap/nanotrasen = 1, - /obj/item/wormhole_jaunter = 1, - /obj/item/fulton_core = 1, - /obj/item/extraction_pack = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/hivelordstabilizer = 2, - /obj/item/stack/marker_beacon/ten = 2, - /obj/item/mining_scanner = 2, - /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, - /obj/item/flashlight/seclite=3, - /obj/item/stack/sheet/sinew = 3, - /obj/item/stack/sheet/bone = 3 - ) - ) - if(prob(30)) - backpack_contents += list( - /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list( - 1 = 3, - 2 = 2, - 3 = 1 - ) - ) - ) - else - back = /obj/item/kinetic_crusher/old - if(prob(30)) - belt = /obj/item/gun/energy/kinetic_accelerator/old - if(prob(30)) - r_pocket = pickweight(list( - /obj/item/stack/marker_beacon = 20, - /obj/item/spacecash/bundle/mediumrand = 7, - /obj/item/reagent_containers/hypospray/medipen/survival = 2, - /obj/item/borg/upgrade/modkit/damage = 1 - ) - ) - if(prob(30)) - l_pocket = pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 5, - /obj/item/reagent_containers/hypospray/medipen/survival = 2, - /obj/item/borg/upgrade/modkit/cooldown = 1 - ) - ) - if("Ashwalker") - mob_species = /datum/species/lizard/ashwalker - uniform = /obj/item/clothing/under/costume/gladiator/ash_walker - if(prob(95)) - head = /obj/item/clothing/head/helmet/gladiator - else - head = /obj/item/clothing/head/helmet/skull - suit = /obj/item/clothing/suit/armor/bone - gloves = /obj/item/clothing/gloves/bracer - if(prob(45)) - back = pickweight(list( - /obj/item/spear/bonespear = 3, - /obj/item/fireaxe/boneaxe = 2 - ) - ) - if(prob(10)) - belt = /obj/item/storage/belt/mining/primitive - if(prob(30)) - r_pocket = /obj/item/restraints/legcuffs/bola/watcher - if(prob(30)) - l_pocket = /obj/item/kitchen/knife/combat/bone - if("Soldier") - mob_species = /datum/species/human - if(prob(90)) - uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov - shoes = /obj/item/clothing/shoes/jackboots - gloves = /obj/item/clothing/gloves/color/black - mask = /obj/item/clothing/mask/gas/sechailer - head = /obj/item/clothing/head/solgov/sonnensoldner - id = /obj/item/card/id/solgov - else - uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/space/hardsuit/solgov - shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat - mask = /obj/item/clothing/mask/gas/sechailer/swat - id = /obj/item/card/id/solgov - if(prob(85)) - back = /obj/item/storage/backpack - backpack_contents = list() - if(prob(75)) - backpack_contents += pickweight(list( - /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 1, - /obj/item/storage/firstaid/tactical = 1, - /obj/item/gun/ballistic/automatic/pistol/solgov = 1, - /obj/item/gps = 1, - /obj/item/stock_parts/cell/gun/upgraded = 2, - /obj/item/ammo_box/magazine/pistol556mm = 3, - /obj/item/desk_flag/solgov = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/detective_scanner = 2, - /obj/item/extinguisher/mini = 3, - /obj/item/kitchen/knife/combat = 3, - /obj/item/flashlight/seclite=3, - /obj/item/ammo_casing/shotgun = 3, - /obj/item/binoculars = 3, - /obj/item/clipboard = 3 - ) - ) - if(prob(75)) - backpack_contents += pickweight(list( - /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 1, - /obj/item/storage/firstaid/tactical = 1, - /obj/item/gun/ballistic/automatic/pistol/solgov = 1, - /obj/item/gps = 1, - /obj/item/stock_parts/cell/gun/upgraded = 2, - /obj/item/ammo_box/magazine/pistol556mm = 3, - /obj/item/desk_flag/solgov = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/detective_scanner = 2, - /obj/item/extinguisher/mini = 3, - /obj/item/kitchen/knife/combat = 3, - /obj/item/flashlight/seclite=3, - /obj/item/ammo_casing/shotgun = 3, - /obj/item/binoculars = 3, - /obj/item/clipboard = 3 - ) - ) - if(prob(75)) - backpack_contents += pickweight(list( - /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 1, - /obj/item/storage/firstaid/tactical = 1, - /obj/item/gun/ballistic/automatic/pistol/solgov = 1, - /obj/item/gps = 1, - /obj/item/stock_parts/cell/gun/upgraded = 2, - /obj/item/ammo_box/magazine/pistol556mm = 3, - /obj/item/desk_flag/solgov = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/detective_scanner = 2, - /obj/item/extinguisher/mini = 3, - /obj/item/kitchen/knife/combat = 3, - /obj/item/flashlight/seclite=3, - /obj/item/ammo_casing/shotgun = 3, - /obj/item/binoculars = 3, - /obj/item/clipboard = 3 - ) - ) - else - back = pickweight(list( - /obj/item/energyhalberd = 5, - /obj/item/gun/ballistic/rocketlauncher = 5 - ) - ) - if(prob(25)) - belt = /obj/item/storage/belt/military - if(prob(50)) - r_pocket = pickweight(list( - /obj/item/reagent_containers/hypospray/medipen/stimpack = 1, - /obj/item/kitchen/knife/letter_opener = 3, - /obj/item/radio = 3, - /obj/item/grenade/syndieminibomb/concussion = 1, - /obj/item/melee/transforming/energy/ctf/solgov = 1 - ) - ) - if(prob(50)) - l_pocket = pickweight(list( - /obj/item/reagent_containers/hypospray/medipen/stimpack = 1, - /obj/item/kitchen/knife/letter_opener = 3, - /obj/item/radio = 3, - /obj/item/grenade/syndieminibomb/concussion = 1, - /obj/item/melee/transforming/energy/ctf/solgov = 1 - ) - ) - if(prob(70)) - glasses = pickweight(list( - /obj/item/clothing/glasses/sunglasses = 3, - /obj/item/clothing/glasses/hud/health = 3, - /obj/item/clothing/glasses/hud/health/night = 1, - /obj/item/clothing/glasses/night = 2 - ) - ) - if("Kobold") - mob_species = /datum/species/lizard/ashwalker/kobold - uniform = /obj/item/clothing/under/costume/gladiator/ash_walker - if(prob(95)) - head = /obj/item/clothing/head/helmet/gladiator - else - head = /obj/item/clothing/head/helmet/skull - suit = /obj/item/clothing/suit/armor/bone - gloves = /obj/item/clothing/gloves/bracer - if(prob(5)) - back = pickweight(list( - /obj/item/spear/bonespear = 3, - /obj/item/fireaxe/boneaxe = 2 - ) - ) - if(prob(10)) - belt = /obj/item/storage/belt/mining/primitive - if(prob(30)) - r_pocket = /obj/item/kitchen/knife/combat/bone - if(prob(30)) - l_pocket = /obj/item/kitchen/knife/combat/bone - if("YeOlde") - mob_gender = FEMALE - uniform = /obj/item/clothing/under/costume/maid - gloves = /obj/item/clothing/gloves/color/white - shoes = /obj/item/clothing/shoes/laceup - head = /obj/item/clothing/head/helmet/knight - suit = /obj/item/clothing/suit/armor/riot/knight - back = /obj/item/shield/riot/buckler - belt = /obj/item/nullrod/claymore - r_pocket = /obj/item/tank/internals/emergency_oxygen - mask = /obj/item/clothing/mask/breath - if("Operative") - id_job = "Operative" - if(prob(40)) - outfit = /datum/outfit/syndicatecommandocorpse - else if(prob(5)) - outfit = /datum/outfit/syndicatestormtroopercorpse - else - outfit = /datum/outfit/syndicateramzicorpse - if("Waldo")//WE FINALLY FOUND HIM - name = "Waldo" - uniform = /obj/item/clothing/under/pants/jeans - suit = /obj/item/clothing/suit/striped_sweater - head = /obj/item/clothing/head/beanie/waldo - shoes = /obj/item/clothing/shoes/sneakers/brown - ears = /obj/item/radio/headset - glasses = /obj/item/clothing/glasses/regular/circle - back = /obj/item/storage/backpack/satchel/leather - backpack_contents = list() - if(prob(50)) - backpack_contents += pickweight(list( - /obj/item/book/granter/spell/knock = 1, - /obj/item/book/granter/spell/blind = 1, - /obj/item/shadowcloak = 1, - /obj/item/book/granter/spell/smoke = 2, - /obj/item/reagent_containers/syringe/mulligan = 2, - /obj/item/dice/d20 = 3, - /obj/item/dice/d20/fate/stealth/one_use = 1, - /obj/item/clothing/head/chameleon/broken = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/grenade/smokebomb = 3, - /obj/item/grenade/flashbang = 3 - ) - ) - if(prob(50)) - backpack_contents += pickweight(list( - /obj/item/book/granter/spell/knock = 1, - /obj/item/book/granter/spell/blind = 1, - /obj/item/shadowcloak = 1, - /obj/item/book/granter/spell/smoke = 2, - /obj/item/reagent_containers/syringe/mulligan = 2, - /obj/item/dice/d20/fate/stealth/one_use = 1, - /obj/item/dice/d20 = 3, - /obj/item/clothing/head/chameleon/broken = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/grenade/smokebomb = 3, - /obj/item/grenade/flashbang = 3 - ) - ) - if(prob(50)) - backpack_contents += pickweight(list( - /obj/item/book/granter/spell/knock = 1, - /obj/item/book/granter/spell/blind = 1, - /obj/item/shadowcloak = 1, - /obj/item/book/granter/spell/smoke = 2, - /obj/item/reagent_containers/syringe/mulligan = 2, - /obj/item/dice/d20/fate/stealth/one_use = 1, - /obj/item/clothing/head/chameleon/broken = 3, - /obj/item/stack/marker_beacon/ten = 3, - /obj/item/grenade/smokebomb = 3, - /obj/item/grenade/flashbang = 3 - ) - ) - if(prob(25)) - r_pocket = pickweight(list( - /obj/item/chameleon, - /obj/item/dnainjector/chameleonmut = 1, - /obj/item/flashlight/flashdark = 1 - ) - ) - if(prob(25)) - l_pocket = pickweight(list( - /obj/item/chameleon, - /obj/item/dnainjector/chameleonmut = 1, - /obj/item/flashlight/flashdark = 1 - ) - ) - if("Shadow") - mob_species = /datum/species/shadow - neck = /obj/item/clothing/accessory/medal/plasma/nobel_science - uniform = /obj/item/clothing/under/color/black - shoes = /obj/item/clothing/shoes/sneakers/black - suit = /obj/item/clothing/suit/toggle/labcoat - glasses = /obj/item/clothing/glasses/blindfold - back = /obj/item/tank/internals/oxygen - mask = /obj/item/clothing/mask/breath - if("SRM") - uniform = /obj/item/clothing/under/suit/roumain - shoes = /obj/item/clothing/shoes/workboots/mining - if(prob(50)) - suit = /obj/item/clothing/suit/armor/roumain/shadow - head = /obj/item/clothing/head/cowboy/sec/roumain/shadow - else - suit = /obj/item/clothing/suit/armor/roumain - head = /obj/item/clothing/head/cowboy/sec/roumain - if(prob(25)) - suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow - r_pocket = /obj/item/book/manual/trickwines_4_brewers - belt = pick(list(/obj/item/kitchen/knife/hunting = 1, /obj/item/gun/ballistic/derringer = 1)) - back = /obj/item/storage/backpack/cultpack - backpack_contents = list() - if(prob(75)) - backpack_contents += list(/obj/item/ammo_box/c38_box = 1) - if(prob(75)) - backpack_contents += list(pick( - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine,) = 2) + outfit = /datum/outfit/generic/miner + if("Assistant") + outfit = /datum/outfit/generic + if("Engineer") + outfit = /datum/outfit/generic/engineer + if("Doctor") + outfit = /datum/outfit/generic/doctor + if("Scientist") + outfit = /datum/outfit/generic/science + if("Cargo") + outfit = /datum/outfit/generic/cargo + if("Security") + outfit = /datum/outfit/generic/security . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm new file mode 100644 index 000000000000..0dca4c21dade --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -0,0 +1,479 @@ +/datum/outfit/generic/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() + uniform = pickweight(list( + /obj/item/clothing/under/utility = 5, + /obj/item/clothing/under/utility/skirt = 5, + /obj/item/clothing/under/color/black = 1, + /obj/item/clothing/under/color/white = 1, + /obj/item/clothing/under/color/random = 1, + /obj/item/clothing/under/suit/white = 1, + /obj/item/clothing/under/suit/tan = 1, + /obj/item/clothing/under/suit/black_really = 1, + /obj/item/clothing/under/suit/navy = 1, + /obj/item/clothing/under/suit/burgundy = 1, + /obj/item/clothing/under/suit/charcoal = 1, + /obj/item/clothing/under/rank/civilian/lawyer/galaxy = 1, + /obj/item/clothing/under/suit/black/skirt = 1, + /obj/item/clothing/under/suit/black = 1, + /obj/item/clothing/under/dress/sailor = 1, + /obj/item/clothing/under/dress/striped = 1, + /obj/item/clothing/under/dress/skirt/blue = 1, + /obj/item/clothing/under/syndicate/tacticool = 1, + ) + ) + suit = pickweight(list( + /obj/item/clothing/suit/hooded/wintercoat = 1, + /obj/item/clothing/suit/jacket = 1, + /obj/item/clothing/suit/jacket/leather = 1, + /obj/item/clothing/suit/jacket/leather/overcoat = 1, + /obj/item/clothing/suit/jacket/leather/duster = 1, + /obj/item/clothing/suit/jacket/miljacket = 1, + /obj/item/clothing/suit/jacket/puffer = 1, + /obj/item/clothing/suit/gothcoat = 1, + /obj/item/clothing/suit/toggle/industrial = 1, + /obj/item/clothing/suit/toggle/hazard = 1, + ) + ) + back = pickweight(list( + /obj/item/storage/backpack = 1, + /obj/item/storage/backpack/satchel = 1, + /obj/item/storage/backpack/duffelbag = 1, + /obj/item/storage/backpack/messenger = 1, + /obj/item/storage/backpack/satchel/leather = 1 + ) + ) + if (prob(10)) + belt = pickweight(list( + /obj/item/gun/ballistic/automatic/pistol/candor = 2, + /obj/item/gun/ballistic/automatic/pistol/commander = 1, + /obj/item/gun/ballistic/automatic/pistol = 1, + /obj/item/gun/ballistic/revolver = 1, + /obj/item/gun/ballistic/revolver/firebrand = 1, + ) + ) + if(prob(50)) + gloves = pickweight(list( + /obj/item/clothing/gloves/color/black = 1, + /obj/item/clothing/gloves/fingerless = 1, + /obj/item/clothing/gloves/color/white = 1, + ) + ) + shoes = pickweight(list( + /obj/item/clothing/shoes/laceup = 1, + /obj/item/clothing/shoes/sandal = 1, + /obj/item/clothing/shoes/winterboots = 1, + /obj/item/clothing/shoes/workboots/mining = 1, + /obj/item/clothing/shoes/workboots = 1, + /obj/item/clothing/shoes/sneakers/black = 1, + /obj/item/clothing/shoes/sneakers/brown = 1, + /obj/item/clothing/shoes/sneakers/white = 1 + ) + ) + if(prob(50)) + head = pickweight(list( + /obj/item/clothing/head/beret = 3, + /obj/item/clothing/head/beret/grey = 3, + /obj/item/clothing/head/flatcap = 3, + /obj/item/clothing/head/beanie = 3, + /obj/item/clothing/head/cowboy = 3, + /obj/item/clothing/head/trapper = 2, + /obj/item/clothing/head/hardhat = 2, + /obj/item/clothing/head/hardhat/orange = 2, + /obj/item/clothing/head/hardhat/dblue = 2, + /obj/item/clothing/head/pirate = 1, + /obj/item/clothing/head/foilhat = 1 + ) + ) + if(prob(50)) + mask = pickweight(list( + /obj/item/clothing/mask/balaclava = 1, + /obj/item/clothing/mask/bandana/red = 1, + /obj/item/clothing/mask/gas = 3, + /obj/item/clothing/mask/breath = 3, + ) + ) + if(prob(25)) + neck = pickweight(list( + /obj/item/clothing/neck/scarf/red = 1, + /obj/item/clothing/neck/scarf/green = 1, + /obj/item/clothing/neck/scarf/darkblue = 1, + /obj/item/clothing/neck/shemagh = 1, + /obj/item/clothing/neck/stripedredscarf = 1, + /obj/item/clothing/neck/stripedgreenscarf = 1, + /obj/item/clothing/neck/stripedbluescarf = 1 + ) + ) + ears = pick(/obj/item/radio/headset, /obj/item/radio/headset/alt) + if(prob(50)) + glasses = pickweight(list( + /obj/item/clothing/glasses/regular = 1, + /obj/item/clothing/glasses/regular/circle = 1, + /obj/item/clothing/glasses/regular/jamjar = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/clothing/glasses/cheapsuns = 1, + /obj/item/clothing/glasses/regular/hipster = 1, + /obj/item/clothing/glasses/cold = 1, + /obj/item/clothing/glasses/heat = 1, + /obj/item/clothing/glasses/orange = 1, + ) + ) + if(prob(75)) + r_pocket = /obj/item/tank/internals/emergency_oxygen + if(prob(75)) + l_pocket = pick(/obj/item/radio, /obj/item/flashlight) + id = /obj/item/card/id + backpack_contents = list() + backpack_contents += pickweight(list( + /obj/item/dice/d20 = 1, + /obj/item/lipstick = 1, + /obj/item/clothing/mask/vape = 1, + /obj/item/clothing/mask/vape/cigar = 1, + /obj/item/reagent_containers/food/drinks/flask = 1, + /obj/item/lighter = 1, + /obj/item/toy/cards/deck = 1, + /obj/item/toy/eightball = 1, + /obj/item/storage/wallet = 1, + /obj/item/paicard = 1, + /obj/item/pen/fourcolor = 1, + /obj/item/paper_bin = 1, + /obj/item/cane = 1, + /obj/item/radio = 1, + /obj/item/dyespray = 1, + /obj/item/table_bell/brass = 1, + /obj/item/flashlight = 1, + /obj/item/crowbar/red = 1 + ) + ) + +/datum/outfit/generic + name = "Generic (Legion)" + box = /obj/item/storage/box/survival + random = TRUE + +/datum/outfit/generic/miner/pre_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(prob(75)) + uniform = pickweight(list( + /obj/item/clothing/under/rank/cargo/miner/lavaland = 5, + /obj/item/clothing/under/rank/cargo/miner = 4, + /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 1, + ) + ) + if(prob(25)) + suit = pickweight(list( + /obj/item/clothing/suit/hooded/explorer = 18, + /obj/item/clothing/suit/hooded/explorer/old = 1, + /obj/item/clothing/suit/hooded/cloak/goliath = 1 + ) + ) + if(prob(75)) + back = /obj/item/storage/backpack/explorer + if(prob(75)) + belt = pickweight(list( + /obj/item/storage/belt/mining = 2, + /obj/item/storage/belt/mining/alt = 2 + ) + ) + else if(prob(75)) + belt = pickweight(list( + /obj/item/pickaxe = 16, + /obj/item/pickaxe/mini = 8, + /obj/item/pickaxe/silver = 4, + /obj/item/pickaxe/diamond = 2, + /obj/item/gun/energy/kinetic_accelerator = 2, + /obj/item/kinetic_crusher/old = 1 + ) + ) + if(prob(75)) + gloves = pickweight(list( + /obj/item/clothing/gloves/color/black = 9, + /obj/item/clothing/gloves/explorer/old = 1 + ) + ) + if(prob(75)) + shoes = /obj/item/clothing/shoes/workboots/mining + if(prob(75)) + mask = pickweight(list( + /obj/item/clothing/mask/gas/explorer = 9, + /obj/item/clothing/mask/gas/explorer/old = 1 + ) + ) + if(prob(50)) + glasses = /obj/item/clothing/glasses/meson + if(prob(50)) + r_pocket = pickweight(list( + /obj/item/stack/marker_beacon = 20, + /obj/item/spacecash/bundle/mediumrand = 7, + /obj/item/reagent_containers/hypospray/medipen/survival = 2, + /obj/item/borg/upgrade/modkit/damage = 1 + ) + ) + if(prob(25)) + l_pocket = pickweight(list( + /obj/item/spacecash/bundle/mediumrand = 5, + /obj/item/reagent_containers/hypospray/medipen/survival = 2, + /obj/item/borg/upgrade/modkit/cooldown = 1 + ) + ) + if(prob(75)) + for(var/count in 1 to 3) + if(prob(70)) + backpack_contents += pickweight(list( + /obj/item/borg/upgrade/modkit/damage = 1, + /obj/item/borg/upgrade/modkit/trigger_guard = 1, + /obj/item/soap/nanotrasen = 1, + /obj/item/wormhole_jaunter = 1, + /obj/item/fulton_core = 1, + /obj/item/extraction_pack = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 3, + /obj/item/hivelordstabilizer = 2, + /obj/item/stack/marker_beacon/ten = 2, + /obj/item/mining_scanner = 2, + /obj/item/extinguisher/mini = 2, + /obj/item/kitchen/knife/combat/survival = 3, + /obj/item/flashlight/seclite = 3, + /obj/item/stack/sheet/sinew = 3, + /obj/item/stack/sheet/bone = 3 + ) + ) + if(prob(30)) + backpack_contents += list( + /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list( + 1 = 3, + 2 = 2, + 3 = 1 + ) + ) + ) + else if (prob(75)) + backpack_contents = list() + back = pickweight(list( + /obj/item/kinetic_crusher = 9, + /obj/item/kinetic_crusher/old = 1 + ) + ) + +/datum/outfit/generic/miner + name = "Miner (Legion)" + +/datum/outfit/generic/engineer/pre_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(prob(75)) + uniform = pick(/obj/item/clothing/under/rank/engineering/engineer, /obj/item/clothing/under/rank/engineering/engineer/hazard, /obj/item/clothing/under/rank/security/officer/military/eng) + if(prob(75)) + suit = pick(/obj/item/clothing/suit/toggle/hazard, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hooded/wintercoat/engineering) + if(prob(75)) + gloves = pick(/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/gloves/color/fyellow, /obj/item/clothing/gloves/color/fyellow/old) + if(prob(75)) + belt = pick(/obj/item/storage/belt/utility/full, /obj/item/storage/belt/utility) + if(prob(50)) + head = /obj/item/clothing/head/welding + if(prob(75)) + ears = /obj/item/radio/headset/headset_eng + else if(prob(50)) + glasses = /obj/item/clothing/glasses/welding + if(prob(75)) + back = pick(/obj/item/storage/backpack/industrial, /obj/item/storage/backpack/satchel/eng, /obj/item/storage/backpack/duffelbag/engineering, /obj/item/storage/backpack/messenger/engi) + if(prob(10)) + back = /obj/item/fireaxe + for(var/i = 1 to 3) + if(prob(75)) + backpack_contents += pickweight(list( + /obj/item/stack/tape/industrial/electrical = 1, + /obj/item/electronics/apc = 1, + /obj/item/multitool = 1, + /obj/item/pipe_dispenser = 1, + /obj/item/tank/internals/emergency_oxygen/engi = 1, + /obj/item/holosign_creator/engineering = 1, + /obj/item/extinguisher/advanced = 1, + /obj/item/stack/sheet/metal/twenty = 1 + ) + ) + if(prob(75)) + accessory = /obj/item/clothing/accessory/armband/engine + +/datum/outfit/generic/engineer + name = "Mechanic (Legion)" + box = /obj/item/storage/box/survival/engineer + +/datum/outfit/generic/doctor/pre_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(prob(75)) + uniform = pick(/obj/item/clothing/under/rank/medical/doctor, /obj/item/clothing/under/rank/medical/doctor/blue) + if(prob(75)) + suit = pick(/obj/item/clothing/suit/toggle/labcoat, /obj/item/clothing/suit/apron/surgical ,/obj/item/clothing/suit/hooded/wintercoat/medical) + if(prob(75)) + back = pick(/obj/item/storage/backpack/medic, /obj/item/storage/backpack/satchel/med, /obj/item/storage/backpack/duffelbag/med, /obj/item/storage/backpack/messenger/med) + else if (prob(75)) + back = /obj/item/defibrillator/loaded + if(prob(75)) + belt = pickweight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1)) + if(prob(75)) + gloves = pick(/obj/item/clothing/gloves/color/white, /obj/item/clothing/gloves/color/latex/nitrile) + if(prob(75)) + mask = /obj/item/clothing/mask/surgical + if(prob(75)) + shoes = /obj/item/clothing/shoes/sneakers/white + if(prob(75)) + head = /obj/item/clothing/head/beret/med + if(prob(75)) + ears = /obj/item/radio/headset/headset_med + if(prob(75)) + glasses = pick(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health/prescription) + for(var/i = 1 to 3) + if(prob(75)) + backpack_contents += pickweight(list( + /obj/item/reagent_containers/pill/patch/styptic = 5, + /obj/item/reagent_containers/pill/patch/silver_sulf = 5, + /obj/item/storage/firstaid/medical = 3, + /obj/item/reagent_containers/syringe = 3, + /obj/item/reagent_containers/glass/beaker = 2, + /obj/item/reagent_containers/dropper = 2, + /obj/item/reagent_containers/pill/charcoal = 2, + /obj/item/reagent_containers/medigel/styptic = 2, + /obj/item/reagent_containers/medigel/silver_sulf = 2, + /obj/item/reagent_containers/medigel/sterilizine = 1, + /obj/item/flashlight/pen = 1, + /obj/item/hypospray/mkii = 1, + /obj/item/healthanalyzer = 1, + ) + ) + if(prob(75)) + accessory = /obj/item/clothing/accessory/armband/medblue + +/datum/outfit/generic/doctor + name = "Medical Doctor (Legion)" + box = /obj/item/storage/box/survival/medical + +/datum/outfit/generic/science/pre_equip(mob/living/carbon/human/H) + ..() + if(prob(75)) + uniform = pick(/obj/item/clothing/under/rank/rnd/scientist, /obj/item/clothing/under/rank/rnd/roboticist) + if(prob(75)) + suit = pick(/obj/item/clothing/suit/toggle/labcoat/science, /obj/item/clothing/suit/hooded/wintercoat/science) + if(prob(75)) + back = pick(/obj/item/storage/backpack/science, /obj/item/storage/backpack/satchel/tox, /obj/item/storage/backpack/messenger/tox) + if(prob(75)) + shoes = /obj/item/clothing/shoes/sneakers/white + if(prob(75)) + gloves = /obj/item/clothing/gloves/color/white + if(prob(75)) + head = /obj/item/clothing/head/beret/sci + if(prob(75)) + ears = /obj/item/radio/headset/headset_sci + if(prob(75)) + glasses = pick(/obj/item/clothing/glasses/hud/diagnostic, /obj/item/clothing/glasses/science) + if(prob(1)) + neck = /obj/item/clothing/neck/tie/horrible + for(var/i = 1 to 3) + if(prob(75)) + backpack_contents += pickweight(list( + /obj/item/research_notes/loot/tiny = 3, + /obj/item/research_notes/loot/small = 3, + /obj/item/reagent_scanner = 3, + /obj/item/assembly/flash/handheld = 3, + /obj/item/stock_parts/capacitor/adv = 2, + /obj/item/stock_parts/scanning_module/adv = 2, + /obj/item/stock_parts/manipulator/nano = 2, + /obj/item/stock_parts/micro_laser/high = 2, + /obj/item/stock_parts/matter_bin/adv = 2, + /obj/item/survey_handheld = 1, + /obj/item/weldingtool/experimental = 1, + /obj/item/mmi/posibrain = 1, + /obj/item/reagent_containers/glass/beaker/plastic = 1, + /obj/item/organ/eyes/robotic/shield = 1, + /obj/item/organ/eyes/robotic/glow = 1, + ) + ) + if(prob(75)) + accessory = /obj/item/clothing/accessory/armband/science + + +/datum/outfit/generic/science + name = "Scientist (Legion)" + +/datum/outfit/generic/cargo/pre_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(prob(75)) + uniform = pick(/obj/item/clothing/under/rank/cargo/tech, /obj/item/clothing/under/shorts/grey) + if(prob(75)) + suit = pick(/obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hooded/wintercoat/cargo) + if(prob(25)) + belt = /obj/item/gun/ballistic/automatic/zip_pistol + if(prob(75)) + gloves = /obj/item/clothing/gloves/fingerless + if(prob(75)) + shoes = /obj/item/clothing/shoes/sneakers/black + if(prob(75)) + head = /obj/item/clothing/head/soft + if(prob(75)) + ears = /obj/item/radio/headset/headset_cargo + for(var/i = 1 to 3) + if(prob(75)) + backpack_contents += pickweight(list( + /obj/item/spacecash/bundle/mediumrand = 5, + /obj/item/ammo_box/magazine/illestren_a850r = 5, + /obj/item/ammo_box/magazine/zip_ammo_9mm = 5, + /obj/item/modular_computer/tablet/preset/cargo = 3, + /obj/item/stack/tape = 3, + /obj/item/stack/tape/industrial = 3, + /obj/item/stack/sheet/plastic/five = 3, + /obj/item/grenade/frag = 1 + ) + ) + if(prob(75)) + accessory = /obj/item/clothing/accessory/armband/cargo + if(prob(25)) + suit = /obj/item/clothing/suit/armor/vest/scrap_armor + suit_store = /obj/item/gun/ballistic/rifle/illestren + +/datum/outfit/generic/cargo + name = "Cargo Technician (Legion)" + +/datum/outfit/generic/security/pre_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(prob(75)) + uniform = /obj/item/clothing/under/rank/security/officer + if(prob(75)) + suit = pick(/obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest/security/officer, /obj/item/clothing/suit/armor/vest/bulletproof, /obj/item/clothing/suit/armor/vest/blueshirt) + if(prob(75)) + back = pick(/obj/item/storage/backpack/security, /obj/item/storage/backpack/satchel/sec, /obj/item/storage/backpack/duffelbag/sec, /obj/item/storage/backpack/messenger/sec) + if(prob(75)) + belt = pick(/obj/item/storage/belt/security, /obj/item/storage/belt/security/webbing) + if(prob(75)) + gloves = pick(/obj/item/clothing/gloves/color/black, /obj/item/clothing/gloves/tackler) + if(prob(75)) + shoes = /obj/item/clothing/shoes/jackboots + if(prob(75)) + head = pick(/obj/item/clothing/head/helmet/sec, /obj/item/clothing/head/helmet/blueshirt, /obj/item/clothing/head/helmet/bulletproof) + if(prob(75)) + mask = /obj/item/clothing/mask/gas/sechailer + if(prob(75)) + ears = /obj/item/radio/headset/headset_sec + if(prob(75)) + glasses = pick(/obj/item/clothing/glasses/hud/security, /obj/item/clothing/glasses/sunglasses) + if(prob(75)) + r_pocket = pick(/obj/item/flashlight/seclite, /obj/item/assembly/flash/handheld, /obj/item/restraints/handcuffs) + if(prob(50)) + suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg, /obj/item/gun/energy/e_gun/iot) + for(var/i = 1 to 3) + if(prob(75)) + backpack_contents += pickweight(list( + /obj/item/restraints/handcuffs = 8, + /obj/item/assembly/flash/handheld = 5, + /obj/item/storage/box/evidence = 6, + /obj/item/flashlight/seclite = 4, + /obj/item/ammo_box/c9mm/rubbershot = 3, + /obj/item/ammo_box/c9mm = 1, + /obj/item/stock_parts/cell/gun = 3, + /obj/item/coin/antagtoken = 1, + /obj/item/grenade/stingbang = 1 + ) + ) + if(prob(75)) + accessory = /obj/item/clothing/accessory/armband/deputy + +/datum/outfit/generic/security + name = "Security Officer (Legion)" + box = /obj/item/storage/box/survival/security + diff --git a/code/modules/mob/living/simple_animal/hostile/survivors.dm b/code/modules/mob/living/simple_animal/hostile/survivors.dm index 2f9837c4b1cb..2c350ab5ca55 100644 --- a/code/modules/mob/living/simple_animal/hostile/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/survivors.dm @@ -101,16 +101,15 @@ var/survivor_type //room for alternatives inside the fuckoff grade init. /obj/effect/mob_spawn/human/corpse/damaged/whitesands/Initialize() //everything here should equal out to 100 for the sake of my sanity. - mob_species = pickweight(list( /datum/species/human = 50, - /datum/species/lizard = 25, + /datum/species/lizard = 20, + /datum/species/ipc = 10, /datum/species/elzuose = 10, - /datum/species/moth = 10, - /datum/species/spider = 3, - /datum/species/fly = 2 - ) + /datum/species/moth = 5, + /datum/species/spider = 5 ) + ) //to-do: learn how to make mobsprites for other survivors //gloves are a tossup diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index aca1d210fbf0..4dc12b4dc6e3 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -3,7 +3,10 @@ /* We don't check the result of equip_to_slot_or_del because it returns false for random jumpsuits, as they delete themselves on init */ \ var/obj/item/outfit_item = H.get_item_by_slot(##slot_name); \ if (!outfit_item) { \ - TEST_FAIL("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ + if (outfit.random != TRUE) \ + TEST_FAIL("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ + else \ + log_world("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ } \ } @@ -61,6 +64,10 @@ var/number = backpack_contents[path] || 1 for (var/_ in 1 to number) if (!H.equip_to_slot_or_del(new path(H), ITEM_SLOT_BACKPACK, TRUE)) - TEST_FAIL("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") + if (outfit.random != TRUE) + TEST_FAIL("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") + else + log_world("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") + #undef CHECK_OUTFIT_SLOT diff --git a/shiptest.dme b/shiptest.dme index 186a349e8b9f..9721797c050a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2768,6 +2768,7 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord_outfits.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice demon.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice whelp.dm"