class NiceDualFlareRevolver extends ScrnDualFlareRevolver;
function bool HandlePickupQuery( pickup Item )
{
    if ( Item.InventoryType==class'NiceFlareRevolver' )
    {
       if( LastHasGunMsgTime < Level.TimeSeconds && PlayerController(Instigator.Controller) != none )
       {
           LastHasGunMsgTime = Level.TimeSeconds + 0.5;
           PlayerController(Instigator.Controller).ReceiveLocalizedMessage(Class'KFMainMessages', 1);
       }

       return True;
    }
    return Super.HandlePickupQuery(Item);
}
function DropFrom(vector StartLocation)
{
    local int m;
    local KFWeaponPickup Pickup;
    local int AmmoThrown, OtherAmmo;
    local KFWeapon SinglePistol;
    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;
       SinglePistol = Spawn(class'NiceFlareRevolver');
       SinglePistol.SellValue = SellValue / 2;
       SinglePistol.GiveTo(Instigator);
       SinglePistol.Ammo[0].AmmoAmount = OtherAmmo;
       SinglePistol.MagAmmoRemaining = MagAmmoRemaining / 2;
       MagAmmoRemaining = Max(MagAmmoRemaining-SinglePistol.MagAmmoRemaining,0);
    }
    Pickup = Spawn(class'NiceFlareRevolverPickup',,, StartLocation);
    if ( Pickup != none )
    {
       Pickup.InitDroppedPickupFor(self);
       Pickup.DroppedBy = PlayerController(Instigator.Controller);
       Pickup.Velocity = Velocity;
       //fixing dropping exploit
       Pickup.SellValue = SellValue / 2;
       Pickup.Cost = Pickup.SellValue / 0.75; 
       Pickup.AmmoAmount[0] = AmmoThrown;
       Pickup.MagAmmoRemaining = MagAmmoRemaining;
       if (Instigator.Health > 0)
           Pickup.bThrown = true;
    }
    Destroyed();
    Destroy();
}
simulated function bool PutDown()
{
    if ( Instigator.PendingWeapon == none || Instigator.PendingWeapon.class == class'NiceFlareRevolver' )
    {
       bIsReloading = false;
    }
    return super.PutDown();
}
defaultproperties
{
    AppID=0
    FireModeClass(0)=class'NiceDualFlareRevolverFire'
    DemoReplacement=class'NiceFlareRevolver'
    PickupClass=class'NiceDualFlareRevolverPickup'
    ItemName="Dual Flare revolvers NW"
}
