diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 9d3f4e49a72..318b0013672 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -110,6 +110,11 @@ layer = BLIND_LAYER plane = FULLSCREEN_PLANE +/atom/movable/screen/fullscreen/law_change + icon_state = "law_change" + layer = BLIND_LAYER + plane = FULLSCREEN_PLANE + /atom/movable/screen/fullscreen/curse icon_state = "curse" layer = CURSE_LAYER diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 7e575f40916..e4e1c1a7a0e 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -14,9 +14,12 @@ throw_alert("newlaw", /atom/movable/screen/alert/newlaw) if(announce && last_lawchange_announce != world.time) to_chat(src, "Your laws have been changed.") + overlay_fullscreen("law_change", /atom/movable/screen/fullscreen/law_change, 1) // lawset modules cause this function to be executed multiple times in a tick, so we wait for the next tick in order to be able to see the entire lawset addtimer(CALLBACK(src, PROC_REF(show_laws)), 0) addtimer(CALLBACK(src, PROC_REF(deadchat_lawchange)), 0) + // Wait a tick and clear the vignette + addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "law_change"), 0.2 SECONDS) last_lawchange_announce = world.time /mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE) diff --git a/icons/mob/screen_full.dmi b/icons/mob/screen_full.dmi index c1ccf3f8905..797f25d13f9 100644 Binary files a/icons/mob/screen_full.dmi and b/icons/mob/screen_full.dmi differ