Legacy:VitalOverdose/SFXMonsterSpawning

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search
UT2004 :: Actor >> Emitter >> SFXMonsterSpawning (Package: custom)

by VitalOverdose

Overview

<uscript> class SFXMonsterSpawning Extends Emitter placeable;

var () bool bRandomList; Var int TotalParticles; Var () int TimerFrequency; var () array < class< Monster > > MonsterSpawnList; var () float ScanSize; var int MonsterSpawnlistCounter; var () int Bounces;

function PostBeginPlay() {

Super.PostBeginPlay();
if (( Emitters[0].MaxParticles > 20) ||
    ( MonsterSpawnList.length > 0 ))
      Destroyed();
if (ScanSize < 1)
    ScanSize=64;
if (TimerFrequency < 0.1)
    TimerFrequency = 0.1;
SetTimer( TimerFrequency , True );

}

Simulated function Timer() {

Local int             Counter;
for ( Counter=0 ; Counter < Emitters[0].Particles.Length ; Counter++ )
    if (Emitters[0].Particles[Counter].HitCount == Bounces)
        spawnRNDMonster(counter);

}

simulated function spawnrndmonster (int Emitternumber) {

Local int                RNDPickedNumb;
local Class< monster >   RNDPickedmonsterClass;
local monster            SpawnedMonster;
RNDPickedNumb            = Rand(MonsterSpawnList.Length);
RNDPickedmonsterclass    = MonsterSpawnList[RNDPickedNumb];
MonsterSpawnlistCounter += 1;
if (MonsterSpawnlistCounter == MonsterSpawnlist.length)
    MonsterSpawnlistCounter=0;
SpawnedMonster = Spawn(RNDPickedmonsterclass,Self,,Emitters[0].Particles[Emitternumber].Location ,Rotation );

}

defaultproperties { bNoDelete=False RemoteRole=ROLE_SimulatedProxy } </uscript>

Related Topcs

More custom emitter scripts

Discussion