@ -89,14 +89,20 @@ class FixAmmoSelling extends Feature;
// Due to how this fix works, players with level below 6 get charged less
// Due to how this fix works, players with level below 6 get charged less
// than necessary by the shop and this fix must take the rest of
// than necessary by the shop and this fix must take the rest of
// the cost by itself. While for unreliable and for minuscule benefit,
// the cost by itself.
// this can potentially be abused by cheaters.
// The problem is, due to how ammo purchase is coded, low-level (<6 lvl)
// To decrease the amount of value they can get from it, this fix can be
// players can actually buy more ammo for "fixed" weapons than they can afford
// allowed to decrease players' money into negative values.
// by filling ammo for one or all weapons.
// The trade off is a small chance that a some bug in this fix and
// Setting this flag to 'true' will allow us to still take full cost
// an unlucky circumstances can lead to regular players
// from them, putting them in "debt" (having negative dosh amount).
// having negative dosh values.
// If you don't want to have players with negative dosh values on your server
// Both situations are highly unlikely, but the option is there.
// as a side-effect of this fix, then leave this flag as 'false',
// letting low level players buy ammo cheaper
// (but not cheaper than lvl6 could).
// NOTE: this issue doesn't affect level 6 players.
// NOTE #2: this fix does give players below level 6 some
// technical advantage compared to vanilla game, but this advantage
// cannot exceed benefits of having level 6.
var private config const bool allowNegativeDosh;
var private config const bool allowNegativeDosh;
// This structure records what classes of weapons can be abused
// This structure records what classes of weapons can be abused
@ -373,7 +379,7 @@ event Tick(float delta)
defaultproperties
defaultproperties
{
{
allowNegativeDosh = true;
allowNegativeDosh = false
rules(0)=(abusableWeapon=class'KFMod.Crossbow',pickupReplacement=class'FixAmmoSellingClass_CrossbowPickup')
rules(0)=(abusableWeapon=class'KFMod.Crossbow',pickupReplacement=class'FixAmmoSellingClass_CrossbowPickup')
rules(1)=(abusableWeapon=class'KFMod.PipeBombExplosive',pickupReplacement=class'FixAmmoSellingClass_PipeBombPickup')
rules(1)=(abusableWeapon=class'KFMod.PipeBombExplosive',pickupReplacement=class'FixAmmoSellingClass_PipeBombPickup')
rules(2)=(abusableWeapon=class'KFMod.M79GrenadeLauncher',pickupReplacement=class'FixAmmoSellingClass_M79Pickup')
rules(2)=(abusableWeapon=class'KFMod.M79GrenadeLauncher',pickupReplacement=class'FixAmmoSellingClass_M79Pickup')