//============================================================================= // Dual golden 50 Cal Inventory class //============================================================================= class GoldenDualDeagle extends DualDeagle; function GiveTo( pawn Other, optional Pickup Pickup ) { local Inventory I; local int OldAmmo; local bool bNoPickup; MagAmmoRemaining = 0; For( I = Other.Inventory; I != None; I =I.Inventory ) { if ( Deagle(I) != none ) { if( WeaponPickup(Pickup)!= none ) { WeaponPickup(Pickup).AmmoAmount[0] += Weapon(I).AmmoAmount(0); } else { OldAmmo = Weapon(I).AmmoAmount(0); bNoPickup = true; } MagAmmoRemaining = Deagle(I).MagAmmoRemaining; I.Destroyed(); I.Destroy(); Break; } } if ( KFWeaponPickup(Pickup) != None && Pickup.bDropped ) { MagAmmoRemaining = Clamp(MagAmmoRemaining + KFWeaponPickup(Pickup).MagAmmoRemaining, 0, MagCapacity); } else { MagAmmoRemaining = Clamp(MagAmmoRemaining + Class'GoldenDeagle'.Default.MagCapacity, 0, MagCapacity); } Super(Weapon).GiveTo(Other, Pickup); if ( bNoPickup ) { AddAmmo(OldAmmo, 0); Clamp(Ammo[0].AmmoAmount, 0, MaxAmmo(0)); } } function DropFrom(vector StartLocation) { local int m; local Pickup Pickup; local Inventory I; local int AmmoThrown, OtherAmmo; if( !bCanThrow ) return; AmmoThrown = AmmoAmount(0); ClientWeaponThrown(); for (m = 0; m < NUM_FIRE_MODES; m++) { if (FireMode[m].bIsFiring) StopFire(m); } if ( Instigator != None ) DetachFromPawn(Instigator); if( Instigator.Health > 0 ) { OtherAmmo = AmmoThrown / 2; AmmoThrown -= OtherAmmo; I = Spawn(Class'GoldenDeagle'); I.GiveTo(Instigator); Weapon(I).Ammo[0].AmmoAmount = OtherAmmo; GoldenDeagle(I).MagAmmoRemaining = MagAmmoRemaining / 2; MagAmmoRemaining = Max(MagAmmoRemaining-GoldenDeagle(I).MagAmmoRemaining,0); } Pickup = Spawn(Class'GoldenDeaglePickup',,, StartLocation); if ( Pickup != None ) { Pickup.InitDroppedPickupFor(self); Pickup.Velocity = Velocity; WeaponPickup(Pickup).AmmoAmount[0] = AmmoThrown; if( KFWeaponPickup(Pickup)!=None ) KFWeaponPickup(Pickup).MagAmmoRemaining = MagAmmoRemaining; if (Instigator.Health > 0) WeaponPickup(Pickup).bThrown = true; } Destroyed(); Destroy(); } simulated function bool PutDown() { if ( Instigator.PendingWeapon.class == class'GoldenDeagle' ) { bIsReloading = false; } return super.PutDown(); } defaultproperties { skins(0)=Combiner'KF_Weapons_Gold_T.Weapons.Gold_deagle_cmb' FireModeClass(0)=Class'KFMod.GoldenDualDeagleFire' Description="Dual golden .50 calibre action express handgun. Dual golden 50's is double the fun." PickupClass=Class'KFMod.GoldenDualDeaglePickup' AttachmentClass=Class'KFMod.GoldenDualDeagleAttachment' ItemName="Dual Golden Handcannons" Mesh=SkeletalMesh'KF_Weapons_Trip.Dual50_Trip' HudImage=Texture'KillingFloor2HUD.WeaponSelect.Gold_Dual_Deagle_unselected' SelectedHudImage=Texture'KillingFloor2HUD.WeaponSelect.Gold_Dual_Deagle' TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_Gold_Dual_Deagle' appID=210944 }