mirror of
https://github.com/iTracerFacer/DCS_MissionDev.git
synced 2025-12-03 04:14:46 +00:00
337 lines
21 KiB
Lua
337 lines
21 KiB
Lua
|
|
-- Operation Polar Shield Mission Script using MOOSE
|
|
|
|
|
|
-- Set Spawn Limits - These limits can be adjusted to change the number of ground units that will spawn for each type.
|
|
-- These set max units, not groups. For example, the manpad group in the mission editor is 2 units. So if MAX_RU_MANPADS = 10, then 5 groups of manpads will spawn.
|
|
-- So you have to know how many units are in each group to set these limits effectively.
|
|
|
|
MAX_RU_MANPADS = 20 -- Each group has 2 units, so 10 = 5 groups of 2.
|
|
MAX_RU_AAA = 20 -- Each group has 1 units, so 25 = 25 groups of 1.
|
|
MAX_RU_TANK_T90 = 5 -- The rest of these groups have 1 unit each.
|
|
MAX_RU_TANK_T55 = 5
|
|
MAX_RU_IFV = 15
|
|
MAX_RU_IFV_Technicals = 15
|
|
MAX_RU_SA08 = 10
|
|
MAX_RU_SA19 = 12
|
|
MAX_RU_SA15 = 30 -- This is a group of 3 . Sa15 + Shilka + Ammo truck.
|
|
MAX_RU_SA2 = 120 -- Each group has 15 units, so 120 = 8 groups of 15.
|
|
MAX_RU_SA6 = 88 -- Each group has 11 units, so 88 = 8 groups of 11.
|
|
MAX_RU_SA10 = 90 -- Each group has 18 units, so 90 = 5 groups of 19.
|
|
|
|
MIN_RU_INTERCEPTORS = 1 -- Each group has 2 units, so 2 = 1 group of 2. This is the minimum number of interceptors that will always be present.
|
|
MAX_RU_INTERCEPTORS = 500 -- This the total number of interceptors that can be spawned. The script will maintain at least the minimum number above.
|
|
|
|
-- MAX_RU_ARTY = 10 -- Disabled lower regardless of this setting. Will fix later.
|
|
|
|
|
|
-- Build Command Center and Mission for Blue Coalition
|
|
local blueHQ = GROUP:FindByName("BLUEHQ")
|
|
if blueHQ then
|
|
US_CC = COMMANDCENTER:New(blueHQ, "USA HQ")
|
|
US_Mission = MISSION:New(US_CC, "Operation Polar Hammer", "Primary", "", coalition.side.BLUE)
|
|
US_Score = SCORING:New("Operation Polar Hammer")
|
|
--US_Mission:AddScoring(US_Score)
|
|
--US_Mission:Start()
|
|
env.info("Blue Coalition Command Center and Mission started successfully")
|
|
else
|
|
env.info("ERROR: BLUEHQ group not found! Blue mission will not start.")
|
|
end
|
|
|
|
--Build Command Center and Mission Red
|
|
local redHQ = GROUP:FindByName("REDHQ")
|
|
if redHQ then
|
|
RU_CC = COMMANDCENTER:New(redHQ, "Russia HQ")
|
|
RU_Mission = MISSION:New(RU_CC, "Operation Polar Shield", "Primary", "Hold what we have, take what we don't.", coalition.side.RED)
|
|
--RU_Score = SCORING:New("Operation Polar Shield")
|
|
--RU_Mission:AddScoring(RU_Score)
|
|
RU_Mission:Start()
|
|
env.info("Red Coalition Command Center and Mission started successfully")
|
|
else
|
|
env.info("ERROR: REDHQ group not found! Red mission will not start.")
|
|
end
|
|
|
|
-- Table of Zones to spread red ground forces randomly around.
|
|
RandomSpawnZoneTable = {
|
|
ZONE:New("sp-1"), ZONE:New("sp-2"), ZONE:New("sp-3"), ZONE:New("sp-4"), ZONE:New("sp-5"),
|
|
ZONE:New("sp-6"), ZONE:New("sp-7"), ZONE:New("sp-8"), ZONE:New("sp-9"), ZONE:New("sp-10"),
|
|
ZONE:New("sp-11"), ZONE:New("sp-12"), ZONE:New("sp-13"), ZONE:New("sp-14"), ZONE:New("sp-15"),
|
|
ZONE:New("sp-16"), ZONE:New("sp-17"), ZONE:New("sp-18"), ZONE:New("sp-19"), ZONE:New("sp-20"),
|
|
ZONE:New("sp-21"), ZONE:New("sp-22"), ZONE:New("sp-23"), ZONE:New("sp-24"), ZONE:New("sp-25"),
|
|
ZONE:New("sp-26"), ZONE:New("sp-27"), ZONE:New("sp-28"), ZONE:New("sp-29"), ZONE:New("sp-30"),
|
|
ZONE:New("sp-31"), ZONE:New("sp-32"), ZONE:New("sp-33"), ZONE:New("sp-34"), ZONE:New("sp-35"),
|
|
ZONE:New("sp-36"), ZONE:New("sp-37"), ZONE:New("sp-38"), ZONE:New("sp-39"), ZONE:New("sp-40"),
|
|
ZONE:New("sp-41"), ZONE:New("sp-42"), ZONE:New("sp-43"), ZONE:New("sp-44"), ZONE:New("sp-45"),
|
|
ZONE:New("sp-46"), ZONE:New("sp-47"), ZONE:New("sp-48"), ZONE:New("sp-49"), ZONE:New("sp-50"),
|
|
ZONE:New("sp-51"), ZONE:New("sp-52"), ZONE:New("sp-53"), ZONE:New("sp-54"), ZONE:New("sp-55"),
|
|
ZONE:New("sp-56"), ZONE:New("sp-57"), ZONE:New("sp-58"), ZONE:New("sp-59"), ZONE:New("sp-60"),
|
|
ZONE:New("sp-61"), ZONE:New("sp-62"), ZONE:New("sp-63"), ZONE:New("sp-64"), ZONE:New("sp-65"),
|
|
ZONE:New("sp-66"), ZONE:New("sp-67"), ZONE:New("sp-68"), ZONE:New("sp-69"), ZONE:New("sp-70"),
|
|
ZONE:New("sp-71"), ZONE:New("sp-72"), ZONE:New("sp-73"), ZONE:New("sp-74"), ZONE:New("sp-75"),
|
|
ZONE:New("sp-76"), ZONE:New("sp-77"), ZONE:New("sp-78"), ZONE:New("sp-79"), ZONE:New("sp-80"),
|
|
ZONE:New("sp-81"), ZONE:New("sp-82"), ZONE:New("sp-83"), ZONE:New("sp-84"), ZONE:New("sp-85"),
|
|
ZONE:New("sp-86"), ZONE:New("sp-87"), ZONE:New("sp-88"), ZONE:New("sp-89"), ZONE:New("sp-90"),
|
|
ZONE:New("sp-91"), ZONE:New("sp-92"), ZONE:New("sp-93"), ZONE:New("sp-94"), ZONE:New("sp-95"),
|
|
ZONE:New("sp-96"), ZONE:New("sp-97"), ZONE:New("sp-98"), ZONE:New("sp-99"), ZONE:New("sp-100"),
|
|
ZONE:New("sp-101"), ZONE:New("sp-102"), ZONE:New("sp-103"), ZONE:New("sp-104"), ZONE:New("sp-105"),
|
|
ZONE:New("sp-106"), ZONE:New("sp-107"), ZONE:New("sp-108"), ZONE:New("sp-109"), ZONE:New("sp-110"),
|
|
ZONE:New("sp-111"), ZONE:New("sp-112"), ZONE:New("sp-113"), ZONE:New("sp-114"), ZONE:New("sp-115"),
|
|
ZONE:New("sp-116"), ZONE:New("sp-117"), ZONE:New("sp-118"), ZONE:New("sp-119"), ZONE:New("sp-120"),
|
|
ZONE:New("sp-121"), ZONE:New("sp-122"), ZONE:New("sp-123"), ZONE:New("sp-124"), ZONE:New("sp-125"),
|
|
ZONE:New("sp-126"), ZONE:New("sp-127"), ZONE:New("sp-128"), ZONE:New("sp-129"), ZONE:New("sp-130"),
|
|
ZONE:New("sp-131"), ZONE:New("sp-132"), ZONE:New("sp-133"), ZONE:New("sp-134"), ZONE:New("sp-135"),
|
|
ZONE:New("sp-136"), ZONE:New("sp-137"), ZONE:New("sp-138"), ZONE:New("sp-139"), ZONE:New("sp-140"),
|
|
ZONE:New("sp-141"), ZONE:New("sp-142"), ZONE:New("sp-143"), ZONE:New("sp-144"), ZONE:New("sp-145"),
|
|
ZONE:New("sp-146"), ZONE:New("sp-147"), ZONE:New("sp-148"), ZONE:New("sp-149"), ZONE:New("sp-150"),
|
|
ZONE:New("sp-151"), ZONE:New("sp-152"), ZONE:New("sp-153"), ZONE:New("sp-154"), ZONE:New("sp-155"),
|
|
ZONE:New("sp-156"), ZONE:New("sp-157"), ZONE:New("sp-158"), ZONE:New("sp-159"), ZONE:New("sp-160"),
|
|
ZONE:New("sp-161"), ZONE:New("sp-162"), ZONE:New("sp-163"), ZONE:New("sp-164"), ZONE:New("sp-165"),
|
|
ZONE:New("sp-166"), ZONE:New("sp-167"), ZONE:New("sp-168"), ZONE:New("sp-169"), ZONE:New("sp-170"),
|
|
ZONE:New("sp-171"), ZONE:New("sp-172"), ZONE:New("sp-173"), ZONE:New("sp-174"), ZONE:New("sp-175"),
|
|
ZONE:New("sp-176"), ZONE:New("sp-177"), ZONE:New("sp-178"), ZONE:New("sp-179"), ZONE:New("sp-180"),
|
|
ZONE:New("sp-181"), ZONE:New("sp-182"), ZONE:New("sp-183"), ZONE:New("sp-184"), ZONE:New("sp-185"),
|
|
ZONE:New("sp-186"), ZONE:New("sp-187"), ZONE:New("sp-188"), ZONE:New("sp-189"), ZONE:New("sp-190"),
|
|
ZONE:New("sp-191"), ZONE:New("sp-192"), ZONE:New("sp-193"), ZONE:New("sp-194"), ZONE:New("sp-195"),
|
|
ZONE:New("sp-196"), ZONE:New("sp-197"), ZONE:New("sp-198"), ZONE:New("sp-199"), ZONE:New("sp-200"),
|
|
ZONE:New("sp-201"), ZONE:New("sp-202"), ZONE:New("sp-203"), ZONE:New("sp-204"), ZONE:New("sp-205"),
|
|
ZONE:New("sp-206"), ZONE:New("sp-207"), ZONE:New("sp-208"), ZONE:New("sp-209"), ZONE:New("sp-210"),
|
|
ZONE:New("sp-211"), ZONE:New("sp-212"), ZONE:New("sp-213"), ZONE:New("sp-214"), ZONE:New("sp-215"),
|
|
ZONE:New("sp-216"), ZONE:New("sp-217"), ZONE:New("sp-218"), ZONE:New("sp-219"), ZONE:New("sp-220"),
|
|
ZONE:New("sp-221"), ZONE:New("sp-222"), ZONE:New("sp-223"), ZONE:New("sp-224"), ZONE:New("sp-225"),
|
|
ZONE:New("sp-226"), ZONE:New("sp-227"), ZONE:New("sp-228"), ZONE:New("sp-229"), ZONE:New("sp-230"),
|
|
ZONE:New("sp-231"), ZONE:New("sp-232"), ZONE:New("sp-233"), ZONE:New("sp-234"), ZONE:New("sp-235"),
|
|
ZONE:New("sp-236"), ZONE:New("sp-237"), ZONE:New("sp-238"), ZONE:New("sp-239"), ZONE:New("sp-240"),
|
|
ZONE:New("sp-241"), ZONE:New("sp-242"), ZONE:New("sp-243"), ZONE:New("sp-244"), ZONE:New("sp-245"),
|
|
ZONE:New("sp-246"), ZONE:New("sp-247"), ZONE:New("sp-248"), ZONE:New("sp-249"), ZONE:New("sp-250"),
|
|
ZONE:New("sp-251"), ZONE:New("sp-252"), ZONE:New("sp-253"), ZONE:New("sp-254"), ZONE:New("sp-255"),
|
|
ZONE:New("sp-256"), ZONE:New("sp-257"), ZONE:New("sp-258"), ZONE:New("sp-259"), ZONE:New("sp-260"),
|
|
ZONE:New("sp-261"), ZONE:New("sp-262"), ZONE:New("sp-263"), ZONE:New("sp-264"), ZONE:New("sp-265"),
|
|
ZONE:New("sp-266"), ZONE:New("sp-267"), ZONE:New("sp-268"), ZONE:New("sp-269"), ZONE:New("sp-270"),
|
|
ZONE:New("sp-271"), ZONE:New("sp-272"), ZONE:New("sp-273"), ZONE:New("sp-274"), ZONE:New("sp-275"),
|
|
ZONE:New("sp-276"), ZONE:New("sp-277"), ZONE:New("sp-278"), ZONE:New("sp-279"), ZONE:New("sp-280"),
|
|
ZONE:New("sp-281"), ZONE:New("sp-282"), ZONE:New("sp-283"), ZONE:New("sp-284"), ZONE:New("sp-285"),
|
|
ZONE:New("sp-286"), ZONE:New("sp-287"), ZONE:New("sp-288"), ZONE:New("sp-289"), ZONE:New("sp-290"),
|
|
ZONE:New("sp-291"), ZONE:New("sp-292"), ZONE:New("sp-293"), ZONE:New("sp-294"), ZONE:New("sp-295"),
|
|
ZONE:New("sp-296"), ZONE:New("sp-297"), ZONE:New("sp-298"), ZONE:New("sp-299"), ZONE:New("sp-300"),
|
|
ZONE:New("sp-301"), ZONE:New("sp-302"), ZONE:New("sp-303"), ZONE:New("sp-304"), ZONE:New("sp-305"),
|
|
ZONE:New("sp-306"), ZONE:New("sp-307"), ZONE:New("sp-308"), ZONE:New("sp-309"), ZONE:New("sp-310"),
|
|
ZONE:New("sp-311"), ZONE:New("sp-312"), ZONE:New("sp-313"), ZONE:New("sp-314"), ZONE:New("sp-315"),
|
|
ZONE:New("sp-316"), ZONE:New("sp-317"), ZONE:New("sp-318"), ZONE:New("sp-319"), ZONE:New("sp-320"),
|
|
ZONE:New("sp-321"), ZONE:New("sp-322"), ZONE:New("sp-323"), ZONE:New("sp-324"), ZONE:New("sp-325"),
|
|
ZONE:New("sp-326"), ZONE:New("sp-327"), ZONE:New("sp-328"), ZONE:New("sp-329"), ZONE:New("sp-330"),
|
|
ZONE:New("sp-331"), ZONE:New("sp-332"), ZONE:New("sp-333"), ZONE:New("sp-334"), ZONE:New("sp-335"),
|
|
ZONE:New("sp-336"), ZONE:New("sp-337"), ZONE:New("sp-338"), ZONE:New("sp-339"), ZONE:New("sp-340"),
|
|
ZONE:New("sp-341"), ZONE:New("sp-342"), ZONE:New("sp-343"), ZONE:New("sp-344"), ZONE:New("sp-345"),
|
|
ZONE:New("sp-346"), ZONE:New("sp-347"), ZONE:New("sp-348"), ZONE:New("sp-349"), ZONE:New("sp-350"),
|
|
ZONE:New("sp-351"), ZONE:New("sp-352"), ZONE:New("sp-353"), ZONE:New("sp-354"), ZONE:New("sp-355"),
|
|
ZONE:New("sp-356"), ZONE:New("sp-357"), ZONE:New("sp-358"), ZONE:New("sp-359"), ZONE:New("sp-360"),
|
|
ZONE:New("sp-361"), ZONE:New("sp-362"), ZONE:New("sp-363"), ZONE:New("sp-364"), ZONE:New("sp-365"),
|
|
ZONE:New("sp-366"), ZONE:New("sp-367"), ZONE:New("sp-368"), ZONE:New("sp-369"), ZONE:New("sp-370"),
|
|
ZONE:New("sp-371"), ZONE:New("sp-372"), ZONE:New("sp-373"), ZONE:New("sp-374"), ZONE:New("sp-375"),
|
|
ZONE:New("sp-376"), ZONE:New("sp-377"), ZONE:New("sp-378"), ZONE:New("sp-379"), ZONE:New("sp-380"),
|
|
ZONE:New("sp-381"), ZONE:New("sp-382"), ZONE:New("sp-383"), ZONE:New("sp-384"), ZONE:New("sp-385"),
|
|
ZONE:New("sp-386"), ZONE:New("sp-387"), ZONE:New("sp-388"), ZONE:New("sp-389"), ZONE:New("sp-390"),
|
|
ZONE:New("sp-391"), ZONE:New("sp-392"), ZONE:New("sp-393"), ZONE:New("sp-394"), ZONE:New("sp-395"),
|
|
ZONE:New("sp-396"), ZONE:New("sp-397"), ZONE:New("sp-398"), ZONE:New("sp-399"), ZONE:New("sp-400"),
|
|
ZONE:New("sp-401"), ZONE:New("sp-402"), ZONE:New("sp-403"), ZONE:New("sp-404"), ZONE:New("sp-405"),
|
|
ZONE:New("sp-406"), ZONE:New("sp-407"), ZONE:New("sp-408"), ZONE:New("sp-409"), ZONE:New("sp-410"),
|
|
ZONE:New("sp-411"), ZONE:New("sp-412"), ZONE:New("sp-413"), ZONE:New("sp-414"), ZONE:New("sp-415"),
|
|
ZONE:New("sp-416"), ZONE:New("sp-417"), ZONE:New("sp-418"), ZONE:New("sp-419"), ZONE:New("sp-420"),
|
|
ZONE:New("sp-421"), ZONE:New("sp-422"), ZONE:New("sp-423"), ZONE:New("sp-424"), ZONE:New("sp-425"),
|
|
ZONE:New("sp-426"), ZONE:New("sp-427"), ZONE:New("sp-428"), ZONE:New("sp-429"), ZONE:New("sp-430"),
|
|
ZONE:New("sp-431"), ZONE:New("sp-432"), ZONE:New("sp-433"), ZONE:New("sp-434"), ZONE:New("sp-435"),
|
|
ZONE:New("sp-436"), ZONE:New("sp-437"), ZONE:New("sp-438"), ZONE:New("sp-439"), ZONE:New("sp-440"),
|
|
ZONE:New("sp-441"), ZONE:New("sp-442"), ZONE:New("sp-443"), ZONE:New("sp-444"), ZONE:New("sp-445"),
|
|
ZONE:New("sp-446"), ZONE:New("sp-447"), ZONE:New("sp-448"), ZONE:New("sp-449"), ZONE:New("sp-450"),
|
|
ZONE:New("sp-451"), ZONE:New("sp-452"), ZONE:New("sp-453"), ZONE:New("sp-454"), ZONE:New("sp-455"),
|
|
ZONE:New("sp-456"), ZONE:New("sp-457"), ZONE:New("sp-458"), ZONE:New("sp-459"), ZONE:New("sp-460"),
|
|
ZONE:New("sp-461"), ZONE:New("sp-462"), ZONE:New("sp-463"), ZONE:New("sp-464"), ZONE:New("sp-465"),
|
|
ZONE:New("sp-466"), ZONE:New("sp-467"), ZONE:New("sp-468"), ZONE:New("sp-469"), ZONE:New("sp-470"),
|
|
ZONE:New("sp-471"), ZONE:New("sp-472"), ZONE:New("sp-473"), ZONE:New("sp-474"), ZONE:New("sp-475"),
|
|
ZONE:New("sp-476"), ZONE:New("sp-477"), ZONE:New("sp-478"), ZONE:New("sp-479"), ZONE:New("sp-480"),
|
|
ZONE:New("sp-481"), ZONE:New("sp-482"), ZONE:New("sp-483"), ZONE:New("sp-484"), ZONE:New("sp-485"),
|
|
ZONE:New("sp-486"), ZONE:New("sp-487"), ZONE:New("sp-488"), ZONE:New("sp-489"), ZONE:New("sp-490"),
|
|
ZONE:New("sp-491"), ZONE:New("sp-492"), ZONE:New("sp-493"), ZONE:New("sp-494"), ZONE:New("sp-495"),
|
|
ZONE:New("sp-496"), ZONE:New("sp-497"), ZONE:New("sp-498"), ZONE:New("sp-499"), ZONE:New("sp-500"),
|
|
ZONE:New("sp-501"), ZONE:New("sp-502"), ZONE:New("sp-503"), ZONE:New("sp-504"), ZONE:New("sp-505"),
|
|
ZONE:New("sp-506"), ZONE:New("sp-507"), ZONE:New("sp-508"), ZONE:New("sp-509"), ZONE:New("sp-510"),
|
|
ZONE:New("sp-511"), ZONE:New("sp-512"), ZONE:New("sp-513"), ZONE:New("sp-514"), ZONE:New("sp-515"),
|
|
ZONE:New("sp-516"), ZONE:New("sp-517"), ZONE:New("sp-518"), ZONE:New("sp-519"), ZONE:New("sp-520"),
|
|
ZONE:New("sp-521"), ZONE:New("sp-522"), ZONE:New("sp-523"), ZONE:New("sp-524"), ZONE:New("sp-525"),
|
|
ZONE:New("sp-526"), ZONE:New("sp-527"), ZONE:New("sp-528"), ZONE:New("sp-529"), ZONE:New("sp-530"),
|
|
ZONE:New("sp-531"), ZONE:New("sp-532"), ZONE:New("sp-533"), ZONE:New("sp-534"), ZONE:New("sp-535"),
|
|
ZONE:New("sp-536"), ZONE:New("sp-537"), ZONE:New("sp-538"), ZONE:New("sp-539"), ZONE:New("sp-540"),
|
|
ZONE:New("sp-541"), ZONE:New("sp-542"), ZONE:New("sp-543"), ZONE:New("sp-544"), ZONE:New("sp-545"),
|
|
ZONE:New("sp-546"), ZONE:New("sp-547"), ZONE:New("sp-548"), ZONE:New("sp-549"), ZONE:New("sp-550"),
|
|
ZONE:New("sp-551"), ZONE:New("sp-552"), ZONE:New("sp-553"), ZONE:New("sp-554"), ZONE:New("sp-555"),
|
|
ZONE:New("sp-556"), ZONE:New("sp-557"), ZONE:New("sp-558"), ZONE:New("sp-559"), ZONE:New("sp-560"),
|
|
ZONE:New("sp-561"), ZONE:New("sp-562"), ZONE:New("sp-563"), ZONE:New("sp-564"), ZONE:New("sp-565"),
|
|
ZONE:New("sp-566"), ZONE:New("sp-567"), ZONE:New("sp-568"), ZONE:New("sp-569"), ZONE:New("sp-570"),
|
|
ZONE:New("sp-571"), ZONE:New("sp-572"), ZONE:New("sp-573"), ZONE:New("sp-574"), ZONE:New("sp-575"),
|
|
ZONE:New("sp-576"), ZONE:New("sp-577"), ZONE:New("sp-578"), ZONE:New("sp-579"), ZONE:New("sp-580"),
|
|
ZONE:New("sp-581"), ZONE:New("sp-582"), ZONE:New("sp-583"), ZONE:New("sp-584"), ZONE:New("sp-585"),
|
|
ZONE:New("sp-586"), ZONE:New("sp-587"), ZONE:New("sp-588"), ZONE:New("sp-589"), ZONE:New("sp-590"),
|
|
ZONE:New("sp-591"), ZONE:New("sp-592"), ZONE:New("sp-593"), ZONE:New("sp-594"), ZONE:New("sp-595"),
|
|
ZONE:New("sp-596"), ZONE:New("sp-597"), ZONE:New("sp-598"), ZONE:New("sp-599"), ZONE:New("sp-600"),
|
|
ZONE:New("sp-601"), ZONE:New("sp-602"), ZONE:New("sp-603"), ZONE:New("sp-604"), ZONE:New("sp-605"),
|
|
ZONE:New("sp-606"), ZONE:New("sp-607"), ZONE:New("sp-608"), ZONE:New("sp-609"), ZONE:New("sp-610"),
|
|
ZONE:New("sp-611"), ZONE:New("sp-612"), ZONE:New("sp-613"), ZONE:New("sp-614"), ZONE:New("sp-615"),
|
|
ZONE:New("sp-616"), ZONE:New("sp-617"), ZONE:New("sp-618"), ZONE:New("sp-619"), ZONE:New("sp-620"),
|
|
ZONE:New("sp-621"), ZONE:New("sp-622"), ZONE:New("sp-623"), ZONE:New("sp-624"), ZONE:New("sp-625"),
|
|
ZONE:New("sp-626"), ZONE:New("sp-627"), ZONE:New("sp-628"), ZONE:New("sp-629"), ZONE:New("sp-630"),
|
|
ZONE:New("sp-631"), ZONE:New("sp-632"), ZONE:New("sp-633"), ZONE:New("sp-634"), ZONE:New("sp-635"),
|
|
ZONE:New("sp-636"), ZONE:New("sp-637"), ZONE:New("sp-638"), ZONE:New("sp-639"), ZONE:New("sp-640"),
|
|
ZONE:New("sp-641"), ZONE:New("sp-642"), ZONE:New("sp-643"), ZONE:New("sp-644"), ZONE:New("sp-645"),
|
|
ZONE:New("sp-646"), ZONE:New("sp-647"), ZONE:New("sp-648"), ZONE:New("sp-649"), ZONE:New("sp-650"),
|
|
ZONE:New("sp-651"), ZONE:New("sp-652"), ZONE:New("sp-653"), ZONE:New("sp-654"), ZONE:New("sp-655"),
|
|
ZONE:New("sp-656"), ZONE:New("sp-657"), ZONE:New("sp-658"), ZONE:New("sp-659"), ZONE:New("sp-660"),
|
|
ZONE:New("sp-661"), ZONE:New("sp-662"), ZONE:New("sp-663"), ZONE:New("sp-664"), ZONE:New("sp-665"),
|
|
ZONE:New("sp-666"), ZONE:New("sp-667"), ZONE:New("sp-668"), ZONE:New("sp-669"), ZONE:New("sp-670"),
|
|
ZONE:New("sp-671"), ZONE:New("sp-672"), ZONE:New("sp-673"), ZONE:New("sp-674"), ZONE:New("sp-675"),
|
|
ZONE:New("sp-676"), ZONE:New("sp-677"), ZONE:New("sp-678"), ZONE:New("sp-679"), ZONE:New("sp-680"),
|
|
ZONE:New("sp-681"), ZONE:New("sp-682"), ZONE:New("sp-683"), ZONE:New("sp-684"), ZONE:New("sp-685"),
|
|
ZONE:New("sp-686"), ZONE:New("sp-687"), ZONE:New("sp-688"), ZONE:New("sp-689"), ZONE:New("sp-690"),
|
|
ZONE:New("sp-691"), ZONE:New("sp-692"), ZONE:New("sp-693"), ZONE:New("sp-694"), ZONE:New("sp-695"),
|
|
ZONE:New("sp-696"), ZONE:New("sp-697"), ZONE:New("sp-698"), ZONE:New("sp-699"), ZONE:New("sp-700")
|
|
}
|
|
|
|
|
|
-- Spawn Ground Units for Red Coalition
|
|
|
|
env.info("=== GROUND UNIT SPAWN DEBUG ===")
|
|
env.info("MAX_RU_MANPADS: " .. MAX_RU_MANPADS)
|
|
env.info("RandomSpawnZoneTable size: " .. #RandomSpawnZoneTable)
|
|
|
|
-- Check if template groups exist
|
|
local templateGroups = {
|
|
"RU_MANPADS-1", "RU_AAA-1", "RU_TANK_T90", "RU_TANK_T55",
|
|
"RU_IFV-1", "RU_IFV-Technicals", "RU_SA-08", "RU_SA-19", "RU_SA-15"
|
|
}
|
|
|
|
for _, templateName in pairs(templateGroups) do
|
|
local template = GROUP:FindByName(templateName)
|
|
if template then
|
|
env.info("✓ Found template: " .. templateName)
|
|
else
|
|
env.info("✗ Missing template: " .. templateName)
|
|
end
|
|
end
|
|
|
|
-- Check spawn zones
|
|
local validZones = 0
|
|
for i, zone in pairs(RandomSpawnZoneTable) do
|
|
if zone then
|
|
validZones = validZones + 1
|
|
else
|
|
env.info("✗ Invalid zone at index " .. i)
|
|
end
|
|
end
|
|
env.info("Valid spawn zones: " .. validZones .. "/" .. #RandomSpawnZoneTable)
|
|
|
|
-- MANPADS Systems
|
|
env.info("Spawning MANPADS...")
|
|
RandomSpawns_RU_MANPADS = SPAWN:New( "RU_MANPADS-1" )
|
|
:InitLimit( MAX_RU_MANPADS, MAX_RU_MANPADS )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 1, .5 )
|
|
|
|
-- Anti-Aircraft Artillery
|
|
env.info("Spawning AAA...")
|
|
RandomSpawns_RU_AAA = SPAWN:New( "RU_AAA-1" )
|
|
:InitLimit( MAX_RU_AAA, MAX_RU_AAA )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 2.1, .3 )
|
|
|
|
-- Main Battle Tanks
|
|
env.info("Spawning T-90 tanks...")
|
|
RandomSpawns_RU_TANK_T90 = SPAWN:New( "RU_TANK_T90" )
|
|
:InitLimit( MAX_RU_TANK_T90, MAX_RU_TANK_T90 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 3.3, .5 )
|
|
|
|
env.info("Spawning T-55 tanks...")
|
|
RandomSpawns_RU_TANK_T55 = SPAWN:New( "RU_TANK_T55" )
|
|
:InitLimit( MAX_RU_TANK_T55, MAX_RU_TANK_T55 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 1.3, .4 )
|
|
|
|
-- Infantry Fighting Vehicles
|
|
env.info("Spawning IFVs...")
|
|
RandomSpawns_RU_IFV = SPAWN:New( "RU_IFV-1" )
|
|
:InitLimit( MAX_RU_IFV, MAX_RU_IFV )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 1.6, .5 )
|
|
|
|
env.info("Spawning Technical vehicles...")
|
|
RandomSpawns_RU_IFV_Technicals = SPAWN:New( "RU_IFV-Technicals" )
|
|
:InitLimit( MAX_RU_IFV_Technicals, MAX_RU_IFV_Technicals )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 3.1, .6 )
|
|
|
|
-- Short Range SAM Systems
|
|
env.info("Spawning SA-08 SAMs...")
|
|
RandomSpawns_RU_SA08 = SPAWN:New( "RU_SA-08" )
|
|
:InitLimit( MAX_RU_SA08, MAX_RU_SA08 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 5.1, .8 )
|
|
|
|
-- Medium Range SAM Systems
|
|
env.info("Spawning SA-19 SAMs...")
|
|
RandomSpawns_RU_SA19 = SPAWN:New( "RU_SA-19" )
|
|
:InitLimit( MAX_RU_SA19, MAX_RU_SA19 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 4.6, .7 )
|
|
|
|
-- Long Range SAM Systems
|
|
env.info("Spawning SA-15 SAMs...")
|
|
RandomSpawns_RU_SA15 = SPAWN:New( "RU_SA-15" )
|
|
:InitLimit( MAX_RU_SA15, MAX_RU_SA15 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 6.3, .5 )
|
|
|
|
env.info("Spawning SA-02 SAMs...")
|
|
RandomSpawns_RU_SA02 = SPAWN:New( "RU_SA2" )
|
|
:InitLimit( MAX_RU_SA2, MAX_RU_SA2 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 60, .5 )
|
|
|
|
env.info("Spawning SA6 SAMs...")
|
|
RandomSpawns_RU_SA6 = SPAWN:New( "RU_SA6" )
|
|
:InitLimit( MAX_RU_SA6, MAX_RU_SA6 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 60, .5 )
|
|
|
|
env.info("Spawning SA10 SAMs...")
|
|
RandomSpawns_RU_SA10 = SPAWN:New( "RU_SA10Site" )
|
|
:InitLimit( MAX_RU_SA10, MAX_RU_SA10 )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( 3600, .5 )
|
|
|
|
--[[
|
|
RU_INTERCEPTOR_SPAWN = SPAWN:New("RU_INTERCEPT-1")
|
|
:InitLimit( MIN_RU_INTERCEPTORS, MAX_RU_INTERCEPTORS )
|
|
:SpawnScheduled( 3600, 2600 ) -- Spawns every 2600 seconds which is 43 minutes and 20 seconds
|
|
|
|
RU_INTERCEPTOR_SPAWN = SPAWN:New("RU_INTERCEPT-2")
|
|
:InitLimit( MAX_RU_INTERCEPTORS, MAX_RU_INTERCEPTORS )
|
|
:SpawnScheduled( 15000, 2200 ) -- Spawns every 2200 seconds which is 36 minutes and 40 seconds
|
|
--]]
|
|
|
|
-- Artillery Systems
|
|
--[[
|
|
RandomSpawns_RU_ARTY = SPAWN:New( "RU_ARTY-1" )
|
|
:InitLimit( MAX_RU_ARTY, MAX_RU_ARTY )
|
|
:InitRandomizeTemplate( RandomSpawnZoneTable )
|
|
:InitRandomizeZones( RandomSpawnZoneTable )
|
|
:SpawnScheduled( .1, .5 )
|
|
--]]
|
|
|
|
env.info("Red Ground Forces Spawned")
|
|
|
|
env.info("Blue AWACS Spawned")
|
|
USAWACS_SPAWN = SPAWN:New("BLUE-EWR E-3 Focus Group")
|
|
:InitLimit( 1, 500 )
|
|
:SpawnScheduled( 1, 15 )
|
|
|
|
|
|
env.info("Blue Forces Spawned") |