diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index ea59070015d..3da9f9f2701 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -162,18 +162,17 @@ There are several things that need to be remembered: var/handled_by_bodytype = TRUE var/icon_file var/woman - var/mutant_override = FALSE // SKYRAT EDIT ADDITION if(!uniform_overlay) //BEGIN SPECIES HANDLING if((dna?.species.bodytype & BODYTYPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) icon_file = uniform.worn_icon_digi || DIGITIGRADE_UNIFORM_FILE // SKYRAT EDIT CHANGE - mutant_override = TRUE + handled_by_bodytype = TRUE // SKYRAT EDIT ADDITION else if(dna.species.bodytype & BODYTYPE_CUSTOM) icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_UNIFORM, w_uniform) if(icon_file) - mutant_override = TRUE + handled_by_bodytype = TRUE // SKYRAT EDIT END //Female sprites have lower priority than digitigrade sprites @@ -182,6 +181,8 @@ There are several things that need to be remembered: if(!icon_exists(icon_file, RESOLVE_ICON_STATE(uniform))) icon_file = DEFAULT_UNIFORM_FILE + handled_by_bodytype = TRUE + //END SPECIES HANDLING uniform_overlay = uniform.build_worn_icon( default_layer = UNIFORM_LAYER, @@ -189,10 +190,10 @@ There are several things that need to be remembered: isinhands = FALSE, female_uniform = woman ? uniform.female_sprite_flags : null, override_state = target_overlay, - override_file = mutant_override ? icon_file : null, // SKYRAT EDIT CHANGE - ORIGINAL: override_file = handled_by_bodytype ? icon_file : null, + override_file = handled_by_bodytype ? icon_file : null, ) - if(!mutant_override && (OFFSET_UNIFORM in dna.species.offset_features)) // SKYRAT EDIT CHANGE + if(!handled_by_bodytype && (OFFSET_UNIFORM in dna.species.offset_features)) // SKYRAT EDIT CHANGE uniform_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] uniform_overlay?.pixel_y += dna.species.offset_features[OFFSET_UNIFORM][2] overlays_standing[UNIFORM_LAYER] = uniform_overlay diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index 62032b6ab38..8d3a52d071e 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -169,23 +169,27 @@ forceMove(M) log_message("[src] initialized.", LOG_MECHA) +/** + * called to detach this equipment + * Args: + * * moveto: optional target to move this equipment to + */ /obj/item/mecha_parts/mecha_equipment/proc/detach(atom/moveto) moveto = moveto || get_turf(chassis) - if(src.Move(moveto)) - LAZYREMOVE(chassis.flat_equipment, src) - var/to_unequip_slot = equipment_slot - if(equipment_slot == MECHA_WEAPON) - if(chassis.equip_by_category[MECHA_R_ARM] == src) - to_unequip_slot = MECHA_R_ARM - else - to_unequip_slot = MECHA_L_ARM - if(islist(chassis.equip_by_category[to_unequip_slot])) - chassis.equip_by_category[to_unequip_slot] -= src + forceMove(moveto) + LAZYREMOVE(chassis.flat_equipment, src) + var/to_unequip_slot = equipment_slot + if(equipment_slot == MECHA_WEAPON) + if(chassis.equip_by_category[MECHA_R_ARM] == src) + to_unequip_slot = MECHA_R_ARM else - chassis.equip_by_category[to_unequip_slot] = null - log_message("[src] removed from equipment.", LOG_MECHA) - chassis = null - return + to_unequip_slot = MECHA_L_ARM + if(islist(chassis.equip_by_category[to_unequip_slot])) + chassis.equip_by_category[to_unequip_slot] -= src + else + chassis.equip_by_category[to_unequip_slot] = null + log_message("[src] removed from equipment.", LOG_MECHA) + chassis = null /obj/item/mecha_parts/mecha_equipment/log_message(message, message_type=LOG_GAME, color=null, log_globally) if(chassis) diff --git a/modular_skyrat/modules/mapping/code/mob_spawns.dm b/modular_skyrat/modules/mapping/code/mob_spawns.dm index 33db30a5168..ab4758f0763 100644 --- a/modular_skyrat/modules/mapping/code/mob_spawns.dm +++ b/modular_skyrat/modules/mapping/code/mob_spawns.dm @@ -91,6 +91,9 @@ ears = /obj/item/radio/headset/cybersun/captain id_trim = /datum/id_trim/syndicom/skyrat/captain +/datum/outfit/ds2 + name = "default ds2 outfit" + /datum/outfit/ds2/post_equip(mob/living/carbon/human/syndicate, visualsOnly = FALSE) var/obj/item/card/id/id_card = syndicate.wear_id if(istype(id_card)) @@ -281,6 +284,7 @@ random_appearance = FALSE /datum/outfit/tarkon + name = "default port tarkon outfit" uniform = /obj/item/clothing/under/rank/cargo/tech/skyrat/utility shoes = /obj/item/clothing/shoes/winterboots gloves = /obj/item/clothing/gloves/fingerless @@ -307,6 +311,7 @@ outfit = /datum/outfit/tarkon/sci /datum/outfit/tarkon/sci + name = "Port Tarkon Science Outfit" uniform = /obj/item/clothing/under/rank/rnd/scientist/skyrat/utility glasses = /obj/item/clothing/glasses/hud/diagnostic id = /obj/item/card/id/away/tarkon/sci @@ -319,6 +324,7 @@ outfit = /datum/outfit/tarkon/med /datum/outfit/tarkon/med + name = "Port Tarkon Medical Outfit" uniform = /obj/item/clothing/under/rank/medical/doctor/skyrat/utility glasses = /obj/item/clothing/glasses/hud/health id = /obj/item/card/id/away/tarkon/med @@ -331,6 +337,7 @@ outfit = /datum/outfit/tarkon/engi /datum/outfit/tarkon/engi + name = "Port Tarkon Engineering Outfit" uniform = /obj/item/clothing/under/rank/engineering/engineer/skyrat/utility glasses = /obj/item/clothing/glasses/meson/engine/tray id = /obj/item/card/id/away/tarkon/engi @@ -343,6 +350,7 @@ outfit = /datum/outfit/tarkon/sec /datum/outfit/tarkon/sec + name = "Port Tarkon Security Outfit" uniform = /obj/item/clothing/under/utility/sec glasses = /obj/item/clothing/glasses/hud/security gloves = /obj/item/clothing/gloves/tackler/combat @@ -362,6 +370,7 @@ outfit = /datum/outfit/tarkon/ensign /datum/outfit/tarkon/ensign //jack of all trades, master of none, spent all his credits, every last one + name = "Port Tarkon Ensigns Outfit" uniform = /obj/item/clothing/under/utility ears = /obj/item/radio/headset/tarkon/ensign id = /obj/item/card/id/away/tarkon/ensign diff --git a/modular_skyrat/modules/mapping/code/shuttles.dm b/modular_skyrat/modules/mapping/code/shuttles.dm index 1b1816b489c..5fc98866105 100644 --- a/modular_skyrat/modules/mapping/code/shuttles.dm +++ b/modular_skyrat/modules/mapping/code/shuttles.dm @@ -104,6 +104,9 @@ /obj/item/radio/headset/guild/command command = TRUE +/datum/outfit/guild + name = "Guild Default Outfit" + /datum/outfit/guild/slaver name = "Privateer Slaver" head = /obj/item/clothing/head/helmet/alt diff --git a/modular_skyrat/modules/modular_ert/code/fumigators/fumigator_outfit.dm b/modular_skyrat/modules/modular_ert/code/fumigators/fumigator_outfit.dm index 1d3fb9584b7..3393160c900 100644 --- a/modular_skyrat/modules/modular_ert/code/fumigators/fumigator_outfit.dm +++ b/modular_skyrat/modules/modular_ert/code/fumigators/fumigator_outfit.dm @@ -1,3 +1,7 @@ +/datum/outfit/ert + name = "Default ERT outfit" + + /datum/outfit/ert/weedkiller name = "Fumigator" id = /obj/item/card/id/advanced/centcom/ert