Made LCTF Gamemode

This commit is contained in:
ChocoTaco 2025-01-11 16:48:01 -05:00
parent 90bb6175dc
commit 0c3e7c9892
7 changed files with 2705 additions and 80 deletions

View file

@ -442,94 +442,94 @@ addRotationMap("Crater71Lak", "Lakrabbit",1,0,6,-1);
//In Rotation //In Rotation
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
addRotationMap("DangerousCrossingLT", "sctf",1,0,-1,-1); addRotationMap("DangerousCrossingLT", "LCTF",1,0,-1,-1);
addRotationMap("SmallCrossingLT", "sctf",1,0,-1,12); addRotationMap("SmallCrossingLT", "LCTF",1,0,-1,12);
addRotationMap("DireLT", "sctf",1,0,-1,-1); addRotationMap("DireLT", "LCTF",1,0,-1,-1);
addRotationMap("RoundTheMountainLT", "sctf",1,1,-1,-1); addRotationMap("RoundTheMountainLT", "LCTF",1,1,-1,-1);
addRotationMap("CirclesEdgeLT", "sctf",1,1,-1,-1); addRotationMap("CirclesEdgeLT", "LCTF",1,1,-1,-1);
addRotationMap("TenebrousCTF", "sctf",1,0,-1,-1); addRotationMap("TenebrousCTF", "LCTF",1,0,-1,-1);
addRotationMap("TheFray", "sctf",1,0,-1,-1); addRotationMap("TheFray", "LCTF",1,0,-1,-1);
addRotationMap("SignalLT", "sctf",1,0,-1,-1); addRotationMap("SignalLT", "LCTF",1,0,-1,-1);
addRotationMap("S5_DamnationLT", "sctf",1,0,8,-1); addRotationMap("S5_DamnationLT", "LCTF",1,0,8,-1);
addRotationMap("S5_Icedance", "sctf",1,1,-1,-1); addRotationMap("S5_Icedance", "LCTF",1,1,-1,-1);
addRotationMap("S5_Mordacity", "sctf",1,1,10,-1); addRotationMap("S5_Mordacity", "LCTF",1,1,10,-1);
addRotationMap("S5_SilenusLT", "sctf",1,0,-1,-1); addRotationMap("S5_SilenusLT", "LCTF",1,0,-1,-1);
addRotationMap("TWL2_CanyonCrusadeDeluxeLT", "sctf",1,1,-1,-1); addRotationMap("TWL2_CanyonCrusadeDeluxeLT", "LCTF",1,1,-1,-1);
addRotationMap("TWL2_HildebrandLT", "sctf",1,1,-1,-1); addRotationMap("TWL2_HildebrandLT", "LCTF",1,1,-1,-1);
addRotationMap("TWL2_SkylightLT", "sctf",1,1,-1,-1); addRotationMap("TWL2_SkylightLT", "LCTF",1,1,-1,-1);
addRotationMap("TWL_FeignLT", "sctf",1,0,-1,-1); addRotationMap("TWL_FeignLT", "LCTF",1,0,-1,-1);
addRotationMap("TWL_RollercoasterLT", "sctf",1,0,-1,-1); addRotationMap("TWL_RollercoasterLT", "LCTF",1,0,-1,-1);
addRotationMap("TWL_StonehengeLT", "sctf",1,1,-1,-1); addRotationMap("TWL_StonehengeLT", "LCTF",1,1,-1,-1);
addRotationMap("TWL_WilderZoneLT", "sctf",1,0,-1,-1); addRotationMap("TWL_WilderZoneLT", "LCTF",1,0,-1,-1);
addRotationMap("oasisintensity", "sctf",1,1,-1,10); addRotationMap("oasisintensity", "LCTF",1,1,-1,10);
addRotationMap("berlard", "sctf",1,1,-1,-1); addRotationMap("berlard", "LCTF",1,1,-1,-1);
addRotationMap("RaindanceLT", "sctf",1,0,-1,-1); addRotationMap("RaindanceLT", "LCTF",1,0,-1,-1);
addRotationMap("SmallTimeLT", "sctf",1,0,-1,-1); addRotationMap("SmallTimeLT", "LCTF",1,0,-1,-1);
addRotationMap("ArenaDome", "sctf",1,1,-1,10); addRotationMap("ArenaDome", "LCTF",1,1,-1,10);
addRotationMap("Bulwark", "sctf",1,1,-1,-1); addRotationMap("Bulwark", "LCTF",1,1,-1,-1);
addRotationMap("Discord", "sctf",1,1,-1,-1); addRotationMap("Discord", "LCTF",1,1,-1,-1);
addRotationMap("S5_MassiveLT", "sctf",1,0,-1,-1); addRotationMap("S5_MassiveLT", "LCTF",1,0,-1,-1);
addRotationMap("Blink", "sctf",1,0,-1,-1); addRotationMap("Blink", "LCTF",1,0,-1,-1);
addRotationMap("HillSideLT", "sctf",1,1,-1,10); addRotationMap("HillSideLT", "LCTF",1,1,-1,10);
addRotationMap("IcePick", "sctf",1,1,-1,16); addRotationMap("IcePick", "LCTF",1,1,-1,16);
addRotationMap("OsIrisLT", "sctf",1,0,-1,-1); addRotationMap("OsIrisLT", "LCTF",1,0,-1,-1);
addRotationMap("GrassyKnoll", "sctf",1,1,-1,-1); addRotationMap("GrassyKnoll", "LCTF",1,1,-1,-1);
addRotationMap("TWL2_MuddySwamp", "sctf",1,0,8,-1); addRotationMap("TWL2_MuddySwamp", "LCTF",1,0,8,-1);
addRotationMap("SandyRunLT", "sctf",1,0,-1,12); addRotationMap("SandyRunLT", "LCTF",1,0,-1,12);
addRotationMap("Sentry", "sctf",1,1,-1,-1); addRotationMap("Sentry", "LCTF",1,1,-1,-1);
addRotationMap("Cinerarium", "sctf",1,1,-1,-1); addRotationMap("Cinerarium", "LCTF",1,1,-1,-1);
addRotationMap("Exhumed", "sctf",1,1,-1,-1); addRotationMap("Exhumed", "LCTF",1,1,-1,-1);
addRotationMap("S8_ZilchLT", "sctf",1,1,-1,-1); addRotationMap("S8_ZilchLT", "LCTF",1,1,-1,-1);
addRotationMap("TWL_BeachBlitzLT", "sctf",1,0,-1,-1); addRotationMap("TWL_BeachBlitzLT", "LCTF",1,0,-1,-1);
addRotationMap("FrozenHopeLT", "sctf",1,1,-1,-1); addRotationMap("FrozenHopeLT", "LCTF",1,1,-1,-1);
//addRotationMap("Confusco", "sctf",1,0,6,-1); //addRotationMap("Confusco", "LCTF",1,0,6,-1);
addRotationMap("TWL2_JaggedClawLT", "sctf",1,1,-1,-1); addRotationMap("TWL2_JaggedClawLT", "LCTF",1,1,-1,-1);
//Voteable, But not in rotation //Voteable, But not in rotation
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
addRotationMap("BeggarsRunLT", "sctf",1,0,-1,-1); addRotationMap("BeggarsRunLT", "LCTF",1,0,-1,-1);
addRotationMap("S5_WoodymyrkLT", "sctf",1,0,-1,-1); addRotationMap("S5_WoodymyrkLT", "LCTF",1,0,-1,-1);
addRotationMap("S8_Opus", "sctf",1,0,-1,-1); addRotationMap("S8_Opus", "LCTF",1,0,-1,-1);
addRotationMap("TWL_DangerousCrossing", "sctf",1,0,-1,-1); addRotationMap("TWL_DangerousCrossing", "LCTF",1,0,-1,-1);
//DMP Mappack //DMP Mappack
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
addRotationMap("AttritionLT", "sctf",1,1,-1,-1); addRotationMap("AttritionLT", "LCTF",1,1,-1,-1);
addRotationMap("RushLT", "sctf",1,1,-1,-1); addRotationMap("RushLT", "LCTF",1,1,-1,-1);
addRotationMap("HillKingLT", "sctf",1,1,-1,-1); addRotationMap("HillKingLT", "LCTF",1,1,-1,-1);
addRotationMap("DMP_BastardForgeLT", "sctf",1,1,-1,-1); addRotationMap("DMP_BastardForgeLT", "LCTF",1,1,-1,-1);
addRotationMap("VanDamnedLT", "sctf",1,1,-1,-1); addRotationMap("VanDamnedLT", "LCTF",1,1,-1,-1);
addRotationMap("DMP_Paranoia", "sctf",1,0,-1,-1); addRotationMap("DMP_Paranoia", "LCTF",1,0,-1,-1);
addRotationMap("DMP_Spincycle", "sctf",1,1,-1,-1); addRotationMap("DMP_Spincycle", "LCTF",1,1,-1,-1);
addRotationMap("Ravine", "sctf",1,1,-1,-1); addRotationMap("Ravine", "LCTF",1,1,-1,-1);
// addRotationMap("DX_Badlands", "sctf",1,0,-1,-1); // addRotationMap("DX_Badlands", "LCTF",1,0,-1,-1);
// addRotationMap("DX_Desert", "sctf",1,0,-1,-1); // addRotationMap("DX_Desert", "LCTF",1,0,-1,-1);
addRotationMap("DX_Ice", "sctf",1,1,-1,-1); addRotationMap("DX_Ice", "LCTF",1,1,-1,-1);
addRotationMap("PipeDreamLT", "sctf",1,0,-1,-1); addRotationMap("PipeDreamLT", "LCTF",1,0,-1,-1);
addRotationMap("DMP_LavaGods", "sctf",1,0,10,20); addRotationMap("DMP_LavaGods", "LCTF",1,0,10,20);
addRotationMap("DMP_StarFallLT", "sctf",1,1,-1,-1); addRotationMap("DMP_StarFallLT", "LCTF",1,1,-1,-1);
addRotationMap("DMP_BunkeredLT", "sctf",1,1,-1,12); addRotationMap("DMP_BunkeredLT", "LCTF",1,1,-1,12);
addRotationMap("DMP_PariahLT", "sctf",1,1,-1,-1); addRotationMap("DMP_PariahLT", "LCTF",1,1,-1,-1);
//Not Voteable, Not in rotation //Not Voteable, Not in rotation
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
//addRotationMap("SurrealLT", "sctf",1,0,-1,-1); //addRotationMap("SurrealLT", "LCTF",1,0,-1,-1);
addRotationMap("DuelersDelight", "sctf",1,0,-1,12); addRotationMap("DuelersDelight", "LCTF",1,0,-1,12);
addRotationMap("SmallSpit", "sctf",1,1,-1,14); addRotationMap("SmallSpit", "LCTF",1,1,-1,14);
addRotationMap("BonespurLT", "sctf",1,1,-1,14); addRotationMap("BonespurLT", "LCTF",1,1,-1,14);
addRotationMap("Bridgepoint", "sctf",1,1,-1,14); addRotationMap("Bridgepoint", "LCTF",1,1,-1,14);
addRotationMap("NarcolepsyLT", "sctf",1,1,-1,14); addRotationMap("NarcolepsyLT", "LCTF",1,1,-1,14);
addRotationMap("WhiteDwarfDeluxeLT", "sctf",1,0,-1,14); addRotationMap("WhiteDwarfDeluxeLT", "LCTF",1,0,-1,14);
addRotationMap("ClusterUnFuct", "sctf",1,1,8,-1); addRotationMap("ClusterUnFuct", "LCTF",1,1,8,-1);
addRotationMap("OuterWilds", "sctf",1,1,-1,12); addRotationMap("OuterWilds", "LCTF",1,1,-1,12);
addRotationMap("Drafts", "sctf",1,1,-1,12); addRotationMap("Drafts", "LCTF",1,1,-1,12);
addRotationMap("DermCrossingDeluxeLT", "sctf",1,1,-1,-1); addRotationMap("DermCrossingDeluxeLT", "LCTF",1,1,-1,-1);
addRotationMap("SuperiorWaterworks", "sctf",1,0,-1,12); addRotationMap("SuperiorWaterworks", "LCTF",1,0,-1,12);
addRotationMap("FrozenForgeLT", "sctf",1,1,-1,20); addRotationMap("FrozenForgeLT", "LCTF",1,1,-1,20);
addRotationMap("TWL2_CelerityLT", "sctf",1,1,-1,20); addRotationMap("TWL2_CelerityLT", "LCTF",1,1,-1,20);
addRotationMap("El_Fin", "sctf",1,1,-1,14); addRotationMap("El_Fin", "LCTF",1,1,-1,14);
// _____ _ _ _ _ // _____ _ _ _ _

View file

@ -114,6 +114,7 @@ $Host::LakRabbitPubPro = 0;
$Host::LakRabbitShowFlagIcon = 1; $Host::LakRabbitShowFlagIcon = 1;
$Host::LakRabbitShowFlagTask = 0; $Host::LakRabbitShowFlagTask = 0;
$Host::LakRabbitUnlimitedDJ = 1; $Host::LakRabbitUnlimitedDJ = 1;
$Host::LCTFProMode = 0;
$Host::LoadingScreenUseDebrief = 1; $Host::LoadingScreenUseDebrief = 1;
$Host::LoadScreenColor1 = "05edad"; $Host::LoadScreenColor1 = "05edad";
$Host::LoadScreenColor2 = "29DEE7"; $Host::LoadScreenColor2 = "29DEE7";
@ -158,7 +159,6 @@ $Host::PUGautoPassword = 0;
$Host::PUGPassword = "pickup"; $Host::PUGPassword = "pickup";
$Host::PUGpasswordAlwaysOn = 0; $Host::PUGpasswordAlwaysOn = 0;
$Host::PureServer = 0; $Host::PureServer = 0;
$Host::SCtFProMode = 0;
$Host::ServerRules1 = "\c2if\c4(\c3%client.attitude \c4$= \c5\"fun\" \c4&& \c3%client.Llama_Grabs \c4< \c51\c4) {"; $Host::ServerRules1 = "\c2if\c4(\c3%client.attitude \c4$= \c5\"fun\" \c4&& \c3%client.Llama_Grabs \c4< \c51\c4) {";
$Host::ServerRules2 = " \c1keepTeamsBalanced\c4(\c2%client\c4); \c1dontSwitch2WinningTeam(\c2%client\c4); }"; $Host::ServerRules2 = " \c1keepTeamsBalanced\c4(\c2%client\c4); \c1dontSwitch2WinningTeam(\c2%client\c4); }";
$Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4$= \c5\"too_serious\"\c4) {"; $Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4$= \c5\"too_serious\"\c4) {";

2524
Classic/scripts/LCTFGame.cs Normal file

File diff suppressed because it is too large Load diff

99
Classic/scripts/aiLCTF.cs Normal file
View file

@ -0,0 +1,99 @@
//-----------------------------------------------
// AI functions for Spawn CtF >> LCTF
function LCTFGame::onAIRespawn(%game, %client)
{
//add the default task
if (! %client.defaultTasksAdded)
{
%client.defaultTasksAdded = true;
%client.addTask(AIEngageTask);
%client.addTask(AIPickupItemTask);
%client.addTask(AITauntCorpseTask);
%client.addtask(AIEngageTurretTask);
%client.addtask(AIDetectMineTask);
%client.addtask(AIDetectRemeqTask); // -- Lagg... ---- 1-9-2003
%client.addtask(AIPilotTask); // BotPilot: Josef "Werewolf" Jahn
}
}
function LCTFGame::AIInit(%game)
{
// load external objectives files
loadObjectives();
for (%i = 1; %i <= %game.numTeams; %i++)
{
if (!isObject($ObjectiveQ[%i]))
{
$ObjectiveQ[%i] = new AIObjectiveQ();
MissionCleanup.add($ObjectiveQ[%i]);
}
error("team " @ %i @ " objectives load...");
$ObjectiveQ[%i].clear();
AIInitObjectives(%i, %game);
}
//call the default AIInit() function
AIInit();
}
function LCTFGame::AIplayerCaptureFlipFlop(%game, %player, %flipFlop)
{
}
function LCTFGame::AIplayerTouchEnemyFlag(%game, %player, %flag)
{
}
function LCTFGame::AIplayerTouchOwnFlag(%game, %player, %flag)
{
}
function LCTFGame::AIflagCap(%game, %player, %flag)
{
//signal the flag cap event
AIRespondToEvent(%player.client, 'EnemyFlagCaptured', %player.client);
// MES - changed above line - did not pass args in correct order
}
function LCTFGame::AIplayerDroppedFlag(%game, %player, %flag)
{
}
function LCTFGame::AIflagReset(%game, %flag)
{
}
function LCTFGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement)
{
if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team)
{
schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0);
//clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob!
%clVictim.lastDamageClient = -1;
}
}
function LCTFGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement)
{
if (%clVictim.team != %clAttacker.team)
DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement);
}
function LCTFGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement)
{
DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement);
}
function LCTFGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement)
{
if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim && !%clVictim.isAIControlled())
{
// The Bot is only a little sorry:
if ( getRandom() > 0.9 )
AIMessageThread("ChatSorry", %clAttacker, %clVictim);
}
}

