Files
GS13NG/modular_citadel/code/_onclick/hud/screen_objects.dm
deathride58 0bf2cf0484 Adds a lfwb-inspired orbiting pixel + flashing outline animation to the sprint and combat buttons (toggleable via prefs) (#11623)
* Adds a flashing effect to the sprint and combat mode toggles (toggleable via prefs)

* Adds the ability to change the color of the hud toggle flash as well
2020-03-26 16:51:48 +01:00

64 lines
1.9 KiB
Plaintext

/obj/screen/restbutton
name = "rest"
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
icon_state = "rest"
/obj/screen/restbutton/Click()
if(isliving(usr))
var/mob/living/theuser = usr
theuser.lay_down()
/obj/screen/combattoggle
name = "toggle combat mode"
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
icon_state = "combat_off"
var/mutable_appearance/flashy
/obj/screen/combattoggle/Click()
if(iscarbon(usr))
var/mob/living/carbon/C = usr
C.user_toggle_intentional_combat_mode()
/obj/screen/combattoggle/update_icon_state()
var/mob/living/carbon/user = hud?.mymob
if(!istype(user))
return
if((user.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE))
icon_state = "combat"
else if(HAS_TRAIT(user, TRAIT_COMBAT_MODE_LOCKED))
icon_state = "combat_locked"
else
icon_state = "combat_off"
/obj/screen/combattoggle/update_overlays()
. = ..()
var/mob/living/carbon/user = hud?.mymob
if(!istype(user) || !user.client)
return
if((user.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE) && user.client.prefs.hud_toggle_flash)
if(!flashy)
flashy = mutable_appearance('icons/mob/screen_gen.dmi', "togglefull_flash")
if(flashy.color != user.client.prefs.hud_toggle_color)
flashy.color = user.client.prefs.hud_toggle_color
. += flashy //TODO - beg lummox jr for the ability to force mutable appearances or images to be created rendering from their first frame of animation rather than being based entirely around the client's frame count
/obj/screen/voretoggle
name = "toggle vore mode"
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
icon_state = "nom_off"
/obj/screen/voretoggle/Click()
if(iscarbon(usr))
var/mob/living/carbon/C = usr
C.toggle_vore_mode()
/obj/screen/voretoggle/update_icon_state()
var/mob/living/carbon/user = hud?.mymob
if(!istype(user))
return
if(user.voremode && !(user.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE))
icon_state = "nom"
else
icon_state = "nom_off"