UnrealI
Class ForceField

source: e:\games\UnrealTournament\UnrealI\Classes\ForceField.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Inventory
         |
         +--Engine.Pickup
            |
            +--UnrealI.ForceField
Direct Known Subclasses:None

class ForceField
extends Engine.Pickup

//============================================================================= // ForceField. //=============================================================================
Variables
 String M_NoRoom
 vector X,Y,Z
 ForceFieldProj r

States
DeActivated, Activated
State DeActivated Function Summary


State Activated Function Summary
 void BeginState()



Source Code


00001	//=============================================================================
00002	// ForceField.
00003	//=============================================================================
00004	class ForceField extends Pickup;
00005	
00006	#exec AUDIO IMPORT FILE="..\UnrealShare\Sounds\Pickups\FFIELDA3.WAV" NAME="FieldSnd" GROUP="Pickups"
00007	#exec AUDIO IMPORT FILE="..\UnrealShare\Sounds\Pickups\FFIELDh2.WAV" NAME="fFieldh2" GROUP="Pickups"
00008	
00009	#exec TEXTURE IMPORT NAME=I_ForceField FILE=TEXTURES\HUD\i_force.PCX GROUP="Icons" MIPS=OFF
00010	
00011	#exec MESH IMPORT MESH=ForceFieldPick ANIVFILE=MODELS\force2_a.3D DATAFILE=MODELS\force2_d.3D X=0 Y=0 Z=0
00012	#exec MESH ORIGIN MESH=ForceFieldPick X=0 Y=0 Z=0 YAW=64
00013	#exec MESH SEQUENCE MESH=ForceFieldPick SEQ=All STARTFRAME=0  NUMFRAMES=1
00014	#exec TEXTURE IMPORT NAME=aforce1 FILE=MODELS\force2.PCX GROUP="Skins"
00015	#exec OBJ LOAD FILE=..\UnrealShare\Textures\fireeffect27.utx  PACKAGE=UNREALI.Effect27
00016	#exec MESHMAP SCALE MESHMAP=ForceFieldPick X=0.07 Y=0.07 Z=0.14
00017	#exec MESHMAP SETTEXTURE MESHMAP=ForceFieldPick NUM=1 TEXTURE=aforce1
00018	#exec MESHMAP SETTEXTURE MESHMAP=ForceFieldPick NUM=0 TEXTURE=Unreali.Effect27.FireEffect27
00019	
00020	var vector X,Y,Z;	
00021	var ForceFieldProj r;
00022	var() localized String M_NoRoom;
00023	
00024	state Activated
00025	{
00026		function BeginState()
00027		{
00028			bStasis = false;
00029			GetAxes(Pawn(Owner).ViewRotation,X,Y,Z);
00030			r = Spawn(class'ForceFieldProj', Owner, '', Pawn(Owner).Location + 90.0 * X - 0 * Y - 0 * Z );
00031			if (r == None)
00032			{
00033				Owner.PlaySound(DeActivateSound);
00034				Pawn(Owner).ClientMessage(M_NoRoom);		
00035				GoToState('DeActivated');
00036			}
00037			else
00038			{
00039				r.Charge = Charge;
00040				Pawn(Owner).NextItem();
00041				if (Pawn(Owner).SelectedItem == Self) Pawn(Owner).SelectedItem=None;	
00042				Owner.PlaySound(ActivateSound);		
00043				Pawn(Owner).DeleteInventory(Self);		
00044			}
00045		}
00046	}
00047	
00048	state DeActivated
00049	{
00050	Begin:
00051	}
00052	
00053	defaultproperties
00054	{
00055	     M_NoRoom="No room to activate force field."
00056	     bActivatable=True
00057	     bDisplayableInv=True
00058	     PickupMessage="You picked up the Force Field"
00059	     RespawnTime=20.000000
00060	     PickupViewMesh=LodMesh'UnrealI.ForceFieldPick'
00061	     Charge=130
00062	     PickupSound=Sound'UnrealShare.Pickups.GenPickSnd'
00063	     ActivateSound=Sound'UnrealI.Pickups.FieldSnd'
00064	     DeActivateSound=Sound'UnrealI.Pickups.fFieldh2'
00065	     Icon=Texture'UnrealI.Icons.I_ForceField'
00066	     RemoteRole=ROLE_DumbProxy
00067	     Mesh=LodMesh'UnrealI.ForceFieldPick'
00068	     AmbientGlow=78
00069	     CollisionRadius=8.000000
00070	     CollisionHeight=22.000000
00071	}

End Source Code