//============================================================================= // SchlonzUTMutator. //============================================================================= class SchlonzUTMutator extends Mutator config(SchlonzUT); var config string SchlonzVoteIP; var config int SchlonzVotePort; // vehicle replacement var config bool bEnableVehicleReplacement; var config string rcnDragonfly; var config string rcnGoliath; var config string rcnHellbender; var config string rcnLeviathan; var config string rcnManta; var config string rcnRaptor; var config string rcnScorpion; // weapon replacement var config bool bEnableWeaponReplacement; var config string rcnAssaultRifle; var config string rcnBioRifle; var config string rcnFlakCannon; var config string rcnLinkGun; var config string rcnMinigun; var config string rcnPainter; var config string rcnRedeemer; var config string rcnRocketLauncher; var config string rcnShieldGun; var config string rcnShockRifle; var config string rcnSniperRifle; var config string rcnSuperShockRifle; var config string rcnZoomSuperShockRifle; var config string rcnTransLauncher; var config string rcnONSAVRiL; var config string rcnONSGrenadeLauncher; var config string rcnONSMineLayer; var config string rcnONSPainter; var string rcnAssaultRifle_Pickup; var string rcnBioRifle_Pickup; var string rcnFlakCannon_Pickup; var string rcnLinkGun_Pickup; var string rcnMinigun_Pickup; var string rcnPainter_Pickup; var string rcnRedeemer_Pickup; var string rcnRocketLauncher_Pickup; var string rcnShieldGun_Pickup; var string rcnShockRifle_Pickup; var string rcnSniperRifle_Pickup; var string rcnSuperShockRifle_Pickup; var string rcnZoomSuperShockRifle_Pickup; var string rcnTransLauncher_Pickup; var string rcnONSAVRiL_Pickup; var string rcnONSGrenadeLauncher_Pickup; var string rcnONSMineLayer_Pickup; var string rcnONSPainter_Pickup; var bool bSchlonzAssaultRifleEnabled; var bool bSchlonzBioRifleEnabled; var bool bSchlonzFlakCannonEnabled; var bool bSchlonzLinkGunEnabled; var bool bSchlonzMinigunEnabled; var bool bSchlonzPainterEnabled; var bool bSchlonzRedeemerEnabled; var bool bSchlonzRocketLauncherEnabled; var bool bSchlonzShieldGunEnabled; var bool bSchlonzShockRifleEnabled; var bool bSchlonzSniperRifleEnabled; var bool bSchlonzSuperShockRifleEnabled; var bool bSchlonzZoomSuperShockRifleEnabled; var bool bSchlonzTransLauncherEnabled; var bool bSchlonzONSAVRiLEnabled; var bool bSchlonzONSGrenadeLauncherEnabled; var bool bSchlonzMineLayerEnabled; var bool bSchlonzONSPainterEnabled; replication { // Variables the server should send to the client only initially reliable if( Role==ROLE_Authority ) SchlonzVoteIP, SchlonzVotePort; } function RegisterSchlonzWeapon( string xSchlonzWeapon, string xPickupClass ) { Log( "RegisterSchlonzWeapon"$xSchlonzWeapon); if( xSchlonzWeapon == "SchlonzUT.SchlonzFlakCannon" ) { bSchlonzFlakCannonEnabled = true; rcnFlakCannon_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzAssaultRifle" ) { bSchlonzAssaultRifleEnabled = true; rcnAssaultRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzBioRifle" ) { bSchlonzBioRifleEnabled = true; rcnBioRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzLinkGun" ) { bSchlonzLinkGunEnabled = true; rcnLinkGun_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzMinigun" ) { bSchlonzMinigunEnabled = true; rcnMinigun_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzPainter" ) { bSchlonzPainterEnabled = true; rcnPainter_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzRedeemer" ) { bSchlonzRedeemerEnabled = true; rcnRedeemer_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzRocketLauncher" ) { bSchlonzRocketLauncherEnabled = true; rcnRocketLauncher_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzShieldGun" ) { bSchlonzShieldGunEnabled = true; rcnShieldGun_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzShockRifle" ) { bSchlonzShockRifleEnabled = true; rcnShockRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzSniperRifle" ) { bSchlonzSniperRifleEnabled = true; rcnSniperRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzSuperShockRifle" ) { bSchlonzSuperShockRifleEnabled = true; rcnSuperShockRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzZoomSuperShockRifle" ) { bSchlonzZoomSuperShockRifleEnabled = true; rcnZoomSuperShockRifle_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzTransLauncher" ) { bSchlonzTransLauncherEnabled = true; rcnTransLauncher_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzONSAVRiL" ) { bSchlonzONSAVRiLEnabled = true; rcnONSAVRiL_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzONSGrenadeLauncher" ) { bSchlonzONSGrenadeLauncherEnabled = true; rcnONSGrenadeLauncher_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzMineLayer" ) { bSchlonzMineLayerEnabled = true; rcnONSMineLayer_Pickup = xPickupClass; } else if( xSchlonzWeapon == "SchlonzUT.SchlonzONSPainter" ) { bSchlonzONSPainterEnabled = true; rcnONSPainter_Pickup = xPickupClass; } } event PreBeginPLay() { /* local SchlonzGameRules sgr; if( Level != None ) { if( Level.Game != None ) { sgr = Spawn( class'SchlonzUT.SchlonzGameRules' ); if( sgr != None && Level.NetMode == NM_DedicatedServer ) { if( sgr.Init( 171049477, 21844 ) ) { sgr.NextGameRules = Level.Game.GameRulesModifiers; Level.Game.GameRulesModifiers = sgr; sgr.LogStartGame(); } } } } */ } function PostBeginPlay() { Log( "SchlonzUTPostBeginBlay" ); bSchlonzAssaultRifleEnabled = false; bSchlonzBioRifleEnabled = false; bSchlonzFlakCannonEnabled = false; bSchlonzLinkGunEnabled = false; bSchlonzMinigunEnabled = false; bSchlonzPainterEnabled = false; bSchlonzRedeemerEnabled = false; bSchlonzRocketLauncherEnabled = false; bSchlonzShieldGunEnabled = false; bSchlonzShockRifleEnabled = false; bSchlonzSniperRifleEnabled = false; bSchlonzSuperShockRifleEnabled = false; bSchlonzZoomSuperShockRifleEnabled = false; bSchlonzTransLauncherEnabled = false; bSchlonzONSAVRiLEnabled = false; bSchlonzONSGrenadeLauncherEnabled = false; bSchlonzMineLayerEnabled = false; bSchlonzONSPainterEnabled = false; if( bEnableVehicleReplacement ) { PostBeginPlay_VehRepl(); } Level.Game.PlayerControllerClassName = "SchlonzUT.SchlonzControllerPlayer"; } // PostBeginPlay // vehicle replacement function PostBeginPlay_VehRepl() { local ONSVehicleFactory factory; local ONSBomberFactory factoryDragonfly; local class classDragonfly; local ONSTankFactory factoryGoliath; local class classGoliath; local ONSPRVFactory factoryHellbender; local class classHellbender; local ONSMASFactory factoryLeviathan; local class classLeviathan; local ONSHoverCraftFactory factoryManta; local class classManta; local ONSAttackCraftFactory factoryRaptor; local class classRaptor; local ONSRVFactory factoryScorpion; local class classScorpion; if( rcnDragonfly != "-" ) classDragonfly = class ( DynamicLoadObject( rcnDragonfly, class 'Class' ) ); if( rcnGoliath != "-" ) classGoliath = class ( DynamicLoadObject( rcnGoliath, class 'Class' ) ); if( rcnHellbender != "-" ) classHellbender = class ( DynamicLoadObject( rcnHellbender, class 'Class' ) ); if( rcnLeviathan != "-" ) classLeviathan = class ( DynamicLoadObject( rcnLeviathan, class 'Class' ) ); if( rcnManta != "-" ) classManta = class ( DynamicLoadObject( rcnManta, class 'Class' ) ); if( rcnRaptor != "-" ) classRaptor = class ( DynamicLoadObject( rcnRaptor, class 'Class' ) ); if( rcnScorpion != "-" ) classScorpion = class ( DynamicLoadObject( rcnScorpion, class 'Class' ) ); foreach AllActors( class 'ONSVehicleFactory', factory ) { if( classDragonfly != None ) { factoryDragonfly = ONSBomberFactory( factory ); if( factoryDragonfly != None ) { factory.VehicleClass = classDragonfly; } } if( classGoliath != None ) { factoryGoliath = ONSTankFactory( factory ); if( factoryGoliath != None ) { factory.VehicleClass = classGoliath; } } if( classHellbender != None ) { factoryHellbender = ONSPRVFactory( factory ); if( factoryHellbender != None ) { factory.VehicleClass = classHellbender; } } if( classLeviathan != None ) { factoryLeviathan = ONSMASFactory( factory ); if( factoryLeviathan != None ) { factory.VehicleClass = classLeviathan; } } if( classManta != None ) { factoryManta = ONSHoverCraftFactory( factory ); if( factoryManta != None ) { factory.VehicleClass = classManta; } } if( classRaptor != None ) { factoryRaptor = ONSAttackCraftFactory( factory ); if( factoryRaptor != None ) { factory.VehicleClass = classRaptor; } } if( classScorpion != None ) { factoryScorpion = ONSRVFactory( factory ); if( factoryScorpion != None ) { factory.VehicleClass = classScorpion; } } } } // PostBeginPlay_VehRepl function bool CheckReplacement( Actor Other, out byte bSuperRelevant ) { local int i; local WeaponLocker L; local xWeaponBase W; local UTAmmoPickup A; bSuperRelevant = 0; W = xWeaponBase( Other ); if( W != None ) { // AssaultRifle if( W.WeaponType == class'XWeapons.AssaultRifle' && rcnAssaultRifle != "-" ) { RegisterSchlonzWeapon( rcnAssaultRifle, "XWeapons.AssaultAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnAssaultRifle, class 'Class' ) ); return false; } // BioRifle if( W.WeaponType == class'XWeapons.BioRifle' && rcnBioRifle != "-" ) { RegisterSchlonzWeapon( rcnBioRifle, "XWeapons.BioAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnBioRifle, class 'Class' ) ); return false; } // FlakCannon if( W.WeaponType == class'XWeapons.FlakCannon' && rcnFlakCannon != "-" ) { RegisterSchlonzWeapon( rcnFlakCannon, "XWeapons.FlakAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnFlakCannon, class 'Class' ) ); return false; } // LinkGun if( W.WeaponType == class'XWeapons.LinkGun' && rcnLinkGun != "-" ) { RegisterSchlonzWeapon( rcnLinkGun, "XWeapons.LinkAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnLinkGun, class 'Class' ) ); return false; } // Minigun if( W.WeaponType == class'XWeapons.Minigun' && rcnMinigun != "-" ) { RegisterSchlonzWeapon( rcnMinigun, "XWeapons.MinigunAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnMinigun, class 'Class' ) ); return false; } // Painter if( W.WeaponType == class'XWeapons.Painter' && rcnPainter != "-" ) { RegisterSchlonzWeapon( rcnPainter, "" ); W.WeaponType = class( DynamicLoadObject( rcnPainter, class 'Class' ) ); return false; } // Redeemer if( W.WeaponType == class'XWeapons.Redeemer' && rcnRedeemer != "-" ) { RegisterSchlonzWeapon( rcnRedeemer, "" ); W.WeaponType = class( DynamicLoadObject( rcnRedeemer, class 'Class' ) ); return false; } // RocketLauncher if( W.WeaponType == class'XWeapons.RocketLauncher' && rcnRocketLauncher != "-" ) { RegisterSchlonzWeapon( rcnRocketLauncher, "XWeapons.RocketAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnRocketLauncher, class 'Class' ) ); return false; } // ShieldGun if( W.WeaponType == class'XWeapons.ShieldGun' && rcnShieldGun != "-" ) { RegisterSchlonzWeapon( rcnShieldGun, "XWeapons.ShieldGunPickup" ); W.WeaponType = class( DynamicLoadObject( rcnShieldGun, class 'Class' ) ); return false; } // ShockRifle if( W.WeaponType == class'XWeapons.ShockRifle' && rcnShockRifle != "-" ) { RegisterSchlonzWeapon( rcnShockRifle, "XWeapons.ShockAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnShockRifle, class 'Class' ) ); return false; } // SniperRifle if ( W.WeaponType == class'XWeapons.SniperRifle' && rcnSniperRifle != "-" ) { RegisterSchlonzWeapon( rcnSniperRifle, "XWeapons.SniperAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnSniperRifle, class 'Class' ) ); return false; } // SuperShockRifle if( W.WeaponType == class'XWeapons.SuperShockRifle' && rcnSuperShockRifle != "-" ) { RegisterSchlonzWeapon( rcnSuperShockRifle, "XWeapons.ShockAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnSuperShockRifle, class 'Class' ) ); return false; } // ZoomSuperShockRifle if( W.WeaponType == class'XWeapons.ZoomSuperShockRifle' && rcnZoomSuperShockRifle != "-" ) { RegisterSchlonzWeapon( rcnZoomSuperShockRifle, "XWeapons.ShockAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnZoomSuperShockRifle, class 'Class' ) ); return false; } // TransLauncher if( W.WeaponType == class'XWeapons.TransLauncher' && rcnTransLauncher != "-" ) { RegisterSchlonzWeapon( rcnTransLauncher, "" ); W.WeaponType = class( DynamicLoadObject( rcnTransLauncher, class 'Class' ) ); return false; } // ONSAVRiL if( W.WeaponType == class'Onslaught.ONSAVRiL' && rcnONSAVRiL != "-" ) { RegisterSchlonzWeapon( rcnONSAVRiL, "Onslaught.ONSAVRiLAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnONSAVRiL, class 'Class' ) ); return false; } // ONSGrenadeLauncher if( W.WeaponType == class'Onslaught.ONSGrenadeLauncher' && rcnONSGrenadeLauncher != "-" ) { RegisterSchlonzWeapon( rcnONSGrenadeLauncher, "Onslaught.ONSGrenadeAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnONSGrenadeLauncher, class 'Class' ) ); return false; } // ONSMineLayer if( W.WeaponType == class'Onslaught.ONSMineLayer' && rcnONSMineLayer != "-" ) { RegisterSchlonzWeapon( rcnONSMineLayer, "Onslaught.ONSMineAmmoPickup" ); W.WeaponType = class( DynamicLoadObject( rcnONSMineLayer, class 'Class' ) ); return false; } // ONSPainter if( W.WeaponType == class'OnslaughtFull.ONSPainter' && rcnONSPainter != "-" ) { RegisterSchlonzWeapon( rcnONSPainter, "" ); W.WeaponType = class( DynamicLoadObject( rcnONSPainter, class 'Class' ) ); return false; } } A = UTAmmoPickup( Other ); if( A != None ) { /* AmmoPickup not yet used by MutSchonzUT: bSchlonzAssaultRifleEnabled rcnAssaultRifle_Pickup; bSchlonzBioRifleEnabled rcnBioRifle_Pickup; bSchlonzFlakCannonEnabled rcnFlakCannon_Pickup; bSchlonzLinkGunEnabled rcnLinkGun_Pickup; bSchlonzMinigunEnabled rcnMinigun_Pickup; bSchlonzPainterEnabled rcnPainter_Pickup; bSchlonzRedeemerEnabled rcnRedeemer_Pickup; bSchlonzRocketLauncherEnabled rcnRocketLauncher_Pickup; bSchlonzShieldGunEnabled rcnShieldGun_Pickup; bSchlonzShockRifleEnabled rcnShockRifle_Pickup; bSchlonzSuperShockRifleEnabled rcnSuperShockRifle_Pickup; bSchlonzZoomSuperShockRifleEnabled rcnZoomSuperShockRifle_Pickup; bSchlonzTransLauncherEnabled rcnTransLauncher_Pickup; bSchlonzONSAVRiLEnabled rcnONSAVRiL_Pickup; bSchlonzONSGrenadeLauncherEnabled rcnONSGrenadeLauncher_Pickup; bSchlonzONSPainterEnabled rcnONSPainter_Pickup; */ if ( bSchlonzSniperRifleEnabled && string(Other.Class) == rcnSniperRifle_Pickup ) { ReplaceWith( Other, "SchlonzUT.SchlonzSniperAmmoPickup" ); return false; } if ( bSchlonzMineLayerEnabled && string(Other.Class) == rcnONSMineLayer_Pickup ) { ReplaceWith( Other, "SchlonzUT.SchlonzMineAmmoPickup" ); return false; } } L = WeaponLocker( Other ); if( L != None ) { for( i = 0; i < L.Weapons.Length; i++ ) { if( L.Weapons[i].WeaponClass == class'XWeapons.AssaultRifle' && rcnAssaultRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnAssaultRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.BioRifle' && rcnBioRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnBioRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.FlakCannon' && rcnFlakCannon != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnFlakCannon, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.LinkGun' && rcnLinkGun != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnLinkGun, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.Minigun' && rcnMinigun != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnMinigun, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.Painter' && rcnPainter != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnPainter, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.Redeemer' && rcnRedeemer != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnRedeemer, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.RocketLauncher' && rcnRocketLauncher != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnRocketLauncher, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.ShieldGun' && rcnShieldGun != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnShieldGun, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.ShockRifle' && rcnShockRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnShockRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.SniperRifle' && rcnSniperRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnSniperRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.SuperShockRifle' && rcnSuperShockRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnSuperShockRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.ZoomSuperShockRifle' && rcnZoomSuperShockRifle != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnZoomSuperShockRifle, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'XWeapons.TransLauncher' && rcnTransLauncher != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnTransLauncher, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'Onslaught.ONSAVRiL' && rcnONSAVRiL != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnONSAVRiL, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'Onslaught.ONSGrenadeLauncher' && rcnONSGrenadeLauncher != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnONSGrenadeLauncher, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'Onslaught.ONSMineLayer' && rcnONSMineLayer != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnONSMineLayer, class 'Class' ) ); if( L.Weapons[i].WeaponClass == class'OnslaughtFull.ONSPainter' && rcnONSPainter != "-" ) L.Weapons[i].WeaponClass = class( DynamicLoadObject( rcnONSPainter, class 'Class' ) ); } return false; } if (Other.isA('xPawn')) { xPawn(Other).RequiredEquipment[1] = "SchlonzUT.SchlonzTransLauncher"; } // nothing done, process other mutators too return true; } // CheckReplacement static function FillPlayInfo( PlayInfo PlayInfo ) { Super.FillPlayInfo(PlayInfo); // vehicle replacement FillPlayInfo_VehRepl( PlayInfo ); // weapon replacement FillPlayInfo_WeaponRepl( PlayInfo ); } // FillPlayInfo // vehicle replacement static function FillPlayInfo_VehRepl( PlayInfo PlayInfo ) { local string vehicleOptions; // setup vehicle options (value;name pairs) vehicleOptions $= "-;don't replace"; vehicleOptions $= ";OnslaughtFull.ONSBomber;Dragonfly"; vehicleOptions $= ";Onslaught.ONSHoverTank;Goliath"; vehicleOptions $= ";Onslaught.ONSPRV;Hellbender"; vehicleOptions $= ";OnslaughtFull.ONSMobileAssaultStation;Leviathan"; vehicleOptions $= ";Onslaught.ONSHoverBike;Manta"; vehicleOptions $= ";Onslaught.ONSAttackCraft;Raptor"; vehicleOptions $= ";Onslaught.ONSRV;Scorpion"; vehicleOptions $= ";OnslaughtFull.ONSGenericSD;GenericShittyDriver"; vehicleOptions $= ";OnslaughtFull.ONSHoverTank_IonPlasma;IonTank"; vehicleOptions $= ";Vehicles.Bulldog;Bulldog"; vehicleOptions $= ";Vehicles.KCar;KCar"; vehicleOptions $= ";SchlonzUT.SchlonzGoliath;SchlonzGoliath"; vehicleOptions $= ";SchlonzUT.SchlonzHellbender;SchlonzHellbender"; vehicleOptions $= ";SchlonzUT.SchlonzLeviathan;SchlonzLeviathan"; vehicleOptions $= ";SchlonzUT.SchlonzManta;SchlonzManta"; vehicleOptions $= ";SchlonzUT.SchlonzRaptor;SchlonzRaptor"; vehicleOptions $= ";SchlonzUT.SchlonzScorpion;SchlonzScorpion"; vehicleOptions $= ";SchlonzUT.SchlonzShittyDriver;SchlonzShittyDriver"; // add menu entries // "Check" -> Checkbox // "Select" -> Selectionding PlayInfo.AddSetting( default.RulesGroup, "bEnableVehicleReplacement", "V Enable vehicle replacement", 0, 1, "Check" ); PlayInfo.AddSetting( default.RulesGroup, "rcnDragonfly", "V Rep. Dragonfly with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnGoliath", "V Rep. Goliath with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnHellbender", "V Rep. Hellbender with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnLeviathan", "V Rep. Leviathan with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnManta", "V Rep. Manta with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnRaptor", "V Rep. Raptor with", 0, 1, "Select", vehicleOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnScorpion", "V Rep. Scorpion with", 0, 1, "Select", vehicleOptions ); } // FillPlayInfo_VehRepl // weapon replacement static function FillPlayInfo_WeaponRepl( PlayInfo PlayInfo ) { local string weaponOptions; // setup weapons options (value;name pairs) weaponOptions $= "-;don't replace"; weaponOptions $= ";XWeapons.AssaultRifle;AssaultRifle"; weaponOptions $= ";XWeapons.BioRifle;BioRifle"; weaponOptions $= ";XWeapons.FlakCannon;FlakCannon"; weaponOptions $= ";SchlonzUT.SchlonzFlakCannon;SchlonzFlakCannon"; weaponOptions $= ";XWeapons.LinkGun;LinkGun"; weaponOptions $= ";XWeapons.Minigun;Minigun"; weaponOptions $= ";XWeapons.Painter;Painter"; weaponOptions $= ";XWeapons.Redeemer;Redeemer"; weaponOptions $= ";XWeapons.RocketLauncher;RocketLauncher"; weaponOptions $= ";SchlonzUT.SchlonzRocketLauncher;SchlonzRocketLauncher"; weaponOptions $= ";XWeapons.ShieldGun;ShieldGun"; weaponOptions $= ";XWeapons.ShockRifle;ShockRifle"; weaponOptions $= ";XWeapons.SniperRifle;SniperRifle"; weaponOptions $= ";SchlonzUT.SchlonzSniperRifle;SchlonzSniperRifle"; weaponOptions $= ";XWeapons.SuperShockRifle;SuperShockRifle"; weaponOptions $= ";XWeapons.ZoomSuperShockRifle;ZoomSuperShockRifle"; weaponOptions $= ";XWeapons.TransLauncher;TransLauncher"; weaponOptions $= ";SchlonzUT.SchlonzTransLauncher;SchlonzTransLauncher"; weaponOptions $= ";Onslaught.ONSAVRiL;ONSAVRiL"; weaponOptions $= ";Onslaught.ONSGrenadeLauncher;ONSGrenadeLauncher"; weaponOptions $= ";SchlonzUT.SchlonzMineLayer;SchlonzMineLayer"; weaponOptions $= ";Onslaught.ONSMineLayer;ONSMineLayer"; weaponOptions $= ";OnslaughtFull.ONSPainter;ONSPainter"; // add menu entries // "Check" -> Checkbox // "Select" -> Selectionding PlayInfo.AddSetting( default.RulesGroup, "bEnableWeaponReplacement", "W Enable Weapon replacement", 0, 1, "Check" ); PlayInfo.AddSetting( default.RulesGroup, "rcnAssaultRifle", "W Rep. AssaultRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnBioRifle", "W Rep. BioRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnFlakCannon", "W Rep. FlakCannon with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnLinkGun", "W Rep. LinkGun with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnMinigun", "W Rep. Minigun with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnPainter", "W Rep. Painter with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnRedeemer", "W Rep. Redeemer with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnRocketLauncher", "W Rep. RocketLauncher with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnShieldGun", "W Rep. ShieldGun with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnShockRifle", "W Rep. ShockRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnSniperRifle", "W Rep. SniperRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnSuperShockRifle", "W Rep. SuperShockRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnZoomSuperShockRifle", "W Rep. ZoomSuperShockRifle with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnTransLauncher", "W Rep. TransLauncher with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnONSAVRiL", "W Rep. ONSAVRiL with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnONSGrenadeLauncher", "W Rep. ONSGrenadeLauncher with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnONSMineLayer", "W Rep. ONSMineLayer with", 0, 1, "Select", weaponOptions ); PlayInfo.AddSetting( default.RulesGroup, "rcnONSPainter", "W Rep. ONSPainter with", 0, 1, "Select", weaponOptions ); } // FillPlayInfo_WeaponRepl static event string GetDescriptionText(string PropName) { // vehicle replacement if( PropName == "bEnableVehicleReplacement" ) return "Enables replacement of vehicles"; if( PropName == "rcnDragonfly" ) return "Choose replacement vehicle for dragonfly"; if( PropName == "rcnGoliath" ) return "Choose replacement vehicle for goliath"; if( PropName == "rcnHellbender" ) return "Choose replacement vehicle for hellbender"; if( PropName == "rcnLeviathan" ) return "Choose replacement vehicle for leviathan"; if( PropName == "rcnManta" ) return "Choose replacement vehicle for manta"; if( PropName == "rcnRaptor" ) return "Choose replacement vehicle for raptor"; if( PropName == "rcnScorpion" ) return "Choose replacement vehicle for scorpion"; // weapon replacement if( PropName == "bEnableWeaponReplacement" ) return "Enables replacement of weapons"; if( PropName == "rcnAssaultRifle" ) return "Choose replacement weapon for AssaultRifle"; if( PropName == "rcnBioRifle" ) return "Choose replacement weapon for BioRifle"; if( PropName == "rcnFlakCannon" ) return "Choose replacement weapon for FlakCannon"; if( PropName == "rcnLinkGun" ) return "Choose replacement weapon for LinkGun"; if( PropName == "rcnMinigun" ) return "Choose replacement weapon for Minigun"; if( PropName == "rcnPainter" ) return "Choose replacement weapon for Painter"; if( PropName == "rcnRedeemer" ) return "Choose replacement weapon for Redeemer"; if( PropName == "rcnRocketLauncher" ) return "Choose replacement weapon for RocketLauncher"; if( PropName == "rcnShieldGun" ) return "Choose replacement weapon for ShieldGun"; if( PropName == "rcnShockRifle" ) return "Choose replacement weapon for ShockRifle"; if( PropName == "rcnSniperRifle" ) return "Choose replacement weapon for SniperRifle"; if( PropName == "rcnSuperShockRifle" ) return "Choose replacement weapon for SuperShockRifle"; if( PropName == "rcnZoomSuperShockRifle" ) return "Choose replacement weapon for ZoomSuperShockRifle"; if( PropName == "rcnTransLauncher" ) return "Choose replacement weapon for TransLauncher"; if( PropName == "rcnONSAVRiL" ) return "Choose replacement weapon for ONSAVRiL"; if( PropName == "rcnONSGrenadeLauncher" ) return "Choose replacement weapon for ONSGrenadeLauncher"; if( PropName == "rcnONSMineLayer" ) return "Choose replacement weapon for ONSMineLayer"; if( PropName == "rcnONSPainter" ) return "Choose replacement weapon for ONSPainter"; return Super.GetDescriptionText(PropName); } //GetDescriptionText function ModifyPlayer(Pawn Other) { /* if( Other.PlayerReplicationInfo.PlayerName == "Huarglio" || Other.PlayerReplicationInfo.PlayerName == "Schlonz" || Other.PlayerReplicationInfo.PlayerName == "Killertux" ) { } */ if( Other.PlayerReplicationInfo.bBot ) { // if( SchlonzXPawnBot( Other ) != None ) // SchlonzXPawnBot( Other ).SetPawnBotSize( -0.4 ); xPawn(Other).RagDeathUpKick = 99; xPawn(Other).RagdollLifeSpan = 150; } else { if( SchlonzControllerPlayer( Other.Controller ) != None ) { SchlonzControllerPlayer( Other.Controller ).SchlonzVotePort = SchlonzVotePort; SchlonzControllerPlayer( Other.Controller ).SchlonzVoteIP = SchlonzVoteIP; } Other.GroundSpeed = 660; // default is 440 Other.MaxFallSpeed = 5100; // default is 1220 Other.HealthMax=200; // default is 100 Other.JumpZ=660; // default is 440 } Super.ModifyPlayer(Other); } function bool CanEnterVehicle( Vehicle V, Pawn P ) { local SchlonzLeviathan levi; local bool allow; local Controller C; levi = SchlonzLeviathan(V); if( levi != None && V.Driver == None && P.Controller != None && AIController(P.Controller) != None ) { //Log( P.Controller.PlayerReplicationInfo.PlayerName$" tries entering leviathan" ); allow = true; for( C = Level.ControllerList; C != None; C = C.NextController ) { if( C.GetTeamNum() == P.Controller.GetTeamNum() && AIController(C) == None ) { //Log( "found player "$C.PlayerReplicationInfo.PlayerName$" in team "$C.GetTeamNum() ); allow = false; break; } } //Log( P.Controller.PlayerReplicationInfo.PlayerName$" allow = "$allow ); return allow; } else { //Super.CanEnterVehicle( V, P ); // warum gibt der false zurueck ??? //Log( P.Controller.PlayerReplicationInfo.PlayerName$" can enter everything" ); return true; } } function string GetLogFilename() { local string result; result = "Schlonz_%Y_%M_%D_%H_%I_%S"; ReplaceText(result, "%Y", Right("0000"$string(Level.Year), 4)); ReplaceText(result, "%M", Right("00"$string(Level.Month), 2)); ReplaceText(result, "%D", Right("00"$string(Level.Day), 2)); ReplaceText(result, "%H", Right("00"$string(Level.Hour), 2)); ReplaceText(result, "%I", Right("00"$string(Level.Minute), 2)); ReplaceText(result, "%W", Right("0"$string(Level.DayOfWeek), 1)); ReplaceText(result, "%S", Right("00"$string(Level.Second), 2)); return result; } defaultproperties { bEnableVehicleReplacement=True rcnDragonfly="-" rcnGoliath="-" rcnHellbender="-" rcnLeviathan="-" rcnManta="-" rcnRaptor="-" rcnScorpion="-" bEnableWeaponReplacement=True rcnAssaultRifle="-" rcnBioRifle="-" rcnFlakCannon="-" rcnLinkGun="-" rcnMinigun="-" rcnPainter="-" rcnRedeemer="-" rcnRocketLauncher="-" rcnShieldGun="-" rcnShockRifle="-" rcnSniperRifle="-" rcnSuperShockRifle="-" rcnZoomSuperShockRifle="-" rcnTransLauncher="-" rcnONSAVRiL="-" rcnONSGrenadeLauncher="-" rcnONSMineLayer="-" rcnONSPainter="-" SchlonzVotePort=111 SchlonzVoteIP="1.1.1.1" }