From ce6543b382c5062470aa334ffcc81e37ba722f64 Mon Sep 17 00:00:00 2001 From: Blundir <100090741+Blundir@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:04:55 +0200 Subject: [PATCH] Animated revival icons on minimap, new minimap icons for revival stages (#7445) # About the pull request Adds animated stages of time left for revival on minimap (Tweaked it a bit to be slower than on this gif) ![dreamseeker_JWpwNBxPS2](https://github.com/user-attachments/assets/1a061492-6110-4478-89e7-2184328e6a25) ![dreammaker_9WL1mOd2vJ](https://github.com/user-attachments/assets/5a6d507c-b321-4810-93ce-c50ae5603877) # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: dead marines now have minimap revival icons animated, different icons depending on how much time is left /:cl: --- code/datums/mob_hud.dm | 1 + .../objects/items/devices/radio/headset.dm | 11 ++++++++++- icons/ui_icons/map_blips.dmi | Bin 8942 -> 9623 bytes 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index 64ad6e31280a..c2cb0d8791f0 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -478,6 +478,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( holder2.icon_state = "huddeaddefib" holder3.icon_state = "huddead" holder2_set = 1 + update_minimap_icon() else if(is_heart_broken()) // broken heart icon holder.icon_state = "huddeadheart" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index eeb0ae0e715b..205fa7710312 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -367,7 +367,16 @@ ///Change the minimap icon to a dead icon /obj/item/device/radio/headset/proc/set_dead_on_minimap(z_level, marker_flags) - SSminimaps.add_marker(wearer, z_level, marker_flags, given_image = wearer.assigned_equipment_preset.get_minimap_icon(wearer), overlay_iconstates = list("defibbable")) + var/icon_to_use + if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 1 MINUTES) + icon_to_use = "defibbable4" + else if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 2 MINUTES) + icon_to_use = "defibbable3" + else if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 3 MINUTES) + icon_to_use = "defibbable2" + else + icon_to_use = "defibbable" + SSminimaps.add_marker(wearer, z_level, marker_flags, given_image = wearer.assigned_equipment_preset.get_minimap_icon(wearer), overlay_iconstates = list(icon_to_use)) ///Change the minimap icon to a undefibbable icon /obj/item/device/radio/headset/proc/set_undefibbable_on_minimap(z_level, marker_flags) diff --git a/icons/ui_icons/map_blips.dmi b/icons/ui_icons/map_blips.dmi index 90bc2582fcd5d4820819b9dd51825afd43e2e145..a2ed506adc13b7c383be18a46e30ff191fe44edc 100644 GIT binary patch literal 9623 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 DITz)k literal 8942 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