My program doesn't have bugs. It just develops random features.

Legacy:DeathMatchPlus

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT :: Actor (UT) >> Info (UT) >> GameInfo (UT) >> TournamentGameInfo >> DeathMatchPlus (Package: BotPack)

This is the Tournament DeathMatch gametype and at the same time the superclass of all other "playable" UT game types.

Properties[edit]

Globalconfig Properties[edit]

These settings are shared among all UT game types.

globalconfig int MinPlayers 
Bots fill the server to guarantee this minimum number of players.
globalconfig float AirControl 
The default air control.
globalconfig bool bChangeLevels 
globalconfig bool bHardcoreMode 
If this is True players receive 50% more damage and jump 10% higher. Game time goes by 10% faster.
globalconfig bool bMegaspeed 
Players move 40% faster and jump 20% higher than without bMegaSpeed and bHardcoreMode.
globalconfig bool bAltScoring 
If a player is killed by another player his score is reduced by 1 point.
globalconfig bool bTournament 
True if Tournament mode is enabled. Tournament mode prevents the game from starting until every player has indicated that they are ready (even if the "non ready" players have nipped down the chippy for some food).
globalconfig int NetWait 
Time to wait for players in netgames w/ bNetReady (typically team games)
globalconfig int RestartWait 
globalconfig int InitialBots 

Config Properties[edit]

Per-gametype settings.

config int FragLimit 
Pretty obvious.
config int TimeLimit 
Time limit in minutes.
config bool bMultiWeaponStay 
Weapons stay when they are picked up. (No respawn time)
config bool bForceRespawn 
Players respawn instantly. (Configured in the Settings tab of the Start Game window.)
config int MaxCommanders 
config bool bUseTranslocator 
Whether players should get a Translocator.

Localized Properties[edit]

string StartUpMessage 
string TourneyMessage 
string WaitingMessage1 
string WaitingMessage2 
string ReadyMessage 
string NotReadyMessage 
string CountDownMessage 
string StartMessage 
string GameEndedMessage 
string SingleWaitingMessage 
string gamegoal 
string NoNameChange 
string OvertimeMessage 

Other Properties[edit]

bool bChallengeMode 
Game time goes by even faster. (25%)
bool bAlwaysForceRespawn 
Overrides bForceRespawn to be always True. This is a gametype specific setting and can not be configured.
bool DontRestart 
 ???
bool bAlreadyChanged 
 ???
