1 |
soon...
|
1 |
soon...
|
2 |
\n
|
2 |
\n
|
3 |
currently broken
|
3 |
currently broken
|
4 |
\n
|
4 |
\n
|
5 |
make ai only able to make a random unit... gives ai a huge eco boost so they can spam horde of the unit.
|
5 |
make ai only able to make a random unit... gives ai a huge eco boost so they can spam horde of the unit.
|
6 |
ai cannot cope with thinking outside of box.. so i will use this to make a new mode.. ill use funelweb giving it factories as build options and make it ploppable and remove ploppable on factories.. then make factories free and this will force ai to only make the 1 factory and 1 unit type.. but need rest.. will finish this soon.. sigh still so many mods to fix.
|
|
|
7 |
\n
|
6 |
\n
|
8 |
tried to edit chickens to do this with bizzare results
|
7 |
tried to edit chickens to do this with bizzare results
|
9 |
\n
|
8 |
\n
|
10 |
[spoiler]
|
9 |
[spoiler]
|
11 |
{{{
|
10 |
{{{
|
12 |
local randomfactorycloak = {
|
11 |
local randomfactorycloak = {
|
13 |
"cloakraid", "cloakskirm", "cloakriot", "cloakassault", "cloakarty", "cloakheavyraid", "cloaksnipe", "cloakbomb",
|
12 |
"cloakraid", "cloakskirm", "cloakriot", "cloakassault", "cloakarty", "cloakheavyraid", "cloaksnipe", "cloakbomb",
|
14 |
}
|
13 |
}
|
15 |
local randomfactoryshield = {
|
14 |
local randomfactoryshield = {
|
16 |
"shieldraid", "shieldskirm", "shieldriot", "shieldassault", "shieldscout", "shieldfelon", "shieldbomb",
|
15 |
"shieldraid", "shieldskirm", "shieldriot", "shieldassault", "shieldscout", "shieldfelon", "shieldbomb",
|
17 |
}
|
16 |
}
|
18 |
local randomfactoryveh = {
|
17 |
local randomfactoryveh = {
|
19 |
"vehraid", "vehsupport", "vehriot", "vehassault", "veharty", "vehscout", "vehheavyarty", "vehcapture",
|
18 |
"vehraid", "vehsupport", "vehriot", "vehassault", "veharty", "vehscout", "vehheavyarty", "vehcapture",
|
20 |
}
|
19 |
}
|
21 |
local randomfactoryhover = {
|
20 |
local randomfactoryhover = {
|
22 |
"hoverraid", "hoverskirm", "hoverriot", "hoverassault", "hoverarty", "hoverheavyraid", "hoverdepthcharge",
|
21 |
"hoverraid", "hoverskirm", "hoverriot", "hoverassault", "hoverarty", "hoverheavyraid", "hoverdepthcharge",
|
23 |
}
|
22 |
}
|
24 |
local randomfactorygunship = {
|
23 |
local randomfactorygunship = {
|
25 |
"gunshipraid", "gunshipskirm", "gunshipbomb", "gunshipassault", "gunshipheavyskirm", "gunshipemp", "gunshipkrow",
|
24 |
"gunshipraid", "gunshipskirm", "gunshipbomb", "gunshipassault", "gunshipheavyskirm", "gunshipemp", "gunshipkrow",
|
26 |
}
|
25 |
}
|
27 |
local randomfactoryplane = {
|
26 |
local randomfactoryplane = {
|
28 |
"magpie", "bomberriot", "bomberprec", "bomberheavy", "bomberdisarm", "odin",
|
27 |
"magpie", "bomberriot", "bomberprec", "bomberheavy", "bomberdisarm", "odin",
|
29 |
}
|
28 |
}
|
30 |
local randomfactoryspider = {
|
29 |
local randomfactoryspider = {
|
31 |
"spiderscout", "spiderskirm", "spiderriot", "spiderassault", "spideremp", "spidercrabe", "spiderantiheavy",
|
30 |
"spiderscout", "spiderskirm", "spiderriot", "spiderassault", "spideremp", "spidercrabe", "spiderantiheavy",
|
32 |
}
|
31 |
}
|
33 |
local randomfactoryjump = {
|
32 |
local randomfactoryjump = {
|
34 |
"jumpraid", "jumpskirm", "jumpassault", "jumparty", "jumpscout", "jumpsumo", "jumpbomb",
|
33 |
"jumpraid", "jumpskirm", "jumpassault", "jumparty", "jumpscout", "jumpsumo", "jumpbomb",
|
35 |
}
|
34 |
}
|
36 |
local randomfactorytank = {
|
35 |
local randomfactorytank = {
|
37 |
"tankheavyraid", "tankriot", "tankassault", "tankarty", "tankraid", "tankheavyassault", "tankheavyarty",
|
36 |
"tankheavyraid", "tankriot", "tankassault", "tankarty", "tankraid", "tankheavyassault", "tankheavyarty",
|
38 |
}
|
37 |
}
|
39 |
local randomfactoryamph = {
|
38 |
local randomfactoryamph = {
|
40 |
"amphraid", "amphfloater", "amphriot", "amphsupport", "amphimpulse", "amphassault", "amphbomb",
|
39 |
"amphraid", "amphfloater", "amphriot", "amphsupport", "amphimpulse", "amphassault", "amphbomb",
|
41 |
}
|
40 |
}
|
42 |
local randomfactoryship = {
|
41 |
local randomfactoryship = {
|
43 |
"shiptorpraider", "shipskirm", "shipriot", "shipassault", "shiparty", "shipscout", "subraider",
|
42 |
"shiptorpraider", "shipskirm", "shipriot", "shipassault", "shiparty", "shipscout", "subraider",
|
44 |
}
|
43 |
}
|
45 |
local specificfactorycloak = {
|
44 |
local specificfactorycloak = {
|
46 |
"cloakcon", "cloakaa", "cloakjammer",
|
45 |
"cloakcon", "cloakaa", "cloakjammer",
|
47 |
}
|
46 |
}
|
48 |
local specificfactoryshield = {
|
47 |
local specificfactoryshield = {
|
49 |
"shieldcon", "shieldaa", "shieldshield", "shieldarty",
|
48 |
"shieldcon", "shieldaa", "shieldshield", "shieldarty",
|
50 |
}
|
49 |
}
|
51 |
local specificfactoryveh = {
|
50 |
local specificfactoryveh = {
|
52 |
"vehcon", "vehaa",
|
51 |
"vehcon", "vehaa",
|
53 |
}
|
52 |
}
|
54 |
local specificfactoryhover = {
|
53 |
local specificfactoryhover = {
|
55 |
"hovercon", "hoveraa",
|
54 |
"hovercon", "hoveraa",
|
56 |
}
|
55 |
}
|
57 |
local specificfactorygunship = {
|
56 |
local specificfactorygunship = {
|
58 |
"gunshipcon", "gunshipaa", "gunshiptrans", "gunshipheavytrans",
|
57 |
"gunshipcon", "gunshipaa", "gunshiptrans", "gunshipheavytrans",
|
59 |
}
|
58 |
}
|
60 |
local specificfactoryplane = {
|
59 |
local specificfactoryplane = {
|
61 |
"planefighter", "planecon", "planelightscout", "planeheavyfighter", "planescout",
|
60 |
"planefighter", "planecon", "planelightscout", "planeheavyfighter", "planescout",
|
62 |
}
|
61 |
}
|
63 |
local specificfactoryspider = {
|
62 |
local specificfactoryspider = {
|
64 |
"spidercon", "spideraa",
|
63 |
"spidercon", "spideraa",
|
65 |
}
|
64 |
}
|
66 |
local specificfactoryjump = {
|
65 |
local specificfactoryjump = {
|
67 |
"jumpcon", "jumpblackhole", "jumpaa",
|
66 |
"jumpcon", "jumpblackhole", "jumpaa",
|
68 |
}
|
67 |
}
|
69 |
local specificfactorytank = {
|
68 |
local specificfactorytank = {
|
70 |
"tankcon", "tankaa",
|
69 |
"tankcon", "tankaa",
|
71 |
}
|
70 |
}
|
72 |
local specificfactoryamph = {
|
71 |
local specificfactoryamph = {
|
73 |
"amphcon", "amphlaunch", "amphaa", "amphtele",
|
72 |
"amphcon", "amphlaunch", "amphaa", "amphtele",
|
74 |
}
|
73 |
}
|
75 |
local specificfactoryship = {
|
74 |
local specificfactoryship = {
|
76 |
"shipcon", "shipaa",
|
75 |
"shipcon", "shipaa",
|
77 |
}
|
76 |
}
|
78 |
local validfactories = {
|
77 |
local validfactories = {
|
79 |
["factorycloak"] = true,
|
78 |
["factorycloak"] = true,
|
80 |
["factoryshield"] = true,
|
79 |
["factoryshield"] = true,
|
81 |
["factoryveh"] = true,
|
80 |
["factoryveh"] = true,
|
82 |
["factoryhover"] = true,
|
81 |
["factoryhover"] = true,
|
83 |
["factorygunship"] = true,
|
82 |
["factorygunship"] = true,
|
84 |
["factoryplane"] = true,
|
83 |
["factoryplane"] = true,
|
85 |
["factoryspider"] = true,
|
84 |
["factoryspider"] = true,
|
86 |
["factoryjump"] = true,
|
85 |
["factoryjump"] = true,
|
87 |
["factorytank"] = true,
|
86 |
["factorytank"] = true,
|
88 |
["factoryamph"] = true,
|
87 |
["factoryamph"] = true,
|
89 |
["factoryship"] = true,
|
88 |
["factoryship"] = true,
|
90 |
}
|
89 |
}
|
91 |
local comvalidunitnames = {
|
90 |
local comvalidunitnames = {
|
92 |
["Guardian Commander"] = true,
|
91 |
["Guardian Commander"] = true,
|
93 |
["Strike Commander"] = true,
|
92 |
["Strike Commander"] = true,
|
94 |
["Recon Commander"] = true,
|
93 |
["Recon Commander"] = true,
|
95 |
["Engineer Commander"] = true,
|
94 |
["Engineer Commander"] = true,
|
96 |
}
|
95 |
}
|
97 |
local comspecificbuildoptions = {
|
96 |
local comspecificbuildoptions = {
|
98 |
"striderhub", "turretlaser", "turretmissile", "turretriot", "turretemp", "turretgauss", "turretheavylaser", "turretaaclose", "turretaalaser", "turretaaflak", "turretaafar", "turretaaheavy", "turretimpulse", "turrettorpedo", "turretheavy", "turretantiheavy", "staticshield", "staticradar", "staticjammer", "staticheavyradar", "staticmissilesilo", "staticantinuke", "staticarty", "staticheavyarty", "staticnuke", "zenith", "raveparty", "mahlazer", "staticmex", "energywind", "energysolar", "energygeo", "energyfusion", "energysingu", "staticstorage", "energypylon", "staticcon", "staticrearm", "striderfunnelweb",
|
97 |
"striderhub", "turretlaser", "turretmissile", "turretriot", "turretemp", "turretgauss", "turretheavylaser", "turretaaclose", "turretaalaser", "turretaaflak", "turretaafar", "turretaaheavy", "turretimpulse", "turrettorpedo", "turretheavy", "turretantiheavy", "staticshield", "staticradar", "staticjammer", "staticheavyradar", "staticmissilesilo", "staticantinuke", "staticarty", "staticheavyarty", "staticnuke", "zenith", "raveparty", "mahlazer", "staticmex", "energywind", "energysolar", "energygeo", "energyfusion", "energysingu", "staticstorage", "energypylon", "staticcon", "staticrearm", "striderfunnelweb",
|
99 |
}
|
98 |
}
|
100 |
local comrandombuildoptions = {
|
99 |
local comrandombuildoptions = {
|
101 |
"factorycloak", "factoryshield", "factoryveh", "factoryhover", "factorygunship", "factoryplane", "factoryspider", "factoryjump", "factorytank", "factoryamph", "factoryship",
|
100 |
"factorycloak", "factoryshield", "factoryveh", "factoryhover", "factorygunship", "factoryplane", "factoryspider", "factoryjump", "factorytank", "factoryamph", "factoryship",
|
102 |
}
|
101 |
}
|
103 |
local function shuffle(tbl)
|
102 |
local function shuffle(tbl)
|
104 |
local len = #tbl
|
103 |
local len = #tbl
|
105 |
for i = len, 2, -1 do
|
104 |
for i = len, 2, -1 do
|
106 |
local j = math.random(i)
|
105 |
local j = math.random(i)
|
107 |
tbl[i], tbl[j] = tbl[j], tbl[i]
|
106 |
tbl[i], tbl[j] = tbl[j], tbl[i]
|
108 |
end
|
107 |
end
|
109 |
return tbl
|
108 |
return tbl
|
110 |
end
|
109 |
end
|
111 |
local function selectrandomfactory()
|
110 |
local function selectrandomfactory()
|
112 |
local factories = {}
|
111 |
local factories = {}
|
113 |
for factory, _ in pairs(validfactories) do
|
112 |
for factory, _ in pairs(validfactories) do
|
114 |
table.insert(factories, factory)
|
113 |
table.insert(factories, factory)
|
115 |
end
|
114 |
end
|
116 |
local randomfactorytype = factories[math.random(#factories)]
|
115 |
local randomfactorytype = factories[math.random(#factories)]
|
117 |
return randomfactorytype
|
116 |
return randomfactorytype
|
118 |
end
|
117 |
end
|
119 |
local randomfactorytype = selectrandomfactory()
|
118 |
local randomfactorytype = selectrandomfactory()
|
120 |
local randomfactorylist = _g["randomfactory" .. randomfactorytype]
|
119 |
local randomfactorylist = _g["randomfactory" .. randomfactorytype]
|
121 |
local specificfactorylist = _g["specificfactory" .. randomfactorytype]
|
120 |
local specificfactorylist = _g["specificfactory" .. randomfactorytype]
|
122 |
for name, ud in pairs(UnitDefs) do
|
121 |
for name, ud in pairs(UnitDefs) do
|
123 |
if facvalidunitnames[ud.name] then
|
122 |
if facvalidunitnames[ud.name] then
|
124 |
local shuffledrandomoptions = shuffle(randomfactorylist)
|
123 |
local shuffledrandomoptions = shuffle(randomfactorylist)
|
125 |
local selectedoptions = {}
|
124 |
local selectedoptions = {}
|
126 |
|
125 |
|
127 |
for _, option in ipairs(specificfactorylist) do
|
126 |
for _, option in ipairs(specificfactorylist) do
|
128 |
table.insert(selectedoptions, option)
|
127 |
table.insert(selectedoptions, option)
|
129 |
end
|
128 |
end
|
130 |
|
129 |
|
131 |
table.insert(selectedoptions, shuffledrandomoptions[1])
|
130 |
table.insert(selectedoptions, shuffledrandomoptions[1])
|
132 |
|
131 |
|
133 |
ud.buildoptions = selectedoptions
|
132 |
ud.buildoptions = selectedoptions
|
134 |
end
|
133 |
end
|
135 |
end
|
134 |
end
|
136 |
for name, ud in pairs(UnitDefs) do
|
135 |
for name, ud in pairs(UnitDefs) do
|
137 |
if comvalidunitnames[ud.name] then
|
136 |
if comvalidunitnames[ud.name] then
|
138 |
local selectedoptions = {}
|
137 |
local selectedoptions = {}
|
139 |
for _, option in ipairs(comspecificbuildoptions) do
|
138 |
for _, option in ipairs(comspecificbuildoptions) do
|
140 |
table.insert(selectedoptions, option)
|
139 |
table.insert(selectedoptions, option)
|
141 |
end
|
140 |
end
|
142 |
table.insert(selectedoptions, randomfactorytype)
|
141 |
table.insert(selectedoptions, randomfactorytype)
|
143 |
ud.buildoptions = selectedoptions
|
142 |
ud.buildoptions = selectedoptions
|
144 |
end
|
143 |
end
|
145 |
end
|
144 |
end
|
146 |
\n
|
145 |
\n
|
147 |
}}}
|
146 |
}}}
|
148 |
[/spoiler]
|
147 |
[/spoiler]
|