Gah - a solution with more questions. – EntropicLqd

UE2:Mutator (UT2004)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT2004 Object >> Actor >> Info >> Mutator
Package: 
Engine
Direct subclasses:
MutGameSpeed, MutBonusVehicles, DMMutator, MutMovementModifier, MutArena, MutBerserk, MutBigHead, MutBigWheels, MutCrateCombo, MutFastWeapSwitch, MutInstaGib, MutLightweightVehicles, MutLowGrav, MutNoAdrenaline, MutNoSuperWeapon, MutOnslaughtWeapons, MutQuadJump, MutRegen, MutSlomoDeath, MutSpeciesStats, MutUDamageReward, MutUseLightning, MutUTClassic, MutUseSniper, MutVampire, MutVehicleArena, MutVehiclePickups, MutWheeledVehicleStunts, UtvMutator
Known custom subclass:
Eliot/LevelConfigManager
This class in other games:
RTNP, U1, UT, U2XMP, U2, UE2Runtime, UT2003, UT3, UDK

Mutator.

Mutators allow modifications to gameplay while keeping the game rules intact. Mutators are given the opportunity to modify player login parameters with ModifyLogin(), to modify player pawn properties with ModifyPlayer(), to change the default weapon for players with GetDefaultWeapon(), or to modify, remove, or replace all other actors when they are spawned with CheckRelevance(), which is called from the PreBeginPlay() function of all actors except those (Decals, Effects and Projectiles for performance reasons) which have bGameRelevant==true.

Properties[edit]

Property group 'Mutator'[edit]

ConfigMenuClassName[edit]

Type: string

Modifiers: cache


Description[edit]

Type: string

Modifiers: localized, cache


FriendlyName[edit]

Type: string

Modifiers: localized, cache


GroupName[edit]

Type: string

Modifiers: cache

Will only allow one mutator with this tag to be selected.

IconMaterialName[edit]

Type: string

Modifiers: cache


Default value: "MutatorArt.nosym"

Internal variables[edit]

bAddToServerPackages[edit]

Type: bool

if true, the package this mutator is in will be added to serverpackages at load time

bUserAdded[edit]

Type: bool

mc - mutator was added by user (cmdline or mutator list)

DefaultWeapon[edit]

Type: class<Weapon>


DefaultWeaponName[edit]

Type: string


NextMutator[edit]

Type: Mutator


Functions[edit]

Events[edit]

Destroyed[edit]

event Destroyed ()

Overrides: Actor.Destroyed


OverrideDownload[edit]

event bool OverrideDownload (string PlayerIP, string PlayerID, string PlayerURL, out string RedirectURL)


PreBeginPlay[edit]

event PreBeginPlay ()

Overrides: Actor.PreBeginPlay


Other instance functions[edit]

AddMutator[edit]

function AddMutator (Mutator M)


AlwaysKeep[edit]

function bool AlwaysKeep (Actor Other)


CanEnterVehicle[edit]

function bool CanEnterVehicle (Vehicle V, Pawn P)


CanLeaveVehicle[edit]

function bool CanLeaveVehicle (Vehicle V, Pawn P)


CheckRelevance[edit]

function bool CheckRelevance (Actor Other)


CheckReplacement[edit]

function bool CheckReplacement (Actor Other, out byte bSuperRelevant)


DriverEnteredVehicle[edit]

function DriverEnteredVehicle (Vehicle V, Pawn P)


DriverLeftVehicle[edit]

function DriverLeftVehicle (Vehicle V, Pawn P)


GetDefaultWeapon[edit]

function class<WeaponGetDefaultWeapon ()


GetInventoryClass[edit]

function class<InventoryGetInventoryClass (string InventoryClassName)


GetInventoryClassOverride[edit]

function string GetInventoryClassOverride (string InventoryClassName)


GetServerDetails[edit]

function GetServerDetails (out GameInfo.ServerResponseLine ServerState)


GetServerPlayers[edit]

function GetServerPlayers (out GameInfo.ServerResponseLine ServerState)


IsRelevant[edit]

function bool IsRelevant (Actor Other, out byte bSuperRelevant)


ModifyLogin[edit]

function ModifyLogin (out string Portal, out string Options)


ModifyPlayer[edit]

function ModifyPlayer (Pawn Other)


Mutate[edit]

function Mutate (string MutateString, PlayerController Sender)

Called by a PlayerController when the player executes a "mutate" console command. Everything after the command name "mutate" is passed to this function as a raw string, which you will have to parse yourself. Keep in mind that this function is called for every possible mutate command a player may use, so make sure you always call Super.Mutate(MutateString, Sender); to ensure all other mutators get a chance to parse their mutate commands. Always make sure Sender is not None. (see below)

Note: The SafeGame anti-cheat mod introduced an unofficial protocol for player kick notifications that is based on this Mutate function with the Sender parameter being None. According to this protocol, which is also used or recognized by other mods, such as the UTAN mutator or Anti TCC, kick notifications can be sent to all mutators by using a MutateString formatted as follows:

KickedBy parameters

The parameters string contains the following fields, which are separated by the character that is returned by Chr(254):

  1. Mod name: This is the name of the mod that kicked a player, for example SafeGame, AntiTCC or UTAN.
  2. Player name: The exact, current name of the player being kicked.
  3. Zero or more other parameters: These are separated by Chr(254) as well and their meaning depends on the mod.
    For UTAN this is the ban ID, SafeGame and AntiTCC put details such as the GUID, IP and other player-specific information here, as well as a kick reason.

MutatorFillPlayInfo[edit]

function MutatorFillPlayInfo (PlayInfo PlayInfo)


MutatorIsAllowed[edit]

function bool MutatorIsAllowed ()


MyDefaultWeapon[edit]

function class<WeaponMyDefaultWeapon ()


NewRecommendCombo[edit]

function string NewRecommendCombo (string ComboName, AIController C)


NotifyLogout[edit]

function NotifyLogout (Controller Exiting)


ParseChatPercVar[edit]

function string ParseChatPercVar (Controller Who, string Cmd)


PlayerChangedClass[edit]

function PlayerChangedClass (Controller aPlayer)


RecommendCombo[edit]

function string RecommendCombo (string ComboName)


ReplaceWith[edit]

function bool ReplaceWith (Actor Other, string aClassName)


ServerTraveling[edit]

function ServerTraveling (string URL, bool bItems)