bool bFirstBlood 
This indicated whether First Blood was already drawn.
bool bRequireReady 
bool bNoviceMode 
This will be set when Difficulty is below 4.
bool bNetReady 
bool bJumpMatch 
All Players can jump as high as if they had the jump boots.
bool bThreePlus 
This will be set when Difficulty is not >= 4, but > 3. (this doesn't seem to be possible though, since Difficulty is a byte variable)
bool bFulfilledSpecial 
Not used in DeathMatchPlus and always set to true in some sub classes (TeamGamePlus for or CTFGame for example). Can be used in custom game types with special conditions for a successful game.
bool bRatedTranslocator 
Use the Translocator in in this rated game, i.e. ladder game.
bool bStartMatch 
Is set to true while function StartMatch() is running.
int RemainingTime, ElapsedTime 
int CountDown, StartCount 
float LastTauntTime 
NavigationPoint LastStartSpot 
int NumCommanders 
Number of Commanders in the game. (Commanders are not implemented in UT)
bool bTutorialGame 
This game is a tutorial game.
int NumBots 
Number of bots in the game.
int RemainingBots 
int LastTaunt[4] 
The indices of the last four auto-taunts used, LastTaunt[3] being the most recent. This is generally updated by the Killed() function.
ChallengeBotInfo BotConfig 
class<ChallengeBotInfo> BotConfigType 
float PlayerRating 
float AvgOpponentRating 
int NumOpp 
int WinCount 
int LoseCount 
PlayerPawn RatedPlayer 
int IDnum 
RatedMatchInfo RatedMatchConfig 
float EndTime 
int LadderTypeIndex 
LadderInventory RatedGameLadderObj 

Methods[edit]

PreCacheReferences ( ) 
This function is never called. It exists purely to force the pre-caching of the standard weapon and player meshes. The Arena mutators thereby force the pre-caching of weapon meshes that are not even used.
CheckReady ( ) 
This function sets the TimeLimit to 20, and the RemainingTime to 1200. The function is only called when tournament mode is turned on.
SetGameSpeed (float T) 
This function sets the gamespeed. It completely replaces the superclass implementation. The function also calls SaveConfig() once the final game speed has been calculated.
PlayTeleportEffect (Actor (UT) Incoming, bool bOut, bool bSound) 
Originally declared in GameInfo (UT). This function simply adds a check for tournament mode behaviour. Apart from that the code is identical to the TournamentGameInfo version of this function. Note to newbie coders: This is an example of poor practice. After the initial tournament check the developer should simply have called Super.PlayTeleportEffect() - it would have saved the code duplication.
InitRatedGame (LadderInventory LadderObj, PlayerPawn LadderPlayer) 
Set game settings based on ladder information. Called when RatedPlayer logs in.
AcceptInventory (Pawn (UT) PlayerPawn) 
Originally declared in GameInfo (UT). This function allows the player to keep all instances of type LadderInventory, and destroys all other inventory objects. The player's weapon and selected item are set to None and the function AddDefaultInventory() is called.
bool SetEndCams (string Reason) 
Plays the winning message and focuses the view on the winning player.
PlayWinMessage (PlayerPawn Player, bool bWinner) 
Plays the winning message if the object passed is of type TournamentPlayer.
NotifySpree (Pawn (UT) Other, int num) 
Notifies the local player if they are on a killing spree - and selects an appropriate message. num is the number of kills the player has got without dying.
EndSpree (Pawn (UT) Killer, Pawn (UT) Other) 
Unfortunately your killing spree has come to an end - lets tell both you and the person who killed you about it.
Killed (Pawn (UT) killer, Pawn (UT) Other, name damageType) 
Declared in GameInfo (UT). This function checks for any end of game conditions as well as for "first blood" and other special events. This function is also responsible for sending auto taunts.
StartMatch ( ) 
This is called to start the game. If there is a timelimit on the start of the game then this function sets that. There are also traps in here to end the game from spawn-telefrags (if there are not enough start points then it's possible to win a game just from telefragging).
Timer ( ) 
Checks for tournament mode, whether the game has ended because of it's time limit and other stuff.
bool TooManyBots ( ) 
This function returns true if the number of bots plus the number of players is greater than the minimum number of players.
bool RestartPlayer (Pawn (UT) aPlayer) 
Called to re-start a player on the map. Will also remove bot players from the game if there are too many of them.
SendStartMessage( PlayerPawn P ) 
Shows the start message to the player.
Bot (UT) SpawnBot (out NavigationPoint StartSpot) 
Spawns a bot. Finish me
Bot (UT) SpawnRatedBot (out NavigationPoint StartSpot) 
Finish me
bool ForceAddBot ( ) 
Finish me
bool AddBot ( ) 
Finish me
PlayStartUpMessage (PlayerPawn NewPlayer) 
Finish me
GiveWeapon (Pawn (UT) PlayerPawn, string aClassName) 
Gives a weapon to a player and makes it the player's current weapon.
RateVs (Pawn (UT) Other, Pawn (UT) Killer) 
Finish me
bool SuccessfulGame ( ) 
Finish me
Skip ( )
SkipAll ( ) 
Debug commands (?)
bool NeedPlayers ( ) 
Finish me
bool OneOnOne ( ) 
Returns whether there are only two players (human players or bots
float SpawnWait (Bot (UT) B) 
Finish me
bool NeverStakeOut (Bot (UT) Other) 
Finish me

AI and Navigation Functions[edit]

bool CheckThisTranslocator (Bot (UT) aBot, TranslocatorTarget T) 
This function returns false.
PickAmbushSpotFor (Bot (UT) aBot) 
This function searches through all NavigationPoint objects on the map looking for navigation points of type AmbushPoint. If the AmbushPoint is not taken (NavigationPoint.taken is false) and the Bot (UT) is not already at an ambush point then the ambush point found will be assigned to the Bot (UT).AmbushSpot. If the bot is already at an ambush point and a new ambush point has been found then the bot's AmbushSpot will be set to the new AmbushPoint.
byte AssessBotAttitude (Bot (UT) aBot, Pawn (UT) Other) 
This function determines the attitude of aBot towards Other. The value returned by this function is used in Bot (UT).AttitudeTo() function to map to the enumeration eAttitude. The function returns either a 1 (hate) or a 0 (fear) depending on the result of it's calculations. The calculations involve the bot's skill and level of agressiveness as defined by the value of aBot.Aggressiveness.
float GameThreatAdd (Bot (UT) aBot, Pawn (UT) Other) 
This function is called by Bot.AssessThreat() and returns a numerical value representing the importance of Other as a target. In DeathMatchPlus it simply returns 0, but individual gametypes override this function to gain more control over the bots' selection of targets. For example, the CTFGame implementation of this function returns 10 if Other is a flag carrier, and LastManStanding's version returns slightly higher threat values for players who have more lives left.
bool AllowTranslocation (Pawn (UT) Other, vector Dest) 
This function returns true.
bool CanTranslocate (Bot (UT) aBot) 
This function returns true if the bot is able to perform a translocation. In order for the bot to be able to use the translocator it must first have one, and it's Translocator must have a target. Translocation must also be allowed by the game.
ModifyBehaviour (Bot (UT) NewBot) 
Only declaration here.

Comments[edit]

From what I can tell there is an awful lot of handling around the "Tournament Mode" feature.

Known Subclasses[edit]

Related Topics[edit]