TacoServer/autoexec/NoBaseRapeNotify.cs
2018-06-28 14:34:52 -04:00

71 lines
2.2 KiB
C#

//Start and Reset Notify
package NoRapeNotify {
//Start Notify
//function DefaultGame::spawnPlayer( %game, %client, %respawn ) {
//Call default function
//parent::spawnPlayer( %game, %client, %respawn );
//Start
//Make sure it's CTF Mode
//if( $CurrentMissionType $= "CTF" ) {
//PlayerNotify::AtSpawn( %game, %client, %respawn );
//}
//}
//Reset Notify
function DefaultGame::gameOver( %game ) {
//Call default function
parent::gameOver( %game );
//Reset NoBaseRape Notify
ResetNotify::MissionEnd( %game, %client );
}
};
// Prevent package from being activated if it is already
if (!isActivePackage(NoRapeNotify))
activatePackage(NoRapeNotify);
//This function is at DefaultGame::spawnPlayer( %game, %client, %respawn ) defaultGame.cs
//Notifys the user if NoBase rape is on or off. Has a Counter so it is only run once and doesnt spam the client. It is triggered at spawn.
function PlayerNotify::AtSpawn( %game, %client, %respawn )
{
//echo ("%client " @ %client);
//echo ("$TeamBalanceClient " @ $TeamBalanceClient);
//Is NoBaseRape On or off
if( !$Host::TournamentMode && $Host::EvoNoBaseRapeEnabled && $Host::EvoNoBaseRapeClassicPlayerCount > $TotalTeamPlayerCount ) {
//If on, has the client gotten the notification already
if($NoBaseRapeNotifyCount !$= 0) {
messageAll('MsgNoBaseRapeNotify', 'No Base Rape is \c3Enabled.~wfx/misc/nexus_cap.wav');
$NoBaseRapeNotifyCount = 0;
}
}
else
//NoBaseRape is off
//Has the client gotten the notification already
if($NoBaseRapeNotifyCount !$= 1) {
messageAll('MsgNoBaseRapeNotify', 'No Base Rape is \c3Disabled.~wfx/misc/diagnostic_on.wav');
$NoBaseRapeNotifyCount = 1;
}
}
//This function is at StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
//In the evopackage.cs or evoClassic.vl2
//Plays a sound when a player hits a protected asset
function PlayerNotifyEnabled::OnDamage( %game, %sourceObject )
{
messageClient(%sourceObject.client, 'MsgNoBaseRapeNotify', '~wfx/misc/diagnostic_beep.wav');
}
//This function is at DefaultGame::gameOver(%game) CTFGame.cs
//Resets the client NotifyCount when the mission ends
function ResetNotify::MissionEnd( %game, %client )
{
$NoBaseRapeNotifyCount = -1;
}