LuaGlobals.wiki
author Wuzzy <Wuzzy@disroot.org>
Mon, 27 May 2024 20:08:17 +0200
changeset 2276 a5944f53f4f7
parent 2196 5c752aa0d1bf
permissions -rw-r--r--
Shorten link label in TOC for WormsTauntConversions
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     1
#summary Global variables in the Lua API
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     2
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     3
= Lua API: Global variables =
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     4
1766
b92081035f09 LuaGlobals: Note about more globals
Wuzzy
parents: 1752
diff changeset
     5
This page contains a list of global variables and variables supported by the [LuaAPI Lua API].
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     6
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     7
== Table of Contents ==
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     8
<wiki:toc max_depth="3" />
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
     9
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    10
== General variables and constants ==
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    11
Here are some unsorted variables or constants which are available in Lua. *Consider these variables to be read-only.*
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    12
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    13
|| *Identifier* || *Description* ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    14
|| `LOCALE` || Current locale identifier (e.g. `"de"` for German) ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    15
|| `INTERFACE` || Type of the game interface: `"desktop"` for desktop, `"touch"` for touchscreen ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    16
|| `MAX_HOG_HEALTH` || Maximum possible hedgehog health ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    17
|| `MAX_TURN_TIME` || Maximum possible turn time in milliseconds ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    18
|| `LAND_WIDTH` || The width of the landscape in pixels. Not available before `onGameStart` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    19
|| `LAND_HEIGHT` || The height of the landscape in pixels. Not available before `onGameStart` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    20
|| `LeftX` || X coordinate of the leftmost point of the landscape. Not available before `onGameStart` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    21
|| `RightX` || X coordinate of the rightmost point of the landscape. Not available before `onGameStart` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    22
|| `TopY` || Y coordinate of the topmost point of the landscape. Not available before `onGameStart` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    23
|| `CursorX` || The X position of the cursor if the player is choosing a target. Otherwise, this equals `NO_CURSOR` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    24
|| `CursorY` || The Y position of the cursor if the player is choosing a target. Otherwise, this equals `NO_CURSOR` ||
1820
8dd93fe308aa LuaGlobals: Add NO_CURSOR explicitly
Wuzzy
parents: 1772
diff changeset
    25
|| `NO_CURSOR` || Special value used by `CursorX` and `CursorY` when no cursor is displayed ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    26
|| `WaterLine` || The y position of the water, used to determine at which position stuff drowns. Use `SetWaterLine` to change. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    27
|| `ClansCount` || Number of clans, including defeated ones (a clan is a group of teams with same color) ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    28
|| `TeamsCount` || Number of teams, including defeated ones ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    29
|| `TurnTimeLeft` || Number of game ticks (milliseconds) left until the current turn ends. To set this value, use `SetTurnTimeLeft` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    30
|| `ReadyTimeLeft` || Remaining ready time in millseconds, 0 if turn in progress. To set this value, use `SetReadyTimeLeft` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    31
|| `GameTime` || Number of total game ticks ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    32
|| `TotalRounds` || Number of rounds that have passed. Equals `-1` if game has not started yet or hogs are still being placed. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    33
|| `CurrentHedgehog` || The hedgehog gear that is currently in play ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    34
|| `AmmoTypeMax` || Maximum ammo type ID (useful to iterate through all ammo types, starting by 0) ||
2132
11d16b0dbe49 LuaGlobals: Move Screen* vars to consts
Wuzzy
parents: 2131
diff changeset
    35
|| `ScreenWidth` || Width of the Hedgewars window or screen. Not available before `onGameInit` ||
11d16b0dbe49 LuaGlobals: Move Screen* vars to consts
Wuzzy
parents: 2131
diff changeset
    36
|| `ScreenHeight` || Height of the Hedgewars window or screen. Not available before `onGameInit` ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    37
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    38
== !GameFlags ==
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    39
The !GameFlags are used to store simple boolean settings of the game.
1772
73305d96e954 LuaGlobals: Fix more wikilinks
Wuzzy
parents: 1771
diff changeset
    40
