// Kill all zombies within this volume (clean up map mid-game). class KFVolume_ZedPit extends Volume; // Tag name of pathnode to send Zeds to var() name NodeTag; var() bool bAffectsBloats; var() bool bAffectsCrawlers; var() bool bAffectsFleshPounds; var() bool bAffectsGorefasts; var() bool bAffectsStalkers; var() bool bAffectsSirens; var() bool bAffectsClots; var() bool bAffectsScrakes; var() bool bAffectsHusks; var PathNode MyNode; function Touch( actor Other ) { local KFMonster KFM; local KFMonsterController KFMC; local PathNode P; KFM = KFMonster(Other); if ( KFM == none ) { return; } if( !bAffectsBloats && KFM.IsA( 'ZombieBloatBase' ) ) { return; } if( !bAffectsCrawlers && KFM.IsA( 'ZombieCrawlerBase' ) ) { return; } if( !bAffectsFleshPounds && KFM.IsA( 'ZombieFleshpoundBase' ) ) { return; } if( !bAffectsGorefasts && KFM.IsA( 'ZombieGorefastBase' ) ) { return; } if( !bAffectsStalkers && KFM.IsA( 'ZombieStalkerBase' ) ) { return; } if( !bAffectsSirens && KFM.IsA( 'ZombieSirenBase' ) ) { return; } if( !bAffectsClots && KFM.IsA( 'ZombieClotBase' ) ) { return; } if( !bAffectsScrakes && KFM.IsA( 'ZombieScrakeBase' ) ) { return; } if( !bAffectsHusks && KFM.IsA( 'ZombieHuskBase' ) ) { return; } KFMC = KFMonsterController(KFM.Controller); if( KFMC != none ) { if( MyNode == none ) { foreach AllActors( class'PathNode', P ) { if( P.Tag == NodeTag ) { MyNode = P; break; } } } KFMC.ScriptedMoveTarget = MyNode; KFMC.MoveTimer = -1.f; KFM.Acceleration = vect(0,0,0); KFMC.GotoState( 'ScriptedMoveTo' ); } } defaultproperties { bAffectsBloats=true }