class SchlonzErstAugustFuse expands Actor; var Actor Target; var int TimerCounter; var int RocketCounter; function BlowUp( Actor t ) { Target = t; TimerCounter = 0; RocketCounter = 3; Target.SetPhysics( PHYS_Falling ); Target.Velocity = 300*VRand(); Target.Velocity.Z = 1200 + Target.Velocity.Z / 3; SetTimer( 0.3, true ); } function Timer() { local SchlonzSuperSeekingRocket s; local vector v; local float dmult; // TimerCounter++; // if( TimerCounter >= 3 ) // { v = VRand(); v.Z = 4; s = Spawn( class 'SchlonzSuperSeekingRocket',, '', Location, Rotator(Normal(v)) ); s.Seeking = Target; s.NumExtraRockets = 1; s.Velocity *= (0.9 + 0.2 * FRand()); dmult = (1.6 + 0.2 * FRand()) * (4 - RocketCounter) * 5; s.Damage *= dmult; s.MomentumTransfer *= dmult; RocketCounter--; // } if( RocketCounter <= 0 ) { Destroy(); } } auto state BlowingUp { } defaultproperties { Physics=PHYS_None DrawType=DT_None bCollideActors=false bCollideWorld=false bBlockActors=false bBlockPlayers=false }