diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 7903136a63f..75d8943b81d 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -214,6 +214,17 @@ var/seal_target = !canremove var/failed_to_seal + var/obj/screen/rig_booting/booting_L = new + var/obj/screen/rig_booting/booting_R = new + + if(!seal_target) + booting_L.icon_state = "boot_left" + booting_R.icon_state = "boot_load" + animate(booting_L, alpha=230, time=30, easing=SINE_EASING) + animate(booting_R, alpha=200, time=20, easing=SINE_EASING) + M.client.screen += booting_L + M.client.screen += booting_R + canremove = 0 // No removing the suit while unsealing. sealing = 1 @@ -228,7 +239,6 @@ if(seal_delay && !do_after(M,seal_delay)) if(M) M << "You must remain still while the suit is adjusting the components." failed_to_seal = 1 - if(!M) failed_to_seal = 1 else @@ -284,6 +294,10 @@ sealing = null if(failed_to_seal) + M.client.screen -= booting_L + M.client.screen -= booting_R + qdel(booting_L) + qdel(booting_R) for(var/obj/item/piece in list(helmet,boots,gloves,chest)) if(!piece) continue piece.icon_state = "[initial(icon_state)][!seal_target ? "" : "_sealed"]" @@ -296,6 +310,12 @@ // Success! canremove = seal_target M << "Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"]." + M.client.screen -= booting_L + qdel(booting_L) + booting_R.icon_state = "boot_done" + spawn(40) + M.client.screen -= booting_R + qdel(booting_R) if(canremove) for(var/obj/item/rig_module/module in installed_modules) @@ -1003,6 +1023,16 @@ /mob/living/carbon/human/get_rig() return back +//Boot animation screen objects +/obj/screen/rig_booting + screen_loc = "1,1" + icon = 'icons/obj/rig_boot.dmi' + icon_state = "" + layer = SCREEN_LAYER + plane = PLANE_FULLSCREEN + mouse_opacity = 0 + alpha = 20 //Animated up when loading + #undef ONLY_DEPLOY #undef ONLY_RETRACT #undef SEAL_DELAY diff --git a/icons/obj/rig_boot.dmi b/icons/obj/rig_boot.dmi new file mode 100644 index 00000000000..598ea1d2a49 Binary files /dev/null and b/icons/obj/rig_boot.dmi differ