Legacy:DMMutator
and
This is used as the BaseMutator in most game types.
Properties in UT
- DeathMatchPlus MyGame
- A link to the GameInfo (UT) (
Level.Game
). This variable is set in PostBeginPlay and is used in CheckReplacement.
Properties in UT2003
- float AirControl (globalconfig)
- bool bBrightSkins (globalconfig)
- (not in earlier patches)
- bool bMegaSpeed (globalconfig)
Functionality in UT
DMMutator replaces Unreal items, weapons and ammo with UT versions. The bAutoActivate property of all Inventory (UT) items is set to True.
The mutator also prevents other mutators from changing StationaryPawns (through AlwaysKeep), sets the NetUpdateFrequency of TorchFlames to 0.5 and raises the speed of players by 40% in Turbo game mode.
Functionality in UT2003
DMMutator handles the air control setting and Epic's bright skins as well as a turbo mode like in UT. This mega speed mode can't be activated through the in-game GUI, though.
Known Subclasses (UT)
- EIDMMutator (EnhancedItems)
- JBMutator (Jailbreak)
- RABaseMutator (Rocket Arena)
- ScramBaseMutator (Slave Master)
Known Subclasses (UT2003)
- InvasionMutator (Epic Bonuspack 1)
- MutLastManStanding (Epic Bonuspack 1)
- DB_Mutator (Deathball)
Known Subclasses (UT2004)
Discussion
Ben2500: Is this how you make a mutator into a gametype?
Wormbo: Basically the GameInfo.Mutator setting tells the gametype, which BaseMutator it should use. There's always a BaseMutator in a game and it has slightly more functionality than regular mutators. The BaseMutator should be subclasses from DMMutator and takes care of all the tasks a GameInfo subclass can't handle. Sometimes you will also want to make a base GameRules class, but keep in mind that only actors with bGameRelevant=True can be spawned before the BaseMutator is successfully registered. Also it's a good idea to declare the base mutator class with the keywords CacheExempt and HideDropDown in UT2004 because they should never show up in the mutator list and should never be added manuall by a user.