mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-16 00:24:35 +00:00
Reworked
This commit is contained in:
parent
35b12417b5
commit
b631d0c730
1 changed files with 84 additions and 42 deletions
|
|
@ -5,69 +5,111 @@
|
||||||
//Run in GetTeamCounts.cs
|
//Run in GetTeamCounts.cs
|
||||||
function MapRepetitionChecker( %game )
|
function MapRepetitionChecker( %game )
|
||||||
{
|
{
|
||||||
|
//Debug
|
||||||
|
//%MapRepetitionCheckerDebug = true;
|
||||||
|
|
||||||
if( $CurrentMissionType $= "CTF" && !$Host::TournamentMode && $MapRepetitionCheckerRunOnce !$= 1 )
|
if( $CurrentMissionType $= "CTF" && !$Host::TournamentMode && $MapRepetitionCheckerRunOnce !$= 1 )
|
||||||
{
|
{
|
||||||
//CTF Start
|
//First map
|
||||||
if($TempMapCheckerPrevious $= "")
|
if($PreviousMission1back $= "")
|
||||||
{
|
{
|
||||||
$TempMapCheckerPrevious = $CurrentMission;
|
//Set vars
|
||||||
|
$PreviousMission1back = $CurrentMission;
|
||||||
|
|
||||||
|
//Debug
|
||||||
|
if(%MapRepetitionCheckerDebug)
|
||||||
|
echo("PM1: " @ $PreviousMission1back);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//1 map back
|
//1 map back
|
||||||
else if($TempMapCheckerPrevious2back $= "")
|
//Second map
|
||||||
{
|
else if($PreviousMission2back $= "")
|
||||||
$MapCheckerPrevious = $TempMapCheckerPrevious;
|
{
|
||||||
|
if( $PreviousMission1back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
//Set temp vars
|
|
||||||
$TempMapCheckerPrevious2back = $TempMapCheckerPrevious;
|
//Set vars
|
||||||
$TempMapCheckerPrevious = $CurrentMission;
|
$PreviousMission2back = $PreviousMission1back;
|
||||||
|
$PreviousMission1back = $CurrentMission;
|
||||||
//If the next mission equals the last map, find a new map.
|
|
||||||
if( $MapCheckerPrevious $= $EvoCachedNextMission )
|
//Debug
|
||||||
|
if(%MapRepetitionCheckerDebug)
|
||||||
{
|
{
|
||||||
MapRepetitionCheckerFindRandom();
|
echo("PM1: " @ $PreviousMission1back);
|
||||||
|
echo("PM2: " @ $PreviousMission2back);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//2 maps back
|
//2 maps back
|
||||||
else if($TempMapCheckerPrevious3back $= "")
|
//Third map
|
||||||
{
|
else if($PreviousMission3back $= "")
|
||||||
$MapCheckerPrevious = $TempMapCheckerPrevious;
|
{
|
||||||
$MapCheckerPrevious2back = $TempMapCheckerPrevious2back;
|
if( $PreviousMission1back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
|
else if( $PreviousMission2back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
//Set temp vars
|
|
||||||
$TempMapCheckerPrevious3back = $TempMapCheckerPrevious2back;
|
//Set vars
|
||||||
$TempMapCheckerPrevious2back = $TempMapCheckerPrevious;
|
$PreviousMission3back = $PreviousMission2back;
|
||||||
$TempMapCheckerPrevious = $CurrentMission;
|
$PreviousMission2back = $PreviousMission1back;
|
||||||
|
$PreviousMission1back = $CurrentMission;
|
||||||
//If the next mission equals anything that has been played the last 2 maps, find a new map.
|
|
||||||
if( $MapCheckerPrevious $= $EvoCachedNextMission || $MapCheckerPrevious2back $= $EvoCachedNextMission )
|
//Debug
|
||||||
|
if(%MapRepetitionCheckerDebug)
|
||||||
{
|
{
|
||||||
MapRepetitionCheckerFindRandom();
|
echo("PM1: " @ $PreviousMission1back);
|
||||||
|
echo("PM2: " @ $PreviousMission2back);
|
||||||
|
echo("PM3: " @ $PreviousMission3back);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//3 maps back
|
//3 maps back
|
||||||
|
//Forth map
|
||||||
|
else if($PreviousMission4back $= "")
|
||||||
|
{
|
||||||
|
if( $PreviousMission1back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
|
else if( $PreviousMission2back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
|
else if( $PreviousMission3back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
|
|
||||||
|
//Set vars
|
||||||
|
$PreviousMission4back = $PreviousMission3back;
|
||||||
|
$PreviousMission3back = $PreviousMission2back;
|
||||||
|
$PreviousMission2back = $PreviousMission1back;
|
||||||
|
$PreviousMission1back = $CurrentMission;
|
||||||
|
|
||||||
|
//Debug
|
||||||
|
if(%MapRepetitionCheckerDebug)
|
||||||
|
{
|
||||||
|
echo("PM1: " @ $PreviousMission1back);
|
||||||
|
echo("PM2: " @ $PreviousMission2back);
|
||||||
|
echo("PM3: " @ $PreviousMission3back);
|
||||||
|
echo("PM4: " @ $PreviousMission4back);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//4 maps back
|
||||||
|
//Fifth map
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$MapCheckerPrevious = $TempMapCheckerPrevious;
|
if( $PreviousMission1back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
$MapCheckerPrevious2back = $TempMapCheckerPrevious2back;
|
else if( $PreviousMission2back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
$MapCheckerPrevious3back = $TempMapCheckerPrevious3back;
|
else if( $PreviousMission3back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
|
else if( $PreviousMission4back $= $EvoCachedNextMission ) MapRepetitionCheckerFindRandom();
|
||||||
//Set temp vars
|
|
||||||
$TempMapCheckerPrevious3back = $TempMapCheckerPrevious2back;
|
//Set vars
|
||||||
$TempMapCheckerPrevious2back = $TempMapCheckerPrevious;
|
$PreviousMission4back = $PreviousMission3back;
|
||||||
$TempMapCheckerPrevious = $CurrentMission;
|
$PreviousMission3back = $PreviousMission2back;
|
||||||
|
$PreviousMission2back = $PreviousMission1back;
|
||||||
//If the next mission equals anything that has been played the last 3 maps, find a new map.
|
$PreviousMission1back = $CurrentMission;
|
||||||
if( $MapCheckerPrevious $= $EvoCachedNextMission || $MapCheckerPrevious2back $= $EvoCachedNextMission || $MapCheckerPrevious3back $= $EvoCachedNextMission )
|
|
||||||
|
//Debug
|
||||||
|
if(%MapRepetitionCheckerDebug)
|
||||||
{
|
{
|
||||||
MapRepetitionCheckerFindRandom();
|
echo("PM1: " @ $PreviousMission1back);
|
||||||
|
echo("PM2: " @ $PreviousMission2back);
|
||||||
|
echo("PM3: " @ $PreviousMission3back);
|
||||||
|
echo("PM4: " @ $PreviousMission4back);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -89,7 +131,7 @@ function MapRepetitionCheckerFindRandom()
|
||||||
else if(%MapCheckerRandom $= 5) $EvoCachedNextMission = $SetNextMissionMapSlot5;
|
else if(%MapCheckerRandom $= 5) $EvoCachedNextMission = $SetNextMissionMapSlot5;
|
||||||
else if(%MapCheckerRandom $= 6) $EvoCachedNextMission = $SetNextMissionMapSlot6;
|
else if(%MapCheckerRandom $= 6) $EvoCachedNextMission = $SetNextMissionMapSlot6;
|
||||||
|
|
||||||
if($EvoCachedNextMission $= $TempMapCheckerPrevious || $EvoCachedNextMission $= $TempMapCheckerPrevious2back || $EvoCachedNextMission $= $TempMapCheckerPrevious3back )
|
if($EvoCachedNextMission $= $PreviousMission1back || $EvoCachedNextMission $= $PreviousMission2back || $EvoCachedNextMission $= $PreviousMission3back )
|
||||||
MapRepetitionCheckerFindRandom();
|
MapRepetitionCheckerFindRandom();
|
||||||
else
|
else
|
||||||
messageAll('MsgNoBaseRapeNotify', '\crMap Repetition Corrected: Next mission set to %1.', $EvoCachedNextMission);
|
messageAll('MsgNoBaseRapeNotify', '\crMap Repetition Corrected: Next mission set to %1.', $EvoCachedNextMission);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue