diff --git a/language.version b/language.version index ffe77f685..b2e415a70 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r966 \cu(Thu 28 Sep 18:53:41 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r966 \cu(2023-09-28 18:53:41)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r967 \cu(Fri 29 Sep 23:58:46 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r967 \cu(2023-09-29 23:58:46)\c-"; diff --git a/zscript/handler/swwm_handler.zsc b/zscript/handler/swwm_handler.zsc index 5a5f03fc6..10244b149 100644 --- a/zscript/handler/swwm_handler.zsc +++ b/zscript/handler/swwm_handler.zsc @@ -220,7 +220,6 @@ Class SWWMHandler : EventHandler } } OnelinerTick(); - FlashTick(); ItemCountTrack(); CombatTrack(); OneHundredPercentCheck(); @@ -258,7 +257,6 @@ Class SWWMHandler : EventHandler override void PostUiTick() { OnelinerUITick(); - FlashUITick(); VanillaBossUITick(); // corruption cards dialogue if ( ccloaded && !gdat.ccstartonce && !cardmessaged && (gamestate == GS_LEVEL) ) diff --git a/zscript/handler/swwm_handler_flash.zsc b/zscript/handler/swwm_handler_flash.zsc index 46d97e43c..851a1efa3 100644 --- a/zscript/handler/swwm_handler_flash.zsc +++ b/zscript/handler/swwm_handler_flash.zsc @@ -2,7 +2,10 @@ extend Class SWWMHandler { - transient Array flashes; + // interface event has to read from these + transient Actor flash_camera; + transient Color flash_color; + transient int flash_duration; // heal/armor flashes need to be handled here so they don't stack transient int hflash[MAXPLAYERS], aflash[MAXPLAYERS]; @@ -24,34 +27,14 @@ extend Class SWWMHandler { // don't flash when paused if ( menuactive && (menuactive != Menu.OnNoPause) ) return; - QueuedFlash qf = new("QueuedFlash"); - qf.duration = duration; - qf.c = c; - qf.tic = gametic; - qf.cam = camera; let hnd = SWWMHandler(EventHandler.Find("SWWMHandler")); - if ( !hnd ) return; // not supposed to happen - hnd.flashes.push(qf); + if ( !hnd ) return; + hnd.flash_camera = camera; + hnd.flash_color = c; + hnd.flash_duration = duration; + EventHandler.SendInterfaceEvent(consoleplayer,"swwmdoflash"); } - private void FlashTick() - { - for ( int i=0; i= gametic ) continue; - flashes.Delete(i); - i--; - } - } - private ui void FlashUITick() - { - for ( int i=0; i