TacoServer/Classic/scripts/autoexec/NoBaseRape.cs
ChocoTaco1 6b53bd352f Update NoBaseRape.cs
Changed Invincible Inv mechanic
2020-03-30 13:51:12 -04:00

61 lines
1.7 KiB
C#

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();
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);
}
function loadMissionStage2()
{
parent::loadMissionStage2();
if( $CurrentMission $= "SmallCrossing" || $CurrentMission $= "Bulwark" )
{
if (!isActivePackage(InvincibleInvToggle))
activatePackage(InvincibleInvToggle);
}
else if (isActivePackage(InvincibleInvToggle))
deactivatePackage(InvincibleInvToggle);
}
};
// Prevent package from being activated if it is already
if (!isActivePackage(NoBaseRape))
activatePackage(NoBaseRape);
package InvincibleInvToggle
{
function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
{
%targetname = %targetObject.getDataBlock().getName();
//Used on some maps to make invs invincible
if( %targetObject.invincible && %targetname $= "StationInventory" )
return;
parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType);
}
};