mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-01-19 16:14:44 +00:00
NoEvo Redo
This commit is contained in:
parent
b84ddd8859
commit
facba6d9cd
Binary file not shown.
Binary file not shown.
538
Classic/prefs/MapRotation.cs
Normal file
538
Classic/prefs/MapRotation.cs
Normal file
|
|
@ -0,0 +1,538 @@
|
||||||
|
// __ __ _____ _ _ _
|
||||||
|
// | \/ | | __ \ | | | | (_)
|
||||||
|
// | \ / | __ _ _ __ | |__) |___ | |_ __ _| |_ _ ___ _ __
|
||||||
|
// | |\/| |/ _` | '_ \ | _ // _ \| __/ _` | __| |/ _ \| '_ \
|
||||||
|
// | | | | (_| | |_) | | | \ \ (_) | || (_| | |_| | (_) | | | |
|
||||||
|
// |_| |_|\__,_| .__/ |_| \_\___/ \__\__,_|\__|_|\___/|_| |_|
|
||||||
|
// | |
|
||||||
|
// |_|
|
||||||
|
//
|
||||||
|
// Use of this file
|
||||||
|
// To add a new map follow this rules:
|
||||||
|
// 1. Find the file name, ending in .mis (ie BeggarsRun.mis)
|
||||||
|
// 2. Add a line with this syntact: addRotationMap(filename, gametype, %voteable, %cycle, %min. %max);
|
||||||
|
//
|
||||||
|
//addRotationMap("MAP_NAME","MAP_MODE",VOTEABLE,IN-ROTATION,MINIMUM_PLAYERS,MAXIMUM_PLAYERS);
|
||||||
|
//
|
||||||
|
// Example: addRotationMap("BeggarsRun","CTF",1,1,-1,64);
|
||||||
|
// Beggar's Run will be in the mapRotation. It's in the cycle and can be voted. The map has no minimum player count requirement, and a 64 player max.
|
||||||
|
//
|
||||||
|
// Example: addRotationMap("BeggarsRun","CTF",1,0,10,20);
|
||||||
|
// Beggar's Run will be in the mapRotation. It's not in the cycle, but can be voted. The map has a minimum player count requirement of 10, and 20 players is the maximum to be picked.
|
||||||
|
//
|
||||||
|
// Example: addRotationMap("BeggarsRun","CTF",0,0,18,-1);
|
||||||
|
// Beggar's Run won't be in the mapRotation. It's not in the cycle and can't be voted. The map has a minimum player count requirement of 18, and has no maximum for players.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//addRotationMap("Casern_Cavite","Bounty",1,1,0,64);
|
||||||
|
//addRotationMap("Sirocco","CnH",1,1,0,64);
|
||||||
|
//addRotationMap("aabaaGH","CTF",1,0,0,64);
|
||||||
|
//addRotationMap("AcidRain","DnD",1,1,0,64);
|
||||||
|
//addRotationMap("AgentsOfFortune","Hunters",1,1,0,64);
|
||||||
|
//addRotationMap("SunDriedLak1","LakRabbit",1,1,0,64);
|
||||||
|
//addRotationMap("Arrakis","Rabbit",1,1,0,64);
|
||||||
|
//addRotationMap("VulcansHammer","Siege",1,1,0,64);
|
||||||
|
//addRotationMap("AgentsOfFortune","TeamHunters",1,1,0,64);
|
||||||
|
//
|
||||||
|
// _____ _______ ______
|
||||||
|
// / ____|__ __| ____|
|
||||||
|
// | | | | | |__
|
||||||
|
// | | | | | __|
|
||||||
|
// | |____ | | | |
|
||||||
|
// \_____| |_| |_|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//Small Maps
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("SmallCrossing", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("TWL2_CanyonCrusadeDeluxe", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("RoundTheMountain", "CTF",1,1,-1,14);
|
||||||
|
addRotationMap("oasisintensity", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("Minotaur", "CTF",1,0,-1,12);
|
||||||
|
//addRotationMap("Island", "CTF",1,1,-1,12);
|
||||||
|
//addRotationMap("TitForTat", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("SmallMelee", "CTF",1,0,-1,12);
|
||||||
|
//addRotationMap("SuperHappyBouncyFunTime", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("Machineeggs", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("Mac_FlagArena", "CTF",1,0,-1,12);
|
||||||
|
addRotationMap("SmallTimeCTF", "CTF",1,1,-1,10);
|
||||||
|
addRotationMap("TWL2_Hildebrand", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("ArenaDome", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("Firestorm", "CTF",1,1,-1,12);
|
||||||
|
addRotationMap("Bulwark", "CTF",1,1,-1,12);
|
||||||
|
|
||||||
|
//Medium Maps
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("HighOctane", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("S5_Mordacity", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("S5_Damnation", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TWL2_JaggedClaw", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("S5_Massive", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TWL_Stonehenge", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TWL_Feign", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("TheFray", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("DangerousCrossing_nef", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TWL2_Skylight", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("TWL2_Ocular", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("Dire", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("berlard", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("S8_Opus", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("BeggarsRun", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Headstone", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Signal", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("S5_Woodymyrk", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("Discord", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TenebrousCTF", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("Pariah", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Prismatic", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("TWL_WilderZone", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("Mirage", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("S5_Mimicry", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("TWL_Snowblind", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("ShortFall", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("IceRidge_nef", "CTF",1,0,8,20);
|
||||||
|
//addRotationMap(Disjointed", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("TWL2_MuddySwamp", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Blink", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("HighAnxiety", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("S5_Centaur", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("S8_Cardiac", "CTF",1,1,12,24);
|
||||||
|
addRotationMap("CirclesEdge", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("S5_Icedance", "CTF",1,1,8,20);
|
||||||
|
addRotationMap("Surreal", "CTF",1,1,8,20);
|
||||||
|
|
||||||
|
//Voteable but Not in Rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//addRotationMap("Snowcone", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("S5_Drache", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("S5_HawkingHeat", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("JadeValley", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("S5_Sherman", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("S5_Silenus", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("TWL2_FrozenHope", "CTF",1,0,8,20);
|
||||||
|
//addRotationMap("TWL2_IceDagger", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("S5_Reynard", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("TWL_Cinereous", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("TWL_OsIris, CTF", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("Coppersky", "CTF",1,0,8,20);
|
||||||
|
//addRotationMap("TWL2_Crevice", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("TWL_SubZero", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("TWL_Titan", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("Confusco", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("Fallout", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("TheClocktower", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("oylentGreen", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("TWL2_MidnightMayhemDeluxe", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Nightdance", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap("Ramparts", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("TWL2_Celerity", "CTF",1,0,8,20);
|
||||||
|
addRotationMap("Blastside_nef", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("Infernus", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("NatureMagic", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap(TWL_Damnation", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap(TWL_DangerousCrossing", "CTF",1,0,10,20);
|
||||||
|
//addRotationMap(TWL_DeadlyBirdsSong", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("Vauban", "CTF",1,0,12,20);
|
||||||
|
|
||||||
|
//Vehicle Maps
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("HostileLoch", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("TWL_BeachBlitz", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("TWL2_Magnum", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("Logans_Run", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("Rollercoaster_nef", "CTF",1,1,12,24);
|
||||||
|
addRotationMap("MoonDance", "CTF",1,1,12,24);
|
||||||
|
addRotationMap("Raindance_nef", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("TWL_Magmatic", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("TWL2_FrozenGlory", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("LandingParty", "CTF",1,1,12,20);
|
||||||
|
addRotationMap("TitanV", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("TWL_Crossfire", "CTF",1,1,12,20);
|
||||||
|
//addRotationMap("Surro", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("The_Calm", "CTF",1,0,12,20);
|
||||||
|
|
||||||
|
//Vehicle Maps: Voteable, But Not in Rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("SubZeroV", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("TWL2_RoughLand", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("S8_Geothermal", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("Lakefront", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("ShockRidge", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("TWL2_BlueMoon", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("FullCircle", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("TWL_Katabatic", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("TWL_Starfallen", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("ConstructionYard", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("AcidRain", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("SandOcean", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("StarIce", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("ks_braistv", "CTF",1,0,12,20);
|
||||||
|
addRotationMap("FilteredDust", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("Choke", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("TWL2_Ruined", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("TWL_Chokepoint", "CTF",1,0,12,20);
|
||||||
|
//addRotationMap("Glade", "CTF",1,0,12,20);
|
||||||
|
|
||||||
|
//BIG Vehicle Maps
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("HarvestDance", "CTF",1,1,18,32);
|
||||||
|
addRotationMap("WindyGap", "CTF",1,1,20,32);
|
||||||
|
addRotationMap("Fenix", "CTF",1,1,24,32);
|
||||||
|
addRotationMap("Hillside", "CTF",1,1,20,32);
|
||||||
|
//addRotationMap("Sangre_de_Grado", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("Slapdash", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("BerylBasin", "CTF",1,0,18,32);
|
||||||
|
//addRotationMap("TWL_Frozen", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("TWL_Harvester", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("Archipelago", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("TWL2_Bleed", "CTF",1,0,20,32);
|
||||||
|
//addRotationMap("Pantheon", "CTF",1,0,20,32);
|
||||||
|
addRotationMap("Circleofstones", "CTF",1,1,20,32);
|
||||||
|
addRotationMap("Scarabrae_nef", "CTF",1,0,20,32);
|
||||||
|
|
||||||
|
//Not In Rotation - Not Voteable
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//addRotationMap("Sandstorm", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Starfallen", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Stonehenge_nef", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Extractor", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("AstersDescent", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Azoth", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("BattleGrove", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Durango", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("DustLust", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("IceGulch", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("MountainMist", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Peak", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Pendulum", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("S5_Misadventure", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("S8_CentralDogma", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("S8_Mountking", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("S8_Zilch", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_CloakOfNight", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Dissention", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Drifts", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Drorck", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Norty", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Abaddon", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_BaNsHee", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Boss", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_NoShelter", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Clusterfuct", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Curtilage", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Deserted", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Frostclaw", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Horde", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Neve", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Pandemonium", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Ramparts", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Sandstorm", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_WoodyMyrk", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("OctoberRust", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("DevilsElbow", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("CloudCity", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Damnation", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("DeathBirdsFly", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Desiccator", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("DustToDust", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Katabatic", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Quagmire", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Recalescence", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Reversion", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("RiverDance", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Sanctuary", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("ThinIce", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Tombstone", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Broadside_nef", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Camelland", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("HighTrepidation", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("SmallDesertofDeath", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Agorazscium", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("BasinFury", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Cadaver", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("EivoItoxico", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Einfach", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("PicnicTable", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Hostility", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("HighWire", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("CloudBurst", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("CloseCombat", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("DesertofDeath_nef", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Gorgon", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Magamatic", "CTF",1,0,-1,32);
|
||||||
|
//addRotationMap("Sub-zero", "CTF",1,0,-1,32);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// _ _ _ _ _ _
|
||||||
|
// | | | | | | | | (_) |
|
||||||
|
// | | __ _| | ___ __ __ _| |__ | |__ _| |_
|
||||||
|
// | | / _` | |/ / '__/ _` | '_ \| '_ \| | __|
|
||||||
|
// | |___| (_| | <| | | (_| | |_) | |_) | | |_
|
||||||
|
// |______\__,_|_|\_\_| \__,_|_.__/|_.__/|_|\__|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//In Rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("VaubanLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("MiniSunDried", "Lakrabbit",1,1,-1,12);
|
||||||
|
addRotationMap("Sundance", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("TWL_BeachBlitzLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("DesertofDeathLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("Raindance_nefLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("SunDriedLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("SkinnyDipLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("SaddiesHill", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("HavenLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("LushLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("BoxLak", "Lakrabbit",1,1,-1,10);
|
||||||
|
addRotationMap("TitaniaLak", "Lakrabbit",1,0,8,32);
|
||||||
|
addRotationMap("TibbawLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("InfernusLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("S8_GeothermalLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("CankerLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("DustRunLak", "Lakrabbit",1,1,-1,32);
|
||||||
|
addRotationMap("CrossfiredLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
|
||||||
|
//Voteable, But not in rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("TreasureIslandLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("Sulfide", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("FrozenFuryLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("Arrakis", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("EquinoxLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("PhasmaDustLak", "Lakrabbit",1,1,-1,12);
|
||||||
|
addRotationMap("GodsRiftLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("SolsDescentLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
addRotationMap("Crater71Lak", "Lakrabbit",1,0,-1,32);
|
||||||
|
|
||||||
|
//Not Voteable, Not in rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//addRotationMap("EscaladeLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("MagmaticLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("HillsOfSorrow", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_MuddySwampLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("SandStormLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("BeggarsRunLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
//addRotationMap("DamnnationLak", "Lakrabbit",1,0,-1,32);
|
||||||
|
|
||||||
|
|
||||||
|
// _ _____ _______ ______
|
||||||
|
// | | / ____|__ __| ____|
|
||||||
|
// | | | | | | | |__
|
||||||
|
// | | | | | | | __|
|
||||||
|
// | |___| |____ | | | |
|
||||||
|
// |______\_____| |_| |_|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//In Rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("BastardForgeLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("FirestormLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("DangerousCrossingLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("SmallCrossingLT", "sctf",1,0,-1,12);
|
||||||
|
addRotationMap("DireLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("RoundTheMountainLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("CirclesEdgeLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TenebrousCTF", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TheFray", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("SignalLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("StarFallLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("S5_DamnationLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("S5_Icedance", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("S5_Mordacity", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("S5_SilenusLT", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("TWL2_CanyonCrusadeDeluxeLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL2_FrozenHopeLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_JaggedClawLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL2_HildebrandLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL2_SkylightLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_BeachBlitzLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL_FeignLT", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("TWL_RollercoasterLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL_StonehengeLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL_WilderZoneLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("oasisintensity", "sctf",1,1,-1,10);
|
||||||
|
addRotationMap("berlard", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("RaindanceLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("SmallTimeLT", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("ArenaDome", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("Bulwark", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("Discord", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("JadeValley", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("S5_MassiveLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("Blink", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("HillSideLT", "sctf",1,1,-1,12);
|
||||||
|
addRotationMap("IcePick", "sctf",1,1,-1,16);
|
||||||
|
addRotationMap("OsIrisLT", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("GrassyKnoll", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("TWL2_MuddySwamp", "sctf",1,1,8,32);
|
||||||
|
addRotationMap("SandyRunLT", "sctf",1,1,-1,12);
|
||||||
|
|
||||||
|
//Voteable, But not in rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("CamellandLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Headstone", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("Mirage", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("BeggarsRunLT", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("S5_HawkingHeat", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("S5_Mimicry", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("S5_Woodymyrk", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("S8_Cardiac", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Celerity", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Crevice", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("S8_Opus", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_MidnightMayhemDeluxe", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL2_Ocular", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Cinereous", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Deserted", "sctf",1,0,-1,32);
|
||||||
|
addRotationMap("TWL_DangerousCrossing", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_OsIris", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Damnation", "sctf",1,0,-1,32);
|
||||||
|
//addRotationMap("TWL_Titan", "sctf",1,0,-1,32);
|
||||||
|
|
||||||
|
//Not Voteable, Not in rotation
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//addRotationMap("SurrealLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Coppersky", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("DuelersDelight", "sctf",1,0,-1,12);
|
||||||
|
//addRotationMap("SuperHappyBouncyFunTime", "sctf",1,1,-1,32);
|
||||||
|
addRotationMap("PariahLT", "sctf",1,1,-1,16);
|
||||||
|
//addRotationMap("SmallMelee", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TitForTat", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("CloseCombatLT", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Prismatic", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Damnation", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("DustToDust", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Minotaur", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("DesertofDeath_nef", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Gorgon", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Titan", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Mac_FlagArena", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Extractor", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("AstersDescent", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Azoth", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("DustLust", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Disjointed", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Peak", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Snowcone", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S5_Centaur", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S5_Drache", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S5_Misadventure", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S5_Reynard", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S5_Sherman", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S8_Geothermal", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("S8_Zilch", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_Drifts", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_Drorck", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_FrozenGlory", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_IceDagger", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_Norty", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_RoughLand", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL2_Ruined", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_BaNsHee", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Boss", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Crossfire", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_NoShelter", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Clusterfuct", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Curtilage", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_DeadlyBirdsSong", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Frostclaw", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Magamatic", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Neve", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Pandemonium", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("TWL_Ramparts", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("DehSwamp", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("HostileLoch", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("DevilsElbow", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("SmallDesertofDeath", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("ShortFall", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Fallout", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("SoylentGreen", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("Island", "sctf",1,1,-1,32);
|
||||||
|
//addRotationMap("HighOctane", "sctf",1,1,-1,32);
|
||||||
|
|
||||||
|
// _____ _ _ _ _
|
||||||
|
// | __ \ | | | | | | | |
|
||||||
|
// | | | | ___ __ _| |_| |__ _ __ ___ __ _| |_ ___| |__
|
||||||
|
// | | | |/ _ \/ _` | __| '_ \| '_ ` _ \ / _` | __/ __| '_ \
|
||||||
|
// | |__| | __/ (_| | |_| | | | | | | | | (_| | || (__| | | |
|
||||||
|
// |_____/ \___|\__,_|\__|_| |_|_| |_| |_|\__,_|\__\___|_| |_|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("RaspDM", "DM",1,1,8,32);
|
||||||
|
addRotationMap("EntombedDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("IceDomeDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("HoofToeDM", "DM",1,1,6,32);
|
||||||
|
addRotationMap("ArenaDomeDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("VulcansWrathDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("RampartsDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("ShrineDM", "DM",1,1,-1,12);
|
||||||
|
addRotationMap("LiveBaitDM", "DM",1,1,-1,32);
|
||||||
|
addRotationMap("FourSquareDM", "DM",1,1,-1,10);
|
||||||
|
addRotationMap("BrigDM", "DM",1,1,-1,8);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// _____ _
|
||||||
|
// | __ \ | |
|
||||||
|
// | | | |_ _ ___| |
|
||||||
|
// | | | | | | |/ _ \ |
|
||||||
|
// | |__| | |_| | __/ |
|
||||||
|
// |_____/ \__,_|\___|_|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//addRotationMap("AgentsOfFortune", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Casern_Cavite", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Equinox", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Escalade", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Fracas", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Invictus", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("MyrkWood", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Oasis", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Pyroclasm", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Rasp", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("SunDried", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Talus", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Underhill", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Whiteout", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("Tombstone", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("VaubanLak", "Duel",1,1,-1,32);
|
||||||
|
//addRotationMap("DesertofDeathLak", "Duel",1,1,-1,32);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// _____ _
|
||||||
|
// / ____(_)
|
||||||
|
// | (___ _ ___ __ _ ___
|
||||||
|
// \___ \| |/ _ \/ _` |/ _ \
|
||||||
|
// ____) | | __/ (_| | __/
|
||||||
|
// |_____/|_|\___|\__, |\___|
|
||||||
|
// __/ |
|
||||||
|
// |___/
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
addRotationMap("Alcatraz", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("BridgeTooFar", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Caldera", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Gauntlet", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("IceBound", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Isleofman", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Masada", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Respite", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("Trident", "Siege",1,1,-1,32);
|
||||||
|
addRotationMap("UltimaThule", "Siege",1,1,-1,32);
|
||||||
|
|
||||||
|
|
@ -44,7 +44,7 @@ function setArmorDefaults(%armor)
|
||||||
$InvBanList[SCtF, "Mine"] = 0;
|
$InvBanList[SCtF, "Mine"] = 0;
|
||||||
$InvBanList[SCtF, "ConcussionGrenade"] = 0;
|
$InvBanList[SCtF, "ConcussionGrenade"] = 0;
|
||||||
$InvBanList[SCtF, "CameraGrenade"] = 1;
|
$InvBanList[SCtF, "CameraGrenade"] = 1;
|
||||||
$InvBanList[SCtF, "FlareGrenade"] = 0;
|
$InvBanList[SCtF, "FlareGrenade"] = 1;
|
||||||
$InvBanList[SCtF, "FlashGrenade"] = 1;
|
$InvBanList[SCtF, "FlashGrenade"] = 1;
|
||||||
$InvBanList[SCtF, "Grenade"] = 0;
|
$InvBanList[SCtF, "Grenade"] = 0;
|
||||||
//Pro Mode
|
//Pro Mode
|
||||||
|
|
|
||||||
|
|
@ -1,573 +0,0 @@
|
||||||
// __ __ _ _ _ _
|
|
||||||
// | \/ | | | (_) (_) |
|
|
||||||
// | \ / | __ _ _ __ | | _ _ __ ___ _| |_ ___
|
|
||||||
// | |\/| |/ _` | '_ \ | | | | '_ ` _ \| | __/ __|
|
|
||||||
// | | | | (_| | |_) | | |____| | | | | | | | |_\__ \
|
|
||||||
// |_| |_|\__,_| .__/ |______|_|_| |_| |_|_|\__|___/
|
|
||||||
// | |
|
|
||||||
// |_|
|
|
||||||
|
|
||||||
// To set when tribes can select a map(based on the current population of the server) when looking thru the rotation for a suitable Next map.
|
|
||||||
// The First number is the minimum. The Second number is the maximum.
|
|
||||||
//
|
|
||||||
// $Host::MapPlayerLimitsAcidRain_CTF = "8 32";
|
|
||||||
//
|
|
||||||
// This Example shows a map with the mimimum of 8 for the map to be selected, and a max of 32.
|
|
||||||
// Furthermore, if you did not want to have a minimum or maximum you can just set these values to -1.
|
|
||||||
//
|
|
||||||
// To see if a Limit has indeed loaded.
|
|
||||||
// echo( $Host::MapPlayerLimitsSmallCrossing_CTF );
|
|
||||||
// echo( $Host::MapPlayerLimitsHighOctane_CTF );
|
|
||||||
// echo( $Host::MapPlayerLimitsSnowcone_CTF );
|
|
||||||
//
|
|
||||||
// %min SPC %max is just the preset %min SPC(Space) %max in the "Set Values for this Group" section
|
|
||||||
// "8 32" or "-1 -1" or "-1 16" will also work. Just dont forget the quotes.
|
|
||||||
// As the list goes down %min %max will stay the same unless you change them (a new %min = ? %max = ?) etc
|
|
||||||
|
|
||||||
// This is done so a crash cant occur using local variables
|
|
||||||
// Using exec( $Host::EvoCustomMapLimitsFile ); in console
|
|
||||||
function setmaps()
|
|
||||||
{
|
|
||||||
|
|
||||||
// _____ _______ ______
|
|
||||||
// / ____|__ __| ____|
|
|
||||||
// | | | | | |__
|
|
||||||
// | | | | | __|
|
|
||||||
// | |____ | | | |
|
|
||||||
// \_____| |_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Small Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = -1;
|
|
||||||
%max = 18;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsSmallCrossing_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_CanyonCrusadeDeluxe_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRoundTheMountain_CTF = %min SPC "14";
|
|
||||||
$Host::MapPlayerLimitsoasisintensity_CTF = %min SPC "12";
|
|
||||||
$Host::MapPlayerLimitsMinotaur_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsIsland_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTitForTat_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSmallMelee_CTF = %min SPC "12";
|
|
||||||
$Host::MapPlayerLimitsSuperHappyBouncyFunTime_CTF = %min SPC "10";
|
|
||||||
$Host::MapPlayerLimitsMachineeggs_CTF = %min SPC "10";
|
|
||||||
$Host::MapPlayerLimitsMac_FlagArena_CTF = %min SPC "12";
|
|
||||||
$Host::MapPlayerLimitsSmallTimeCTF_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Hildebrand_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsArenaDome_CTF = %min SPC "10";
|
|
||||||
$Host::MapPlayerLimitsFirestorm_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBulwark_CTF = %min SPC "12";
|
|
||||||
|
|
||||||
//Medium Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = 8;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsHighOctane_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Mordacity_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Damnation_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_JaggedClaw_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Massive_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Stonehenge_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Feign_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTheFray_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDangerousCrossing_nef_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Skylight_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ocular_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDire_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsberlard_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_Opus_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBeggarsRun_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSignal_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHeadstone_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Centaur_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_Cardiac_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCirclesEdge_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Icedance_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Woodymyrk_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDiscord_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTenebrousCTF_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsPariah_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsPrismatic_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_WilderZone_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsMirage_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Mimicry_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Snowblind_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsShortFall_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsIceRidge_nef_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDisjointed_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_MuddySwamp_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBlink_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHighAnxiety_CTF = %min SPC %max;
|
|
||||||
|
|
||||||
//Voteable but Not in Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = 10;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsSnowcone_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Drache_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_HawkingHeat_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsJadeValley_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Sherman_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Silenus_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenHope_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_IceDagger_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Reynard_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Cinereous_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_OsIris_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCoppersky_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Crevice_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_SubZero_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Titan_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsConfusco_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFallout_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTheClocktower_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSoylentGreen_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSurreal_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_MidnightMayhemDeluxe_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsNightdance_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRamparts_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Celerity_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBlastside_nef_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsInfernus_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsNatureMagic_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Damnation_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_DangerousCrossing_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_DeadlyBirdsSong_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsVauban_CTF = %min SPC %max;
|
|
||||||
|
|
||||||
//Vehicle Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = 12;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsHostileLoch_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitz_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Magnum_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsLogans_Run_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRollercoaster_nef_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsMoonDance_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRaindance_nef_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Magamatic_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenGlory_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsLandingParty_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTitanV_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Crossfire_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsWindyGap_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSurro_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHarvestDance_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSubZeroV_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsThe_Calm_CTF = %min SPC %max;
|
|
||||||
|
|
||||||
//Vehicle Maps: Voteable, But Not in Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = 12;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsTWL2_RoughLand_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_Geothermal_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsLakefront_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsShockRidge_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_BlueMoon_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFullCircle_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Katabatic_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Starfallen_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsConstructionYard_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsAcidRain_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSandOcean_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsStarIce_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsks_braistv_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFilteredDust_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsChoke_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ruined_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Chokepoint_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsGlade_CTF = %min SPC %max;
|
|
||||||
|
|
||||||
//BIG Vehicle Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = 14;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsFenix_CTF = "18" SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHillside_CTF = "18" SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSangre_de_Grado_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSlapdash_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Bleed_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Harvester_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsArchipelago_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsPantheon_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCircleofstones_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBerylBasin_CTF = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Frozen_CTF = %min SPC %max;
|
|
||||||
|
|
||||||
//Not In Rotation - Not Voteable
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//$Host::MapPlayerLimitsSandstorm_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsScarabrae_nef_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsStarfallen_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsStonehenge_nef_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsExtractor_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsAstersDescent_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsAzoth_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsBattleGrove_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDurango_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDustLust_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsIceGulch_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsMountainMist_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPeak_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPendulum_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Misadventure_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS8_CentralDogma_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS8_Mountking_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS8_Zilch_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_CloakOfNight_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Dissention_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Drifts_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Drorck_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Norty_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Abaddon_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_BaNsHee_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Boss_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_NoShelter_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Clusterfuct_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Curtilage_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Deserted_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Frostclaw_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Horde_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Neve_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Pandemonium_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Ramparts_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Sandstorm_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_WoodyMyrk_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsOctoberRust_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDevilsElbow_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCloudCity_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDamnation_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDeathBirdsFly_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDesiccator_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDustToDust_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsKatabatic_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsQuagmire_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsRecalescence_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsReversion_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsRiverDance_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSanctuary_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsThinIce_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTombstone_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsBroadside_nef_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCamelland_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHighTrepidation_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSmallDesertofDeath_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsAgorazscium_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsBasinFury_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCadaver_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsEivoItoxico_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsEinfach_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPicnicTable_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHostility_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHighWire_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCloudBurst_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCloseCombat_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDesertofDeath_nef_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsGorgon_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsMagamatic_CTF = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSub-zero_CTF = "8 32";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _ _ _ _ _ _
|
|
||||||
// | | | | | | | | (_) |
|
|
||||||
// | | __ _| | ___ __ __ _| |__ | |__ _| |_
|
|
||||||
// | | / _` | |/ / '__/ _` | '_ \| '_ \| | __|
|
|
||||||
// | |___| (_| | <| | | (_| | |_) | |_) | | |_
|
|
||||||
// |______\__,_|_|\_\_| \__,_|_.__/|_.__/|_|\__|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//In Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = -1;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsVaubanLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsMiniSunDried_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSundance_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitzLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDesertofDeathLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRaindance_nefLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSunDriedLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSkinnyDipLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSaddiesHill_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHavenLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsLushLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBoxLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTitaniaLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTibbawLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsInfernusLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_GeothermalLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCankerLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDustRunLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCrossfiredLak_LakRabbit = %min SPC %max;
|
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsTreasureIslandLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSulfide_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFrozenFuryLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsArrakis_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsEquinoxLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsPhasmaDustLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsGodsRiftLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSolsDescentLak_LakRabbit = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCrater71Lak_LakRabbit = %min SPC %max;
|
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//$Host::MapPlayerLimitsEscaladeLak_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsMagmaticLak_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHillsOfSorrow_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_MuddySwampLak_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSandStormLak_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsBeggarsRunLak_LakRabbit = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDamnnationLak_LakRabbit = "8 32";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _ _____ _______ ______
|
|
||||||
// | | / ____|__ __| ____|
|
|
||||||
// | | | | | | | |__
|
|
||||||
// | | | | | | | __|
|
|
||||||
// | |___| |____ | | | |
|
|
||||||
// |______\_____| |_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//In Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = -1;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsBastardForgeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFirestormLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDangerousCrossingLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSmallCrossingLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDireLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRoundTheMountainLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsCirclesEdgeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTenebrousCTF_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTheFray_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSignalLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsStarFallLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_DamnationLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Icedance_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Mordacity_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_SilenusLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_CanyonCrusadeDeluxeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenHopeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_JaggedClawLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_HildebrandLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_SkylightLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitzLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_FeignLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_RollercoasterLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_StonehengeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_WilderZoneLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsoasisintensity_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsberlard_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRaindanceLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsSmallTimeLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsArenaDome_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBulwark_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsDiscord_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsJadeValley_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_MassiveLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBlink_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHillTopHop_sctf = %min SPC %max;
|
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsHeadstone_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsMirage_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBeggarsRunLT_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_HawkingHeat_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Mimicry_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS5_Woodymyrk_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_Cardiac_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Celerity_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Crevice_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsS8_Opus_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_MidnightMayhemDeluxe_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ocular_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Cinereous_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Deserted_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_DangerousCrossing_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_OsIris_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Damnation_sctf = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsTWL_Titan_sctf = %min SPC %max;
|
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//$Host::MapPlayerLimitsSurrealLT_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCoppersky_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDuelersDelight_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSuperHappyBouncyFunTime_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPariahLT_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSmallMelee_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTitForTat_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCloseCombatLT_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPrismatic_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDamnation_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDustToDust_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsMinotaur_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDesertofDeath_nef_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsGorgon_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTitan_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsMac_FlagArena_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsExtractor_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsAstersDescent_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsAzoth_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDustLust_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDisjointed_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsPeak_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSnowcone_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Centaur_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Drache_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Misadventure_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Reynard_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS5_Sherman_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS8_Geothermal_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsS8_Zilch_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Drifts_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Drorck_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_FrozenGlory_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_IceDagger_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_MuddySwamp_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Norty_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_RoughLand_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL2_Ruined_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_BaNsHee_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Boss_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Crossfire_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_NoShelter_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Clusterfuct_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Curtilage_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_DeadlyBirdsSong_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Frostclaw_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Magamatic_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Neve_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Pandemonium_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsTWL_Ramparts_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDehSwamp_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHostileLoch_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsDevilsElbow_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsCamelland_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSmallDesertofDeath_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsShortFall_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsFallout_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsSoylentGreen_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsIsland_sctf = "8 32";
|
|
||||||
//$Host::MapPlayerLimitsHighOctane_sctf = "8 32";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _ _ _ _
|
|
||||||
// | __ \ | | | | | | | |
|
|
||||||
// | | | | ___ __ _| |_| |__ _ __ ___ __ _| |_ ___| |__
|
|
||||||
// | | | |/ _ \/ _` | __| '_ \| '_ ` _ \ / _` | __/ __| '_ \
|
|
||||||
// | |__| | __/ (_| | |_| | | | | | | | | (_| | || (__| | | |
|
|
||||||
// |_____/ \___|\__,_|\__|_| |_|_| |_| |_|\__,_|\__\___|_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
%min = -1;
|
|
||||||
%max = 32;
|
|
||||||
|
|
||||||
$Host::MapPlayerLimitsRaspDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsEntombedDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsIceDomeDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsHoofToeDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsArenaDomeDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsVulcansWrathDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsRampartsDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsShrineDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsLiveBaitDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsFourSquareDM_DM = %min SPC %max;
|
|
||||||
$Host::MapPlayerLimitsBrigDM_DM = %min SPC %max;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _
|
|
||||||
// | __ \ | |
|
|
||||||
// | | | |_ _ ___| |
|
|
||||||
// | | | | | | |/ _ \ |
|
|
||||||
// | |__| | |_| | __/ |
|
|
||||||
// |_____/ \__,_|\___|_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
//%min = -1;
|
|
||||||
//%max = 32;
|
|
||||||
|
|
||||||
//$Host::MapPlayerLimitsAgentsOfFortune_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsCasern_Cavite_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsEquinox_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsEscalade_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsFracas_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsInvictus_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsMyrkWood_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsOasis_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsPyroclasm_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsRasp_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsSunDried_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsTalus_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsUnderhill_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsWhiteout_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsTombstone_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsVaubanLak_Duel = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsDesertofDeathLak_Duel = %min SPC %max;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _
|
|
||||||
// / ____(_)
|
|
||||||
// | (___ _ ___ __ _ ___
|
|
||||||
// \___ \| |/ _ \/ _` |/ _ \
|
|
||||||
// ____) | | __/ (_| | __/
|
|
||||||
// |_____/|_|\___|\__, |\___|
|
|
||||||
// __/ |
|
|
||||||
// |___/
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Set Values for this Group
|
|
||||||
//%min = -1;
|
|
||||||
//%max = 32;
|
|
||||||
|
|
||||||
//$Host::MapPlayerLimitsIsleofman_Siege = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsTrident_Siege = %min SPC %max;
|
|
||||||
//$Host::MapPlayerLimitsAlcatraz_Siege = %min SPC %max;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run our function
|
|
||||||
setmaps();
|
|
||||||
|
|
@ -1,530 +0,0 @@
|
||||||
// __ __ _____ _ _ _
|
|
||||||
// | \/ | | __ \ | | | | (_)
|
|
||||||
// | \ / | __ _ _ __ | |__) |___ | |_ __ _| |_ _ ___ _ __
|
|
||||||
// | |\/| |/ _` | '_ \ | _ // _ \| __/ _` | __| |/ _ \| '_ \
|
|
||||||
// | | | | (_| | |_) | | | \ \ (_) | || (_| | |_| | (_) | | | |
|
|
||||||
// |_| |_|\__,_| .__/ |_| \_\___/ \__\__,_|\__|_|\___/|_| |_|
|
|
||||||
// | |
|
|
||||||
// |_|
|
|
||||||
//
|
|
||||||
// Use of this file
|
|
||||||
// To add a new map follow this rules:
|
|
||||||
// 1. Find the file name, ending in .mis (ie BeggarsRun.mis)
|
|
||||||
// 2. Add a line with this syntact: addRotationMap(filename, gametype, %ffa, %cycle);
|
|
||||||
//
|
|
||||||
// %ffa = changing this to 0, will remove the map from the FFA mode
|
|
||||||
// %cycle = changing this to 0 will remove the map from the FFA cycle, but not from the rotation (optional)
|
|
||||||
// if %ffa is 0, %cycle is useless
|
|
||||||
//
|
|
||||||
// Note: filename must be written without .mis
|
|
||||||
//
|
|
||||||
// Example: addRotationMap(BeggarsRun, CTF, 1, 1);
|
|
||||||
// Beggar's Run will be in the FFA mapRotation. It's in the cycle and can be voted
|
|
||||||
//
|
|
||||||
// Example: addRotationMap(BeggarsRun, CTF, 1, 0);
|
|
||||||
// Beggar's Run will be in the FFA mapRotation. It's not in the cycle, but can be voted
|
|
||||||
//
|
|
||||||
// Example: addRotationMap(BeggarsRun, CTF, 0);
|
|
||||||
// Beggar's Run won't be in the FFA mapRotation. It's not in the cycle and can't be voted
|
|
||||||
//
|
|
||||||
// Info:
|
|
||||||
// If you don't want a map to be played neither in Tournement Mode, write // at the beginning of the line (or delete the line)
|
|
||||||
// If you don't want a gametype to be played, just don't add any map of that gametype
|
|
||||||
// Some Mods (ie LakLakRabbit) use own maps. To use this mods, you must add the maps in this file
|
|
||||||
// %cycle variable is optional and if not included the map will always be in the cycle (if %ffa is 1).
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _______ ______
|
|
||||||
// / ____|__ __| ____|
|
|
||||||
// | | | | | |__
|
|
||||||
// | | | | | __|
|
|
||||||
// | |____ | | | |
|
|
||||||
// \_____| |_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//Small Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(SmallCrossing, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_CanyonCrusadeDeluxe, CTF, 1, 1);
|
|
||||||
addRotationMap(RoundTheMountain, CTF, 1, 1);
|
|
||||||
addRotationMap(oasisintensity, CTF, 1, 1);
|
|
||||||
addRotationMap(Minotaur, CTF, 1, 0);
|
|
||||||
addRotationMap(Island, CTF, 1, 0);
|
|
||||||
addRotationMap(TitForTat, CTF, 1, 0);
|
|
||||||
addRotationMap(SmallMelee, CTF, 1, 0);
|
|
||||||
addRotationMap(SuperHappyBouncyFunTime, CTF, 1, 0);
|
|
||||||
addRotationMap(Machineeggs, CTF, 1, 0);
|
|
||||||
addRotationMap(Mac_FlagArena, CTF, 1, 0);
|
|
||||||
addRotationMap(SmallTimeCTF, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_Hildebrand, CTF, 1, 1);
|
|
||||||
addRotationMap(ArenaDome, CTF, 1, 0);
|
|
||||||
addRotationMap(Firestorm, CTF, 1, 0);
|
|
||||||
|
|
||||||
//Medium Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(HighOctane, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Mordacity, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Damnation, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_JaggedClaw, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Massive, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL_Stonehenge, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL_Feign, CTF, 1, 0);
|
|
||||||
addRotationMap(TheFray, CTF, 1, 1);
|
|
||||||
addRotationMap(DangerousCrossing_nef, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_Skylight, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_Ocular, CTF, 1, 1);
|
|
||||||
addRotationMap(Dire, CTF, 1, 0);
|
|
||||||
addRotationMap(berlard, CTF, 1, 1);
|
|
||||||
addRotationMap(S8_Opus, CTF, 1, 0);
|
|
||||||
addRotationMap(BeggarsRun, CTF, 1, 0);
|
|
||||||
addRotationMap(Signal, CTF, 1, 1);
|
|
||||||
addRotationMap(Bulwark, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Woodymyrk, CTF, 1, 1);
|
|
||||||
addRotationMap(Discord, CTF, 1, 1);
|
|
||||||
addRotationMap(TenebrousCTF, CTF, 1, 1);
|
|
||||||
addRotationMap(Pariah, CTF, 1, 1);
|
|
||||||
addRotationMap(Prismatic, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_WilderZone, CTF, 1, 1);
|
|
||||||
addRotationMap(Mirage, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Mimicry, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL_Snowblind, CTF, 1, 0);
|
|
||||||
addRotationMap(ShortFall, CTF, 1, 0);
|
|
||||||
addRotationMap(IceRidge_nef, CTF, 1, 0);
|
|
||||||
addRotationMap(Disjointed, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_MuddySwamp, CTF, 1, 0);
|
|
||||||
addRotationMap(Blink, CTF, 1, 1);
|
|
||||||
addRotationMap(HighAnxiety, CTF, 1, 1);
|
|
||||||
addRotationMap(Headstone, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_Centaur, CTF, 1, 0);
|
|
||||||
addRotationMap(S8_Cardiac, CTF, 1, 1);
|
|
||||||
addRotationMap(CirclesEdge, CTF, 1, 1);
|
|
||||||
addRotationMap(S5_Icedance, CTF, 1, 1);
|
|
||||||
addRotationMap(Surreal, CTF, 1, 0);
|
|
||||||
|
|
||||||
//Voteable but Not in Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(Snowcone, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_Drache, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_HawkingHeat, CTF, 1, 0);
|
|
||||||
addRotationMap(JadeValley, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_Sherman, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_Silenus, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_FrozenHope, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_IceDagger, CTF, 1, 0);
|
|
||||||
addRotationMap(S5_Reynard, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Cinereous, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_OsIris, CTF, 1, 0);
|
|
||||||
addRotationMap(Coppersky, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_Crevice, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_SubZero, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Titan, CTF, 1, 0);
|
|
||||||
addRotationMap(Confusco, CTF, 1, 0);
|
|
||||||
addRotationMap(Fallout, CTF, 1, 0);
|
|
||||||
addRotationMap(TheClocktower, CTF, 1, 0);
|
|
||||||
addRotationMap(SoylentGreen, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_MidnightMayhemDeluxe, CTF, 1, 0);
|
|
||||||
addRotationMap(Nightdance, CTF, 1, 0);
|
|
||||||
addRotationMap(Ramparts, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_Celerity, CTF, 1, 1);
|
|
||||||
addRotationMap(Blastside_nef, CTF, 1, 0);
|
|
||||||
addRotationMap(Infernus, CTF, 1, 0);
|
|
||||||
addRotationMap(NatureMagic, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Damnation, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_DangerousCrossing, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_DeadlyBirdsSong, CTF, 1, 0);
|
|
||||||
addRotationMap(Vauban, CTF, 1, 0);
|
|
||||||
|
|
||||||
//Vehicle Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(HostileLoch, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL_BeachBlitz, CTF, 1, 1);
|
|
||||||
addRotationMap(TWL2_Magnum, CTF, 1, 1);
|
|
||||||
addRotationMap(Logans_Run, CTF, 1, 1);
|
|
||||||
addRotationMap(Rollercoaster_nef, CTF, 1, 1);
|
|
||||||
addRotationMap(MoonDance, CTF, 1, 1);
|
|
||||||
addRotationMap(Raindance_nef, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Magmatic, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_FrozenGlory, CTF, 1, 1);
|
|
||||||
addRotationMap(LandingParty, CTF, 1, 1);
|
|
||||||
addRotationMap(TitanV, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Crossfire, CTF, 1, 1);
|
|
||||||
addRotationMap(WindyGap, CTF, 1, 0);
|
|
||||||
addRotationMap(Surro, CTF, 1, 0);
|
|
||||||
addRotationMap(HarvestDance, CTF, 1, 0);
|
|
||||||
addRotationMap(The_Calm, CTF, 1, 0);
|
|
||||||
|
|
||||||
//Vehicle Maps: Voteable, But Not in Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(SubZeroV, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_RoughLand, CTF, 1, 0);
|
|
||||||
addRotationMap(S8_Geothermal, CTF, 1, 0);
|
|
||||||
addRotationMap(Lakefront, CTF, 1, 0);
|
|
||||||
addRotationMap(ShockRidge, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_BlueMoon, CTF, 1, 0);
|
|
||||||
addRotationMap(FullCircle, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Katabatic, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Starfallen, CTF, 1, 0);
|
|
||||||
addRotationMap(ConstructionYard, CTF, 1, 0);
|
|
||||||
addRotationMap(AcidRain, CTF, 1, 0);
|
|
||||||
addRotationMap(SandOcean, CTF, 1, 0);
|
|
||||||
addRotationMap(StarIce, CTF, 1, 0);
|
|
||||||
addRotationMap(ks_braistv , CTF, 1, 0);
|
|
||||||
addRotationMap(FilteredDust, CTF, 1, 0);
|
|
||||||
addRotationMap(Choke, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_Ruined, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Chokepoint, CTF, 1, 0);
|
|
||||||
addRotationMap(Glade, CTF, 1, 0);
|
|
||||||
|
|
||||||
//BIG Vehicle Maps
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(Fenix, CTF, 1, 0);
|
|
||||||
addRotationMap(Hillside, CTF, 1, 0);
|
|
||||||
addRotationMap(Sangre_de_Grado, CTF, 1, 0);
|
|
||||||
addRotationMap(Slapdash, CTF, 1, 0);
|
|
||||||
addRotationMap(BerylBasin, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Frozen, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL_Harvester, CTF, 1, 0);
|
|
||||||
addRotationMap(Archipelago, CTF, 1, 0);
|
|
||||||
addRotationMap(TWL2_Bleed, CTF, 1, 0);
|
|
||||||
addRotationMap(Pantheon, CTF, 1, 0);
|
|
||||||
addRotationMap(Circleofstones, CTF, 1, 1);
|
|
||||||
|
|
||||||
//Not In Rotation - Not Voteable
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//addRotationMap(Sandstorm, CTF, 1, 0);
|
|
||||||
//addRotationMap(Scarabrae_nef, CTF, 0, 0);
|
|
||||||
//addRotationMap(Starfallen, CTF, 1, 0);
|
|
||||||
//addRotationMap(Stonehenge_nef, CTF, 1, 0);
|
|
||||||
//addRotationMap(Extractor, CTF, 0, 0);
|
|
||||||
//addRotationMap(AstersDescent, CTF, 1, 0);
|
|
||||||
//addRotationMap(Azoth, CTF, 0, 0);
|
|
||||||
//addRotationMap(BattleGrove, CTF, 0, 0);
|
|
||||||
//addRotationMap(Durango, CTF, 0, 0);
|
|
||||||
//addRotationMap(DustLust, CTF, 0, 0);
|
|
||||||
//addRotationMap(IceGulch, CTF, 0, 0);
|
|
||||||
//addRotationMap(MountainMist, CTF, 0, 0);
|
|
||||||
//addRotationMap(Peak, CTF, 0, 0);
|
|
||||||
//addRotationMap(Pendulum, CTF, 0, 0);
|
|
||||||
//addRotationMap(S5_Misadventure, CTF, 1, 0);
|
|
||||||
//addRotationMap(S8_CentralDogma, CTF, 0, 0);
|
|
||||||
//addRotationMap(S8_Mountking, CTF, 0, 0);
|
|
||||||
//addRotationMap(S8_Zilch, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL2_CloakOfNight, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL2_Dissention, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Drifts, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL2_Drorck, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Norty, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL_Abaddon, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_BaNsHee, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Boss, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_NoShelter, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL_Clusterfuct, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Curtilage, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Deserted, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL_Frostclaw, CTF, 1, 0);
|
|
||||||
//addRotationMap(TWL_Horde, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Neve, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Pandemonium, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Ramparts, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_Sandstorm, CTF, 0, 0);
|
|
||||||
//addRotationMap(TWL_WoodyMyrk, CTF, 1, 0);
|
|
||||||
//addRotationMap(OctoberRust, CTF, 0, 0);
|
|
||||||
//addRotationMap(DevilsElbow, CTF, 0, 0);
|
|
||||||
//addRotationMap(CloudCity, CTF, 0, 0);
|
|
||||||
//addRotationMap(Damnation, CTF, 0, 0);
|
|
||||||
//addRotationMap(DeathBirdsFly, CTF, 0, 0);
|
|
||||||
//addRotationMap(Desiccator, CTF, 0, 0);
|
|
||||||
//addRotationMap(DustToDust, CTF, 0, 0);
|
|
||||||
//addRotationMap(Katabatic, CTF, 0, 0);
|
|
||||||
//addRotationMap(Quagmire, CTF, 0, 0);
|
|
||||||
//addRotationMap(Recalescence, CTF, 0, 0);
|
|
||||||
//addRotationMap(Reversion, CTF, 0, 0);
|
|
||||||
//addRotationMap(RiverDance, CTF, 1, 0);
|
|
||||||
//addRotationMap(Sanctuary, CTF, 0, 0);
|
|
||||||
//addRotationMap(ThinIce, CTF, 0, 0);
|
|
||||||
//addRotationMap(Tombstone, CTF, 0, 0);
|
|
||||||
//addRotationMap(Broadside_nef, CTF, 0, 0);
|
|
||||||
//addRotationMap(Camelland, CTF, 0, 0);
|
|
||||||
//addRotationMap(HighTrepidation, CTF, 0, 0);
|
|
||||||
//addRotationMap(SmallDesertofDeath, CTF, 0, 0);
|
|
||||||
//addRotationMap(Agorazscium, CTF, 0, 0);
|
|
||||||
//addRotationMap(BasinFury, CTF, 0, 0);
|
|
||||||
//addRotationMap(Cadaver, CTF, 0, 0);
|
|
||||||
//addRotationMap(EivoItoxico, CTF, 0, 0);
|
|
||||||
//addRotationMap(Einfach, CTF, 0, 0);
|
|
||||||
//addRotationMap(PicnicTable, CTF, 1, 0);
|
|
||||||
//addRotationMap(Hostility, CTF, 0, 0);
|
|
||||||
//addRotationMap(HighWire, CTF, 0, 0);
|
|
||||||
//addRotationMap(CloudBurst, CTF, 1, 0);
|
|
||||||
//addRotationMap(CloseCombat, CTF, 1, 0);
|
|
||||||
//addRotationMap(DesertofDeath_nef, CTF, 0, 0);
|
|
||||||
//addRotationMap(Gorgon, CTF, 1, 0);
|
|
||||||
//addRotationMap(Magamatic, CTF, 1, 0);
|
|
||||||
//addRotationMap(Sub-zero, CTF, 1, 1);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _ _ _ _ _ _
|
|
||||||
// | | | | | | | | (_) |
|
|
||||||
// | | __ _| | ___ __ __ _| |__ | |__ _| |_
|
|
||||||
// | | / _` | |/ / '__/ _` | '_ \| '_ \| | __|
|
|
||||||
// | |___| (_| | <| | | (_| | |_) | |_) | | |_
|
|
||||||
// |______\__,_|_|\_\_| \__,_|_.__/|_.__/|_|\__|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//In Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(VaubanLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(MiniSunDried, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(Sundance, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(TWL_BeachBlitzLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(DesertofDeathLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(Raindance_nefLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(SunDriedLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(SkinnyDipLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(SaddiesHill, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(HavenLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(LushLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(BoxLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(TitaniaLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(TibbawLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(InfernusLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(S8_GeothermalLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(CankerLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(DustRunLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(CrossfiredLak, LakRabbit, 1, 0);
|
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(TreasureIslandLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(Sulfide, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(FrozenFuryLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(Arrakis, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(EquinoxLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(PhasmaDustLak, LakRabbit, 1, 1);
|
|
||||||
addRotationMap(GodsRiftLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(SolsDescentLak, LakRabbit, 1, 0);
|
|
||||||
addRotationMap(Crater71Lak, LakRabbit, 1, 0);
|
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//addRotationMap(EscaladeLak, LakRabbit, 1, 0);
|
|
||||||
//addRotationMap(MagmaticLak, LakRabbit, 1, 0);
|
|
||||||
//addRotationMap(HillsOfSorrow, LakRabbit, 1, 1);
|
|
||||||
//addRotationMap(TWL2_MuddySwampLak, LakRabbit, 0, 0);
|
|
||||||
//addRotationMap(SandStormLak, LakRabbit, 1, 0);
|
|
||||||
//addRotationMap(BeggarsRunLak, LakRabbit, 1, 0);
|
|
||||||
//addRotationMap(DamnnationLak, LakRabbit, 1, 0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _ _____ _______ ______
|
|
||||||
// | | / ____|__ __| ____|
|
|
||||||
// | | | | | | | |__
|
|
||||||
// | | | | | | | __|
|
|
||||||
// | |___| |____ | | | |
|
|
||||||
// |______\_____| |_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//In Rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(BastardForgeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(FirestormLT, sctf, 1, 1);
|
|
||||||
addRotationMap(DangerousCrossingLT, sctf, 1, 1);
|
|
||||||
addRotationMap(SmallCrossingLT, sctf, 1, 1);
|
|
||||||
addRotationMap(DireLT, sctf, 1, 1);
|
|
||||||
addRotationMap(RoundTheMountainLT, sctf, 1, 1);
|
|
||||||
addRotationMap(CirclesEdgeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TenebrousCTF, sctf, 1, 1);
|
|
||||||
addRotationMap(TheFray, sctf, 1, 1);
|
|
||||||
addRotationMap(SignalLT, sctf, 1, 1);
|
|
||||||
addRotationMap(StarFallLT, sctf, 1, 1);
|
|
||||||
addRotationMap(S5_DamnationLT, sctf, 1, 1);
|
|
||||||
addRotationMap(S5_Icedance, sctf, 1, 1);
|
|
||||||
addRotationMap(S5_Mordacity, sctf, 1, 1);
|
|
||||||
addRotationMap(S5_SilenusLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL2_CanyonCrusadeDeluxeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL2_FrozenHopeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL2_JaggedClawLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL2_HildebrandLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL2_SkylightLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL_BeachBlitzLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL_FeignLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL_RollercoasterLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL_StonehengeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(TWL_WilderZoneLT, sctf, 1, 1);
|
|
||||||
addRotationMap(oasisintensity, sctf, 1, 1);
|
|
||||||
addRotationMap(berlard, sctf, 1, 1);
|
|
||||||
addRotationMap(RaindanceLT, sctf, 1, 1);
|
|
||||||
addRotationMap(SmallTimeLT, sctf, 1, 1);
|
|
||||||
addRotationMap(ArenaDome, sctf, 1, 1);
|
|
||||||
addRotationMap(Bulwark, sctf, 1, 1);
|
|
||||||
addRotationMap(Discord, sctf, 1, 1);
|
|
||||||
addRotationMap(JadeValley, sctf, 1, 1);
|
|
||||||
addRotationMap(S5_MassiveLT, sctf, 1, 1);
|
|
||||||
addRotationMap(Blink, sctf, 1, 1);
|
|
||||||
addRotationMap(HillTopHop, sctf, 1, 1);
|
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(Headstone, sctf, 1, 0);
|
|
||||||
addRotationMap(Mirage, sctf, 1, 0);
|
|
||||||
addRotationMap(BeggarsRunLT, sctf, 1, 0);
|
|
||||||
addRotationMap(S5_HawkingHeat, sctf, 1, 0);
|
|
||||||
addRotationMap(S5_Mimicry, sctf, 1, 0);
|
|
||||||
addRotationMap(S5_Woodymyrk, sctf, 1, 0);
|
|
||||||
addRotationMap(S8_Cardiac, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL2_Celerity, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL2_Crevice, sctf, 1, 0);
|
|
||||||
addRotationMap(S8_Opus, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL2_MidnightMayhemDeluxe, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL2_Ocular, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_Cinereous, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_Deserted, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_DangerousCrossing, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_OsIris, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_Damnation, sctf, 1, 0);
|
|
||||||
addRotationMap(TWL_Titan, sctf, 1, 0);
|
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//addRotationMap(SurrealLT, sctf, 1, 1);
|
|
||||||
//addRotationMap(Coppersky, sctf, 1, 1);
|
|
||||||
//addRotationMap(DuelersDelight, sctf, 1, 1);
|
|
||||||
//addRotationMap(SuperHappyBouncyFunTime, sctf, 1, 0);
|
|
||||||
//addRotationMap(PariahLT, sctf, 1, 1);
|
|
||||||
//addRotationMap(SmallMelee, sctf, 1, 1);
|
|
||||||
//addRotationMap(TitForTat, sctf, 1, 1);
|
|
||||||
//addRotationMap(CloseCombatLT, sctf, 1, 1);
|
|
||||||
//addRotationMap(Prismatic, sctf, 1, 1);
|
|
||||||
//addRotationMap(Damnation, sctf, 0, 0);
|
|
||||||
//addRotationMap(DustToDust, sctf, 0, 0);
|
|
||||||
//addRotationMap(Minotaur, sctf, 0, 0);
|
|
||||||
//addRotationMap(DesertofDeath_nef, sctf, 0, 0);
|
|
||||||
//addRotationMap(Gorgon, sctf, 0, 0);
|
|
||||||
//addRotationMap(Titan, sctf, 0, 0);
|
|
||||||
//addRotationMap(Mac_FlagArena, sctf, 0, 0);
|
|
||||||
//addRotationMap(Extractor, sctf, 0, 0);
|
|
||||||
//addRotationMap(AstersDescent, sctf, 0, 0);
|
|
||||||
//addRotationMap(Azoth, sctf, 0, 0);
|
|
||||||
//addRotationMap(DustLust, sctf, 0, 0);
|
|
||||||
//addRotationMap(Disjointed, sctf, 0, 0);
|
|
||||||
//addRotationMap(Peak, sctf, 0, 0);
|
|
||||||
//addRotationMap(Snowcone, sctf, 0, 0);
|
|
||||||
//addRotationMap(S5_Centaur, sctf, 0, 0);
|
|
||||||
//addRotationMap(S5_Drache, sctf, 0, 0);
|
|
||||||
//addRotationMap(S5_Misadventure, sctf, 0, 0);
|
|
||||||
//addRotationMap(S5_Reynard, sctf, 0, 0);
|
|
||||||
//addRotationMap(S5_Sherman, sctf, 0, 0);
|
|
||||||
//addRotationMap(S8_Geothermal, sctf, 0, 0);
|
|
||||||
//addRotationMap(S8_Zilch, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Drifts, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Drorck, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_FrozenGlory, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_IceDagger, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_MuddySwamp, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Norty, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_RoughLand, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL2_Ruined, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_BaNsHee, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Boss, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Crossfire, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_NoShelter, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Clusterfuct, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Curtilage, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_DeadlyBirdsSong, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Frostclaw, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Magamatic, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Neve, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Pandemonium, sctf, 0, 0);
|
|
||||||
//addRotationMap(TWL_Ramparts, sctf, 0, 0);
|
|
||||||
//addRotationMap(DehSwamp, sctf, 0, 0);
|
|
||||||
//addRotationMap(HostileLoch, sctf, 0, 0);
|
|
||||||
//addRotationMap(DevilsElbow, sctf, 0, 0);
|
|
||||||
//addRotationMap(Camelland, sctf, 0, 0);
|
|
||||||
//addRotationMap(SmallDesertofDeath, sctf, 0, 0);
|
|
||||||
//addRotationMap(ShortFall, sctf, 0, 0);
|
|
||||||
//addRotationMap(Fallout, sctf, 0, 0);
|
|
||||||
//addRotationMap(SoylentGreen, sctf, 0, 0);
|
|
||||||
//addRotationMap(Island, sctf, 0, 0);
|
|
||||||
//addRotationMap(HighOctane, sctf, 0, 0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _ _ _ _
|
|
||||||
// | __ \ | | | | | | | |
|
|
||||||
// | | | | ___ __ _| |_| |__ _ __ ___ __ _| |_ ___| |__
|
|
||||||
// | | | |/ _ \/ _` | __| '_ \| '_ ` _ \ / _` | __/ __| '_ \
|
|
||||||
// | |__| | __/ (_| | |_| | | | | | | | | (_| | || (__| | | |
|
|
||||||
// |_____/ \___|\__,_|\__|_| |_|_| |_| |_|\__,_|\__\___|_| |_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
addRotationMap(RaspDM, DM, 1, 1);
|
|
||||||
addRotationMap(EntombedDM, DM, 1, 1);
|
|
||||||
addRotationMap(IceDomeDM, DM, 1, 1);
|
|
||||||
addRotationMap(HoofToeDM, DM, 1, 1);
|
|
||||||
addRotationMap(ArenaDomeDM, DM, 1, 1);
|
|
||||||
addRotationMap(VulcansWrathDM, DM, 1, 1);
|
|
||||||
addRotationMap(RampartsDM, DM, 1, 1);
|
|
||||||
addRotationMap(ShrineDM, DM, 1, 1);
|
|
||||||
addRotationMap(LiveBaitDM, DM, 1, 1);
|
|
||||||
addRotationMap(FourSquareDM, DM, 1, 1);
|
|
||||||
addRotationMap(BrigDM, DM, 1, 1);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _
|
|
||||||
// | __ \ | |
|
|
||||||
// | | | |_ _ ___| |
|
|
||||||
// | | | | | | |/ _ \ |
|
|
||||||
// | |__| | |_| | __/ |
|
|
||||||
// |_____/ \__,_|\___|_|
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//addRotationMap(AgentsOfFortune, Duel, 0, 0);
|
|
||||||
//addRotationMap(Casern_Cavite, Duel, 0, 0);
|
|
||||||
//addRotationMap(Equinox, Duel, 1, 1);
|
|
||||||
//addRotationMap(Escalade, Duel, 1, 1);
|
|
||||||
//addRotationMap(Fracas, Duel, 0, 0);
|
|
||||||
//addRotationMap(Invictus, Duel, 0, 0);
|
|
||||||
//addRotationMap(MyrkWood, Duel, 1, 1);
|
|
||||||
//addRotationMap(Oasis, Duel, 1, 1);
|
|
||||||
//addRotationMap(Pyroclasm, Duel, 1, 1);
|
|
||||||
//addRotationMap(Rasp, Duel, 1, 1);
|
|
||||||
//addRotationMap(SunDried, Duel, 1, 1);
|
|
||||||
//addRotationMap(Talus, Duel, 0, 0);
|
|
||||||
//addRotationMap(Underhill, Duel, 0, 0);
|
|
||||||
//addRotationMap(Whiteout, Duel, 1, 1);
|
|
||||||
//addRotationMap(Tombstone, Duel, 1, 1);
|
|
||||||
//addRotationMap(VaubanLak, Duel, 1, 1);
|
|
||||||
//addRotationMap(DesertofDeathLak, Duel, 1, 1);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// _____ _
|
|
||||||
// / ____(_)
|
|
||||||
// | (___ _ ___ __ _ ___
|
|
||||||
// \___ \| |/ _ \/ _` |/ _ \
|
|
||||||
// ____) | | __/ (_| | __/
|
|
||||||
// |_____/|_|\___|\__, |\___|
|
|
||||||
// __/ |
|
|
||||||
// |___/
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//addRotationMap(Isleofman, Siege, 1, 1);
|
|
||||||
//addRotationMap(Trident, Siege, 1, 1);
|
|
||||||
//addRotationMap(Alcatraz, Siege, 1, 1);
|
|
||||||
|
|
@ -1,17 +1,25 @@
|
||||||
$Host::AdminList = "";
|
$Host::AdminPassword = "changethis";
|
||||||
$Host::AdminPassword = "changeme";
|
$Host::AllowAdmin2Admin = 0;
|
||||||
$Host::AdvStats::Delim = "\c7";
|
$Host::AllowAdminBan = 0;
|
||||||
$Host::AdvStats::LogChat = 0;
|
$Host::AllowAdminPassVote = 1;
|
||||||
$Host::AdvStats::SpamInfoToConsole = 0;
|
$Host::allowAdminPlayerVotes = "0";
|
||||||
$Host::allowAdminPlayerVotes = 0;
|
$Host::AllowAdminStopVote = 1;
|
||||||
|
$Host::AllowAdminStopVotes = 1;
|
||||||
|
$Host::AllowAdminVotes = 1;
|
||||||
$Host::AllowMapScript = "True";
|
$Host::AllowMapScript = "True";
|
||||||
$Host::AnimateWithTransitions = 0;
|
$Host::AllowPlayerVoteChangeMission = 1;
|
||||||
|
$Host::AllowPlayerVoteSkipMission = 1;
|
||||||
|
$Host::AllowPlayerVoteTimeLimit = 1;
|
||||||
|
$Host::AllowPlayerVoteTournamentMode = 0;
|
||||||
|
$Host::AnimateWithTransitions = 1;
|
||||||
$Host::AntiCloakEnable = 1;
|
$Host::AntiCloakEnable = 1;
|
||||||
$Host::AntiCloakPlayerCount = 6;
|
$Host::AntiCloakPlayerCount = 6;
|
||||||
|
$Host::AveragePings = 1;
|
||||||
$Host::BanTime = 1440;
|
$Host::BanTime = 1440;
|
||||||
$Host::BotCount = 2;
|
$Host::BotCount = 14;
|
||||||
$Host::BotsEnabled = 0;
|
$Host::BotsEnabled = "0";
|
||||||
$Host::ClassicAdminLogPath = "prefs";
|
$Host::ClassicAdminLog = 1;
|
||||||
|
$Host::ClassicAdminLogPath = "logs/Admin/Admin.log";
|
||||||
$Host::ClassicAllowConsoleAccess = 0;
|
$Host::ClassicAllowConsoleAccess = 0;
|
||||||
$Host::ClassicAntiTurtleTime = 5;
|
$Host::ClassicAntiTurtleTime = 5;
|
||||||
$Host::ClassicAutoPWEnabled = 0;
|
$Host::ClassicAutoPWEnabled = 0;
|
||||||
|
|
@ -21,10 +29,11 @@ $Host::ClassicAutoRestartServer = 0;
|
||||||
$Host::ClassicBadWordFilter = 0;
|
$Host::ClassicBadWordFilter = 0;
|
||||||
$Host::ClassicBalancedBots = 0;
|
$Host::ClassicBalancedBots = 0;
|
||||||
$Host::ClassicCanKickBots = 0;
|
$Host::ClassicCanKickBots = 0;
|
||||||
$Host::ClassicConnectLog = 0;
|
$Host::ClassicConnectLog = 1;
|
||||||
$Host::ClassicConnLogPath = "prefs";
|
$Host::ClassicConnLogPath = "logs/Connect/Connect.log";
|
||||||
$Host::ClassicCycleMisTypes = 0;
|
$Host::ClassicCycleMisTypes = 0;
|
||||||
$Host::ClassicEchoChat = 0;
|
$Host::ClassicEchoChat = 0;
|
||||||
|
$Host::ClassicEvoStats = 1;
|
||||||
$Host::ClassicFairTeams = 1;
|
$Host::ClassicFairTeams = 1;
|
||||||
$Host::ClassicLimitArmors = 0;
|
$Host::ClassicLimitArmors = 0;
|
||||||
$Host::ClassicLoadBlasterChanges = 0;
|
$Host::ClassicLoadBlasterChanges = 0;
|
||||||
|
|
@ -39,6 +48,9 @@ $Host::ClassicLoadTR2Gametype = 0;
|
||||||
$Host::ClassicLoadVRamChanges = 0;
|
$Host::ClassicLoadVRamChanges = 0;
|
||||||
$Host::ClassicLogEchoEnabled = 0;
|
$Host::ClassicLogEchoEnabled = 0;
|
||||||
$Host::ClassicMaxTelepads = 3;
|
$Host::ClassicMaxTelepads = 3;
|
||||||
|
$Host::ClassicMOTD = "<color:3cb4b4><font:Sui Generis:22>Discord PUB\n<color:3cb4b4><font:Univers:16>Server Hosted/Provided by Branzone/Ravin\n<color:3cb4b4><font:Univers:16>Get Mappacks at https://playt2.com/";
|
||||||
|
$Host::ClassicMOTDLines = 3;
|
||||||
|
$Host::ClassicMOTDTime = 6;
|
||||||
$Host::ClassicNoNullVoiceSpam = 0;
|
$Host::ClassicNoNullVoiceSpam = 0;
|
||||||
$Host::ClassicPacketRateToClient = 32;
|
$Host::ClassicPacketRateToClient = 32;
|
||||||
$Host::ClassicPacketSize = 450;
|
$Host::ClassicPacketSize = 450;
|
||||||
|
|
@ -46,6 +58,9 @@ $Host::ClassicRandomizeTeams = 1;
|
||||||
$Host::ClassicRandomMissions = 1;
|
$Host::ClassicRandomMissions = 1;
|
||||||
$Host::ClassicRandomMisTypes = 0;
|
$Host::ClassicRandomMisTypes = 0;
|
||||||
$Host::ClassicRestartTime = 12;
|
$Host::ClassicRestartTime = 12;
|
||||||
|
$Host::ClassicRotationCustom = 1;
|
||||||
|
$Host::ClassicRotationFile = "prefs/mapRotation.cs";
|
||||||
|
$Host::ClassicStatsType = 2;
|
||||||
$Host::ClassicSuperAdminPassword = "changeme";
|
$Host::ClassicSuperAdminPassword = "changeme";
|
||||||
$Host::ClassicTelnet = 1;
|
$Host::ClassicTelnet = 1;
|
||||||
$Host::ClassicTelnetListenPass = "changeme";
|
$Host::ClassicTelnetListenPass = "changeme";
|
||||||
|
|
@ -55,121 +70,20 @@ $Host::ClassicTkLimit = 0;
|
||||||
$Host::ClassicUseHighPerformanceCounter = 0;
|
$Host::ClassicUseHighPerformanceCounter = 0;
|
||||||
$Host::CRCTextures = 0;
|
$Host::CRCTextures = 0;
|
||||||
$Host::Dedicated = 1;
|
$Host::Dedicated = 1;
|
||||||
$Host::DefenseTurret::Active = 0;
|
|
||||||
$Host::DefenseTurret::MaxWptHeight = 10;
|
|
||||||
$Host::DefenseTurret::Optional = 0;
|
|
||||||
$Host::DefenseTurret::RequiredInTourney = 0;
|
|
||||||
$Host::DMSLOnlyMode = 0;
|
$Host::DMSLOnlyMode = 0;
|
||||||
$Host::EmptyServerReset = 1;
|
$Host::EmptyServerReset = 1;
|
||||||
$Host::EmptyServerResetTime = 120;
|
$Host::EmptyServerResetTime = 120;
|
||||||
$Host::EnableAutobalance = 1;
|
$Host::EnableAutobalance = 1;
|
||||||
$Host::EnableLakUnlimitedDJ = 1;
|
|
||||||
$Host::EnableMapRepetitionChecker = 1;
|
|
||||||
$Host::EnableMortarTurret = 0;
|
$Host::EnableMortarTurret = 0;
|
||||||
$Host::EnableNoBaseRapeNotify = 1;
|
|
||||||
$Host::EnableNetTourneyClient = 0;
|
$Host::EnableNetTourneyClient = 0;
|
||||||
$Host::EnableSetNextMission = 1;
|
$Host::EnableNoBaseRapeNotify = 1;
|
||||||
$Host::EnableTeamBalanceNotify = 1;
|
$Host::EnableTeamBalanceNotify = 1;
|
||||||
$Host::EnableTurretPlayerCount = 10;
|
$Host::EnableTurretPlayerCount = 10;
|
||||||
$Host::EnableVoteSound = 1;
|
$Host::EnableVoteSound = 1;
|
||||||
$Host::EvoAdminAdmin = 0;
|
|
||||||
$Host::EvoAdminBan = 0;
|
|
||||||
$Host::EvoAdminClanLock = 0;
|
|
||||||
$Host::EvoAdminClearServer = 0;
|
|
||||||
$Host::EvoAdminCRCCheck = 0;
|
|
||||||
$Host::EvoAdminLogging = 1;
|
|
||||||
$Host::EvoAdminMaxPlayers = 20;
|
|
||||||
$Host::EvoAdminMinPlayers = 20;
|
|
||||||
$Host::EvoAdminPassVote = 0;
|
|
||||||
$Host::EvoAdminReset = 0;
|
|
||||||
$Host::EvoAdminServerPW = 0;
|
|
||||||
$Host::EvoAdminStopVotes = 1;
|
|
||||||
$Host::EvoAdminSwitchTeams = 1;
|
|
||||||
$Host::EvoAdminWhois = 0;
|
|
||||||
$Host::EvoAllowAdminVoteGameType = 1;
|
|
||||||
$Host::EvoAllowPlayerVoteChangeMission = 1;
|
|
||||||
$Host::EvoAllowPlayerVoteGameType = 1;
|
|
||||||
$Host::EvoAllowPlayerVoteTeamDamage = 0;
|
|
||||||
$Host::EvoAllowPlayerVoteTimeLimit = 1;
|
|
||||||
$Host::EvoAllowPlayerVoteTournamentMode = 0;
|
|
||||||
$Host::EvoAutoPWEnabled = 0;
|
|
||||||
$Host::EvoAutoPWPassword = "pickup";
|
|
||||||
$Host::EvoAutoPWPlayerCount = 0;
|
|
||||||
$Host::EvoAutoPWTourneyNoRemove = 1;
|
|
||||||
$Host::EvoAveragePings = 1;
|
|
||||||
$Host::EvoBanListFile = "prefs/evo_BanList.cs";
|
|
||||||
$Host::EvoBlockSuperAdminWhois = 0;
|
|
||||||
$Host::EvoCannedChatLogging = 0;
|
|
||||||
$Host::EvoCannedSpamAllowed = 1;
|
|
||||||
$Host::EvoChatConsole = 1;
|
|
||||||
$Host::EvoChatLogging = 0;
|
|
||||||
$Host::EvoConnectLogging = 1;
|
|
||||||
$Host::EvoCustomMapLimitsFile = "prefs/SetMapLimits.cs";
|
|
||||||
$Host::EvoCustomMapRotation = 1;
|
|
||||||
$Host::EvoCustomMapRotationFile = "prefs/evo_mapRotation.cs";
|
|
||||||
$Host::EvoDailyHour = "00:00";
|
|
||||||
$Host::EvoDailyLogs = 0;
|
|
||||||
$Host::EvoDebugHTTP = 0;
|
|
||||||
$Host::EvoDefaultLeaseLevel = 1;
|
|
||||||
$Host::EvoDefaultsLoaded = 1;
|
|
||||||
$Host::EvoDefaultTimeLimit = 1;
|
|
||||||
$Host::EvoFairTeams = 1;
|
|
||||||
$Host::EvoForcedVotes = 1;
|
|
||||||
$Host::EvoFullServerPWAddAllowed = 0;
|
|
||||||
$Host::EvoFullServerPWEnabled = 0;
|
|
||||||
$Host::EvoFullServerPWPassword = "pickup";
|
|
||||||
$Host::EvoGameFixes = 1;
|
|
||||||
$Host::EvoKickObservers = 1200;
|
|
||||||
$Host::EvoLeaseInterval = 0;
|
|
||||||
$Host::EvoLeaseLocation = "prefs/leasedSA.txt";
|
|
||||||
$Host::EvoMOTD = "<color:3cb4b4><font:Sui Generis:22>Discord PUB\n<color:3cb4b4><font:Univers:16>Server Hosted/Provided by Branzone/Ravin\n<color:3cb4b4><font:Univers:16>Get Mappacks at https://playt2.tk";
|
|
||||||
$Host::EvoMOTDlines = 3;
|
|
||||||
$Host::EvoMOTDtime = 5;
|
|
||||||
$Host::EvoMuteSpamFX = 0;
|
|
||||||
$Host::EvoNoBaseRapeClassicPlayerCount = 14;
|
|
||||||
$Host::EvoNoBaseRapeEnabled = 1;
|
|
||||||
$Host::EvoNoBaseRapePlayerCount = 14;
|
|
||||||
$Host::EvoObserveFlag = 1;
|
|
||||||
$Host::EvoOneMapOnly = 0;
|
|
||||||
$Host::EvoPreMatchCannedSpamAllowed = 1;
|
|
||||||
$Host::EvoPreMatchSpamAllowed = 1;
|
|
||||||
$Host::EvoRandomMissions = 1;
|
|
||||||
$Host::EvoRandomTeams = 1;
|
|
||||||
$Host::EvoRelaxedFairTeams = 0;
|
|
||||||
$Host::EvoServerRules1 = "\c2if\c4(\c3%client.fun == \c5true \c4&& \c3%client.Llama_Grabs \c4< \c51\c4)";
|
|
||||||
$Host::EvoServerRules2 = " \c1Be_Courteous\c4(\c2%client, %game\c4);";
|
|
||||||
$Host::EvoServerRules3 = "\c2else if\c4(\c3%client.attitude \c4!$ = \c5%client.fun\c4)";
|
|
||||||
$Host::EvoServerRules4 = " \c1Try_2_Have_Fun\c4(\c2%client, %attitude\c4);";
|
|
||||||
$Host::EvoShowStats = 1;
|
|
||||||
$Host::EvoSkipMission = 0;
|
|
||||||
$Host::EvoSpamAllowed = 1;
|
|
||||||
$Host::EvoStats = 1;
|
|
||||||
$Host::EvoStatsPosition = 1;
|
|
||||||
$Host::EvoStatsTourney = 1;
|
|
||||||
$Host::EvoStatsType = 2;
|
|
||||||
$Host::EvoSuperAdminClanLock = 0;
|
|
||||||
$Host::EvoSuperAdminCRCCheck = 1;
|
|
||||||
$Host::EvoSuperAdminReset = 1;
|
|
||||||
$Host::EvoSuperAdminSuper = 1;
|
|
||||||
$Host::EvoSuperAdminWhois = 1;
|
|
||||||
$Host::EvoSuperClearServer = 1;
|
|
||||||
$Host::EvoSuperPassVote = 1;
|
|
||||||
$Host::EvoTCCannedMessages = 1;
|
|
||||||
$Host::EvoTCMessages = 1;
|
|
||||||
$Host::EvoTeamCannedSpam = 1;
|
|
||||||
$Host::EvoTeamMeMsg = 1;
|
|
||||||
$Host::EvoTeamSpam = 1;
|
|
||||||
$Host::EvoTimeLimitList = "90 120 150 180 240 360 480 999";
|
|
||||||
$Host::EvoTKLogging = 0;
|
|
||||||
$Host::EvoTKMax = 12;
|
|
||||||
$Host::EvoTKVote = 5;
|
|
||||||
$Host::EvoTKWarn1 = 3;
|
|
||||||
$Host::EvoTKWarn2 = 6;
|
|
||||||
$Host::EvoTourneySameMap = 1;
|
|
||||||
$Host::EvoUseHighPerformanceCounter = 0;
|
|
||||||
$Host::FloodProtectionEnabled = 1;
|
$Host::FloodProtectionEnabled = 1;
|
||||||
$Host::GameName = "Tribes 2 Test";
|
$Host::GameName = "Tribes 2 Test";
|
||||||
$Host::HiVisibility = "1";
|
$Host::GuidCheck = 0;
|
||||||
|
$Host::HiVisibility = "0";
|
||||||
$Host::holoName1 = "Storm";
|
$Host::holoName1 = "Storm";
|
||||||
$Host::holoName2 = "Inferno";
|
$Host::holoName2 = "Inferno";
|
||||||
$Host::holoName3 = "Starwolf";
|
$Host::holoName3 = "Starwolf";
|
||||||
|
|
@ -178,707 +92,60 @@ $Host::holoName5 = "BloodEagle";
|
||||||
$Host::holoName6 = "Harbinger";
|
$Host::holoName6 = "Harbinger";
|
||||||
$Host::Info = " ";
|
$Host::Info = " ";
|
||||||
$Host::KickBanTime = 600;
|
$Host::KickBanTime = 600;
|
||||||
|
$Host::KickObserverTimeout = 1200;
|
||||||
$Host::LakRabbitDuelMode = 0;
|
$Host::LakRabbitDuelMode = 0;
|
||||||
$Host::LakRabbitNoSplashDamage = "1";
|
$Host::LakRabbitNoSplashDamage = 1;
|
||||||
$Host::LakRabbitPubPro = 0;
|
$Host::LakRabbitPubPro = 0;
|
||||||
|
$Host::LakRabbitShowFlagIcon = 1;
|
||||||
|
$Host::LakRabbitShowFlagTask = 0;
|
||||||
|
$Host::LakRabbitUnlimitedDJ = 1;
|
||||||
$Host::LoadingScreenUseDebrief = 1;
|
$Host::LoadingScreenUseDebrief = 1;
|
||||||
$Host::LoadScreenColor1 = "05edad";
|
$Host::LoadScreenColor1 = "05edad";
|
||||||
$Host::LoadScreenColor2 = "29DEE7";
|
$Host::LoadScreenColor2 = "29DEE7";
|
||||||
$Host::LoadScreenColor3 = "33CCCC";
|
$Host::LoadScreenColor3 = "33CCCC";
|
||||||
$Host::LoadScreenLine1 = "Join Discord:";
|
$Host::LoadScreenLine1 = "Join Discord:";
|
||||||
$Host::LoadScreenLine1_Msg = "https://discord.me/tribes2";
|
$Host::LoadScreenLine1_Msg = "<a:playt2.com/discord>playt2.com/discord</a>";
|
||||||
$Host::LoadScreenLine2 = "Game Modes:";
|
$Host::LoadScreenLine2 = "Game Modes:";
|
||||||
$Host::LoadScreenLine2_Msg = "LakRabbit, Capture the Flag, DeathMatch, (Light Only) Capture the Flag";
|
$Host::LoadScreenLine2_Msg = "LakRabbit, Capture the Flag, DeathMatch, (Light Only) Capture the Flag, Siege";
|
||||||
$Host::LoadScreenLine3 = "Required Mappacks:";
|
$Host::LoadScreenLine3 = "Get Mappacks:";
|
||||||
$Host::LoadScreenLine3_Msg = "S5, S8, TWL, TWL2";
|
$Host::LoadScreenLine3_Msg = "<a:playt2.com/mappacks>playt2.com/mappacks</a>";
|
||||||
$Host::LoadScreenLine4 = "Server Provided by:";
|
$Host::LoadScreenLine4 = "Server Provided by:";
|
||||||
$Host::LoadScreenLine4_Msg = "Ravin";
|
$Host::LoadScreenLine4_Msg = "Ravin and Choco";
|
||||||
$Host::LoadScreenLine5 = "Server Hosted by:";
|
$Host::LoadScreenLine5 = "Server Hosted by:";
|
||||||
$Host::LoadScreenLine5_Msg = "Branzone";
|
$Host::LoadScreenLine5_Msg = "Branzone";
|
||||||
$Host::LoadScreenLine6 = "Server Github:";
|
$Host::LoadScreenLine6 = "Server Github:";
|
||||||
$Host::LoadScreenLine6_Msg = "https://github.com/ChocoTaco1/TacoServer";
|
$Host::LoadScreenLine6_Msg = "<a:github.com/ChocoTaco1/TacoServer>github.com/ChocoTaco1/TacoServer</a>";
|
||||||
$Host::LoadScreenMOTD1 = "Blaster is here to stay!";
|
$Host::LoadScreenMOTD1 = "Lak crowd early evenings after work during the week.";
|
||||||
$Host::LoadScreenMOTD2 = "Come play Arena on Wednesday Nights!";
|
$Host::LoadScreenMOTD2 = "Big CTF games Fridays, Saturdays, and Sundays!";
|
||||||
$Host::LoadScreenMOTD3 = "Lak crowd early evenings after work during the week.";
|
$Host::LoadScreenMOTD3 = "Please make an effort to keep teams balanced!";
|
||||||
$Host::LoadScreenMOTD4 = "Big CTF games Fridays, Saturdays, and Sundays!";
|
$Host::LoadScreenMOTD4 = " ";
|
||||||
|
$Host::LogIntentionalQuit = 1;
|
||||||
$Host::Map = "VaubanLak";
|
$Host::Map = "VaubanLak";
|
||||||
$Host::MapCycleAcidRain_CTF = "0";
|
|
||||||
$Host::MapCycleArchipelago_CTF = "0";
|
|
||||||
$Host::MapCycleArenaDome_CTF = "0";
|
|
||||||
$Host::MapCycleArenaDome_sctf = "1";
|
|
||||||
$Host::MapCycleArenaDomeDM_DM = "1";
|
|
||||||
$Host::MapCycleArrakis_LakRabbit = "0";
|
|
||||||
$Host::MapCycleBastardForgeLT_sctf = "1";
|
|
||||||
$Host::MapCycleBeggarsRun_CTF = "1";
|
|
||||||
$Host::MapCycleBeggarsRunLT_sctf = "0";
|
|
||||||
$Host::MapCycleberlard_CTF = "1";
|
|
||||||
$Host::MapCycleberlard_sctf = "1";
|
|
||||||
$Host::MapCycleBerylBasin_CTF = "1";
|
|
||||||
$Host::MapCycleBlastside_nef_CTF = "0";
|
|
||||||
$Host::MapCycleBlink_CTF = "1";
|
|
||||||
$Host::MapCycleBlink_sctf = "1";
|
|
||||||
$Host::MapCycleBoxLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleBulwark_CTF = "1";
|
|
||||||
$Host::MapCycleBulwark_sctf = "1";
|
|
||||||
$Host::MapCycleCankerLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleChoke_CTF = "0";
|
|
||||||
$Host::MapCycleCircleofstones_CTF = "1";
|
|
||||||
$Host::MapCycleCirclesEdge_CTF = "1";
|
|
||||||
$Host::MapCycleCirclesEdgeLT_sctf = "1";
|
|
||||||
$Host::MapCycleConfusco_CTF = "0";
|
|
||||||
$Host::MapCycleConstructionYard_CTF = "0";
|
|
||||||
$Host::MapCycleCoppersky_CTF = "0";
|
|
||||||
$Host::MapCycleCrater71Lak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleCrossfiredLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleDangerousCrossing_nef_CTF = "1";
|
|
||||||
$Host::MapCycleDangerousCrossingLT_sctf = "1";
|
|
||||||
$Host::MapCycleDesertofDeathLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleDire_CTF = "1";
|
|
||||||
$Host::MapCycleDireLT_sctf = "1";
|
|
||||||
$Host::MapCycleDiscord_CTF = "1";
|
|
||||||
$Host::MapCycleDiscord_sctf = "1";
|
|
||||||
$Host::MapCycleDisjointed_CTF = "1";
|
|
||||||
$Host::MapCycleDustRunLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleEntombedDM_DM = "1";
|
|
||||||
$Host::MapCycleEquinoxLak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleFallout_CTF = "0";
|
|
||||||
$Host::MapCycleFenix_CTF = "0";
|
|
||||||
$Host::MapCycleFilteredDust_CTF = "0";
|
|
||||||
$Host::MapCycleFirestorm_CTF = "1";
|
|
||||||
$Host::MapCycleFirestormLT_sctf = "1";
|
|
||||||
$Host::MapCycleFourSquareDM_DM = "1";
|
|
||||||
$Host::MapCycleFrozenFuryLak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleFullCircle_CTF = "0";
|
|
||||||
$Host::MapCycleGlade_CTF = "0";
|
|
||||||
$Host::MapCycleGodsRiftLak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleHarvestDance_CTF = "1";
|
|
||||||
$Host::MapCycleHavenLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleHeadstone_CTF = "1";
|
|
||||||
$Host::MapCycleHeadstone_sctf = "0";
|
|
||||||
$Host::MapCycleHighAnxiety_CTF = "1";
|
|
||||||
$Host::MapCycleHighOctane_CTF = "1";
|
|
||||||
$Host::MapCycleHillside_CTF = "0";
|
|
||||||
$Host::MapCycleHillTopHop_sctf = "1";
|
|
||||||
$Host::MapCycleHoofToeDM_DM = "1";
|
|
||||||
$Host::MapCycleHostileLoch_CTF = "1";
|
|
||||||
$Host::MapCycleIceDomeDM_DM = "1";
|
|
||||||
$Host::MapCycleIceRidge_nef_CTF = "1";
|
|
||||||
$Host::MapCycleInfernus_CTF = "0";
|
|
||||||
$Host::MapCycleInfernusLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleIsland_CTF = "1";
|
|
||||||
$Host::MapCycleJadeValley_CTF = "0";
|
|
||||||
$Host::MapCycleJadeValley_sctf = "1";
|
|
||||||
$Host::MapCycleks_braistv_CTF = "0";
|
|
||||||
$Host::MapCycleLakefront_CTF = "0";
|
|
||||||
$Host::MapCycleLandingParty_CTF = "1";
|
|
||||||
$Host::MapCycleLiveBaitDM_DM = "1";
|
|
||||||
$Host::MapCycleLogans_Run_CTF = "1";
|
|
||||||
$Host::MapCycleLushLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleMac_FlagArena_CTF = "1";
|
|
||||||
$Host::MapCycleMachineeggs_CTF = "1";
|
|
||||||
$Host::MapCycleMiniSunDried_LakRabbit = "1";
|
|
||||||
$Host::MapCycleMinotaur_CTF = "1";
|
|
||||||
$Host::MapCycleMirage_CTF = "1";
|
|
||||||
$Host::MapCycleMirage_sctf = "0";
|
|
||||||
$Host::MapCycleMoonDance_CTF = "1";
|
|
||||||
$Host::MapCycleNatureMagic_CTF = "0";
|
|
||||||
$Host::MapCycleNightdance_CTF = "0";
|
|
||||||
$Host::MapCycleoasisintensity_CTF = "1";
|
|
||||||
$Host::MapCycleoasisintensity_sctf = "1";
|
|
||||||
$Host::MapCyclePantheon_CTF = "0";
|
|
||||||
$Host::MapCyclePariah_CTF = "1";
|
|
||||||
$Host::MapCyclePhasmaDustLak_LakRabbit = "0";
|
|
||||||
$Host::MapCyclePrismatic_CTF = "1";
|
|
||||||
$Host::MapCycleRaindance_nef_CTF = "1";
|
|
||||||
$Host::MapCycleRaindance_nefLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleRaindanceLT_sctf = "1";
|
|
||||||
$Host::MapCycleRamparts_CTF = "0";
|
|
||||||
$Host::MapCycleRampartsDM_DM = "1";
|
|
||||||
$Host::MapCycleRaspDM_DM = "1";
|
|
||||||
$Host::MapCycleRollercoaster_nef_CTF = "1";
|
|
||||||
$Host::MapCycleRoundTheMountain_CTF = "1";
|
|
||||||
$Host::MapCycleRoundTheMountainLT_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Centaur_CTF = "1";
|
|
||||||
$Host::MapCycleS5_Damnation_CTF = "1";
|
|
||||||
$Host::MapCycleS5_DamnationLT_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Drache_CTF = "0";
|
|
||||||
$Host::MapCycleS5_HawkingHeat_CTF = "0";
|
|
||||||
$Host::MapCycleS5_HawkingHeat_sctf = "0";
|
|
||||||
$Host::MapCycleS5_Icedance_CTF = "1";
|
|
||||||
$Host::MapCycleS5_Icedance_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Massive_CTF = "1";
|
|
||||||
$Host::MapCycleS5_MassiveLT_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Mimicry_CTF = "1";
|
|
||||||
$Host::MapCycleS5_Mimicry_sctf = "0";
|
|
||||||
$Host::MapCycleS5_Mordacity_CTF = "1";
|
|
||||||
$Host::MapCycleS5_Mordacity_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Reynard_CTF = "0";
|
|
||||||
$Host::MapCycleS5_Sherman_CTF = "0";
|
|
||||||
$Host::MapCycleS5_Silenus_CTF = "0";
|
|
||||||
$Host::MapCycleS5_SilenusLT_sctf = "1";
|
|
||||||
$Host::MapCycleS5_Woodymyrk_CTF = "1";
|
|
||||||
$Host::MapCycleS5_Woodymyrk_sctf = "0";
|
|
||||||
$Host::MapCycleS8_Cardiac_CTF = "1";
|
|
||||||
$Host::MapCycleS8_Cardiac_sctf = "0";
|
|
||||||
$Host::MapCycleS8_Geothermal_CTF = "0";
|
|
||||||
$Host::MapCycleS8_GeothermalLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleS8_Opus_CTF = "1";
|
|
||||||
$Host::MapCycleS8_Opus_sctf = "0";
|
|
||||||
$Host::MapCycleSaddiesHill_LakRabbit = "1";
|
|
||||||
$Host::MapCycleSandOcean_CTF = "0";
|
|
||||||
$Host::MapCycleSangre_de_Grado_CTF = "0";
|
|
||||||
$Host::MapCycleShockRidge_CTF = "0";
|
|
||||||
$Host::MapCycleShortFall_CTF = "1";
|
|
||||||
$Host::MapCycleShrineDM_DM = "1";
|
|
||||||
$Host::MapCycleSignal_CTF = "1";
|
|
||||||
$Host::MapCycleSignalLT_sctf = "1";
|
|
||||||
$Host::MapCycleSkinnyDipLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleSlapdash_CTF = "0";
|
|
||||||
$Host::MapCycleSmallCrossing_CTF = "1";
|
|
||||||
$Host::MapCycleSmallCrossingLT_sctf = "1";
|
|
||||||
$Host::MapCycleSmallMelee_CTF = "0";
|
|
||||||
$Host::MapCycleSmallTimeCTF_CTF = "1";
|
|
||||||
$Host::MapCycleSmallTimeLT_sctf = "1";
|
|
||||||
$Host::MapCycleSnowcone_CTF = "0";
|
|
||||||
$Host::MapCycleSolsDescentLak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleSoylentGreen_CTF = "0";
|
|
||||||
$Host::MapCycleStarFallLT_sctf = "1";
|
|
||||||
$Host::MapCycleStarIce_CTF = "0";
|
|
||||||
$Host::MapCycleSubZeroV_CTF = "1";
|
|
||||||
$Host::MapCycleSulfide_LakRabbit = "0";
|
|
||||||
$Host::MapCycleSundance_LakRabbit = "1";
|
|
||||||
$Host::MapCycleSunDriedLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleSuperHappyBouncyFunTime_CTF = "1";
|
|
||||||
$Host::MapCycleSurreal_CTF = "0";
|
|
||||||
$Host::MapCycleSurro_CTF = "1";
|
|
||||||
$Host::MapCycleTenebrousCTF_CTF = "1";
|
|
||||||
$Host::MapCycleTenebrousCTF_sctf = "1";
|
|
||||||
$Host::MapCycleTheClocktower_CTF = "0";
|
|
||||||
$Host::MapCycleTheFray_CTF = "1";
|
|
||||||
$Host::MapCycleTheFray_sctf = "1";
|
|
||||||
$Host::MapCycleTibbawLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleTitaniaLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleTitanV_CTF = "1";
|
|
||||||
$Host::MapCycleTitForTat_CTF = "0";
|
|
||||||
$Host::MapCycleTreasureIslandLak_LakRabbit = "0";
|
|
||||||
$Host::MapCycleTWL2_Bleed_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_BlueMoon_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_CanyonCrusadeDeluxe_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_CanyonCrusadeDeluxeLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL2_Celerity_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_Celerity_sctf = "0";
|
|
||||||
$Host::MapCycleTWL2_Crevice_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_Crevice_sctf = "0";
|
|
||||||
$Host::MapCycleTWL2_FrozenGlory_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_FrozenHope_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_FrozenHopeLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL2_Hildebrand_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_HildebrandLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL2_IceDagger_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_JaggedClaw_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_JaggedClawLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL2_Magnum_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_MidnightMayhemDeluxe_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_MidnightMayhemDeluxe_sctf = "0";
|
|
||||||
$Host::MapCycleTWL2_MuddySwamp_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_Ocular_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_Ocular_sctf = "0";
|
|
||||||
$Host::MapCycleTWL2_RoughLand_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_Ruined_CTF = "0";
|
|
||||||
$Host::MapCycleTWL2_Skylight_CTF = "1";
|
|
||||||
$Host::MapCycleTWL2_SkylightLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL_BeachBlitz_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_BeachBlitzLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleTWL_BeachBlitzLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL_Chokepoint_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Cinereous_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Cinereous_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_Crossfire_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_Damnation_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Damnation_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_DangerousCrossing_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_DangerousCrossing_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_DeadlyBirdsSong_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Deserted_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_Feign_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_FeignLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL_Frozen_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Harvester_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Katabatic_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_OsIris_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_OsIris_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_RollercoasterLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL_Snowblind_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_Starfallen_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Stonehenge_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_StonehengeLT_sctf = "1";
|
|
||||||
$Host::MapCycleTWL_SubZero_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Titan_CTF = "0";
|
|
||||||
$Host::MapCycleTWL_Titan_sctf = "0";
|
|
||||||
$Host::MapCycleTWL_WilderZone_CTF = "1";
|
|
||||||
$Host::MapCycleTWL_WilderZoneLT_sctf = "1";
|
|
||||||
$Host::MapCycleVauban_CTF = "1";
|
|
||||||
$Host::MapCycleVaubanLak_LakRabbit = "1";
|
|
||||||
$Host::MapCycleVulcansWrathDM_DM = "1";
|
|
||||||
$Host::MapCycleWindyGap_CTF = "1";
|
|
||||||
$Host::MapFFAAcidRain_CTF = "1";
|
|
||||||
$Host::MapFFAArchipelago_CTF = "1";
|
|
||||||
$Host::MapFFAArenaDome_CTF = "1";
|
|
||||||
$Host::MapFFAArenaDome_sctf = "1";
|
|
||||||
$Host::MapFFAArenaDomeDM_DM = "1";
|
|
||||||
$Host::MapFFAArrakis_LakRabbit = "1";
|
|
||||||
$Host::MapFFABastardForgeLT_sctf = "1";
|
|
||||||
$Host::MapFFABeggarsRun_CTF = "1";
|
|
||||||
$Host::MapFFABeggarsRunLT_sctf = "1";
|
|
||||||
$Host::MapFFAberlard_CTF = "1";
|
|
||||||
$Host::MapFFAberlard_sctf = "1";
|
|
||||||
$Host::MapFFABerylBasin_CTF = "1";
|
|
||||||
$Host::MapFFABlastside_nef_CTF = "1";
|
|
||||||
$Host::MapFFABlink_CTF = "1";
|
|
||||||
$Host::MapFFABlink_sctf = "1";
|
|
||||||
$Host::MapFFABoxLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFABulwark_CTF = "1";
|
|
||||||
$Host::MapFFABulwark_sctf = "1";
|
|
||||||
$Host::MapFFACankerLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAChoke_CTF = "1";
|
|
||||||
$Host::MapFFACircleofstones_CTF = "1";
|
|
||||||
$Host::MapFFACirclesEdge_CTF = "1";
|
|
||||||
$Host::MapFFACirclesEdgeLT_sctf = "1";
|
|
||||||
$Host::MapFFAConfusco_CTF = "1";
|
|
||||||
$Host::MapFFAConstructionYard_CTF = "1";
|
|
||||||
$Host::MapFFACoppersky_CTF = "1";
|
|
||||||
$Host::MapFFACrater71Lak_LakRabbit = "1";
|
|
||||||
$Host::MapFFACrossfiredLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFADangerousCrossing_nef_CTF = "1";
|
|
||||||
$Host::MapFFADangerousCrossingLT_sctf = "1";
|
|
||||||
$Host::MapFFADesertofDeathLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFADire_CTF = "1";
|
|
||||||
$Host::MapFFADireLT_sctf = "1";
|
|
||||||
$Host::MapFFADiscord_CTF = "1";
|
|
||||||
$Host::MapFFADiscord_sctf = "1";
|
|
||||||
$Host::MapFFADisjointed_CTF = "1";
|
|
||||||
$Host::MapFFADustRunLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAEntombedDM_DM = "1";
|
|
||||||
$Host::MapFFAEquinoxLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAFallout_CTF = "1";
|
|
||||||
$Host::MapFFAFenix_CTF = "1";
|
|
||||||
$Host::MapFFAFilteredDust_CTF = "1";
|
|
||||||
$Host::MapFFAFirestorm_CTF = "1";
|
|
||||||
$Host::MapFFAFirestormLT_sctf = "1";
|
|
||||||
$Host::MapFFAFourSquareDM_DM = "1";
|
|
||||||
$Host::MapFFAFrozenFuryLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAFullCircle_CTF = "1";
|
|
||||||
$Host::MapFFAGlade_CTF = "1";
|
|
||||||
$Host::MapFFAGodsRiftLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAHarvestDance_CTF = "1";
|
|
||||||
$Host::MapFFAHavenLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAHeadstone_CTF = "1";
|
|
||||||
$Host::MapFFAHeadstone_sctf = "1";
|
|
||||||
$Host::MapFFAHighAnxiety_CTF = "1";
|
|
||||||
$Host::MapFFAHighOctane_CTF = "1";
|
|
||||||
$Host::MapFFAHillside_CTF = "1";
|
|
||||||
$Host::MapFFAHillTopHop_sctf = "1";
|
|
||||||
$Host::MapFFAHoofToeDM_DM = "1";
|
|
||||||
$Host::MapFFAHostileLoch_CTF = "1";
|
|
||||||
$Host::MapFFAIceDomeDM_DM = "1";
|
|
||||||
$Host::MapFFAIceRidge_nef_CTF = "1";
|
|
||||||
$Host::MapFFAInfernus_CTF = "1";
|
|
||||||
$Host::MapFFAInfernusLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAIsland_CTF = "1";
|
|
||||||
$Host::MapFFAJadeValley_CTF = "1";
|
|
||||||
$Host::MapFFAJadeValley_sctf = "1";
|
|
||||||
$Host::MapFFAks_braistv_CTF = "1";
|
|
||||||
$Host::MapFFALakefront_CTF = "1";
|
|
||||||
$Host::MapFFALandingParty_CTF = "1";
|
|
||||||
$Host::MapFFALiveBaitDM_DM = "1";
|
|
||||||
$Host::MapFFALogans_Run_CTF = "1";
|
|
||||||
$Host::MapFFALushLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAMac_FlagArena_CTF = "1";
|
|
||||||
$Host::MapFFAMachineeggs_CTF = "1";
|
|
||||||
$Host::MapFFAMiniSunDried_LakRabbit = "1";
|
|
||||||
$Host::MapFFAMinotaur_CTF = "1";
|
|
||||||
$Host::MapFFAMirage_CTF = "1";
|
|
||||||
$Host::MapFFAMirage_sctf = "1";
|
|
||||||
$Host::MapFFAMoonDance_CTF = "1";
|
|
||||||
$Host::MapFFANatureMagic_CTF = "1";
|
|
||||||
$Host::MapFFANightdance_CTF = "1";
|
|
||||||
$Host::MapFFAoasisintensity_CTF = "1";
|
|
||||||
$Host::MapFFAoasisintensity_sctf = "1";
|
|
||||||
$Host::MapFFAPantheon_CTF = "1";
|
|
||||||
$Host::MapFFAPariah_CTF = "1";
|
|
||||||
$Host::MapFFAPhasmaDustLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAPrismatic_CTF = "1";
|
|
||||||
$Host::MapFFARaindance_nef_CTF = "1";
|
|
||||||
$Host::MapFFARaindance_nefLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFARaindanceLT_sctf = "1";
|
|
||||||
$Host::MapFFARamparts_CTF = "1";
|
|
||||||
$Host::MapFFARampartsDM_DM = "1";
|
|
||||||
$Host::MapFFARaspDM_DM = "1";
|
|
||||||
$Host::MapFFARollercoaster_nef_CTF = "1";
|
|
||||||
$Host::MapFFARoundTheMountain_CTF = "1";
|
|
||||||
$Host::MapFFARoundTheMountainLT_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Centaur_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Damnation_CTF = "1";
|
|
||||||
$Host::MapFFAS5_DamnationLT_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Drache_CTF = "1";
|
|
||||||
$Host::MapFFAS5_HawkingHeat_CTF = "1";
|
|
||||||
$Host::MapFFAS5_HawkingHeat_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Icedance_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Icedance_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Massive_CTF = "1";
|
|
||||||
$Host::MapFFAS5_MassiveLT_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Mimicry_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Mimicry_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Mordacity_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Mordacity_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Reynard_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Sherman_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Silenus_CTF = "1";
|
|
||||||
$Host::MapFFAS5_SilenusLT_sctf = "1";
|
|
||||||
$Host::MapFFAS5_Woodymyrk_CTF = "1";
|
|
||||||
$Host::MapFFAS5_Woodymyrk_sctf = "1";
|
|
||||||
$Host::MapFFAS8_Cardiac_CTF = "1";
|
|
||||||
$Host::MapFFAS8_Cardiac_sctf = "1";
|
|
||||||
$Host::MapFFAS8_Geothermal_CTF = "1";
|
|
||||||
$Host::MapFFAS8_GeothermalLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAS8_Opus_CTF = "1";
|
|
||||||
$Host::MapFFAS8_Opus_sctf = "1";
|
|
||||||
$Host::MapFFASaddiesHill_LakRabbit = "1";
|
|
||||||
$Host::MapFFASandOcean_CTF = "1";
|
|
||||||
$Host::MapFFASangre_de_Grado_CTF = "1";
|
|
||||||
$Host::MapFFAShockRidge_CTF = "1";
|
|
||||||
$Host::MapFFAShortFall_CTF = "1";
|
|
||||||
$Host::MapFFAShrineDM_DM = "1";
|
|
||||||
$Host::MapFFASignal_CTF = "1";
|
|
||||||
$Host::MapFFASignalLT_sctf = "1";
|
|
||||||
$Host::MapFFASkinnyDipLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFASlapdash_CTF = "1";
|
|
||||||
$Host::MapFFASmallCrossing_CTF = "1";
|
|
||||||
$Host::MapFFASmallCrossingLT_sctf = "1";
|
|
||||||
$Host::MapFFASmallMelee_CTF = "1";
|
|
||||||
$Host::MapFFASmallTimeCTF_CTF = "1";
|
|
||||||
$Host::MapFFASmallTimeLT_sctf = "1";
|
|
||||||
$Host::MapFFASnowcone_CTF = "1";
|
|
||||||
$Host::MapFFASolsDescentLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFASoylentGreen_CTF = "1";
|
|
||||||
$Host::MapFFAStarFallLT_sctf = "1";
|
|
||||||
$Host::MapFFAStarIce_CTF = "1";
|
|
||||||
$Host::MapFFASubZeroV_CTF = "1";
|
|
||||||
$Host::MapFFASulfide_LakRabbit = "1";
|
|
||||||
$Host::MapFFASundance_LakRabbit = "1";
|
|
||||||
$Host::MapFFASunDriedLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFASuperHappyBouncyFunTime_CTF = "1";
|
|
||||||
$Host::MapFFASurreal_CTF = "1";
|
|
||||||
$Host::MapFFASurro_CTF = "1";
|
|
||||||
$Host::MapFFATenebrousCTF_CTF = "1";
|
|
||||||
$Host::MapFFATenebrousCTF_sctf = "1";
|
|
||||||
$Host::MapFFATheClocktower_CTF = "1";
|
|
||||||
$Host::MapFFATheFray_CTF = "1";
|
|
||||||
$Host::MapFFATheFray_sctf = "1";
|
|
||||||
$Host::MapFFATibbawLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFATitaniaLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFATitanV_CTF = "1";
|
|
||||||
$Host::MapFFATitForTat_CTF = "1";
|
|
||||||
$Host::MapFFATreasureIslandLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFATWL2_Bleed_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_BlueMoon_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_CanyonCrusadeDeluxe_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_CanyonCrusadeDeluxeLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_Celerity_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Celerity_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_Crevice_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Crevice_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_FrozenGlory_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_FrozenHope_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_FrozenHopeLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_Hildebrand_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_HildebrandLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_IceDagger_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_JaggedClaw_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_JaggedClawLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_Magnum_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_MidnightMayhemDeluxe_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_MidnightMayhemDeluxe_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_MuddySwamp_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Ocular_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Ocular_sctf = "1";
|
|
||||||
$Host::MapFFATWL2_RoughLand_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Ruined_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_Skylight_CTF = "1";
|
|
||||||
$Host::MapFFATWL2_SkylightLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL_BeachBlitz_CTF = "1";
|
|
||||||
$Host::MapFFATWL_BeachBlitzLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFATWL_BeachBlitzLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL_Chokepoint_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Cinereous_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Cinereous_sctf = "1";
|
|
||||||
$Host::MapFFATWL_Crossfire_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Damnation_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Damnation_sctf = "1";
|
|
||||||
$Host::MapFFATWL_DangerousCrossing_CTF = "1";
|
|
||||||
$Host::MapFFATWL_DangerousCrossing_sctf = "1";
|
|
||||||
$Host::MapFFATWL_DeadlyBirdsSong_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Deserted_sctf = "1";
|
|
||||||
$Host::MapFFATWL_Feign_CTF = "1";
|
|
||||||
$Host::MapFFATWL_FeignLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL_Frozen_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Harvester_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Katabatic_CTF = "1";
|
|
||||||
$Host::MapFFATWL_OsIris_CTF = "1";
|
|
||||||
$Host::MapFFATWL_OsIris_sctf = "1";
|
|
||||||
$Host::MapFFATWL_RollercoasterLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL_Snowblind_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Starfallen_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Stonehenge_CTF = "1";
|
|
||||||
$Host::MapFFATWL_StonehengeLT_sctf = "1";
|
|
||||||
$Host::MapFFATWL_SubZero_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Titan_CTF = "1";
|
|
||||||
$Host::MapFFATWL_Titan_sctf = "1";
|
|
||||||
$Host::MapFFATWL_WilderZone_CTF = "1";
|
|
||||||
$Host::MapFFATWL_WilderZoneLT_sctf = "1";
|
|
||||||
$Host::MapFFAVauban_CTF = "1";
|
|
||||||
$Host::MapFFAVaubanLak_LakRabbit = "1";
|
|
||||||
$Host::MapFFAVulcansWrathDM_DM = "1";
|
|
||||||
$Host::MapFFAWindyGap_CTF = "1";
|
|
||||||
$Host::MapPlayerLimitsAcidRain_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsArchipelago_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsArenaDome_CTF = "-1 10";
|
|
||||||
$Host::MapPlayerLimitsArenaDome_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsArenaDomeDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsArrakis_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsBastardForgeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsBeggarsRun_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsBeggarsRunLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsberlard_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsberlard_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsBerylBasin_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsBlastside_nef_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsBlink_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsBlink_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsBoxLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsBulwark_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsBulwark_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsCankerLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsChoke_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsCircleofstones_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsCirclesEdge_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsCirclesEdgeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsConfusco_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsConstructionYard_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsCoppersky_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsCrater71Lak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsCrossfiredLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsDangerousCrossing_nef_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsDangerousCrossingLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsDesertofDeathLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsDire_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsDireLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsDiscord_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsDiscord_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsDisjointed_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsDustRunLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsEntombedDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsEquinoxLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsFallout_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsFenix_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsFilteredDust_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsFirestorm_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsFirestormLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsFourSquareDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsFrozenFuryLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsFullCircle_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsGlade_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsGodsRiftLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsHarvestDance_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsHavenLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsHeadstone_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsHeadstone_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsHighAnxiety_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsHighOctane_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsHillside_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsHillTopHop_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsHoofToeDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsHostileLoch_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsIceDomeDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsIceRidge_nef_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsInfernus_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsInfernusLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsIsland_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsJadeValley_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsJadeValley_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsks_braistv_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsLakefront_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsLandingParty_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsLiveBaitDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsLogans_Run_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsLushLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsMac_FlagArena_CTF = "-1 12";
|
|
||||||
$Host::MapPlayerLimitsMachineeggs_CTF = "-1 10";
|
|
||||||
$Host::MapPlayerLimitsMiniSunDried_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsMinotaur_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsMirage_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsMirage_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsMoonDance_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsNatureMagic_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsNightdance_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsoasisintensity_CTF = "-1 12";
|
|
||||||
$Host::MapPlayerLimitsoasisintensity_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsPantheon_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsPariah_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsPhasmaDustLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsPrismatic_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsRaindance_nef_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsRaindance_nefLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsRaindanceLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsRamparts_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsRampartsDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsRaspDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsRollercoaster_nef_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsRoundTheMountain_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsRoundTheMountainLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Centaur_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Damnation_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_DamnationLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Drache_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsS5_HawkingHeat_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsS5_HawkingHeat_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Icedance_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Icedance_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Massive_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_MassiveLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Mimicry_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Mimicry_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Mordacity_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Mordacity_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Reynard_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Sherman_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Silenus_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsS5_SilenusLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Woodymyrk_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS5_Woodymyrk_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS8_Cardiac_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS8_Cardiac_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS8_Geothermal_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsS8_GeothermalLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsS8_Opus_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsS8_Opus_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSaddiesHill_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSandOcean_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsSangre_de_Grado_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsShockRidge_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsShortFall_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsShrineDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSignal_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsSignalLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSkinnyDipLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSlapdash_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsSmallCrossing_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsSmallCrossingLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSmallMelee_CTF = "-1 12";
|
|
||||||
$Host::MapPlayerLimitsSmallTimeCTF_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsSmallTimeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSnowcone_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsSolsDescentLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSoylentGreen_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsStarFallLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsStarIce_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsSubZeroV_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsSulfide_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSundance_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSunDriedLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsSuperHappyBouncyFunTime_CTF = "-1 10";
|
|
||||||
$Host::MapPlayerLimitsSurreal_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsSurro_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTenebrousCTF_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTenebrousCTF_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTheClocktower_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTheFray_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTheFray_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTibbawLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTitaniaLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTitanV_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTitForTat_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsTreasureIslandLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Bleed_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_BlueMoon_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_CanyonCrusadeDeluxe_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsTWL2_CanyonCrusadeDeluxeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Celerity_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Celerity_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Crevice_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Crevice_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenGlory_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenHope_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_FrozenHopeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Hildebrand_CTF = "-1 18";
|
|
||||||
$Host::MapPlayerLimitsTWL2_HildebrandLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_IceDagger_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_JaggedClaw_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_JaggedClawLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Magnum_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_MidnightMayhemDeluxe_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_MidnightMayhemDeluxe_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_MuddySwamp_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ocular_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ocular_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_RoughLand_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Ruined_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_Skylight_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL2_SkylightLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitz_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitzLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_BeachBlitzLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Chokepoint_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Cinereous_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Cinereous_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Crossfire_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Damnation_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Damnation_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_DangerousCrossing_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_DangerousCrossing_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_DeadlyBirdsSong_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Deserted_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Feign_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_FeignLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Frozen_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Harvester_CTF = "14 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Katabatic_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Magamatic_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_OsIris_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_OsIris_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_RollercoasterLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Snowblind_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Starfallen_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Stonehenge_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_StonehengeLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_SubZero_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Titan_CTF = "10 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_Titan_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_WilderZone_CTF = "8 32";
|
|
||||||
$Host::MapPlayerLimitsTWL_WilderZoneLT_sctf = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsVauban_CTF = "12 32";
|
|
||||||
$Host::MapPlayerLimitsVaubanLak_LakRabbit = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsVulcansWrathDM_DM = "-1 32";
|
|
||||||
$Host::MapPlayerLimitsWindyGap_CTF = "12 32";
|
|
||||||
$Host::MarkDnDObjectives = 1;
|
$Host::MarkDnDObjectives = 1;
|
||||||
$Host::MaxBotDifficulty = 0.75;
|
$Host::MaxBotDifficulty = 0;
|
||||||
$Host::MaxMessageLen = 120;
|
$Host::MaxMessageLen = 120;
|
||||||
$Host::MaxPlayers = 24;
|
$Host::MaxPlayers = 30;
|
||||||
$Host::MinBotDifficulty = 0.5;
|
$Host::MinBotDifficulty = 0;
|
||||||
|
$Host::MinFlagRecordPlayerCount = 6;
|
||||||
$Host::MissionType = "LakRabbit";
|
$Host::MissionType = "LakRabbit";
|
||||||
|
$Host::NoBaseRapeEnabled = 1;
|
||||||
|
$Host::NoBaseRapePlayerCount = 14;
|
||||||
$Host::NoSmurfs = 0;
|
$Host::NoSmurfs = 0;
|
||||||
$Host::Password = "pickup";
|
|
||||||
$Host::PlayerRespawnTimeout = 60;
|
$Host::PlayerRespawnTimeout = 60;
|
||||||
$Host::Port = 28000;
|
$Host::Port = "28000";
|
||||||
$Host::PUGautoPassword = 0;
|
$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::SCtFProMode = 0;
|
||||||
|
$Host::ServerRules1 = "\c2if\c4(\c3%client.fun == \c5true \c4&& \c3%client.Llama_Grabs \c4< \c51\c4)";
|
||||||
|
$Host::ServerRules2 = " \c1Be_Courteous\c4(\c2%client, %game\c4);";
|
||||||
|
$Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4!$ = \c5%client.fun\c4)";
|
||||||
|
$Host::ServerRules4 = " \c1Try_2_Have_Fun\c4(\c2%client, %attitude\c4);";
|
||||||
$Host::ShowEndingPlayerScores = 1;
|
$Host::ShowEndingPlayerScores = 1;
|
||||||
$Host::ShowIngamePlayerScores = 1;
|
$Host::ShowIngamePlayerScores = 1;
|
||||||
$Host::Siege::Halftime = 20000;
|
$Host::Siege::Halftime = 20000;
|
||||||
$Host::TeamDamageOn = 1;
|
$Host::TeamDamageOn = "1";
|
||||||
$Host::TeamName0 = "Unassigned";
|
$Host::TeamName0 = "Unassigned";
|
||||||
$Host::TeamName1 = "Storm";
|
$Host::TeamName1 = "Storm";
|
||||||
$Host::TeamName2 = "Inferno";
|
$Host::TeamName2 = "Inferno";
|
||||||
|
|
@ -900,5 +167,5 @@ $Host::TournamentMode = 0;
|
||||||
$Host::useCustomSkins = 1;
|
$Host::useCustomSkins = 1;
|
||||||
$Host::VotePassPercent = 60;
|
$Host::VotePassPercent = 60;
|
||||||
$Host::VoteSpread = 20;
|
$Host::VoteSpread = 20;
|
||||||
$Host::VoteTime = 45;
|
$Host::VoteTime = "45";
|
||||||
$Host::warmupTime = 15;
|
$Host::warmupTime = "15";
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,23 @@ function CTFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
||||||
%player.holdingFlag = %flag; //%player has this flag
|
%player.holdingFlag = %flag; //%player has this flag
|
||||||
%flag.carrier = %player; //this %flag is carried by %player
|
%flag.carrier = %player; //this %flag is carried by %player
|
||||||
|
|
||||||
|
// attach the camera to the flag.carrier
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||||
|
}
|
||||||
|
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
||||||
|
%game.playerGotFlagTarget(%player);
|
||||||
|
|
||||||
|
//only cancel the return timer if the player is in bounds...
|
||||||
|
if(!%client.outOfBounds)
|
||||||
|
{
|
||||||
|
cancel($FlagReturnTimer[%flag]);
|
||||||
|
$FlagReturnTimer[%flag] = "";
|
||||||
|
}
|
||||||
|
|
||||||
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
||||||
|
|
||||||
%game.playerGotFlagTarget(%player);
|
%game.playerGotFlagTarget(%player);
|
||||||
|
|
@ -473,7 +490,32 @@ function CTFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
||||||
|
|
||||||
if (%startStalemate)
|
if (%startStalemate)
|
||||||
%game.stalemateSchedule = %game.schedule(%game.stalemateTimeMS, beginStalemate);
|
%game.stalemateSchedule = %game.schedule(%game.stalemateTimeMS, beginStalemate);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats && !$Host::TournamentMode)
|
||||||
|
{
|
||||||
|
$stats::grabs[%client]++;
|
||||||
|
if($stats::grabs[%client] > $stats::grabs_counter)
|
||||||
|
{
|
||||||
|
$stats::grabs_counter = $stats::grabs[%client];
|
||||||
|
$stats::grabs_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = getSimTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats && !%player.flagStatsWait && !$Host::TournamentMode)
|
||||||
|
{
|
||||||
|
%grabspeed = mFloor(VectorLen(setWord(%player.getVelocity(), 2, 0)) * 3.6);
|
||||||
|
|
||||||
|
if(%grabspeed > $stats::MaxGrabSpeed || ($stats::MaxGrabSpeed $= ""))
|
||||||
|
{
|
||||||
|
$stats::MaxGrabSpeed = %grabspeed;
|
||||||
|
$stats::Grabber = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
%flag.hide(true);
|
%flag.hide(true);
|
||||||
%flag.startFade(0, 0, false);
|
%flag.startFade(0, 0, false);
|
||||||
%flag.isHome = false;
|
%flag.isHome = false;
|
||||||
|
|
@ -486,7 +528,7 @@ function CTFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
||||||
messageTeam(%flag.team, 'MsgCTFFlagTaken', '\c2Your flag has been taken by %1!~wfx/misc/flag_taken.wav',%client.name, 0, %flag.team, %client.nameBase);
|
messageTeam(%flag.team, 'MsgCTFFlagTaken', '\c2Your flag has been taken by %1!~wfx/misc/flag_taken.wav',%client.name, 0, %flag.team, %client.nameBase);
|
||||||
messageTeam(0, 'MsgCTFFlagTaken', '\c2%1 took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase);
|
messageTeam(0, 'MsgCTFFlagTaken', '\c2%1 took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase);
|
||||||
messageClient(%client, 'MsgCTFFlagTaken', '\c2You took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase);
|
messageClient(%client, 'MsgCTFFlagTaken', '\c2You took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase);
|
||||||
logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") took team "@%flag.team@" flag");
|
logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") took team "@%flag.team@" flag ("@%grabspeed@")"); // MP: 6/15/2011 added grabspeed.
|
||||||
|
|
||||||
//call the AI function
|
//call the AI function
|
||||||
%game.AIplayerTouchEnemyFlag(%player, %flag);
|
%game.AIplayerTouchEnemyFlag(%player, %flag);
|
||||||
|
|
@ -532,10 +574,20 @@ function CTFGame::playerDroppedFlag(%game, %player)
|
||||||
|
|
||||||
%game.playerLostFlagTarget(%player);
|
%game.playerLostFlagTarget(%player);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = 0;
|
||||||
|
|
||||||
%player.holdingFlag = ""; //player isn't holding a flag anymore
|
%player.holdingFlag = ""; //player isn't holding a flag anymore
|
||||||
%flag.carrier = ""; //flag isn't held anymore
|
%flag.carrier = ""; //flag isn't held anymore
|
||||||
$flagStatus[%flag.team] = "<In the Field>";
|
$flagStatus[%flag.team] = "<In the Field>";
|
||||||
|
|
||||||
|
// attach the camera again to the flag
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||||
|
}
|
||||||
%player.unMountImage($FlagSlot);
|
%player.unMountImage($FlagSlot);
|
||||||
%flag.hide(false); //Does the throwItem function handle this?
|
%flag.hide(false); //Does the throwItem function handle this?
|
||||||
|
|
||||||
|
|
@ -565,6 +617,72 @@ function CTFGame::flagCap(%game, %player)
|
||||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||||
|
|
||||||
%game.playerLostFlagTarget(%player);
|
%game.playerLostFlagTarget(%player);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
{
|
||||||
|
%held2 = getSimTime() - %game.totalFlagHeldTime[%flag];
|
||||||
|
%realtime = %game.formatTime(%held2, true);
|
||||||
|
%record = false;
|
||||||
|
if(%game.totalFlagHeldTime[%flag])
|
||||||
|
{
|
||||||
|
if(%client.team == 1)
|
||||||
|
{
|
||||||
|
if((%held2 < $flagstats::heldTeam1) || $flagstats::heldTeam1 == 0)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
$flagstats::heldTeam1 = %held2;
|
||||||
|
$flagstats::realTeam1 = %realTime;
|
||||||
|
$flagstats::nickTeam1 = %client.nameBase;
|
||||||
|
}
|
||||||
|
%record = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(%client.team == 2)
|
||||||
|
{
|
||||||
|
if((%held2 < $flagstats::heldTeam2) || $flagstats::heldTeam2 == 0)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
$flagstats::heldTeam2 = %held2;
|
||||||
|
$flagstats::realTeam2 = %realTime;
|
||||||
|
$flagstats::nickTeam2 = %client.nameBase;
|
||||||
|
}
|
||||||
|
%record = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%record == true)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
%fileOut = "stats/maps/classic/" @ $CurrentMissionType @ "/" @ $CurrentMission @ ".txt";
|
||||||
|
export("$flagstats::*", %fileOut, false);
|
||||||
|
schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', "\c2It's a new record! Time: \c3"@%realtime@"\c2.~wfx/misc/hunters_horde.wav");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
schedule(4000, 0, "messageClient", %client, '', "\c2Minimum of" SPC $Host::MinFlagRecordPlayerCount SPC "Players to set a new flag record.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$Host::TournamentMode)
|
||||||
|
bottomprint(%client, "You captured the flag in " @ %realTime @ " seconds", 3);
|
||||||
|
|
||||||
|
$stats::caps[%client]++;
|
||||||
|
if($stats::caps[%client] > $stats::caps_counter)
|
||||||
|
{
|
||||||
|
$stats::caps_counter = $stats::caps[%client];
|
||||||
|
$stats::caps_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%held2 < $stats::fastestCap || !$stats::fastestCap)
|
||||||
|
{
|
||||||
|
$stats::fastestCap = %held2;
|
||||||
|
$stats::fastcap_time = %realTime;
|
||||||
|
$stats::fastcap_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//award points to player and team
|
//award points to player and team
|
||||||
%teamName = %game.getTeamName(%flag.team);
|
%teamName = %game.getTeamName(%flag.team);
|
||||||
messageTeamExcept(%client, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
messageTeamExcept(%client, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
||||||
|
|
@ -572,7 +690,7 @@ function CTFGame::flagCap(%game, %player)
|
||||||
messageTeam(0, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
messageTeam(0, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
||||||
messageClient(%client, 'MsgCTFFlagCapped', '\c2You captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held); // Yogi, 8/18/02. 3rd param changed 0 -> %client.name
|
messageClient(%client, 'MsgCTFFlagCapped', '\c2You captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held); // Yogi, 8/18/02. 3rd param changed 0 -> %client.name
|
||||||
|
|
||||||
logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") capped team "@%client.team@" flag"@" (Held: "@%held@")");
|
logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") capped team "@%client.team@" flag"@" (Held: "@%held@")"); // MP: 6/14/2011 The team is wrong, but the stats program auto-corrects it, so just leave as is
|
||||||
%player.holdingFlag = ""; //no longer holding it.
|
%player.holdingFlag = ""; //no longer holding it.
|
||||||
%player.unMountImage($FlagSlot);
|
%player.unMountImage($FlagSlot);
|
||||||
%game.awardScoreFlagCap(%client, %flag);
|
%game.awardScoreFlagCap(%client, %flag);
|
||||||
|
|
@ -581,21 +699,42 @@ function CTFGame::flagCap(%game, %player)
|
||||||
//call the AI function
|
//call the AI function
|
||||||
%game.AIflagCap(%player, %flag);
|
%game.AIflagCap(%player, %flag);
|
||||||
|
|
||||||
//if this cap didn't end the game, play the announcer...
|
//Determine score status
|
||||||
if ($missionRunning)
|
%caplimit = MissionGroup.CTF_scoreLimit;
|
||||||
|
%otherteam = ( %client.team == 1 ) ? 2 : 1;
|
||||||
|
//Find out caps from score
|
||||||
|
%clientteamcaps = mFloor($TeamScore[%client.team] / %game.SCORE_PER_TEAM_FLAG_CAP);
|
||||||
|
%otherteamcaps = mFloor($TeamScore[%otherteam] / %game.SCORE_PER_TEAM_FLAG_CAP);
|
||||||
|
|
||||||
|
//Determine Gamepoint
|
||||||
|
if(%clientteamcaps >= (%caplimit - 1))
|
||||||
{
|
{
|
||||||
if (%game.getTeamName(%client.team) $= 'Inferno')
|
if(%clientteamcaps == %otherteamcaps)
|
||||||
messageAll("", '~wvoice/announcer/ann.infscores.wav');
|
%scorestatus = "tied";
|
||||||
else if (%game.getTeamName(%client.team) $= 'Storm')
|
else
|
||||||
messageAll("", '~wvoice/announcer/ann.stoscores.wav');
|
%scorestatus = "gamepoint";
|
||||||
else if (%game.getTeamName(%client.team) $= 'Phoenix')
|
}
|
||||||
messageAll("", '~wvoice/announcer/ann.pxscore.wav');
|
else
|
||||||
else if (%game.getTeamName(%client.team) $= 'Blood Eagle')
|
%scorestatus = "normal";
|
||||||
messageAll("", '~wvoice/announcer/ann.bescore.wav');
|
|
||||||
else if (%game.getTeamName(%client.team) $= 'Diamond Sword')
|
//if this cap didn't end the game, play the announcer...
|
||||||
messageAll("", '~wvoice/announcer/ann.dsscore.wav');
|
if($missionRunning)
|
||||||
else if (%game.getTeamName(%client.team) $= 'Starwolf')
|
{
|
||||||
messageAll("", '~wvoice/announcer/ann.swscore.wav');
|
switch$(%scorestatus)
|
||||||
|
{
|
||||||
|
case normal:
|
||||||
|
//classic uses only storm/inferno
|
||||||
|
if(%game.getTeamName(%client.team) $= 'Inferno')
|
||||||
|
messageAll("", '~wvoice/announcer/ann.infscores.wav');
|
||||||
|
else if(%game.getTeamName(%client.team) $= 'Storm')
|
||||||
|
messageAll("", '~wvoice/announcer/ann.stoscores.wav');
|
||||||
|
case tied:
|
||||||
|
//Announce tied message
|
||||||
|
messageAll("", '~wvoice/announcer/ann.closegame_03.wav');
|
||||||
|
case gamepoint:
|
||||||
|
//Announce gamepoint
|
||||||
|
messageAll("", '~wvoice/announcer/ann.gamepoint_imminent.wav');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -619,6 +758,23 @@ function CTFGame::flagReturn(%game, %flag, %player)
|
||||||
else
|
else
|
||||||
%otherTeam = 1;
|
%otherTeam = 1;
|
||||||
%teamName = %game.getTeamName(%flag.team);
|
%teamName = %game.getTeamName(%flag.team);
|
||||||
|
|
||||||
|
// when the flag return, stop observing the flag, and go in observerFly mode
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
{
|
||||||
|
%cl.camera.mode = "observerFly";
|
||||||
|
%cl.camera.setFlyMode();
|
||||||
|
updateObserverFlyHud(%cl);
|
||||||
|
|
||||||
|
%cl.observingFlag = false;
|
||||||
|
%cl.flagObserved = "";
|
||||||
|
%cl.flagObsTeam = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (%player !$= "")
|
if (%player !$= "")
|
||||||
{
|
{
|
||||||
//a player returned it
|
//a player returned it
|
||||||
|
|
@ -710,8 +866,9 @@ function CTFGame::beginStalemate(%game)
|
||||||
// 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -720,19 +877,28 @@ function CTFGame::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 CTFGame::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 CTFGame::flagReset(%game, %flag)
|
function CTFGame::flagReset(%game, %flag)
|
||||||
|
|
@ -740,7 +906,7 @@ function CTFGame::flagReset(%game, %flag)
|
||||||
cancel(%game.updateFlagThread[%flag]); // z0dd - ZOD, 8/4/02. Cancel this flag's thread to KineticPoet's flag updater
|
cancel(%game.updateFlagThread[%flag]); // z0dd - ZOD, 8/4/02. Cancel this flag's thread to KineticPoet's flag updater
|
||||||
|
|
||||||
//any time a flag is reset, kill the stalemate schedule
|
//any time a flag is reset, kill the stalemate schedule
|
||||||
%game.endStalemate();
|
%game.endStalemate(%game);
|
||||||
|
|
||||||
//make sure if there's a player carrying it (probably one out of bounds...), it is stripped first
|
//make sure if there's a player carrying it (probably one out of bounds...), it is stripped first
|
||||||
if (isObject(%flag.carrier))
|
if (isObject(%flag.carrier))
|
||||||
|
|
@ -1624,6 +1790,9 @@ function CTFGame::boundaryLoseFlag(%game, %player)
|
||||||
|
|
||||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = 0;
|
||||||
|
|
||||||
%game.playerDroppedFlag(%player);
|
%game.playerDroppedFlag(%player);
|
||||||
|
|
||||||
// now for the tricky part -- throwing the flag back into the mission area
|
// now for the tricky part -- throwing the flag back into the mission area
|
||||||
|
|
|
||||||
2181
Classic/scripts/GameGui.cs
Normal file
2181
Classic/scripts/GameGui.cs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Team Rabbit script
|
// Lak Rabbit script
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
// DisplayName = LakRabbit
|
// DisplayName = LakRabbit
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
//
|
//
|
||||||
// v3.36 Dec 2019
|
// v3.36 Dec 2019
|
||||||
// Boundary bounce speed limit
|
// Boundary bounce speed limit
|
||||||
|
// Unified Lakrabbit Vars
|
||||||
//
|
//
|
||||||
// v3.35 April 2019
|
// v3.35 April 2019
|
||||||
// Added Not enough players flag message delay
|
// Added Not enough players flag message delay
|
||||||
|
|
@ -124,7 +125,7 @@
|
||||||
// v1 - See game rules.
|
// v1 - See game rules.
|
||||||
|
|
||||||
// Vars:
|
// Vars:
|
||||||
// $Host::ShowFlagIcon
|
// $Host::LakRabbitShowFlagIcon
|
||||||
// 0 - Don't show any
|
// 0 - Don't show any
|
||||||
// 1 - Show flag icon when flag dropped only
|
// 1 - Show flag icon when flag dropped only
|
||||||
// 2 - Show flag icon on rabbit
|
// 2 - Show flag icon on rabbit
|
||||||
|
|
@ -138,14 +139,14 @@
|
||||||
// 1 - Enable Duel Mode
|
// 1 - Enable Duel Mode
|
||||||
//
|
//
|
||||||
// $Host::LakRabbitNoSplashDamage
|
// $Host::LakRabbitNoSplashDamage
|
||||||
// 0 - Disable No Splash Dame
|
// 0 - Disable No Splash Damage
|
||||||
// 1 - Enable No Splash Damage
|
// 1 - Enable No Splash Damage
|
||||||
//
|
//
|
||||||
// $Host::ShowFlagTask
|
// $Host::LakRabbitShowFlagTask
|
||||||
// 0 - Do not show flag task
|
// 0 - Do not show flag task
|
||||||
// 1 - Show the flag when dropped as a task
|
// 1 - Show the flag when dropped as a task
|
||||||
//
|
//
|
||||||
// $Host::EnableLakUnlimitedDJ
|
// $Host::LakRabbitUnlimitedDJ
|
||||||
// 0 - Players only get one DiscJump
|
// 0 - Players only get one DiscJump
|
||||||
// 1 - Players get 999 or unlimited DiscJumps
|
// 1 - Players get 999 or unlimited DiscJumps
|
||||||
//
|
//
|
||||||
|
|
@ -162,7 +163,7 @@ function Flag::objectiveInit(%data, %flag)
|
||||||
%flag.rotate = true;
|
%flag.rotate = true;
|
||||||
|
|
||||||
// ilys -- add the icon to the flag
|
// ilys -- add the icon to the flag
|
||||||
if( $Host::ShowFlagIcon == 1 || $Host::ShowFlagIcon == 2 )
|
if( $Host::LakRabbitShowFlagIcon == 1 || $Host::LakRabbitShowFlagIcon == 2 )
|
||||||
{
|
{
|
||||||
%flag.scopeWhenSensorVisible(true);
|
%flag.scopeWhenSensorVisible(true);
|
||||||
setTargetSensorGroup(%flag.getTarget(), $NonRabbitTeam);
|
setTargetSensorGroup(%flag.getTarget(), $NonRabbitTeam);
|
||||||
|
|
@ -171,7 +172,7 @@ function Flag::objectiveInit(%data, %flag)
|
||||||
}
|
}
|
||||||
|
|
||||||
// create a waypoint to the flag's starting place
|
// create a waypoint to the flag's starting place
|
||||||
if( $Host::ShowFlagIcon == 0 )
|
if( $Host::LakRabbitShowFlagIcon == 0 )
|
||||||
{
|
{
|
||||||
%flagWaypoint = new WayPoint()
|
%flagWaypoint = new WayPoint()
|
||||||
{
|
{
|
||||||
|
|
@ -1468,7 +1469,7 @@ function LakRabbitGame::playerSpawned(%game, %player)
|
||||||
|
|
||||||
//now set a waypoint just for that client...
|
//now set a waypoint just for that client...
|
||||||
// ilys -- show client waypoint if not showing flag icon
|
// ilys -- show client waypoint if not showing flag icon
|
||||||
if($Host::ShowFlagIcon == 0 && $Host::ShowFlagTask)
|
if($Host::LakRabbitShowFlagIcon == 0 && $Host::LakRabbitShowFlagTask)
|
||||||
{
|
{
|
||||||
cancel(%player.client.waypointSchedule);
|
cancel(%player.client.waypointSchedule);
|
||||||
if (isObject(%clRabbit) && !%player.client.isAIControlled())
|
if (isObject(%clRabbit) && !%player.client.isAIControlled())
|
||||||
|
|
@ -1498,7 +1499,7 @@ function LakRabbitGame::playerSpawned(%game, %player)
|
||||||
%player.schedule(250,"selectWeaponSlot", 0);
|
%player.schedule(250,"selectWeaponSlot", 0);
|
||||||
%player.setEnergyLevel(%player.getDatablock().maxEnergy);
|
%player.setEnergyLevel(%player.getDatablock().maxEnergy);
|
||||||
|
|
||||||
if($Host::EnableLakUnlimitedDJ == 1)
|
if($Host::LakRabbitUnlimitedDJ == 1)
|
||||||
%player.freeDJ = 999; // free diskjump
|
%player.freeDJ = 999; // free diskjump
|
||||||
else
|
else
|
||||||
%player.freeDJ = 1; // free diskjump
|
%player.freeDJ = 1; // free diskjump
|
||||||
|
|
@ -1655,7 +1656,7 @@ function LakRabbitGame::playerDroppedFlag(%game, %player)
|
||||||
%player.unmountImage($FlagSlot);
|
%player.unmountImage($FlagSlot);
|
||||||
%flag.hide(false);
|
%flag.hide(false);
|
||||||
// ilys -- remove flag icon from player
|
// ilys -- remove flag icon from player
|
||||||
if($Host::ShowFlagIcon == 1 || $Host::ShowFlagIcon == 2)
|
if($Host::LakRabbitShowFlagIcon == 1 || $Host::LakRabbitShowFlagIcon == 2)
|
||||||
{
|
{
|
||||||
setTargetSensorGroup(%flag.getTarget(), $Observer);
|
setTargetSensorGroup(%flag.getTarget(), $Observer);
|
||||||
%player.scopeWhenSensorVisible(true);
|
%player.scopeWhenSensorVisible(true);
|
||||||
|
|
@ -1665,9 +1666,9 @@ function LakRabbitGame::playerDroppedFlag(%game, %player)
|
||||||
}
|
}
|
||||||
|
|
||||||
//just always true
|
//just always true
|
||||||
//if( $Host::ShowFlagIcon == 1 )
|
//if( $Host::LakRabbitShowFlagIcon == 1 )
|
||||||
//%flag.scopeWhenSensorVisible(true);
|
//%flag.scopeWhenSensorVisible(true);
|
||||||
//else if($Host::ShowFlagIcon == 2)
|
//else if($Host::LakRabbitShowFlagIcon == 2)
|
||||||
//%flag.scopeWhenSensorVisible(false);
|
//%flag.scopeWhenSensorVisible(false);
|
||||||
|
|
||||||
// borlak -- throw the flag, don't just drop it like dead weight
|
// borlak -- throw the flag, don't just drop it like dead weight
|
||||||
|
|
@ -1691,7 +1692,7 @@ function LakRabbitGame::playerDroppedFlag(%game, %player)
|
||||||
%flag.setCollisionTimeout(%player);
|
%flag.setCollisionTimeout(%player);
|
||||||
|
|
||||||
// ilys -- hide waypoint if not showing flag icon
|
// ilys -- hide waypoint if not showing flag icon
|
||||||
if($Host::ShowFlagIcon == 0 && $Host::ShowFlagTask)
|
if($Host::LakRabbitShowFlagIcon == 0 && $Host::LakRabbitShowFlagTask)
|
||||||
{
|
{
|
||||||
cancel(%game.waypointSchedule);
|
cancel(%game.waypointSchedule);
|
||||||
%game.hideRabbitWaypoint(%player.client);
|
%game.hideRabbitWaypoint(%player.client);
|
||||||
|
|
@ -1828,7 +1829,7 @@ function LakRabbitGame::playerTouchFlag(%game, %player, %flag)
|
||||||
cancel(%flag.returnThread);
|
cancel(%flag.returnThread);
|
||||||
%flag.hide(true);
|
%flag.hide(true);
|
||||||
// ilys -- add flag icon to player
|
// ilys -- add flag icon to player
|
||||||
if( $Host::ShowFlagIcon == 2 )
|
if( $Host::LakRabbitShowFlagIcon == 2 )
|
||||||
{
|
{
|
||||||
setTargetSensorGroup(%flag.getTarget(), $RabbitTeam);
|
setTargetSensorGroup(%flag.getTarget(), $RabbitTeam);
|
||||||
%player.scopeWhenSensorVisible(true);
|
%player.scopeWhenSensorVisible(true);
|
||||||
|
|
@ -1869,7 +1870,7 @@ function LakRabbitGame::playerTouchFlag(%game, %player, %flag)
|
||||||
//show the rabbit waypoint
|
//show the rabbit waypoint
|
||||||
%game.rabbitDamageTime = 0;
|
%game.rabbitDamageTime = 0;
|
||||||
// ilys -- waypoint if not showing flag icon
|
// ilys -- waypoint if not showing flag icon
|
||||||
if($Host::ShowFlagIcon == 0 && $Host::ShowFlagTask)
|
if($Host::LakRabbitShowFlagIcon == 0 && $Host::LakRabbitShowFlagTask)
|
||||||
{
|
{
|
||||||
cancel(%game.waypointSchedule);
|
cancel(%game.waypointSchedule);
|
||||||
%game.showRabbitWaypoint(%player.client);
|
%game.showRabbitWaypoint(%player.client);
|
||||||
|
|
@ -1922,7 +1923,7 @@ function LakRabbitGame::resetFlag(%game, %flag)
|
||||||
%flag.hide(false);
|
%flag.hide(false);
|
||||||
|
|
||||||
//so flag turns back green
|
//so flag turns back green
|
||||||
if($Host::ShowFlagIcon == 1 || $Host::ShowFlagIcon == 2)
|
if($Host::LakRabbitShowFlagIcon == 1 || $Host::LakRabbitShowFlagIcon == 2)
|
||||||
{
|
{
|
||||||
setTargetSensorGroup(%flag.getTarget(), $NonRabbitTeam);
|
setTargetSensorGroup(%flag.getTarget(), $NonRabbitTeam);
|
||||||
}
|
}
|
||||||
|
|
@ -1978,13 +1979,13 @@ function LakRabbitGame::gameOver(%game)
|
||||||
%client = ClientGroup.getObject(%i);
|
%client = ClientGroup.getObject(%i);
|
||||||
%game.resetScore(%client);
|
%game.resetScore(%client);
|
||||||
// ilys -- cancel waypoint if not showing flag icon
|
// ilys -- cancel waypoint if not showing flag icon
|
||||||
if($Host::ShowFlagIcon == 0 && $Host::ShowFlagTask)
|
if($Host::LakRabbitShowFlagIcon == 0 && $Host::LakRabbitShowFlagTask)
|
||||||
cancel(%client.waypointSchedule);
|
cancel(%client.waypointSchedule);
|
||||||
cancel(%client.duelTimer);
|
cancel(%client.duelTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ilys -- cancel waypoint if not showing flag icon
|
// ilys -- cancel waypoint if not showing flag icon
|
||||||
if($Host::ShowFlagIcon == 0 && $Host::ShowFlagTask)
|
if($Host::LakRabbitShowFlagIcon == 0 && $Host::LakRabbitShowFlagTask)
|
||||||
cancel(%game.waypointSchedule);
|
cancel(%game.waypointSchedule);
|
||||||
|
|
||||||
// borlak -- delete variables
|
// borlak -- delete variables
|
||||||
|
|
|
||||||
|
|
@ -750,9 +750,16 @@ function SCtFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
||||||
%player.holdingFlag = %flag; //%player has this flag
|
%player.holdingFlag = %flag; //%player has this flag
|
||||||
%flag.carrier = %player; //this %flag is carried by %player
|
%flag.carrier = %player; //this %flag is carried by %player
|
||||||
|
|
||||||
|
// attach the camera to the flag.carrier
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||||
|
}
|
||||||
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
||||||
|
|
||||||
%game.playerGotFlagTarget(%player);
|
%game.playerGotFlagTarget(%player);
|
||||||
|
|
||||||
//only cancel the return timer if the player is in bounds...
|
//only cancel the return timer if the player is in bounds...
|
||||||
if (!%client.outOfBounds)
|
if (!%client.outOfBounds)
|
||||||
{
|
{
|
||||||
|
|
@ -775,7 +782,31 @@ function SCtFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
||||||
if (%startStalemate)
|
if (%startStalemate)
|
||||||
%game.stalemateSchedule = %game.schedule(%game.stalemateTimeMS, beginStalemate);
|
%game.stalemateSchedule = %game.schedule(%game.stalemateTimeMS, beginStalemate);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats && !$Host::TournamentMode)
|
||||||
|
{
|
||||||
|
$stats::grabs[%client]++;
|
||||||
|
if($stats::grabs[%client] > $stats::grabs_counter)
|
||||||
|
{
|
||||||
|
$stats::grabs_counter = $stats::grabs[%client];
|
||||||
|
$stats::grabs_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = getSimTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats && !%player.flagStatsWait && !$Host::TournamentMode)
|
||||||
|
{
|
||||||
|
%grabspeed = mFloor(VectorLen(setWord(%player.getVelocity(), 2, 0)) * 3.6);
|
||||||
|
|
||||||
|
if(%grabspeed > $stats::MaxGrabSpeed || ($stats::MaxGrabSpeed $= ""))
|
||||||
|
{
|
||||||
|
$stats::MaxGrabSpeed = %grabspeed;
|
||||||
|
$stats::Grabber = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
%flag.hide(true);
|
%flag.hide(true);
|
||||||
%flag.startFade(0, 0, false);
|
%flag.startFade(0, 0, false);
|
||||||
%flag.isHome = false;
|
%flag.isHome = false;
|
||||||
|
|
@ -833,10 +864,20 @@ function SCtFGame::playerDroppedFlag(%game, %player)
|
||||||
|
|
||||||
%game.playerLostFlagTarget(%player);
|
%game.playerLostFlagTarget(%player);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = 0;
|
||||||
|
|
||||||
%player.holdingFlag = ""; //player isn't holding a flag anymore
|
%player.holdingFlag = ""; //player isn't holding a flag anymore
|
||||||
%flag.carrier = ""; //flag isn't held anymore
|
%flag.carrier = ""; //flag isn't held anymore
|
||||||
$flagStatus[%flag.team] = "<In the Field>";
|
$flagStatus[%flag.team] = "<In the Field>";
|
||||||
|
|
||||||
|
// attach the camera again to the flag
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||||
|
}
|
||||||
%player.unMountImage($FlagSlot);
|
%player.unMountImage($FlagSlot);
|
||||||
%flag.hide(false); //Does the throwItem function handle this?
|
%flag.hide(false); //Does the throwItem function handle this?
|
||||||
|
|
||||||
|
|
@ -866,6 +907,72 @@ function SCtFGame::flagCap(%game, %player)
|
||||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||||
|
|
||||||
%game.playerLostFlagTarget(%player);
|
%game.playerLostFlagTarget(%player);
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
{
|
||||||
|
%held2 = getSimTime() - %game.totalFlagHeldTime[%flag];
|
||||||
|
%realtime = %game.formatTime(%held2, true);
|
||||||
|
%record = false;
|
||||||
|
if(%game.totalFlagHeldTime[%flag])
|
||||||
|
{
|
||||||
|
if(%client.team == 1)
|
||||||
|
{
|
||||||
|
if((%held2 < $flagstats::heldTeam1) || $flagstats::heldTeam1 == 0)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
$flagstats::heldTeam1 = %held2;
|
||||||
|
$flagstats::realTeam1 = %realTime;
|
||||||
|
$flagstats::nickTeam1 = %client.nameBase;
|
||||||
|
}
|
||||||
|
%record = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(%client.team == 2)
|
||||||
|
{
|
||||||
|
if((%held2 < $flagstats::heldTeam2) || $flagstats::heldTeam2 == 0)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
$flagstats::heldTeam2 = %held2;
|
||||||
|
$flagstats::realTeam2 = %realTime;
|
||||||
|
$flagstats::nickTeam2 = %client.nameBase;
|
||||||
|
}
|
||||||
|
%record = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%record == true)
|
||||||
|
{
|
||||||
|
if($HostGamePlayerCount >= $Host::MinFlagRecordPlayerCount)
|
||||||
|
{
|
||||||
|
%fileOut = "stats/maps/classic/" @ $CurrentMissionType @ "/" @ $CurrentMission @ ".txt";
|
||||||
|
export("$flagstats::*", %fileOut, false);
|
||||||
|
schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', "\c2It's a new record! Time: \c3"@%realtime@"\c2.~wfx/misc/hunters_horde.wav");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
schedule(4000, 0, "messageClient", %client, '', "\c2Minimum of" SPC $Host::MinFlagRecordPlayerCount SPC "Players to set a new flag record.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$Host::TournamentMode)
|
||||||
|
bottomprint(%client, "You captured the flag in " @ %realTime @ " seconds", 3);
|
||||||
|
|
||||||
|
$stats::caps[%client]++;
|
||||||
|
if($stats::caps[%client] > $stats::caps_counter)
|
||||||
|
{
|
||||||
|
$stats::caps_counter = $stats::caps[%client];
|
||||||
|
$stats::caps_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%held2 < $stats::fastestCap || !$stats::fastestCap)
|
||||||
|
{
|
||||||
|
$stats::fastestCap = %held2;
|
||||||
|
$stats::fastcap_time = %realTime;
|
||||||
|
$stats::fastcap_client = getTaggedString(%client.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//award points to player and team
|
//award points to player and team
|
||||||
%teamName = %game.getTeamName(%flag.team);
|
%teamName = %game.getTeamName(%flag.team);
|
||||||
messageTeamExcept(%client, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
messageTeamExcept(%client, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag! (Held: %5)~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team, %held);
|
||||||
|
|
@ -916,6 +1023,23 @@ function SCtFGame::flagReturn(%game, %flag, %player)
|
||||||
else
|
else
|
||||||
%otherTeam = 1;
|
%otherTeam = 1;
|
||||||
%teamName = %game.getTeamName(%flag.team);
|
%teamName = %game.getTeamName(%flag.team);
|
||||||
|
|
||||||
|
// when the flag return, stop observing the flag, and go in observerFly mode
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||||
|
{
|
||||||
|
%cl.camera.mode = "observerFly";
|
||||||
|
%cl.camera.setFlyMode();
|
||||||
|
updateObserverFlyHud(%cl);
|
||||||
|
|
||||||
|
%cl.observingFlag = false;
|
||||||
|
%cl.flagObserved = "";
|
||||||
|
%cl.flagObsTeam = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (%player !$= "")
|
if (%player !$= "")
|
||||||
{
|
{
|
||||||
//a player returned it
|
//a player returned it
|
||||||
|
|
@ -1815,6 +1939,9 @@ function SCtFGame::boundaryLoseFlag(%game, %player)
|
||||||
|
|
||||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
%game.totalFlagHeldTime[%flag] = 0;
|
||||||
|
|
||||||
%game.playerDroppedFlag(%player);
|
%game.playerDroppedFlag(%player);
|
||||||
|
|
||||||
// now for the tricky part -- throwing the flag back into the mission area
|
// now for the tricky part -- throwing the flag back into the mission area
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ $VoteMessage["VoteArmorLimits", 1] = "disable armor limiting";
|
||||||
$VoteMessage["VoteAntiTurtleTime"] = "change the anti turtle time to";
|
$VoteMessage["VoteAntiTurtleTime"] = "change the anti turtle time to";
|
||||||
$VoteMessage["VoteArmorClass"] = "change the armor class to";
|
$VoteMessage["VoteArmorClass"] = "change the armor class to";
|
||||||
$VoteMessage["VoteClearServer"] = "clear server for match";
|
$VoteMessage["VoteClearServer"] = "clear server for match";
|
||||||
$VoteMessage["VoteSkipMission"] = "skip the mission to";
|
$VoteMessage["VoteSkipMission"] = "skip the mission";
|
||||||
|
|
||||||
function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote)
|
function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote)
|
||||||
{
|
{
|
||||||
|
|
@ -146,6 +146,9 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
%clientsVoting++;
|
%clientsVoting++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -158,6 +161,9 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
%clientsVoting++;
|
%clientsVoting++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -173,6 +179,21 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( %typeName $= "VoteSkipMission" )
|
||||||
|
{
|
||||||
|
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ )
|
||||||
|
{
|
||||||
|
%cl = ClientGroup.getObject( %idx );
|
||||||
|
if ( !%cl.isAIControlled() )
|
||||||
|
{
|
||||||
|
messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2.', %client.name, %actionMsg, %arg1.name);
|
||||||
|
%clientsVoting++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
|
}
|
||||||
else if ( %typeName $= "VoteChangeMission" )
|
else if ( %typeName $= "VoteChangeMission" )
|
||||||
{
|
{
|
||||||
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ )
|
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ )
|
||||||
|
|
@ -184,6 +205,9 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
%clientsVoting++;
|
%clientsVoting++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
}
|
}
|
||||||
else if (%arg1 !$= 0)
|
else if (%arg1 !$= 0)
|
||||||
{
|
{
|
||||||
|
|
@ -203,6 +227,9 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
%clientsVoting++;
|
%clientsVoting++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -225,7 +252,10 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ )
|
if( %arg1 == 999 )
|
||||||
|
%arg1 = "unlimited";
|
||||||
|
|
||||||
|
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ )
|
||||||
{
|
{
|
||||||
%cl = ClientGroup.getObject( %idx );
|
%cl = ClientGroup.getObject( %idx );
|
||||||
if ( !%cl.isAIControlled() )
|
if ( !%cl.isAIControlled() )
|
||||||
|
|
@ -234,6 +264,9 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
%clientsVoting++;
|
%clientsVoting++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%VoteSoundRandom = getRandom(1,100);
|
||||||
|
$VoteSoundRandom = %VoteSoundRandom;
|
||||||
|
$VoteSoundSchedule = schedule(10000, 0, "VoteSound", %game, %typename, %arg1, %arg2, %VoteSoundRandom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
489
Classic/scripts/autoexec/AntiLouExploitFixes.cs
Normal file
489
Classic/scripts/autoexec/AntiLouExploitFixes.cs
Normal file
|
|
@ -0,0 +1,489 @@
|
||||||
|
//Taco October 2018
|
||||||
|
//removed alot of things that were already included in the classic code
|
||||||
|
//and checked if evo wasnt double overriding functions
|
||||||
|
|
||||||
|
package AntiLouExploitFixes
|
||||||
|
{
|
||||||
|
|
||||||
|
// MPB INSTANT ENERGY FIX
|
||||||
|
|
||||||
|
// VehicleData::onRemove(%this, %obj)
|
||||||
|
// Info: this is called after the MPB is destroyed. Reset the variable
|
||||||
|
function VehicleData::onRemove(%this, %obj)
|
||||||
|
{
|
||||||
|
if(%obj.station.isDestroyed)
|
||||||
|
%obj.station.isDestroyed = 0;
|
||||||
|
|
||||||
|
parent::onRemove(%this, %obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// stationTrigger::onEnterTrigger(%data, %obj, %colObj)
|
||||||
|
// Info: If the MPB is destroyed, don't allow players to use the inv
|
||||||
|
function stationTrigger::onEnterTrigger(%data, %obj, %colObj)
|
||||||
|
{
|
||||||
|
//make sure it's a player object, and that that object is still alive
|
||||||
|
if(%colObj.getDataBlock().className !$= "Armor" || %colObj.getState() $= "Dead")
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
// Part of hack to keep people from mounting vehicles in disallowed armors.
|
||||||
|
if(%obj.station.getDataBlock().getName() !$= "StationVehicle")
|
||||||
|
%colObj.client.inInv = true;
|
||||||
|
|
||||||
|
%colObj.inStation = true;
|
||||||
|
commandToClient(%colObj.client,'setStationKeys', true);
|
||||||
|
|
||||||
|
if(Game.stationOnEnterTrigger(%data, %obj, %colObj))
|
||||||
|
{
|
||||||
|
//verify station.team is team associated and isn't on player's team
|
||||||
|
if((%obj.mainObj.team != %colObj.client.team) && (%obj.mainObj.team != 0))
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'msgStationDenied', '\c2Access Denied -- Wrong team.~wfx/powered/station_denied.wav');
|
||||||
|
}
|
||||||
|
else if(%obj.disableObj.isDisabled())
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'msgStationDisabled', '\c2Station is disabled.');
|
||||||
|
}
|
||||||
|
else if(!%obj.mainObj.isPowered())
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'msgStationNoPower', '\c2Station is not powered.');
|
||||||
|
}
|
||||||
|
else if(%obj.station.notDeployed)
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'msgStationNotDeployed', '\c2Station is not deployed.');
|
||||||
|
}
|
||||||
|
else if(%obj.station.isDestroyed)
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'msgStationDestroyed', '\c2Station is destroyed.');
|
||||||
|
}
|
||||||
|
else if(%obj.station.triggeredBy $= "")
|
||||||
|
{
|
||||||
|
if(%obj.station.getDataBlock().setPlayersPosition(%obj.station, %obj, %colObj))
|
||||||
|
{
|
||||||
|
messageClient(%colObj.client, 'CloseHud', "", 'inventoryScreen');
|
||||||
|
commandToClient(%colObj.client, 'TogglePlayHuds', true);
|
||||||
|
%obj.station.triggeredBy = %colObj;
|
||||||
|
%obj.station.getDataBlock().stationTriggered(%obj.station, 1);
|
||||||
|
%colObj.station = %obj.station;
|
||||||
|
%colObj.lastWeapon = ( %colObj.getMountedImage($WeaponSlot) == 0 ) ? "" : %colObj.getMountedImage($WeaponSlot).getName().item;
|
||||||
|
%colObj.unmountImage($WeaponSlot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// END MPB INSTANT ENERGY FIX
|
||||||
|
|
||||||
|
// VEHICLE STATION SPAM FIX
|
||||||
|
|
||||||
|
// serverCmdBuyVehicle(%client, %blockName)
|
||||||
|
// Info: Fix an exploit that makes the server lag.
|
||||||
|
function serverCmdBuyVehicle(%client, %blockName)
|
||||||
|
{
|
||||||
|
// if the client has already created a vehicle, don't execute the function
|
||||||
|
if(%client.cantBuyVehicle)
|
||||||
|
return;
|
||||||
|
|
||||||
|
%team = %client.getSensorGroup();
|
||||||
|
if(vehicleCheck(%blockName, %team))
|
||||||
|
{
|
||||||
|
%station = %client.player.station.pad;
|
||||||
|
if((%station.ready) && (%station.station.vehicle[%blockName]))
|
||||||
|
{
|
||||||
|
%trans = %station.getTransform();
|
||||||
|
%pos = getWords(%trans, 0, 2);
|
||||||
|
%matrix = VectorOrthoBasis(getWords(%trans, 3, 6));
|
||||||
|
%yrot = getWords(%matrix, 3, 5);
|
||||||
|
%p = vectorAdd(%pos,vectorScale(%yrot, -3));
|
||||||
|
%p = getWords(%p, 0, 1) @ " " @ getWord(%p, 2) + 4;
|
||||||
|
%p = vectorAdd(%p, %blockName.spawnOffset);
|
||||||
|
%rot = getWords(%trans, 3, 5);
|
||||||
|
%angle = getWord(%trans, 6) + 3.14;
|
||||||
|
%mask = $TypeMasks::VehicleObjectType | $TypeMasks::PlayerObjectType | $TypeMasks::StationObjectType | $TypeMasks::TurretObjectType;
|
||||||
|
InitContainerRadiusSearch(%p, %blockName.checkRadius, %mask);
|
||||||
|
|
||||||
|
%clear = 1;
|
||||||
|
for(%x = 0; (%obj = containerSearchNext()) != 0; %x++)
|
||||||
|
{
|
||||||
|
if((%obj.getType() & $TypeMasks::VehicleObjectType) && (%obj.getDataBlock().checkIfPlayersMounted(%obj)))
|
||||||
|
{
|
||||||
|
%clear = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
%removeObjects[%x] = %obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%clear)
|
||||||
|
{
|
||||||
|
%fadeTime = 0;
|
||||||
|
for(%i = 0; %i < %x; %i++)
|
||||||
|
{
|
||||||
|
if(%removeObjects[%i].getType() & $TypeMasks::PlayerObjectType)
|
||||||
|
{
|
||||||
|
%pData = %removeObjects[%i].getDataBlock();
|
||||||
|
%pData.damageObject(%removeObjects[%i], 0, "0 0 0", 1000, $DamageType::VehicleSpawn);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%removeObjects[%i].mountable = 0;
|
||||||
|
%removeObjects[%i].startFade(1000, 0, true);
|
||||||
|
%removeObjects[%i].schedule(1001, "delete");
|
||||||
|
%fadeTime = 1500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// client has buyed a vehicle
|
||||||
|
%client.cantBuyVehicle = 1;
|
||||||
|
schedule(%fadeTime, 0, "createVehicle", %client, %station, %blockName, %team , %p, %rot, %angle);
|
||||||
|
// wait 6,5 seconds (time a vehicle needs to be created) before buying another vehicle
|
||||||
|
schedule(6500, 0, "resetBuyVehicle", %client);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MessageClient(%client, "", 'Can\'t create vehicle. A player is on the creation pad.');
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
messageClient(%client, "", "~wfx/misc/misc.error.wav");
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
messageClient(%client, "", "~wfx/misc/misc.error.wav");
|
||||||
|
}
|
||||||
|
|
||||||
|
// resetBuyVehicle(%client)
|
||||||
|
// Info: delete the variable, so client can buy another vehicle
|
||||||
|
function resetBuyVehicle(%client)
|
||||||
|
{
|
||||||
|
%client.cantBuyVehicle = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// END VEHICLE STATION SPAM FIX
|
||||||
|
|
||||||
|
|
||||||
|
// ShapeBase::throwObject(%this,%obj)
|
||||||
|
// Info: Delay on calculating flag stats
|
||||||
|
function ShapeBase::throwObject(%this,%obj)
|
||||||
|
{
|
||||||
|
// z0dd - ZOD, 4/15/02. Allow respawn switching during tourney wait.
|
||||||
|
if(!$MatchStarted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// z0dd - ZOD, 5/26/02. Remove anti-hover so flag can be thrown properly
|
||||||
|
if(%obj.getDataBlock().getName() $= "Flag")
|
||||||
|
{
|
||||||
|
%obj.static = false;
|
||||||
|
// z0dd - ZOD - SquirrelOfDeath, 10/02/02. Hack for flag collision bug.
|
||||||
|
if(Game.Class $= CTFGame || Game.Class $= PracticeCTFGame)
|
||||||
|
%obj.searchSchedule = Game.schedule(10, "startFlagCollisionSearch", %obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
%srcCorpse = (%this.getState() $= "Dead"); // z0dd - ZOD, 4/14/02. Flag tossed from corpse
|
||||||
|
|
||||||
|
//if the object is being thrown by a corpse, use a random vector
|
||||||
|
if (%srcCorpse && %obj.getDataBlock().getName() !$= "Flag") // z0dd - ZOD, 4/14/02. Except for flags..
|
||||||
|
{
|
||||||
|
%vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom();
|
||||||
|
%vec = vectorScale(%vec, 10);
|
||||||
|
}
|
||||||
|
else // else Initial vel based on the dir the player is looking
|
||||||
|
{
|
||||||
|
%eye = %this.getEyeVector();
|
||||||
|
%vec = vectorScale(%eye, 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a vertical component to give the item a better arc
|
||||||
|
%dot = vectorDot("0 0 1",%eye);
|
||||||
|
if (%dot < 0)
|
||||||
|
%dot = -%dot;
|
||||||
|
%vec = vectorAdd(%vec,vectorScale("0 0 12",1 - %dot)); // z0dd - ZOD, 9/10/02. 10 was 8
|
||||||
|
|
||||||
|
// Add player's velocity
|
||||||
|
%vec = vectorAdd(%vec,%this.getVelocity());
|
||||||
|
%pos = getBoxCenter(%this.getWorldBox());
|
||||||
|
|
||||||
|
//since flags have a huge mass (so when you shoot them, they don't bounce too far)
|
||||||
|
//we need to up the %vec so that you can still throw them...
|
||||||
|
if (%obj.getDataBlock().getName() $= "Flag")
|
||||||
|
{
|
||||||
|
%vec = vectorScale(%vec, (%srcCorpse ? 40 : 75)); // z0dd - ZOD, 4/14/02. Throw flag force. Value was 40
|
||||||
|
|
||||||
|
// z0dd - ZOD, 9/27/02. Delay on grabbing flag after tossing it
|
||||||
|
%this.flagTossWait = true;
|
||||||
|
%this.schedule(1000, resetFlagTossWait);
|
||||||
|
|
||||||
|
// Delay on calculating stats
|
||||||
|
%this.flagStatsWait = true;
|
||||||
|
%this.schedule(5000, resetFlagStatsWait);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
%obj.setTransform(%pos);
|
||||||
|
%obj.applyImpulse(%pos,%vec);
|
||||||
|
%obj.setCollisionTimeout(%this);
|
||||||
|
%data = %obj.getDatablock();
|
||||||
|
|
||||||
|
%data.onThrow(%obj, %this);
|
||||||
|
|
||||||
|
//call the AI hook
|
||||||
|
AIThrowObject(%obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Player::resetFlagStatsWait(%this)
|
||||||
|
// Info: Delay on calculating the stats
|
||||||
|
function Player::resetFlagStatsWait(%this)
|
||||||
|
{
|
||||||
|
%this.flagStatsWait = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Fix for observer vehicle bug, where observers are drawn to
|
||||||
|
// a vehicle no matter whether they are observing the client or not
|
||||||
|
// Thanks to MT for pointing out.
|
||||||
|
function resetObserveFollow( %client, %dismount )
|
||||||
|
{
|
||||||
|
if( %dismount )
|
||||||
|
{
|
||||||
|
if( !isObject( %client.player ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
for( %i = 0; %i < %client.observeCount; %i++ )
|
||||||
|
{
|
||||||
|
// Check if data in %client.observers[%i] is correct at all
|
||||||
|
if ( %client.observers[%i].clientObserve != %client )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
%client.observers[%i].camera.setOrbitMode( %client.player, %client.player.getTransform(), 0.5, 4.5, 4.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !%client.player.isMounted() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
// grab the vehicle...
|
||||||
|
%mount = %client.player.getObjectMount();
|
||||||
|
if( %mount.getDataBlock().observeParameters $= "" )
|
||||||
|
%params = %client.player.getTransform();
|
||||||
|
else
|
||||||
|
%params = %mount.getDataBlock().observeParameters;
|
||||||
|
|
||||||
|
for( %i = 0; %i < %client.observeCount; %i++ )
|
||||||
|
{
|
||||||
|
// Check if data in %client.observers[%i] is correct at all
|
||||||
|
if ( %client.observers[%i].clientObserve != %client )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
%client.observers[%i].camera.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - Start checkSpeed schedule on MPB
|
||||||
|
function MobileBaseVehicle::onAdd(%this, %obj)
|
||||||
|
{
|
||||||
|
Parent::onAdd(%this, %obj);
|
||||||
|
%obj.schedule(5000, "checkSpeed", %obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - checkSpeed function. Kill the driver and MPB if going too fast.
|
||||||
|
function WheeledVehicle::checkSpeed(%data, %obj)
|
||||||
|
{
|
||||||
|
if(VectorLen(%obj.getVelocity()) > 200)
|
||||||
|
{
|
||||||
|
if(%obj.getMountNodeObject(0)) %obj.getMountNodeObject(0).scriptKill(36);
|
||||||
|
%obj.setDamagelevel(4);
|
||||||
|
}
|
||||||
|
%obj.schedule(5000, "checkSpeed", %data, %obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - No lava, please.
|
||||||
|
function StationVehiclePad::createStationVehicle(%data, %obj)
|
||||||
|
{
|
||||||
|
%group = %obj.getGroup();
|
||||||
|
%xform = %obj.getSlotTransform(0);
|
||||||
|
%position = getWords(%xform, 0, 2);
|
||||||
|
%rotation = getWords(%xform, 3, 5);
|
||||||
|
%angle = (getWord(%xform, 6) * 180) / 3.14159;
|
||||||
|
if(%obj.stationPos $= "" || %obj.stationRot $= "")
|
||||||
|
{
|
||||||
|
%pos = %position;
|
||||||
|
%rot = %rotation @ " " @ %angle;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%pos = %obj.stationPos;
|
||||||
|
%rot = %obj.stationRot;
|
||||||
|
}
|
||||||
|
%sv = new StaticShape() {
|
||||||
|
scale = "1 1 1";
|
||||||
|
dataBlock = "StationVehicle";
|
||||||
|
lockCount = "0";
|
||||||
|
homingCount = "0";
|
||||||
|
team = %obj.team;
|
||||||
|
position = %pos;
|
||||||
|
rotation = %rot;
|
||||||
|
};
|
||||||
|
%group.add(%sv);
|
||||||
|
%sv.setPersistent(false);
|
||||||
|
%sv.getDataBlock().gainPower(%sv);
|
||||||
|
%sv.getDataBlock().createTrigger(%sv);
|
||||||
|
%sv.pad = %obj;
|
||||||
|
%obj.station = %sv;
|
||||||
|
%sv.trigger.mainObj = %obj;
|
||||||
|
%sv.trigger.disableObj = %sv;
|
||||||
|
if(%sv.getTarget() != -1)
|
||||||
|
setTargetSensorGroup(%sv.getTarget(), %obj.team);
|
||||||
|
if(%obj.scoutVehicle !$= "Removed")
|
||||||
|
%sv.vehicle[scoutvehicle] = true;
|
||||||
|
if(%obj.assaultVehicle !$= "Removed")
|
||||||
|
%sv.vehicle[assaultVehicle] = true;
|
||||||
|
if(%obj.mobileBaseVehicle !$= "Removed")
|
||||||
|
{
|
||||||
|
// ilys - Removed lava waterblock code from here
|
||||||
|
%sv.vehicle[mobileBasevehicle] = true;
|
||||||
|
%sv.getDataBlock().createTeleporter(%sv, %group);
|
||||||
|
}
|
||||||
|
if(%obj.scoutFlyer !$= "Removed")
|
||||||
|
%sv.vehicle[scoutFlyer] = true;
|
||||||
|
if(%obj.bomberFlyer !$= "Removed")
|
||||||
|
%sv.vehicle[bomberFlyer] = true;
|
||||||
|
if(%obj.hapcFlyer !$= "Removed")
|
||||||
|
%sv.vehicle[hapcFlyer] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - We dont do anything here now
|
||||||
|
function serverCmdClientTeamChange( %client )
|
||||||
|
{
|
||||||
|
// Don't do it, man. DON'T DO IT!
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - Only allow the client to force play when the match has started
|
||||||
|
function serverCmdClientJoinGame(%client)
|
||||||
|
{
|
||||||
|
if(!$MatchStarted) return;
|
||||||
|
parent::serverCmdClientJoinGame(%client);
|
||||||
|
}
|
||||||
|
|
||||||
|
function serverCmdPlayAnim(%client, %anim)
|
||||||
|
{
|
||||||
|
// Not used in Classic
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - Do not allow animations inside a forcefield.
|
||||||
|
// ilys - Unmount the mortar and grenade launcher on animation.
|
||||||
|
function PlayAnim(%client, %anim)
|
||||||
|
{
|
||||||
|
if( %anim $= "Death1" || %anim $= "Death2" || %anim $= "Death3" || %anim $= "Death4" || %anim $= "Death5" ||
|
||||||
|
%anim $= "Death6" || %anim $= "Death7" || %anim $= "Death8" || %anim $= "Death9" || %anim $= "Death10" ||
|
||||||
|
%anim $= "Death11" || %anim $= "sitting" || %anim $= "scoutRoot" || %anim $= "look" || %anim $= "lookms" ||
|
||||||
|
%anim $= "looknw" || %anim $= "head" || %anim $= "headSide" || %anim $= "ski" || %anim $= "light_recoil")
|
||||||
|
return;
|
||||||
|
|
||||||
|
%player = %client.player;
|
||||||
|
if(!isObject(%player))
|
||||||
|
return;
|
||||||
|
if(%player.isMounted() || %player.isInForceField())
|
||||||
|
return;
|
||||||
|
|
||||||
|
%weapon = ( %player.getMountedImage($WeaponSlot) == 0 ) ? "" : %player.getMountedImage($WeaponSlot).getName().item;
|
||||||
|
if(%weapon $= "MissileLauncher" || %weapon $= "GrenadeLauncher" || %weapon $= "SniperRifle" || %weapon $= "Mortar")
|
||||||
|
{
|
||||||
|
%player.animResetWeapon = true;
|
||||||
|
%player.lastWeapon = %weapon;
|
||||||
|
%player.unmountImage($WeaponSlot);
|
||||||
|
%player.setArmThread(look);
|
||||||
|
}
|
||||||
|
%player.setActionThread(%anim);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ilys - Fix for the Standing Pilot bug
|
||||||
|
function Armor::onMount(%this,%obj,%vehicle,%node)
|
||||||
|
{
|
||||||
|
if (%node == 0)
|
||||||
|
{
|
||||||
|
%obj.setTransform("0 0 0 0 0 1 0");
|
||||||
|
%obj.setActionThread(%vehicle.getDatablock().mountPose[%node],true,true);
|
||||||
|
%obj.schedule(300,"setActionThread",%vehicle.getDatablock().mountPose[%node],true,true);
|
||||||
|
if(!%obj.inStation) %obj.lastWeapon = (%obj.getMountedImage($WeaponSlot) == 0 ) ? "" : %obj.getMountedImage($WeaponSlot).item;
|
||||||
|
%obj.unmountImage($WeaponSlot);
|
||||||
|
if(!%obj.client.isAIControlled())
|
||||||
|
{
|
||||||
|
%obj.setControlObject(%vehicle);
|
||||||
|
%obj.client.setObjectActiveImage(%vehicle, 2);
|
||||||
|
}
|
||||||
|
if(%obj == %obj.lastVehicle.lastPilot && %obj.lastVehicle != %vehicle)
|
||||||
|
{
|
||||||
|
schedule(15000, %obj.lastVehicle,"vehicleAbandonTimeOut", %obj.lastVehicle);
|
||||||
|
%obj.lastVehicle.lastPilot = "";
|
||||||
|
}
|
||||||
|
if(%vehicle.lastPilot !$= "" && %vehicle == %vehicle.lastPilot.lastVehicle) %vehicle.lastPilot.lastVehicle = "";
|
||||||
|
%vehicle.abandon = false;
|
||||||
|
%vehicle.lastPilot = %obj;
|
||||||
|
%obj.lastVehicle = %vehicle;
|
||||||
|
if((%vehicle.getTarget() != -1) && %vehicle.getDatablock().cantTeamSwitch $= "")
|
||||||
|
{
|
||||||
|
setTargetSensorGroup(%vehicle.getTarget(), %obj.client.getSensorGroup());
|
||||||
|
if( %vehicle.turretObject > 0 ) setTargetSensorGroup(%vehicle.turretObject.getTarget(), %obj.client.getSensorGroup());
|
||||||
|
}
|
||||||
|
commandToClient( %obj.client, 'VehicleMount' );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(%vehicle.getDataBlock().mountPose[%node] !$= "") %obj.setActionThread(%vehicle.getDatablock().mountPose[%node]);
|
||||||
|
else %obj.setActionThread("root", true);
|
||||||
|
}
|
||||||
|
if(%vehicle.getDatablock().numMountPoints > 1)
|
||||||
|
{
|
||||||
|
%nodeName = findNodeName(%vehicle, %node); // function in vehicle.cs
|
||||||
|
for(%i = 0; %i < %vehicle.getDatablock().numMountPoints; %i++)
|
||||||
|
{
|
||||||
|
if (%vehicle.getMountNodeObject(%i) > 0)
|
||||||
|
{
|
||||||
|
if(%vehicle.getMountNodeObject(%i).client != %obj.client)
|
||||||
|
{
|
||||||
|
%team = (%obj.team == %vehicle.getMountNodeObject(%i).client.team ? 'Teammate' : 'Enemy');
|
||||||
|
messageClient( %vehicle.getMountNodeObject(%i).client, 'MsgShowPassenger', '\c2%3: \c3%1\c2 has boarded in the \c3%2\c2 position.', %obj.client.name, %nodeName, %team );
|
||||||
|
}
|
||||||
|
commandToClient( %vehicle.getMountNodeObject(%i).client, 'showPassenger', %node, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( %obj.getImageTrigger( $BackpackSlot ) ) %obj.setImageTrigger( $BackpackSlot, false );
|
||||||
|
%obj.client.vehicleMounted = %vehicle;
|
||||||
|
AIVehicleMounted(%vehicle);
|
||||||
|
if(%obj.client.isAIControlled()) %this.AIonMount(%obj, %vehicle, %node);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TracerDX/ilys - Server crash exploit fix
|
||||||
|
function serverCmdTeamMessageSent(%client, %text)
|
||||||
|
{
|
||||||
|
if((%client.voice $= "") && (strstr(%text, "~w") != -1) && (getSubStr(%text, (strlen(%text) - 4), 4) !$= ".wav")) return;
|
||||||
|
parent::serverCmdTeamMessageSent(%client, %text);
|
||||||
|
}
|
||||||
|
|
||||||
|
function serverCmdMessageSent(%client, %text)
|
||||||
|
{
|
||||||
|
if((%client.voice $= "") && (strstr(%text, "~w") != -1) && (getSubStr(%text, (strlen(%text) - 4), 4) !$= ".wav")) return;
|
||||||
|
parent::serverCmdMessageSent(%client, %text);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix a problem with the package system
|
||||||
|
// dropping the first package when a non-active
|
||||||
|
// package is deactivated
|
||||||
|
function DeactivatePackage(%this)
|
||||||
|
{
|
||||||
|
if(!isActivePackage(%this)) return;
|
||||||
|
parent::DeactivatePackage(%this);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(AntiLouExploitFixes))
|
||||||
|
activatePackage(AntiLouExploitFixes);
|
||||||
|
|
@ -28,25 +28,12 @@ function Autobalance( %game, %AutobalanceSafetynetTrys )
|
||||||
%lastclient1 = "";
|
%lastclient1 = "";
|
||||||
%lastclient2 = "";
|
%lastclient2 = "";
|
||||||
|
|
||||||
//Team Count code by Keen
|
|
||||||
$PlayerCount[0] = 0;
|
|
||||||
$PlayerCount[1] = 0;
|
|
||||||
$PlayerCount[2] = 0;
|
|
||||||
|
|
||||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
|
||||||
{
|
|
||||||
%client = ClientGroup.getObject(%i);
|
|
||||||
|
|
||||||
//if(!%client.isAIControlled())
|
|
||||||
$PlayerCount[%client.team]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Difference Variables
|
//Difference Variables
|
||||||
%team1difference = $PlayerCount[1] - $PlayerCount[2];
|
%team1difference = $TeamRank[1, count] - $TeamRank[2, count];
|
||||||
%team2difference = $PlayerCount[2] - $PlayerCount[1];
|
%team2difference = $TeamRank[2, count] - $TeamRank[1, count];
|
||||||
|
|
||||||
//If even, stop.
|
//If even, stop.
|
||||||
if( %team1difference == 1 || %team2difference == 1 || $PlayerCount[1] == $PlayerCount[2] )
|
if( %team1difference == 1 || %team2difference == 1 || $TeamRank[1, count] == $TeamRank[2, count] )
|
||||||
{
|
{
|
||||||
//Reset TBN
|
//Reset TBN
|
||||||
ResetTBNStatus();
|
ResetTBNStatus();
|
||||||
|
|
@ -112,7 +99,8 @@ function Autobalance( %game, %AutobalanceSafetynetTrys )
|
||||||
|
|
||||||
// Fire Autobalance
|
// Fire Autobalance
|
||||||
Game.clientChangeTeam( %client, %otherTeam, 0 );
|
Game.clientChangeTeam( %client, %otherTeam, 0 );
|
||||||
messageAll('MsgTeamBalanceNotify', '~wfx/powered/vehicle_screen_on.wav');
|
messageClient(%client, 'MsgTeamBalanceNotify', "\c0You were switched to the other team for balancing.~wfx/powered/vehicle_screen_on.wav");
|
||||||
|
messageAllExcept(%client, -1, 'MsgTeamBalanceNotify', "~wfx/powered/vehicle_screen_on.wav");
|
||||||
|
|
||||||
//Trigger GetCounts
|
//Trigger GetCounts
|
||||||
ResetGetCountsStatus();
|
ResetGetCountsStatus();
|
||||||
|
|
|
||||||
61
Classic/scripts/autoexec/EnableLogs.cs
Normal file
61
Classic/scripts/autoexec/EnableLogs.cs
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
$Host::ClassicAdminLog = 1;
|
||||||
|
$Host::ClassicConnectLog = 1;
|
||||||
|
//exec("scripts/autoexec/EnableLogs.cs");
|
||||||
|
|
||||||
|
//Enable Logs
|
||||||
|
setlogmode(1);
|
||||||
|
|
||||||
|
// adminLog(%client, %msg)
|
||||||
|
// Info: Logs the admin events
|
||||||
|
function adminLog(%client, %msg)
|
||||||
|
{
|
||||||
|
if(%client.isAdmin && $Host::ClassicAdminLog)
|
||||||
|
{
|
||||||
|
// get the client info
|
||||||
|
%authInfo = %client.getAuthInfo();
|
||||||
|
%ip = getField(strreplace(%client.getAddress(),":","\t"),1);
|
||||||
|
|
||||||
|
// 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 @ "]";
|
||||||
|
|
||||||
|
%logpath = $Host::ClassicAdminLogPath;
|
||||||
|
export("$AdminLog", %logpath, true);
|
||||||
|
logEcho($AdminLog);
|
||||||
|
echo($AdminLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// connectLog(%client, %realname, %tag)
|
||||||
|
// Info: Logs the connections
|
||||||
|
function connectLog(%client, %isDisconnect)
|
||||||
|
{
|
||||||
|
if($Host::ClassicConnectLog && !%client.isAIControlled())
|
||||||
|
{
|
||||||
|
// get the client info
|
||||||
|
%authInfo = %client.getAuthInfo();
|
||||||
|
%ip = getField(strreplace(%client.getAddress(),":","\t"),1);
|
||||||
|
|
||||||
|
// net tournament client present?
|
||||||
|
if (!%client.t2csri_sentComCertDone)
|
||||||
|
%ntc = "N";
|
||||||
|
else
|
||||||
|
%ntc = "Y";
|
||||||
|
|
||||||
|
if(%isDisconnect)
|
||||||
|
%inout = "[Drop]";
|
||||||
|
else
|
||||||
|
%inout = "[Join]";
|
||||||
|
|
||||||
|
if(%client.isSmurf)
|
||||||
|
%name = stripChars( detag( getTaggedString( %client.name ) ), "\cp\co\c6\c7\c8\c9" );
|
||||||
|
else
|
||||||
|
%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 @ "]";
|
||||||
|
|
||||||
|
%logpath = $Host::ClassicConnLogPath;
|
||||||
|
export("$ConnectLog", %logpath, true);
|
||||||
|
logEcho($ConnectLog);
|
||||||
|
echo($ConnectLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
431
Classic/scripts/autoexec/EvoStats.cs
Normal file
431
Classic/scripts/autoexec/EvoStats.cs
Normal file
|
|
@ -0,0 +1,431 @@
|
||||||
|
// Eolk - People like evo's stats a lot... so that's what we'll give them...
|
||||||
|
$weap_message[1] = "Blaster master";
|
||||||
|
$weap_message[2] = "Plasma roaster";
|
||||||
|
$weap_message[3] = "Chainwh0re";
|
||||||
|
$weap_message[4] = "Disc-O-maniac";
|
||||||
|
$weap_message[5] = "Grenade puppy";
|
||||||
|
$weap_message[6] = "Laser turret";
|
||||||
|
$weap_message[8] = "Mortar maniac";
|
||||||
|
$weap_message[9] = "Missile lamer";
|
||||||
|
$weap_message[10] = "Shocklance bee";
|
||||||
|
$weap_message[11] = "Mine mayhem";
|
||||||
|
$weap_message[13] = "Road killer";
|
||||||
|
// Extra Stats
|
||||||
|
$weap_message[31] = "Demoman";
|
||||||
|
$weap_message[21] = "Clamp Farmer";
|
||||||
|
$weap_message[22] = "Spike Farmer";
|
||||||
|
$weap_message[26] = "Shrike Gunner";
|
||||||
|
$weap_message[27] = "Tailgunner";
|
||||||
|
$weap_message[28] = "Bombardier";
|
||||||
|
$weap_message[29] = "Tank Gunner (chain)";
|
||||||
|
$weap_message[30] = "Tank Gunner (mortar)";
|
||||||
|
$weap_message[31] = "Satchel Punk";
|
||||||
|
$weap_message[50] = "Combo King (mine+disc)";
|
||||||
|
|
||||||
|
// Handlers
|
||||||
|
package EvoStatHandles
|
||||||
|
{
|
||||||
|
|
||||||
|
function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC)
|
||||||
|
{
|
||||||
|
Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC);
|
||||||
|
// call the function
|
||||||
|
if(!$Host::TournamentMode)
|
||||||
|
handleDamageStat(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC);
|
||||||
|
}
|
||||||
|
|
||||||
|
function DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation)
|
||||||
|
{
|
||||||
|
Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation);
|
||||||
|
// call the function
|
||||||
|
if(!$Host::TournamentMode)
|
||||||
|
handleKillStat(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal)
|
||||||
|
{
|
||||||
|
if(isObject(%targetObject)) // Console spam fix.
|
||||||
|
{
|
||||||
|
// call the function
|
||||||
|
if(!$Host::TournamentMode)
|
||||||
|
handleMAStat(%data, %projectile, %targetObject, %modifier, %position, %normal);
|
||||||
|
}
|
||||||
|
Parent::onCollision( %data, %projectile, %targetObject, %modifier, %position, %normal );
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(EvoStatHandles))
|
||||||
|
activatePackage(EvoStatHandles);
|
||||||
|
|
||||||
|
// handleDamageStat(%targetObject, %sourceObject, %position, %amount, %damageType)
|
||||||
|
// Info: Calcs: Damage and SnipeShot detection.
|
||||||
|
function handleDamageStat(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC)
|
||||||
|
{
|
||||||
|
// Reject damage that is not player initiated.
|
||||||
|
if(%damageType == 7 || %damageType == 12 || %damageType == 14 || %damageType == 24 || %damageType == 25 || %damageType == 33 || %damageType == 35 || %damageType == 36 || %damageType == 98 || %damageType == 99)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// failsafe
|
||||||
|
if(!isObject(%sourceObject) || %sourceObject $= "" || !isObject(%targetObject) || %targetObject $= "")
|
||||||
|
return;
|
||||||
|
|
||||||
|
// don't count damage done to vehicles
|
||||||
|
if(%targetObject.isMounted())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Vehicle Impacts.
|
||||||
|
if(%damageType == 13){ // run down by vehicle
|
||||||
|
if(!(%attacker = %sourceObject.getControllingClient()) > 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Turrets.
|
||||||
|
else if(%sourceObject.getClassName() $= "Turret" || %sourceObject.getClassName() $= "VehicleTurret" || %sourceObject.getClassName() $= "FlyingVehicle" || %sourceObject.getClassName() $= "HoverVehicle"){
|
||||||
|
// Controlled
|
||||||
|
%attacker = %sourceObject.getControllingClient(); //is turret being controlled?
|
||||||
|
if(%attacker == 0){ // Not controlled.
|
||||||
|
// Owned
|
||||||
|
if(isObject(%sourceObject.owner)){
|
||||||
|
%attacker = %sourceObject.owner;
|
||||||
|
}
|
||||||
|
// Automated & no-owner.
|
||||||
|
else{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // Pretty much anything else.
|
||||||
|
%attacker = %sourceObject.client;
|
||||||
|
}
|
||||||
|
|
||||||
|
%victim = %targetObject.client;
|
||||||
|
|
||||||
|
// failsafe
|
||||||
|
if(%attacker $= "" || %victim $= "" || %attacker $= %victim)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// check if it's a tk
|
||||||
|
if(Game.numTeams > 1 && %attacker.team $= %victim.team)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// store the damage
|
||||||
|
if($Host::ClassicStatsType == 2)
|
||||||
|
{
|
||||||
|
// Teratos: Going to add mine+disc as a category...
|
||||||
|
// Teratos: Tracking only gets the second batch of damage, but we add 85% of that to make up for the first batch of damage (just a dumb estimate so damage numbers look realistic in post-game).
|
||||||
|
if(%victim.mineDisc) {
|
||||||
|
//$stats::weapon_damage[%attacker, 50] += %amount + (%amount * (%damageType == 11 ? 0.87 : 1.41)); // Mine accounts for more than disc.
|
||||||
|
$stats::weapon_damage[%attacker, 50] += %amount + $stats::last_minedisc[%attacker];
|
||||||
|
|
||||||
|
if($stats::weapon_damage[%attacker, 50] > $stats::weap_table[50])
|
||||||
|
{
|
||||||
|
$stats::weap_table[50] = $stats::weapon_damage[%attacker, 50];
|
||||||
|
$stats::client_weap_table[50] = getTaggedString(%attacker.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$stats::last_minedisc[%attacker] = %amount; // Track the last amount of damage so we can add it to the mine+disc.
|
||||||
|
// Teratos: END Mine+Disc Support.
|
||||||
|
|
||||||
|
$stats::weapon_damage[%attacker, %damageType] += %amount;
|
||||||
|
|
||||||
|
if($stats::weapon_damage[%attacker, %damageType] > $stats::weap_table[%damageType])
|
||||||
|
{
|
||||||
|
$stats::weap_table[%damageType] = $stats::weapon_damage[%attacker, %damageType];
|
||||||
|
$stats::client_weap_table[%damageType] = getTaggedString(%attacker.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// is it a laser damage?
|
||||||
|
if(%damageType == 6)
|
||||||
|
{
|
||||||
|
// i will consider only shots that have been fired with 60% of total energy
|
||||||
|
if(%sourceObject.getEnergyLevel() / %sourceObject.getDataBlock().maxEnergy < 0.6)
|
||||||
|
return;
|
||||||
|
|
||||||
|
%distance = mFloor(VectorDist(%position, %sourceObject.getWorldBoxCenter()));
|
||||||
|
|
||||||
|
// max distance for sniper (this is the only fix i could find)
|
||||||
|
// if(%distance > 1000)
|
||||||
|
// %distance = 1000;
|
||||||
|
|
||||||
|
// is it an headshot?
|
||||||
|
if(%victim.headshot)
|
||||||
|
{
|
||||||
|
%attacker.hs++;
|
||||||
|
|
||||||
|
if( ( %attacker.showMA $= "" ) || ( %attacker.showMA == 1 ) )
|
||||||
|
bottomPrint(%attacker, "HEADSHOT (" @ %attacker.hs @ ")! Distance is " @ %distance @ " meters.", 3);
|
||||||
|
logEcho(%attacker.nameBase @" (pl "@%attacker.player@"/cl "@%attacker@") headshot ("@%distance@")");
|
||||||
|
|
||||||
|
if(%attacker.hs > $stats::snipe_counter)
|
||||||
|
{
|
||||||
|
$stats::snipe_counter = %attacker.hs;
|
||||||
|
$stats::snipe_client = getTaggedString(%attacker.name);
|
||||||
|
}
|
||||||
|
if(%distance > $stats::snipe_maxdistance)
|
||||||
|
{
|
||||||
|
$stats::snipe_maxdistance = %distance;
|
||||||
|
$stats::snipe_maxdistanceclient = getTaggedString(%attacker.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // no
|
||||||
|
{
|
||||||
|
if(%attacker.showMA $= "" || %attacker.showMA)
|
||||||
|
bottomPrint(%attacker, "HIT! Distance is " @ %distance @ " meters.", 3);
|
||||||
|
|
||||||
|
if(%distance > $stats::snipe_maxdistance)
|
||||||
|
{
|
||||||
|
$stats::snipe_maxdistance = %distance;
|
||||||
|
$stats::snipe_maxdistanceclient = getTaggedString(%attacker.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// this callback will allow players to autoscreenshot the shot
|
||||||
|
messageClient(%attacker, 'MsgSnipeShot', "", %distance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// handleKillStat(%clVictim, %clKiller, %damageType, %implement)
|
||||||
|
// Info: Calcs: Kills, TeamKills, FC kills
|
||||||
|
function handleKillStat(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation)
|
||||||
|
{
|
||||||
|
if(%damageType == 13) // is a roadkill
|
||||||
|
%clKiller = %implement.getControllingClient();
|
||||||
|
|
||||||
|
|
||||||
|
if ( !isObject( %clVictim ) || !isObject( %clKiller ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
// failsafe
|
||||||
|
if(%clKiller $= "" || %clVictim $= "" || %clKiller $= %clVictim)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// is it a tk?
|
||||||
|
if(%game.numTeams > 1 && %clKiller.team $= %clVictim.team)
|
||||||
|
{
|
||||||
|
$stats::tk[%clKiller]++;
|
||||||
|
|
||||||
|
if($stats::tk[%clKiller] > $stats::tk_counter)
|
||||||
|
{
|
||||||
|
$stats::tk_counter = $stats::tk[%clKiller];
|
||||||
|
$stats::tk_client = getTaggedString(%clKiller.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // no
|
||||||
|
{
|
||||||
|
if($Host::ClassicStatsType == 1)
|
||||||
|
{
|
||||||
|
$stats::weapon_kills[%clKiller, %damageType]++;
|
||||||
|
|
||||||
|
if($stats::weapon_kills[%clKiller, %damageType] > $stats::weap_table[%damageType])
|
||||||
|
{
|
||||||
|
$stats::weap_table[%damageType] = $stats::weapon_kills[%clKiller, %damageType];
|
||||||
|
$stats::client_weap_table[%damageType] = getTaggedString(%clKiller.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// was the victim a fc?
|
||||||
|
if(%clVictim.plyrDiedHoldingFlag)
|
||||||
|
{
|
||||||
|
$stats::fckiller[%clKiller]++;
|
||||||
|
|
||||||
|
if($stats::fckiller[%clKiller] > $stats::fckiller_counter)
|
||||||
|
{
|
||||||
|
$stats::fckiller_counter = $stats::fckiller[%clKiller];
|
||||||
|
$stats::fckiller_client = getTaggedString(%clKiller.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// handleMAStat(%projectile, %targetObject, %position)
|
||||||
|
// Info: MA detection
|
||||||
|
function handleMAStat(%data, %projectile, %targetObject, %modifier, %position, %normal)
|
||||||
|
{
|
||||||
|
// failsafe
|
||||||
|
if(!isObject(%targetObject) || %targetObject $= "")
|
||||||
|
return;
|
||||||
|
|
||||||
|
// failsafe
|
||||||
|
if(!isObject(%projectile.sourceObject) || %projectile.sourceObject $= "")
|
||||||
|
return;
|
||||||
|
|
||||||
|
%victim = %targetObject.client;
|
||||||
|
%killer = %projectile.sourceObject.client;
|
||||||
|
|
||||||
|
// // Altair's method
|
||||||
|
// %distance = mFloor(VectorDist(%position, %projectile.sourceObject.getWorldBoxCenter()));
|
||||||
|
|
||||||
|
// // Evolution Method
|
||||||
|
%distance = mFloor(VectorDist(%position, %projectile.initialPosition));
|
||||||
|
|
||||||
|
// failsafe
|
||||||
|
if(%victim $= "" || %killer $= "")
|
||||||
|
return;
|
||||||
|
|
||||||
|
%projectileType = %data.getName() !$= "TR2DiscProjectile" ? %data.getName() : "DiscProjectile";
|
||||||
|
|
||||||
|
// only disc, plasma, or blaster
|
||||||
|
if(%projectileType !$= "DiscProjectile" && %projectileType !$= "PlasmaBolt" && %projectileType !$= "EnergyBolt")
|
||||||
|
return;
|
||||||
|
|
||||||
|
// is it a tk?
|
||||||
|
if(Game.numTeams > 1 && %killer.team $= %victim.team)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Eolk - changes to MA code
|
||||||
|
%position = %targetObject.getPosition();
|
||||||
|
%raycast = containerRaycast(%position, vectorAdd(%position, "0 0 -10"), $TypeMasks::ForceFieldObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::PlayerObjectType | $TypeMasks::StaticObjectType | $TypeMasks::TerrainObjectType | $TypeMasks::VehicleObjectType, %targetObject);
|
||||||
|
if(!isObject(firstWord(%raycast))) // We've got something...
|
||||||
|
{
|
||||||
|
if(%projectileType $= "DiscProjectile")
|
||||||
|
{
|
||||||
|
%killer.midairs++;
|
||||||
|
|
||||||
|
if( ( %killer.showMA $= "" ) || ( %killer.showMA == 1 ) )
|
||||||
|
bottomPrint(%killer, "Midair Disk (" @ %killer.midairs @ ")! Distance is " @ %distance @ " meters.", 3);
|
||||||
|
|
||||||
|
// this callback will allow players to autoscreenshot the MA
|
||||||
|
messageClient(%killer, 'MsgMidAir', "", %distance);
|
||||||
|
logEcho(%killer.nameBase @" (pl "@%killer.player@"/cl "@%killer@") hit a midair disc shot ("@%distance@")");
|
||||||
|
|
||||||
|
if(%killer.midairs > $stats::ma_counter)
|
||||||
|
{
|
||||||
|
$stats::ma_counter = %killer.midairs;
|
||||||
|
$stats::ma_client = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%distance > $stats::ma_maxdistance)
|
||||||
|
{
|
||||||
|
$stats::ma_maxdistance = %distance;
|
||||||
|
$stats::ma_maxdistanceclient = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(%projectileType $= "PlasmaBolt")
|
||||||
|
{
|
||||||
|
%killer.PlaMA++;
|
||||||
|
|
||||||
|
if ( ( %killer.showMA $= "" ) || ( %killer.showMA == 1 ) )
|
||||||
|
bottomPrint(%killer, "Midair Plasma (" @ %killer.PlaMA @ ")! Distance is " @ %distance @ " meters.", 3);
|
||||||
|
|
||||||
|
// this callback will allow players to autoscreenshot the MA
|
||||||
|
messageClient(%killer, 'MsgPlasmaMidAir', "", %distance);
|
||||||
|
logEcho(%killer.nameBase @" (pl "@%killer.player@"/cl "@%killer@") hit a midair plasma shot ("@%distance@")");
|
||||||
|
|
||||||
|
if(%killer.PlaMA > $stats::PlaMA_counter)
|
||||||
|
{
|
||||||
|
$stats::PlaMA_counter = %killer.PlaMA;
|
||||||
|
$stats::PlaMA_client = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%distance > $stats::PlaMA_maxdistance)
|
||||||
|
{
|
||||||
|
$stats::PlaMA_maxdistance = %distance;
|
||||||
|
$stats::PlaMA_maxdistanceclient = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(%projectileType $= "EnergyBolt")
|
||||||
|
{
|
||||||
|
%killer.blaMA++;
|
||||||
|
|
||||||
|
if( ( %killer.showMA $= "" ) || ( %killer.showMA == 1 ) )
|
||||||
|
bottomPrint(%killer, "Midair Blaster (" @ %killer.blaMA @ ")! Distance is " @ %distance @ " meters.", 3);
|
||||||
|
|
||||||
|
// this callback will allow players to autoscreenshot the MA
|
||||||
|
messageClient(%killer, 'MsgBlasterMidAir', "", %distance);
|
||||||
|
logEcho(%killer.nameBase @" (pl "@%killer.player@"/cl "@%killer@") hit a midair blaster shot ("@%distance@")");
|
||||||
|
|
||||||
|
if(%killer.blaMA > $stats::BlaMA_counter)
|
||||||
|
{
|
||||||
|
$stats::BlaMA_counter = %killer.BlaMA;
|
||||||
|
$stats::BlaMA_client = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%distance > $stats::BlaMA_maxdistance)
|
||||||
|
{
|
||||||
|
$stats::BlaMA_maxdistance = %distance;
|
||||||
|
$stats::BlaMA_maxdistanceclient = getTaggedString(%killer.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// sendEvoDebriefing(%client)
|
||||||
|
// Info: Send Evo stats to the debriefing page
|
||||||
|
function sendEvoDebriefing(%client)
|
||||||
|
{
|
||||||
|
// Eolk - Remove redundant checks
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00>%1 - %2<spop>', $MissionDisplayName, $MissionTypeDisplayName);
|
||||||
|
|
||||||
|
if($stats::MaxGrabSpeed || $stats::grabs_counter || $stats::fckiller_counter || $stats::caps_counter || $stats::fastestCap)
|
||||||
|
{
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>FLAG STATS<spop>');
|
||||||
|
if($stats::fastestCap)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Fastest Cap</clip><lmargin%%:30><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip><spop>', $stats::fastcap_client, $stats::fastcap_time);
|
||||||
|
if($stats::MaxGrabSpeed)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Flaming Ass</clip><lmargin%%:30><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2 Kph!</clip><spop>', $stats::Grabber, $stats::MaxGrabSpeed);
|
||||||
|
if($stats::caps_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Cap Mastah</clip><lmargin%%:30><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip><spop>', $stats::caps_client, $stats::caps_counter);
|
||||||
|
if($stats::grabs_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Grabz0r</clip><lmargin%%:30><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip><spop>', $stats::grabs_client, $stats::grabs_counter);
|
||||||
|
if($stats::fckiller_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> FC killer</clip><lmargin%%:30><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip><spop>', $stats::fckiller_client, $stats::fckiller_counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($stats::BlaMA_counter || $stats::ma_counter || $stats::PlaMA_counter)
|
||||||
|
{
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>MID AIR<lmargin%%:30>CHAMPION<lmargin%%:60>DISTANCE<spop>');
|
||||||
|
|
||||||
|
if($stats::ma_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Disk</clip><lmargin%%:30><clip%%:60> %1 (%2)</clip><lmargin%%:60><clip%%:60> %3 (%4 mt)</clip><spop>', $stats::ma_client, $stats::ma_counter, $stats::ma_maxdistanceclient, $stats::ma_maxdistance);
|
||||||
|
if($stats::PlaMA_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Plasma</clip><lmargin%%:30><clip%%:60> %1 (%2)</clip><lmargin%%:60><clip%%:60> %3 (%4 mt)</clip><spop>', $stats::PlaMA_client, $stats::PlaMA_counter, $stats::PlaMA_maxdistanceclient, $stats::PlaMA_maxdistance);
|
||||||
|
if($stats::BlaMA_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> Blaster</clip><lmargin%%:30><clip%%:60> %1 (%2)</clip><lmargin%%:60><clip%%:60> %3 (%4 mt)</clip><spop>', $stats::BlaMA_client, $stats::BlaMA_counter, $stats::BlaMA_maxdistanceclient, $stats::BlaMA_maxdistance);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($stats::snipe_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>Headhunter<lmargin%%:30> %1 (%2)!<spop>', $stats::snipe_client, $stats::snipe_counter);
|
||||||
|
|
||||||
|
if($stats::snipe_maxdistance)
|
||||||
|
{
|
||||||
|
%x = $stats::snipe_counter ? "" : "\n";
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '%3<lmargin:0><spush><color:00dc00><font:univers condensed:18>Longest Snipeshot is %1 meters by %2<spop>', $stats::snipe_maxdistance, $stats::snipe_maxdistanceclient, %x);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(%damageType = 1; %damageType < 51; %damageType++)
|
||||||
|
{
|
||||||
|
if(%damageType == 7 || %damageType == 12 || (%damageType > 13 && %damageType < 21) || %damageType == 23 || %damageType == 24 || %damageType == 25) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(%damageType > 31 && %damageType < 50) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($stats::weap_table[%damageType] > 0)
|
||||||
|
{
|
||||||
|
if($Host::ClassicStatsType == 2)
|
||||||
|
{
|
||||||
|
if(!%message)
|
||||||
|
{
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>TYPE<lmargin%%:30>PLAYER<lmargin%%:60>TOTAL DAMAGE<spop>');
|
||||||
|
%message = 1;
|
||||||
|
}
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> %1</clip><lmargin%%:30><clip%%:60> %2</clip><lmargin%%:60><clip%%:40> %3</clip><spop>', $weap_message[%damageType], $stats::client_weap_table[%damageType], mFormatFloat($stats::weap_table[%damageType], "%.2f"));
|
||||||
|
}
|
||||||
|
else if($Host::ClassicStatsType == 1)
|
||||||
|
{
|
||||||
|
if(!%message)
|
||||||
|
{
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>TYPE<lmargin%%:30>PLAYER<lmargin%%:60>KILLS<spop>');
|
||||||
|
%message = 1;
|
||||||
|
}
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '<lmargin:0><spush><color:00dc00><clip%%:40><font:univers condensed:18> %1</clip><lmargin%%:30><clip%%:60> %2</clip><lmargin%%:60><clip%%:40> %3</clip><spop>', $weap_message[%damageType], $stats::client_weap_table[%damageType], $stats::weap_table[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($stats::tk_counter)
|
||||||
|
messageClient(%client, 'MsgDebriefAddLine', "", '\n<lmargin:0><spush><color:00dc00><font:univers condensed:18>And the best teamkiller award goes to... %1 (%2)!<spop>', $stats::tk_client, $stats::tk_counter);
|
||||||
|
}
|
||||||
|
|
@ -1,131 +0,0 @@
|
||||||
// Get Random Maps Script
|
|
||||||
//
|
|
||||||
// Used by the Set Next Mission feature
|
|
||||||
//
|
|
||||||
// Random Set Next Mission maps
|
|
||||||
// Runs for SetNextMisssion (Random) and Map Repetition Checker
|
|
||||||
// Randomizes the maps available in the admin menu
|
|
||||||
//
|
|
||||||
|
|
||||||
// This file is present
|
|
||||||
$GetRandomMapsLoaded = true;
|
|
||||||
|
|
||||||
// getRandomMap - returns a random map without duplicates until all have been played.
|
|
||||||
// Script BY: DarkTiger
|
|
||||||
// set this to 1 to save rng list to continue where the server left off in case of server reset
|
|
||||||
|
|
||||||
$rngListSave = 1;
|
|
||||||
$rngDebug = 1;//show echos for testing
|
|
||||||
|
|
||||||
function getRandomMap(){
|
|
||||||
// builds valid map list to pick from
|
|
||||||
for(%i = 0; %i < $HostMissionCount; %i++){
|
|
||||||
%map = $HostMissionFile[%i];
|
|
||||||
%FFA = $Host::MapFFA[%map, $CurrentMissionType];
|
|
||||||
%Cycle =$Host::MapCycle[%map, $CurrentMissionType];
|
|
||||||
%bot = $BotEnabled[%i];
|
|
||||||
if(%FFA && %Cycle){
|
|
||||||
if($Host::BotsEnabled){
|
|
||||||
if(%bot)
|
|
||||||
%map[%c++] = %map;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
%map[%c++] = %map;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%rng = getRSGN(1,%c,$CurrentMissionType); // use gameType as the id
|
|
||||||
if($rngDebug){error(%map[%rng] SPC %rng);}
|
|
||||||
return %map[%rng];
|
|
||||||
}
|
|
||||||
|
|
||||||
function getRSGN(%min,%max,%id){
|
|
||||||
// This funciton is kind of like a random sequence generator but its done on the fly
|
|
||||||
// returns you a unique random number every time until max is reached
|
|
||||||
// id value is so it can be used in more then one place
|
|
||||||
// the id value can be function name that its used in or a number
|
|
||||||
// lastly it only for numbers between -1000 to 1000 see down below;
|
|
||||||
|
|
||||||
if($rngListSave && isFile("rngLists/" @ %id @ ".cs") && !$rngIsLoaded[%id]){
|
|
||||||
exec("rngLists/" @ %id @ ".cs");
|
|
||||||
$rngIsLoaded[%id] = 1;
|
|
||||||
if($rngDebug){error("Loading Map RNG List =" SPC "rngLists/" @ %id @ ".cs");}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(%id $= ""){
|
|
||||||
error("getRSG function call does not have an id value");
|
|
||||||
return getRandom(%min,%max);
|
|
||||||
}
|
|
||||||
|
|
||||||
%c = %min - 1; // skip counter
|
|
||||||
if(((%max - %min) - ($rng::Count[%id] - 1)) < 1) // reset if we cycled though all possable
|
|
||||||
{
|
|
||||||
$rng::Count[%id] = 1; // we dont reset to 0 becuae of the last number used
|
|
||||||
// change these numbers to expand range
|
|
||||||
for(%a = %min; %a <= %max; %a++) // this resets a wide range incase min max change for what ever reasion
|
|
||||||
{
|
|
||||||
$rng::List[%id,%a] = 0; // reset number list back to 0
|
|
||||||
}
|
|
||||||
|
|
||||||
$rng::List[%id,$rng::Last[%id]] = 1; // mark the last number used as in used after reset
|
|
||||||
}
|
|
||||||
|
|
||||||
%rng = getRandom(%min,%max - $rng::Count[%id] ); // find random number - the total number we have done
|
|
||||||
|
|
||||||
for(%i = %min; %i <= %max; %i++) // loop cycle though all possable numbers
|
|
||||||
{
|
|
||||||
if($rng::List[%id,%i]) // skip over ones that we have all ready used
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
%c++; // skip counter
|
|
||||||
|
|
||||||
if(%rng == %c) // onces the skip counter matches the rng number we have landed on a valid number that we havent used yet
|
|
||||||
{
|
|
||||||
break; // kill the loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$rng::List[%id,%i] = 1;// this marks said number as used
|
|
||||||
$rng::Count[%id]++;// up are total used numbers
|
|
||||||
$rng::Last[%id] = %i; // for when the list resets it wont pick the same number twice
|
|
||||||
|
|
||||||
if(%i > %max || %i < %min)
|
|
||||||
{ // fail safe
|
|
||||||
return %max;
|
|
||||||
}
|
|
||||||
if($rngListSave){
|
|
||||||
export( "$rng::*", "rngLists/" @ %id @ ".cs", false );
|
|
||||||
}
|
|
||||||
return %i; // return the one we stoped on
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return random maps list for SetNextMission
|
|
||||||
// Primarily used in admin menus
|
|
||||||
function SetNextMapGetRandoms( %client )
|
|
||||||
{
|
|
||||||
%cyclecount = 1;
|
|
||||||
for(%i = 0; %i < 8; %i++)
|
|
||||||
{
|
|
||||||
$SetNextMissionMapSlot[%cyclecount] = getRandomMap();
|
|
||||||
%cyclecount++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reset SetNextMission every map change
|
|
||||||
package ResetSetNextMission
|
|
||||||
{
|
|
||||||
|
|
||||||
function DefaultGame::gameOver(%game)
|
|
||||||
{
|
|
||||||
Parent::gameOver(%game);
|
|
||||||
|
|
||||||
//Reset SetNextMission Restore
|
|
||||||
$SetNextMissionRestore = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
|
||||||
if (!isActivePackage(ResetSetNextMission))
|
|
||||||
activatePackage(ResetSetNextMission);
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
||||||
// Map Repetition Checker Script
|
|
||||||
//
|
|
||||||
// To help decrease the chances of a repeated map in the map rotation by correcting repeated maps thru script
|
|
||||||
//
|
|
||||||
// Runs at the beginning of every map change
|
|
||||||
// Keeps track of maps played (Last [$MRC::PastMapsDepth] Maps)
|
|
||||||
// If any are repeating it picks a new map
|
|
||||||
//
|
|
||||||
// $EvoCachedNextMission = "RoundTheMountain";
|
|
||||||
// $EvoCachedNextMission = "Arrakis";
|
|
||||||
// $EvoCachedNextMission = "RoundTheMountainLT";
|
|
||||||
// $EvoCachedNextMission = "ArenaDomeDM";
|
|
||||||
|
|
||||||
// How many previous maps you want to compare TheNextCached Map to
|
|
||||||
$MRC::PastMapsDepth = 6;
|
|
||||||
|
|
||||||
for(%x = 1; %x <= $MRC::PastMapsDepth; %x++)
|
|
||||||
{
|
|
||||||
$MRC::PrevMap[%x] = "";
|
|
||||||
//echo("PM" @ %x @ ": " @ $MRC::PrevMap[%x]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Ran in MissionTypeOptions.cs
|
|
||||||
function MapRepetitionChecker( %game )
|
|
||||||
{
|
|
||||||
//Debug
|
|
||||||
//%MapRepetitionCheckerDebug = true;
|
|
||||||
|
|
||||||
if(isEventPending($MapRepetitionSchedule))
|
|
||||||
cancel($MapRepetitionSchedule);
|
|
||||||
|
|
||||||
//Make sure GetRandomMaps.cs is present
|
|
||||||
if(!$GetRandomMapsLoaded)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if($EvoCachedNextMission $= "")
|
|
||||||
return;
|
|
||||||
|
|
||||||
if(!$Host::TournamentMode && $Host::EnableMapRepetitionChecker)
|
|
||||||
{
|
|
||||||
//Do work
|
|
||||||
for(%x = 1; %x <= $MRC::PastMapsDepth; %x++)
|
|
||||||
{
|
|
||||||
if( $MRC::PrevMap[%x] !$= "" && $MRC::PrevMap[%x] $= $EvoCachedNextMission || $CurrentMission $= $EvoCachedNextMission )
|
|
||||||
MapRepetitionCheckerFindRandom();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Set vars
|
|
||||||
for(%x = $MRC::PastMapsDepth; %x >= 1; %x = %x - 1)
|
|
||||||
{
|
|
||||||
if(%x > 1)
|
|
||||||
{
|
|
||||||
if($MRC::PrevMap[%x - 1] !$= "")
|
|
||||||
$MRC::PrevMap[%x] = $MRC::PrevMap[%x - 1];
|
|
||||||
}
|
|
||||||
else if(%x $= 1)
|
|
||||||
$MRC::PrevMap[%x] = $CurrentMission;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Debug
|
|
||||||
if(%MapRepetitionCheckerDebug)
|
|
||||||
{
|
|
||||||
for(%x = 1; %x <= $MRC::PastMapsDepth; %x++)
|
|
||||||
{
|
|
||||||
if( $MRC::PrevMap[%x] !$= "" )
|
|
||||||
echo("PM" @ %x @ ": " @ $MRC::PrevMap[%x]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function MapRepetitionCheckerFindRandom(%redone)
|
|
||||||
{
|
|
||||||
//Make sure GetRandomMaps.cs is present
|
|
||||||
if(!$GetRandomMapsLoaded)
|
|
||||||
return;
|
|
||||||
|
|
||||||
//Backup
|
|
||||||
if(%redone $="")
|
|
||||||
$SetNextMissionRestore = $EvoCachedNextMission;
|
|
||||||
|
|
||||||
//Do work
|
|
||||||
//getRandomMap() is in GetRandomMaps.cs
|
|
||||||
$EvoCachedNextMission = getRandomMap();
|
|
||||||
|
|
||||||
//Make sure new map still complies
|
|
||||||
%redo = 0;
|
|
||||||
for(%x = 1; %x <= $MRC::PastMapsDepth; %x++)
|
|
||||||
{
|
|
||||||
if($MRC::PrevMap[%x] !$= "" && $MRC::PrevMap[%x] $= $EvoCachedNextMission)
|
|
||||||
%redo = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Make sure its within maplimits
|
|
||||||
%newmaplimits = $Host::MapPlayerLimits[$EvoCachedNextMission, $CurrentMissionType];
|
|
||||||
%min = getWord(%newmaplimits,0);
|
|
||||||
%max = getWord(%newmaplimits,1);
|
|
||||||
if((%min > $AllPlayerCount || $AllPlayerCount > %max) && $AllPlayerCount > 2 )
|
|
||||||
%redo = 1;
|
|
||||||
|
|
||||||
if( %redo && %redone < 3 )
|
|
||||||
{
|
|
||||||
%redone++;
|
|
||||||
MapRepetitionCheckerFindRandom(%redone);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
error(formatTimeString("HH:nn:ss") SPC "Map Repetition Corrected from" SPC $SetNextMissionRestore SPC "to" SPC $EvoCachedNextMission @ "." );
|
|
||||||
|
|
||||||
//Admin Message Only
|
|
||||||
for(%idx = 0; %idx < ClientGroup.getCount(); %idx++)
|
|
||||||
{
|
|
||||||
%cl = ClientGroup.getObject(%idx);
|
|
||||||
|
|
||||||
if(%cl.isAdmin)
|
|
||||||
messageClient(%cl, 'MsgMapRepCorrection', '\crMap Repetition Corrected: Next mission set from %1 to %2.', $SetNextMissionRestore, $EvoCachedNextMission);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -43,21 +43,11 @@ function loadMissionStage2()
|
||||||
$Host::HiVisibility = "0"; //always SPEED
|
$Host::HiVisibility = "0"; //always SPEED
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isEventPending($MapRepetitionSchedule))
|
|
||||||
cancel($MapRepetitionSchedule);
|
|
||||||
|
|
||||||
//Start MapRepetitionChecker
|
|
||||||
$MapRepetitionSchedule = schedule(20000, 0, "MapRepetitionChecker", %game);
|
|
||||||
|
|
||||||
//Siege NoBaseRape Fix
|
//Siege NoBaseRape Fix
|
||||||
if( $CurrentMissionType $= "Siege" )
|
if( $CurrentMissionType $= "Siege" )
|
||||||
$Host::EvoNoBaseRapeEnabled = 0;
|
$Host::NoBaseRapeEnabled = 0;
|
||||||
else
|
else
|
||||||
$Host::EvoNoBaseRapeEnabled = 1;
|
$Host::NoBaseRapeEnabled = 1;
|
||||||
|
|
||||||
//Fix for Lak to CTF transition (Uneven Teams)
|
|
||||||
if(Game.numTeams > 1 && ($TeamRank[1, count] > $TeamRank[2, count] + 2) && $previousMissionType $= "LakRabbit")
|
|
||||||
Game.setupClientTeams();
|
|
||||||
|
|
||||||
parent::loadMissionStage2();
|
parent::loadMissionStage2();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
42
Classic/scripts/autoexec/NoBaseRape.cs
Normal file
42
Classic/scripts/autoexec/NoBaseRape.cs
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
package NoBaseRape
|
||||||
|
{
|
||||||
|
|
||||||
|
//From Evolution MOD
|
||||||
|
//Modified for our needs
|
||||||
|
function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
|
||||||
|
{
|
||||||
|
//echo( %targetObject.getDataBlock().getClassName() );
|
||||||
|
//echo( %targetObject.getDataBlock().getName() );
|
||||||
|
|
||||||
|
%targetname = %targetObject.getDataBlock().getName();
|
||||||
|
|
||||||
|
//Used on some maps to make invs invincible
|
||||||
|
if( $CurrentMission $= "SmallCrossing" || $CurrentMission $= "Bulwark")
|
||||||
|
{
|
||||||
|
if( %targetObject.invincible && %targetname $= "StationInventory" )
|
||||||
|
{
|
||||||
|
//NBRAssetSound( %game, %sourceObject );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(!$Host::TournamentMode && $Host::NoBaseRapeEnabled && $Host::NoBaseRapePlayerCount > $TotalTeamPlayerCount)
|
||||||
|
{
|
||||||
|
if( %targetname $= "GeneratorLarge" || %targetname $= "StationInventory" || %targetname $= "SolarPanel" )
|
||||||
|
{
|
||||||
|
//Notify only if asset is on other team
|
||||||
|
if( %targetObject.team !$= %sourceObject.team )
|
||||||
|
{
|
||||||
|
NBRAssetSound( %game, %sourceObject );
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(NoBaseRape))
|
||||||
|
activatePackage(NoBaseRape);
|
||||||
|
|
@ -9,10 +9,10 @@
|
||||||
// Called in GetTeamCounts.cs
|
// Called in GetTeamCounts.cs
|
||||||
function NBRStatusNotify( %game )
|
function NBRStatusNotify( %game )
|
||||||
{
|
{
|
||||||
if( $CurrentMissionType $= "CTF" && $Host::EnableNoBaseRapeNotify && !$Host::TournamentMode && $Host::EvoNoBaseRapeEnabled )
|
if( $CurrentMissionType $= "CTF" && $Host::EnableNoBaseRapeNotify && !$Host::TournamentMode && $Host::NoBaseRapeEnabled )
|
||||||
{
|
{
|
||||||
//On
|
//On
|
||||||
if( $Host::EvoNoBaseRapeClassicPlayerCount > $TotalTeamPlayerCount )
|
if( $Host::NoBaseRapePlayerCount > $TotalTeamPlayerCount )
|
||||||
{
|
{
|
||||||
if( $NBRStatus !$= "PLAYEDON" )
|
if( $NBRStatus !$= "PLAYEDON" )
|
||||||
$NBRStatus = "ON";
|
$NBRStatus = "ON";
|
||||||
|
|
@ -64,9 +64,9 @@ if (!isActivePackage(ResetNBRNotify))
|
||||||
function NBRAssetSound( %game, %sourceObject )
|
function NBRAssetSound( %game, %sourceObject )
|
||||||
{
|
{
|
||||||
//Wont play again until the schedule is done
|
//Wont play again until the schedule is done
|
||||||
if(!isEventPending(%sourceObject.NBRAssetSoundSchedule) && $CurrentMissionType $= "CTF" && $Host::EnableNoBaseRapeNotify && !$Host::TournamentMode && $Host::EvoNoBaseRapeEnabled )
|
if(!isEventPending(%sourceObject.NBRAssetSoundSchedule) && $CurrentMissionType $= "CTF" && $Host::EnableNoBaseRapeNotify && !$Host::TournamentMode && $Host::NoBaseRapeEnabled )
|
||||||
{
|
{
|
||||||
messageClient(%sourceObject.client, 'MsgNoBaseRapeNotify', '\c2No Base Rape is enabled until %1 players.', $Host::EvoNoBaseRapeClassicPlayerCount );
|
messageClient(%sourceObject.client, 'MsgNoBaseRapeNotify', '\c2No Base Rape is enabled until %1 players.', $Host::NoBaseRapePlayerCount );
|
||||||
%sourceObject.NBRAssetSoundSchedule = schedule(10000, 0, "ResetNBRAssetSound", %sourceObject );
|
%sourceObject.NBRAssetSoundSchedule = schedule(10000, 0, "ResetNBRAssetSound", %sourceObject );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
265
Classic/scripts/autoexec/ObserveFlag.cs
Normal file
265
Classic/scripts/autoexec/ObserveFlag.cs
Normal file
|
|
@ -0,0 +1,265 @@
|
||||||
|
package PizzaThings
|
||||||
|
{
|
||||||
|
|
||||||
|
// function OptionsDlg::onWake(%this)
|
||||||
|
// {
|
||||||
|
// if(!$observeFlagBind)
|
||||||
|
// {
|
||||||
|
// $ObsRemapName[$ObsRemapCount] = "Obs First Flag";
|
||||||
|
// $ObsRemapCmd[$ObsRemapCount] = "observeFirstFlag";
|
||||||
|
// $ObsRemapCount++;
|
||||||
|
// $ObsRemapName[$ObsRemapCount] = "Obs Second Flag";
|
||||||
|
// $ObsRemapCmd[$ObsRemapCount] = "observeSecondFlag";
|
||||||
|
// $ObsRemapCount++;
|
||||||
|
|
||||||
|
// $observeFlagBind = true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// parent::onWake(%this);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// For Observe Flag
|
||||||
|
// From Evo
|
||||||
|
function Observer::onTrigger(%data, %obj, %trigger, %state)
|
||||||
|
{
|
||||||
|
if (%state == 0 || %trigger > 5)
|
||||||
|
return;
|
||||||
|
|
||||||
|
//first, give the game the opportunity to prevent the observer action
|
||||||
|
if (!Game.ObserverOnTrigger(%data, %obj, %trigger, %state))
|
||||||
|
return;
|
||||||
|
|
||||||
|
%client = %obj.getControllingClient();
|
||||||
|
if (%client == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch$(%obj.mode)
|
||||||
|
{
|
||||||
|
case "followFlag":
|
||||||
|
if(!%client.observingFlag)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(%trigger == 0) // press FIRE, switch to the other flag
|
||||||
|
{
|
||||||
|
if(%client.flagObserved == $TeamFlag[1])
|
||||||
|
{
|
||||||
|
%otherFlag = $TeamFlag[2];
|
||||||
|
%otherFlagTeam = 2;
|
||||||
|
}
|
||||||
|
else if(%client.flagObserved == $TeamFlag[2])
|
||||||
|
{
|
||||||
|
%otherFlag = $TeamFlag[1];
|
||||||
|
%otherFlagTeam = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
|
||||||
|
// the flag isn't carried
|
||||||
|
if(%otherFlag.carrier $= "")
|
||||||
|
observeFlag(%client, %otherFlag, 1, %otherFlagTeam);
|
||||||
|
else if(isObject(%otherFlag.carrier.client))
|
||||||
|
observeFlag(%client, %otherFlag.carrier.client, 2, %otherFlagTeam);
|
||||||
|
}
|
||||||
|
else if(%trigger == 3) // press JET, switch to the other flag
|
||||||
|
{
|
||||||
|
if(%client.flagObserved == $TeamFlag[1])
|
||||||
|
{
|
||||||
|
%otherFlag = $TeamFlag[2];
|
||||||
|
%otherFlagTeam = 2;
|
||||||
|
}
|
||||||
|
else if(%client.flagObserved == $TeamFlag[2])
|
||||||
|
{
|
||||||
|
%otherFlag = $TeamFlag[1];
|
||||||
|
%otherFlagTeam = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
|
||||||
|
// the flag isn't carried
|
||||||
|
if(%otherFlag.carrier $= "")
|
||||||
|
observeFlag(%client, %otherFlag, 1, %otherFlagTeam);
|
||||||
|
else if(isObject(%otherFlag.carrier.client))
|
||||||
|
observeFlag(%client, %otherFlag.carrier.client, 2, %otherFlagTeam);
|
||||||
|
}
|
||||||
|
else if(%trigger == 2) //press JUMP, stop observing flag
|
||||||
|
{
|
||||||
|
if(%client.observeClient != -1)
|
||||||
|
{
|
||||||
|
observerFollowUpdate(%client, -1, false);
|
||||||
|
messageClient(%client.observeClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name);
|
||||||
|
%client.observeClient = -1;
|
||||||
|
}
|
||||||
|
%obj.mode = "observerFly";
|
||||||
|
%obj.setFlyMode();
|
||||||
|
updateObserverFlyHud(%client);
|
||||||
|
%client.observingFlag = false;
|
||||||
|
%client.flagObserved = "";
|
||||||
|
%client.flagObsTeam = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
Parent::onTrigger(%data, %obj, %trigger, %state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(PizzaThings))
|
||||||
|
activatePackage(PizzaThings);
|
||||||
|
|
||||||
|
function serverCmdObserveFirstFlag(%client)
|
||||||
|
{
|
||||||
|
// works only for CTF
|
||||||
|
if(Game.class !$= CTFGame)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// client must be an observer
|
||||||
|
if(%client.team > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// check if the flag is carried by someone
|
||||||
|
%player = $TeamFlag[1].carrier;
|
||||||
|
|
||||||
|
if($TeamFlag[1].isHome || %player $= "")
|
||||||
|
observeFlag(%client, $TeamFlag[1], 1, 1);
|
||||||
|
else
|
||||||
|
observeFlag(%client, %player.client, 2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function serverCmdObserveSecondFlag(%client)
|
||||||
|
{
|
||||||
|
// works only for CTF
|
||||||
|
if(Game.class !$= CTFGame)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// client must be an observer
|
||||||
|
if(%client.team > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// check if the flag is carried by someone
|
||||||
|
%player = $TeamFlag[2].carrier;
|
||||||
|
|
||||||
|
if($TeamFlag[2].isHome || %player $= "")
|
||||||
|
observeFlag(%client, $TeamFlag[2], 1, 2);
|
||||||
|
else
|
||||||
|
observeFlag(%client, %player.client, 2, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
function observeFlag(%client, %target, %type, %flagTeam)
|
||||||
|
{
|
||||||
|
if(!isObject(%client) || !isObject(%target) || !isObject(%client.camera))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(Game.class !$= CTFGame)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(%client.team > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// cancel any scheduled update
|
||||||
|
if(isEventPending(%client.obsHudSchedule))
|
||||||
|
cancel(%client.obsHudSchedule);
|
||||||
|
|
||||||
|
// must be an observer when observing other clients
|
||||||
|
if(%client.getControlObject() != %client.camera)
|
||||||
|
return;
|
||||||
|
|
||||||
|
//can't observer yourself
|
||||||
|
if(%client == %target)
|
||||||
|
return;
|
||||||
|
|
||||||
|
%count = ClientGroup.getCount();
|
||||||
|
|
||||||
|
//can't go into observer mode if you're the only client
|
||||||
|
if(%count <= 1 && %type != 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(%type == 1) // Flag
|
||||||
|
{
|
||||||
|
if(isObject(%client.player))
|
||||||
|
%client.player.scriptKill(0); // the player is still playing (this shouldn't be happen)
|
||||||
|
|
||||||
|
%client.camera.getDataBlock().setMode(%client.camera, "followFlag", $TeamFlag[%flagTeam]);
|
||||||
|
%client.setControlObject(%client.camera);
|
||||||
|
clearBottomPrint(%client);
|
||||||
|
|
||||||
|
// was the client observing a player before?
|
||||||
|
if(%client.observeClient != -1)
|
||||||
|
{
|
||||||
|
observerFollowUpdate(%client, -1, false);
|
||||||
|
messageClient(%client.observeClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name);
|
||||||
|
%client.observeClient = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // Player
|
||||||
|
{
|
||||||
|
// make sure the target actually exists
|
||||||
|
if(%target > 0)
|
||||||
|
{
|
||||||
|
%found = false;
|
||||||
|
for(%i = 0; %i < %count; %i++)
|
||||||
|
{
|
||||||
|
if(ClientGroup.getObject(%i) == %target)
|
||||||
|
{
|
||||||
|
%found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!%found)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isObject(%client.player))
|
||||||
|
%client.player.scriptKill(0); // the player is still playing (this shouldn't be happen)
|
||||||
|
|
||||||
|
observerFollowUpdate(%client, %target, true);
|
||||||
|
displayObserverHud(%client, %target);
|
||||||
|
messageClient(%target, 'Observer', '\c1%1 is now observing you.', %client.name);
|
||||||
|
|
||||||
|
// was the client observing a player before?
|
||||||
|
if(%client.observeClient != -1)
|
||||||
|
messageClient(%client.observeClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name);
|
||||||
|
%client.camera.getDataBlock().setMode(%client.camera, "observerFollow", %target.player);
|
||||||
|
%client.setControlObject(%client.camera);
|
||||||
|
%client.observeClient = %target;
|
||||||
|
}
|
||||||
|
|
||||||
|
//clear the observer fly mode var...
|
||||||
|
%client.observeFlyClient = -1;
|
||||||
|
%client.observingFlag = true;
|
||||||
|
%client.flagObserved = $TeamFlag[%flagTeam];
|
||||||
|
%client.flagObsTeam = %flagTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
// function observeFirstFlag()
|
||||||
|
// {
|
||||||
|
// commandToServer('ObserveFirstFlag');
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function observeSecondFlag()
|
||||||
|
// {
|
||||||
|
// commandToServer('ObserveSecondFlag');
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function sendPizzaHudUpdate(%game, %client, %msg)
|
||||||
|
// {
|
||||||
|
// %pizzaOptMask = 0;
|
||||||
|
// if($RandomTeams == 1) %pizzaOptMask += 1;
|
||||||
|
// if($Host::ClassicFairTeams == 1) %pizzaOptMask += 2;
|
||||||
|
// if($Host::ClassicAutoPWEnabled == 1) %pizzaOptMask += 4;
|
||||||
|
// if($Host::EvoFullServerPWEnabled == 1) %pizzaOptMask += 8;
|
||||||
|
// if($Host::EvoNoBaseRapeEnabled == 1) %pizzaOptMask += 16;
|
||||||
|
// if($PizzaHudRestartVar == 1) %pizzaOptMask += 32;
|
||||||
|
// messageClient(%client, 'UpdatePizzaHud', %msg, %pizzaOptMask, %client.isAdmin + %client.isSuperAdmin);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function serverCmdRegisterPizzaClient(%client)
|
||||||
|
// {
|
||||||
|
// if(!%client.pizza)
|
||||||
|
// {
|
||||||
|
// %client.pizza = true;
|
||||||
|
// %msg = "\c2Pizza Client registered.";
|
||||||
|
// sendPizzaHudUpdate(%game, %client, %msg);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
@ -103,22 +103,6 @@ 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Admin Next Mission Message at beginning of matches
|
|
||||||
function DefaultGame::startMatch(%game)
|
|
||||||
{
|
|
||||||
Parent::startMatch(%game);
|
|
||||||
|
|
||||||
for(%idx = 0; %idx < ClientGroup.getCount(); %idx++)
|
|
||||||
{
|
|
||||||
%cl = ClientGroup.getObject(%idx);
|
|
||||||
|
|
||||||
if(%cl.isAdmin)
|
|
||||||
{
|
|
||||||
messageClient( %cl, 'MsgNotifyEvoNextMission', '\crNext Mission: %1', $EvoCachedNextMission);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
// Prevent package from being activated if it is already
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
// Called in GetTeamCounts.cs
|
// Called in GetTeamCounts.cs
|
||||||
function TeamBalanceNotify( %game, %team1difference, %team2difference )
|
function TeamBalanceNotify( %game, %team1difference, %team2difference )
|
||||||
{
|
{
|
||||||
if( ($CurrentMissionType $= "CTF" || $CurrentMissionType $= "sctf") && $TotalTeamPlayerCount !$= 0 && !$Host::TournamentMode )
|
if( Game.numTeams > 1 && $TotalTeamPlayerCount !$= 0 && !$Host::TournamentMode )
|
||||||
{
|
{
|
||||||
//echo ("%Team1Difference " @ %Team1Difference);
|
//echo ("%Team1Difference " @ %Team1Difference);
|
||||||
//echo ("%Team2Difference " @ %Team2Difference);
|
//echo ("%Team2Difference " @ %Team2Difference);
|
||||||
|
|
|
||||||
1572
Classic/scripts/autoexec/VoteMenu.cs
Normal file
1572
Classic/scripts/autoexec/VoteMenu.cs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -20,8 +20,8 @@ function VoteSound( %game, %typename, %arg1, %arg2, %VoteSoundRandom )
|
||||||
messageAll('', '\c1Vote in Progress: \c0To change the mission to %1 (%2). %3~wgui/objective_notification.wav', %arg1, %arg2, %votemsg );
|
messageAll('', '\c1Vote in Progress: \c0To change the mission to %1 (%2). %3~wgui/objective_notification.wav', %arg1, %arg2, %votemsg );
|
||||||
echo("Vote in Progress: To change the mission to" SPC %arg1 SPC "(" @ %arg2 @ ").");
|
echo("Vote in Progress: To change the mission to" SPC %arg1 SPC "(" @ %arg2 @ ").");
|
||||||
case "VoteSkipMission":
|
case "VoteSkipMission":
|
||||||
messageAll('', '\c1Vote in Progress: \c0To skip the mission to %1. %2~wgui/objective_notification.wav', $EvoCachedNextMission, %votemsg );
|
messageAll('', '\c1Vote in Progress: \c0To skip the mission. %1~wgui/objective_notification.wav', %votemsg );
|
||||||
echo("Vote in Progress: To skip the mission to" SPC $EvoCachedNextMission @ ".");
|
echo("Vote in Progress: To skip the mission.");
|
||||||
case "VoteChangeTimeLimit":
|
case "VoteChangeTimeLimit":
|
||||||
if(%arg1 $= "999") %arg1 = "unlimited";
|
if(%arg1 $= "999") %arg1 = "unlimited";
|
||||||
messageAll('', '\c1Vote in Progress: \c0To change the time limit to %1. %2~wgui/objective_notification.wav', %arg1, %votemsg );
|
messageAll('', '\c1Vote in Progress: \c0To change the time limit to %1. %2~wgui/objective_notification.wav', %arg1, %votemsg );
|
||||||
|
|
@ -47,11 +47,14 @@ function VoteSound( %game, %typename, %arg1, %arg2, %VoteSoundRandom )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else //Is observer
|
else //Is observer
|
||||||
messageAll('', '\c1Vote in Progress: \c0To kick player %1. %3~wgui/objective_notification.wav', %arg1.name, %votemsg );
|
messageAll('', '\c1Vote in Progress: \c0To kick player %1. %2~wgui/objective_notification.wav', %arg1.nameBase, %votemsg );
|
||||||
echo("Vote in Progress: To kick player" SPC %arg1.name @ ".");
|
echo("Vote in Progress: To kick player" SPC %arg1.nameBase SPC "(" @ %arg1.guid @ ").");
|
||||||
case "VoteTournamentMode":
|
case "VoteTournamentMode":
|
||||||
messageAll('', '\c1Vote in Progress: \c0To change the mission to Tournament Mode (%1). %3~wgui/objective_notification.wav', %arg1, %arg2, %votemsg );
|
messageAll('', '\c1Vote in Progress: \c0To change the mission to Tournament Mode (%1). %3~wgui/objective_notification.wav', %arg1, %arg2, %votemsg );
|
||||||
echo("Vote in Progress: To change the mission to Tournament Mode" SPC "(" @ %arg1 @ ").");
|
echo("Vote in Progress: To change the mission to Tournament Mode" SPC "(" @ %arg1 @ ").");
|
||||||
|
default:
|
||||||
|
messageAll('', '\c1Vote in Progress: \c0To %1. %2~wgui/objective_notification.wav', %arg1, %votemsg );
|
||||||
|
echo("Vote in Progress: To" SPC %arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isEventPending($VoteSoundSchedule))
|
if(isEventPending($VoteSoundSchedule))
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
function checkVer_showBanner(%client)
|
function checkVer_showBanner(%client)
|
||||||
{
|
{
|
||||||
// customize me
|
// customize me
|
||||||
commandToClient(%client, 'CenterPrint', "<font:Sui Generis:22><color:3cb4b4>Version Check Failed!\n<font:Univers:16><color:3cb4b4>You need the latest TribesNext patch and TourneyNetClient2 to play.\n Download it from t2discord.tk and drop it into your GameData/Base folder.", 10, 3);
|
commandToClient(%client, 'CenterPrint', "<font:Sui Generis:22><color:3cb4b4>Version Check Failed!\n<font:Univers:16><color:3cb4b4>You need the latest TribesNext patch and TourneyNetClient2 to play.\n Download it from playt2.com and drop it into your GameData/Base folder.", 10, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
package checkver
|
package checkver
|
||||||
|
|
|
||||||
|
|
@ -1236,7 +1236,7 @@ package dtStats{
|
||||||
parent::missionLoadDone(%game);
|
parent::missionLoadDone(%game);
|
||||||
//check to see if we are running evo or not, if not then lets just enable these
|
//check to see if we are running evo or not, if not then lets just enable these
|
||||||
if(!isFile("scripts/autoexec/evolution.cs")){
|
if(!isFile("scripts/autoexec/evolution.cs")){
|
||||||
$Host::EvoAveragePings = $Host::ShowIngamePlayerScores = 1;
|
$Host::AveragePings = $Host::ShowIngamePlayerScores = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function serverCmdShowHud(%client, %tag){ // to refresh screen when client opens it up
|
function serverCmdShowHud(%client, %tag){ // to refresh screen when client opens it up
|
||||||
|
|
@ -2503,7 +2503,7 @@ function LakRabbitHud(%game, %client, %tag){
|
||||||
$TeamRank[2, count] = 0;
|
$TeamRank[2, count] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $Host::EvoAveragePings )
|
if ( $Host::AveragePings )
|
||||||
{
|
{
|
||||||
for ( %count = 0; %count <= Game.numteams; %count++ )
|
for ( %count = 0; %count <= Game.numteams; %count++ )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ function ALTsendModInfoToClient(%client)
|
||||||
|
|
||||||
if($Host::TimeLimit $= "999" || $Host::TimeLimit $= "unlimited") %timeloadingvar = "Unlimited"; else %timeloadingvar = $Host::TimeLimit;
|
if($Host::TimeLimit $= "999" || $Host::TimeLimit $= "unlimited") %timeloadingvar = "Unlimited"; else %timeloadingvar = $Host::TimeLimit;
|
||||||
|
|
||||||
if($Host::EvoKickObservers $= 0) %obskickvar = "Off"; else %obskickvar = ($Host::EvoKickObservers / 60) @ " Minutes";
|
if($Host::KickObserverTimeout $= 0) %obskickvar = "Off"; else %obskickvar = ($Host::KickObserverTimeout / 60) @ " Minutes";
|
||||||
|
|
||||||
%time = "<color:" @ $Host::LoadScreenColor1 @ ">Time limit: <color:" @ $Host::LoadScreenColor2 @ ">" @ %timeloadingvar;
|
%time = "<color:" @ $Host::LoadScreenColor1 @ ">Time limit: <color:" @ $Host::LoadScreenColor2 @ ">" @ %timeloadingvar;
|
||||||
%max = "<color:" @ $Host::LoadScreenColor1 @ ">Max players: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::MaxPlayers;
|
%max = "<color:" @ $Host::LoadScreenColor1 @ ">Max players: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::MaxPlayers;
|
||||||
|
|
@ -183,30 +183,14 @@ function ALTsendModInfoToClient(%client)
|
||||||
//%crc = "<color:" @ $Host::LoadScreenColor1 @ ">CRC checking: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::CRCTextures ? "On" : "Off");
|
//%crc = "<color:" @ $Host::LoadScreenColor1 @ ">CRC checking: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::CRCTextures ? "On" : "Off");
|
||||||
//%pure = "<color:" @ $Host::LoadScreenColor1 @ ">Pure server: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::PureServer ? "On" : "Off");
|
//%pure = "<color:" @ $Host::LoadScreenColor1 @ ">Pure server: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::PureServer ? "On" : "Off");
|
||||||
|
|
||||||
if($Host::EvoNoBaseRapeEnabled)
|
if($Host::NoBaseRapeEnabled)
|
||||||
%rapeppl = "<color:" @ $Host::LoadScreenColor1 @ ">Min No Base Rape: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EvoNoBaseRapeClassicPlayerCount;
|
%rapeppl = "<color:" @ $Host::LoadScreenColor1 @ ">Min No Base Rape: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::NoBaseRapePlayerCount;
|
||||||
|
|
||||||
%turrets = "<color:" @ $Host::LoadScreenColor1 @ ">Min Turrets: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EnableTurretPlayerCount;
|
%turrets = "<color:" @ $Host::LoadScreenColor1 @ ">Min Turrets: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EnableTurretPlayerCount;
|
||||||
|
|
||||||
if($Host::EvoStats && (!$Host::TournamentMode || ($Host::TournamentMode && $Host::EvoStatsTourney)) && $Host::EvoStatsType != 0)
|
if($Host::ClassicEvoStats && $Host::ClassicStatsType > 0)
|
||||||
%stats = "<color:" @ $Host::LoadScreenColor1 @ ">Stats based on: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::EvoStatsType == 1 ? "Kills" : "Damage");
|
%stats = "<color:" @ $Host::LoadScreenColor1 @ ">Stats based on: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::ClassicStatsType == 1 ? "Kills" : "Damage");
|
||||||
|
|
||||||
if($Evo::ETMMode && $ETMmode::CurrentMap <= $ETMmode::Counter)
|
|
||||||
{
|
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $ETMmode::MapDisplayName[$ETMmode::CurrentMap];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ findNextCycleMission();
|
|
||||||
if ( $Host::ClassicRandomMissions )
|
|
||||||
{
|
|
||||||
%nmis = %nmis SPC "(Random)";
|
|
||||||
}
|
|
||||||
if($Host::EvoTourneySameMap && $Host::TournamentMode)
|
|
||||||
{
|
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $CurrentMission @ " (Same)";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
%currentmis = "<color:" @ $Host::LoadScreenColor1 @ ">Current mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $MissionDisplayName @ " (" @ $MissionTypeDisplayName @ ")";
|
%currentmis = "<color:" @ $Host::LoadScreenColor1 @ ">Current mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $MissionDisplayName @ " (" @ $MissionTypeDisplayName @ ")";
|
||||||
|
|
||||||
|
|
@ -300,7 +284,7 @@ function ALTsendModInfoToClient(%client)
|
||||||
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %turrets;
|
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %turrets;
|
||||||
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %obskick;
|
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %obskick;
|
||||||
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %stats;
|
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %stats;
|
||||||
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %nmis;
|
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = "<lmargin:24><Font:univers:18><bitmap:bullet_2>" @ %currentmis;
|
||||||
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = " ";
|
$dtLoadingScreen::LoadScreenMessage[$dmlP++] = " ";
|
||||||
|
|
||||||
//$dtLoadingScreen::LoadScreenMessage[$dmlP++] = %rape;
|
//$dtLoadingScreen::LoadScreenMessage[$dmlP++] = %rape;
|
||||||
|
|
@ -396,30 +380,30 @@ function NORMALsendModInfoToClient(%client)
|
||||||
//%pure = "<color:" @ $Host::LoadScreenColor1 @ ">Pure server: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::PureServer ? "On" : "Off");
|
//%pure = "<color:" @ $Host::LoadScreenColor1 @ ">Pure server: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::PureServer ? "On" : "Off");
|
||||||
|
|
||||||
|
|
||||||
if($Host::EvoNoBaseRapeEnabled)
|
if($Host::NoBaseRapeEnabled)
|
||||||
%rapeppl = "<color:" @ $Host::LoadScreenColor1 @ ">Min No Base Rape: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EvoNoBaseRapeClassicPlayerCount;
|
%rapeppl = "<color:" @ $Host::LoadScreenColor1 @ ">Min No Base Rape: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::NoBaseRapePlayerCount;
|
||||||
|
|
||||||
%turrets = "<color:" @ $Host::LoadScreenColor1 @ ">Min Turrets: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EnableTurretPlayerCount;
|
%turrets = "<color:" @ $Host::LoadScreenColor1 @ ">Min Turrets: <color:" @ $Host::LoadScreenColor2 @ ">" @ $Host::EnableTurretPlayerCount;
|
||||||
|
|
||||||
if($Host::EvoStats && (!$Host::TournamentMode || ($Host::TournamentMode && $Host::EvoStatsTourney)) && $Host::EvoStatsType != 0)
|
if($Host::ClassicEvoStats && $Host::ClassicStatsType > 0)
|
||||||
%stats = "<color:" @ $Host::LoadScreenColor1 @ ">Stats based on: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::EvoStatsType == 1 ? "Kills" : "Damage");
|
%stats = "<color:" @ $Host::LoadScreenColor1 @ ">Stats based on: <color:" @ $Host::LoadScreenColor2 @ ">" @ ($Host::ClassicStatsType == 1 ? "Kills" : "Damage");
|
||||||
|
|
||||||
if($Evo::ETMMode && $ETMmode::CurrentMap <= $ETMmode::Counter)
|
//if($Evo::ETMMode && $ETMmode::CurrentMap <= $ETMmode::Counter)
|
||||||
{
|
//{
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $ETMmode::MapDisplayName[$ETMmode::CurrentMap];
|
// %nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $ETMmode::MapDisplayName[$ETMmode::CurrentMap];
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ findNextCycleMission();
|
//%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ findNextCycleMission();
|
||||||
if ( $Host::ClassicRandomMissions )
|
//if ( $Host::ClassicRandomMissions )
|
||||||
{
|
//{
|
||||||
%nmis = %nmis SPC "(Random)";
|
//%nmis = %nmis SPC "(Random)";
|
||||||
}
|
//}
|
||||||
if($Host::EvoTourneySameMap && $Host::TournamentMode)
|
//if($Host::EvoTourneySameMap && $Host::TournamentMode)
|
||||||
{
|
//{
|
||||||
%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $CurrentMission @ " (Same)";
|
//%nmis = "<color:" @ $Host::LoadScreenColor1 @ ">Next mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $CurrentMission @ " (Same)";
|
||||||
}
|
//}
|
||||||
}
|
//}
|
||||||
|
|
||||||
%currentmis = "<color:" @ $Host::LoadScreenColor1 @ ">Current mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $MissionDisplayName @ " (" @ $MissionTypeDisplayName @ ")";
|
%currentmis = "<color:" @ $Host::LoadScreenColor1 @ ">Current mission: <color:" @ $Host::LoadScreenColor2 @ ">" @ $MissionDisplayName @ " (" @ $MissionTypeDisplayName @ ")";
|
||||||
|
|
||||||
|
|
@ -449,7 +433,7 @@ function NORMALsendModInfoToClient(%client)
|
||||||
%ServerTextLine[4] = %rapeppl;
|
%ServerTextLine[4] = %rapeppl;
|
||||||
%ServerTextLine[5] = %turrets;
|
%ServerTextLine[5] = %turrets;
|
||||||
%ServerTextLine[6] = %stats;
|
%ServerTextLine[6] = %stats;
|
||||||
%ServerTextLine[7] = %nmis;
|
%ServerTextLine[7] = %currentmis;
|
||||||
|
|
||||||
//%serverTextLine[2] = %td;
|
//%serverTextLine[2] = %td;
|
||||||
//%serverTextLine[3] = %crc;
|
//%serverTextLine[3] = %crc;
|
||||||
|
|
|
||||||
196
Classic/scripts/autoexec/zMineDisc.cs
Normal file
196
Classic/scripts/autoexec/zMineDisc.cs
Normal file
|
|
@ -0,0 +1,196 @@
|
||||||
|
//**********************************************************
|
||||||
|
// CREDITS
|
||||||
|
//
|
||||||
|
// Eolks - I think he wrote most (probably all) of the mine+disc support.
|
||||||
|
//**********************************************************
|
||||||
|
|
||||||
|
$DamageTypeText[50] = 'Mine+Disc'; // Teratos: Pseudo-damage type
|
||||||
|
|
||||||
|
// Eolk - Mine disc messages // Teratos - betterized.
|
||||||
|
$DeathMessageMineDiscCount = 4;
|
||||||
|
$DeathMessageMineDisc[0] = '\c0%4 kills %1 with a mine+disc.';
|
||||||
|
$DeathMessageMineDisc[1] = '\c0%4 unleashes a world of hurt on %1 with a mine+disc.';
|
||||||
|
$DeathMessageMineDisc[2] = '\c0%4 shows %1 the power of a spinfusor+mine combo!';
|
||||||
|
$DeathMessageMineDisc[3] = '\c0%1 never saw that mine+disc coming from %4.';
|
||||||
|
|
||||||
|
// Teratos: Guessing this was Eolk?
|
||||||
|
function resetMineDiscCheck(%cl)
|
||||||
|
{
|
||||||
|
%cl.minediscCheck = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
package StatsMineDisc
|
||||||
|
{
|
||||||
|
function DefaultGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement)
|
||||||
|
{
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// z0dd - ZOD, 6/18/02. From Panama Jack, send the damageTypeText as the last varible
|
||||||
|
// in each death message so client knows what weapon it was that killed them.
|
||||||
|
|
||||||
|
%victimGender = (%clVictim.sex $= "Male" ? 'him' : 'her');
|
||||||
|
%victimPoss = (%clVictim.sex $= "Male" ? 'his' : 'her');
|
||||||
|
%killerGender = (%clKiller.sex $= "Male" ? 'him' : 'her');
|
||||||
|
%killerPoss = (%clKiller.sex $= "Male" ? 'his' : 'her');
|
||||||
|
%victimName = %clVictim.name;
|
||||||
|
%killerName = %clKiller.name;
|
||||||
|
//error("DamageType = " @ %damageType @ ", implement = " @ %implement @ ", implement class = " @ %implement.getClassName() @ ", is controlled = " @ %implement.getControllingClient());
|
||||||
|
|
||||||
|
if(%damageType == $DamageType::Explosion)
|
||||||
|
{
|
||||||
|
messageAll('msgExplosionKill', $DeathMessageExplosion[mFloor(getRandom() * $DeathMessageExplosionCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == $DamageType::Suicide) //player presses ctrl-k
|
||||||
|
{
|
||||||
|
messageAll('msgSuicide', $DeathMessageSuicide[mFloor(getRandom() * $DeathMessageSuicideCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == $DamageType::VehicleSpawn)
|
||||||
|
{
|
||||||
|
messageAll('msgVehicleSpawnKill', $DeathMessageVehPad[mFloor(getRandom() * $DeathMessageVehPadCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == $DamageType::ForceFieldPowerup)
|
||||||
|
{
|
||||||
|
messageAll('msgVehicleSpawnKill', $DeathMessageFFPowerup[mFloor(getRandom() * $DeathMessageFFPowerupCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == $DamageType::Crash)
|
||||||
|
{
|
||||||
|
messageAll('msgVehicleCrash', $DeathMessageVehicleCrash[%damageType, mFloor(getRandom() * $DeathMessageVehicleCrashCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == $DamageType::Impact) // run down by vehicle
|
||||||
|
{
|
||||||
|
if( ( %controller = %implement.getControllingClient() ) > 0)
|
||||||
|
{
|
||||||
|
%killerGender = (%controller.sex $= "Male" ? 'him' : 'her');
|
||||||
|
%killerPoss = (%controller.sex $= "Male" ? 'his' : 'her');
|
||||||
|
%killerName = %controller.name;
|
||||||
|
if(%controller.team != %clVictim.team)
|
||||||
|
{
|
||||||
|
messageAll('msgVehicleKill', $DeathMessageVehicle[mFloor(getRandom() * $DeathMessageVehicleCount)], %victimName, %victimGender, %victimPoss, %killerName ,%killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
messageAll('msgTeamKill', $DeathMessageTeamKill[%damageType, mFloor(getRandom() * $DeathMessageTeamKillCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
messageAll('msgVehicleKill', $DeathMessageVehicleUnmanned[mFloor(getRandom() * $DeathMessageVehicleUnmannedCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
// z0dd - ZOD, 5/15/02. Added Hover Vehicle so we get proper
|
||||||
|
// death messages when killed with Wildcat chaingun
|
||||||
|
//else if (isObject(%implement) && (%implement.getClassName() $= "Turret" || %implement.getClassName() $= "VehicleTurret" || %implement.getClassName() $= "FlyingVehicle")) //player killed by a turret
|
||||||
|
else if (isObject(%implement) && (%implement.getClassName() $= "Turret" || %implement.getClassName() $= "VehicleTurret" || %implement.getClassName() $= "FlyingVehicle" || %implement.getClassName() $= "HoverVehicle"))
|
||||||
|
{
|
||||||
|
if (%implement.getControllingClient() != 0) //is turret being controlled?
|
||||||
|
{
|
||||||
|
%controller = %implement.getControllingClient();
|
||||||
|
%killerGender = (%controller.sex $= "Male" ? 'him' : 'her');
|
||||||
|
%killerPoss = (%controller.sex $= "Male" ? 'his' : 'her');
|
||||||
|
%killerName = %controller.name;
|
||||||
|
|
||||||
|
if (%controller == %clVictim)
|
||||||
|
{
|
||||||
|
messageAll('msgTurretSelfKill', $DeathMessageTurretSelfKill[mFloor(getRandom() * $DeathMessageTurretSelfKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if (%controller.team == %clVictim.team) //controller TK'd a friendly
|
||||||
|
{
|
||||||
|
messageAll('msgCTurretKill', $DeathMessageCTurretTeamKill[%damageType, mFloor(getRandom() * $DeathMessageCTurretTeamKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else //controller killed an enemy
|
||||||
|
{
|
||||||
|
messageAll('msgCTurretKill', $DeathMessageCTurretKill[%damageType, mFloor(getRandom() * $DeathMessageCTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// use the handle associated with the deployed object to verify valid owner
|
||||||
|
else if (isObject(%implement.owner))
|
||||||
|
{
|
||||||
|
%owner = %implement.owner;
|
||||||
|
//error("Owner is " @ %owner @ " Handle is " @ %implement.ownerHandle);
|
||||||
|
//error("Turret is still owned");
|
||||||
|
//turret is uncontrolled, but is owned - treat the same as controlled.
|
||||||
|
%killerGender = (%owner.sex $= "Male" ? 'him' : 'her');
|
||||||
|
%killerPoss = (%owner.sex $= "Male" ? 'his' : 'her');
|
||||||
|
%killerName = %owner.name;
|
||||||
|
|
||||||
|
if (%owner.team == %clVictim.team) //player got in the way of a teammates deployed but uncontrolled turret.
|
||||||
|
{
|
||||||
|
messageAll('msgCTurretKill', $DeathMessageCTurretAccdtlKill[%damageType,mFloor(getRandom() * $DeathMessageCTurretAccdtlKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else //deployed, uncontrolled turret killed an enemy
|
||||||
|
{
|
||||||
|
messageAll('msgCTurretKill', $DeathMessageCTurretKill[%damageType,mFloor(getRandom() * $DeathMessageCTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //turret is not a placed (owned) turret (or owner is no longer on it's team), and is not being controlled
|
||||||
|
{
|
||||||
|
if(%implement.team == %clVictim.team) // was it a teamkill?
|
||||||
|
{
|
||||||
|
messageAll('msgTurretKill', $DeathMessageCTurretAccdtlKill[%damageType,mFloor(getRandom() * $DeathMessageCTurretAccdtlKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else // it was not a teamkill
|
||||||
|
{
|
||||||
|
messageAll('msgTurretKill', $DeathMessageTurretKill[%damageType,mFloor(getRandom() * $DeathMessageTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// END TURRET MESSAGES
|
||||||
|
else if((%clKiller == %clVictim) || (%damageType == $DamageType::Ground)) //player killed himself or fell to death
|
||||||
|
{
|
||||||
|
messageAll('msgSelfKill', $DeathMessageSelfKill[%damageType,mFloor(getRandom() * $DeathMessageSelfKillCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if (%damageType == $DamageType::OutOfBounds) //killer died due to Out-of-Bounds damage
|
||||||
|
{
|
||||||
|
messageAll('msgOOBKill', $DeathMessageOOB[mFloor(getRandom() * $DeathMessageOOBCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if (%damageType == $DamageType::NexusCamping) //Victim died from camping near the nexus...
|
||||||
|
{
|
||||||
|
messageAll('msgCampKill', $DeathMessageCamping[mFloor(getRandom() * $DeathMessageCampingCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%clKiller.team == %clVictim.team) //was a TK
|
||||||
|
{
|
||||||
|
messageAll('msgTeamKill', $DeathMessageTeamKill[%damageType, mFloor(getRandom() * $DeathMessageTeamKillCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if (%damageType == $DamageType::Lava) //player died by falling in lava
|
||||||
|
{
|
||||||
|
messageAll('msgLavaKill', $DeathMessageLava[mFloor(getRandom() * $DeathMessageLavaCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if ( %damageType == $DamageType::Lightning ) // player was struck by lightning
|
||||||
|
{
|
||||||
|
messageAll('msgLightningKill', $DeathMessageLightning[mFloor(getRandom() * $DeathMessageLightningCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if ( %damageType == $DamageType::Mine && !isObject(%clKiller) )
|
||||||
|
{
|
||||||
|
messageAll('MsgRogueMineKill', $DeathMessageRogueMine[%damageType, mFloor(getRandom() * $DeathMessageRogueMineCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else //was a legitimate enemy kill
|
||||||
|
{
|
||||||
|
if((%damageType == $DamageType::Mine || %damageType == $DamageType::Disc) && %clVictim.mineDisc)
|
||||||
|
{
|
||||||
|
// mine disc just occurred
|
||||||
|
messageAll('MsgMineDiscKill', $DeathMessageMineDisc[mFloor(getRandom() * $DeathMessageMineDiscCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
else if(%damageType == 6 && (%clVictim.headShot))
|
||||||
|
{
|
||||||
|
// laser headshot just occurred
|
||||||
|
messageAll('MsgHeadshotKill', $DeathMessageHeadshot[%damageType, mFloor(getRandom() * $DeathMessageHeadshotCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------
|
||||||
|
// z0dd - ZOD, 8/25/02. Rear Lance hits
|
||||||
|
else if (%damageType == 10 && (%clVictim.rearshot))
|
||||||
|
{
|
||||||
|
// shocklance rearshot just occurred
|
||||||
|
messageAll('MsgRearshotKill', $DeathMessageRearshot[%damageType, mFloor(getRandom() * $DeathMessageRearshotCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------
|
||||||
|
else
|
||||||
|
{
|
||||||
|
messageAll('MsgLegitKill', $DeathMessage[%damageType, mFloor(getRandom() * $DeathMessageCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Prevent package from being activated if it is already
|
||||||
|
if (!isActivePackage(StatsMineDisc))
|
||||||
|
activatePackage(StatsMineDisc);
|
||||||
|
|
@ -574,6 +574,20 @@ function DefaultGame::startMatch(%game)
|
||||||
|
|
||||||
function DefaultGame::gameOver( %game )
|
function DefaultGame::gameOver( %game )
|
||||||
{
|
{
|
||||||
|
listPlayers(); // MP: 6/17/2011 - Prints score, team, status
|
||||||
|
|
||||||
|
// Eolk - Prevent those annoying last-minute map changes that totally throw things off
|
||||||
|
if(%game.scheduleVote !$= "")
|
||||||
|
{
|
||||||
|
messageAll('closeVoteHud', "");
|
||||||
|
cancel(Game.scheduleVote);
|
||||||
|
Game.scheduleVote = "";
|
||||||
|
Game.kickClient = "";
|
||||||
|
clearVotes();
|
||||||
|
|
||||||
|
messageAll('MsgVoteFailed', "");
|
||||||
|
}
|
||||||
|
|
||||||
//set the bool
|
//set the bool
|
||||||
$missionRunning = false;
|
$missionRunning = false;
|
||||||
|
|
||||||
|
|
@ -617,6 +631,14 @@ function DefaultGame::gameOver( %game )
|
||||||
// Default game does nothing... except lets the AI know the mission is over
|
// Default game does nothing... except lets the AI know the mission is over
|
||||||
AIMissionEnd();
|
AIMissionEnd();
|
||||||
|
|
||||||
|
// Eolk - reset vehicle maxes after each round.
|
||||||
|
$VehicleRespawnTime = 15000;
|
||||||
|
$Vehiclemax[ScoutVehicle] = 4;
|
||||||
|
$VehicleMax[AssaultVehicle] = 3;
|
||||||
|
$VehicleMax[MobileBaseVehicle] = 1;
|
||||||
|
$VehicleMax[ScoutFlyer] = 4;
|
||||||
|
$VehicleMax[BomberFlyer] = 2;
|
||||||
|
$VehicleMax[HAPCFlyer] = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
@ -710,7 +732,6 @@ function DefaultGame::sendDebriefing( %game, %client )
|
||||||
%score = %cl.score $= "" ? 0 : %cl.score;
|
%score = %cl.score $= "" ? 0 : %cl.score;
|
||||||
%kills = %cl.kills $= "" ? 0 : %cl.kills;
|
%kills = %cl.kills $= "" ? 0 : %cl.kills;
|
||||||
messageClient( %client, 'MsgDebriefAddLine', "", '<lmargin:0><clip%%:40> %1</clip><lmargin%%:40><clip%%:30> %2</clip><lmargin%%:70><clip%%:17> %3</clip><lmargin%%:87><clip%%:13> %4</clip>', %cl.name, %game.getTeamName(%cl.team), %score, %kills );
|
messageClient( %client, 'MsgDebriefAddLine', "", '<lmargin:0><clip%%:40> %1</clip><lmargin%%:40><clip%%:30> %2</clip><lmargin%%:70><clip%%:17> %3</clip><lmargin%%:87><clip%%:13> %4</clip>', %cl.name, %game.getTeamName(%cl.team), %score, %kills );
|
||||||
|
|
||||||
%count[%highTeam]++;
|
%count[%highTeam]++;
|
||||||
%notDone = false;
|
%notDone = false;
|
||||||
for ( %team = 1; %team - 1 < %game.numTeams; %team++ )
|
for ( %team = 1; %team - 1 < %game.numTeams; %team++ )
|
||||||
|
|
@ -744,8 +765,13 @@ function DefaultGame::sendDebriefing( %game, %client )
|
||||||
messageClient( %client, 'MsgDebriefAddLine', "", '<lmargin:0><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip>', %cl.name, %score);
|
messageClient( %client, 'MsgDebriefAddLine', "", '<lmargin:0><clip%%:60> %1</clip><lmargin%%:60><clip%%:40> %2</clip>', %cl.name, %score);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
sendEvoDebriefing(%client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------
|
//------------------------------------------------------------
|
||||||
function DefaultGame::clearDeployableMaxes(%game)
|
function DefaultGame::clearDeployableMaxes(%game)
|
||||||
{
|
{
|
||||||
|
|
@ -1093,6 +1119,7 @@ function DefaultGame::forceObserver( %game, %client, %reason )
|
||||||
messageClient(%client, 'MsgClientJoinTeam', '\c2You have become an observer.', %client.name, %game.getTeamName(0), %client, 0 );
|
messageClient(%client, 'MsgClientJoinTeam', '\c2You have become an observer.', %client.name, %game.getTeamName(0), %client, 0 );
|
||||||
logEcho(%client.nameBase@" (cl "@%client@") entered observer mode");
|
logEcho(%client.nameBase@" (cl "@%client@") entered observer mode");
|
||||||
%client.lastTeam = %client.team;
|
%client.lastTeam = %client.team;
|
||||||
|
%scheduleAutoKick = true;
|
||||||
|
|
||||||
case "AdminForce":
|
case "AdminForce":
|
||||||
%client.camera.getDataBlock().setMode( %client.camera, "observerFly" );
|
%client.camera.getDataBlock().setMode( %client.camera, "observerFly" );
|
||||||
|
|
@ -1124,6 +1151,18 @@ function DefaultGame::forceObserver( %game, %client, %reason )
|
||||||
logEcho(%client.nameBase@" (cl "@%client@") was placed in observer mode due to spawn delay");
|
logEcho(%client.nameBase@" (cl "@%client@") was placed in observer mode due to spawn delay");
|
||||||
// save the team the player was on - only if this was a delay in respawning
|
// save the team the player was on - only if this was a delay in respawning
|
||||||
%client.lastTeam = %client.team;
|
%client.lastTeam = %client.team;
|
||||||
|
%scheduleAutoKick = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (%scheduleAutoKick && !%client.isAdmin && !$Host::TournamentMode && $Host::KickObserverTimeout )
|
||||||
|
{
|
||||||
|
%minutes = $Host::KickObserverTimeout / 60;
|
||||||
|
messageClient(%client, 'MsgNoObservers', '\c2You have %1 minutes to join the game or you will be kicked.', %minutes);
|
||||||
|
|
||||||
|
%key = mFloor(getRandom() * 1000);
|
||||||
|
%client.okkey = %key;
|
||||||
|
|
||||||
|
schedule(($Host::KickObserverTimeout * 1000), 0, "cmdAutoKickObserver", %client, %key);
|
||||||
}
|
}
|
||||||
|
|
||||||
// switch client to team 0 (observer)
|
// switch client to team 0 (observer)
|
||||||
|
|
@ -1154,6 +1193,26 @@ function DefaultGame::forceObserver( %game, %client, %reason )
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cmdAutoKickObserver(%client)
|
||||||
|
// Info: Will kick the player if he/she is still in observer.
|
||||||
|
function cmdAutoKickObserver(%client, %key) // Edit GG
|
||||||
|
{
|
||||||
|
if (($Host::TournamentMode) || (!$MissionRunning) || (%client.isAdmin) || (%client.team != 0) || (!%client.okkey) || (%client.okkey != %key))
|
||||||
|
return;
|
||||||
|
|
||||||
|
%client.okkey = "";
|
||||||
|
if( isObject( %client.player ) )
|
||||||
|
%client.player.scriptKill(0);
|
||||||
|
|
||||||
|
if ( isObject( %client ) )
|
||||||
|
{
|
||||||
|
messageAll('MsgAdminForce', '\c2%1 has left the game. (Observer Timeout)', %client.nameBase);
|
||||||
|
|
||||||
|
%client.setDisconnectReason( "Observer Timeout" );
|
||||||
|
%client.schedule(700, "delete");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function DefaultGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement)
|
function DefaultGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement)
|
||||||
{
|
{
|
||||||
// ----------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------
|
||||||
|
|
@ -1663,7 +1722,10 @@ function DefaultGame::clientMissionDropReady(%game, %client)
|
||||||
commandToClient(%client, 'setHudMode', 'Observer');
|
commandToClient(%client, 'setHudMode', 'Observer');
|
||||||
%client.setControlObject( %client.camera );
|
%client.setControlObject( %client.camera );
|
||||||
//displayObserverHud( %client, 0 );
|
//displayObserverHud( %client, 0 );
|
||||||
updateObserverFlyHud(%client);
|
// Eolk - flag stats stuff
|
||||||
|
//updateObserverFlyHud(%client);
|
||||||
|
if($Host::ClassicEvoStats && $CurrentMissionType $= "CTF")
|
||||||
|
schedule(10000, %client, updateObserverFlyHud, %client);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !%observer )
|
if( !%observer )
|
||||||
|
|
@ -1684,6 +1746,17 @@ function DefaultGame::clientMissionDropReady(%game, %client)
|
||||||
%client.setControlObject( %client.player );
|
%client.setControlObject( %client.player );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( $Host::ClassicEvoStats && ($CurrentMissionType $= "CTF" || $CurrentMissionType $= "SCtF") )
|
||||||
|
{
|
||||||
|
%nickTeam1 = ($flagstats::heldTeam1 ? $flagstats::nickTeam1 : "N/A");
|
||||||
|
%realTeam1 = ($flagstats::heldTeam1 ? $flagstats::realTeam1 : "N/A");
|
||||||
|
|
||||||
|
%nickTeam2 = ($flagstats::heldTeam2 ? $flagstats::nickTeam2 : "N/A");
|
||||||
|
%realTeam2 = ($flagstats::heldTeam2 ? $flagstats::realTeam2 : "N/A");
|
||||||
|
|
||||||
|
BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %nickTeam1 @ " in " @ %realTeam1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %nickTeam2 @ " in " @ %realTeam2 @ " seconds", 10, 3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -1719,6 +1792,12 @@ function DefaultGame::clientMissionDropReady(%game, %client)
|
||||||
echo("Client" SPC %client SPC "is ready.");
|
echo("Client" SPC %client SPC "is ready.");
|
||||||
|
|
||||||
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
$stats::tk[%client] = "";
|
||||||
|
%client.midairs = 0;
|
||||||
|
%client.PlaMA = 0;
|
||||||
|
%client.hs = "";
|
||||||
|
for(%i = 1; %i <= 13; %i++)
|
||||||
|
$stats::weapon_damage[%client, %i] = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function DefaultGame::sendClientTeamList(%game, %client)
|
function DefaultGame::sendClientTeamList(%game, %client)
|
||||||
|
|
@ -2759,40 +2838,41 @@ function DefaultGame::sendGameVoteMenu( %game, %client, %key )
|
||||||
{
|
{
|
||||||
// Actual vote options:
|
// Actual vote options:
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Vote to Change the Mission' );
|
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Vote to Change the Mission' );
|
||||||
|
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeTimeLimit', 'change the time limit', 'Vote to Change the Time Limit');
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteSkipMission', 'skip the mission to', 'Vote to Skip Mission' );
|
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteSkipMission', 'skip the mission to', 'Vote to Skip Mission' );
|
||||||
|
|
||||||
if( $Host::TournamentMode )
|
//if( $Host::TournamentMode )
|
||||||
{
|
//{
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFFAMode', 'Change server to Free For All.', 'Vote Free For All Mode' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFFAMode', 'Change server to Free For All.', 'Vote Free For All Mode' );
|
||||||
|
//
|
||||||
if(!$MatchStarted && !$CountdownStarted)
|
// if(!$MatchStarted && !$CountdownStarted)
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteMatchStart', 'Start Match', 'Vote to Start the Match' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteMatchStart', 'Start Match', 'Vote to Start the Match' );
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTournamentMode', 'Change server to Tournament.', 'Vote Tournament Mode' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTournamentMode', 'Change server to Tournament.', 'Vote Tournament Mode' );
|
||||||
|
|
||||||
if ( %multipleTeams )
|
if ( %multipleTeams )
|
||||||
{
|
{
|
||||||
if(!$MatchStarted && !$Host::TournamentMode)
|
if(!$MatchStarted && !$Host::TournamentMode)
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Change your Team' );
|
messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Change your Team' );
|
||||||
|
|
||||||
if ( $teamDamage )
|
//if ( $teamDamage )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Vote to Disable Team Damage' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Vote to Disable Team Damage' );
|
||||||
else
|
//else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Vote to Enable Team Damage' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Vote to Enable Team Damage' );
|
||||||
|
|
||||||
if($CurrentMissionType !$= TR2) // z0dd - ZOD, 5/23/03. Added vote for Random and Fair teams
|
//if($CurrentMissionType !$= TR2) // z0dd - ZOD, 5/23/03. Added vote for Random and Fair teams
|
||||||
{
|
//{
|
||||||
if ( $RandomTeams )
|
//if ( $RandomTeams )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'disable random teams', 'Vote to Disable Random Teams' );
|
//messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'disable random teams', 'Vote to Disable Random Teams' );
|
||||||
else
|
//else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'enable random teams', 'Vote to Enable Random Teams' );
|
//messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'enable random teams', 'Vote to Enable Random Teams' );
|
||||||
|
|
||||||
if ( $FairTeams )
|
//if ( $FairTeams )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'disable fair teams', 'Vote to Disable Fair Teams' );
|
//messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'disable fair teams', 'Vote to Disable Fair Teams' );
|
||||||
else
|
//else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'enable fair teams', 'Vote to Enable Fair Teams' );
|
//messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'enable fair teams', 'Vote to Enable Fair Teams' );
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -2816,23 +2896,23 @@ function DefaultGame::sendGameVoteMenu( %game, %client, %key )
|
||||||
if(!$MatchStarted)
|
if(!$MatchStarted)
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Choose Team' );
|
messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Choose Team' );
|
||||||
|
|
||||||
if ( $teamDamage )
|
//if ( $teamDamage )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Disable Team Damage' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Disable Team Damage' );
|
||||||
else
|
//else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Enable Team Damage' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Enable Team Damage' );
|
||||||
|
|
||||||
if($CurrentMissionType !$= TR2) // z0dd - ZOD, 5/23/03. Added vote for Random and Fair teams
|
//if($CurrentMissionType !$= TR2) // z0dd - ZOD, 5/23/03. Added vote for Random and Fair teams
|
||||||
{
|
//{
|
||||||
if ( $RandomTeams )
|
// if ( $RandomTeams )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'disable random teams', 'Disable Random Teams' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'disable random teams', 'Disable Random Teams' );
|
||||||
else
|
// else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'enable random teams', 'Enable Random Teams' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteRandomTeams', 'enable random teams', 'Enable Random Teams' );
|
||||||
|
|
||||||
if ( $FairTeams )
|
// if ( $FairTeams )
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'disable fair teams', 'Disable Fair Teams' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'disable fair teams', 'Disable Fair Teams' );
|
||||||
else
|
// else
|
||||||
messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'enable fair teams', 'Enable Fair Teams' );
|
// messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFairTeams', 'enable fair teams', 'Enable Fair Teams' );
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2969,7 +3049,7 @@ function DefaultGame::voteChangeMission(%game, %admin, %missionDisplayName, %typ
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2The mission was changed to %1 (%2) by vote.', %missionDisplayName, %typeDisplayName );
|
messageAll('MsgVotePassed', '\c2The mission was changed to %1 (%2) by vote.', %missionDisplayName, %typeDisplayName );
|
||||||
logEcho("mission changed to "@%missionDisplayName@"/"@%typeDisplayName@" (vote)");
|
logEcho("mission changed to "@%missionDisplayName@"/"@%typeDisplayName@" (vote)");
|
||||||
|
|
@ -3106,8 +3186,8 @@ function DefaultGame::voteMatchStart( %game, %admin)
|
||||||
{
|
{
|
||||||
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
||||||
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2The match has been started by vote: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVotePassed', '\c2The match has been started by vote: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
startTourneyCountdown();
|
startTourneyCountdown();
|
||||||
}
|
}
|
||||||
|
|
@ -3751,9 +3831,6 @@ function notifyMatchEnd(%time)
|
||||||
|
|
||||||
if (%seconds > 1) {
|
if (%seconds > 1) {
|
||||||
MessageAll('MsgMissionEnd', '\c2Match ends in %1 seconds.~wfx/misc/hunters_%1.wav', %seconds);
|
MessageAll('MsgMissionEnd', '\c2Match ends in %1 seconds.~wfx/misc/hunters_%1.wav', %seconds);
|
||||||
if (%seconds == 60) {
|
|
||||||
MessageAll('MsgNotifyEvoNextMission', '\c2Next Mission: \c1%1', $EvoCachedNextMission);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (%seconds == 1)
|
else if (%seconds == 1)
|
||||||
MessageAll('MsgMissionEnd', '\c2Match ends in 1 second.~wfx/misc/hunters_1.wav');
|
MessageAll('MsgMissionEnd', '\c2Match ends in 1 second.~wfx/misc/hunters_1.wav');
|
||||||
|
|
|
||||||
|
|
@ -305,7 +305,7 @@ function getValidMap(%misType)
|
||||||
|
|
||||||
function findNextCycleMission(%type)
|
function findNextCycleMission(%type)
|
||||||
{
|
{
|
||||||
%numPlayers = ClientGroup.getCount();
|
%numPlayers = 1;
|
||||||
if($Host::ClassicCycleMisTypes || $Host::ClassicRandomMisTypes)
|
if($Host::ClassicCycleMisTypes || $Host::ClassicRandomMisTypes)
|
||||||
{
|
{
|
||||||
%tempMission = getValidMap(%type);
|
%tempMission = getValidMap(%type);
|
||||||
|
|
@ -323,6 +323,11 @@ function findNextCycleMission(%type)
|
||||||
{
|
{
|
||||||
%nextMissionIndex = getNextMission(%tempMission, %type);
|
%nextMissionIndex = getNextMission(%tempMission, %type);
|
||||||
%nextPotentialMission = $HostMissionFile[%nextMissionIndex];
|
%nextPotentialMission = $HostMissionFile[%nextMissionIndex];
|
||||||
|
// Eolk
|
||||||
|
$MapPlayed[%nextPotentialMission] = 1;
|
||||||
|
$MapPlayedCount++;
|
||||||
|
// error("SH: "@%type@", "@%nextPotentialMission);
|
||||||
|
// error("POT MAP: "@%nextPotentialMission);
|
||||||
|
|
||||||
//just cycle to the next if we've gone all the way around...
|
//just cycle to the next if we've gone all the way around...
|
||||||
if (%nextPotentialMission $= $CurrentMission || %failsafe >= 1000)
|
if (%nextPotentialMission $= $CurrentMission || %failsafe >= 1000)
|
||||||
|
|
@ -332,20 +337,18 @@ function findNextCycleMission(%type)
|
||||||
return $HostMissionFile[%nextMissionIndex];
|
return $HostMissionFile[%nextMissionIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
//get the player count limits for this mission
|
%numPlayers = ClientGroup.getCount();
|
||||||
%limits = $Host::MapPlayerLimits[%nextPotentialMission, %type];
|
%minPlayers = $MapCycleMinPlayers[%type, %nextPotentialMission];
|
||||||
if (%limits $= "")
|
%maxPlayers = $MapCycleMaxPlayers[%type, %nextPotentialMission];
|
||||||
return %nextPotentialMission;
|
// error("MINPLAYERS: "@%minPlayers@", MAXPLAYERS: "@%maxPlayers);
|
||||||
else
|
if(%minPlayers $= "" || %maxPlayers $= "")
|
||||||
{
|
return;
|
||||||
%minPlayers = getWord(%limits, 0);
|
|
||||||
%maxPlayers = getWord(%limits, 1);
|
|
||||||
|
|
||||||
if ((%minPlayers < 0 || %minPlayers == -1 || %numPlayers >= %minPlayers) && (%maxPlayers < 0 || %maxPlayers == -1 || %numPlayers <= %maxPlayers))
|
if ((%minPlayers < 0 || %minPlayers == -1 || %numPlayers >= %minPlayers) && (%maxPlayers < 0 || %maxPlayers == -1 || %numPlayers <= %maxPlayers))
|
||||||
return %nextPotentialMission;
|
return %nextPotentialMission;
|
||||||
}
|
|
||||||
|
|
||||||
//since we didn't return the mission, we must not have an acceptable number of players - check the next
|
//since we didn't return the mission, we must not have an acceptable number of players - check the next
|
||||||
|
error("SKIPPING MAP, player count unacceptable");
|
||||||
%tempMission = %nextPotentialMission;
|
%tempMission = %nextPotentialMission;
|
||||||
%failsafe++;
|
%failsafe++;
|
||||||
}
|
}
|
||||||
|
|
@ -353,6 +356,9 @@ function findNextCycleMission(%type)
|
||||||
|
|
||||||
function CycleMissions()
|
function CycleMissions()
|
||||||
{
|
{
|
||||||
|
if(Game.scheduleVote !$= "") // a vote is still running, stop it
|
||||||
|
stopCurrentVote();
|
||||||
|
|
||||||
echo( "cycling mission. " @ ClientGroup.getCount() @ " clients in game." );
|
echo( "cycling mission. " @ ClientGroup.getCount() @ " clients in game." );
|
||||||
if($Host::ClassicCycleMisTypes && !$Host::ClassicRandomMisTypes)
|
if($Host::ClassicCycleMisTypes && !$Host::ClassicRandomMisTypes)
|
||||||
{
|
{
|
||||||
|
|
@ -899,22 +905,9 @@ function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice,
|
||||||
$HostGamePlayerCount++;
|
$HostGamePlayerCount++;
|
||||||
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
|
||||||
|
// Eolk - Fix logging.
|
||||||
if( $Host::ClassicConnectLog )
|
if( $Host::ClassicConnectLog )
|
||||||
{
|
connectLog(%client, 0);
|
||||||
// z0dd - ZOD, 5/07/04. New logging method based on AurLogging by Aureole
|
|
||||||
%file = $Host::ClassicConnLogPath @"/"@ formatTimeString("mm.dd.yy") @ "Connect.csv";
|
|
||||||
%conn = new FileObject();
|
|
||||||
%conn.openForAppend(%file);
|
|
||||||
%conn.writeLine("\"" @ formatTimeString("mm.dd.yy - h:nn:ss A") @ "\"," @ %client.nameBase @ "\"," @ %client.guid @ "," @ getSubStr(%client.getAddress(), 3, strlen(%client.getAddress())));
|
|
||||||
%conn.close();
|
|
||||||
%conn.delete();
|
|
||||||
echo( "exporting client info to connect.csv..." );
|
|
||||||
|
|
||||||
// z0dd - ZOD - Founder, 5/25/03. Connect log
|
|
||||||
//$conn::new[$ConnectCount++] = "Player: " @ %client.nameBase @ " Real Name: " @ %realName @ " Guid: " @ %client.guid @ " Connected from: " @ %client.getAddress();
|
|
||||||
//%file = formatTimeString("mm.dd.yy") @ "Connect.log";
|
|
||||||
//export("$conn::*", $Host::ClassicConnLogPath @"/"@ %file, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// z0dd - ZOD 4/29/02. Activate the clients Classic Huds
|
// z0dd - ZOD 4/29/02. Activate the clients Classic Huds
|
||||||
// and start off with 0 SAD access attempts.
|
// and start off with 0 SAD access attempts.
|
||||||
|
|
@ -953,6 +946,84 @@ function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($Host::EmptyServerReset && isEventPending($EmptyServerResetSchedule))
|
||||||
|
{
|
||||||
|
error(formatTimeString("HH:nn:ss") SPC "Previous Timed Server Reset schedule cancelled..." );
|
||||||
|
cancel($EmptyServerResetSchedule);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($Host::GuidCheck)
|
||||||
|
{
|
||||||
|
// If we don't have a GUID try to find one somewhere.
|
||||||
|
if(! %client.guid || %client.guid $= "")
|
||||||
|
{
|
||||||
|
%client.guid = getField(%client.getAuthInfo(),3);
|
||||||
|
}
|
||||||
|
// If we don't have a name, try to get one.
|
||||||
|
if(!%name || %name $= "")
|
||||||
|
{
|
||||||
|
%name = getField(%client.getAuthInfo(),0);
|
||||||
|
%client.nameBase = %name;
|
||||||
|
}
|
||||||
|
// If we still don't have a GUID or name, time to boot the player (unless a local game).
|
||||||
|
if(getIPAddress(%client) !$= "Local" && (!%client.guid $= "" || %name $= ""))
|
||||||
|
{
|
||||||
|
//statEchoInfo("No name/GUID kick for CID (" @ %client @ ") with IP (" @ getIPAddress(%client) @ ")");
|
||||||
|
KickByCID(%client, "You joined the server with a blank name and/or GUID. Try rejoining.",2);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// From Eolks
|
||||||
|
// Minor improvement by Teratos
|
||||||
|
function getIPAddress(%client)
|
||||||
|
{
|
||||||
|
%port = nextToken(nextToken(%client.getAddress(), "ip", ":"), "addr", ":");
|
||||||
|
if(%client.isAIControlled()) {
|
||||||
|
%addr = "bot";
|
||||||
|
}
|
||||||
|
return (%addr $= "" ? "Local" : %addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
// From Eolks
|
||||||
|
// We are not an admin MOD but this comes in handy when name is missing on races.
|
||||||
|
function KickByCID(%client, %reason, %time)
|
||||||
|
{
|
||||||
|
if(!isObject(%client))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// AI handler
|
||||||
|
if(%client.isAIControlled())
|
||||||
|
{
|
||||||
|
%client.drop();
|
||||||
|
$HostGameBotCount--;
|
||||||
|
if($HostGameBotCount < 0)
|
||||||
|
$HostGameBotCount = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (%reason $= "")
|
||||||
|
%reason = "You have been kicked from the server.";
|
||||||
|
// Perhaps we don't want time done.
|
||||||
|
//if (%time < 0 || %time $= "")
|
||||||
|
// %time = $Host::KickBanTime;
|
||||||
|
|
||||||
|
// Send proper messages
|
||||||
|
messageClient(%client, 'onClientKicked', "");
|
||||||
|
messageAllExcept(%client, -1, 'MsgClientDrop', "", %client.name, %client);
|
||||||
|
|
||||||
|
// Remove their player, if one exists
|
||||||
|
if (isObject(%client.player))
|
||||||
|
%client.player.scriptKill(0);
|
||||||
|
|
||||||
|
// Set reason, schedule removal
|
||||||
|
%client.setDisconnectReason(%reason);
|
||||||
|
%client.schedule(500, "delete");
|
||||||
|
|
||||||
|
// Keep them out
|
||||||
|
// if(%time != 0)
|
||||||
|
// BanList::add(%client.guid, %client.getAddress(), %time);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GameConnection::onDrop(%client, %reason)
|
function GameConnection::onDrop(%client, %reason)
|
||||||
|
|
@ -960,6 +1031,10 @@ function GameConnection::onDrop(%client, %reason)
|
||||||
if(isObject(Game))
|
if(isObject(Game))
|
||||||
Game.onClientLeaveGame(%client);
|
Game.onClientLeaveGame(%client);
|
||||||
|
|
||||||
|
// Eolk - Fix logging.
|
||||||
|
if( $Host::ClassicConnectLog )
|
||||||
|
connectLog(%client, 1);
|
||||||
|
|
||||||
// make sure that tagged string of player name is not used
|
// make sure that tagged string of player name is not used
|
||||||
if ( $CurrentMissionType $= "SinglePlayer" )
|
if ( $CurrentMissionType $= "SinglePlayer" )
|
||||||
messageAllExcept(%client, -1, 'MsgClientDrop', "", getTaggedString(%client.name), %client);
|
messageAllExcept(%client, -1, 'MsgClientDrop', "", getTaggedString(%client.name), %client);
|
||||||
|
|
@ -981,6 +1056,8 @@ function GameConnection::onDrop(%client, %reason)
|
||||||
echo("CDROP: " @ %client @ " " @ %client.getAddress());
|
echo("CDROP: " @ %client @ " " @ %client.getAddress());
|
||||||
$HostGamePlayerCount--;
|
$HostGamePlayerCount--;
|
||||||
|
|
||||||
|
// schedule(1000, 0, "updateAdminModHud"); // Have to delay this a bit so it actually updates correctly, since the client isn't deleted in this function.
|
||||||
|
|
||||||
// z0dd - ZOD, 5/05/04. Add a bot for every client drop if balanced bots are set
|
// z0dd - ZOD, 5/05/04. Add a bot for every client drop if balanced bots are set
|
||||||
if( $Host::BotsEnabled )
|
if( $Host::BotsEnabled )
|
||||||
{
|
{
|
||||||
|
|
@ -1006,22 +1083,90 @@ function GameConnection::onDrop(%client, %reason)
|
||||||
AutoPWServer(0);
|
AutoPWServer(0);
|
||||||
}
|
}
|
||||||
// reset the server if everyone has left the game
|
// reset the server if everyone has left the game
|
||||||
//if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::Dedicated && !$resettingServer && !$LoadingMission )
|
if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::EmptyServerReset && !$resettingServer && !$LoadingMission && $CurrentMissionType !$= $Host::MissionType )
|
||||||
// schedule(0, 0, "resetServerDefaults");
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------------------
|
|
||||||
// z0dd - ZOD, 5/12/02. Reset the server if everyone has left the game and set this mission as startup mission.
|
|
||||||
// This helps with $Host::ClassicRandomMissions to keep the random more random.
|
|
||||||
if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::Dedicated && !$resettingServer && !$LoadingMission )
|
|
||||||
{
|
{
|
||||||
$Host::Map = $CurrentMission;
|
// Timed Server Reset: $Host::EmptyServerReset = 1; --- Time in Minutes $Host::EmptyServerResetTime = 120;
|
||||||
export("$Host::*", $serverprefs, false);
|
if(isEventPending($EmptyServerResetSchedule))
|
||||||
$Host::MissionType = $CurrentMissionType;
|
{
|
||||||
export("$Host::*", $serverprefs, false);
|
error(formatTimeString("HH:nn:ss") SPC "Previous Timed Server Reset schedule cancelled..." );
|
||||||
schedule(10, 0, "resetServerDefaults");
|
cancel($EmptyServerResetSchedule);
|
||||||
}
|
}
|
||||||
// ------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
%resettime = $Host::EmptyServerResetTime * 60000;
|
||||||
|
if(%resettime <= 0) %resettime = 1;
|
||||||
|
$EmptyServerResetSchedule = schedule(%resettime, 0, "ResetServerTimed");
|
||||||
|
error(formatTimeString("HH:nn:ss") SPC "Timed Server Reset schedule started..." );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ResetServerTimed()
|
||||||
|
{
|
||||||
|
if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::EmptyServerReset && !$resettingServer && !$LoadingMission )
|
||||||
|
schedule(10, 0, "resetServerDefaults");
|
||||||
|
// Instead of simply resetting the defaults, reinitialize the
|
||||||
|
// entire server...
|
||||||
|
// ReallyQuit();
|
||||||
|
else
|
||||||
|
error(formatTimeString("HH:nn:ss") SPC "Timed Server Reset schedule cancelled (Someone on server)..." );
|
||||||
|
}
|
||||||
|
|
||||||
|
// resetServerDefaults()
|
||||||
|
// Info: Re-load the current server prefs and reset some variables
|
||||||
|
function resetServerDefaults()
|
||||||
|
{
|
||||||
|
$resettingServer = true;
|
||||||
|
echo( "Resetting server defaults..." );
|
||||||
|
|
||||||
|
if( isObject( Game ) )
|
||||||
|
Game.gameOver();
|
||||||
|
|
||||||
|
// Override server defaults with prefs:
|
||||||
|
exec( "scripts/ServerDefaults.cs" );
|
||||||
|
exec( $serverprefs );
|
||||||
|
|
||||||
|
$MaxPlayers = $Host::MaxPlayers;
|
||||||
|
$BackupPassword = $Host::Password;
|
||||||
|
$Host::TimeLimit = $DefaultTimeLimit;
|
||||||
|
$NoBaseRape = 1;
|
||||||
|
$Host::TournamentMode = 0;
|
||||||
|
|
||||||
|
// ---------------------------------------------------
|
||||||
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
//convert the team skin and name vars to tags...
|
||||||
|
%index = 0;
|
||||||
|
while ($Host::TeamSkin[%index] !$= "")
|
||||||
|
{
|
||||||
|
$TeamSkin[%index] = addTaggedString($Host::TeamSkin[%index]);
|
||||||
|
%index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
%index = 0;
|
||||||
|
while ($Host::TeamName[%index] !$= "")
|
||||||
|
{
|
||||||
|
$TeamName[%index] = addTaggedString($Host::TeamName[%index]);
|
||||||
|
%index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the hologram names from the prefs...
|
||||||
|
%index = 1;
|
||||||
|
while ( $Host::holoName[%index] !$= "" )
|
||||||
|
{
|
||||||
|
$holoName[%index] = $Host::holoName[%index];
|
||||||
|
%index++;
|
||||||
|
}
|
||||||
|
// ---------------------------------------------------
|
||||||
|
|
||||||
|
// kick all bots...
|
||||||
|
removeAllBots();
|
||||||
|
|
||||||
|
// add bots back if they were there before..
|
||||||
|
if( $Host::botsEnabled ) // z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
initGameBots( $Host::Map, $Host::MissionType );
|
||||||
|
|
||||||
|
// load the missions
|
||||||
|
loadMission( $Host::Map, $Host::MissionType );
|
||||||
|
$resettingServer = false;
|
||||||
|
echo( "Server reset complete." );
|
||||||
}
|
}
|
||||||
|
|
||||||
function dismountPlayers()
|
function dismountPlayers()
|
||||||
|
|
@ -1044,10 +1189,10 @@ function loadMission( %missionName, %missionType, %firstMission )
|
||||||
if ($AutoRestart) // z0dd - ZOD, 3/26/02. Auto restart server after a specified time.
|
if ($AutoRestart) // z0dd - ZOD, 3/26/02. Auto restart server after a specified time.
|
||||||
{
|
{
|
||||||
$AutoRestart = 0;
|
$AutoRestart = 0;
|
||||||
messageAll( 'MsgServerRestart', '\c2SERVER IS AUTO REBOOTING! COME BACK IN 5 MINUTES.~wfx/misc/red_alert.wav');
|
messageAll( 'MsgServerRestart', '\c2SERVER IS NOW AUTO RESTARTING!.~wfx/misc/red_alert.wav');
|
||||||
logEcho("Auto server restart commencing.");
|
logEcho("Auto server restart commencing.");
|
||||||
//schedule(10000, 0, "CreateServer", %missionName, %missionType); // this wasn't working as a cure for servers with NULLs
|
//schedule(10000, 0, "CreateServer", %missionName, %missionType); // this wasn't working as a cure for servers with NULLs
|
||||||
schedule(10000, 0, quit );
|
schedule(5000, 0, quit );
|
||||||
}
|
}
|
||||||
|
|
||||||
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
|
@ -1088,6 +1233,47 @@ function loadMission( %missionName, %missionType, %firstMission )
|
||||||
sendLoadInfoToClient( %client );
|
sendLoadInfoToClient( %client );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($Host::ClassicEvoStats)
|
||||||
|
{
|
||||||
|
deleteVariables("$*stats::*");
|
||||||
|
if(%missionType $= "CTF" || %missionType $= "SCtF")
|
||||||
|
{
|
||||||
|
%fileIn = "stats/maps/classic/" @ %missionType @ "/" @ %missionName @ ".txt";
|
||||||
|
|
||||||
|
// Initialize the file if not exist
|
||||||
|
if(!isFile(%fileIn))
|
||||||
|
{
|
||||||
|
$flagstats::heldTeam1 = 0;
|
||||||
|
$flagstats::realTeam1 = 0;
|
||||||
|
$flagstats::nickTeam1 = 0;
|
||||||
|
$flagstats::heldTeam2 = 0;
|
||||||
|
$flagstats::realTeam2 = 0;
|
||||||
|
$flagstats::nickTeam2 = 0;
|
||||||
|
|
||||||
|
export("$flagstats::*", %fileIn, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
exec(%fileIn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eolk - Testing new stuff to make map rotation less stale.
|
||||||
|
if($CurrentMissionType !$= %missionType && !%firstMission)
|
||||||
|
deleteVariables("$MapPlayed*");
|
||||||
|
|
||||||
|
// reset the default time limit if changed
|
||||||
|
if($TimeLimitChanged)
|
||||||
|
{
|
||||||
|
$Host::TimeLimit = $DefaultTimeLimit;
|
||||||
|
$TimeLimitChanged = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$MapPlayed[%missionName] && $ReverseMapCycle[%missionName])
|
||||||
|
{
|
||||||
|
$MapPlayed[%missionName] = 1;
|
||||||
|
$MapPlayedCount++;
|
||||||
|
}
|
||||||
|
|
||||||
// allow load condition to exit out
|
// allow load condition to exit out
|
||||||
schedule(0,ServerGroup,loadMissionStage1,%missionName,%missionType,%firstMission);
|
schedule(0,ServerGroup,loadMissionStage1,%missionName,%missionType,%firstMission);
|
||||||
}
|
}
|
||||||
|
|
@ -1379,6 +1565,12 @@ function serverCmdMissionStartPhase3Done(%client, %seq)
|
||||||
|
|
||||||
%client.isReady = true;
|
%client.isReady = true;
|
||||||
Game.clientMissionDropReady(%client);
|
Game.clientMissionDropReady(%client);
|
||||||
|
|
||||||
|
if(!%client.seenMOTD && $Host::ClassicMOTD !$= "")
|
||||||
|
{
|
||||||
|
centerPrint(%client, $Host::ClassicMOTD, $Host::ClassicMOTDTime, $Host::ClassicMOTDLines);
|
||||||
|
%client.seenMOTD = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function serverSetClientTeamState( %client )
|
function serverSetClientTeamState( %client )
|
||||||
|
|
@ -1556,7 +1748,7 @@ function serverCmdSAD(%client, %password)
|
||||||
%client.isAdmin = true;
|
%client.isAdmin = true;
|
||||||
%client.isSuperAdmin = true;
|
%client.isSuperAdmin = true;
|
||||||
MessageAll( 'MsgSuperAdminPlayer', '\c2%2 has become a Super Admin by force.', %client, %name);
|
MessageAll( 'MsgSuperAdminPlayer', '\c2%2 has become a Super Admin by force.', %client, %name);
|
||||||
logEcho(%client.nameBase @ " has become a Super Admin by force.");
|
ClassicAdminLog("SAD", %client.nameBase @ " has become a Super Admin by force.");
|
||||||
}
|
}
|
||||||
|
|
||||||
case $Host::AdminPassword:
|
case $Host::AdminPassword:
|
||||||
|
|
@ -1570,7 +1762,7 @@ function serverCmdSAD(%client, %password)
|
||||||
%client.isAdmin = true;
|
%client.isAdmin = true;
|
||||||
%client.isSuperAdmin = false;
|
%client.isSuperAdmin = false;
|
||||||
MessageAll( 'MsgAdminForce', '\c2%2 has become a Admin by force.', %client, %name);
|
MessageAll( 'MsgAdminForce', '\c2%2 has become a Admin by force.', %client, %name);
|
||||||
logEcho(%client.nameBase @ " has become an Admin by force.");
|
ClassicAdminLog("AD", %client.nameBase @ " has become an Admin by force.");
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
messageClient(%client, 'MsgPasswordFailed', '\c2Illegal SAD PW.');
|
messageClient(%client, 'MsgPasswordFailed', '\c2Illegal SAD PW.');
|
||||||
|
|
@ -1589,7 +1781,7 @@ function serverCmdSAD(%client, %password)
|
||||||
%client.setDisconnectReason( 'For attempting to exploit SAD to gain unauthorized Admin by entering\ntoo many passwords, you are being Banned.' );
|
%client.setDisconnectReason( 'For attempting to exploit SAD to gain unauthorized Admin by entering\ntoo many passwords, you are being Banned.' );
|
||||||
%client.schedule(700, "delete");
|
%client.schedule(700, "delete");
|
||||||
BanList::add(%client.guid, %client.getAddress(), $Host::BanTime);
|
BanList::add(%client.guid, %client.getAddress(), $Host::BanTime);
|
||||||
logEcho(%client.nameBase @ " " @ %client.guid @ " has been banned for excessive use of SAD");
|
ClassicAdminLog("BAN", %client.nameBase@" has been banned for attempting to exploit the SAD password.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
$Host::useCustomSkins = 0;
|
$Host::useCustomSkins = 1;
|
||||||
|
|
||||||
$Host::teamSkin[0] = "blank";
|
$Host::teamSkin[0] = "blank";
|
||||||
$Host::teamSkin[1] = "base";
|
$Host::teamSkin[1] = "base";
|
||||||
|
|
@ -26,10 +26,11 @@ $Host::holoName[6] = "Harbinger";
|
||||||
|
|
||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
// z0dd - ZOD, 9/29/02. Removed T2 demo code
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code
|
||||||
$Host::GameName = "Tribes 2 Classic Server";
|
$Host::GameName = "Tribes 2 Test";
|
||||||
$Host::Info = "This is a Tribes 2 Classic Server.";
|
$Host::Info = " ";
|
||||||
$Host::Map = "Katabatic";
|
$Host::Map = "VaubanLak";
|
||||||
$Host::MaxPlayers = 64;
|
$Host::MaxPlayers = 30;
|
||||||
|
$Host::MissionType = "LakRabbit";
|
||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
|
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
|
|
@ -77,6 +78,7 @@ $Host::ClassicLoadBlasterChanges = 0; // Blaster shoots 6 projec
|
||||||
$Host::ClassicLoadPlayerChanges = 0; // Load up new gameplay changes allowing players to be shot while in vehicles.
|
$Host::ClassicLoadPlayerChanges = 0; // Load up new gameplay changes allowing players to be shot while in vehicles.
|
||||||
$Host::ClassicLoadMineChanges = 0; // Enable/Disable mine disc.
|
$Host::ClassicLoadMineChanges = 0; // Enable/Disable mine disc.
|
||||||
$Host::ClassicLoadVRamChanges = 0; // Vehicles take damage when ramming players.
|
$Host::ClassicLoadVRamChanges = 0; // Vehicles take damage when ramming players.
|
||||||
|
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
|
|
||||||
$Host::AdminList = ""; // all players that will be automatically an admin upon joining server
|
$Host::AdminList = ""; // all players that will be automatically an admin upon joining server
|
||||||
|
|
@ -84,15 +86,14 @@ $Host::SuperAdminList = ""; // all players that will be automatically a super a
|
||||||
$Host::BindAddress = ""; // set to an ip address if the server wants to specify which NIC/IP to use
|
$Host::BindAddress = ""; // set to an ip address if the server wants to specify which NIC/IP to use
|
||||||
$Host::Port = 28000;
|
$Host::Port = 28000;
|
||||||
$Host::Password = "";
|
$Host::Password = "";
|
||||||
$Host::PureServer = 1;
|
$Host::PureServer = 0;
|
||||||
$Host::Dedicated = 0;
|
$Host::Dedicated = 0;
|
||||||
$Host::MissionType = "CTF";
|
$Host::TimeLimit = 45;
|
||||||
$Host::TimeLimit = 30;
|
$Host::BotCount = 0;
|
||||||
$Host::BotCount = 2;
|
|
||||||
$Host::BotsEnabled = 0;
|
$Host::BotsEnabled = 0;
|
||||||
$Host::MinBotDifficulty = 0.5;
|
$Host::MinBotDifficulty = 0.5;
|
||||||
$Host::MaxBotDifficulty = 0.75;
|
$Host::MaxBotDifficulty = 0.75;
|
||||||
$Host::NoSmurfs = 0;
|
$Host::NoSmurfs = 1;
|
||||||
$Host::VoteTime = 30; // amount of time before votes are calculated
|
$Host::VoteTime = 30; // amount of time before votes are calculated
|
||||||
$Host::VotePassPercent = 60; // percent needed to pass a vote
|
$Host::VotePassPercent = 60; // percent needed to pass a vote
|
||||||
$Host::KickBanTime = 300; // specified in seconds
|
$Host::KickBanTime = 300; // specified in seconds
|
||||||
|
|
@ -100,11 +101,11 @@ $Host::BanTime = 1800; // specified in seconds
|
||||||
$Host::PlayerRespawnTimeout = 60; // time before a dead player is forced into observer mode
|
$Host::PlayerRespawnTimeout = 60; // time before a dead player is forced into observer mode
|
||||||
$Host::warmupTime = 20;
|
$Host::warmupTime = 20;
|
||||||
$Host::TournamentMode = 0;
|
$Host::TournamentMode = 0;
|
||||||
$Host::allowAdminPlayerVotes = 1;
|
$Host::allowAdminPlayerVotes = 0;
|
||||||
$Host::FloodProtectionEnabled = 1;
|
$Host::FloodProtectionEnabled = 1;
|
||||||
$Host::MaxMessageLen = 120;
|
$Host::MaxMessageLen = 120;
|
||||||
$Host::VoteSpread = 20;
|
$Host::VoteSpread = 20;
|
||||||
$Host::TeamDamageOn = 0;
|
$Host::TeamDamageOn = 1;
|
||||||
$Host::Siege::Halftime = 20000;
|
$Host::Siege::Halftime = 20000;
|
||||||
$Host::CRCTextures = 0;
|
$Host::CRCTextures = 0;
|
||||||
|
|
||||||
|
|
@ -119,11 +120,9 @@ $Audio::maxVoiceChannels = 2;
|
||||||
$Host::EmptyServerReset = 1; //To control whether the server auto resets when empty
|
$Host::EmptyServerReset = 1; //To control whether the server auto resets when empty
|
||||||
$Host::EmptyServerResetTime = 120; //Time in Minutes to reset an empty server
|
$Host::EmptyServerResetTime = 120; //Time in Minutes to reset an empty server
|
||||||
$Host::EnableAutobalance = 1; //Will autobalance when teams are uneven.
|
$Host::EnableAutobalance = 1; //Will autobalance when teams are uneven.
|
||||||
$Host::EnableMapRepetitionChecker = 1; //Enable or Disable the Map Repetition Checker
|
|
||||||
$Host::EnableMortarTurret = 0; //Enable or Disable Mortar Turret
|
$Host::EnableMortarTurret = 0; //Enable or Disable Mortar Turret
|
||||||
$Host::EnableNetTourneyClient = 1; //Enable or Disable Tourney Net Client checking
|
$Host::EnableNetTourneyClient = 0; //Enable or Disable Tourney Net Client checking
|
||||||
$Host::EnableNoBaseRapeNotify = 1; //Get a base rape notification
|
$Host::EnableNoBaseRapeNotify = 1; //Get a base rape notification
|
||||||
$Host::EnableSetNextMission = 1; //Let admins set the next mission thru the vote menu
|
|
||||||
$Host::EnableTeamBalanceNotify = 1; //Get a teambalance notification
|
$Host::EnableTeamBalanceNotify = 1; //Get a teambalance notification
|
||||||
$Host::EnableTurretPlayerCount = 10; //How many to enable turrets
|
$Host::EnableTurretPlayerCount = 10; //How many to enable turrets
|
||||||
$Host::EnableVoteSound = 1; //If you want a sound chime during voting
|
$Host::EnableVoteSound = 1; //If you want a sound chime during voting
|
||||||
|
|
@ -132,10 +131,9 @@ $Host::AntiCloakPlayerCount = 6; //How many to enable Cloak
|
||||||
$Host::PUGautoPassword = 0; //Auto enable a password in tournament mode
|
$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::EmptyServerReset = 1; //Whether or not you want the server to reset when its empty
|
|
||||||
$Host::DMSLOnlyMode = 0; //Shocklance Only Mode for Deathmatch
|
$Host::DMSLOnlyMode = 0; //Shocklance Only Mode for Deathmatch
|
||||||
$Host::SCtFProMode = 0; //Pro mode for LCTF
|
$Host::SCtFProMode = 0; //Pro mode for LCTF
|
||||||
$Host::LoadingScreenUseDebrief = 0; //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
|
||||||
$Host::LoadScreenColor3 = "33CCCC"; //Loading Screen color; Accents
|
$Host::LoadScreenColor3 = "33CCCC"; //Loading Screen color; Accents
|
||||||
|
|
@ -155,9 +153,38 @@ $Host::LoadScreenMOTD1 = "Blaster is here to stay!"; //MOTD or Events Lin
|
||||||
$Host::LoadScreenMOTD2 = "Come play Arena on Wednesday Nights!"; //MOTD or Events Line 2 Message (Debrief LoadScreen Only)
|
$Host::LoadScreenMOTD2 = "Come play Arena on Wednesday Nights!"; //MOTD or Events Line 2 Message (Debrief LoadScreen Only)
|
||||||
$Host::LoadScreenMOTD3 = "Lak crowd early evenings after work during the week."; //MOTD or Events Line 3 Message (Debrief LoadScreen Only)
|
$Host::LoadScreenMOTD3 = "Lak crowd early evenings after work during the week."; //MOTD or Events Line 3 Message (Debrief LoadScreen Only)
|
||||||
$Host::LoadScreenMOTD4 = "Big CTF games Fridays, Saturdays, and Sundays!"; //MOTD or Events Line 4 Message (Debrief LoadScreen Only)
|
$Host::LoadScreenMOTD4 = "Big CTF games Fridays, Saturdays, and Sundays!"; //MOTD or Events Line 4 Message (Debrief LoadScreen Only)
|
||||||
$Host::EvoAdminSwitchTeams = 1; //Enable or Disable an admins ability to switch other players teams.
|
$Host::ClassicAdminLog = 1;
|
||||||
$Host::EvoCustomMapLimitsFile = "prefs/SetMapLimits.cs"; //Exec custom limits file
|
$Host::ClassicAdminLogPath = "logs/Admin/log.txt";
|
||||||
|
$Host::ClassicConnectLog = 1;
|
||||||
|
$Host::ClassicConnLogPath = "logs/Connect/log.txt";
|
||||||
|
$Host::ClassicMOTD = "<color:3cb4b4><font:Sui Generis:22>Discord PUB\n<color:3cb4b4><font:Univers:16>Server Hosted/Provided by Branzone/Ravin\n<color:3cb4b4><font:Univers:16>Get Mappacks at https://playt2.com/";
|
||||||
|
$Host::ClassicMOTDLines = 3;
|
||||||
|
$Host::ClassicMOTDTime = 6;
|
||||||
|
$Host::ClassicRotationCustom = 1;
|
||||||
|
$Host::ClassicRotationFile = "prefs/mapRotation.cs";
|
||||||
|
$Host::ClassicEvoStats = 1;
|
||||||
|
$Host::ClassicStatsType = 2;
|
||||||
|
$Host::ServerRules1 = "\c2if\c4(\c3%client.fun == \c5true \c4&& \c3%client.Llama_Grabs \c4< \c51\c4)";
|
||||||
|
$Host::ServerRules2 = " \c1Be_Courteous\c4(\c2%client, %game\c4);";
|
||||||
|
$Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4!$ = \c5%client.fun\c4)";
|
||||||
|
$Host::ServerRules4 = " \c1Try_2_Have_Fun\c4(\c2%client, %attitude\c4);";
|
||||||
|
$Host::AnimateWithTransitions = 1;
|
||||||
|
$Host::AllowAdmin2Admin = 0;
|
||||||
|
$Host::AllowAdminBan = 0;
|
||||||
|
$Host::AllowAdminPassVote = 1;
|
||||||
|
$Host::AllowAdminStopVotes = 1;
|
||||||
|
$Host::AllowAdminVotes = 1;
|
||||||
|
$Host::AllowPlayerVoteChangeMission = 1;
|
||||||
|
$Host::AllowPlayerVoteSkipMission = 1;
|
||||||
|
$Host::AllowPlayerVoteTimeLimit = 1;
|
||||||
|
$Host::AllowPlayerVoteTournamentMode = 0;
|
||||||
|
$Host::NoBaseRapeEnabled = 1;
|
||||||
|
$Host::NoBaseRapePlayerCount = 14;
|
||||||
|
$Host::AveragePings = 1;
|
||||||
|
$Host::GuidCheck = 1;
|
||||||
|
$Host::MinFlagRecordPlayerCount = 6;
|
||||||
|
|
||||||
//LakRabbit
|
//LakRabbit
|
||||||
$Host::EnableLakUnlimitedDJ = 1; //Unlimited disc-jumps if enabled
|
$Host::LakRabbitUnlimitedDJ = 1; //Unlimited disc-jumps if enabled
|
||||||
$Host::LakRabbitNoSplashDamage = 0; //Splash Damage enabled or not
|
$Host::LakRabbitNoSplashDamage = 1; //Splash Damage disabled or not
|
||||||
$Host::ShowFlagIcon = 1; //Show flag Icon in lak
|
$Host::LakRabbitShowFlagIcon = 1; //Show flag Icon in lak
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -10,8 +10,8 @@ Discord: [Tribes 2 Discord](https://discord.gg/Y4muNvF)
|
||||||
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
- Improved NoBaseRape asset handling
|
- Improved NoBaseRape Asset handling
|
||||||
- An independant team population counter
|
- An Independant Team Population Counter
|
||||||
- Team-balance notifys
|
- Team-balance notifys
|
||||||
- NoBaseRape notifys
|
- NoBaseRape notifys
|
||||||
- Team Autobalancing
|
- Team Autobalancing
|
||||||
|
|
@ -45,15 +45,12 @@ Discord: [Tribes 2 Discord](https://discord.gg/Y4muNvF)
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
- Classic 1.5.2
|
- Classic 1.5.2
|
||||||
- Evolution Admin Mod Classic Version
|
|
||||||
|
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
- Meant to be installed on top of Classic 1.5.2
|
- Meant to be installed on top of Classic 1.5.2
|
||||||
- If the file isnt on this github it is unmodified in Classic 1.5.2
|
- If the file isnt on this github it is unmodified in Classic 1.5.2
|
||||||
- Place github server files in Classic folder
|
- Place github server files in Classic folder
|
||||||
- Place github evo files in Evo admin mod .vl2
|
|
||||||
- Place Evo .vl2 in Classic folder
|
|
||||||
- Run once to create Serverprefs
|
- Run once to create Serverprefs
|
||||||
- Open Classic/Pref/Serverpref.cs and modify to your wishes
|
- Open Classic/Pref/Serverpref.cs and modify to your wishes
|
||||||
- Run using Classic_dedicated_server.bat
|
- Run using Classic_dedicated_server.bat
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue