diff --git a/Classic/scripts/autoexec/GetTeamCounts.cs b/Classic/scripts/autoexec/GetTeamCounts.cs index d0aca39..759cfe0 100644 --- a/Classic/scripts/autoexec/GetTeamCounts.cs +++ b/Classic/scripts/autoexec/GetTeamCounts.cs @@ -47,6 +47,7 @@ function GetTeamCounts(%game) //Variables $TotalTeamPlayerCount = $TeamRank[1, count] + $TeamRank[2, count]; $AllPlayerCount = $HostGamePlayerCount; + $Observers = $HostGamePlayerCount - ($TeamRank[1, count] + $TeamRank[2, count]); //echo("$PlayerCount[0] " @ $HostGamePlayerCount - ($TeamRank[1, count] + $TeamRank[2, count])); //echo("$PlayerCount[1] " @ $TeamRank[1, count]); diff --git a/Classic/scripts/autoexec/TKwarn.cs b/Classic/scripts/autoexec/TKwarn.cs index a5f745c..b7e0f85 100644 --- a/Classic/scripts/autoexec/TKwarn.cs +++ b/Classic/scripts/autoexec/TKwarn.cs @@ -15,7 +15,7 @@ function DefaultGame::testTeamKill(%game, %victimID, %killerID) return true; // Ignore this map - if($CurrentMission $= "Mac_FlagArena") + if($CurrentMission $= "Mac_FlagArena" || $CurrentMission $= "Machineeggs") return true; // warn the player diff --git a/Classic/scripts/autoexec/TacoOverrides.cs b/Classic/scripts/autoexec/TacoOverrides.cs index e1ede45..e85a4a8 100644 --- a/Classic/scripts/autoexec/TacoOverrides.cs +++ b/Classic/scripts/autoexec/TacoOverrides.cs @@ -171,7 +171,33 @@ function DefaultGame::missionLoadDone(%game) %obj = MissionGroup.getObject(%i); if(%obj.getClassName() $= "WaterBlock") %obj.viscosity = $globalviscosity; - } + } +} + +// Temp Fix for Asset nameTag Strings +function GameBaseData::onAdd(%data, %obj) +{ + if(%data.targetTypeTag !$= "") + { + // use the name given to the object in the mission file + if(%obj.nameTag !$= "" && strpos(%obj.nameTag,"\x01") == -1) + { + %obj.nameTag = addTaggedString(%obj.nameTag); + %nameTag = %obj.nameTag; + } + else if(%data.targetNameTag !$= "") + %nameTag = %data.targetNameTag; + else + { + if(%obj.name !$= "") + %nameTag = %obj.nameTag = addTaggedString(%obj.name); + else + %nameTag = %obj.nameTag = addTaggedString("Base"); // fail safe so it shows up on cc + } + %obj.target = createTarget(%obj, %nameTag, "", "", %data.targetTypeTag, 0, 0); + } + else + %obj.target = -1; } }; diff --git a/Classic/scripts/player.cs b/Classic/scripts/player.cs index 3e29239..50436f2 100644 --- a/Classic/scripts/player.cs +++ b/Classic/scripts/player.cs @@ -2800,27 +2800,23 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am %flash = 0.75; // Teratos: Originally from Eolk? Mine+Disc tracking/death message support. - // client.mineDisc = [true|false] - // client.mineDiscCheck [0-None|1-Disc Damage|2-Mine Damage] - // Teratos: Don't understand why "%client = %targetClient;" -- possibly to avoid carrying .minediscCheck field? - // Teratos: A little more redundant code and less readable for a few less comparisons. + // No Schedules by DarkTiger %targetClient.mineDisc = false; - if(%damageType == $DamageType::Disc) { - %client = %targetClient; // Oops - if(%client.minediscCheck == 0) { // No Mine or Disc damage recently - %client.minediscCheck = 1; - schedule(300, 0, "resetMineDiscCheck", %client); - } else if(%client.minediscCheck == 2) { // Recent Mine damage - %client.mineDisc = true; - } - } else if (%damageType == $DamageType::Mine) { - %client = %targetClient; // Oops - if(%client.minediscCheck == 0) { // No Mine or Disc damage recently - %client.minediscCheck = 2; - schedule(300, 0, "resetMineDiscCheck", %client); - } else if(%client.minediscCheck == 1) { // Recent Disc damage - %client.mineDisc = true; - } + switch$(%damageType) + { + case $DamageType::Disc: + if(%targetClient.mdc == 1 && (getSimTime() - %targetClient.mdcTime1) < 256) + %targetClient.mineDisc = true; + + %targetClient.mdc = 2; + %targetClient.mdcTime2 = getSimTime(); + + case $DamageType::Mine: + if(%targetClient.mdc == 2 && (getSimTime() - %targetClient.mdcTime2) < 256) + %targetClient.mineDisc = true; + + %targetClient.mdc = 1; + %targetClient.mdcTime1 = getSimTime(); } // -- End Mine+Disc insert.