mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-15 16:14:35 +00:00
Merge branch 'NoEvo'
This commit is contained in:
commit
8f69f809b3
8 changed files with 113 additions and 44 deletions
|
|
@ -171,10 +171,14 @@ $Host::TeamSkin4 = "dsword";
|
||||||
$Host::TeamSkin5 = "beagle";
|
$Host::TeamSkin5 = "beagle";
|
||||||
$Host::TeamSkin6 = "cotp";
|
$Host::TeamSkin6 = "cotp";
|
||||||
$Host::TimeLimit = 45;
|
$Host::TimeLimit = 45;
|
||||||
|
$Host::TKMax = 12;
|
||||||
|
$Host::TKWarn1 = 4;
|
||||||
|
$Host::TKWarn2 = 8;
|
||||||
$Host::TN::beat = 3;
|
$Host::TN::beat = 3;
|
||||||
$Host::TN::echo = 1;
|
$Host::TN::echo = 1;
|
||||||
$Host::TournamentMode = 0;
|
$Host::TournamentMode = 0;
|
||||||
$Host::useCustomSkins = 1;
|
$Host::useCustomSkins = 1;
|
||||||
|
$Host::VoteCooldown = 120;
|
||||||
$Host::VotePassPercent = 60;
|
$Host::VotePassPercent = 60;
|
||||||
$Host::VoteSpread = 20;
|
$Host::VoteSpread = 20;
|
||||||
$Host::VoteTime = "45";
|
$Host::VoteTime = "45";
|
||||||
|
|
|
||||||
|
|
@ -1143,11 +1143,13 @@ function SCtFGame::beginStalemate(%game)
|
||||||
{
|
{
|
||||||
%game.stalemate = true;
|
%game.stalemate = true;
|
||||||
%game.showStalemateTargets();
|
%game.showStalemateTargets();
|
||||||
|
|
||||||
// z0dd - ZOD, 5/27/03. Added anti-turtling, return flags after x minutes
|
// z0dd - ZOD, 5/27/03. Added anti-turtling, return flags after x minutes
|
||||||
if(!$Host::TournamentMode)
|
if(!$Host::TournamentMode)
|
||||||
{
|
{
|
||||||
messageAll( 'MsgStalemate', '\c3Anti turtle initialized. Flags will be returned to bases in %1 minutes.', $Host::ClassicAntiTurtleTime);
|
messageAll( 'MsgStalemate', "\c3Anti turtle initialized. Flags will be returned to bases in " @ $Host::ClassicAntiTurtleTime @ " minutes.");
|
||||||
%game.turtleSchedule = %game.schedule($Host::ClassicAntiTurtleTime * 60000, 'antiTurtle');
|
%game.turtleSchedule = %game.schedule($Host::ClassicAntiTurtleTime * 60000, "antiTurtle");
|
||||||
|
error(formatTimeString("HH:nn:ss") SPC "Anti-Turtle thread beginning now - ID:" SPC %game.turtleSchedule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1156,19 +1158,28 @@ function SCtFGame::endStalemate(%game)
|
||||||
%game.stalemate = false;
|
%game.stalemate = false;
|
||||||
%game.hideStalemateTargets();
|
%game.hideStalemateTargets();
|
||||||
cancel(%game.stalemateSchedule);
|
cancel(%game.stalemateSchedule);
|
||||||
|
cancel(%game.turtleSchedule);
|
||||||
}
|
}
|
||||||
|
|
||||||
// z0dd - ZOD, 5/27/03. Anti-turtle function
|
function SCtFGame::antiTurtle(%game)
|
||||||
function CTFGame::antiTurtle(%game)
|
|
||||||
{
|
{
|
||||||
if(isEventPending(%game.turtleSchedule))
|
if(isEventPending(%game.turtleSchedule))
|
||||||
cancel(%game.turtleSchedule);
|
cancel(%game.turtleSchedule);
|
||||||
|
|
||||||
for (%i = 1; %i <= 2; %i++)
|
if(%game.turtleSchedule > 0)
|
||||||
{
|
%game.turtleSchedule = 0;
|
||||||
|
|
||||||
|
if(isEventPending(%game.stalemateSchedule))
|
||||||
|
cancel(%game.stalemateSchedule);
|
||||||
|
|
||||||
|
if(%game.stalemateSchedule > 0)
|
||||||
|
%game.stalemateSchedule = 0;
|
||||||
|
|
||||||
|
for (%i = 1; %i <= Game.numTeams; %i++)
|
||||||
Game.flagReturn($TeamFlag[%i]);
|
Game.flagReturn($TeamFlag[%i]);
|
||||||
messageAll( 'MsgCTFFlagReturned', '\c3Both flags returned to bases to break stalemate.~wfx/misc/flag_return.wav', 0, 0, %i);
|
|
||||||
}
|
messageAll( "", "\c3Both flags returned to bases to break stalemate.~wfx/misc/flag_return.wav");
|
||||||
|
error(formatTimeString("HH:nn:ss") SPC "Anti-Turtle thread ended");
|
||||||
}
|
}
|
||||||
|
|
||||||
function SCtFGame::flagReset(%game, %flag)
|
function SCtFGame::flagReset(%game, %flag)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ function adminLog(%client, %msg)
|
||||||
%ip = getField(strreplace(%client.getAddress(),":","\t"),1);
|
%ip = getField(strreplace(%client.getAddress(),":","\t"),1);
|
||||||
|
|
||||||
// this is the info that will be logged
|
// this is the info that will be logged
|
||||||
$AdminLog = formatTimeString("M-d") SPC formatTimeString("[HH:nn]") SPC %client.nameBase @ " (" @ getField(%authInfo, 0) @ ", " @ %ip @ ", " @ %client.guid @ ", " @ %client.getAddress() @ ")" @ %msg SPC "[" @ $CurrentMission @ "]";
|
$AdminLog = formatTimeString("M-d") SPC formatTimeString("[hh:nn:a]") SPC %client.nameBase @ " (" @ getField(%authInfo, 0) @ ", " @ %ip @ ", " @ %client.guid @ ", " @ %client.getAddress() @ ")" @ %msg SPC "[" @ $CurrentMission @ "]";
|
||||||
|
|
||||||
%logpath = $Host::ClassicAdminLogPath;
|
%logpath = $Host::ClassicAdminLogPath;
|
||||||
export("$AdminLog", %logpath, true);
|
export("$AdminLog", %logpath, true);
|
||||||
|
|
@ -53,7 +53,7 @@ function connectLog(%client, %isDisconnect)
|
||||||
else
|
else
|
||||||
%name = %client.nameBase;
|
%name = %client.nameBase;
|
||||||
|
|
||||||
$ConnectLog = %inout SPC "#P[" @ $HostGamePlayerCount @ "]" SPC formatTimeString("M-d") SPC formatTimeString("[HH:nn]") SPC %name SPC "(" @ getField(%authInfo, 0) @ "," SPC %client.guid @ "," SPC %ip @ ")" SPC "[" @ $CurrentMission @ "]" SPC "NTC[" @ %ntc @ "]";
|
$ConnectLog = %inout SPC "#P[" @ $HostGamePlayerCount @ "]" SPC formatTimeString("M-d") SPC formatTimeString("[hh:nn:a]") SPC %name SPC "(" @ getField(%authInfo, 0) @ "," SPC %client.guid @ "," SPC %ip @ ")" SPC "[" @ $CurrentMission @ "]" SPC "NTC[" @ %ntc @ "]";
|
||||||
|
|
||||||
%logpath = $Host::ClassicConnLogPath;
|
%logpath = $Host::ClassicConnLogPath;
|
||||||
export("$ConnectLog", %logpath, true);
|
export("$ConnectLog", %logpath, true);
|
||||||
|
|
@ -71,7 +71,7 @@ function connectLog(%client, %isDisconnect)
|
||||||
%arg1 = %arg1.nameBase;
|
%arg1 = %arg1.nameBase;
|
||||||
|
|
||||||
// this is the info that will be logged
|
// this is the info that will be logged
|
||||||
$VoteLog = "#P[" @ $HostGamePlayerCount @ "]" SPC formatTimeString("M-d") SPC formatTimeString("[HH:nn]") SPC %client.nameBase @ " (" @ getField(%authInfo, 0) @ "," SPC %client.guid @ ") Initiated a vote:" SPC %typeName SPC %arg1 SPC %arg2 SPC %arg3 SPC %arg4 SPC "CM[" @ $CurrentMission @ "]";
|
$VoteLog = "#P[" @ $HostGamePlayerCount @ "]" SPC formatTimeString("M-d") SPC formatTimeString("[hh:nn:a]") SPC %client.nameBase @ " (" @ getField(%authInfo, 0) @ "," SPC %client.guid @ ") Initiated a vote:" SPC %typeName SPC %arg1 SPC %arg2 SPC %arg3 SPC %arg4 SPC "CM[" @ $CurrentMission @ "]";
|
||||||
|
|
||||||
%logpath = $Host::ClassicVoteLogPath;
|
%logpath = $Host::ClassicVoteLogPath;
|
||||||
export("$VoteLog", %logpath, true);
|
export("$VoteLog", %logpath, true);
|
||||||
|
|
@ -115,7 +115,7 @@ function ClassicChatLog(%client, %id, %team, %msg)
|
||||||
%team = "[Centerprint]";
|
%team = "[Centerprint]";
|
||||||
}
|
}
|
||||||
|
|
||||||
$ClassicChatLog = "["@formattimestring("H:nn:ss")@"] "@%team SPC getTaggedString(%client.name)@": "@%msg;
|
$ClassicChatLog = "["@formattimestring("hh:nn:ss:a")@"] "@%team SPC getTaggedString(%client.name)@": "@%msg;
|
||||||
$ClassicChatLog = stripChars($ClassicChatLog, "\c0\c1\c2\c3\c4\c5\c6\c7\c8\c9\x10\x11\co\cp");
|
$ClassicChatLog = stripChars($ClassicChatLog, "\c0\c1\c2\c3\c4\c5\c6\c7\c8\c9\x10\x11\co\cp");
|
||||||
%path = $Host::ClassicChatLogPath @ formatTimeString("/yy/mm-MM/dd.log");
|
%path = $Host::ClassicChatLogPath @ formatTimeString("/yy/mm-MM/dd.log");
|
||||||
export("$ClassicChatLog", %path, true);
|
export("$ClassicChatLog", %path, true);
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@ function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %pos
|
||||||
|
|
||||||
%targetname = %targetObject.getDataBlock().getName();
|
%targetname = %targetObject.getDataBlock().getName();
|
||||||
|
|
||||||
|
//Used on some maps to make invs invincible
|
||||||
|
if( %targetObject.invincible && %targetname $= "StationInventory" )
|
||||||
|
return;
|
||||||
|
|
||||||
if(!$Host::TournamentMode && $Host::NoBaseRapeEnabled && $Host::NoBaseRapePlayerCount > $TotalTeamPlayerCount)
|
if(!$Host::TournamentMode && $Host::NoBaseRapeEnabled && $Host::NoBaseRapePlayerCount > $TotalTeamPlayerCount)
|
||||||
{
|
{
|
||||||
if( %targetname $= "GeneratorLarge" || %targetname $= "StationInventory" || %targetname $= "SolarPanel" )
|
if( %targetname $= "GeneratorLarge" || %targetname $= "StationInventory" || %targetname $= "SolarPanel" )
|
||||||
|
|
@ -25,37 +29,8 @@ function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %pos
|
||||||
parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType);
|
parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType);
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadMissionStage2()
|
|
||||||
{
|
|
||||||
parent::loadMissionStage2();
|
|
||||||
|
|
||||||
if( $CurrentMission $= "SmallCrossing" || $CurrentMission $= "Bulwark" )
|
|
||||||
{
|
|
||||||
if (!isActivePackage(InvincibleInvToggle))
|
|
||||||
activatePackage(InvincibleInvToggle);
|
|
||||||
}
|
|
||||||
else if (isActivePackage(InvincibleInvToggle))
|
|
||||||
deactivatePackage(InvincibleInvToggle);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
// Prevent package from being activated if it is already
|
||||||
if (!isActivePackage(NoBaseRape))
|
if (!isActivePackage(NoBaseRape))
|
||||||
activatePackage(NoBaseRape);
|
activatePackage(NoBaseRape);
|
||||||
|
|
||||||
package InvincibleInvToggle
|
|
||||||
{
|
|
||||||
|
|
||||||
function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
|
|
||||||
{
|
|
||||||
%targetname = %targetObject.getDataBlock().getName();
|
|
||||||
|
|
||||||
//Used on some maps to make invs invincible
|
|
||||||
if( %targetObject.invincible && %targetname $= "StationInventory" )
|
|
||||||
return;
|
|
||||||
|
|
||||||
parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
35
Classic/scripts/autoexec/TKwarn.cs
Normal file
35
Classic/scripts/autoexec/TKwarn.cs
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
package TKwarn
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
// From Evo
|
||||||
|
function DefaultGame::testTeamKill(%game, %victimID, %killerID)
|
||||||
|
{
|
||||||
|
%tk = Parent::testTeamKill(%game, %victimID, %killerID);
|
||||||
|
if(!%tk)
|
||||||
|
return false; // is not a tk
|
||||||
|
|
||||||
|
if($Host::TournamentMode || %killerID.isAdmin || %killerID.isAIcontrolled() || %victimID.isAIcontrolled())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// warn the player
|
||||||
|
if((%killerID.teamkills == $Host::TKWarn1 - 1) && $Host::TKWarn1 != 0)
|
||||||
|
centerprint(%killerID, "<font:Univers Bold:26><color:ff2222>You have teamkilled " @ %killerID.teamkills + 1 @ " players.\nCut it out!", 5, 3);
|
||||||
|
// warn the player of his imminent kick
|
||||||
|
else if((%killerID.teamkills == $Host::TKWarn2 - 1) && $Host::TKWarn2 != 0)
|
||||||
|
centerprint(%killerID, "<font:Univers Bold:26><color:ff2222>You have teamkilled " @ %killerID.teamkills + 1 @ " players.\nWith " @ $Host::TKMax @ " teamkills, you will be kicked.", 5, 3);
|
||||||
|
// kick the player
|
||||||
|
else if((%killerID.teamkills >= $Host::TKMax - 1) && $Host::TKMax != 0)
|
||||||
|
{
|
||||||
|
Game.kickClientName = %killerID.name;
|
||||||
|
kick(%killerID, false, %killerID.guid);
|
||||||
|
adminLog( %killerID, " was autokicked for too many teamkills." );
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(TKwarn))
|
||||||
|
activatePackage(TKwarn);
|
||||||
|
|
@ -3,6 +3,9 @@
|
||||||
// Various Overrides
|
// Various Overrides
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// Global water viscosity
|
||||||
|
$globalviscosity = 3;
|
||||||
|
|
||||||
package TacoOverrides
|
package TacoOverrides
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -158,6 +161,33 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC);
|
Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Item 'Use' Console spam fix
|
||||||
|
function serverCmdUse(%client,%data)
|
||||||
|
{
|
||||||
|
// Item names from the client must converted
|
||||||
|
// into DataBlocks
|
||||||
|
// %data = ItemDataBlock[%item];
|
||||||
|
//if(isObject(%client.player)) // z0dd - ZOD, 5/18/03. Console spam fix
|
||||||
|
//%client.player.use(%data);
|
||||||
|
|
||||||
|
//Spam Fix 7/2020
|
||||||
|
if(isObject(%client.player) && isObject(%client.getControlObject()))
|
||||||
|
%client.getControlObject().use(%data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Global water viscosity
|
||||||
|
function DefaultGame::missionLoadDone(%game)
|
||||||
|
{
|
||||||
|
parent::missionLoadDone(%game);
|
||||||
|
|
||||||
|
for(%i = 0; %i < MissionGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%obj = MissionGroup.getObject(%i);
|
||||||
|
if(%obj.getClassName() $= "WaterBlock")
|
||||||
|
%obj.viscosity = $globalviscosity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
// Prevent package from being activated if it is already
|
||||||
|
|
|
||||||
|
|
@ -300,6 +300,12 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
}
|
}
|
||||||
|
|
||||||
case "VoteChangeTimeLimit":
|
case "VoteChangeTimeLimit":
|
||||||
|
if($CMHasVoted[%client.guid] >= $Host::ClassicMaxVotes && !%isAdmin)
|
||||||
|
{
|
||||||
|
messageClient(%client, "", "\c2You have exhausted your voting rights for this mission.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if($CurrentMissionType $= "Siege") // Can't change time in this one
|
if($CurrentMissionType $= "Siege") // Can't change time in this one
|
||||||
{
|
{
|
||||||
messageClient(%client, "", "\c2Cannot change the time limit in this gametype.");
|
messageClient(%client, "", "\c2Cannot change the time limit in this gametype.");
|
||||||
|
|
@ -319,12 +325,16 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(%arg1 < $Host::TimeLimit)
|
||||||
|
return;
|
||||||
|
|
||||||
if((!%isAdmin && $Host::AllowPlayerVoteTimeLimit) || (%isAdmin && %client.ForceVote))
|
if((!%isAdmin && $Host::AllowPlayerVoteTimeLimit) || (%isAdmin && %client.ForceVote))
|
||||||
{
|
{
|
||||||
if(%arg1 $= "999") %time = "unlimited"; else %time = %arg1;
|
if(%arg1 $= "999") %time = "unlimited"; else %time = %arg1;
|
||||||
%msg = %client.nameBase @ " initiated a vote to change the time limit to " @ %time @ ".";
|
%msg = %client.nameBase @ " initiated a vote to change the time limit to " @ %time @ ".";
|
||||||
// VoteOvertime
|
// VoteOvertime
|
||||||
StartVOTimeVote(%game);
|
StartVOTimeVote(%game);
|
||||||
|
$CMHasVoted[%client.guid]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
case "VoteMatchStart":
|
case "VoteMatchStart":
|
||||||
|
|
@ -612,7 +622,7 @@ function playerStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %tea
|
||||||
clearBottomPrint(%client);
|
clearBottomPrint(%client);
|
||||||
|
|
||||||
%client.canVote = false;
|
%client.canVote = false;
|
||||||
%client.rescheduleVote = schedule(($Host::voteSpread * 1000) + ($Host::voteTime * 1000) , 0, "resetVotePrivs", %client);
|
%client.rescheduleVote = schedule(($Host::VoteCooldown * 1000) + ($Host::VoteTime * 1000) , 0, "resetVotePrivs", %client);
|
||||||
|
|
||||||
// Log Vote
|
// Log Vote
|
||||||
voteLog(%client, %typeName, %arg1, %arg2, %arg3, %arg4);
|
voteLog(%client, %typeName, %arg1, %arg2, %arg3, %arg4);
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,10 @@ $Host::AveragePings = 1;
|
||||||
$Host::GuidCheck = 1;
|
$Host::GuidCheck = 1;
|
||||||
$Host::MinFlagRecordPlayerCount = 6;
|
$Host::MinFlagRecordPlayerCount = 6;
|
||||||
$Host::ItemRespawnTime = 30;
|
$Host::ItemRespawnTime = 30;
|
||||||
|
$Host::VoteCooldown = 120;
|
||||||
|
$Host::TKMax = 12;
|
||||||
|
$Host::TKWarn1 = 4;
|
||||||
|
$Host::TKWarn2 = 8;
|
||||||
|
|
||||||
//LakRabbit
|
//LakRabbit
|
||||||
$Host::LakRabbitUnlimitedDJ = 1; //Unlimited disc-jumps if enabled
|
$Host::LakRabbitUnlimitedDJ = 1; //Unlimited disc-jumps if enabled
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue