class mutsuperarena extends Mutator; #exec OBJ LOAD File=MutatorArt.utx //here cuz its a part of the regen mut var() float RegenPerSecond; var float GravityZ; // global variables event PreBeginPlay() { SetTimer(1.0,true); } // every 1 sec repeat function Timer() { local Controller C; for (C = Level.ControllerList; C != None; C = C.NextController) { if (C.Pawn != None && C.Pawn.Health < C.Pawn.HealthMax ) { C.Pawn.Health = Min( C.Pawn.Health+RegenPerSecond, C.Pawn.HealthMax ); } } }//makes sure that the player regens not above max (or something) function ModifyPlayer(Pawn Other) // for all the players do this { // local xPawn x; local Weapon m_wTemp; Other.Health = 199; Other.GiveWeapon("XWeapons.BioRifle"); Other.GiveWeapon("XWeapons.FlakCannon"); Other.GiveWeapon("XWeapons.LinkGun"); Other.GiveWeapon("XWeapons.Minigun"); Other.GiveWeapon("XWeapons.RocketLauncher"); Other.GiveWeapon("XWeapons.ShockRifle"); Other.GiveWeapon("XWeapons.SniperRifle"); m_wTemp = Weapon(Other.FindInventoryType(class'BioRifle')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'FlakCannon')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'LinkGun')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'MiniGun')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'RocketLauncher')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'ShockRifle')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); m_wTemp = Weapon(Other.FindInventoryType(class'SniperRifle')); // in UT use:- m_wTemp.Ammo[0].AmmoAmount = m_wTemp.Ammo[0].MaxAmmo; m_wTemp.MaxOutAmmo(); Super.ModifyPlayer(Other); }//all guns and ammo given, health =199, multijump? more function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { local PhysicsVolume PV; local xPickupBase B; local Pickup P; PV = PhysicsVolume(Other); if ( PV != none ) PV.Gravity.Z = GravityZ; //gravity z is at the bottom B = xPickupBase(Other); if ( B != none ) B.bHidden = true; //hides weapon pickup bases P = Pickup(Other); if ( P != none ) P.Destroy(); //destroys anything that affects inventory when picked up return true; } defaultproperties //UT2004 needs this section to be able to understand the mutator { RegenPerSecond=5.000000 //how fast the player regenerates GroupName="Regen" FriendlyName="Regeneration Plus" Description="All players regenerate health to super health limits." //appears as a description of the mutator in the game }