https://wiki.beyondunreal.com/w/index.php?action=history&feed=atomLegacy:DeathMatchPlus - Revision history2017-11-17T23:23:58ZRevision history for this page on the wikiMediaWiki 1.25.1https://wiki.beyondunreal.com/Legacy:DeathMatchPlus?diff=46410&oldid=prevSeriousBarbie: added some infos2017-01-04T00:42:52Z<p>added some infos</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 00:42, 4 January 2017</td>
</tr><tr><td colspan='4' style='text-align: center;' class='diff-multi'>(One intermediate revision by one other user not shown)</td></tr><tr><td colspan="2" class="diff-lineno" id="L49" >Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool DontRestart : ???</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool DontRestart : ???</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bAlreadyChanged : ???</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bAlreadyChanged : ???</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; bool bFirstBlood : This indicated whether First Blood was already drawn.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; bool bFirstBlood : This indicated whether <ins class="diffchange diffchange-inline">''</ins>First Blood<ins class="diffchange diffchange-inline">'' </ins>was already drawn.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bRequireReady :  </div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bRequireReady :  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bNoviceMode : This will be set when Difficulty is below 4.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bNoviceMode : This will be set when Difficulty is below 4.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="L55" >Line 55:</td>
<td colspan="2" class="diff-lineno">Line 55:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bJumpMatch : All Players can jump as high as if they had the jump boots.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bJumpMatch : All Players can jump as high as if they had the jump boots.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; 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)</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; 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)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; bool bFulfilledSpecial : <del class="diffchange diffchange-inline">???</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; bool bFulfilledSpecial : <ins class="diffchange diffchange-inline">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.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bRatedTranslocator : Use the Translocator in in this rated game, i.e. ladder game.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; bool bRatedTranslocator : Use the Translocator in in this rated game, i.e. ladder game.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; bool bStartMatch : <del class="diffchange diffchange-inline">True during match startup</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; bool bStartMatch : <ins class="diffchange diffchange-inline">Is set to ''true'' while function <tt>StartMatch()</tt> is running</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; int RemainingTime, ElapsedTime :</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; int RemainingTime, ElapsedTime :</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; int CountDown, StartCount :</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; int CountDown, StartCount :</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="L82" >Line 82:</td>
<td colspan="2" class="diff-lineno">Line 82:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Methods ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Methods ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; PreCacheReferences ( ) : This function is never called.  It exists purely to force the pre-caching of the standard weapon and player meshes.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; PreCacheReferences ( ) : This function is never called.  It exists purely to force the pre-caching of the standard weapon and player meshes<ins class="diffchange diffchange-inline">. The Arena mutators thereby force the pre-caching of weapon meshes that are not even used</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; CheckReady ( ) : This function sets the <tt>TimeLimit</tt> to 20, and the <tt>RemainingTime</tt> to 1200.  The function is only called when tournament mode is turned on.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; CheckReady ( ) : This function sets the <tt>TimeLimit</tt> to 20, and the <tt>RemainingTime</tt> to 1200.  The function is only called when tournament mode is turned on.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; SetGameSpeed (float T) : This function sets the gamespeed.  It completely replaces the superclass implementation.  The function also calls <tt>SaveConfig()</tt> once the final game speed has been calculated.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; SetGameSpeed (float T) : This function sets the gamespeed.  It completely replaces the superclass implementation.  The function also calls <tt>SaveConfig()</tt> once the final game speed has been calculated.</div></td></tr>
</table>SeriousBarbiehttps://wiki.beyondunreal.com/Legacy:DeathMatchPlus?diff=2546&oldid=prevCH3Z: Very easy to fix when writing an Arena mutator if you are aware of it.2006-01-13T07:51:35Z<p>Very easy to fix when writing an Arena mutator if you are aware of it.</p>
<p><b>New page</b></p><div>{{classbox| [[Legacy:UT|UT]] :: [[Legacy:Actor (UT)|Actor (UT)]] >> [[Legacy:Info (UT)|Info (UT)]] >> [[Legacy:GameInfo (UT)|GameInfo (UT)]] >> [[Legacy:TournamentGameInfo|TournamentGameInfo]] >> DeathMatchPlus (Package: BotPack)}}<br />
<br />
This is the Tournament DeathMatch gametype and at the same time the superclass of all other "playable" UT game types.<br />
<br />
==Properties ==<br />
<br />
===Globalconfig Properties ===<br />
<br />
These settings are shared among all UT game types.<br />
; globalconfig int MinPlayers : Bots fill the server to guarantee this minimum number of players.<br />
; globalconfig float AirControl : The default air control.<br />
; globalconfig bool bChangeLevels :<br />
; globalconfig bool bHardcoreMode : If this is True players receive 50% more damage and jump 10% higher. Game time goes by 10% faster.<br />
; globalconfig bool bMegaspeed : Players move 40% faster and jump 20% higher than without bMegaSpeed and bHardcoreMode.<br />
; globalconfig bool bAltScoring : If a player is killed by another player his score is reduced by 1 point.<br />
; 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).<br />
; globalconfig int NetWait : Time to wait for players in netgames w/ bNetReady (typically team games)<br />
; globalconfig int RestartWait : <br />
; globalconfig int InitialBots :<br />
<br />
===Config Properties ===<br />
<br />
Per-gametype settings.<br />
; config int FragLimit : Pretty obvious.<br />
; config int TimeLimit : Time limit in minutes.<br />
; config bool bMultiWeaponStay : Weapons stay when they are picked up. (No respawn time)<br />
; config bool bForceRespawn : Players respawn instantly. (Configured in the Settings tab of the Start Game window.)<br />
; config int MaxCommanders :<br />
; config bool bUseTranslocator : Whether players should get a [[Legacy:Translocator|Translocator]].<br />
<br />
===Localized Properties ===<br />
; string StartUpMessage : <br />
; string TourneyMessage : <br />
; string WaitingMessage1 : <br />
; string WaitingMessage2 : <br />
; string ReadyMessage : <br />
; string NotReadyMessage : <br />
; string CountDownMessage : <br />
; string StartMessage : <br />
; string GameEndedMessage : <br />
; string SingleWaitingMessage : <br />
; string gamegoal : <br />
; string NoNameChange : <br />
; string OvertimeMessage : <br />
<br />
===Other Properties ===<br />
; bool bChallengeMode : Game time goes by even faster. (25%)<br />
; bool bAlwaysForceRespawn : Overrides bForceRespawn to be always True. This is a gametype specific setting and can not be configured.<br />
; bool DontRestart : ???<br />
; bool bAlreadyChanged : ???<br />
; bool bFirstBlood : This indicated whether First Blood was already drawn.<br />
; bool bRequireReady : <br />
; bool bNoviceMode : This will be set when Difficulty is below 4.<br />
; bool bNetReady : <br />
; bool bJumpMatch : All Players can jump as high as if they had the jump boots.<br />
; 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)<br />
; bool bFulfilledSpecial : ???<br />
; bool bRatedTranslocator : Use the Translocator in in this rated game, i.e. ladder game.<br />
; bool bStartMatch : True during match startup.<br />
; int RemainingTime, ElapsedTime :<br />
; int CountDown, StartCount :<br />
; float LastTauntTime :<br />
; [[Legacy:NavigationPoint|NavigationPoint]] LastStartSpot :<br />
; int NumCommanders : Number of Commanders in the game. ''(Commanders are not implemented in UT)''<br />
; bool bTutorialGame : This game is a tutorial game.<br />
; int NumBots : Number of bots in the game.<br />
; int RemainingBots : <br />
; 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.<br />
; [[Legacy:ChallengeBotInfo|ChallengeBotInfo]] BotConfig :<br />
; class<[[Legacy:ChallengeBotInfo|ChallengeBotInfo]]> BotConfigType :<br />
; float PlayerRating :<br />
; float AvgOpponentRating :<br />
; int NumOpp :<br />
; int WinCount :<br />
; int LoseCount :<br />
; [[Legacy:PlayerPawn|PlayerPawn]] RatedPlayer :<br />
; int IDnum :<br />
; [[Legacy:RatedMatchInfo|RatedMatchInfo]] RatedMatchConfig :<br />
; float EndTime :<br />
; int LadderTypeIndex :<br />
; [[Legacy:LadderInventory|LadderInventory]] RatedGameLadderObj :<br />
<br />
==Methods ==<br />
; 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.<br />
; CheckReady ( ) : This function sets the <tt>TimeLimit</tt> to 20, and the <tt>RemainingTime</tt> to 1200. The function is only called when tournament mode is turned on.<br />
; SetGameSpeed (float T) : This function sets the gamespeed. It completely replaces the superclass implementation. The function also calls <tt>SaveConfig()</tt> once the final game speed has been calculated.<br />
; PlayTeleportEffect ([[Legacy:Actor (UT)|Actor (UT)]] Incoming, bool bOut, bool bSound) : Originally declared in [[Legacy:GameInfo (UT)|GameInfo (UT)]]. This function simply adds a check for tournament mode behaviour. Apart from that the code is identical to the [[Legacy:TournamentGameInfo|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 <code>Super.PlayTeleportEffect()</code> - it would have saved the code duplication.''<br />
; InitRatedGame ([[Legacy:LadderInventory|LadderInventory]] LadderObj, [[Legacy:PlayerPawn|PlayerPawn]] LadderPlayer) : Set game settings based on ladder information. Called when RatedPlayer logs in.<br />
; AcceptInventory ([[Legacy:Pawn (UT)|Pawn (UT)]] PlayerPawn) : Originally declared in [[Legacy:GameInfo (UT)|GameInfo (UT)]]. This function allows the player to keep all instances of type [[Legacy:LadderInventory|LadderInventory]], and destroys all other inventory objects. The player's weapon and selected item are set to <tt>None</tt> and the function <tt>AddDefaultInventory()</tt> is called.<br />
; bool SetEndCams (string Reason) : Plays the winning message and focuses the view on the winning player.<br />
; PlayWinMessage ([[Legacy:PlayerPawn|PlayerPawn]] Player, bool bWinner) : Plays the winning message if the object passed is of type [[Legacy:TournamentPlayer|TournamentPlayer]].<br />
; NotifySpree ([[Legacy:Pawn (UT)|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.<br />
; EndSpree ([[Legacy:Pawn (UT)|Pawn (UT)]] Killer, [[Legacy:Pawn (UT)|Pawn (UT)]] Other) : Unfortunately your killing spree has come to an end - lets tell both you and the person who killed you about it.<br />
; Killed ([[Legacy:Pawn (UT)|Pawn (UT)]] killer, [[Legacy:Pawn (UT)|Pawn (UT)]] Other, name damageType) : Declared in [[Legacy:GameInfo (UT)|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.<br />
; 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).<br />
; Timer ( ) : Checks for tournament mode, whether the game has ended because of it's time limit and other stuff.<br />
; bool TooManyBots ( ) : This function returns <tt>true</tt> if the number of bots plus the number of players is greater than the minimum number of players.<br />
; bool RestartPlayer ([[Legacy:Pawn (UT)|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.<br />
; SendStartMessage( [[Legacy:PlayerPawn|PlayerPawn]] P ) : Shows the start message to the player.<br />
; [[Legacy:Bot (UT)|Bot (UT)]] SpawnBot (out NavigationPoint StartSpot) : Spawns a bot. <i>Finish me</i><br />
; [[Legacy:Bot (UT)|Bot (UT)]] SpawnRatedBot (out [[Legacy:NavigationPoint|NavigationPoint]] StartSpot) : <i>Finish me</i><br />
; bool ForceAddBot ( ) : <i>Finish me</i><br />
; bool AddBot ( ) : <i>Finish me</i><br />
; PlayStartUpMessage ([[Legacy:PlayerPawn|PlayerPawn]] NewPlayer) : <i>Finish me</i><br />
; GiveWeapon ([[Legacy:Pawn (UT)|Pawn (UT)]] PlayerPawn, string aClassName) : Gives a weapon to a player and makes it the player's current weapon.<br />
; RateVs ([[Legacy:Pawn (UT)|Pawn (UT)]] Other, [[Legacy:Pawn (UT)|Pawn (UT)]] Killer) : <i>Finish me</i><br />
; bool SuccessfulGame ( ) : <i>Finish me</i><br />
; Skip ( )<br />
; SkipAll ( ) : Debug commands (?)<br />
; bool NeedPlayers ( ) : <i>Finish me</i><br />
; bool OneOnOne ( ) : Returns whether there are only two players (human players or bots<br />
; float SpawnWait ([[Legacy:Bot (UT)|Bot (UT)]] B) : <i>Finish me</i><br />
; bool NeverStakeOut ([[Legacy:Bot (UT)|Bot (UT)]] Other) : <i>Finish me</i><br />
<br />
==AI and Navigation Functions ==<br />
; bool CheckThisTranslocator ([[Legacy:Bot (UT)|Bot (UT)]] aBot, [[Legacy:TranslocatorTarget|TranslocatorTarget]] T) : This function returns ''false''.<br />
; PickAmbushSpotFor ([[Legacy:Bot (UT)|Bot (UT)]] aBot) : This function searches through all [[Legacy:NavigationPoint|NavigationPoint]] objects on the map looking for navigation points of type [[Legacy:AmbushPoint|AmbushPoint]]. If the [[Legacy:AmbushPoint|AmbushPoint]] is not taken ([[Legacy:NavigationPoint|NavigationPoint]].taken is ''false'') and the [[Legacy:Bot (UT)|Bot (UT)]] is not already at an ambush point then the ambush point found will be assigned to the [[Legacy:Bot (UT)|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 [[Legacy:AmbushPoint|AmbushPoint]].<br />
; byte AssessBotAttitude ([[Legacy:Bot (UT)|Bot (UT)]] aBot, [[Legacy:Pawn (UT)|Pawn (UT)]] Other) : This function determines the attitude of ''aBot'' towards ''Other''. The value returned by this function is used in [[Legacy:Bot (UT)|Bot (UT)]].AttitudeTo() function to map to the enumeration [[Legacy:EAttitude|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''.<br />
; float GameThreatAdd ([[Legacy:Bot (UT)|Bot (UT)]] aBot, [[Legacy:Pawn (UT)|Pawn (UT)]] Other) : This function is called by Bot.AssessThreat() and returns a numerical value representing the importance of <tt>Other</tt> 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 [[Legacy:CTFGame|CTFGame]] implementation of this function returns 10 if <tt>Other</tt> is a flag carrier, and [[Legacy:LastManStanding|LastManStanding]]'s version returns slightly higher threat values for players who have more lives left.<br />
; bool AllowTranslocation ([[Legacy:Pawn (UT)|Pawn (UT)]] Other, vector Dest) : This function returns ''true''.<br />
; bool CanTranslocate ([[Legacy:Bot (UT)|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 [[Legacy:Translocator|Translocator]] must have a target. Translocation must also be allowed by the game.<br />
; ModifyBehaviour ([[Legacy:Bot (UT)|Bot (UT)]] NewBot) : Only declaration here.<br />
<br />
==Comments ==<br />
<br />
From what I can tell there is an awful lot of handling around the "Tournament Mode" feature.<br />
<br />
==Known Subclasses ==<br />
* [[Legacy:ChallengeDMP|ChallengeDMP]] (used for the "Challenge" group of ladder game?)<br />
* [[Legacy:ChallengeIntro|ChallengeIntro]] (used for CityIntro map)<br />
* [[Legacy:LastManStanding|LastManStanding]]<br />
* [[Legacy:TDarkMatch|TDarkMatch]] (Tournament DarkMatch, not used)<br />
* [[Legacy:TeamGamePlus|TeamGamePlus]]<br />
* [[Legacy:TrainingDM|TrainingDM]]<br />
<br />
==Related Topics ==<br />
* [[Legacy:Mapping For DM|Mapping for DM]]<br />
<br />
[[Category:Legacy Class (UT)|{{PAGENAME}}]]</div>CH3Zhttps://wiki.beyondunreal.com/Legacy:DeathMatchPlus?diff=2547&oldid=prevIronblayde: *2004-05-22T01:08:13Z<p>*</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:08, 22 May 2004</td>
</tr><tr><td colspan="2" class="diff-lineno" id="L82" >Line 82:</td>
<td colspan="2" class="diff-lineno">Line 82:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Methods ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Methods ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; PreCacheReferences ( ) : This function is never called.  It exists purely to force the pre-caching of the standard weapon and player meshes<del class="diffchange diffchange-inline">. The Arena mutators thereby force the pre-caching of weapon meshes that are not even used</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; PreCacheReferences ( ) : This function is never called.  It exists purely to force the pre-caching of the standard weapon and player meshes.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; CheckReady ( ) : This function sets the <tt>TimeLimit</tt> to 20, and the <tt>RemainingTime</tt> to 1200.  The function is only called when tournament mode is turned on.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; CheckReady ( ) : This function sets the <tt>TimeLimit</tt> to 20, and the <tt>RemainingTime</tt> to 1200.  The function is only called when tournament mode is turned on.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; SetGameSpeed (float T) : This function sets the gamespeed.  It completely replaces the superclass implementation.  The function also calls <tt>SaveConfig()</tt> once the final game speed has been calculated.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; SetGameSpeed (float T) : This function sets the gamespeed.  It completely replaces the superclass implementation.  The function also calls <tt>SaveConfig()</tt> once the final game speed has been calculated.</div></td></tr>
</table>Ironblayde