class NewGameRules extends GameRules;
function PostBeginPlay()
{
if( Level.Game.GameRulesModifiers==None )
Level.Game.GameRulesModifiers = Self;
else Level.Game.GameRulesModifiers.AddGameRules(Self);
}
function AddGameRules(GameRules GR)
{
if ( GR!=Self )
Super.AddGameRules(GR);
}
function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup)
{
local bool bResult;
if ( NextGameRules != None )
bResult = NextGameRules.OverridePickupQuery(Other, item, bAllowPickup);
if ( !bResult || bAllowPickup == 1 )
{
bAllowPickup = 0;
NewPlayerController(Other.Controller).UnlockWeapon();
bResult = NewPlayerController(Other.Controller).bWeaponLocked;
}
return bResult;
}