1 |
[spoiler]
|
1 |
[spoiler]
|
2 |
[q]
|
2 |
[q]
|
3 |
{{{
|
3 |
{{{
|
4 |
\n
|
4 |
\n
|
5 |
local valid = {
|
5 |
local valid = {
|
6 |
["Ettin"] = true,
|
6 |
["Ettin"] = true,
|
7 |
["Snitch"] = true,
|
7 |
["Snitch"] = true,
|
8 |
["Athena"] = true,
|
8 |
["Athena"] = true,
|
9 |
["Thug"] = true,
|
9 |
["Thug"] = true,
|
10 |
["Imp"] = true,
|
10 |
["Imp"] = true,
|
11 |
["Stardust"] = true,
|
11 |
["Stardust"] = true,
|
12 |
["Gnat"] = true,
|
12 |
["Gnat"] = true,
|
13 |
["Ogre"] = true,
|
13 |
["Ogre"] = true,
|
14 |
["Newton"] = true,
|
14 |
["Newton"] = true,
|
15 |
["Quill"] = true,
|
15 |
["Quill"] = true,
|
16 |
["Welder"] = true,
|
16 |
["Welder"] = true,
|
17 |
["Swift"] = true,
|
17 |
["Swift"] = true,
|
18 |
["Urchin"] = true,
|
18 |
["Urchin"] = true,
|
19 |
["Tremor"] = true,
|
19 |
["Tremor"] = true,
|
20 |
["Likho"] = true,
|
20 |
["Likho"] = true,
|
21 |
["Limpet"] = true,
|
21 |
["Limpet"] = true,
|
22 |
["Funnelweb"] = true,
|
22 |
["Funnelweb"] = true,
|
23 |
["Nebula"] = true,
|
23 |
["Nebula"] = true,
|
24 |
["Widow"] = true,
|
24 |
["Widow"] = true,
|
25 |
["Tarantula"] = true,
|
25 |
["Tarantula"] = true,
|
26 |
["Nimbus"] = true,
|
26 |
["Nimbus"] = true,
|
27 |
["Starlight"] = true,
|
|
|
28 |
["Recluse"] = true,
|
27 |
["Recluse"] = true,
|
29 |
["Ronin"] = true,
|
28 |
["Ronin"] = true,
|
30 |
["Archer"] = true,
|
29 |
["Archer"] = true,
|
31 |
["Angler"] = true,
|
30 |
["Angler"] = true,
|
32 |
["Hacksaw"] = true,
|
31 |
["Hacksaw"] = true,
|
33 |
["Scalpel"] = true,
|
32 |
["Scalpel"] = true,
|
34 |
["Convict"] = true,
|
33 |
["Convict"] = true,
|
35 |
["Halberd"] = true,
|
34 |
["Halberd"] = true,
|
36 |
["Crasher"] = true,
|
35 |
["Crasher"] = true,
|
37 |
["Skuttle"] = true,
|
36 |
["Skuttle"] = true,
|
38 |
["Flea"] = true,
|
37 |
["Flea"] = true,
|
39 |
["Toad"] = true,
|
38 |
["Toad"] = true,
|
40 |
["Bandit"] = true,
|
39 |
["Bandit"] = true,
|
41 |
["Viper"] = true,
|
40 |
["Viper"] = true,
|
42 |
["Dart"] = true,
|
41 |
["Dart"] = true,
|
43 |
["Locust"] = true,
|
42 |
["Locust"] = true,
|
44 |
["Aspis"] = true,
|
43 |
["Aspis"] = true,
|
45 |
["Ravager"] = true,
|
44 |
["Ravager"] = true,
|
46 |
["Odin"] = true,
|
45 |
["Odin"] = true,
|
47 |
["Felon"] = true,
|
46 |
["Felon"] = true,
|
48 |
["Lucifer"] = true,
|
47 |
["Lucifer"] = true,
|
49 |
["Shogun"] = true,
|
48 |
["Shogun"] = true,
|
50 |
["Blitz"] = true,
|
49 |
["Blitz"] = true,
|
51 |
["Artemis"] = true,
|
50 |
["Artemis"] = true,
|
52 |
["Owl"] = true,
|
51 |
["Owl"] = true,
|
53 |
["Crane"] = true,
|
52 |
["Crane"] = true,
|
54 |
["Grizzly"] = true,
|
53 |
["Grizzly"] = true,
|
55 |
["Sling"] = true,
|
54 |
["Sling"] = true,
|
56 |
["Mace"] = true,
|
55 |
["Mace"] = true,
|
57 |
["Firewalker"] = true,
|
56 |
["Firewalker"] = true,
|
58 |
["Bolas"] = true,
|
57 |
["Bolas"] = true,
|
59 |
["Chainsaw"] = true,
|
58 |
["Chainsaw"] = true,
|
60 |
["Scylla"] = true,
|
59 |
["Scylla"] = true,
|
61 |
["Constable"] = true,
|
60 |
["Constable"] = true,
|
62 |
["Knight"] = true,
|
61 |
["Knight"] = true,
|
63 |
["Thunderbird"] = true,
|
62 |
["Thunderbird"] = true,
|
64 |
["Revenant"] = true,
|
63 |
["Revenant"] = true,
|
65 |
["Sparrow"] = true,
|
64 |
["Sparrow"] = true,
|
66 |
["Dirtbag"] = true,
|
65 |
["Dirtbag"] = true,
|
67 |
["Venom"] = true,
|
66 |
["Venom"] = true,
|
68 |
["Cyclops"] = true,
|
67 |
["Cyclops"] = true,
|
69 |
["Disco Rave Party"] = true,
|
68 |
["Disco Rave Party"] = true,
|
70 |
["Scythe"] = true,
|
69 |
["Scythe"] = true,
|
71 |
["Ultimatum"] = true,
|
70 |
["Ultimatum"] = true,
|
72 |
["Corsair"] = true,
|
71 |
["Corsair"] = true,
|
73 |
["Dante"] = true,
|
72 |
["Dante"] = true,
|
74 |
["Phantom"] = true,
|
73 |
["Phantom"] = true,
|
75 |
["Hunter"] = true,
|
74 |
["Hunter"] = true,
|
76 |
["Jack"] = true,
|
75 |
["Jack"] = true,
|
77 |
["Paladin"] = true,
|
76 |
["Paladin"] = true,
|
78 |
["Vandal"] = true,
|
77 |
["Vandal"] = true,
|
79 |
["Hermit"] = true,
|
78 |
["Hermit"] = true,
|
80 |
["Ripper"] = true,
|
79 |
["Ripper"] = true,
|
81 |
["Lobster"] = true,
|
80 |
["Lobster"] = true,
|
82 |
["Charon"] = true,
|
81 |
["Charon"] = true,
|
83 |
["Reaver"] = true,
|
82 |
["Reaver"] = true,
|
84 |
["Desolator"] = true,
|
83 |
["Desolator"] = true,
|
85 |
["Minotaur"] = true,
|
84 |
["Minotaur"] = true,
|
86 |
["Cutter"] = true,
|
85 |
["Cutter"] = true,
|
87 |
["Scallop"] = true,
|
86 |
["Scallop"] = true,
|
88 |
["Wasp"] = true,
|
87 |
["Wasp"] = true,
|
89 |
["Kodachi"] = true,
|
88 |
["Kodachi"] = true,
|
90 |
["Scorcher"] = true,
|
89 |
["Scorcher"] = true,
|
91 |
["Envoy"] = true,
|
90 |
["Envoy"] = true,
|
92 |
["Puppy"] = true,
|
91 |
["Puppy"] = true,
|
93 |
["Djinn"] = true,
|
92 |
["Djinn"] = true,
|
94 |
["Mason"] = true,
|
93 |
["Mason"] = true,
|
95 |
["Zenith"] = true,
|
94 |
["Zenith"] = true,
|
96 |
["Fencer"] = true,
|
95 |
["Fencer"] = true,
|
97 |
["Impaler"] = true,
|
96 |
["Impaler"] = true,
|
98 |
["Dominatrix"] = true,
|
97 |
["Dominatrix"] = true,
|
99 |
["Badger"] = true,
|
98 |
["Badger"] = true,
|
100 |
["Raptor"] = true,
|
99 |
["Raptor"] = true,
|
101 |
["Redback"] = true,
|
100 |
["Redback"] = true,
|
102 |
["Flail"] = true,
|
101 |
["Flail"] = true,
|
103 |
["Picket"] = true,
|
102 |
["Picket"] = true,
|
104 |
["Lotus"] = true,
|
103 |
["Lotus"] = true,
|
105 |
["Claymore"] = true,
|
104 |
["Claymore"] = true,
|
106 |
["Dagger"] = true,
|
105 |
["Dagger"] = true,
|
107 |
["Thresher"] = true,
|
106 |
["Thresher"] = true,
|
108 |
["Dozer"] = true,
|
107 |
["Dozer"] = true,
|
109 |
["Outlaw"] = true,
|
108 |
["Outlaw"] = true,
|
110 |
["Harpy"] = true,
|
109 |
["Harpy"] = true,
|
111 |
["Detriment"] = true,
|
110 |
["Detriment"] = true,
|
112 |
["Faraday"] = true,
|
111 |
["Faraday"] = true,
|
113 |
["Razor"] = true,
|
112 |
["Razor"] = true,
|
114 |
["Gremlin"] = true,
|
113 |
["Gremlin"] = true,
|
115 |
["Conch"] = true,
|
114 |
["Conch"] = true,
|
116 |
["Zephyr"] = true,
|
115 |
["Zephyr"] = true,
|
117 |
["Jugglenaut"] = true,
|
116 |
["Jugglenaut"] = true,
|
118 |
["Lance"] = true,
|
117 |
["Lance"] = true,
|
119 |
["Stinger"] = true,
|
118 |
["Stinger"] = true,
|
120 |
["Placeholder"] = true,
|
119 |
["Placeholder"] = true,
|
121 |
["Racketeer"] = true,
|
120 |
["Racketeer"] = true,
|
122 |
["Conjurer"] = true,
|
121 |
["Conjurer"] = true,
|
123 |
["Trident"] = true,
|
122 |
["Trident"] = true,
|
124 |
["Gauss"] = true,
|
123 |
["Gauss"] = true,
|
125 |
["Emissary"] = true,
|
124 |
["Emissary"] = true,
|
126 |
["Raven"] = true,
|
125 |
["Raven"] = true,
|
127 |
["Phoenix"] = true,
|
126 |
["Phoenix"] = true,
|
128 |
["Seawolf"] = true,
|
127 |
["Seawolf"] = true,
|
129 |
["Hercules"] = true,
|
128 |
["Hercules"] = true,
|
130 |
["Scorpion"] = true,
|
129 |
["Scorpion"] = true,
|
131 |
["Glaive"] = true,
|
130 |
["Glaive"] = true,
|
132 |
["Merlin"] = true,
|
131 |
["Merlin"] = true,
|
133 |
["Iris"] = true,
|
132 |
["Iris"] = true,
|
134 |
["Aegis"] = true,
|
133 |
["Aegis"] = true,
|
135 |
["Moderator"] = true,
|
134 |
["Moderator"] = true,
|
136 |
["Duck"] = true,
|
135 |
["Duck"] = true,
|
137 |
["Big Bertha"] = true,
|
136 |
["Big Bertha"] = true,
|
138 |
["Cerberus"] = true,
|
137 |
["Cerberus"] = true,
|
139 |
["Rogue"] = true,
|
138 |
["Rogue"] = true,
|
140 |
["Mistral"] = true,
|
139 |
["Mistral"] = true,
|
141 |
["Crab"] = true,
|
140 |
["Crab"] = true,
|
142 |
["Weaver"] = true,
|
141 |
["Weaver"] = true,
|
143 |
["Bulkhead"] = true,
|
142 |
["Bulkhead"] = true,
|
144 |
["Krow"] = true,
|
143 |
["Krow"] = true,
|
145 |
["Magpie"] = true,
|
144 |
["Magpie"] = true,
|
146 |
["Mariner"] = true,
|
145 |
["Mariner"] = true,
|
147 |
["Reef"] = true,
|
146 |
["Reef"] = true,
|
148 |
["Siren"] = true,
|
147 |
["Siren"] = true,
|
149 |
["Buoy"] = true,
|
148 |
["Buoy"] = true,
|
150 |
["Pyro"] = true,
|
149 |
["Pyro"] = true,
|
151 |
["Blastwing"] = true
|
150 |
["Blastwing"] = true
|
152 |
}
|
151 |
}
|
153 |
\n
|
152 |
\n
|
154 |
local
validUnits
=
{
}
|
153 |
local
unitsByCost
=
{
}
|
155 |
local unitCosts = {}
|
|
|
156 |
\n
|
154 |
\n
|
157 |
for
ud
in
pairs(
UnitDefs)
do
|
155 |
for
actualunitname,
ud
in
pairs(
UnitDefs)
do
|
|
|
156 |
if ud.name ~= nil then
|
158 |
if valid[ud.name] then
|
157 |
if valid[ud.name] then
|
159 |
table.
insert(
validUnits,
ud)
|
158 |
table.
insert(
unitsByCost,
{
unitName
=
actualunitname,
cost
=
ud.
metalcost}
)
|
160 |
unitCosts[ud.
name]
=
ud.
buildcost
|
159 |
end
|
161 |
end
|
160 |
end
|
162 |
end
|
161 |
end
|
163 |
\n
|
162 |
\n
|
164 |
table.
sort(
validUnits,
function(
a,
b)
|
163 |
table.
sort(
unitsByCost,
function(
a,
b)
|
165 |
return
unitCosts[a.
name]
>
unitCosts[b.
name]
|
164 |
return
a.
cost
<
b.
cost
|
166 |
end)
|
165 |
end)
|
|
|
166 |
\n
|
|
|
167 |
for i, unit in ipairs(unitsByCost) do
|
|
|
168 |
local currentUnit = UnitDefs[unit.unitName]
|
|
|
169 |
currentUnit.customparams = currentUnit.customparams or {}
|
167 |
\n
|
170 |
|
168 |
for
i,
ud
in
ipairs(
validUnits)
do
|
171 |
if
unitsByCost[i+1]
then
|
169 |
ud.
customparams
=
ud.
customparams
or
{
}
|
172 |
currentUnit.
customparams.
morphto
=
unitsByCost[i+1].
unitName
|
170 |
if validUnits[i + 1] then
|
|
|
171 |
ud.customparams.morphto = validUnits[i + 1].name
|
|
|
172 |
else
|
173 |
else
|
173 |
ud.
customparams.
morphto
=
""
|
174 |
currentUnit.
customparams.
morphto
=
nil
|
174 |
end
|
175 |
end
|
175 |
ud.
customparams.
morphtime
=
ud.
customparams.
morphtime
or
4
|
176 |
|
|
|
177 |
currentUnit.customparams.morphtime = currentUnit.customparams.morphtime or 4
|
176 |
end
|
178 |
end
|
177 |
\n
|
179 |
\n
|
178 |
\n
|
180 |
\n
|
179 |
}}}
|
181 |
}}}
|
180 |
[/q]
|
182 |
[/q]
|
181 |
[/spoiler]
|
183 |
[/spoiler]
|
182 |
this is so broken ill have to fix it tomorrow unless somone wants to try and fix it Zzz
|
184 |
this is so broken ill have to fix it tomorrow unless somone wants to try and fix it Zzz
|
183 |
\n
|
185 |
\n
|
184 |
attempt to index field '?' (a nil value)
|
186 |
attempt to index field '?' (a nil value)
|