diff --git a/zscript/armoritems.zsc b/zscript/armoritems.zsc index 6a216bb..b896374 100644 --- a/zscript/armoritems.zsc +++ b/zscript/armoritems.zsc @@ -93,7 +93,11 @@ Class UTShieldBelt : UTArmor replaces Megasphere { override void AbsorbDamage( int damage, Name damageType, out int newdamage ) { - if ( (amount > 0) && !DamageTypeDefinition.IgnoreArmor(damageType) ) Owner.A_PlaySound("belt/absorb"); + if ( (amount > 0) && !DamageTypeDefinition.IgnoreArmor(damageType) ) + { + Owner.A_PlaySound("belt/absorb"); + UTMainHandler.DoFlash(Owner,Color(80,255,224,0),5); + } Super.AbsorbDamage(damage,damageType,newdamage); } override void OnDestroy() diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index a9831a2..919c7f3 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -396,6 +396,7 @@ Class BioRifle : UTWeapon } A_PlaySound("ges/fire",CHAN_WEAPON); invoker.FireEffect(); + UTMainHandler.DoFlash(self,Color(48,0,255,0),1); A_AlertMonsters(); if ( alt ) A_QuakeEx(1+0.5*invoker.charge,1+0.5*invoker.charge,1+0.5*invoker.charge,5+1.2*invoker.charge,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05+0.01*invoker.charge); else A_QuakeEx(1,1,1,5,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05); diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index 374314b..9739279 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -142,6 +142,7 @@ Class FlakChunk : Actor double rollvel, pitchvel, yawvel; double lifetime, lifespeed; int lifetics; + bool hasbounced; Default { Obituary "%o was ripped to shreds by %k's Flak Cannon."; @@ -203,6 +204,7 @@ Class FlakChunk : Actor } action void A_HandleBounce() { + invoker.hasbounced = true; A_SprayDecal("WallCrack",-8); int numpt = Random[Flak](8,12); for ( int i=0; i flashes; override void WorldLoaded( WorldEvent e ) { @@ -460,8 +496,24 @@ Class UTMainHandler : StaticEventHandler if ( e.Name ~== "refreshmenu" ) StartMenu(); } + override void WorldTick() + { + for ( int i=0; i= gametic ) continue; + flashes.Delete(i); + i--; + } + } + override void PostUiTick() { + for ( int i=0; i