Botpack
Class Armor2

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

class Armor2
extends Botpack.TournamentPickup

//============================================================================= // Armor2 powerup. //=============================================================================

Function Summary
 bool HandlePickupQuery(Inventory Item)
 Inventory SpawnCopy(Pawn Other)



Source Code


00001	//=============================================================================
00002	// Armor2 powerup.
00003	//=============================================================================
00004	class Armor2 extends TournamentPickup;
00005	
00006	#exec MESH IMPORT MESH=Armor2M ANIVFILE=MODELS\armor2_a.3D DATAFILE=MODELS\armor2_d.3D X=0 Y=0 Z=0
00007	#exec MESH ORIGIN MESH=Armor2M X=0 Y=0 Z=0 YAW=0
00008	#exec MESH SEQUENCE MESH=Armor2M SEQ=All    STARTFRAME=0  NUMFRAMES=1
00009	#exec TEXTURE IMPORT NAME=Jarmor2 FILE=MODELS\armor3.PCX GROUP="Skins" LODSET=2
00010	#exec MESHMAP SCALE MESHMAP=Armor2M X=0.06 Y=0.06 Z=0.12
00011	#exec MESHMAP SETTEXTURE MESHMAP=Armor2M NUM=1 TEXTURE=Jarmor2 
00012	#exec AUDIO IMPORT FILE="Sounds\Pickups\ARMOURUT.WAV" NAME="ArmorUT" GROUP="Pickups"
00013	
00014	function bool HandlePickupQuery( inventory Item )
00015	{
00016		local inventory S;
00017	
00018		if ( item.class == class ) 
00019		{
00020			S = Pawn(Owner).FindInventoryType(class'UT_Shieldbelt');	
00021			if (  S==None )
00022			{
00023				if ( Charge<Item.Charge )	
00024					Charge = Item.Charge;
00025			}
00026			else
00027				Charge = Clamp(S.Default.Charge - S.Charge, Charge, Item.Charge );
00028			if (Level.Game.LocalLog != None)
00029				Level.Game.LocalLog.LogPickup(Item, Pawn(Owner));
00030			if (Level.Game.WorldLog != None)
00031				Level.Game.WorldLog.LogPickup(Item, Pawn(Owner));
00032			if ( PickupMessageClass == None )
00033				Pawn(Owner).ClientMessage(PickupMessage, 'Pickup');
00034			else
00035				Pawn(Owner).ReceiveLocalizedMessage( PickupMessageClass, 0, None, None, Self.Class );
00036			Item.PlaySound (PickupSound,,2.0);
00037			Item.SetReSpawn();
00038			return true;				
00039		}
00040		if ( Inventory == None )
00041			return false;
00042	
00043		return Inventory.HandlePickupQuery(Item);
00044	}
00045	
00046	function inventory SpawnCopy( pawn Other )
00047	{
00048		local inventory Copy, S;
00049	
00050		Copy = Super.SpawnCopy(Other);
00051		S = Other.FindInventoryType(class'UT_Shieldbelt');	
00052		if ( S != None )
00053		{
00054			Copy.Charge = Min(Copy.Charge, S.Default.Charge - S.Charge);
00055			if ( Copy.Charge <= 0 )
00056			{ 
00057				S.Charge -= 1;
00058				Copy.Charge = 1;
00059			}
00060		}
00061		return Copy;
00062	}
00063	
00064	defaultproperties
00065	{
00066	     bDisplayableInv=True
00067	     PickupMessage="You got the Body Armor."
00068	     ItemName="Body Armor"
00069	     RespawnTime=30.000000
00070	     PickupViewMesh=LodMesh'Botpack.Armor2M'
00071	     Charge=100
00072	     ArmorAbsorption=75
00073	     bIsAnArmor=True
00074	     AbsorptionPriority=7
00075	     MaxDesireability=2.000000
00076	     PickupSound=Sound'Botpack.Pickups.ArmorUT'
00077	     Mesh=LodMesh'Botpack.Armor2M'
00078	     AmbientGlow=64
00079	     CollisionHeight=11.000000
00080	}

End Source Code