Survival of the fittest cleanup. Based on patch by bb, refs #3102.

Show notificaiton to all players and observers.
Whitespace fixes.
let instead of var.

This was SVN commit r18430.
This commit is contained in:
elexis
2016-06-23 22:37:42 +00:00
parent 9c980173e3
commit b8fbfe2d20
@@ -87,32 +87,32 @@ var attackerEntityTemplates =
Trigger.prototype.StartAnEnemyWave = function() Trigger.prototype.StartAnEnemyWave = function()
{ {
var cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer); let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
var attackerEntities = attackerEntityTemplates[Math.floor(Math.random() * attackerEntityTemplates.length)]; let attackerEntities = attackerEntityTemplates[Math.floor(Math.random() * attackerEntityTemplates.length)];
// A soldier for each 2-3 minutes of the game. Should be waves of 20 soldiers after an hour // A soldier for each 2-3 minutes of the game. Should be waves of 20 soldiers after an hour
var nextTime = Math.round(120000 + Math.random() * 60000); let nextTime = Math.round(120000 + Math.random() * 60000);
var attackerCount = Math.round(cmpTimer.GetTime() / nextTime / attackerEntities.length); let attackerCount = Math.round(cmpTimer.GetTime() / nextTime / attackerEntities.length);
// spawn attackers // spawn attackers
var attackers = []; let attackers = [];
for (let attackerEntity of attackerEntities) for (let attackerEntity of attackerEntities)
attackers.push(TriggerHelper.SpawnUnitsFromTriggerPoints("A", attackerEntity, attackerCount, 0)); attackers.push(TriggerHelper.SpawnUnitsFromTriggerPoints("A", attackerEntity, attackerCount, 0));
for (var entityType of attackers) for (let entityType of attackers)
{ {
for (var origin in entityType) for (let origin in entityType)
{ {
var cmpPlayer = QueryOwnerInterface(+origin, IID_Player); let cmpPlayer = QueryOwnerInterface(+origin, IID_Player);
if (cmpPlayer.GetState() != "active") if (cmpPlayer.GetState() != "active")
continue; continue;
var cmpPosition = Engine.QueryInterface(this.playerCivicCenter[cmpPlayer.GetPlayerID()], IID_Position); let cmpPosition = Engine.QueryInterface(this.playerCivicCenter[cmpPlayer.GetPlayerID()], IID_Position);
// this shouldn't happen if the player is still active // this shouldn't happen if the player is still active
if (!cmpPosition || !cmpPosition.IsInWorld) if (!cmpPosition || !cmpPosition.IsInWorld)
continue; continue;
// store the x and z coordinates in the command // store the x and z coordinates in the command
var cmd = cmpPosition.GetPosition(); let cmd = cmpPosition.GetPosition();
cmd.type = "attack-walk"; cmd.type = "attack-walk";
cmd.entities = entityType[origin]; cmd.entities = entityType[origin];
cmd.queued = true; cmd.queued = true;
@@ -122,9 +122,8 @@ Trigger.prototype.StartAnEnemyWave = function()
} }
} }
var cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); let cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface);
cmpGUIInterface.PushNotification({ cmpGUIInterface.PushNotification({
"players": [1,2,3,4,5,6,7,8],
"message": markForTranslation("An enemy wave is attacking!"), "message": markForTranslation("An enemy wave is attacking!"),
"translateMessage": true "translateMessage": true
}); });
@@ -133,12 +132,12 @@ Trigger.prototype.StartAnEnemyWave = function()
Trigger.prototype.InitGame = function() Trigger.prototype.InitGame = function()
{ {
var numberOfPlayers = TriggerHelper.GetNumberOfPlayers(); let numberOfPlayers = TriggerHelper.GetNumberOfPlayers();
// Find all of the civic centers, disable some structures // Find all of the civic centers, disable some structures
for (var i = 1; i < numberOfPlayers; ++i) for (let i = 1; i < numberOfPlayers; ++i)
{ {
var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); let cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
var playerEntities = cmpRangeManager.GetEntitiesByPlayer(i); // Get all of each player's entities let playerEntities = cmpRangeManager.GetEntitiesByPlayer(i); // Get all of each player's entities
for (let entity of playerEntities) for (let entity of playerEntities)
if (TriggerHelper.EntityHasClass(entity, "CivilCentre")) if (TriggerHelper.EntityHasClass(entity, "CivilCentre"))
@@ -147,10 +146,10 @@ Trigger.prototype.InitGame = function()
// Fix alliances // Fix alliances
/* Until we can do something about limiting the victory conditions available for this map to "None" /* Until we can do something about limiting the victory conditions available for this map to "None"
for (var i = 1; i < numberOfPlayers; ++i) for (let i = 1; i < numberOfPlayers; ++i)
{ {
var cmpPlayer = QueryPlayerIDInterface(i); let cmpPlayer = QueryPlayerIDInterface(i);
for (var j = 1; j < numberOfPlayers; ++j) for (let j = 1; j < numberOfPlayers; ++j)
if (i != j) if (i != j)
cmpPlayer.SetAlly(j); cmpPlayer.SetAlly(j);
cmpPlayer.SetLockTeams(true); cmpPlayer.SetLockTeams(true);
@@ -163,10 +162,10 @@ Trigger.prototype.InitGame = function()
this.PlaceTreasures(); this.PlaceTreasures();
// Disable farms, civic centers and walls for all players // Disable farms, civic centers and walls for all players
for (var i = 1; i < numberOfPlayers; ++i) for (let i = 1; i < numberOfPlayers; ++i)
{ {
let cmpPlayer = QueryPlayerIDInterface(i); let cmpPlayer = QueryPlayerIDInterface(i);
var civ = cmpPlayer.GetCiv(); let civ = cmpPlayer.GetCiv();
cmpPlayer.SetDisabledTemplates([ cmpPlayer.SetDisabledTemplates([
"structures/" + civ + "_field", "structures/" + civ + "_field",
"structures/" + civ + "_corral", "structures/" + civ + "_corral",
@@ -175,16 +174,16 @@ Trigger.prototype.InitGame = function()
"structures/" + civ + "_wallset_stone", "structures/" + civ + "_wallset_stone",
"other/wallset_palisade" "other/wallset_palisade"
]); ]);
} }
}; };
Trigger.prototype.PlaceTreasures = function() Trigger.prototype.PlaceTreasures = function()
{ {
let point = ["B", "C", "D"][Math.floor(Math.random() * 3)]; let point = ["B", "C", "D"][Math.floor(Math.random() * 3)];
var triggerPoints = cmpTrigger.GetTriggerPoints(point); let triggerPoints = cmpTrigger.GetTriggerPoints(point);
for (var point of triggerPoints) for (let point of triggerPoints)
{ {
var template = treasures[Math.floor(Math.random() * treasures.length)] let template = treasures[Math.floor(Math.random() * treasures.length)]
TriggerHelper.SpawnUnits(point, template, 1, 0); TriggerHelper.SpawnUnits(point, template, 1, 0);
} }
cmpTrigger.DoAfterDelay(4*60*1000, "PlaceTreasures", {}); //Place more treasures after 4 minutes cmpTrigger.DoAfterDelay(4*60*1000, "PlaceTreasures", {}); //Place more treasures after 4 minutes
@@ -192,10 +191,9 @@ Trigger.prototype.PlaceTreasures = function()
Trigger.prototype.InitializeEnemyWaves = function() Trigger.prototype.InitializeEnemyWaves = function()
{ {
var time = (5 + Math.round(Math.random() * 10)) * 60 * 1000; let time = (5 + Math.round(Math.random() * 10)) * 60 * 1000;
var cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); let cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface);
cmpGUIInterface.AddTimeNotification({ cmpGUIInterface.AddTimeNotification({
"players": [1,2,3,4,5,6,7,8],
"message": markForTranslation("The first wave will start in %(time)s!"), "message": markForTranslation("The first wave will start in %(time)s!"),
"translateMessage": true "translateMessage": true
}, time); }, time);
@@ -210,10 +208,10 @@ Trigger.prototype.DefeatPlayerOnceCCIsDestroyed = function(data)
TriggerHelper.DefeatPlayer(data.from); TriggerHelper.DefeatPlayer(data.from);
// Check if only one player remains. He will be the winner. // Check if only one player remains. He will be the winner.
var lastPlayerStanding = 0; let lastPlayerStanding = 0;
var numPlayersStanding = 0; let numPlayersStanding = 0;
var numberOfPlayers = TriggerHelper.GetNumberOfPlayers(); let numberOfPlayers = TriggerHelper.GetNumberOfPlayers();
for (var i = 1; i < numberOfPlayers; ++i) for (let i = 1; i < numberOfPlayers; ++i)
{ {
if (QueryPlayerIDInterface(i).GetState() == "active") if (QueryPlayerIDInterface(i).GetState() == "active")
{ {
@@ -231,4 +229,4 @@ cmpTrigger.playerCivicCenter = {};
cmpTrigger.DoAfterDelay(0, "InitGame", {}); cmpTrigger.DoAfterDelay(0, "InitGame", {});
cmpTrigger.DoAfterDelay(1000, "InitializeEnemyWaves", {}); cmpTrigger.DoAfterDelay(1000, "InitializeEnemyWaves", {});
cmpTrigger.RegisterTrigger("OnOwnershipChanged", "DefeatPlayerOnceCCIsDestroyed", {"enabled": true}); cmpTrigger.RegisterTrigger("OnOwnershipChanged", "DefeatPlayerOnceCCIsDestroyed", { "enabled": true });