diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 5a42d6596e6..6ef6489f389 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -382,6 +382,24 @@ female_sprite_flags = NO_FEMALE_UNIFORM can_adjust = FALSE +/obj/item/clothing/under/costume/traditional + name = "Traditional Suit" + desc = "A full, vibrantly coloured suit. Likely with traditional purposes. Maybe the colours represent a familly, clan, or rank, who knows." + icon_state = "tradition" + inhand_icon_state = null + female_sprite_flags = NO_FEMALE_UNIFORM + can_adjust = FALSE + +/obj/item/clothing/under/costume/loincloth + name = "Leather Loincloth" + desc = "Just a piece of leather to cover private areas. Itchy to the touch. Whoever made this must have been desperate, or savage." + icon_state = "loincloth" + inhand_icon_state = null + body_parts_covered = GROIN + female_sprite_flags = NO_FEMALE_UNIFORM + can_adjust = TRUE + alt_covers_chest = TRUE + /obj/item/clothing/under/costume/henchmen name = "henchmen jumpsuit" desc = "A very gaudy jumpsuit for a proper Henchman. Guild regulations, you understand." @@ -391,3 +409,4 @@ inhand_icon_state = null body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS|HEAD flags_inv = HIDEGLOVES|HIDESHOES|HIDEEARS|HIDEEYES|HIDEHAIR + 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 1dd507a6329..9a00d34e34e 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 @@ -126,6 +126,7 @@ robust_searching = 1 has_clickbox = FALSE var/dwarf_mob = FALSE + var/snow_legion = FALSE var/mob/living/carbon/human/stored_mob /mob/living/simple_animal/hostile/asteroid/hivelord/legion/Initialize(mapload) @@ -157,6 +158,10 @@ if(from_spawner) new /obj/effect/mob_spawn/corpse/human/charredskeleton(our_turf) else if(dwarf_mob) + new /obj/effect/mob_spawn/corpse/human/legioninfested/dwarf(our_turf) + else if(snow_legion) + new /obj/effect/mob_spawn/corpse/human/legioninfested/snow(our_turf) + new /obj/effect/mob_spawn/corpse/human/legioninfested/dwarf(our_turf) else new /obj/effect/mob_spawn/corpse/human/legioninfested(our_turf) @@ -305,6 +310,7 @@ loot = list(/obj/item/organ/internal/monster_core/regenerative_core/legion) brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE) + snow_legion = TRUE /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow/make_legion(mob/living/carbon/human/H) return new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow(H.loc) diff --git a/code/modules/mob_spawn/corpses/mining_corpses.dm b/code/modules/mob_spawn/corpses/mining_corpses.dm index ac853119d5b..8f28bbd430d 100644 --- a/code/modules/mob_spawn/corpses/mining_corpses.dm +++ b/code/modules/mob_spawn/corpses/mining_corpses.dm @@ -29,9 +29,9 @@ /obj/effect/mob_spawn/corpse/human/legioninfested/Initialize(mapload) var/corpse_theme = pick_weight(list( - "Miner" = 66, - "Ashwalker" = 10, - "Clown" = 10, + "Miner" = 64, + "Clown" = 5, + "Ashwalker" = 15, "Golem" = 10, pick(list( "Cultist", @@ -45,12 +45,44 @@ outfit = /datum/outfit/consumed_miner if("Ashwalker") outfit = /datum/outfit/consumed_ashwalker + if("Golem") + outfit = /datum/outfit/consumed_golem if("Clown") outfit = /datum/outfit/consumed_clown if("Cultist") outfit = /datum/outfit/consumed_cultist if("Dame") outfit = /datum/outfit/consumed_dame + if("Operative") + outfit = /datum/outfit/syndicatecommandocorpse/lessenedgear + if("Shadow") + outfit = /datum/outfit/consumed_shadowperson + . = ..() + +/obj/effect/mob_spawn/corpse/human/legioninfested/snow/Initialize(mapload) + var/corpse_theme = pick_weight(list( + "Miner" = 64, + "Clown" = 5, + "Golem" = 15, + "Settler" = 10, + pick(list( + "Cultist", + "Heremoth", + "Operative", + "Shadow", + )) = 4, + )) + switch(corpse_theme) + if("Miner") + outfit = /datum/outfit/consumed_miner + if("Settler") + outfit = /datum/outfit/consumed_ice_settler + if("Heremoth") + outfit = /datum/outfit/consumed_heremoth + if("Clown") + outfit = /datum/outfit/consumed_clown + if("Cultist") + outfit = /datum/outfit/consumed_cultist if("Golem") outfit = /datum/outfit/consumed_golem if("Operative") @@ -222,6 +254,36 @@ if(prob(50)) neck = /obj/item/bedsheet/rd/royal_cape +/datum/outfit/consumed_ice_settler + name = "Legion-Consumed Settler" + uniform = /obj/item/clothing/under/costume/traditional + suit = /obj/item/clothing/suit/hooded/wintercoat + shoes = /obj/item/clothing/shoes/winterboots + mask = /obj/item/clothing/mask/breath + +/datum/outfit/consumed_ice_settler/pre_equip(mob/living/carbon/human/ice_settler, visualsOnly = FALSE) + if(prob(40)) + r_pocket = pick_weight(list( + /obj/item/coin/silver = 5, + /obj/item/fishing_hook = 2, + /obj/item/coin/gold = 2, + /obj/item/fishing_hook/shiny = 1, + )) + if(prob(30)) + back = pick_weight(list( + /obj/item/pickaxe = 4, + /obj/item/tank/internals/oxygen = 6, + )) + else + back = /obj/item/storage/backpack/satchel/explorer + backpack_contents = list() + var/backpack_loot = pick(list( + /obj/item/food/fishmeat = 89, + /obj/item/food/fishmeat/carp = 10, + /obj/item/skeleton_key = 1, + )) + backpack_contents += backpack_loot + //this is so pointlessly gendered but whatever bro i'm here to refactor not judge /datum/outfit/consumed_dame name = "Legion-Consumed Dame" @@ -274,3 +336,26 @@ /obj/item/stack/sheet/runed_metal = 15, ) r_pocket = /obj/item/clothing/glasses/hud/health/night/cultblind + +/datum/outfit/consumed_heremoth + name = "Legion-Consumed Tribal Mothman" + uniform = /obj/item/clothing/under/costume/loincloth + suit = /obj/item/clothing/suit/hooded/cultrobes/eldritch + head = /obj/item/clothing/head/hooded/cult_hoodie/eldritch + +/datum/outfit/consumed_heremoth/pre_equip(mob/living/carbon/human/moth, visualsOnly = FALSE) + if(!visualsOnly) + moth.set_species(/datum/species/moth) + if(prob(70)) + glasses = /obj/item/clothing/glasses/blindfold + if(prob(90)) + back = /obj/item/storage/backpack/cultpack + backpack_contents = list() + var/backpack_loot = pick(list( + /obj/item/flashlight/lantern = 1, + /obj/item/toy/plush/moth = 1, + /obj/item/toy/eldritch_book = 2, + /obj/item/knife/combat/survival = 2, + )) + backpack_contents += backpack_loot + diff --git a/icons/mob/clothing/under/costume.dmi b/icons/mob/clothing/under/costume.dmi index 5e11516d49a..c8fd87f5272 100644 Binary files a/icons/mob/clothing/under/costume.dmi and b/icons/mob/clothing/under/costume.dmi differ diff --git a/icons/obj/clothing/under/costume.dmi b/icons/obj/clothing/under/costume.dmi index fb0945bc72e..bf60bb0a445 100644 Binary files a/icons/obj/clothing/under/costume.dmi and b/icons/obj/clothing/under/costume.dmi differ