Core.Object | +--Engine.Actor | +--Engine.Inventory | +--Engine.Pickup | +--Botpack.TournamentPickup | +--Botpack.Armor2
bool
HandlePickupQuery(Inventory Item)
Inventory
SpawnCopy(Pawn Other)
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 }