mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-14 07:34:36 +00:00
Merge branch 'NoEvo'
This commit is contained in:
commit
417aec8302
10 changed files with 123 additions and 55 deletions
|
|
@ -20,11 +20,11 @@ function loadMissionStage2()
|
||||||
switch$($Host::PUGpasswordAlwaysOn)
|
switch$($Host::PUGpasswordAlwaysOn)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if( $CurrentMissionType !$= "LakRabbit" )
|
if($CurrentMissionType !$= "LakRabbit")
|
||||||
{
|
{
|
||||||
if( $Host::TournamentMode && $Host::PUGautoPassword )
|
if($Host::TournamentMode && $Host::PUGautoPassword)
|
||||||
$Host::Password = $Host::PUGPassword;
|
$Host::Password = $Host::PUGPassword;
|
||||||
else if( !$Host::TournamentMode )
|
else if(!$Host::TournamentMode)
|
||||||
{
|
{
|
||||||
if($Host::Password)
|
if($Host::Password)
|
||||||
$Host::Password = "";
|
$Host::Password = "";
|
||||||
|
|
@ -35,7 +35,7 @@ function loadMissionStage2()
|
||||||
//Set server mode to SPEED
|
//Set server mode to SPEED
|
||||||
$Host::HiVisibility = "0";
|
$Host::HiVisibility = "0";
|
||||||
}
|
}
|
||||||
else if( $CurrentMissionType $= "LakRabbit" )
|
else if($CurrentMissionType $= "LakRabbit")
|
||||||
{
|
{
|
||||||
if($Host::Password)
|
if($Host::Password)
|
||||||
$Host::Password = "";
|
$Host::Password = "";
|
||||||
|
|
@ -53,7 +53,7 @@ function loadMissionStage2()
|
||||||
}
|
}
|
||||||
|
|
||||||
//Siege NoBaseRape Fix
|
//Siege NoBaseRape Fix
|
||||||
if( $CurrentMissionType $= "Siege" )
|
if($CurrentMissionType $= "Siege")
|
||||||
$Host::NoBaseRapeEnabled = 0;
|
$Host::NoBaseRapeEnabled = 0;
|
||||||
else
|
else
|
||||||
$Host::NoBaseRapeEnabled = 1;
|
$Host::NoBaseRapeEnabled = 1;
|
||||||
|
|
|
||||||
|
|
@ -24,18 +24,9 @@ function CreateServer( %mission, %missionType )
|
||||||
//Call for a GetTeamCount update
|
//Call for a GetTeamCount update
|
||||||
GetTeamCounts(%game);
|
GetTeamCounts(%game);
|
||||||
|
|
||||||
// Set when server starts
|
|
||||||
// Used to reset timelimit (if voted) when map changes
|
|
||||||
$DefaultTimeLimit = $Host::TimeLimit;
|
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
// Prevent package from being activated if it is already
|
||||||
if (!isActivePackage(TeamCountsTriggers))
|
if (!isActivePackage(TeamCountsTriggers))
|
||||||
activatePackage(TeamCountsTriggers);
|
activatePackage(TeamCountsTriggers);
|
||||||
|
|
||||||
// Auto Daily Hard Server Restart at a specific time
|
|
||||||
// getTimeDif from zDarkTigerStats.cs
|
|
||||||
if($dtStats::version)
|
|
||||||
schedule(getTimeDif("10\t00\tam"),0,"quit");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -449,10 +449,13 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
||||||
}
|
}
|
||||||
|
|
||||||
case "stopRunningVote":
|
case "stopRunningVote":
|
||||||
if(%client.isSuperAdmin || (%client.isAdmin && $Host::AllowAdminStopVote))
|
if($VOStatus !$="InProgress") //Dont allow a stop vote after time has expired, then no new time is set - VoteOverTime
|
||||||
{
|
{
|
||||||
adminStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4);
|
if(%client.isSuperAdmin || (%client.isAdmin && $Host::AllowAdminStopVote))
|
||||||
adminLog(%client, " stopped the vote in progress.");
|
{
|
||||||
|
adminStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4);
|
||||||
|
adminLog(%client, " stopped the vote in progress.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LakRabbit Stuff
|
// LakRabbit Stuff
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
// Dont allow the match to end if a time vote is pending
|
// Dont allow the match to end if a time vote is pending
|
||||||
// Or if the timelimit has changed
|
// Or if the timelimit has changed
|
||||||
//
|
//
|
||||||
// Changes were also made in the Evo Admin.ovl and DefaultGame.ovl
|
// Changes were also made in how time votes are handled in scripts/autoexec/VoteMenu.cs
|
||||||
// DefaultGame::voteChangeMission, DefaultGame::voteChangeTimeLimit, serverCmdStartNewVote
|
// DefaultGame::voteChangeMission, DefaultGame::voteChangeTimeLimit, serverCmdStartNewVote
|
||||||
//
|
//
|
||||||
// The VoteChangeTimeLimit functions in evo dictate VOStatus conditions
|
// The VoteChangeTimeLimit functions in evo dictate VOStatus conditions
|
||||||
|
|
@ -25,7 +25,7 @@ function DefaultGame::checkTimeLimit(%game, %forced)
|
||||||
%game.timeCheck = %game.schedule(20000, "checkTimeLimit");
|
%game.timeCheck = %game.schedule(20000, "checkTimeLimit");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
%curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime();
|
%curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime();
|
||||||
|
|
||||||
if (%curTimeLeftMS <= 0)
|
if (%curTimeLeftMS <= 0)
|
||||||
|
|
@ -43,9 +43,9 @@ function DefaultGame::checkTimeLimit(%game, %forced)
|
||||||
}
|
}
|
||||||
case InProgress:
|
case InProgress:
|
||||||
//Do Nothing
|
//Do Nothing
|
||||||
case TimeChanged:
|
case TimeChanged:
|
||||||
//Do Nothing
|
//Do Nothing
|
||||||
case Normal:
|
case Normal:
|
||||||
// time's up, put down your pencils
|
// time's up, put down your pencils
|
||||||
%game.timeLimitReached();
|
%game.timeLimitReached();
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +65,7 @@ function DefaultGame::checkTimeLimit(%game, %forced)
|
||||||
function DefaultGame::gameOver(%game)
|
function DefaultGame::gameOver(%game)
|
||||||
{
|
{
|
||||||
Parent::gameOver(%game);
|
Parent::gameOver(%game);
|
||||||
|
|
||||||
//Reset everything to do with Vote Overtime
|
//Reset everything to do with Vote Overtime
|
||||||
ResetVOall(%game);
|
ResetVOall(%game);
|
||||||
}
|
}
|
||||||
|
|
@ -95,4 +95,4 @@ function ResetVOall(%game)
|
||||||
|
|
||||||
// Prevent package from being activated if it is already
|
// Prevent package from being activated if it is already
|
||||||
if (!isActivePackage(VoteOverTime))
|
if (!isActivePackage(VoteOverTime))
|
||||||
activatePackage(VoteOverTime);
|
activatePackage(VoteOverTime);
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,15 @@ function CreateServer(%mission, %missionType)
|
||||||
// TraversalRoot Console spam fix
|
// TraversalRoot Console spam fix
|
||||||
if($Host::ClassicSuppressTraversalRootError)
|
if($Host::ClassicSuppressTraversalRootError)
|
||||||
suppressTraversalRootPatch();
|
suppressTraversalRootPatch();
|
||||||
|
|
||||||
|
// Set when server starts
|
||||||
|
// Used to reset timelimit (if voted) when map changes
|
||||||
|
$DefaultTimeLimit = $Host::TimeLimit;
|
||||||
|
|
||||||
|
// Auto Daily Hard Server Restart at a specific time
|
||||||
|
// getTimeDif from zDarkTigerStats.cs
|
||||||
|
if($dtStats::version)
|
||||||
|
schedule(getTimeDif("10\t00\tam"),0,"quit"); //10AM server time
|
||||||
}
|
}
|
||||||
|
|
||||||
function initGameBots( %mission, %mType )
|
function initGameBots( %mission, %mType )
|
||||||
|
|
@ -815,7 +824,7 @@ function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice,
|
||||||
//Changed to allow botskins
|
//Changed to allow botskins
|
||||||
%temp = detag( %skin );
|
%temp = detag( %skin );
|
||||||
if(%temp $= "")
|
if(%temp $= "")
|
||||||
%client.skin = addTaggedString( "base" );
|
%client.skin = addTaggedString( "base" );
|
||||||
else
|
else
|
||||||
%client.skin = addTaggedString( %skin );
|
%client.skin = addTaggedString( %skin );
|
||||||
|
|
||||||
|
|
|
||||||
64
Classic/scripts/weapons/flashGrenade.cs
Executable file
64
Classic/scripts/weapons/flashGrenade.cs
Executable file
|
|
@ -0,0 +1,64 @@
|
||||||
|
// grenade (thrown by hand) script
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
datablock EffectProfile(FlashGrenadeExplosionEffect)
|
||||||
|
{
|
||||||
|
effectname = "explosions/grenade_flash_explode";
|
||||||
|
minDistance = 10;
|
||||||
|
maxDistance = 30;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock AudioProfile(FlashGrenadeExplosionSound)
|
||||||
|
{
|
||||||
|
filename = "fx/explosions/grenade_flash_explode.wav";
|
||||||
|
description = AudioExplosion3d;
|
||||||
|
preload = true;
|
||||||
|
effect = FlashGrenadeExplosionEffect;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ExplosionData(FlashGrenadeExplosion)
|
||||||
|
{
|
||||||
|
explosionShape = "disc_explosion.dts";
|
||||||
|
soundProfile = FlashGrenadeExplosionSound;
|
||||||
|
|
||||||
|
faceViewer = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ItemData(FlashGrenadeThrown)
|
||||||
|
{
|
||||||
|
shapeFile = "grenade_flash.dts"; // z0dd - ZOD, 5/19/03. Was grenade.dts
|
||||||
|
mass = 0.7;
|
||||||
|
elasticity = 0.2;
|
||||||
|
friction = 1;
|
||||||
|
pickupRadius = 2;
|
||||||
|
maxDamage = 0.4;
|
||||||
|
explosion = FlashGrenadeExplosion;
|
||||||
|
indirectDamage = 0.5;
|
||||||
|
damageRadius = 10.0;
|
||||||
|
radiusDamageType = $DamageType::Grenade;
|
||||||
|
kickBackStrength = 1000;
|
||||||
|
computeCRC = true;
|
||||||
|
maxWhiteout = 0.78; // z0dd - ZOD, 9/8/02. Was 1.2 //Reduced. Was 0.9 Choco
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ItemData(FlashGrenade)
|
||||||
|
{
|
||||||
|
className = HandInventory;
|
||||||
|
catagory = "Handheld";
|
||||||
|
shapeFile = "grenade_flash.dts"; // z0dd - ZOD, 5/19/03. Was grenade.dts
|
||||||
|
mass = 0.7;
|
||||||
|
elasticity = 0.2;
|
||||||
|
friction = 1;
|
||||||
|
pickupRadius = 2;
|
||||||
|
thrownItem = FlashGrenadeThrown;
|
||||||
|
pickUpName = "some flash grenades";
|
||||||
|
isGrenade = true;
|
||||||
|
//computeCRC = true; // z0dd - ZOD, 5/19/03. Only need to check this model once.
|
||||||
|
};
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// Functions:
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
function FlashGrenadeThrown::onCollision( %data, %obj, %col )
|
||||||
|
{
|
||||||
|
// Do nothing...
|
||||||
|
}
|
||||||
63
README.md
63
README.md
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
|
|
||||||
# TacoServer
|
# TacoServer
|
||||||
## A Tribes 2 server with competitive features that is also open-source.
|
## A Tribes 2 server with competitive features that is also open-source.
|
||||||
|
|
@ -10,32 +10,33 @@ Discord: [Tribes 2 Discord](https://discord.gg/Y4muNvF)
|
||||||
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
- Improved NoBaseRape Asset handling
|
- Built Light-Weight
|
||||||
- An Independant Team Population Counter
|
|
||||||
- Team-balance notifys
|
|
||||||
- NoBaseRape notifys
|
|
||||||
- Team Autobalancing
|
- Team Autobalancing
|
||||||
- Minimum Cloakpack Management
|
- Team-Balance and Base Rape Messages
|
||||||
- Minimum Turret Management
|
- Pack Restrictions
|
||||||
- MortarTurret Management
|
- No Base Rape based on Population
|
||||||
- Loading screen customization options
|
- Turret Activation based on Population
|
||||||
- Vote Overtime
|
- Loading screen customization
|
||||||
- Vote in Progress chimes
|
- Time warnings
|
||||||
- Extended 3-2 minute timeleft warnings
|
- Late Time Voting
|
||||||
- Show Next Map player options
|
- Vote chimes
|
||||||
- Simplified player options menu
|
- Vote Restricting
|
||||||
- Observer cooldown
|
- Bug Fixes
|
||||||
- Set the Next Mission options
|
- Map Stats
|
||||||
- Map Repetition Checker
|
- Full Players Stats
|
||||||
|
- In-Game Stats Viewable
|
||||||
- Improved Map Rotation
|
- Improved Map Rotation
|
||||||
- PUG password Management
|
- PUG password options
|
||||||
- Improved LakRabbit experience
|
- Ability to Lock Teams
|
||||||
- Extended LakRabbit debriefing
|
- Disable/Enable Tournament Net Client In-Game
|
||||||
- Improved LCTF experience
|
- LakRabbit improvements
|
||||||
- Improved Deathmatch experience
|
- Various tweaks for PUBs
|
||||||
- Pro Mode for LCTF
|
- Added Deathmatch, LCTF
|
||||||
- Shocklance Only Mode for Deathmatch
|
- Support for Siege
|
||||||
- Full Stats System
|
- Shocklance Only Deathmatch Mode
|
||||||
|
- Admin Logging
|
||||||
|
- Teamkill Warnings
|
||||||
|
- General Improvments
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -45,14 +46,15 @@ Discord: [Tribes 2 Discord](https://discord.gg/Y4muNvF)
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
- Classic 1.5.2
|
- Classic 1.5.2
|
||||||
|
- TribesNext Patch
|
||||||
|
|
||||||
### 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 a file isnt on this github it is unmodified in Classic 1.5.2
|
||||||
- Place github server files in Classic folder
|
- Extract Classic 1.5.2 to GameData folder
|
||||||
|
- Place files from this github in Classic folder (Overwriting old files)
|
||||||
- Run once to create Serverprefs
|
- Run once to create Serverprefs
|
||||||
- Open Classic/Pref/Serverpref.cs and modify to your wishes
|
- Open Classic/Prefs/Serverprefs.cs in notepad and modify
|
||||||
- Run using Classic_dedicated_server.bat
|
- Run using Classic_dedicated_server.bat
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
@ -60,6 +62,5 @@ Discord: [Tribes 2 Discord](https://discord.gg/Y4muNvF)
|
||||||
### Credits & Thanks
|
### Credits & Thanks
|
||||||
- BattleLore for this template and help
|
- BattleLore for this template and help
|
||||||
- The T2 community for the free testing
|
- The T2 community for the free testing
|
||||||
- DarkTiger
|
- DarkTiger, Ravin, Krash
|
||||||
- The TribesNext community
|
- The TribesNext community
|
||||||
- Some very specific people for all their harsh criticism
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue