1 |
i
do
host
a
room
with
random
modes.
but
i
know
what
your
asking.
.
an
automatic
rotation
room.
.
|
1 |
.
.
.
|
2 |
my worry is since many modes were written long ago and have bugs that i can not yet fix (lack of skills) i would prefer to wait another year before i think they will all be ready for the public.
|
|
|
3 |
\n
|
|
|
4 |
this is the second time you have tried to deter me from making these modes DKBuzz
|
|
|
5 |
\n
|
|
|
6 |
"we just need trains in zk, not 20234782380727304740 different mods no one plays anyways"
|
|
|
7 |
\n
|
|
|
8 |
so i will remain civil. i will accept the truths that few if any may ever be played. and indeed there use is limited.
|
|
|
9 |
\n
|
|
|
10 |
however you cannot control what i enjoy. every mode i make is helping me learn lua.. the latest mode i made involved writing code myself that i could not have done 1 month ago.
|
|
|
11 |
\n
|
|
|
12 |
i figure if im going to write this code to learn to program then why not share it and have fun in the process.
|
|
|
13 |
\n
|
|
|
14 |
and yes this mode was played by other people yesterday.. all my modes have been tried by people.. did they enjoy them.. not always.. did they sometimes get angry.. yes.. but did they also sometimes enjoy and play for hours.. yes
|
|
|
15 |
\n
|
|
|
16 |
\n
|
|
|
17 |
this mode was actualy made at the request of Googlefrog the game developer "Some sort of more controllable magnetic units?"
|
|
|
18 |
but i think it can be done much better.
|
|
|
19 |
especialy since this mode doesnt even seem to pull units properly
|
|
|
20 |
im going to modify a outlaw weapon instead
|
|
|
21 |
so im remaking this mod as we speak
|
|
|
22 |
\n
|
|
|
23 |
i need to make these modes if im going to make trains mode because i lack the skills to do it yet. for example i just learned to use nil and not 'not' checks for condition checking when modifying undefined keypair values =)
|
|
|
24 |
\n
|
|
|
25 |
here is a sneakpeak of another mode im working on =) 75% complete everything is a lobster
|
|
|
26 |
[spoiler] local targetNames = {
|
|
|
27 |
Conjurer = true,
|
|
|
28 |
Glaive = true,
|
|
|
29 |
Scythe = true,
|
|
|
30 |
Ronin = true,
|
|
|
31 |
Reaver = true,
|
|
|
32 |
Knight = true,
|
|
|
33 |
Sling = true,
|
|
|
34 |
Phantom = true,
|
|
|
35 |
Gremlin = true,
|
|
|
36 |
Imp = true,
|
|
|
37 |
Iris = true,
|
|
|
38 |
\n
|
|
|
39 |
Convict = true,
|
|
|
40 |
Dirtbag = true,
|
|
|
41 |
Bandit = true,
|
|
|
42 |
Rogue = true,
|
|
|
43 |
Thug = true,
|
|
|
44 |
Outlaw = true,
|
|
|
45 |
Felon = true,
|
|
|
46 |
Racketeer = true,
|
|
|
47 |
Vandal = true,
|
|
|
48 |
Snitch = true,
|
|
|
49 |
Aspis = true,
|
|
|
50 |
\n
|
|
|
51 |
Mason = true,
|
|
|
52 |
Dart = true,
|
|
|
53 |
Scorcher = true,
|
|
|
54 |
Fencer = true,
|
|
|
55 |
Ripper = true,
|
|
|
56 |
Ravager = true,
|
|
|
57 |
Dominatrix = true,
|
|
|
58 |
Badger = true,
|
|
|
59 |
Impaler = true,
|
|
|
60 |
Crasher = true,
|
|
|
61 |
\n
|
|
|
62 |
Quill = true,
|
|
|
63 |
Dagger = true,
|
|
|
64 |
Scalpel = true,
|
|
|
65 |
Halberd = true,
|
|
|
66 |
Claymore = true,
|
|
|
67 |
Mace = true,
|
|
|
68 |
Lance = true,
|
|
|
69 |
Flail = true,
|
|
|
70 |
Bolas = true,
|
|
|
71 |
\n
|
|
|
72 |
Wasp = true,
|
|
|
73 |
Blastwing = true,
|
|
|
74 |
Gnat = true,
|
|
|
75 |
Locust = true,
|
|
|
76 |
Harpy = true,
|
|
|
77 |
Nimbus = true,
|
|
|
78 |
Revenant = true,
|
|
|
79 |
Krow = true,
|
|
|
80 |
Trident = true,
|
|
|
81 |
Charon = true,
|
|
|
82 |
Hercules = true,
|
|
|
83 |
\n
|
|
|
84 |
Crane = true,
|
|
|
85 |
Swift = true,
|
|
|
86 |
Raptor = true,
|
|
|
87 |
Raven = true,
|
|
|
88 |
Magpie = true,
|
|
|
89 |
Phoenix = true,
|
|
|
90 |
Thunderbird = true,
|
|
|
91 |
Likho = true,
|
|
|
92 |
Odin = true,
|
|
|
93 |
Sparrow = true,
|
|
|
94 |
Owl = true,
|
|
|
95 |
\n
|
|
|
96 |
Weaver = true,
|
|
|
97 |
Flea = true,
|
|
|
98 |
Hermit = true,
|
|
|
99 |
Venom = true,
|
|
|
100 |
Redback = true,
|
|
|
101 |
Recluse = true,
|
|
|
102 |
Crab = true,
|
|
|
103 |
Tarantula = true,
|
|
|
104 |
Widow = true,
|
|
|
105 |
\n
|
|
|
106 |
Constable = true,
|
|
|
107 |
Puppy = true,
|
|
|
108 |
Pyro = true,
|
|
|
109 |
Placeholder = true,
|
|
|
110 |
Moderator = true,
|
|
|
111 |
Jack = true,
|
|
|
112 |
Jugglenaut = true,
|
|
|
113 |
Firewalker = true,
|
|
|
114 |
Toad = true,
|
|
|
115 |
Skuttle = true,
|
|
|
116 |
\n
|
|
|
117 |
Welder = true,
|
|
|
118 |
Kodachi = true,
|
|
|
119 |
Blitz = true,
|
|
|
120 |
Ogre = true,
|
|
|
121 |
Minotaur = true,
|
|
|
122 |
Cyclops = true,
|
|
|
123 |
Emissary = true,
|
|
|
124 |
Tremor = true,
|
|
|
125 |
Ettin = true,
|
|
|
126 |
\n
|
|
|
127 |
Conch = true,
|
|
|
128 |
Duck = true,
|
|
|
129 |
Archer = true,
|
|
|
130 |
Bulkhead = true,
|
|
|
131 |
Buoy = true,
|
|
|
132 |
Scallop = true,
|
|
|
133 |
Grizzly = true,
|
|
|
134 |
Angler = true,
|
|
|
135 |
Limpet = true,
|
|
|
136 |
Lobster = true,
|
|
|
137 |
Djinn = true,
|
|
|
138 |
\n
|
|
|
139 |
Mariner = true,
|
|
|
140 |
Cutter = true,
|
|
|
141 |
Hunter = true,
|
|
|
142 |
Seawolf = true,
|
|
|
143 |
Corsair = true,
|
|
|
144 |
Mistral = true,
|
|
|
145 |
Siren = true,
|
|
|
146 |
Envoy = true,
|
|
|
147 |
Zephyr = true,
|
|
|
148 |
\n
|
|
|
149 |
Athena = true,
|
|
|
150 |
Ultimatum = true,
|
|
|
151 |
Scorpion = true,
|
|
|
152 |
Dante = true,
|
|
|
153 |
Merlin = true,
|
|
|
154 |
Funnelweb = true,
|
|
|
155 |
Paladin = true,
|
|
|
156 |
Detriment = true,
|
|
|
157 |
Shogun = true,
|
|
|
158 |
Reef = true,
|
|
|
159 |
Scylla = true,
|
|
|
160 |
\n
|
|
|
161 |
Picket = true,
|
|
|
162 |
Lotus = true,
|
|
|
163 |
Urchin = true,
|
|
|
164 |
Newton = true,
|
|
|
165 |
Faraday = true,
|
|
|
166 |
Stardust = true,
|
|
|
167 |
Stinger = true,
|
|
|
168 |
Gauss = true,
|
|
|
169 |
Desolator = true,
|
|
|
170 |
Lucifer = true,
|
|
|
171 |
Cerberus = true
|
|
|
172 |
}
|
|
|
173 |
\n
|
|
|
174 |
local newWeaponType = {
|
|
|
175 |
{
|
|
|
176 |
def = "newnewnew1",
|
|
|
177 |
badTargetCategory = "FIXEDWING GUNSHIP",
|
|
|
178 |
onlyTargetCategory = "SWIM FIXEDWING HOVER LAND SINK TURRET FLOAT SHIP GUNSHIP",
|
|
|
179 |
},
|
|
|
180 |
{
|
|
|
181 |
def = "newnewnew2",
|
|
|
182 |
badTargetCategory = "FIXEDWING GUNSHIP",
|
|
|
183 |
onlyTargetCategory = "SWIM FIXEDWING HOVER LAND SINK TURRET FLOAT SHIP GUNSHIP",
|
|
|
184 |
}
|
|
|
185 |
}
|
|
|
186 |
\n
|
|
|
187 |
local newSFX = {
|
|
|
188 |
[[custom:thrower_shockwave]],
|
|
|
189 |
}
|
|
|
190 |
\n
|
|
|
191 |
for name, ud in pairs(UnitDefs) do
|
|
|
192 |
if targetNames[ud.name] then
|
|
|
193 |
Spring.Echo("ud.name: " .. ud.name)
|
|
|
194 |
\n
|
|
|
195 |
local newWeaponDef = {
|
|
|
196 |
newnewnew1 = {
|
|
|
197 |
\n
|
|
|
198 |
name = [[Unit Launcher]],
|
|
|
199 |
accuracy = 0,
|
|
|
200 |
areaOfEffect = 224, -- UI
|
|
|
201 |
avoidFeature = false,
|
|
|
202 |
avoidFriendly = false,
|
|
|
203 |
avoidGround = false,
|
|
|
204 |
burnblow = true,
|
|
|
205 |
craterBoost = 0,
|
|
|
206 |
craterMult = 0,
|
|
|
207 |
\n
|
|
|
208 |
customParams = {
|
|
|
209 |
ui_manual_fire = 1,
|
|
|
210 |
lups_noshockwave = [[1]],
|
|
|
211 |
thower_weapon = 1,
|
|
|
212 |
},
|
|
|
213 |
\n
|
|
|
214 |
damage = {
|
|
|
215 |
default = 0,
|
|
|
216 |
},
|
|
|
217 |
\n
|
|
|
218 |
explosionSpeed = 50,
|
|
|
219 |
intensity = 0.9,
|
|
|
220 |
interceptedByShieldType = 1,
|
|
|
221 |
leadLimit = 0,
|
|
|
222 |
myGravity = 0.05,
|
|
|
223 |
projectiles = 1,
|
|
|
224 |
range = 620,
|
|
|
225 |
reloadtime = 14,
|
|
|
226 |
rgbColor = [[0.05 0.45 0.95]],
|
|
|
227 |
size = 0.005,
|
|
|
228 |
soundStart = [[Launcher]],
|
|
|
229 |
soundStartVolume = 6000,
|
|
|
230 |
turret = true,
|
|
|
231 |
weaponType = [[Cannon]],
|
|
|
232 |
weaponVelocity = 350,
|
|
|
233 |
waterweapon = true,
|
|
|
234 |
\n
|
|
|
235 |
},
|
|
|
236 |
newnewnew2 = {
|
|
|
237 |
\n
|
|
|
238 |
name = [[Bogus Unit Launcher]],
|
|
|
239 |
accuracy = 0,
|
|
|
240 |
areaOfEffect = 224, -- UI
|
|
|
241 |
avoidFeature = false,
|
|
|
242 |
avoidFriendly = false,
|
|
|
243 |
avoidGround = false,
|
|
|
244 |
burnblow = true,
|
|
|
245 |
commandfire = true,
|
|
|
246 |
craterBoost = 0,
|
|
|
247 |
craterMult = 0,
|
|
|
248 |
\n
|
|
|
249 |
customParams = {
|
|
|
250 |
lups_noshockwave = [[1]],
|
|
|
251 |
thower_weapon = 1,
|
|
|
252 |
bogus = 1,
|
|
|
253 |
},
|
|
|
254 |
\n
|
|
|
255 |
damage = {
|
|
|
256 |
default = 0,
|
|
|
257 |
},
|
|
|
258 |
\n
|
|
|
259 |
explosionSpeed = 50,
|
|
|
260 |
intensity = 0.9,
|
|
|
261 |
interceptedByShieldType = 1,
|
|
|
262 |
leadLimit = 0,
|
|
|
263 |
myGravity = 0.05,
|
|
|
264 |
projectiles = 1,
|
|
|
265 |
range = 620,
|
|
|
266 |
reloadtime = 14,
|
|
|
267 |
rgbColor = [[0.05 0.45 0.95]],
|
|
|
268 |
size = 0.005,
|
|
|
269 |
soundStart = [[Launcher]],
|
|
|
270 |
soundStartVolume = 6000,
|
|
|
271 |
turret = true,
|
|
|
272 |
weaponType = [[Cannon]],
|
|
|
273 |
weaponVelocity = 350,
|
|
|
274 |
waterweapon = true,
|
|
|
275 |
\n
|
|
|
276 |
}
|
|
|
277 |
}
|
|
|
278 |
\n
|
|
|
279 |
ud.canmanualfire = "true"
|
|
|
280 |
highTrajectory = 1
|
|
|
281 |
\n
|
|
|
282 |
if not ud.customparams then
|
|
|
283 |
ud.customparams = {}
|
|
|
284 |
end
|
|
|
285 |
\n
|
|
|
286 |
if ud.customparams.can_target_allies == nil then
|
|
|
287 |
ud.customparams.can_target_allies = 1
|
|
|
288 |
end
|
|
|
289 |
\n
|
|
|
290 |
if ud.customparams.thrower_gather == nil then
|
|
|
291 |
ud.customparams.thrower_gather = 160
|
|
|
292 |
end
|
|
|
293 |
\n
|
|
|
294 |
if ud.customparams.attack_toggle == nil then
|
|
|
295 |
ud.customparams.attack_toggle = "1"
|
|
|
296 |
end
|
|
|
297 |
\n
|
|
|
298 |
if not ud.sfxtypes then
|
|
|
299 |
ud.sfxtypes = {}
|
|
|
300 |
end
|
|
|
301 |
\n
|
|
|
302 |
if not ud.sfxtypes.explosiongenerators then
|
|
|
303 |
ud.sfxtypes.explosiongenerators = {}
|
|
|
304 |
end
|
|
|
305 |
\n
|
|
|
306 |
for _, SFXType in ipairs(newSFX) do
|
|
|
307 |
table.insert(ud.sfxtypes.explosiongenerators, SFXType)
|
|
|
308 |
end
|
|
|
309 |
\n
|
|
|
310 |
if not ud.weapondefs then
|
|
|
311 |
ud.weapondefs = {}
|
|
|
312 |
end
|
|
|
313 |
\n
|
|
|
314 |
for defName, defData in pairs(newWeaponDef) do
|
|
|
315 |
ud.weapondefs[defName] = defData
|
|
|
316 |
end
|
|
|
317 |
\n
|
|
|
318 |
if not ud.weapons then
|
|
|
319 |
ud.weapons = {}
|
|
|
320 |
end
|
|
|
321 |
\n
|
|
|
322 |
for _, weaponType in ipairs(newWeaponType) do
|
|
|
323 |
table.insert(ud.weapons, weaponType)
|
|
|
324 |
end
|
|
|
325 |
end
|
|
|
326 |
end
|
|
|
327 |
[/spoiler]
|
|
|