Add Ant 03
This commit is contained in:
104
mods/ra/maps/ant-03/ant-03-AI.lua
Normal file
104
mods/ra/maps/ant-03/ant-03-AI.lua
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2021 The OpenRA Developers (see AUTHORS)
|
||||||
|
This file is part of OpenRA, which is free software. It is made
|
||||||
|
available to you under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, either version 3 of
|
||||||
|
the License, or (at your option) any later version. For more
|
||||||
|
information, see COPYING.
|
||||||
|
]]
|
||||||
|
NorthNestPath = { NorthPath1, NorthPath2 }
|
||||||
|
SouthNestPath = { SouthPath1, SouthPath2 }
|
||||||
|
BaseNestPath = { NorthPath1, SouthPath1 }
|
||||||
|
|
||||||
|
AntSquad =
|
||||||
|
{
|
||||||
|
easy = { "warriorant", "warriorant", "warriorant" },
|
||||||
|
normal = { "warriorant", "warriorant", "warriorant", "warriorant" },
|
||||||
|
hard = { "warriorant", "warriorant", "warriorant", "warriorant", "warriorant" }
|
||||||
|
}
|
||||||
|
|
||||||
|
ActivateHive1 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive1.Location })
|
||||||
|
Utils.Do(ants, IdleHunt)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive1)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive2 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive2.Location })
|
||||||
|
local path = Utils.Random(NorthNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive2)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive3 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive3.Location })
|
||||||
|
local path = Utils.Random(NorthNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive3)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive4 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive4.Location })
|
||||||
|
local path = Utils.Random(SouthNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive4)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive5 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive5.Location })
|
||||||
|
local path = Utils.Random(SouthNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive5)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive6 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive6.Location })
|
||||||
|
local path = Utils.Random(BaseNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive6)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateHive7 = function()
|
||||||
|
local ants = Reinforcements.Reinforce(USSR, AntSquad, { Hive7.Location })
|
||||||
|
local path = Utils.Random(SouthNestPath)
|
||||||
|
Utils.Do(ants, function(ant)
|
||||||
|
ant.AttackMove(path.Location)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive7)
|
||||||
|
end
|
||||||
|
|
||||||
|
ActivateAntHives = function()
|
||||||
|
local difficulty = Map.LobbyOption("difficulty")
|
||||||
|
AntSquad = AntSquad[difficulty]
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive1)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1) + DateTime.Seconds(30), ActivateHive2)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(2) + DateTime.Seconds(45), ActivateHive3)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(4), ActivateHive4)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(5) + DateTime.Seconds(15), ActivateHive5)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(6) + DateTime.Seconds(30), ActivateHive6)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(7) + DateTime.Seconds(45), ActivateHive7)
|
||||||
|
end
|
||||||
121
mods/ra/maps/ant-03/ant-03.lua
Normal file
121
mods/ra/maps/ant-03/ant-03.lua
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2021 The OpenRA Developers (see AUTHORS)
|
||||||
|
This file is part of OpenRA, which is free software. It is made
|
||||||
|
available to you under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, either version 3 of
|
||||||
|
the License, or (at your option) any later version. For more
|
||||||
|
information, see COPYING.
|
||||||
|
]]
|
||||||
|
IdleHunt = function(unit) if not unit.IsDead then Trigger.OnIdle(unit, unit.Hunt) end end
|
||||||
|
StartAnts = { StartAnt1, StartAnt2 }
|
||||||
|
Hive1Killzone = { CPos.New(80,83), CPos.New(81,83), CPos.New(82,83), CPos.New(83,83), CPos.New(84,83), CPos.New(85,83), CPos.New(85,84), CPos.New(85,85), CPos.New(85,86), CPos.New(85,87), CPos.New(84,87), CPos.New(83,87), CPos.New(82,87), CPos.New(81,87), CPos.New(80,87), CPos.New(80,86), CPos.New(80,85), CPos.New(80,84) }
|
||||||
|
Hive2Killzone = { CPos.New(84,50), CPos.New(85,50), CPos.New(86,50), CPos.New(87,50), CPos.New(88,50), CPos.New(89,50), CPos.New(89,51), CPos.New(89,52), CPos.New(89,53), CPos.New(89,54), CPos.New(88,54), CPos.New(87,54), CPos.New(86,54), CPos.New(85,54), CPos.New(84,54), CPos.New(84,53), CPos.New(84,52), CPos.New(84,51) }
|
||||||
|
Hive3Killzone = { CPos.New(73,30), CPos.New(74,30), CPos.New(75,30), CPos.New(76,30), CPos.New(77,30), CPos.New(78,30), CPos.New(78,31), CPos.New(78,32), CPos.New(78,33), CPos.New(78,34), CPos.New(77,34), CPos.New(76,34), CPos.New(75,34), CPos.New(74,34), CPos.New(73,34), CPos.New(73,33), CPos.New(73,32), CPos.New(73,31) }
|
||||||
|
Hive4Killzone = { CPos.New(51,99), CPos.New(52,99), CPos.New(53,99), CPos.New(54,99), CPos.New(55,99), CPos.New(56,99), CPos.New(56,100), CPos.New(56,101), CPos.New(56,102), CPos.New(56,103), CPos.New(55,103), CPos.New(54,103), CPos.New(53,103), CPos.New(52,103), CPos.New(51,103), CPos.New(51,102), CPos.New(51,101), CPos.New(51,100) }
|
||||||
|
Hive5Killzone = { CPos.New(55,64), CPos.New(55,65), CPos.New(55,66), CPos.New(56,66), CPos.New(57,66), CPos.New(58,66), CPos.New(59,66), CPos.New(60,66), CPos.New(60,65), CPos.New(60,64), CPos.New(60,63) }
|
||||||
|
Hive6Killzone = { CPos.New(32,31), CPos.New(33,31), CPos.New(34,31), CPos.New(35,31), CPos.New(36,31), CPos.New(37,31), CPos.New(37,32), CPos.New(37,33), CPos.New(37,34), CPos.New(37,35), CPos.New(36,35), CPos.New(35,35), CPos.New(34,35), CPos.New(33,35), CPos.New(32,34), CPos.New(32,33), CPos.New(32,32) }
|
||||||
|
Hive7Killzone = { CPos.New(30,76), CPos.New(31,76), CPos.New(32,76), CPos.New(33,76), CPos.New(34,76), CPos.New(35,76), CPos.New(35,77), CPos.New(35,78), CPos.New(35,79), CPos.New(35,80), CPos.New(34,80), CPos.New(33,80), CPos.New(32,80), CPos.New(31,80), CPos.New(30,80), CPos.New(30,79), CPos.New(30,78), CPos.New(30,77) }
|
||||||
|
Hives = { Hive1, Hive2, Hive3, Hive4, Hive5, Hive6, Hive7 }
|
||||||
|
HiveFlares = { Hive1Flare, Hive2Flare, Hive3Flare, Hive4Flare, Hive5Flare, Hive6Flare, Hive7Flare }
|
||||||
|
HiveKillzones = { Hive1Killzone, Hive2Killzone, Hive3Killzone, Hive4Killzone, Hive5Killzone, Hive6Killzone, Hive7Killzone }
|
||||||
|
HiveGassed = { Hive1Gassed, Hive2Gassed, Hive3Gassed, Hive4Gassed, Hive5Gassed, Hive6Gassed, Hive7Gassed }
|
||||||
|
|
||||||
|
Start = function()
|
||||||
|
Utils.Do(BadGuy.GetGroundAttackers(), function(unit)
|
||||||
|
Trigger.OnDamaged(unit, function() IdleHunt(unit) end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Utils.Do(StartAnts, function(ants)
|
||||||
|
IdleHunt(ants)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnAllKilled(StartAnts, function()
|
||||||
|
Media.PlaySpeechNotification(Spain, "ReinforcementsArrived")
|
||||||
|
Reinforcements.Reinforce(Spain, { "apc.grens", "apc.rockets" }, { SpainEntry.Location, APCStop.Location })
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), function()
|
||||||
|
Media.PlaySpeechNotification(Spain, "ReinforcementsArrived")
|
||||||
|
VamonosPest = Reinforcements.Reinforce(Spain, { "chan", "chan", "chan", "chan", "chan", "chan", "chan" }, { SpainEntry.Location, DefaultCameraPosition.Location }, 3)
|
||||||
|
Trigger.OnAllKilled(VamonosPest, function()
|
||||||
|
if not Spain.IsObjectiveCompleted(GasNests) then
|
||||||
|
Spain.MarkFailedObjective(GasNests)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
GasAntNests = function()
|
||||||
|
for nestId = 1, 7 do
|
||||||
|
Trigger.OnEnteredProximityTrigger(Hives[nestId].CenterPosition, WDist.FromCells(1), function(actor, id)
|
||||||
|
if actor.Type == "chan" then
|
||||||
|
Trigger.RemoveProximityTrigger(id)
|
||||||
|
HiveGassed[nestId] = true
|
||||||
|
Actor.Create("flare", true, { Owner = England, Location = Hives[nestId].Location })
|
||||||
|
Actor.Create("flare", true, { Owner = England, Location = HiveFlares[nestId].Location })
|
||||||
|
Trigger.OnEnteredFootprint(HiveKillzones[nestId], function(ant)
|
||||||
|
if ant.Type == "warriorant" then
|
||||||
|
ant.Kill("ExplosionDeath")
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
SendAnts = function()
|
||||||
|
if not Spain.IsObjectiveCompleted(KillAll) and not AntsSent then
|
||||||
|
AntsSent = true
|
||||||
|
Utils.Do(BadGuy.GetGroundAttackers(), function(ant)
|
||||||
|
IdleHunt(ant)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Tick = function()
|
||||||
|
if Spain.HasNoRequiredUnits() then
|
||||||
|
BadGuy.MarkCompletedObjective(EatSpain)
|
||||||
|
end
|
||||||
|
|
||||||
|
if BadGuy.HasNoRequiredUnits() then
|
||||||
|
Spain.MarkCompletedObjective(KillAll)
|
||||||
|
end
|
||||||
|
|
||||||
|
if Hive1Gassed and Hive2Gassed and Hive3Gassed and Hive4Gassed and Hive5Gassed and Hive6Gassed and Hive7Gassed then
|
||||||
|
Spain.MarkCompletedObjective(GasNests)
|
||||||
|
SendAnts()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
WorldLoaded = function()
|
||||||
|
Spain = Player.GetPlayer("Spain")
|
||||||
|
BadGuy = Player.GetPlayer("BadGuy")
|
||||||
|
USSR = Player.GetPlayer("USSR")
|
||||||
|
England = Player.GetPlayer("England")
|
||||||
|
|
||||||
|
Trigger.OnObjectiveAdded(Spain, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
|
||||||
|
end)
|
||||||
|
|
||||||
|
EatSpain = BadGuy.AddObjective("For the Swarm!")
|
||||||
|
GasNests = Spain.AddObjective("Gas every ant nest.")
|
||||||
|
KillAll = Spain.AddObjective("Kill every ant lurking above ground.")
|
||||||
|
|
||||||
|
Trigger.OnObjectiveCompleted(Spain, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
|
||||||
|
end)
|
||||||
|
Trigger.OnObjectiveFailed(Spain, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
|
||||||
|
end)
|
||||||
|
Trigger.OnPlayerLost(Spain, function()
|
||||||
|
Media.PlaySpeechNotification(Spain, "Lose")
|
||||||
|
end)
|
||||||
|
Trigger.OnPlayerWon(Spain, function()
|
||||||
|
Media.PlaySpeechNotification(Spain, "Win")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||||
|
Start()
|
||||||
|
GasAntNests()
|
||||||
|
ActivateAntHives()
|
||||||
|
end
|
||||||
BIN
mods/ra/maps/ant-03/map.bin
Normal file
BIN
mods/ra/maps/ant-03/map.bin
Normal file
Binary file not shown.
BIN
mods/ra/maps/ant-03/map.png
Normal file
BIN
mods/ra/maps/ant-03/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
671
mods/ra/maps/ant-03/map.yaml
Normal file
671
mods/ra/maps/ant-03/map.yaml
Normal file
@@ -0,0 +1,671 @@
|
|||||||
|
MapFormat: 11
|
||||||
|
|
||||||
|
RequiresMod: ra
|
||||||
|
|
||||||
|
Title: 03: Hunt!
|
||||||
|
|
||||||
|
Author: Westwood Studios
|
||||||
|
|
||||||
|
Tileset: TEMPERAT
|
||||||
|
|
||||||
|
MapSize: 128,128
|
||||||
|
|
||||||
|
Bounds: 28,27,75,80
|
||||||
|
|
||||||
|
Visibility: MissionSelector
|
||||||
|
|
||||||
|
Categories: Campaign
|
||||||
|
|
||||||
|
LockPreview: True
|
||||||
|
|
||||||
|
Players:
|
||||||
|
PlayerReference@Neutral:
|
||||||
|
Name: Neutral
|
||||||
|
OwnsWorld: True
|
||||||
|
NonCombatant: True
|
||||||
|
Faction: allies
|
||||||
|
PlayerReference@BadGuy:
|
||||||
|
Name: BadGuy
|
||||||
|
Faction: soviet
|
||||||
|
Color: FF1400
|
||||||
|
Allies: USSR
|
||||||
|
Enemies: Spain
|
||||||
|
PlayerReference@Spain:
|
||||||
|
Name: Spain
|
||||||
|
AllowBots: False
|
||||||
|
Playable: True
|
||||||
|
Required: True
|
||||||
|
LockFaction: True
|
||||||
|
Faction: allies
|
||||||
|
LockColor: True
|
||||||
|
Color: F6D679
|
||||||
|
LockSpawn: True
|
||||||
|
LockTeam: True
|
||||||
|
Allies: England
|
||||||
|
Enemies: BadGuy, Spain, USSR
|
||||||
|
PlayerReference@USSR:
|
||||||
|
Name: USSR
|
||||||
|
Faction: soviet
|
||||||
|
Color: FF1400
|
||||||
|
Allies: BadGuy
|
||||||
|
Enemies: Spain
|
||||||
|
PlayerReference@England:
|
||||||
|
Name: England
|
||||||
|
Faction: allies
|
||||||
|
Color: A0F08C
|
||||||
|
Allies: Spain
|
||||||
|
|
||||||
|
Actors:
|
||||||
|
Actor0: brik
|
||||||
|
Location: 52,33
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 38
|
||||||
|
Actor1: brik
|
||||||
|
Location: 51,34
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 48
|
||||||
|
Actor2: brik
|
||||||
|
Location: 52,34
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor3: brik
|
||||||
|
Location: 52,35
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor4: brik
|
||||||
|
Location: 52,36
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 47
|
||||||
|
Actor5: wcrate
|
||||||
|
Location: 92,39
|
||||||
|
Owner: Neutral
|
||||||
|
Actor6: brik
|
||||||
|
Location: 51,40
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 49
|
||||||
|
Actor7: brik
|
||||||
|
Location: 51,41
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 41
|
||||||
|
Actor8: brik
|
||||||
|
Location: 50,43
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor9: brik
|
||||||
|
Location: 51,43
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 29
|
||||||
|
Actor10: brik
|
||||||
|
Location: 44,44
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor11: brik
|
||||||
|
Location: 45,44
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor12: brik
|
||||||
|
Location: 46,44
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 44
|
||||||
|
Actor13: brik
|
||||||
|
Location: 50,44
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 39
|
||||||
|
Actor14: brik
|
||||||
|
Location: 44,45
|
||||||
|
Owner: BadGuy
|
||||||
|
Actor15: brik
|
||||||
|
Location: 45,45
|
||||||
|
Owner: BadGuy
|
||||||
|
Health: 35
|
||||||
|
Actor16: tc03
|
||||||
|
Location: 80,79
|
||||||
|
Owner: Neutral
|
||||||
|
Actor17: tc04
|
||||||
|
Location: 66,64
|
||||||
|
Owner: Neutral
|
||||||
|
Actor18: tc01
|
||||||
|
Location: 65,63
|
||||||
|
Owner: Neutral
|
||||||
|
Actor19: tc05
|
||||||
|
Location: 92,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor20: tc03
|
||||||
|
Location: 95,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor21: tc02
|
||||||
|
Location: 100,59
|
||||||
|
Owner: Neutral
|
||||||
|
Actor22: t16
|
||||||
|
Location: 102,58
|
||||||
|
Owner: Neutral
|
||||||
|
Actor23: tc03
|
||||||
|
Location: 92,72
|
||||||
|
Owner: Neutral
|
||||||
|
Actor24: tc02
|
||||||
|
Location: 94,71
|
||||||
|
Owner: Neutral
|
||||||
|
Actor25: tc03
|
||||||
|
Location: 76,67
|
||||||
|
Owner: Neutral
|
||||||
|
Actor26: tc01
|
||||||
|
Location: 84,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor27: tc04
|
||||||
|
Location: 85,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor28: t14
|
||||||
|
Location: 91,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor29: t15
|
||||||
|
Location: 58,61
|
||||||
|
Owner: Neutral
|
||||||
|
Actor30: tc05
|
||||||
|
Location: 58,68
|
||||||
|
Owner: Neutral
|
||||||
|
Actor31: tc04
|
||||||
|
Location: 57,67
|
||||||
|
Owner: Neutral
|
||||||
|
Actor32: tc03
|
||||||
|
Location: 55,68
|
||||||
|
Owner: Neutral
|
||||||
|
Actor33: tc04
|
||||||
|
Location: 28,69
|
||||||
|
Owner: Neutral
|
||||||
|
Actor34: tc05
|
||||||
|
Location: 38,81
|
||||||
|
Owner: Neutral
|
||||||
|
Actor35: tc01
|
||||||
|
Location: 96,99
|
||||||
|
Owner: Neutral
|
||||||
|
Actor36: tc04
|
||||||
|
Location: 89,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor37: t15
|
||||||
|
Location: 96,103
|
||||||
|
Owner: Neutral
|
||||||
|
Actor38: tc04
|
||||||
|
Location: 46,69
|
||||||
|
Owner: Neutral
|
||||||
|
Actor39: tc02
|
||||||
|
Location: 44,70
|
||||||
|
Owner: Neutral
|
||||||
|
Actor40: tc03
|
||||||
|
Location: 39,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor41: tc02
|
||||||
|
Location: 37,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor42: tc05
|
||||||
|
Location: 63,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor43: tc04
|
||||||
|
Location: 61,33
|
||||||
|
Owner: Neutral
|
||||||
|
Actor44: tc01
|
||||||
|
Location: 63,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor45: t11
|
||||||
|
Location: 49,51
|
||||||
|
Owner: Neutral
|
||||||
|
Actor46: t10
|
||||||
|
Location: 58,79
|
||||||
|
Owner: Neutral
|
||||||
|
Actor47: tc05
|
||||||
|
Location: 45,100
|
||||||
|
Owner: Neutral
|
||||||
|
Actor48: tc02
|
||||||
|
Location: 55,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor49: tc05
|
||||||
|
Location: 62,102
|
||||||
|
Owner: Neutral
|
||||||
|
Actor50: t01
|
||||||
|
Location: 37,43
|
||||||
|
Owner: Neutral
|
||||||
|
Actor51: tc02
|
||||||
|
Location: 54,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor52: tc01
|
||||||
|
Location: 76,35
|
||||||
|
Owner: Neutral
|
||||||
|
Actor53: tc02
|
||||||
|
Location: 81,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor54: tc05
|
||||||
|
Location: 100,27
|
||||||
|
Owner: Neutral
|
||||||
|
Actor55: tc02
|
||||||
|
Location: 101,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor56: tc03
|
||||||
|
Location: 101,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor57: tc04
|
||||||
|
Location: 38,76
|
||||||
|
Owner: Neutral
|
||||||
|
Actor58: t16
|
||||||
|
Location: 38,78
|
||||||
|
Owner: Neutral
|
||||||
|
Actor59: mine
|
||||||
|
Location: 30,60
|
||||||
|
Owner: Neutral
|
||||||
|
Actor60: mine
|
||||||
|
Location: 84,64
|
||||||
|
Owner: Neutral
|
||||||
|
Actor61: mine
|
||||||
|
Location: 100,104
|
||||||
|
Owner: Neutral
|
||||||
|
Actor62: t02
|
||||||
|
Location: 98,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor63: tc04
|
||||||
|
Location: 84,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor64: tc05
|
||||||
|
Location: 81,104
|
||||||
|
Owner: Neutral
|
||||||
|
Actor65: tc01
|
||||||
|
Location: 80,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor66: tc04
|
||||||
|
Location: 94,78
|
||||||
|
Owner: Neutral
|
||||||
|
Actor67: tc01
|
||||||
|
Location: 96,77
|
||||||
|
Owner: Neutral
|
||||||
|
Actor68: tc03
|
||||||
|
Location: 45,104
|
||||||
|
Owner: Neutral
|
||||||
|
Actor69: tc03
|
||||||
|
Location: 28,90
|
||||||
|
Owner: Neutral
|
||||||
|
Actor70: tc01
|
||||||
|
Location: 66,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor71: tc05
|
||||||
|
Location: 59,43
|
||||||
|
Owner: Neutral
|
||||||
|
Actor72: tc02
|
||||||
|
Location: 34,82
|
||||||
|
Owner: Neutral
|
||||||
|
Actor73: t01
|
||||||
|
Location: 71,84
|
||||||
|
Owner: Neutral
|
||||||
|
Actor74: tc03
|
||||||
|
Location: 69,103
|
||||||
|
Owner: Neutral
|
||||||
|
Actor75: tc01
|
||||||
|
Location: 87,57
|
||||||
|
Owner: Neutral
|
||||||
|
Actor76: tc04
|
||||||
|
Location: 81,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor77: tc05
|
||||||
|
Location: 100,87
|
||||||
|
Owner: Neutral
|
||||||
|
Actor78: weap
|
||||||
|
Location: 48,34
|
||||||
|
Health: 6
|
||||||
|
Owner: USSR
|
||||||
|
Actor79: silo
|
||||||
|
Location: 38,38
|
||||||
|
Health: 6
|
||||||
|
Owner: USSR
|
||||||
|
Actor80: sam
|
||||||
|
Location: 43,32
|
||||||
|
Facing: 124
|
||||||
|
Health: 25
|
||||||
|
Owner: USSR
|
||||||
|
Actor81: afld
|
||||||
|
Location: 39,41
|
||||||
|
Health: 10
|
||||||
|
Owner: USSR
|
||||||
|
Actor82: apwr
|
||||||
|
Location: 43,39
|
||||||
|
Owner: USSR
|
||||||
|
Health: 20
|
||||||
|
Actor83: barr
|
||||||
|
Location: 47,39
|
||||||
|
Health: 6
|
||||||
|
Owner: USSR
|
||||||
|
Actor84: fix
|
||||||
|
Location: 44,34
|
||||||
|
Owner: USSR
|
||||||
|
Health: 28
|
||||||
|
Actor85: stek
|
||||||
|
Location: 39,31
|
||||||
|
Health: 6
|
||||||
|
Owner: USSR
|
||||||
|
Actor86: fcom
|
||||||
|
Location: 40,37
|
||||||
|
Health: 6
|
||||||
|
Owner: USSR
|
||||||
|
Actor87: v01
|
||||||
|
Location: 92,38
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 10
|
||||||
|
Actor88: v02
|
||||||
|
Location: 99,44
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 12
|
||||||
|
Actor89: v08
|
||||||
|
Location: 96,44
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 12
|
||||||
|
Actor90: v11
|
||||||
|
Location: 89,40
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 20
|
||||||
|
Actor91: v10
|
||||||
|
Location: 100,38
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 8
|
||||||
|
Actor92: v09
|
||||||
|
Location: 99,41
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 10
|
||||||
|
Actor93: v05
|
||||||
|
Location: 89,43
|
||||||
|
Owner: Neutral
|
||||||
|
Health: 10
|
||||||
|
Actor94: mcv
|
||||||
|
Location: 100,92
|
||||||
|
Owner: Spain
|
||||||
|
Facing: 252
|
||||||
|
Actor95: 2tnk
|
||||||
|
Location: 98,91
|
||||||
|
Owner: Spain
|
||||||
|
Facing: 252
|
||||||
|
Actor96: 2tnk
|
||||||
|
Location: 98,93
|
||||||
|
Owner: Spain
|
||||||
|
Facing: 252
|
||||||
|
Actor97: 4tnk
|
||||||
|
Location: 101,93
|
||||||
|
Owner: Spain
|
||||||
|
Facing: 252
|
||||||
|
Actor98: 4tnk
|
||||||
|
Location: 101,91
|
||||||
|
Owner: Spain
|
||||||
|
Facing: 252
|
||||||
|
StartAnt2: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Location: 72,101
|
||||||
|
Facing: 384
|
||||||
|
StartAnt1: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Location: 100,74
|
||||||
|
Facing: 384
|
||||||
|
Actor154: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 100,70
|
||||||
|
Actor155: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 87,70
|
||||||
|
Actor156: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 79,70
|
||||||
|
Actor157: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 100,63
|
||||||
|
Actor158: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 88,61
|
||||||
|
Actor159: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 97,56
|
||||||
|
Actor160: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 91,51
|
||||||
|
Actor161: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 95,52
|
||||||
|
Actor162: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 91,55
|
||||||
|
Actor163: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 85,55
|
||||||
|
Actor164: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 84,48
|
||||||
|
Actor165: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 82,49
|
||||||
|
Actor166: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 76,50
|
||||||
|
Actor167: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 92,42
|
||||||
|
Actor168: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 82,30
|
||||||
|
Actor169: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 85,36
|
||||||
|
Actor170: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 67,28
|
||||||
|
Actor171: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 67,34
|
||||||
|
Actor172: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 33,31
|
||||||
|
Actor173: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 38,35
|
||||||
|
Actor174: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 46,32
|
||||||
|
Actor175: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 49,37
|
||||||
|
Actor176: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 42,40
|
||||||
|
Actor177: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 44,42
|
||||||
|
Actor178: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 47,45
|
||||||
|
Actor179: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Location: 52,42
|
||||||
|
Facing: 384
|
||||||
|
Actor180: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 35,55
|
||||||
|
Actor181: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 34,62
|
||||||
|
Actor182: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 30,64
|
||||||
|
Actor183: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 29,71
|
||||||
|
Actor184: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 32,73
|
||||||
|
Actor185: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 29,78
|
||||||
|
Actor186: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 32,86
|
||||||
|
Actor187: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 31,89
|
||||||
|
Actor188: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 46,87
|
||||||
|
Actor189: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 42,74
|
||||||
|
Actor190: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 49,72
|
||||||
|
Actor191: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 48,96
|
||||||
|
Actor192: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 51,100
|
||||||
|
Actor193: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 55,103
|
||||||
|
Actor194: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 54,95
|
||||||
|
Actor195: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 56,96
|
||||||
|
Actor196: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 63,95
|
||||||
|
Actor197: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 68,99
|
||||||
|
Actor198: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 69,94
|
||||||
|
Actor199: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 69,90
|
||||||
|
Actor200: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 67,79
|
||||||
|
Actor201: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 62,72
|
||||||
|
Actor202: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 60,72
|
||||||
|
Actor203: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 55,70
|
||||||
|
Actor204: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 53,71
|
||||||
|
Actor205: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 57,67
|
||||||
|
Actor206: warriorant
|
||||||
|
Owner: BadGuy
|
||||||
|
Facing: 384
|
||||||
|
Location: 58,67
|
||||||
|
DefaultCameraPosition: waypoint
|
||||||
|
Location: 99,92
|
||||||
|
Owner: Neutral
|
||||||
|
SpainEntry: waypoint
|
||||||
|
Location: 102,92
|
||||||
|
Owner: Neutral
|
||||||
|
APCStop: waypoint
|
||||||
|
Location: 96,88
|
||||||
|
Owner: Neutral
|
||||||
|
Hive1: waypoint
|
||||||
|
Location: 83,85
|
||||||
|
Owner: Neutral
|
||||||
|
Hive1Flare: waypoint
|
||||||
|
Location: 82,84
|
||||||
|
Owner: Neutral
|
||||||
|
Hive2: waypoint
|
||||||
|
Location: 87,52
|
||||||
|
Owner: Neutral
|
||||||
|
Hive2Flare: waypoint
|
||||||
|
Location: 86,51
|
||||||
|
Owner: Neutral
|
||||||
|
Hive3: waypoint
|
||||||
|
Location: 76,32
|
||||||
|
Owner: Neutral
|
||||||
|
Hive3Flare: waypoint
|
||||||
|
Location: 75,31
|
||||||
|
Owner: Neutral
|
||||||
|
Hive4: waypoint
|
||||||
|
Location: 54,101
|
||||||
|
Owner: Neutral
|
||||||
|
Hive4Flare: waypoint
|
||||||
|
Location: 53,100
|
||||||
|
Owner: Neutral
|
||||||
|
Hive5: waypoint
|
||||||
|
Location: 58,64
|
||||||
|
Owner: Neutral
|
||||||
|
Hive5Flare: waypoint
|
||||||
|
Location: 57,63
|
||||||
|
Owner: Neutral
|
||||||
|
Hive6: waypoint
|
||||||
|
Location: 35,33
|
||||||
|
Owner: Neutral
|
||||||
|
Hive6Flare: waypoint
|
||||||
|
Location: 34,32
|
||||||
|
Owner: Neutral
|
||||||
|
Hive7: waypoint
|
||||||
|
Location: 33,78
|
||||||
|
Owner: Neutral
|
||||||
|
Hive7Flare: waypoint
|
||||||
|
Location: 32,77
|
||||||
|
Owner: Neutral
|
||||||
|
NorthPath1: waypoint
|
||||||
|
Location: 86,78
|
||||||
|
Owner: Neutral
|
||||||
|
NorthPath2: waypoint
|
||||||
|
Location: 100,76
|
||||||
|
Owner: Neutral
|
||||||
|
SouthPath1: waypoint
|
||||||
|
Location: 74,90
|
||||||
|
Owner: Neutral
|
||||||
|
SouthPath2: waypoint
|
||||||
|
Location: 74,101
|
||||||
|
Owner: Neutral
|
||||||
|
|
||||||
|
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||||
137
mods/ra/maps/ant-03/rules.yaml
Normal file
137
mods/ra/maps/ant-03/rules.yaml
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
World:
|
||||||
|
LuaScript:
|
||||||
|
Scripts: ant-03.lua, ant-03-AI.lua, campaign-global.lua
|
||||||
|
MissionData:
|
||||||
|
Briefing: The source of the ant's activity has been pinpointed in this area. We suspect that their nests are in this area -- they must be destroyed!\n\nA team of civilian specialists are en-route to your location. Use them to gas all the ant nests in the area. In addition, destroy all ants that you encounter.\n\nBe careful -- these things can chew through anything. Good luck.
|
||||||
|
ScriptLobbyDropdown@difficulty:
|
||||||
|
ID: difficulty
|
||||||
|
Label: Difficulty
|
||||||
|
Values:
|
||||||
|
easy: Easy
|
||||||
|
normal: Normal
|
||||||
|
hard: Hard
|
||||||
|
Default: normal
|
||||||
|
|
||||||
|
Player:
|
||||||
|
PlayerResources:
|
||||||
|
DefaultCash: 5500
|
||||||
|
|
||||||
|
WarriorAnt:
|
||||||
|
MustBeDestroyed:
|
||||||
|
Health:
|
||||||
|
HP: 25000
|
||||||
|
|
||||||
|
CHAN:
|
||||||
|
-Wanders:
|
||||||
|
|
||||||
|
APC.grens:
|
||||||
|
Inherits: APC
|
||||||
|
RenderSprites:
|
||||||
|
Image: APC
|
||||||
|
Selectable:
|
||||||
|
Class: APC
|
||||||
|
Cargo:
|
||||||
|
InitialUnits: e2, e2, e1, e1, e1
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
APC.rockets:
|
||||||
|
Inherits: APC
|
||||||
|
RenderSprites:
|
||||||
|
Image: APC
|
||||||
|
Selectable:
|
||||||
|
Class: APC
|
||||||
|
Cargo:
|
||||||
|
InitialUnits: e3, e3, e3, e3, e3
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
APC:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~vehicles.allies
|
||||||
|
Selectable:
|
||||||
|
Class: APC
|
||||||
|
|
||||||
|
E2:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~tent
|
||||||
|
|
||||||
|
E4:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: stek, ~barr
|
||||||
|
|
||||||
|
V2RL:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: dome, ~vehicles.allies
|
||||||
|
|
||||||
|
4TNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: fix, dome, ~vehicles.allies
|
||||||
|
|
||||||
|
SPY:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MECH:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
3TNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
FTRK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
QTNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
THF:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
GAP:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MSLO:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
PDOX:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
E7:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
E7.noautotarget:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MCV:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
TRUK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MRJ:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
ARTY:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
ATEK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
HPAD:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
@@ -57,3 +57,4 @@ OpenRA Originals:
|
|||||||
survival02
|
survival02
|
||||||
Ant Missions:
|
Ant Missions:
|
||||||
ant-01
|
ant-01
|
||||||
|
ant-03
|
||||||
|
|||||||
Reference in New Issue
Block a user