diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index bcd31121798..c073837c853 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -179,7 +179,7 @@ damagetype_healed = BURN /obj/item/storage/medkit/fire/get_medbot_skin() - return "ointment" + return "burn" /obj/item/storage/medkit/fire/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins rubbing \the [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to start a fire!")) @@ -230,7 +230,7 @@ damagetype_healed = OXY /obj/item/storage/medkit/o2/get_medbot_skin() - return "o2" + return "oxy" /obj/item/storage/medkit/o2/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins hitting [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -281,7 +281,7 @@ damagetype_healed = HEAL_ALL_DAMAGE /obj/item/storage/medkit/advanced/get_medbot_skin() - return "advanced" + return "adv" /obj/item/storage/medkit/advanced/PopulateContents() if(empty) diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index b4afba169b8..29914dad7b8 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -4,8 +4,8 @@ name = "\improper Medibot" desc = "A little medical robot. He looks somewhat underwhelmed." icon = 'icons/mob/silicon/aibots.dmi' - icon_state = "medibot0" - base_icon_state = "medibot" + icon_state = "medbot_generic_idle" + base_icon_state = "medbot" health = 20 maxHealth = 20 speed = 2 @@ -95,7 +95,7 @@ /// drop determining variable var/medkit_type = /obj/item/storage/medkit ///based off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox" - var/skin + var/skin = "generic" /// How much healing do we do at a time? var/heal_amount = 2.5 /// Start healing when they have this much damage in a category @@ -128,7 +128,7 @@ if(!isnull(new_skin)) skin = new_skin - update_appearance() + update_appearance() AddComponent(/datum/component/tippable, \ tip_time = 3 SECONDS, \ untip_time = 3 SECONDS, \ @@ -150,8 +150,8 @@ if(!HAS_TRAIT(SSstation, STATION_TRAIT_MEDBOT_MANIA) || !mapload || !is_station_level(z)) return INITIALIZE_HINT_LATELOAD - skin = "advanced" - update_appearance(UPDATE_OVERLAYS) + skin = "adv" + update_appearance() damage_type_healer = HEAL_ALL_DAMAGE if(prob(50)) name += ", PhD." @@ -164,22 +164,23 @@ /mob/living/basic/bot/medbot/update_icon_state() . = ..() - if(!(bot_mode_flags & BOT_MODE_ON)) - icon_state = "[base_icon_state]0" - return - if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) - icon_state = "[base_icon_state]a" - return - var/stationary_mode = !!(medical_mode_flags & MEDBOT_STATIONARY_MODE) - if(mode == BOT_HEALING) - icon_state = "[base_icon_state]s[stationary_mode]" - return - icon_state = "[base_icon_state][stationary_mode ? 2 : 1]" //Bot has yellow light to indicate stationary mode. + + var/mode_suffix = mode == BOT_HEALING ? "active" : "idle" + icon_state = "[base_icon_state]_[skin]_[mode_suffix]" /mob/living/basic/bot/medbot/update_overlays() . = ..() - if(skin) - . += "medskin_[skin]" + + if(!(medical_mode_flags & MEDBOT_STATIONARY_MODE)) + . += mutable_appearance(icon, "[base_icon_state]_overlay_wheels") + + if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) + . += mutable_appearance(icon, "[base_icon_state]_overlay_incapacitated") + . += emissive_appearance(icon, "[base_icon_state]_overlay_incapacitated", src, alpha = src.alpha) + else if(bot_mode_flags & BOT_MODE_ON) + var/mode_suffix = mode == BOT_HEALING ? "active" : "idle" + . += mutable_appearance(icon, "[base_icon_state]_overlay_on_[mode_suffix]") + . += emissive_appearance(icon, "[base_icon_state]_overlay_on_[mode_suffix]", src, alpha = src.alpha) //this is sin /mob/living/basic/bot/medbot/generate_speak_list() @@ -248,7 +249,7 @@ medical_mode_flags &= ~MEDBOT_DECLARE_CRIT balloon_alert(user, "reagent synthesis circuits shorted") audible_message(span_danger("[src] buzzes oddly!")) - flick("medibot_spark", src) + flick("medbot_spark", src) playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) return TRUE @@ -368,14 +369,12 @@ /mob/living/basic/bot/medbot/mysterious name = "\improper Mysterious Medibot" desc = "International Medibot of mystery." - skin = "bezerk" damage_type_healer = HEAL_ALL_DAMAGE heal_amount = 10 /mob/living/basic/bot/medbot/derelict name = "\improper Old Medibot" desc = "Looks like it hasn't been modified since the late 2080s." - skin = "bezerk" damage_type_healer = HEAL_ALL_DAMAGE medical_mode_flags = MEDBOT_SPEAK_MODE heal_threshold = 0 @@ -384,7 +383,6 @@ /mob/living/basic/bot/medbot/nukie name = "Oppenheimer" desc = "A medibot stolen from a Nanotrasen station and upgraded by the Syndicate. Despite their best efforts at reprogramming, it still appears visibly upset near nuclear explosives." - skin = "bezerk" health = 40 maxHealth = 40 req_one_access = list(ACCESS_SYNDICATE) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 143c79534d3..093f54a5c57 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -257,7 +257,8 @@ /obj/item/bot_assembly/medbot name = "incomplete medibot assembly" desc = "A first aid kit with a robot arm permanently grafted to it." - icon_state = "firstaid_arm" + icon_state = "medbot_assembly_generic" + base_icon_state = "medbot_assembly" created_name = "Medibot" //To preserve the name if it's a unique medbot I guess var/skin = null //Same as medbot, set to tox or ointment for the respective kits. var/healthanalyzer = /obj/item/healthanalyzer @@ -266,7 +267,7 @@ /obj/item/bot_assembly/medbot/proc/set_skin(skin) src.skin = skin if(skin) - add_overlay("kit_skin_[skin]") + icon_state = "[base_icon_state]_[skin]" /obj/item/bot_assembly/medbot/attackby(obj/item/W, mob/user, params) ..() @@ -279,7 +280,7 @@ to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "first aid/robot arm/health analyzer assembly" - add_overlay("na_scanner") + add_overlay("[base_icon_state]_analyzer") build_step++ if(ASSEMBLY_SECOND_STEP) diff --git a/icons/mob/silicon/aibots.dmi b/icons/mob/silicon/aibots.dmi index 819eecea0b7..7a4d3ca9c9c 100644 Binary files a/icons/mob/silicon/aibots.dmi and b/icons/mob/silicon/aibots.dmi differ diff --git a/icons/mob/silicon/robots.dmi b/icons/mob/silicon/robots.dmi index 33a6892a986..770e271fc45 100644 Binary files a/icons/mob/silicon/robots.dmi and b/icons/mob/silicon/robots.dmi differ