96 |
96 |
97 == Long descriptions and values == |
97 == Long descriptions and values == |
98 This section gives longer description of the various gear types and how their values (i.e. tag, pos, timer, health, etc.) are interpreted. The gear values are pretty chaotic, so they are described for each gear seperately. Use the various setter and getter functions for gears to modifiy the gear values. |
98 This section gives longer description of the various gear types and how their values (i.e. tag, pos, timer, health, etc.) are interpreted. The gear values are pretty chaotic, so they are described for each gear seperately. Use the various setter and getter functions for gears to modifiy the gear values. |
99 |
99 |
100 In Lua, use the functions `GetGearPos`, `SetGearPos`, `GetTag`, `SetTag`, `GetTimer`, `SetTimer`, `GetHealth`, `SetHealth`, `GetFlightTime`, `SetFlightTime`, `GetGearValues` and `SetGearValues` to query or modify the gear values. |
100 In Lua, use the functions `GetGearPos`, `SetGearPos`, `GetTag`, `SetTag`, `GetTimer`, `SetTimer`, `GetHealth`, `SetHealth`, `GetFlightTime`, `SetFlightTime`, `GetGearValues` and `SetGearValues` to query or modify the gear values. |
|
101 Note: The gear value “`Boom`” will be introduced in Hedgewars 0.9.23. |
101 |
102 |
102 === Land objects === |
103 === Land objects === |
103 This is a list of gears which usually stay on the land for a long time and stay for several rounds and can’t normally directly placed by players. |
104 This is a list of gears which usually stay on the land for a long time and stay for several rounds and can’t normally directly placed by players. |
104 |
105 |
105 ==== `gtCase` ==== |
106 ==== `gtCase` ==== |
106 An ammo, utility or health crate. |
107 An ammo, utility or health crate. |
107 |
108 |
108 * `Pos`: Crate type: 1=ammo crate, 2=health crate, 4=utility crate |
109 * `Pos`: Crate type: 1=ammo crate, 2=health crate, 4=utility crate |
109 * `Tag`: Used for the appear animation |
110 * `Tag`: Used for the appear animation |
110 * `Health`: Amount of health contained in a health crate |
111 * `Health`: Amount of health contained in a health crate |
|
112 * `Boom`: Explosion size and damage (default: 25) |
111 |
113 |
112 ==== `gtExplosives` ==== |
114 ==== `gtExplosives` ==== |
113 An explosive barrel. It has its own invisible health, like a hedgehog. On low health levels smoke comes out of the barrel. |
115 An explosive barrel. It has its own invisible health, like a hedgehog. On low health levels smoke comes out of the barrel. |
114 |
116 |
115 * `Health`: “health” of the barrel: Starts at 60, explodes at 0. |
117 * `Health`: “health” of the barrel: Starts at 60, explodes at 0. |
|
118 * `Boom`: Explosion size and damage (default: 75) |
116 |
119 |
117 ==== `gtFlake` ==== |
120 ==== `gtFlake` ==== |
118 A snowflake which might become part of the terrain. |
121 A snowflake which might become part of the terrain. |
119 |
122 |
120 ==== `gtFlame` ==== |
123 ==== `gtFlame` ==== |
232 This gear does not directly store in which phase the bee currently is in, so it is a bit tricky to modify the timer values. |
238 This gear does not directly store in which phase the bee currently is in, so it is a bit tricky to modify the timer values. |
233 If you just want to modify the pre-homing time, simply set the `Timer` after creation. But if you want to modify the duration of the homing phase, you have somehow track the bee gear and wait until the `Timer` first reaches 0, so you know the bee will now get into its second phase. Now wait one more tick (or more) and set `Timer` to set the maximum flight time in the homing phase. |
239 If you just want to modify the pre-homing time, simply set the `Timer` after creation. But if you want to modify the duration of the homing phase, you have somehow track the bee gear and wait until the `Timer` first reaches 0, so you know the bee will now get into its second phase. Now wait one more tick (or more) and set `Timer` to set the maximum flight time in the homing phase. |
234 |
240 |
235 * `Tag`: Whether the bee is underwater (`0` = no, `1` = yes). This is used for the sound effect. |
241 * `Tag`: Whether the bee is underwater (`0` = no, `1` = yes). This is used for the sound effect. |
236 * `Timer`: Remaining time (in milliseconds) either of the pre-homing phase or the homing phase. |
242 * `Timer`: Remaining time (in milliseconds) either of the pre-homing phase or the homing phase. |
|
243 * `Boom`: Explosion size and damage. Default: 50 |
237 |
244 |
238 ==== `gtBirdy` ==== |
245 ==== `gtBirdy` ==== |
239 Birdy. Birdy works like a flying saucer and depletes energy (stored in `Health`) whenever you tap one of the direction keys. Flapping left and right costs 10 energy, flapping upwards costs 50 energy. |
246 Birdy. Transports hogs and can drop eggs (`gtEgg`) Birdy works like a flying saucer and depletes energy (stored in `Health`) whenever you tap one of the direction keys. Flapping left and right costs 10 energy, flapping upwards costs 50 energy. |
240 |
247 |
241 * `Tag`: Facing direction (`-1` = left, `1` = right) |
248 * `Tag`: Facing direction (`-1` = left, `1` = right) |
242 * `Health`: “Flapping energy” left, default is 2000 |
249 * `Health`: “Flapping energy” left, default is 2000 |
243 * `FlightTime`: Number of eggs left (default: 2) |
250 * `FlightTime`: Number of eggs left (default: 2) |
244 |
251 |
245 ==== `gtBlowTorch` ==== |
252 ==== `gtBlowTorch` ==== |
246 A blowtorch. This utility is entirely timer-based. |
253 A blowtorch. This utility is entirely timer-based. |
247 |
254 |
248 * `Timer`: Remaining usage time in ms, default is 7500. |
255 * `Timer`: Remaining usage time in ms, default is 7500. |
|
256 * `Boom`: Damage caused when burning a hedgehog or an object. Default: 2 |
249 |
257 |
250 ==== `gtClusterBomb` ==== |
258 ==== `gtClusterBomb` ==== |
251 A cluster bomb. |
259 A cluster bomb. Spawns several `gtCluster` gears on detonation. |
|
260 |
|
261 * `Boom`: Explosion size and damage. Default: 20 |
252 |
262 |
253 ==== `gtCake` ==== |
263 ==== `gtCake` ==== |
254 A cake. |
264 A cake. |
255 |
265 |
256 * `Tag`: A timer used for several animations. The final animation (sit down) will cause the cake to explode when the tag reaches `2250`. |
266 * `Tag`: A timer used for several animations. The final animation (sit down) will cause the cake to explode when the tag reaches `2250`. |
257 * `Health`: Remaining walking time, default is 2048. Note: the cake uses its own time unit. |
267 * `Health`: Remaining walking time, default is 2048. Note: the cake uses its own time unit. |
|
268 * `Boom`: Explosion size and damage. Default: 75 |
258 |
269 |
259 ==== `gtDEagleShot` ==== |
270 ==== `gtDEagleShot` ==== |
260 A shot from a Desert Eagle. |
271 A shot from a Desert Eagle. |
261 |
272 |
262 * `Health`: How deep the bullet digs into land. Default: 50. |
273 * `Health`: How deep the bullet digs into land. Default: 50. |
|
274 * `Boom`: Damage. Default: 7 |
263 |
275 |
264 ==== `gtDrill` ==== |
276 ==== `gtDrill` ==== |
265 A drill rocket. This is either a launched drill rocket or a small drill rocket from the drill strike (which is a bit weaker than the launched one). |
277 A drill rocket. This is either a launched drill rocket or a small drill rocket from the drill strike (which is a bit weaker than the launched one). |
266 |
278 |
267 The type of drill rocket is stored in the gear state. If `gsttmpFlag` is set (e.g. {{{band(GetState(yourDrillGear), gsttempFlag) == 0}}} evaluates to `true`), it is a launched drill rocket, otherwise it is a drill rocket from the drill strike. |
279 The type of drill rocket is stored in the gear state. If `gsttmpFlag` is set (e.g. {{{band(GetState(yourDrillGear), gsttempFlag) == 0}}} evaluates to `true`), it is a launched drill rocket, otherwise it is a drill rocket from the drill strike. |
268 |
280 |
269 * `Tag`: Used for drill strike. If `1`, then first impact occoured already. |
281 * `Tag`: Used for drill strike. If `1`, then first impact occoured already. |
270 * `Timer`: Detonation timer (in ms) |
282 * `Timer`: Detonation timer (in ms) |
|
283 * `Boom`: Explosion size and damage. Default: 50 for launched drill rocket, 30 for drill rocket from drill strike |
271 |
284 |
272 ==== `gtDynamite` ==== |
285 ==== `gtDynamite` ==== |
273 A dynamite. |
286 A dynamite. |
274 Note: The current animation does not support denotation times above 5 seconds. If you want to have larger times, you have to provide your own dynamite sprite in a sidecar HWP or find another workaround. |
287 Note: The current animation does not support denotation times above 5 seconds. If you want to have larger times, you have to provide your own dynamite sprite in a sidecar HWP or find another workaround. |
275 |
288 |
276 * `Tag`: Displayed animation frame. |
289 * `Tag`: Displayed animation frame. |
277 * `Timer`: Detonation timer (in ms). Default: 5000. |
290 * `Timer`: Detonation timer (in ms). Default: 5000. |
|
291 * `Boom`: Explosion size and damage. Default: 75 |
278 |
292 |
279 ==== `gtFirePunch` ==== |
293 ==== `gtFirePunch` ==== |
280 A hedgehog which performs the Shoryuken attack. |
294 A hedgehog which performs the Shoryuken attack. |
281 |
295 |
282 * `Tag`: Current Y coordinate of the hedgehog. |
296 * `Tag`: Current Y coordinate of the hedgehog. |
|
297 * `Boom`: Damage. Default: 30 |
283 |
298 |
284 ==== `gtFlamethrower` ==== |
299 ==== `gtFlamethrower` ==== |
285 A flamethrower. |
300 A flamethrower. |
286 |
301 |
287 * `Tag`: Current spitting power of flamethrower (`5`-`20`) |
302 * `Tag`: Current spitting power of flamethrower (`5`-`20`) |
294 |
309 |
295 ==== `gtGrenade` ==== |
310 ==== `gtGrenade` ==== |
296 A grenade. |
311 A grenade. |
297 |
312 |
298 * `Timer`: Detonation timer (in milliseconds). |
313 * `Timer`: Detonation timer (in milliseconds). |
|
314 * `Boom`: Explosion size and damage. Default: 50 |
299 |
315 |
300 ==== `gtHammer` ==== |
316 ==== `gtHammer` ==== |
301 A hammer. See also `gtHammerHit` for the actual hit of the hammer. |
317 A hammer attack. This gear is for taking away the health. See also `gtHammerHit` for the digging part. |
|
318 |
|
319 * `Boom`: Damage denominator. The damage caused will be `(1/Boom)*health_of_victim`, e.g. if this value is `4` and the victim has 100 health, the hammer takes away 25 health (one quarter). Default: 3 normally (so one third of the health); 2 if Extra Damage is enabled (so one half of the health) |
302 |
320 |
303 ==== `gtHellishBomb` ==== |
321 ==== `gtHellishBomb` ==== |
304 A hellish hand-grenade. |
322 A hellish hand-grenade. |
305 |
323 |
306 * `Timer`: Detonation timer (in milliseconds). Default: 5000 |
324 * `Timer`: Detonation timer (in milliseconds). Default: 5000 |
|
325 * `Boom`: Explosion size and damage. Default: 90 |
307 |
326 |
308 ==== `gtIceGun` ==== |
327 ==== `gtIceGun` ==== |
309 A freezer. |
328 A freezer. |
310 |
329 |
311 * `Health`: Remaining fuel. `1000` is for 100% fuel |
330 * `Health`: Remaining fuel. `1000` is for 100% fuel |
312 |
331 |
313 ==== `gtKamikaze` ==== |
332 ==== `gtKamikaze` ==== |
314 A hedgehog which is doing a kamikaze attack. |
333 A hedgehog which is doing a kamikaze attack. |
315 |
334 |
316 * `Health`: Remaining travel range. Default: 2048 |
335 * `Health`: Remaining travel range. Default: 2048 |
|
336 * `Boom`: Damage of a hit and damage and explosion size of the final explosion. Default: 30 |
317 |
337 |
318 ==== `gtKnife` ==== |
338 ==== `gtKnife` ==== |
319 A cleaver. |
339 A cleaver. |
320 |
340 |
|
341 * `Boom`: Scaling value for the impact damage. The actual damage does not linearly scale. Default: 40000 |
|
342 |
321 ==== `gtPiano` ==== |
343 ==== `gtPiano` ==== |
322 A piano from piano strike. |
344 A piano from piano strike. By default, a piano bounces up to 5 times on the terrain, causing 3 big explosions (80 damage each) per impact. |
323 |
345 |
324 * `Tag`: Number of remaining terrain bounces. Default: 5. If this number reaches 0, the piano will not collide anymore and directly fall into the water. |
346 * `Tag`: Number of remaining terrain bounces. If this number reaches 0, the piano will not collide anymore and directly fall into the water. Default: 5 |
|
347 * `Boom`: Explosion size and damage of a single explosion of a single impact. Default: 80 |
325 |
348 |
326 ==== `gtPickHammer` ==== |
349 ==== `gtPickHammer` ==== |
327 A pickhammer. This gear is entirely timer-based. |
350 A pickhammer. This gear is entirely timer-based. |
328 |
351 |
329 * `Timer`: Remaining usage time (in milliseconds). Default: 4000 |
352 * `Timer`: Remaining usage time (in milliseconds). Default: 4000 |
|
353 * `Boom`: Damage per hit. Default: 6 |
330 |
354 |
331 ==== `gtRCPlane` ==== |
355 ==== `gtRCPlane` ==== |
332 An RC plane. |
356 An RC plane. It can drop missiles (`gtAirBomb`). |
333 |
357 |
334 * `Tag`: dX speed??? (The purpose of the `Tag` is not clear yet) |
358 * `Tag`: dX speed??? (The purpose of the `Tag` is not clear yet) |
335 * `Timer`: Remaining fly time (in milliseconds). Default: 15000 |
359 * `Timer`: Remaining fly time (in milliseconds). Default: 15000 |
336 * `Health`: Number of missiles on board. Default: 3 |
360 * `Health`: Number of missiles on board. Default: 3 |
337 * `Tint`: RGBA color of RC plane (default: clan color) |
361 * `Tint`: RGBA color of RC plane (default: clan color) |
|
362 * `Boom`: Explosion size and damage when the RC plane crashes. Default: 25 |
338 |
363 |
339 ==== `gtMolotov` ==== |
364 ==== `gtMolotov` ==== |
340 A molotov cocktail. |
365 A molotov cocktail. Creates several flames (`gtFlame`) on impact. |
341 |
366 |
342 ==== `gtMortar` ==== |
367 ==== `gtMortar` ==== |
343 A mortar. |
368 A mortar. On impact it spawns a few `gtCluster` gears. |
|
369 |
|
370 * `Boom`: Explosion size and damage of the main mortar projectile only. Default: 20 |
344 |
371 |
345 ==== `gtMine` ==== |
372 ==== `gtMine` ==== |
346 A land mine. |
373 A land mine. |
347 |
374 |
348 If the gear state flag `gstAttacking` is set, mine has been activated and is about to explode (if it is not a dud). |
375 If the gear state flag `gstAttacking` is set, mine has been activated and is about to explode (if it is not a dud). |
349 |
376 |
350 * `Timer`: Detonation timer (after activation). |
377 * `Timer`: Detonation timer (after activation). |
351 * `Health`: If `0`, mine is a dud. |
378 * `Health`: If `0`, mine is a dud. |
|
379 * `Boom`: Explosion size and damage. Default: 50 |
352 |
380 |
353 ==== `gtSeduction` ==== |
381 ==== `gtSeduction` ==== |
354 A hedgehog trying to seduce others. |
382 A hedgehog trying to seduce others. |
355 |
383 |
356 * `Radius`: Effect range of seduction in pixels. Default: 250. Note that this does not change the drawn circle |
384 * `Radius`: Effect range of seduction in pixels. Default: 250. Note that this does not change the drawn circle |
357 |
385 |
358 ==== `gtShell` ==== |
386 ==== `gtShell` ==== |
359 A bazooka shell (projectile). |
387 A bazooka shell (projectile). |
360 |
388 |
|
389 * `Boom`: Explosion size and damage. Default: 50 |
|
390 |
361 ==== `gtShotgunShot` ==== |
391 ==== `gtShotgunShot` ==== |
362 A shot from a shotgun. It is invisible and only can be noticed by its effects. |
392 A shot from a shotgun. It is invisible and only can be noticed by its effects. |
363 |
393 |
|
394 * `Boom`: Damage. Default: 25 |
|
395 |
364 ==== `gtShover` ==== |
396 ==== `gtShover` ==== |
365 Used by baseball bat. |
397 Used by baseball bat. |
366 |
398 |
|
399 * `Boom`: Damage. Default: 30 |
|
400 |
367 ==== `gtSineGunShot` ==== |
401 ==== `gtSineGunShot` ==== |
368 A shot from the sine gun. |
402 A shot from the sine gun. |
369 |
403 |
370 * `Radius`: The thickness of the sine gun shot. |
404 * `Radius`: The thickness of the sine gun shot. |
|
405 * `Boom`: Damage. Default: 35 |
371 |
406 |
372 ==== `gtSMine` ==== |
407 ==== `gtSMine` ==== |
373 A sticky mine. |
408 A sticky mine. |
374 |
409 |
375 If the gear state flag `gstAttacking` is set, the sticky mine has been activated and is about to explode. |
410 If the gear state flag `gstAttacking` is set, the sticky mine has been activated and is about to explode. |
376 |
411 |
377 * `Timer`: Detonation timer after it was activated (in milliseconds). Default: 500 |
412 * `Timer`: Detonation timer after it was activated (in milliseconds). Default: 500 |
|
413 * `Boom`: Explosion size and damage. Default: 30 |
378 |
414 |
379 ==== `gtSniperRifleShot` ==== |
415 ==== `gtSniperRifleShot` ==== |
380 A shot from the sniper rifle. |
416 A shot from the sniper rifle. |
381 |
417 |
382 * `Health`: How deep the bullet digs into land. Default: 50 |
418 * `Health`: How deep the bullet digs into land. Default: 50 |
|
419 * `Boom`: Scaling value of the damage caused (not the actual damage). A higher value leads to higher damage. Default: 100000 |
383 |
420 |
384 ==== `gtSnowball` ==== |
421 ==== `gtSnowball` ==== |
385 A mudball. |
422 A mudball. |
386 |
423 |
|
424 * `Boom`: Pushing power (just an arbitrary value for scaling). Default: 200000 |
|
425 |
387 ==== `gtWatermelon` ==== |
426 ==== `gtWatermelon` ==== |
388 A watermelon bomb, still intact. |
427 A watermelon bomb, still intact. It spawns several `gtMelonPiece` gears when it explodes. |
389 |
428 |
390 * `Timer`: Detonation timer (in milliseconds). |
429 * `Timer`: Detonation timer (in milliseconds). |
391 |
430 |
392 ==== `gtWhip` ==== |
431 ==== `gtWhip` ==== |
393 A whip. |
432 A whip. |
394 |
433 |
|
434 * `Boom`: Damage. Default: 30 |
|
435 |
395 === Secondary projectiles === |
436 === Secondary projectiles === |
396 Gears for projectiles that can’t be directly fired but are generated by other weapon gears. |
437 Gears for projectiles that can’t be directly fired but are generated by other weapon gears. |
397 |
438 |
398 ==== `gtAirBomb` ==== |
439 ==== `gtAirBomb` ==== |
399 A bomb from the air attack or the RC plane. |
440 A bomb from the air attack (`gtAirAttack`) or the RC plane (`gtRCPlane`). |
|
441 |
|
442 * `Boom`: Explosion size and damage. Default: 30 |
400 |
443 |
401 ==== `gtBall` ==== |
444 ==== `gtBall` ==== |
402 A ball from the ball gun |
445 A ball from the ball gun (`gtBallgun`). |
403 |
446 |
404 * `Timer`: Detonation timer (in milliseconds). Default: 5000 |
447 * `Timer`: Detonation timer (in milliseconds). Default: 5000 |
|
448 * `Boom`: Explosion size and damage. Default: 40 |
405 * `Tag`: Color: `0`=red, `1`=green, `2`=cyan, `3`=yellow, `4`=violet, `5`=pink, `6`=orange, `7`=lime, `8`=white |
449 * `Tag`: Color: `0`=red, `1`=green, `2`=cyan, `3`=yellow, `4`=violet, `5`=pink, `6`=orange, `7`=lime, `8`=white |
406 |
450 |
407 ==== `gtCluster` ==== |
451 ==== `gtCluster` ==== |
408 A cluster from the cluster bomb or the mortar |
452 A cluster from the cluster bomb (`gtClusterBomb`) or the mortar (`gtMortar`). |
|
453 |
|
454 * `Boom`: Explosion size and damage |
409 |
455 |
410 ==== `gtEgg` ==== |
456 ==== `gtEgg` ==== |
411 An egg from Birdy. |
457 An egg from Birdy (`gtBirdy`) |
|
458 |
|
459 * `Boom`: Size of destroyed land and damage. Default: 10 |
412 |
460 |
413 ==== `gtHammerHit` ==== |
461 ==== `gtHammerHit` ==== |
414 A hit from the hammer. |
462 A hit from the hammer. |
415 |
463 |
416 * `Timer`: How deep a successful hammer hit dig into land. 1 is the smallest possible depth. Using the value 0 will dig all the way to the water. Default: 125. |
464 * `Timer`: How deep a successful hammer hit dig into land. 1 is the smallest possible depth. Using the value 0 will dig all the way to the water. Default: 125. |
417 |
465 |
418 ==== `gtMelonPiece` ==== |
466 ==== `gtMelonPiece` ==== |
419 * A cluster from a watermelon bomb. |
467 A cluster from a watermelon bomb (`gtWatermelon`) |
|
468 |
|
469 * `Boom`: Explosion size and damage. |
420 |
470 |
421 ==== `gtNapalmBomb` ==== |
471 ==== `gtNapalmBomb` ==== |
422 A bomb from the napalmn strike, will burst into fire. |
472 A bomb from the napalmn strike (`gtAirAttack`), will burst into fire. |
423 |
473 |
424 * `Timer`: Detonation timer (in milliseconds). Default: 1000 |
474 * `Timer`: Detonation timer (in milliseconds). Default: 1000 |
425 |
475 |
426 ==== `gtPoisonCloud` ==== |
476 ==== `gtPoisonCloud` ==== |
427 A poisonous cloud, makes hedgehogs sick on contact. |
477 A poisonous cloud, makes hedgehogs sick on contact. Is normally created by `gtGasBomb`. |
428 |
478 |
429 * `Timer`: Remaining “life time” in milliseconds (default: 5000). Note that the current animation does not very well support timers larger than 5 seconds, and the animation is partly hardcoded. |
479 * `Timer`: Remaining “life time” in milliseconds (default: 5000). Note that the current animation does not very well support timers larger than 5 seconds, and the animation is partly hardcoded. |
430 |
480 |
431 === Other === |
481 === Other === |
432 Gears which don't fit into any other category. |
482 Gears which don't fit into any other category. |
433 |
483 |
434 ==== `gtAddAmmo` ==== |
484 ==== `gtAddAmmo` ==== |
435 Used to add some weapon or utilty to a hedgehog. The gear is added when a crate has been collected. |
485 Used to add some weapon or utilty to a hedgehog. The gear is added when a crate (`gtCase`) has been collected. |
436 |
486 |
437 ==== `gtATStartGame` ==== |
487 ==== `gtATStartGame` ==== |
438 TODO. The purpose of this gear is not clear yet. |
488 TODO. The purpose of this gear is not clear yet. |
439 |
489 |
440 ==== `gtATFinishGame` ==== |
490 ==== `gtATFinishGame` ==== |