Legacy:AdrenalinePickup/Script

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search

UT2003, Build 2225

<uscript> //============================================================================= // AdrenalinePickup //Name of the class //============================================================================= class AdrenalinePickup extends TournamentPickUp; //Says this class is a subclass of Tournament Pickups

var() float AdrenalineAmount; //The variable that determines adreneline you get from the pickup

DetourWeight() //How much the bots will stray off a course to pick up this object function float DetourWeight(Pawn Other,float PathWeight) { if ( !Other.Controller.NeedsAdrenaline() ) return 0; return MaxDesireability; }

event float BotDesireability(Pawn Bot) //Determines how much a bot will want to pick this up { if ( Bot.Controller.bHuntPlayer ) return 0; if ( !Bot.Controller.NeedsAdrenaline() ) return 0; return MaxDesireability; }

auto state Pickup //What happens when you pick this up { function Touch( actor Other ) {

       local Pawn P;

if ( ValidTouch(Other) ) //If a player touches an adreneline pill... {

           P = Pawn(Other);	
   		P.Controller.AwardAdrenaline(AdrenalineAmount); //He will get Adreneline based off of the variable AdrenelineAmount...
           AnnouncePickup(P); //The player will recieve a message that he has recieved adreneline...
           SetRespawn(); //And the Adreneline will be set to respawn in a few seconds		

} } }

defaultproperties //Definitions for variables used by this class {

    AdrenalineAmount=3.000000 //How much adreneline you get
    MaxDesireability=0.300000 //The amount of desireability the bots have for it
    RespawnTime=30.000000 //How long it takes to respawn (in second)
    PickupMessage="Adrenaline " //The message you get when you pick it up
    PickupSound=Sound'PickupSounds.AdrenelinPickup' //The pick up sound
    PickupForce="AdrenelinPickup"
    Physics=PHYS_Rotating //The physics for the adreneline model.  This sets the model to spin in place.
    DrawType=DT_StaticMesh
    StaticMesh=StaticMesh'XPickups_rc.AdrenalinePack'
    DrawScale=0.075000
    AmbientGlow=255 //The glow the pill gives off
    ScaleGlow=0.600000
    Style=STY_AlphaZ
    CollisionRadius=32.000000 //The radius...
    CollisionHeight=23.000000 //And height to determine when you collide with the pickup, there adding it to your inventory
    Mass=10.000000 //The pill's mass
    RotationRate=(Yaw=24000) //How fast the pill rotates

} </uscript>

UT2004

<uscript> //============================================================================= // AdrenalinePickup //============================================================================= class AdrenalinePickup extends TournamentPickUp;

var float AdrenalineAmount;

/* DetourWeight() value of this path to take a quick detour (usually 0, used when on route to distant objective, but want to grab inventory for example)

  • /

function float DetourWeight(Pawn Other,float PathWeight) { if ( (PathWeight > 500) || !Other.Controller.NeedsAdrenaline() ) return 0; if ( (Other.Controller.Enemy != None) && (Level.TimeSeconds - Other.Controller.LastSeenTime < 1) ) return 0;

return 0.15/PathWeight; }

event float BotDesireability(Pawn Bot) { if ( Bot.Controller.bHuntPlayer ) return 0; if ( !Bot.Controller.NeedsAdrenaline() ) return 0; return MaxDesireability; }

auto state Pickup { function Touch( actor Other ) {

       local Pawn P;

if ( ValidTouch(Other) ) {

           P = Pawn(Other);	
   		P.Controller.AwardAdrenaline(AdrenalineAmount);
           AnnouncePickup(P);
           SetRespawn();			

} } } </uscript>

Related Topics

Discussion