UnrealI
Class RazorAmmo

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

class RazorAmmo
extends Engine.Ammo

//============================================================================= // RazorAmmo. //=============================================================================
Variables
 bool bOpened

States
Pickup
State Pickup Function Summary
 void Landed(vector HitNormal)
 void Touch(Actor Other)



Source Code


00001	//=============================================================================
00002	// RazorAmmo.
00003	//=============================================================================
00004	class RazorAmmo extends Ammo;
00005	
00006	#exec TEXTURE IMPORT NAME=I_RazorAmmo FILE=TEXTURES\HUD\i_razor.PCX GROUP="Icons" MIPS=OFF
00007	
00008	#exec MESH IMPORT MESH=RazorAmmoMesh ANIVFILE=MODELS\rabox_a.3D DATAFILE=MODELS\rabox_d.3D LODSTYLE=8 LODFRAME=1
00009	#exec MESH LODPARAMS MESH=RazorAmmoMesh STRENGTH=0.3
00010	#exec MESH ORIGIN MESH=RazorAmmoMesh X=0 Y=0 Z=0 YAW=0
00011	#exec MESH SEQUENCE MESH=RazorAmmoMesh SEQ=All    STARTFRAME=0  NUMFRAMES=2
00012	#exec MESH SEQUENCE MESH=RazorAmmoMesh SEQ=Open   STARTFRAME=0  NUMFRAMES=2
00013	#exec TEXTURE IMPORT NAME=JPickup21 FILE=..\unrealshare\MODELS\pickup2.PCX GROUP="Skins"
00014	#exec MESHMAP SCALE MESHMAP=RazorAmmoMesh X=0.05 Y=0.05 Z=0.1
00015	#exec MESHMAP SETTEXTURE MESHMAP=RazorAmmoMesh NUM=1 TEXTURE=JPickup21
00016	
00017	var bool bOpened;
00018	
00019	auto state Pickup
00020	{
00021		function Touch( Actor Other )
00022		{
00023			local Vector Dist2D;
00024	
00025			if ( bOpened )
00026			 Super.Touch(Other);
00027			if ( (Pawn(Other) == None) || !Pawn(Other).bIsPlayer )
00028				return;
00029			Dist2D = Other.Location - Location;
00030			Dist2D.Z = 0;
00031			if ( VSize(Dist2D) <= 40.0 )
00032				Super.Touch(Other);
00033			else 
00034			{
00035				SetCollisionSize(20.0, CollisionHeight);
00036				SetLocation(Location); //to force untouch
00037				bOpened = true;
00038				PlayAnim('Open', 0.05);
00039			}
00040		}
00041	
00042		function Landed(vector HitNormal)
00043		{
00044			Super.Landed(HitNormal);
00045			if ( !bOpened )
00046			{
00047				bCollideWorld = false;
00048				SetCollisionSize(170,CollisionHeight);
00049			}
00050		}
00051	}
00052	
00053	defaultproperties
00054	{
00055	     AmmoAmount=25
00056	     MaxAmmo=75
00057	     UsedInWeaponSlot(7)=1
00058	     PickupMessage="You picked up Razor Blades"
00059	     PickupViewMesh=LodMesh'UnrealI.RazorAmmoMesh'
00060	     MaxDesireability=0.220000
00061	     PickupSound=Sound'UnrealShare.Pickups.AmmoSnd'
00062	     Icon=Texture'UnrealI.Icons.I_RazorAmmo'
00063	     Physics=PHYS_Falling
00064	     Mesh=LodMesh'UnrealI.RazorAmmoMesh'
00065	     CollisionRadius=20.000000
00066	     CollisionHeight=10.000000
00067	     bCollideActors=True
00068	}

End Source Code