Legacy:RandomSpawnPoint - Unreal Wiki

# Legacy:RandomSpawnPoint

### From Unreal Wiki, The Unreal Engine Documentation Site

UT :: Actor (UT) >> NavigationPoint (UT) >> RandomSpawnPoint (custom)

This spawnpoint is used in conjunction with the RandomCreatureFactory

    //=============================================================================
    // RandomSpawnpoint.
    // Used by RandomCreatureFactories for spawning monsters
    // Created by Naked Monster, updated by Timmypowergammer.
    //=============================================================================
    class RandomSpawnPoint extends SpawnPoint;

    var ThingFactory factory;

    function bool Create()
    {
            local pawn newcreature;
            local RandomCreatureFactory pawnFactory;
            local pawn creature;
            local actor temp, A;
            local rotator newRot;

            if ( factory.bCovert && PlayerCanSeeMe() ) //make sure no player can see this
                    return false;

            temp = Spawn(factory.prototype);
            if (temp == None)
                    return false;
            newRot = rot(0,0,0);
            newRot.yaw = rotation.yaw;
            temp.SetRotation(newRot);
            temp.event = factory.tag;
            temp.tag = factory.itemtag;
            newcreature = pawn(temp);
            if( Event != '' )
                    foreach AllActors( class 'Actor', A, Event )
                            A.Trigger( Self, Instigator );
            if ( factory.bFalling )
                    temp.SetPhysics(PHYS_Falling);
            if (newcreature == None)
                    return true;

            pawnFactory = RandomCreatureFactory(factory);
            if (pawnFactory == None)
            {
                    log("Error - use creature factory to spawn pawns");
                    return true;
            }
            if (ScriptedPawn(newcreature) != None)
            {
                    ScriptedPawn(newcreature).Orders = pawnFactory.Orders;
                    ScriptedPawn(newcreature).OrderTag = pawnFactory.OrderTag;
                    ScriptedPawn(newcreature).SetEnemy(pawnFactory.enemy);
                    ScriptedPawn(newcreature).Alarmtag = pawnFactory.AlarmTag;
                    ScriptedPawn(newcreature).SetOwner(pawnFactory);
            }
            else
                    newcreature.enemy = pawnFactory.enemy;
            if (newcreature.enemy != None)
                    newcreature.lastseenpos = newcreature.enemy.location;
            newcreature.SetMovementPhysics();
            if ( newcreature.Physics == PHYS_Walking)
                    newcreature.SetPhysics(PHYS_Falling);
            return true;
    }

Naked_Monster: It's working now!

Category: Legacy Custom Class (UT)

##### Views

- Legacy
- Discussion
- Current revision

##### Search