View file

@ -54,7 +54,7 @@ function GetTeamCounts(%game)
if(!$Host::TournamentMode) if(!$Host::TournamentMode)
{ {
if($CurrentMissionType $= "CTF") //No SCtF if($CurrentMissionType $= "CTF") //No LCTF
NBRStatusNotify(%game); //Base Rape NBRStatusNotify(%game); //Base Rape
if($CurrentMissionType $= "CTF" || $CurrentMissionType $= "DM") if($CurrentMissionType $= "CTF" || $CurrentMissionType $= "DM")

View file

@ -145,6 +145,7 @@ function CreateServer(%mission, %missionType)
exec("scripts/defaultGame.cs"); exec("scripts/defaultGame.cs");
exec("scripts/CTFGame.cs"); exec("scripts/CTFGame.cs");
exec("scripts/SCtFGame.cs"); exec("scripts/SCtFGame.cs");
exec("scripts/LCTFGame.cs");
exec("scripts/PracticeCTFGame.cs"); exec("scripts/PracticeCTFGame.cs");
exec("scripts/TeamHuntersGame.cs"); exec("scripts/TeamHuntersGame.cs");
exec("scripts/SinglePlayerGame.cs"); exec("scripts/SinglePlayerGame.cs");
@ -175,6 +176,7 @@ function CreateServer(%mission, %missionType)
(%type !$= PracticeCTFGame) && (%type !$= PracticeCTFGame) &&
(%type !$= RabbitGame) && (%type !$= RabbitGame) &&
(%type !$= SCtFGame) && (%type !$= SCtFGame) &&
(%type !$= LCTFGame) &&
(%type !$= SiegeGame) && (%type !$= SiegeGame) &&
(%type !$= SinglePlayerGame) && (%type !$= SinglePlayerGame) &&
(%type !$= TeamHuntersGame) && (%type !$= TeamHuntersGame) &&

View file

@ -132,7 +132,7 @@ $Host::PUGautoPassword = 0; //Auto enable a password in tournament mode
$Host::PUGPassword = "pickup"; //PUG password, Auto or enable/disable thru admin menu $Host::PUGPassword = "pickup"; //PUG password, Auto or enable/disable thru admin menu
$Host::PUGpasswordAlwaysOn = 0; //If you want the pug password Always on $Host::PUGpasswordAlwaysOn = 0; //If you want the pug password Always on
$Host::DMSLOnlyMode = 0; //Shocklance Only Mode for Deathmatch $Host::DMSLOnlyMode = 0; //Shocklance Only Mode for Deathmatch
$Host::SCtFProMode = 0; //Pro mode for LCTF $Host::LCTFProMode = 0; //Pro mode for LCTF
$Host::LoadingScreenUseDebrief = 1; //Enable Debrief Style Loading screen; Gives you more lines and MOTD $Host::LoadingScreenUseDebrief = 1; //Enable Debrief Style Loading screen; Gives you more lines and MOTD
$Host::LoadScreenColor1 = "05edad"; //Loading Screen color; First Column $Host::LoadScreenColor1 = "05edad"; //Loading Screen color; First Column
$Host::LoadScreenColor2 = "29DEE7"; //Loading Screen color; Second Column $Host::LoadScreenColor2 = "29DEE7"; //Loading Screen color; Second Column