ChooseSA01 = { { type = "sam", pos = CPos.New(32, 88), cost = 700 } } BuildSA01 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA01) return end for i,v in ipairs(ChooseSA01) do if not v.exists then PlaceSA01(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA01) end PlaceSA01 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA01) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA01) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA01) end) end CheckHealthForSA01 = function() Trigger.OnDamaged(SA01, function() if SA01.Owner == Player1 and SA01.Health < SA01.MaxHealth * 3/4 then SA01.StartBuildingRepairs() end if SA01.Owner == Player1 and SA01.Health < SA01.MaxHealth * 1/4 then SA01.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA01, BuildSA01) end ChooseSA02 = { { type = "sam", pos = CPos.New(44, 88), cost = 700 } } BuildSA02 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA02) return end for i,v in ipairs(ChooseSA02) do if not v.exists then PlaceSA02(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA02) end PlaceSA02 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA02) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA02) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA02) end) end CheckHealthForSA02 = function() Trigger.OnDamaged(SA02, function() if SA02.Owner == Player1 and SA02.Health < SA02.MaxHealth * 3/4 then SA02.StartBuildingRepairs() end if SA02.Owner == Player1 and SA02.Health < SA02.MaxHealth * 1/4 then SA02.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA02, BuildSA02) end ChooseSA03 = { { type = "sam", pos = CPos.New(56, 88), cost = 700 } } BuildSA03 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA03) return end for i,v in ipairs(ChooseSA03) do if not v.exists then PlaceSA03(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA03) end PlaceSA03 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA03) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA03) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA03) end) end CheckHealthForSA03 = function() Trigger.OnDamaged(SA03, function() if SA03.Owner == Player1 and SA03.Health < SA03.MaxHealth * 3/4 then SA03.StartBuildingRepairs() end if SA03.Owner == Player1 and SA03.Health < SA03.MaxHealth * 1/4 then SA03.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA03, BuildSA03) end ChooseSA04 = { { type = "sam", pos = CPos.New(68, 88), cost = 700 } } BuildSA04 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA04) return end for i,v in ipairs(ChooseSA04) do if not v.exists then PlaceSA04(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA04) end PlaceSA04 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA04) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA04) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA04) end) end CheckHealthForSA04 = function() Trigger.OnDamaged(SA04, function() if SA04.Owner == Player1 and SA04.Health < SA04.MaxHealth * 3/4 then SA04.StartBuildingRepairs() end if SA04.Owner == Player1 and SA04.Health < SA04.MaxHealth * 1/4 then SA04.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA04, BuildSA04) end ChooseSA05 = { { type = "sam", pos = CPos.New(81, 88), cost = 700 } } BuildSA05 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA05) return end for i,v in ipairs(ChooseSA05) do if not v.exists then PlaceSA05(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA05) end PlaceSA05 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA05) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA05) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA05) end) end CheckHealthForSA05 = function() Trigger.OnDamaged(SA05, function() if SA05.Owner == Player1 and SA05.Health < SA05.MaxHealth * 3/4 then SA05.StartBuildingRepairs() end if SA05.Owner == Player1 and SA05.Health < SA05.MaxHealth * 1/4 then SA05.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA05, BuildSA05) end ChooseSA06 = { { type = "sam", pos = CPos.New(92, 89), cost = 700 } } BuildSA06 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA06) return end for i,v in ipairs(ChooseSA06) do if not v.exists then PlaceSA06(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA06) end PlaceSA06 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA06) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA06) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA06) end) end CheckHealthForSA06 = function() Trigger.OnDamaged(SA06, function() if SA06.Owner == Player1 and SA06.Health < SA06.MaxHealth * 3/4 then SA06.StartBuildingRepairs() end if SA06.Owner == Player1 and SA06.Health < SA06.MaxHealth * 1/4 then SA06.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA06, BuildSA06) end ChooseSA07 = { { type = "sam", pos = CPos.New(103, 90), cost = 700 } } BuildSA07 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA07) return end for i,v in ipairs(ChooseSA07) do if not v.exists then PlaceSA07(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA07) end PlaceSA07 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA07) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA07) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA07) end) end CheckHealthForSA07 = function() Trigger.OnDamaged(SA07, function() if SA07.Owner == Player1 and SA07.Health < SA07.MaxHealth * 3/4 then SA07.StartBuildingRepairs() end if SA07.Owner == Player1 and SA07.Health < SA07.MaxHealth * 1/4 then SA07.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA07, BuildSA07) end ChooseSA08 = { { type = "sam", pos = CPos.New(114, 90), cost = 700 } } BuildSA08 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA08) return end for i,v in ipairs(ChooseSA08) do if not v.exists then PlaceSA08(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA08) end PlaceSA08 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA08) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA08) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA08) end) end CheckHealthForSA08 = function() Trigger.OnDamaged(SA08, function() if SA08.Owner == Player1 and SA08.Health < SA08.MaxHealth * 3/4 then SA08.StartBuildingRepairs() end if SA08.Owner == Player1 and SA08.Health < SA08.MaxHealth * 1/4 then SA08.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA08, BuildSA08) end ChooseSA09 = { { type = "sam", pos = CPos.New(126, 90), cost = 700 } } BuildSA09 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA09) return end for i,v in ipairs(ChooseSA09) do if not v.exists then PlaceSA09(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA09) end PlaceSA09 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA09) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA09) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA09) end) end CheckHealthForSA09 = function() Trigger.OnDamaged(SA09, function() if SA09.Owner == Player1 and SA09.Health < SA09.MaxHealth * 3/4 then SA09.StartBuildingRepairs() end if SA09.Owner == Player1 and SA09.Health < SA09.MaxHealth * 1/4 then SA09.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA09, BuildSA09) end ChooseSA10 = { { type = "sam", pos = CPos.New(138, 90), cost = 700 } } BuildSA10 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA10) return end for i,v in ipairs(ChooseSA10) do if not v.exists then PlaceSA10(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA10) end PlaceSA10 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA10) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA10) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA10) end) end CheckHealthForSA10 = function() Trigger.OnDamaged(SA10, function() if SA10.Owner == Player1 and SA10.Health < SA10.MaxHealth * 3/4 then SA10.StartBuildingRepairs() end if SA10.Owner == Player1 and SA10.Health < SA10.MaxHealth * 1/4 then SA10.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA10, BuildSA10) end ChooseSA11 = { { type = "sam", pos = CPos.New(150, 90), cost = 700 } } BuildSA11 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA11) return end for i,v in ipairs(ChooseSA11) do if not v.exists then PlaceSA11(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildSA11) end PlaceSA11 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildSA11) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildSA11) return end local actor = Actor.Create(building.type, true, { Owner = Player1, Location = building.pos }) Player1.Cash = Player1.Cash - building.cost building.exists = true Trigger.OnRemovedFromWorld(actor, function() building.exists = false end) Trigger.OnDamaged(actor, function(building) if building.Owner == Player1 and building.Health < building.MaxHealth * 3/4 then building.StartBuildingRepairs() end if building.Owner == Player1 and building.Health < building.MaxHealth * 1/4 then building.Sell() end SendDefence() end) Trigger.AfterDelay(DateTime.Seconds(1), BuildSA11) end) end CheckHealthForSA11 = function() Trigger.OnDamaged(SA11, function() if SA11.Owner == Player1 and SA11.Health < SA11.MaxHealth * 3/4 then SA11.StartBuildingRepairs() end if SA11.Owner == Player1 and SA11.Health < SA11.MaxHealth * 1/4 then SA11.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(SA11, BuildSA11) end