diff --git a/code/game/machinery/vending/vendor_types/crew/synthetic.dm b/code/game/machinery/vending/vendor_types/crew/synthetic.dm index 1eb2d2011a..064d641f17 100644 --- a/code/game/machinery/vending/vendor_types/crew/synthetic.dm +++ b/code/game/machinery/vending/vendor_types/crew/synthetic.dm @@ -178,14 +178,15 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("Welding Goggles", 12, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("SHOES", 0, null, null, null), + list("Combat Boots", 24, /obj/item/clothing/shoes/marine/knife, null, VENDOR_ITEM_REGULAR), list("Shoes, Red", 12, /obj/item/clothing/shoes/red, null, VENDOR_ITEM_REGULAR), list("Shoes, White", 12, /obj/item/clothing/shoes/white, null, VENDOR_ITEM_REGULAR), list("Dress Shoes", 24, /obj/item/clothing/shoes/laceup, null, VENDOR_ITEM_REGULAR), list("HEADWEAR", 0, null, null, null), list("Patrol Cap, Green", 12, /obj/item/clothing/head/cmcap, null, VENDOR_ITEM_REGULAR), - list("Patrol Cap, Command", 12, /obj/item/clothing/head/cmcap, null, VENDOR_ITEM_REGULAR), - list("Patrol Cap, Khaki", 12, /obj/item/clothing/head/cmcap/req, null, VENDOR_ITEM_REGULAR), + list("Patrol Cap, Command", 12, /obj/item/clothing/head/cmcap/bridge, null, VENDOR_ITEM_REGULAR), + list("Patrol Cap, Khaki", 12, /obj/item/clothing/head/cmcap/khaki, null, VENDOR_ITEM_REGULAR), list("HELMET", 0, null, null, null), list("Marine Helmet (Mission-Specific Camo)", 12, /obj/item/clothing/head/helmet/marine, null, VENDOR_ITEM_REGULAR), @@ -193,9 +194,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("SUIT", 0, null, null, null), list("External Webbing", 12, /obj/item/clothing/suit/storage/webbing, null, VENDOR_ITEM_REGULAR), list("Utility Vest", 12, /obj/item/clothing/suit/storage/webbing/utility_vest, null, VENDOR_ITEM_REGULAR), - list("Windbreaker, Brown", 12, /obj/item/clothing/suit/storage/windbreaker/windbreaker_brown, null, VENDOR_ITEM_REGULAR), - list("Windbreaker, Grey", 12, /obj/item/clothing/suit/storage/windbreaker/windbreaker_gray, null, VENDOR_ITEM_REGULAR), - list("Windbreaker, Green", 12, /obj/item/clothing/suit/storage/windbreaker/windbreaker_green, null, VENDOR_ITEM_REGULAR), + list("Windbreaker, Brown", 12, /obj/item/clothing/suit/storage/windbreaker/brown, null, VENDOR_ITEM_REGULAR), + list("Windbreaker, Green", 12, /obj/item/clothing/suit/storage/windbreaker/green, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/landmarks/freed_mob_spawner.dm b/code/game/objects/effects/landmarks/freed_mob_spawner.dm index 7841e99df2..ef0a2cb77e 100644 --- a/code/game/objects/effects/landmarks/freed_mob_spawner.dm +++ b/code/game/objects/effects/landmarks/freed_mob_spawner.dm @@ -28,5 +28,5 @@ /obj/effect/landmark/freed_mob_spawner/upp_soldier name = "UPP Soldier" - equipment_path = /datum/equipment_preset/upp/soldier + equipment_path = /datum/equipment_preset/uscm/private_equipped/upp count_participant = TRUE diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index 30d9b95ad5..cc167137a6 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -286,11 +286,6 @@ icon_state = "cbrn" worn_state = "cbrn" - item_icons = list( - WEAR_BODY = 'icons/mob/humans/onmob/uniform_1.dmi', - ) - - /obj/item/clothing/under/marine/cbrn //CBRN MOPP suit name = "\improper M3 MOPP suit" desc = "M3 MOPP suits are specially designed and engineered to protect the wearer from unshielded exposure to any Chemical, Biological, Radiological, or Nuclear (CBRN) threats in the field. Despite somewhat resembling commonplace synthetic rubber HAZMAT suits, the Venlar composition provides a significantly more dense and durable baseline material, allowing for modifications without the loss of its air-tight nature. The wearer’s comfort has been significantly taken into consideration, with the suit providing sufficient freedom of movement for even delicate maneuvers and movements once it is donned. As the sealed environment retains many issues from the past, measures have been taken to significantly reduce the suit's passive heat absorption and increase internal absorbance through linings, as well as the capability to fully integrate with external cooling, air cycling, and other life support systems. Strips of M11 detector paper are included with each suit, designed to be slotted into the dominant arm of the wearer’s protective suit, the non-dominant wrist, and then back to the knee, providing at-a-glance warning signs across alternating sides of the body while working. The arm and knee markers are intended to be on the user's dominant The papers change color upon contact with harmful chemical agents, displaying a clear white initially and turning red when activated. The suit has a recommended lifespan of twenty-four hours once contact with a toxic environment is made, but depending on the severity this can be shortened to eight hours or less. Beyond that point, the accuracy of the detector papers deteriorates significantly, as does the protection of the suit itself." @@ -312,10 +307,6 @@ flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS actions_types = list(/datum/action/item_action/specialist/toggle_cbrn_hood) - item_icons = list( - WEAR_BODY = 'icons/mob/humans/onmob/uniform_1.dmi', - ) - ///Whether the hood and gas mask were worn through the hood toggle verb var/hood_enabled = FALSE ///Whether enabling the hood protects you from fire diff --git a/code/modules/cm_marines/Donator_Items.dm b/code/modules/cm_marines/Donator_Items.dm index ac2d1eef59..f6349a197d 100644 --- a/code/modules/cm_marines/Donator_Items.dm +++ b/code/modules/cm_marines/Donator_Items.dm @@ -973,7 +973,7 @@ min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT item_icons = list( - WEAR_BODY = 'icons/mob/humans/onmob/uniform_1.dmi', + WEAR_BODY = 'icons/mob/humans/onmob/uniform-layer/uniform_donator.dmi', ) //END UNIFORM TEMPLATE diff --git a/code/modules/gear_presets/corpses.dm b/code/modules/gear_presets/corpses.dm index 232b4c241a..df0f97e13b 100644 --- a/code/modules/gear_presets/corpses.dm +++ b/code/modules/gear_presets/corpses.dm @@ -2,7 +2,7 @@ /datum/equipment_preset/corpse name = "Corpse" flags = EQUIPMENT_PRESET_EXTRA - assignment = JOB_COLONIST + assignment = "Class C Inhabitant" rank = JOB_COLONIST faction = FACTION_COLONIST languages = list() @@ -11,6 +11,33 @@ idtype = /obj/item/card/id/lanyard var/xenovictim = FALSE //Set to true to make the corpse spawn as a victim of a xeno burst + +/datum/equipment_preset/corpse/load_name(mob/living/carbon/human/new_human, randomise) + new_human.gender = pick(MALE, FEMALE) + var/datum/preferences/A = new + A.randomize_appearance(new_human) + var/random_name = capitalize(pick(new_human.gender == MALE ? first_names_male : first_names_female)) + " " + capitalize(pick(last_names)) + var/static/list/colors = list("BLACK" = list(15, 15, 10), "BROWN" = list(48, 38, 18), "BROWN" = list(48, 38, 18),"BLUE" = list(29, 51, 65), "GREEN" = list(40, 61, 39), "STEEL" = list(46, 59, 54)) + var/static/list/hair_colors = list("BLACK" = list(15, 15, 10), "BROWN" = list(48, 38, 18), "AUBURN" = list(77, 48, 36), "BLONDE" = list(95, 76, 44)) + var/hair_color = pick(hair_colors) + new_human.r_hair = hair_colors[hair_color][1] + new_human.g_hair = hair_colors[hair_color][2] + new_human.b_hair = hair_colors[hair_color][3] + new_human.r_facial = hair_colors[hair_color][1] + new_human.g_facial = hair_colors[hair_color][2] + new_human.b_facial = hair_colors[hair_color][3] + var/eye_color = pick(colors) + new_human.r_eyes = colors[eye_color][1] + new_human.g_eyes = colors[eye_color][2] + new_human.b_eyes = colors[eye_color][3] + if(new_human.gender == MALE) + new_human.h_style = pick("Undercut", "Partly Shaved", "Side Undercut", "Side Hang Undercut (Reverse)", "Undercut, Top", "Medium Fade", "High Fade", "Coffee House Cut") + new_human.f_style = pick("Shaved", "Shaved", "Shaved", "Shaved", "Shaved", "Shaved", "3 O'clock Shadow", "3 O'clock Moustache", "5 O'clock Shadow", "5 O'clock Moustache", "7 O'clock Shadow", "7 O'clock Moustache",) + else + new_human.h_style = pick("Side Undercut", "Side Hang Undercut (Reverse)", "Undercut, Top", "CIA", "CIA","Mulder", "Pixie Cut Left", "Pixie Cut Right", "Bun") + new_human.change_real_name(new_human, random_name) + new_human.age = rand(20,35) + /datum/equipment_preset/corpse/load_languages(mob/living/carbon/human/new_human) return @@ -46,9 +73,37 @@ new_human.pulse = PULSE_NONE /datum/equipment_preset/corpse/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) + var/random_gear = rand(1,10) + switch(random_gear) + if(1) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/brown(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/boiler/cyan(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + if(2) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/yellow(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/workwear/khaki(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/civilian/brown(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/blue(new_human), WEAR_BACK) + if(3) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/workwear/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + if(4) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/blue(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/boiler/grey(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + if(5) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/workwear/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + if(6) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/bomber(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/workwear/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) //*****************************************************************************************************/ // Civilians @@ -59,7 +114,6 @@ /datum/equipment_preset/corpse/prisoner/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/boiler/prison(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/prison(new_human), WEAR_FEET) //*****************************************************************************************************/ @@ -72,19 +126,9 @@ /datum/equipment_preset/corpse/doctor/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/medical(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic(new_human), WEAR_JACKET) - add_random_survivor_medical_gear(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/medical/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/blue(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) //*****************************************************************************************************/ diff --git a/code/modules/gear_presets/fun.dm b/code/modules/gear_presets/fun.dm index 9ccf8ff046..5a05d8b3dd 100644 --- a/code/modules/gear_presets/fun.dm +++ b/code/modules/gear_presets/fun.dm @@ -281,3 +281,55 @@ new_human.status_flags |= STATUS_FLAGS_DEBILITATE ADD_TRAIT(new_human, TRAIT_TWOBORE_TRAINING, TRAIT_SOURCE_ADMIN) //Means he can handle his gun and speak its hit lines. +//*****************************************************************************************************/ + +/datum/equipment_preset/other/zombie + name = "Zombie" + flags = EQUIPMENT_PRESET_EXTRA + rank = FACTION_ZOMBIE + languages = list("Zombie") + skills = null //no restrictions + faction = FACTION_ZOMBIE + +//Overloading the function to be able to spawn gear first +/datum/equipment_preset/other/zombie/load_preset(mob/living/carbon/human/new_human, randomise = FALSE) + if(randomise) + load_name(new_human) + load_skills(new_human) //skills are set before equipment because of skill restrictions on certain clothes. + load_languages(new_human) + load_gear(new_human) + load_id(new_human) + load_status(new_human) + load_vanity(new_human) + load_race(new_human)//Race is loaded last, otherwise we wouldn't be able to equip gear! + new_human.assigned_equipment_preset = src + new_human.regenerate_icons() + +/datum/equipment_preset/other/zombie/load_name(mob/living/carbon/human/new_human, randomise) + new_human.gender = pick(MALE, FEMALE) + var/datum/preferences/A = new + A.randomize_appearance(new_human) + var/random_name = capitalize(pick(new_human.gender == MALE ? first_names_male : first_names_female)) + " " + capitalize(pick(last_names)) + new_human.change_real_name(new_human, random_name) + new_human.age = rand(21,45) + +/datum/equipment_preset/other/zombie/load_id(mob/living/carbon/human/new_human, client/mob_client) + var/obj/item/clothing/under/uniform = new_human.w_uniform + if(istype(uniform)) + uniform.has_sensor = UNIFORM_HAS_SENSORS + uniform.sensor_faction = FACTION_COLONIST + new_human.job = "Zombie" + new_human.faction = faction + return ..() + +/datum/equipment_preset/other/zombie/load_race(mob/living/carbon/human/new_human) + new_human.set_species(SPECIES_HUMAN) // Set back, so that we can get our claws again + new_human.set_species(SPECIES_ZOMBIE) + +/datum/equipment_preset/other/zombie/load_gear(mob/living/carbon/human/new_human) + var/uniform_path = pick(/obj/item/clothing/under/boiler/cyan, /obj/item/clothing/under/boiler/darkblue, /obj/item/clothing/under/boiler/offwhite, /obj/item/clothing/under/boiler/grey, /obj/item/clothing/under/boiler/lightblue, /obj/item/clothing/under/workwear/khaki, /obj/item/clothing/under/workwear/blue) + new_human.equip_to_slot_or_del(new uniform_path, WEAR_BODY) + var/shoe_path = pick(/obj/item/clothing/shoes/laceup, /obj/item/clothing/shoes/laceup/brown, /obj/item/clothing/shoes/marine/civilian, /obj/item/clothing/shoes/marine/civilian/brown) + new_human.equip_to_slot_or_del(new shoe_path, WEAR_FEET) + +//*****************************************************************************************************/ diff --git a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm index bb263d7926..14f58366e3 100644 --- a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm +++ b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm @@ -64,7 +64,7 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/m1911(new_human), WEAR_IN_BELT) if(3 , 4) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/general_belt(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human),WEAR_IN_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human),WEAR_IN_BELT) /datum/equipment_preset/survivor/forecon/add_random_survivor_equipment(mob/living/carbon/human/new_human) return diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index 5425de68be..da294d02d4 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -121,41 +121,17 @@ WEAR_R_EAR = /obj/item/device/flashlight/pen, WEAR_FACE = /obj/item/clothing/mask/surgical, WEAR_EYES = /obj/item/clothing/glasses/hud/health, - WEAR_BODY = /obj/item/clothing/under/medical, - WEAR_BACK = /obj/item/storage/backpack/satchel/blue, + WEAR_BODY = /obj/item/clothing/under/medical/purple, + WEAR_BACK = /obj/item/storage/backpack/satchel/black, WEAR_IN_BACK = /obj/item/roller/surgical, WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/blue, WEAR_IN_JACKET = /obj/item/device/healthanalyzer, WEAR_WAIST = /obj/item/storage/belt/medical/lifesaver/full, WEAR_HANDS = /obj/item/clothing/gloves/latex, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, - WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe - ) - -/datum/equipment_preset/synth/survivor/emt_synth - name = "Synthetic - EMT Synth" - equipment_to_spawn = list( - WEAR_HEAD = /obj/item/clothing/head/cmcap, - WEAR_R_EAR = /obj/item/device/flashlight/pen, - WEAR_FACE = /obj/item/clothing/mask/surgical, - WEAR_EYES = /obj/item/clothing/glasses/hud/health, - WEAR_BODY = /obj/item/clothing/under/boiler, - WEAR_BACK = /obj/item/storage/backpack/satchel/blue, - WEAR_IN_BACK = /obj/item/storage/firstaid/adv, - WEAR_IN_BACK = /obj/item/tool/extinguisher/mini, - WEAR_IN_BACK = /obj/item/roller, - WEAR_JACKET = /obj/item/clothing/suit/storage/windbreaker/windbreaker_fr, - WEAR_IN_JACKET = /obj/item/device/healthanalyzer, - WEAR_WAIST = /obj/item/storage/belt/medical/full, - WEAR_HANDS = /obj/item/clothing/gloves/latex, - WEAR_R_STORE = /obj/item/storage/pouch/tools/full, - WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_FEET = /obj/item/clothing/shoes/white, ) - survivor_variant = MEDICAL_SURVIVOR - /datum/equipment_preset/synth/survivor/wy/security_synth name = "Synthetic - Corporate Security Synth" idtype = /obj/item/card/id/silver/cl @@ -176,6 +152,7 @@ equipment_to_spawn = list( WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY, WEAR_BODY = /obj/item/clothing/under/businesswear/black, + WEAR_ACCESSORY = /obj/item/clothing/accessory/black, WEAR_BACK = /obj/item/storage/backpack/satchel/lockable, WEAR_IN_BACK = /obj/item/paper, WEAR_IN_BACK = /obj/item/paper, @@ -184,10 +161,8 @@ WEAR_IN_BACK = /obj/item/tool/pen/clicky, WEAR_IN_BACK = /obj/item/device/taperecorder, WEAR_WAIST = /obj/item/storage/belt/utility/full, - WEAR_HANDS = /obj/item/clothing/gloves/botanic_leather, WEAR_FEET = /obj/item/clothing/shoes/laceup, WEAR_R_HAND = /obj/item/clipboard, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe ) //*****************************************************************************************************/