ChoosePRO1 = { { type = "proc", pos = CPos.New(37, 36), cost = 1400 } } BuildPRO1 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO1) return end for i,v in ipairs(ChoosePRO1) do if not v.exists then PlacePRO1(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildPRO1) end PlacePRO1 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO1) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildPRO1) 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), BuildPRO1) end) end CheckHealthForPRO1 = function() Trigger.OnDamaged(PRO1, function() if PRO1.Owner == Player1 and PRO1.Health < PRO1.MaxHealth * 3/4 then PRO1.StartBuildingRepairs() end if PRO1.Owner == Player1 and PRO1.Health < PRO1.MaxHealth * 1/4 then PRO1.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(PRO1, BuildPRO1) end ChoosePRO2 = { { type = "proc", pos = CPos.New(47, 36), cost = 1400 } } BuildPRO2 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO2) return end for i,v in ipairs(ChoosePRO2) do if not v.exists then PlacePRO2(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildPRO2) end PlacePRO2 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO2) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildPRO2) 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), BuildPRO2) end) end CheckHealthForPRO2 = function() Trigger.OnDamaged(PRO2, function() if PRO2.Owner == Player1 and PRO2.Health < PRO2.MaxHealth * 3/4 then PRO2.StartBuildingRepairs() end if PRO2.Owner == Player1 and PRO2.Health < PRO2.MaxHealth * 1/4 then PRO2.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(PRO2, BuildPRO2) end ChoosePRO3 = { { type = "proc", pos = CPos.New(37, 46), cost = 1400 } } BuildPRO3 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO3) return end for i,v in ipairs(ChoosePRO3) do if not v.exists then PlacePRO3(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildPRO3) end PlacePRO3 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO3) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildPRO3) 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), BuildPRO3) end) end CheckHealthForPRO3 = function() Trigger.OnDamaged(PRO3, function() if PRO3.Owner == Player1 and PRO3.Health < PRO3.MaxHealth * 3/4 then PRO3.StartBuildingRepairs() end if PRO3.Owner == Player1 and PRO3.Health < PRO3.MaxHealth * 1/4 then PRO3.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(PRO3, BuildPRO3) end ChoosePRO4 = { { type = "proc", pos = CPos.New(47, 46), cost = 1400 } } BuildPRO4 = function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO4) return end for i,v in ipairs(ChoosePRO4) do if not v.exists then PlacePRO4(v) return end end Trigger.AfterDelay(DateTime.Seconds(5), BuildPRO4) end PlacePRO4 = function(building) Trigger.AfterDelay(Actor.BuildTime(building.type), function() if not CheckExistenceForFAC1() then Trigger.AfterDelay(DateTime.Seconds(1), BuildPRO4) return elseif Player1.Resources <= 299 then Trigger.AfterDelay(DateTime.Seconds(1),BuildPRO4) 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), BuildPRO4) end) end CheckHealthForPRO4 = function() Trigger.OnDamaged(PRO4, function() if PRO4.Owner == Player1 and PRO4.Health < PRO4.MaxHealth * 3/4 then PRO4.StartBuildingRepairs() end if PRO4.Owner == Player1 and PRO4.Health < PRO4.MaxHealth * 1/4 then PRO4.Sell() end SendDefence() end) Trigger.OnRemovedFromWorld(PRO4, BuildPRO4) end