You can read/modify them using the [LuaGameplay#GameFlags_functions GameFlags functions].
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    41
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    42
|| *Identifier* || *Description (active state)* ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    43
|| `gfOneClanMode` || Used when only one clan is in the game. This game flag is primarily used for training missions. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    44
|| `gfMultiWeapon` || Shooting any weapon enters multi-shot mode with infinite shots. The remaining shots counter for weapons like shotgun is suppressed. Intended for target practice missions, not recommended for anything else. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    45
|| `gfSwitchHog` || Free hog switching at turn start ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    46
|| `gfDivideTeams` || Each clan will start in its own side of the terrain. No effect if `gfPlaceHog` is active. ||
2196
5c752aa0d1bf LuaGlobals: fix gfBorder
Wuzzy
parents: 2170
diff changeset
    47
|| `gfBorder` || An indestructible border is active on the left, top and right sides of the map ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    48
|| `gfBottomBorder` || There is an indestructable border at the bottom of the map. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    49
|| `gfShoppaBorder` || The terrain edge will be replaced by a decorative black/yellow “danger stripe”. This has no gameplay effect. ||
2169
17b509f59b00 LuaGlobals: update gfSolidLand, gfLowGravity
Wuzzy
parents: 2168
diff changeset
    50
|| `gfSolidLand` || The terrain is indestructible (with some exceptions). ||
17b509f59b00 LuaGlobals: update gfSolidLand, gfLowGravity
Wuzzy
parents: 2168
diff changeset
    51
|| `gfLowGravity` || The gravity is low (50%). ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    52
|| `gfLaserSight` || A laser sight is almost always active. ||
2168
6269280aafc1 LuaGlobals: Update gfInvulnerable
Wuzzy
parents: 2132
diff changeset
    53
|| `gfInvulnerable` || All hedgehogs are invulnerable. This permanently sets the `heInvulnerable` effect to `1` for all hogs and removes the health tags ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    54
|| `gfVampiric` || All hedgehogs become vampires and get 80% of the damage they deal as health. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    55
|| `gfKarma` || Attackers share the damage they deal to enemies. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    56
|| `gfArtillery` || Hedgehogs can’t walk. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    57
|| `gfRandomOrder` || The game is played in random order. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    58
|| `gfPlaceHog` || Placement mode: At the beginning of the round, all hedgehogs are placed manually first. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    59
|| `gfKing` || King Mode: One hedgehog per team becomes their king, if the king dies, the team loses. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    60
|| `gfSharedAmmo` || Teams in the same clan share their ammo. Takes precedence over `gfPerHogAmmo`.  ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    61
|| `gfDisableGirders` || No girders will be created in random maps ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    62
|| `gfDisableLandObjects` || No land objects will be created in random maps ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    63
|| `gfAISurvival` || Computer-controlled hedgehogs will be revived after they die. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    64
|| `gfInfAttack` || Attacks don’t end the turn. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    65
|| `gfResetWeps` || The weapons will be reset to the initial state each turn. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    66
|| `gfPerHogAmmo` || Each hedgehog has its own weapon stash. No effect if `gfSharedAmmo` is active. ||
2170
05468468c99d LuaGlobals: Update more game flag info
Wuzzy
parents: 2169
diff changeset
    67
|| `gfDisableWind` || Wind is set to 0 and won't be changed between turns. But you can change the wind manually with `SetWind`. ||
05468468c99d LuaGlobals: Update more game flag info
Wuzzy
parents: 2169
diff changeset
    68
|| `gfMoreWind` || Wind affects almost all gears. ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    69
|| `gfTagTeam` || Tag Team: Teams in the same clan share their turn time. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    70
|| `gfResetHealth` || The health of all living hedgehogs is reset at the end of each turn. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    71
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    72
== Game variables ==
1771
695712d731b3 LuaGlobals: add event link
Wuzzy
parents: 1767
diff changeset
    73
The game variables affect several core aspects of gameplay such as map, turn time, etc. They can be set in the `onGameInit` [LuaEvents event].
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    74
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    75
|| *Identifier* || *Default* || *Description* ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    76
|| `Theme` || _depends_ || The theme to be used. When `Map` is set, a default value is used. For missions which don't use an image map, `Theme` *must* be set explicitly ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    77
|| `Map` || `""` || The image map being played or `""` if no image map is used ||
2102
c6cb4d0c2b1a LuaGlobals: Seed is a string
Wuzzy
parents: 2024
diff changeset
    78
|| `Seed` || `""` || Seed of the random number generator. This is a string ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    79
|| `LandDigest` || _N/A_ || Digest for the current map. Only meant for internal use by Hedgewars ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    80
|| `MapGen` || `mgRandom` || Type of map generator. One of `mgRandom`, `mgMaze`, `mgPerlin`, `mgDrawn`. ||
1902
b96fb9c3e3c0 LuaGlobals: Edited via web interface
Wuzzy
parents: 1901
diff changeset
    81
|| `TemplateNumber` || `0` || Set the number of the land template for the random map generator `mgRandom`. Use this to force a certain “style” of random map. A land template is a rule set for random maps. Maps generated with the same template look similar. You can see the land template number in console when you generate a new random map in the frontend. This field is write-only, you cannot use it to read the template number that Hedgewars chose (you will always get `0`). To be able to set the `TemplateNumber`, you must also set `TemplateFilter` to `6`. ||
b96fb9c3e3c0 LuaGlobals: Edited via web interface
Wuzzy
parents: 1901
diff changeset
    82
|| `TemplateFilter` || `0` || Used for random map generators. This is the number of the template filter to be used. A template filter is a grouping of multiple land templates. This corresponds directly to the map size / map style selection in the frontend (e.g. Small/Medium/Large/Cavern/Wacky). ||
1993
c8b666d2e932 LuaGlobals: Clarify MapFeatureSize range
Wuzzy
parents: 1992
diff changeset
    83
|| `MapFeatureSize` || `12` || Used by maps to set their land detail/complexity. For drawn maps, this sets the map size. Game styles can use this value in a special way as well. This value os the same that will be set by the user with the slider under the map preview in the game setup screen. Allowed values are from 1 to 25. ||
1772
73305d96e954 LuaGlobals: Fix more wikilinks
Wuzzy
parents: 1771
diff changeset
    84
|| `GameFlags` || `0` || All `GameFlags` combined as a bitmask. Setting `GameFlags` directly is discouraged, use the [LuaGameplay#GameFlags_functions GameFlags functions] instead ||
2024
730df19c8901 LuaGlobals: remove 1.0.0 redundancy
Wuzzy
parents: 1993
diff changeset
    85
|| `InitHealth` || `100` || Initial hedgehog health from the game scheme (read-only) ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    86
|| `Ready` || `5000` || Ready timer at the start of the turn (in milliseconds) ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    87
|| `Delay` || `100` || Time the current hedgehog needs to be inactive before gear stuff gets updated in infinite attack mode, like applying hog damage and deaths. This is quite an obscure variable, only change it if you know what you're doing ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    88
|| `TurnTime` || `45000` || Turn time in milliseconds ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    89
|| `GetAwayTime` || `100` || Retreat time in percent ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    90
|| `CaseFreq` || `5` || Probability that a crate drops in a turn. 0: never, >0: probability = `1/CaseFreq` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    91
|| `MaxCaseDrops` || `5` || Maximum number of crates that can be in the game before the random crate drops stop ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    92
|| `HealthCaseProb` || `35` || Chance that a crate drop is a health crate, in percent (other crates are ammo or utility crates) ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    93
|| `HealthCaseAmount` || `25` || Amount of health in a health crate ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    94
|| `DamagePercent` || `100` || Global damage in percent, affects damage and knockback ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    95
|| `RopePercent` || `100` || Rope length in percent ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    96
|| `MinesNum` || `4` || Number of mines being placed on a medium-sized map ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    97
|| `MinesTime` || `3000` || Time for a mine to explode from activated (in milliseconds), `-1000` for random ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    98
|| `MineDudPercent` || `0` || Chance of mine being a dud, in percent ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
    99
|| `AirMinesNum` || `0` || Number of air mines being placed on a medium-sized map ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   100
|| `Explosives` || `2` || Number of barrels being placed on a medium-sized map ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   101
|| `SuddenDeathTurns` || `15` || Number of rounds until Sudden Death begins, _after the first round is over_. E.g. 0 = SD starts in 2nd round ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   102
|| `WaterRise` || `47` || Height of water rise in pixels for each Sudden Death turn ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   103
|| `HealthDecrease` || `5` || Amount of health decreased on each turn in Sudden Death ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   104
|| `Goals` || `""` || Use this to add additional text to the goal text popup shown at the beginning and when using the quit or pause keys. The text is added to the default text which usually explains the game modifiers and does not replace it. The text supports the same special characters as in `ShowMission` ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   105
|| `WorldEdge` || `weNone` || Type edges being used at the left and right sides of the terrain (see below). ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   106
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   107
The proper way to disable Sudden Death is by setting both `WaterRise` and `HealthDecrease` to `0`.
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   108
1896
3b924ec68ec5 LuaGlobals: Describe TemplateFilter and TemplateNumber
Wuzzy
parents: 1821
diff changeset
   109
== <tt>!TemplateFilter</tt> ==
3b924ec68ec5 LuaGlobals: Describe TemplateFilter and TemplateNumber
Wuzzy
parents: 1821
diff changeset
   110
Depending on the map type (`MapGen`), the meaning of `TemplateFilter` differs:
3b924ec68ec5 LuaGlobals: Describe TemplateFilter and TemplateNumber
Wuzzy
parents: 1821
diff changeset
   111
1899
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   112
|| *Template filter number* || *Random maps (`mgRandom`)* || *Perlin maps (`mgPerlin`)* || *Maze maps (`mgMaze`)* ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   113
|| `0` || All || Small tunnels || Small tunnels ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   114
|| `1` || Small || Medium tunnels || Medium tunnels ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   115
|| `2` || Medium || Large tunnels || Large tunnels ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   116
|| `3` || Large || Small islands || Small islands ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   117
|| `4` || Cavern || Medium islands || Medium islands ||
79a144a97a48 LuaGlobals: Tweak syntax
Wuzzy
parents: 1898
diff changeset
   118
|| `5` || Wacky || Large islands || Large islands ||
1901
7af015e221ee LuaGlobals: Typos
Wuzzy
parents: 1900
diff changeset
   119
|| `6` || Will use template specified in `TemplateNumber` || _N/A_ || _N/A_ ||
1896
3b924ec68ec5 LuaGlobals: Describe TemplateFilter and TemplateNumber
Wuzzy
parents: 1821
diff changeset
   120
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   121
== <tt>!WorldEdge</tt> ==
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   122
The value of `WorldEdge` can have the following values:
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   123
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   124
|| *Identifier* || *Meaning* ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   125
|| `weNone` || No world edges ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   126
|| `weBounce` || Bouncy world edges ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   127
|| `weWrap` || World wraps around at the edges ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   128
|| `weSea` || Ocean world edges ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   129
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   130
== Land flags ==
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   131
The land flags denote several types of terrain. Like all flags, they can be combined at will.
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   132
2130
92625b61c40e LuaGlobals: Change column name
Wuzzy
parents: 2102
diff changeset
   133
|| *Value* || *Meaning* ||
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   134
|| `lfIce` || Slippery terrain, hogs will slide on it. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   135
|| `lfBouncy` || Bouncy terrain, hogs and some other gears will bounce off when they collide with it. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   136
|| `lfIndestructible` || Almost indestructible terrain, most weapons will not destroy it. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   137
|| `0` || Normal destroyable terrain. Note that this is the case when no other land flag is set. ||
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   138
1766
b92081035f09 LuaGlobals: Note about more globals
Wuzzy
parents: 1752
diff changeset
   139
== More globals ==
1772
73305d96e954 LuaGlobals: Fix more wikilinks
Wuzzy
parents: 1771
diff changeset
   140
More globals are at at [GearTypes Gear Types], [VisualGearTypes Visual Gear Types], [AmmoTypes Ammo Types], [Sounds], [States], [Sprites].
1749
91756d20ce3e Separate core Lua stuff into new Lua pages for better maintainability. Main LuaAPI page not touched yet
Wuzzy <almikes@aol.com>
parents:
diff changeset
   141
1767
4da10ac56359 LuaGlobals: Fix link
Wuzzy
parents: 1766
diff changeset
   142
Note: Some globals are specific to a few functions only and are not mentioned explicitly here; they are instead documented at the corresponding function (example: effect types for the `SetEffect` function).