VisualGearTypes.wiki
author Wuzzy
Sun, 13 Dec 2020 15:08:55 +0100
changeset 2206 4bf9ae7d9739
parent 2205 15b8c1953be3
child 2207 ba68343f2a10
permissions -rw-r--r--
VisualGearTypes: Improve Health/damage tag documentation

#summary List of all visual gear types
This is a list of available visual gear types.

For a current list of the visual gear types look at `hedgewars/uTypes.pas` at
the `TVisualGearType` enumeration: https://hg.hedgewars.org/hedgewars/file/default/hedgewars/uTypes.pas#l115

= List of visual gear types =
== Environment ==
|| *Variable name* || *Short description* ||
|| `vgtFlake` || Theme flake ||
|| `vgtChunk` || Theme chunk (spawns when blowing up land) ||
|| `vgtCloud` || Cloud ||
|| `vgtDust` || Dust cloud (e.g. of mudball) ||
|| `vgtSplash` || Water splash ||
|| `vgtDroplet` || Water droplet ||
|| `vgtBubble` || Underwater bubble ||
|| `vgtSteam` || Steam cloud (when fire hits water) ||
|| `vgtFire` || Small decorative/harmless flame ||
|| `vgtSmoke` || Gray smoke cloud ||
|| `vgtSmokeWhite` || White smoke cloud ||

== Explosion  ==
|| *Variable name* || *Short description* ||
|| `vgtExplosion` || Small explosion (complete animation) ||
|| `vgtBigExplosion` || Big explosion (complete animation which also makes screen shake) ||
|| `vgtExplPart` || Small explosion particle, part of explosion animation ||
|| `vgtExplPart2` || Another small explosion particle, part of explosion animation ||
|| `vgtSmokeRing` || Smoke ring, part of explosion animation ||

== Weapons and projectiles ==
|| *Variable name* || *Short description* ||
|| `vgtNote` || Piano note ||
|| `vgtBeeTrace` || Random colored flower (bee particle) ||
|| `vgtEgg` || Broken egg shell particle ||
|| `vgtFeather` || Birdy's feather ||
|| `vgtSmokeTrace` || Strange smoke-like cloud from mortar ||
|| `vgtEvilTrace` || Strange red cloud from hellish hand-grenade ||
|| `vgtShell` || Bullet shell ||
|| `vgtBulletHit` || Bullet impact animation ||
|| `vgtLineTrail` || Straight shot line from e.g. desert eagle and the likes ||

== HUD ==
|| *Variable name* || *Short description* ||
|| `vgtCircle` || Simple circle. Highly configurable! ||
|| `vgtNoPlaceWarn` || Overlay when the placement of something failed ||
|| `vgtAmmo` || Briefly displays an ammo icon. Appears when collecting a crate ||
|| `vgtSmoothWindBar` || Changes the wind bar smoothly ||
|| `vgtTeamHealthSorter` || When added, updates the sorting of the team health bars ||
|| `vgtHealthTag` || Hedgehog health tag ||
|| `vgtSmallDamageTag` || Small damage tag after hog damage. ||
|| `vgtSpeechBubble` || Speech bubble with text. ||

== Misc. ==
|| *Variable name* || *Short description* ||
|| `vgtStraightShot` || Moving sprite || 

= Detailed visual gear reference =
Here you will find a (more or less) detailed references of the various possible values for the visual gears (for `SetVisualGearValues`). This is useful to customize your visual gears.

If not specified otherwise, the visual gear values have the meaning as defined in `SetVisualGearValues` (See [LuaGears]).

This section is still under construction!

== `vgtCircle` ==
A simple circle which doesn't move. It is one of the few visual gears which is not removed automatically. It can be drawn in 2 different styles. With `dX`, `dY` and `FrameTicks`, you can set the circle to pulsate in opacity.


 * `dX`: Minimum opacity (0-255)
 * `dY`: Maximum opacity (0-255)
 * `Angle`: Circle style. 1 = Radial gradient (`sprVampiric` sprite). 0 = Simple circular line
 * `FrameTicks`: Period length of opacity change. Set to `0` to disable.
 * `State`: Radius
 * `Timer`: Line thickness (only if `Angle` does not equal `1`)

== `vgtAmmo` ==
Displays an ammo icon.

 * `Frame`: !AmmoType ID of ammo to display (see [AmmoTypes])

== `vgtHealthTag` ==
A health/damage tag for hedgehogs. It shows a whole number surrounded by a simple border. `dX` and `dY` can be used for moving it around.

This is shown at the end of a turn to show the total damage received by each hedgehog in that turn.
But this visual gear is also very useful to show an arbitrary whole number on the screen.

By default, it is white and moves upwards a few pixels before it disappears. Set `dX` and `dY` to 0 to disable movement.

 * `Angle`: Scale ratio. `1` = 100%
 * `Frame`: If `0`, its position is relative to the landscape. If non-zero, it will align to the screen instead
 * `State`: Number to display (must be a whole number)
 * `Timer`: Expiration timer
 * `Tint`: Color of number and border

== `vgtSmallDamageTag` ==
NOTE: Due to a bug, this cannot currently be used in Lua scripts.

Damage indicator, displays a damage value. Hedgewars uses this as the "small" damage tag used to instantly show damage of a single hit.

Looks and behaves similar to `vgtHealthTag`, but is slightly smaller. The parameters are the same as for `vgtHealthTag`.

== `vgtSpeechBubble` ==
Displays a speech bubble with text. In Lua, you cannot change the text after this has been created. Use `HogSay` in Lua to spawn a speech bobble properly.

 * `Frame`: ID of the gear to which the speech bubble belongs
 * `FrameTicks`: Speech bubble type (`SAY_SAY`, `SAY_THINK` or `SAY_SHOUT`)
 * (Text is stored internally that cannot be accessed by Lua)

== `vgtStraightShot` ==
Displays an arbitrary sprite which moves in a random direction (can be overwritten in `dX` and `dY`) and fades out after a short time.

 * `State`: ID of the custom sprite (use an ID from [Sprites]) (default: `sprSnowDust`)
 * `Frame`: Frame of custom sprite (default: 0)
 * `FrameTicks`: Life time in milliseconds (default: random between 750 and 2000)

== `vgtLineTrail` ==
A straight line between two points which fades out after some time, has a slight yellowish color. As if a bullet has been fired. A `vgtLineTrail` has a start and an end point. The default `Timer` is too low so you must set it manually

 * `X`, `Y`: Start point of line
 * `dX`, `dY`: End point of line
 * `Timer`: Life time (default: 0)
 * `Tint`: Opacity (0-255). The color itself can't be changed