add the "bEnableAnnouncer" parameter to the KFxMapVote.ini config
This commit is contained in:
parent
8093a69a64
commit
a3d1292b7f
@ -5,11 +5,17 @@ struct FGameModeOption
|
|||||||
{
|
{
|
||||||
var config string GameName,GameShortName,GameClass,Mutators,Options,Prefix,ServerName;
|
var config string GameName,GameShortName,GameClass,Mutators,Options,Prefix,ServerName;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const CurrentVersion = 1;
|
||||||
|
|
||||||
|
var config int ConfigVersion;
|
||||||
|
|
||||||
var config array<FGameModeOption> GameModes;
|
var config array<FGameModeOption> GameModes;
|
||||||
var config int LastVotedGameInfo,VoteTime,MaxMapsOnList,VoteNumForOrgy;
|
var config int LastVotedGameInfo,VoteTime,MaxMapsOnList,VoteNumForOrgy;
|
||||||
var config float MidGameVotePct,MapWinPct,MapChangeDelay;
|
var config float MidGameVotePct,MapWinPct,MapChangeDelay;
|
||||||
var config bool bNoWebAdmin;
|
var config bool bNoWebAdmin;
|
||||||
var config bool bNoMapVoteOrgy;
|
var config bool bNoMapVoteOrgy;
|
||||||
|
var config bool bEnableAnnouncer;
|
||||||
|
|
||||||
var class<Mutator> BaseMutator;
|
var class<Mutator> BaseMutator;
|
||||||
|
|
||||||
@ -26,7 +32,6 @@ function PostBeginPlay()
|
|||||||
{
|
{
|
||||||
local int i,j,z,n,UpV,DownV,Seq,NumPl;
|
local int i,j,z,n,UpV,DownV,Seq,NumPl;
|
||||||
local string S,MapFile;
|
local string S,MapFile;
|
||||||
local bool ConfigChanged;
|
|
||||||
|
|
||||||
if (WorldInfo.Game.BaseMutator==None)
|
if (WorldInfo.Game.BaseMutator==None)
|
||||||
WorldInfo.Game.BaseMutator = Self;
|
WorldInfo.Game.BaseMutator = Self;
|
||||||
@ -35,39 +40,10 @@ function PostBeginPlay()
|
|||||||
if (bDeleteMe) // This was a duplicate instance of the mutator.
|
if (bDeleteMe) // This was a duplicate instance of the mutator.
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ConfigChanged = False;
|
InitConfig();
|
||||||
|
|
||||||
MapFile = string(WorldInfo.GetPackageName());
|
MapFile = string(WorldInfo.GetPackageName());
|
||||||
iCurrentHistory = class'xMapVoteHistory'.Static.GetMapHistory(MapFile,WorldInfo.Title);
|
iCurrentHistory = class'xMapVoteHistory'.Static.GetMapHistory(MapFile,WorldInfo.Title);
|
||||||
if (LastVotedGameInfo<0 || LastVotedGameInfo>=GameModes.Length)
|
|
||||||
LastVotedGameInfo = 0;
|
|
||||||
|
|
||||||
if (MapChangeDelay==0)
|
|
||||||
MapChangeDelay = 3;
|
|
||||||
if (GameModes.Length==0) // None specified, so use current settings.
|
|
||||||
{
|
|
||||||
GameModes.Length = 1;
|
|
||||||
GameModes[0].GameName = "Killing Floor";
|
|
||||||
GameModes[0].GameShortName = "KF";
|
|
||||||
GameModes[0].GameClass = PathName(WorldInfo.Game.Class);
|
|
||||||
GameModes[0].Mutators = "";
|
|
||||||
GameModes[0].Prefix = "";
|
|
||||||
GameModes[0].ServerName = "";
|
|
||||||
MidGameVotePct = 0.51;
|
|
||||||
MapWinPct = 0.75;
|
|
||||||
VoteTime = 35;
|
|
||||||
ConfigChanged = True;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (VoteNumForOrgy <= 0)
|
|
||||||
{
|
|
||||||
VoteNumForOrgy = 4;
|
|
||||||
bNoMapVoteOrgy = False;
|
|
||||||
ConfigChanged = True;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ConfigChanged)
|
|
||||||
SaveConfig();
|
|
||||||
|
|
||||||
// Build maplist.
|
// Build maplist.
|
||||||
z = 0;
|
z = 0;
|
||||||
@ -102,6 +78,69 @@ function PostBeginPlay()
|
|||||||
SetTimer(1,true,'CheckEndGameEnded');
|
SetTimer(1,true,'CheckEndGameEnded');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function InitConfig()
|
||||||
|
{
|
||||||
|
local bool ConfigChanged;
|
||||||
|
|
||||||
|
ConfigChanged = False;
|
||||||
|
|
||||||
|
// Parameters to check each initialization
|
||||||
|
if (LastVotedGameInfo < 0 || LastVotedGameInfo >= GameModes.Length)
|
||||||
|
LastVotedGameInfo = 0;
|
||||||
|
|
||||||
|
if (MapChangeDelay == 0)
|
||||||
|
MapChangeDelay = 3;
|
||||||
|
|
||||||
|
if (GameModes.Length == 0) // None specified, so use current settings.
|
||||||
|
{
|
||||||
|
GameModes.Length = 1;
|
||||||
|
GameModes[0].GameName = "Killing Floor";
|
||||||
|
GameModes[0].GameShortName = "KF";
|
||||||
|
GameModes[0].GameClass = PathName(WorldInfo.Game.Class);
|
||||||
|
GameModes[0].Mutators = "";
|
||||||
|
GameModes[0].Prefix = "";
|
||||||
|
GameModes[0].ServerName = "";
|
||||||
|
MidGameVotePct = 0.51;
|
||||||
|
MapWinPct = 0.75;
|
||||||
|
VoteTime = 35;
|
||||||
|
ConfigChanged = True;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (VoteNumForOrgy <= 0)
|
||||||
|
{
|
||||||
|
VoteNumForOrgy = 4;
|
||||||
|
bNoMapVoteOrgy = False;
|
||||||
|
ConfigChanged = True;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parameters that need to be added once when updating the config
|
||||||
|
switch (ConfigVersion)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
bEnableAnnouncer = True;
|
||||||
|
|
||||||
|
case 2147483647:
|
||||||
|
`log("[xVotingHandler] Config updated to version"@CurrentVersion);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CurrentVersion:
|
||||||
|
`log("[xVotingHandler] Config is up-to-date");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
`log("[xVotingHandler] The config version is higher than the current version (are you using an old mutator?)");
|
||||||
|
`log("[xVotingHandler] Config version is"@ConfigVersion@"but current version is"@CurrentVersion);
|
||||||
|
`log("[xVotingHandler] The config version will be changed to "@CurrentVersion);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ConfigChanged || (ConfigVersion != CurrentVersion))
|
||||||
|
{
|
||||||
|
ConfigVersion = CurrentVersion;
|
||||||
|
SaveConfig();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function AddMutator(Mutator M)
|
function AddMutator(Mutator M)
|
||||||
{
|
{
|
||||||
if (M!=Self) // Make sure we don't get added twice.
|
if (M!=Self) // Make sure we don't get added twice.
|
||||||
@ -330,7 +369,7 @@ final function TallyVotes(optional bool bForce)
|
|||||||
c = Candidates[Rand(Candidates.Length)];
|
c = Candidates[Rand(Candidates.Length)];
|
||||||
|
|
||||||
// If more then "VoteNumForOrgy" voters and everyone voted same map?!!! Give the mapvote some orgy.
|
// If more then "VoteNumForOrgy" voters and everyone voted same map?!!! Give the mapvote some orgy.
|
||||||
if (!bNoMapVoteOrgy && NumVotees >= VoteNumForOrgy && ActiveVotes.Length==1)
|
if (bEnableAnnouncer && !bNoMapVoteOrgy && NumVotees >= VoteNumForOrgy && ActiveVotes.Length==1)
|
||||||
{
|
{
|
||||||
for (j=(ActiveVoters.Length-1); j >= 0; --j)
|
for (j=(ActiveVoters.Length-1); j >= 0; --j)
|
||||||
ActiveVoters[j].PlayerOwner.ClientPlaySound(AnnouncerCues[13]);
|
ActiveVoters[j].PlayerOwner.ClientPlaySound(AnnouncerCues[13]);
|
||||||
@ -363,7 +402,7 @@ final function TallyVotes(optional bool bForce)
|
|||||||
if (GetPctOf(ActiveVotes[i].NumVotes,NumVotees)>=MapWinPct)
|
if (GetPctOf(ActiveVotes[i].NumVotes,NumVotees)>=MapWinPct)
|
||||||
{
|
{
|
||||||
// If more then 4 voters and everyone voted same map?!!! Give the mapvote some orgy.
|
// If more then 4 voters and everyone voted same map?!!! Give the mapvote some orgy.
|
||||||
if (!bNoMapVoteOrgy && NumVotees >= VoteNumForOrgy && ActiveVotes.Length==1)
|
if (bEnableAnnouncer && !bNoMapVoteOrgy && NumVotees >= VoteNumForOrgy && ActiveVotes.Length==1)
|
||||||
{
|
{
|
||||||
for (j=(ActiveVoters.Length-1); j>=0; --j)
|
for (j=(ActiveVoters.Length-1); j>=0; --j)
|
||||||
ActiveVoters[j].PlayerOwner.ClientPlaySound(AnnouncerCues[13]);
|
ActiveVoters[j].PlayerOwner.ClientPlaySound(AnnouncerCues[13]);
|
||||||
@ -462,7 +501,7 @@ function Timer()
|
|||||||
for (i=(ActiveVoters.Length-1); i>=0; --i)
|
for (i=(ActiveVoters.Length-1); i>=0; --i)
|
||||||
{
|
{
|
||||||
ActiveVoters[i].ClientNotifyVoteTime(VoteTimeLeft);
|
ActiveVoters[i].ClientNotifyVoteTime(VoteTimeLeft);
|
||||||
if (FX!=None)
|
if (bEnableAnnouncer && FX != None)
|
||||||
ActiveVoters[i].PlayerOwner.ClientPlaySound(FX);
|
ActiveVoters[i].PlayerOwner.ClientPlaySound(FX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user