class ScrnCrossbowArrow extends CrossbowArrow; simulated state OnWall { function ProcessTouch (Actor Other, vector HitLocation) { local Pawn PawnOther; local Inventory inv; local Crossbow bow; PawnOther = Pawn(Other); if( PawnOther != none ) { for( inv=PawnOther.Inventory; inv != none; inv = inv.Inventory ) { bow = Crossbow(inv); if( bow != none ) { if ( bow.AmmoAmount(0) < bow.MaxAmmo(0) ) { bow.AddAmmo(1,0) ; PlaySound(Sound'KF_InventorySnd.Ammo_GenericPickup', SLOT_Pain,2*TransientSoundVolume,,400); if( PlayerController(PawnOther.Controller)!=none ) { PlayerController(PawnOther.Controller).ReceiveLocalizedMessage(class'KFmod.ProjectilePickupMessage',0); } Destroy(); } return; } } } } } defaultproperties { LifeSpan=60.000000 }