¡É*ûE4@ß#≤Äú úÿäh¨ƒ] ±N4None
bIsATeamGameInstaVsSniperWeaponPickupbaseCoreEngineAddMutator
ModifyPlayer
BulletBoxSuperShockCoreSniperRifleSystemAlwaysKeepArenaPickupSuperShockRifleAmmoPostBeginPlayCheckReplacement
InventoryLevelPlayerReplicationInfoMutator GameInfo
BoolProperty
LevelInfoActorObjectPropertyClassPawnTeam
bCanThrowOtherM
bTeamGameGamebSuperRelevant myMarkerPickupAmmoCountAmmoAmountIntPropertyPackageBotpackDeathMatchPlusGiveWeaponTextBuffer FunctionObject
BytePropertyReturnValueScriptTextÄÇÇÄÖÄÑÄÇ
ÄO0/*============================================================================
InstaVsSniper
By Ch3z
This mod was created almost entirely by information I found at UnrealWiki.
(http://wiki.beyondunreal.com/wiki/Home_Page)
A simple Arena style mutator to give Sniper Rifle to Red Team (with 999 ammo) and Enhanced Shock Rifle to Blue Team
In non-TeamGames everyone has both weapons. All pickups are gone.
=============================================================================
*/
class InstaVsSniperTwo extends Mutator;
function AddMutator(Mutator M)
{
if ( M.IsA('Arena') )
{
log(M$" not allowed (Arena mutator not compatible with existing mutator, InstaVsSniperTwo)");
return; // Arena Muator not added.
}
Super.AddMutator(M); // Allow next mutator to load otherwise.
}
function PostBeginPlay()
{
local actor Other;
// Get rid of all pickups here otherwise they are gone as player inventory as well, which looses our weapons.
foreach AllActors( class 'Actor', Other )
{
if( Other.IsA('Pickup') || Other.IsA('Pickupbase' ) || Other.IsA('Weapon') || Other.IsA('Ammo'))
{
if( Inventory(Other).MyMarker != None)
{
Other.Destroy();
}
}
}
Super.PostBeginPlay();
}
function bool AlwaysKeep(Actor Other) // Keep CheckReplacement from removing some stuff from map that loads..
{
if ( Other.IsA('SniperRifle') || Other.IsA('SuperShockRifle') || Other.IsA('UT_FlakCannon') || Other.IsA('UT_Eightball') ) // keep our 4 weapons.
{
Weapon(Other).PickupAmmoCount = 999; // Otherwise SniperRifle only gets 8 loads.
Weapon(Other).bCanThrow = false; // so weapons aren't dropped and left when player is killed.
return true;
}
if ( Other.IsA('BulletBox') || Other.IsA('SuperShockCore') ) // Keep our 2 weapons' ammo.
{
Ammo(Other).AmmoAmount = 999; // Probably didn't need to raise this, but don't matter.
return true;
}
Super.AlwaysKeep(Other); // So that Mutator class can allow next mutator to use AlwaysKeep function.
return false;
}
function bool CheckReplacement(Actor Other, out byte bSuperRelevant) // Get rid of some stuff from map that loads.
{
if ( Other.IsA('Weapon') )
{
return false;
}
super.CheckReplacement(Other, bSuperRelevant);
return true;
}
function bool bIsATeamGame()
{
// Called in ModifyPlayer() and used to give weapons reguardless of team for DeathMatch and LastManStanding
if(Level != None && Level.Game != None )
return Level.Game.bTeamGame;
}
function ModifyPlayer(Pawn Other)
{
// If teamgame give weapons per team else give both weapons to all
if ( Other.PlayerReplicationInfo != None)
{
if ( Other.PlayerReplicationInfo.Team == 0 || !bIsATeamGame())
Super(DeathMatchPlus).GiveWeapon(Other, "Botpack.SniperRifle");
if ( Other.PlayerReplicationInfo.Team == 1 || !bIsATeamGame())
Super(DeathMatchPlus).GiveWeapon(Other, "Botpack.SuperShockRifle");
if ( Other.PlayerReplicationInfo.Team == 2 || !bIsATeamGame())
Super(DeathMatchPlus).GiveWeapon(Other, "Botpack.UT_FlakCannon");
if ( Other.PlayerReplicationInfo.Team == 3 || !bIsATeamGame())
Super(DeathMatchPlus).GiveWeapon(Other, "Botpack.UT_Eightball");
}
Super.ModifyPlayer(Other); // So that Mutator class can allow next mutator to use ModifyPlayer function
}
òora/!ÁpV not allowed (Arena mutator not compatible with existing mutator, InstaVsSniperTwo)òïAâ*a/!(ï'ñˇï/a0 ÇåãÑÑÑa/!a/!a/!a/!ãw.ã£*a10ñö
,íØ[Ña/!a/!.á¢Á.á-ú('†Ña/! a/!
.åõÁ'ö(ÑˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇeHÏÑ=$:eÖût»Öût»â{#UøÖût»â{#Uøäéçîäéçîê©Ÿ´Çú‘ùXÇú‘ùXÇú‘ùXáX©'áX©'Çú‘ùXÇú‘ùXå—∏ôBÇú‘ùXÇú‘ùXÇú‘ùXÇú‘ùXãØ–ìúÇú‘ùXÑ=$:e°Ä Oö <:Çwé*wéë*éë-ùÄôXX
ªÆwç*_Ñö:çó% ÅíBotpack.SniperRifleÆÑö:çó& ÅíBotpack.SuperShockRifleôÄ*ˇˇˇˇ*ˇˇˇˇˇˇˇˇ˝ˇˇˇ/ˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˚ˇˇˇ˛ˇˇˇ˝ˇˇˇˇˇˇˇˆˇˇˇ$/Ìˇˇˇ-Ïˇˇˇ,*+/¸ˇˇˇ/˛ˇˇˇ1˜ˇˇˇ/¸ˇˇˇ/¸ˇˇˇ/¸ˇˇˇ
)Ùˇˇˇ(˘ˇˇˇ ˇˇˇ#˝ˇˇˇ.˝ˇˇˇ1˝ˇˇˇ˝ˇˇˇ0)˘ˇˇˇ'ıˇˇˇ&à!
N
à
!
[
à!
h
à"
u
à !
Bü %
Oû34Z0\ÜòIv>Üï4@ÜñAsAÜö
OtCÑdCFè 2gJÜCsJè2vKÜôdBLè2fN