descriptionA Hedgewars script which allows to change many aspects and rules of the game with help of the script parameter.
ownerWuzzy@disroot.org
last changeSat, 26 Oct 2019 22:25:44 +0000 (27 00:25 +0200)
content tags
add:
README.md

Game Hacks

Introduction

Game Hacks is a Hedgewars game style which allows you to manipulate over 100 different aspects of Hedgewars using the script parameter in the game scheme. Create the craziest games you can ever imagine.

Game Hacks is supported for Hedgewars version 1.0.0 and later.

This document explains how Game Hacks works.

Description

Game Hacks adds additional game modifiers and settings in the following categories:

The most important enabled modifiers will be displayed and explained briefly in the mission panel (shown at the start of the game or when you hit the mission panel key (default: [M]). As a rule of thumb, modifiers which are not obvious and have a big impact on gameplay are mentioned. Modifiers which are either obvious or only have little or no impact are usually not mentioned. Also, most modified weapons and utility effects are usually not mentioned, but their weapon description might be modified.

One important rule: If there is a conflict between one of Hedgewars' built-in settings and a script setting, the script setting takes precedence.

With an empty script parameter, there's only an cosmetic change: Generic ammo symbols for Extra Time and Extra Damage.

Basic syntax

This script can be configured mostly with the script parameters.

The script parameters are specified in a key=value format, and each pair is delimeted by a comma. Each value has one of multiple parameter types, which are described below. Each key can be specified in long form or in short form. The long form is descriptive. The short form is only 1 or 2 characters long.

Note that the entire script parameter field should not become longer than 245 characters, longer input can lead to problems in network games. This is a problem of Hedgewars. If you are using a lot of keys, you can use the short form. However, even with the short form it is possible to exhaust the character limit if you use a lot of parameters, so keep this in mind.

Try to use the long form when possible because it's easier to remember.

All values are optional.

See also the “Examples” section below.

Parameter types (see list of keys)

In the table below, some types will have an asterisk (“*”). This means that the special value “inf” (or short “i”) is allowed here, meaning an infinite amount or time.

Some types will have a dash (“-”). This means that you can also specify a range of values by writing two values of this type separated by a dash (e.g. “4-52”). The first value must be smaller or equal than the second value, otherwise they will be ignored.

Some parameters permit special values, see the description.

Most parameters out of reasonable bounds (i.e. a barrel health of 0 or negative gravity) will be capped for technical reasons to avoid a buggy or unexpected behaviour. This is a safety feature but it can be disabled if you set forcelimits to false. Warning: If you use forcelimits, you're on your own; expect broken behaviour.

Two special values are available for the types “num”, “time” and “%”:

The boundaries are the same as for forcelimits.

List of keys

These are all the keys that Game Hacks supports:

Key                     Short   Type    Default Description
-----------------------+-------+-------+-------+-------------------------------------------------------------------------
<<< ENVIRONMENT >>>
barrelhealth            b       num-    60      Initial health of barrels.
healthcratehealth       eh      num-    N/A     Health in health crates will be randomly set within this range
sturdycrates            ec      truth   false   Crates can't be destroyed.
maxcratedrops           eC      num     5       Max. crates that can be in game before random crate dropping stops
maxwind                 w       %       100     Limit the maximum wind strength (0-100).
fairwind                W       truth   false   Wind stays the same within the same round.
gravity                 g       %       100     Base gravity (without utilities) in percent.
flamemode               ef      choice  normal  “off”: Disable flames and flame-based weapons.
                                                “sticky”: All flames keep burning through turns.
                                                “short”: No flames keep burning through turns.
                                                “normal”: No change.
airflameshurt           a       truth   false   Flames in mid-air can hurt hedgehogs.
nosnow                  Q       truth   false   Snow does not pile up in themes where it normally snows (i.e. Snow, Christmas)
girders                 G       num     0       Number of randomly placed girders, not all might be placed if too many. EXPERIMENTAL!
forcefield              ei      truth   false   Hedgehogs can not enter the opposite side of the terrain. EXPERIMENTAL!

<<< INFORMATION >>>
showminetimer           im      truth   false   Make it possible to see timer of mines and air mines with object info key if mines time is random.

<<< HEDGEHOGS >>>
nojump                  j       truth   false   Hogs can't jump.
noknock                 k       truth   false   “Hogs of Steel”: Hogs can't be knocked away by sliding hogs.
hogfriction             0       num     0       Difference from default hog friction. Sane values are from -10 to 10.
poisondamage            P       num     5       Damage for poisoned hogs per round.
poisonkills             n       truth   false   Poison reduces health down to 0 instead of 1.
poison                  p       truth   false   All hedgehogs start poisoned.
hogfreeze               hf      %       199999  Initial “freeze level” when freezing hogs with freezer. See parameter notes for details.
epidemic                he      truth   false   Poisoned hedgehogs infect other hedgehogs they touch.
teamcure                t       truth   false   Collecting a health crate will remove poison from all hogs in team.
sharehealth             h       truth   false   Health of crates is shared among team mates.
davidandgoliath         d       truth   false   The 1st hog in team removes half the health of its team mates and adds it to its own.
donorbox                q       truth   false   The last dying hog (or the king in King Mode) of a team leaves a box with all the hog weapons inside.
maxpower                hm      truth   false   Thrown/launched weapons will be thrown/launched at full power (like mortar).

<<< TURNS >>>
ready                   r       time    5s      Ready time before the turn starts.
strategictools          z       truth   false   Constructions, rubbers, land sprays, mud balls and resurrections end the turn.

<<< SUDDEN DEATH >>>
sdpoison                S       truth   false   Poison all hogs in Sudden Death (once).
sd1hp                   1       truth   false   Set the health of all hogs to 1 HP in Sudden Death (once).

<<< FUEL / DURATION >>>
saucerfuel              f       %*      2000    Fuel of a flying saucer.
birdyenergy             B       %*      2000    Flapping energy of Birdy.
landsprayfuel           L       %       1000    Fuel of land spray.
freezerfuel             u       %       1000    Fuel of freezer.
flamethrowerfuel        F       %       500     Fuel of flamethrower.
rcplanetimer            C       time*   15s     Time of RC plane before fuel is gone.
minetimer               8       time-   3s      Timer of ALL ordinary mines, with milliseconds precision. Use range for a random timer within the range.
stickyminetimer         s       time-   500ms   Timer of sticky mines. Use range for a random timer within the range.
airminetimer            Y       time-   750ms   Custom timer of air mines. Use range for a random timer within the range.
hellishtimer            6       time    5s      Timer of hellish hand-grenade. Use “manual” or “m” for allowing to set timer by user.
dynamitetimer           5       time    5s      Timer of dynamite. Use “manual” or “m” for allowing to set timer by user.
caketimer               c       %       2048    Walking time of cake (percentage).
beedelay                x       time    500ms   Delay of homing bee before it starts homing.
beetimer                y       time    5s      Max. flight time of homing bee after it started homing
drillrockettimer        3       time    5s      Detonation timer of drill rocket (not from plane). Use “manual” or “m” for allowing to set timer by user.
napalmbombtimer         tN      time    1s      Detonation timer of a napalm bomb.
kamikazerange           K       %       2048    Range of kamikaze.
balltimer               m       time    5s      Explosion timer of ball from ball gun. Use “manual” or “m” for allowing to manually set timer with the ball gun.
pickhammertimer         I       time*   4s      Active time of pick hammer.
blowtorchtimer          T       time*   7.5s    Active time of blowtorch.
poisoncloudtimer        tp      time    5s      Life timer of a poison cloud from old limburger. 5 seconds max.
portaldistance          tP      num*    inf     How far portal balls can fly. “inf” = no limit.

<<< WEAPON EFFECTS >>>
birdyeggs               E       num*    2       Number of eggs for Birdy
rcplanebombs            R       num*    3       Number of bombs of RC plane.
ballgunballs            U       num     51      Number of balls from ballgun.
pianobounces            O       num     5       Number of terrain bounces of piano before it falls into water.
airattackbombs          A       num     6       Bombs in an air attack.
minestrikemines         M       num     6       Mines in a mine strike.
drillstrikedrills       D       num     6       Drills in a drill strike.
napalmbombs             N       num     6       Bombs in a napalm attack.
planedrops              4       num     6       Shorthand: Set all above 4 parameters at once.
airattackgap            wA      %       30      Distance between 2 missile drops in air attack.
minestrikegap           wM      %       30      Distance between 2 mine drops in mine strike.
drillstrikegap          wD      %       30      Distance between 2 drill drops in drill strike.
napalmgap               wN      %       30      Distance between 2 napalm bomb drops in napalm attack.
planedropgap            2       %       30      Shorthand: Set all above 4 parameters at once.
dudminehealth           wu      %       36      How much “health” dud mines have before they explode.
airmineseekrange        wr      %*      175     Distance (in pixels) at which air mines start seeking.
airmineseekspeed        we      %       536871  Speed at which air mines seek hogs.
airminefriction         wf      %       1610613 Air friction of air mine.
hammerstrength          wh      %*      125     How deep a (successful) hammer hit digs into land.
kamikazetrigger         wk      truth   false   If true, kamikaze can be detonated early with the attack key.
deaglestrength          wd      %       50      How deep a desert eagle shot digs into land.
sniperstrength          ws      %       50      How deep a sniper rifle shot digs into land.
sinestrength            wS      num     1       Thickness of sine gun shot.
mudballstrength         wm      %       200000  Pushing strength of a mud ball.
seductionrange          7       %       250     Range of seduction in pixels. EXPERIMENTAL!

<<< DAMAGE AND EXPLOSION SIZE >>>

airminedamage           da      %       30      Explosion damage and range of air mine.
minedamage              d8      %       50      Mine damage.
stickyminedamage        dt      %       30      Sticky mine damage.
grenadedamage           dg      %       50      Grenade damage.
hellishdamage           dH      %       90      Hellish hand-grenade damage.
clusterbombdamage       dl      %       20      Cluster bomb damage (main bomb).
clusterdamage           dL      %       25      Damage of a cluster (from cluster bomb or mortar).
melondamage             dm      %       75      Melon bomb damage (main piece).
melonpiecedamage        dM      %       75      Melon bomb piece damage.
balldamage              dU      %       40      Damage of a ball from the ball gun.
bazookadamage           db      %       50      Bazooka shell damage.
mortardamage            do      %       20      Mortar damage (main projectile).
beedamage               dx      %       50      Bee damage.
dynamitedamage          d5      %       75      Dynamite damage.
cakedamage              dc      %       75      Cake damage.
batdamage               dB      %       30      Baseball bat damage.
shoryukendamage         dF      %       30      Shoryuken damage.
whipdamage              dw      %       30      Whip damage.
rcplanedamage           dr      %       25      RC plane damage.
cleaverdamage           dv      %       40000   Scaling value of the impact damage of a cleaver. The damage does not linearly increase.
eggdamage               dE      %       10      Damage of an egg (from Birdy).
pianodamage             dp      %       80      Damage of a single Piano explosion (note: each impact creates 3 explosions).
limburgerdamage         di      %       20      Old limburger damage.
deagledamage            dd      %       7       Damage of a single Desert Eagle shot.
minigundamage           dG      %       2       Damage of a single minigun bullet.
shotgundamage           dO      %       25      Damage of a single shotgun shot.
sniperdamage            ds      %       100000  Scaling value of the sniper rifle's damage.
sinedamage              dS      %       35      Damage of a sine wave from the sine gun.
kamikazedamage          dK      %       30      Damage of a kamikaze impact and its explosion.
airbombdamage           dA      %       30      Damage of a bomb from an air strike or en RC plane.
drillrocketdamage       d3      %       50      Damage of a launched drill rocket.
drillstrikedrilldamage  dD      %       30      Damage of a drill rocket from the drill strike.
blowtorchdamage         dT      %       2       Damage of a single hit with a blowtorch.
pickhammerdamage        dI      %       6       Damage of a single hit with a pickhammer.
flamedamage             df      %       2       Damage of a small flame (larger flames deal 3 or 4 times this damage)
hogdamage               dh      %       30      Damage of the explosion of a dying hedgehog.
cratedamage             dC      %       25      Damage of an exploding crate.
barreldamage            de      %       75      Damage of an exploding barrel.
hammerdamage            dj      num     3       Denominator of the hammer damage. Actual damage will be 1/<number>*<health>.
hammerextradamage       dJ      num     2       Denominator of the hammer damage while extra damage is on. Actual damage will be 1/<number>*<health>.

<<< UTILITY EFFECTS >>>
buildrange              J       %*      256     Max. building range of girder.
extratime               e       time    30s     Time you get with Extra Time utility.
lowgravity              l       %       50      Percentage of base gravity used when low gravity utility is used.
timeboxturns            ut      num*    N/A     Time Box will return after this many additional turns. See parameter notes for details.
pickhammerstraightdown  up      truth   false   If true, the pick hammer will be able to dig straight down only and it direction can not be changed.
buildlimit              ub      num*    inf     How many constructions, rubbers and land sprays can be used per turn (inf = no limit).
resurrectorrange        9       %       100     Range of resurrector in pixels. EXPERIMENTAL!

<<< EYE CANDY / GIMMICKS >>>
shoppaborder            o       truth   false   Landscape has a decorative “danger” stripe on its edges.
ropecolor               xr      hex     D8D8D8  Rope color (will slightly change rope style). Use value “clan” to make rope appear in clan color.
ropeopacity             xR      %       255     Opacity of ropes (will slighty change rope style). 255=full opacity.

<<< SCRIPT CONFIGURATION >>>
forcelimits             Z       truth   true    Cap most number-based values at reasonable bounds. WARNING: If false, correct operation is NOT guaranteed
hedgepot                H       truth   false   Change 1-5 random game settings and 0-1 weapons/utilities.

Parameter notes

Here are some detailed notes about specific parameters.

Examples

In this section there are some examples for valid texts to put into the script parameter.

saucerfuel=4000

--> The flying saucer has 200% fuel.

saucerfuel=200%

--> The flying saucer has 200% fuel.

saucerfuel=inf

--> The flying saucer has infinite fuel.

stickyminetimer=0, nojump=true

--> Sticky mines explode instantly and jumping is disabled.

minetimer=1s-2s

--> Mines have a random time which may be between 1 and 2 seconds long.

ready=10s

--> The ready timer is set to 10 seconds.

poison=true, poisondamage=10

--> All hedgehogs are poisoned from the beginning and take 10 poison damage per turn.

gravity=200

--> The base gravity is doubled. It will go down to 100% when low gravity utility is used in-game (50% of base gravity).

gravity=200%, lowgravity=25%

--> The base gravity is doubled. It will go down to 25% of that base gravity (!) when the low gravity utility is used, which is 50% of the default gravity.

g=200%,l=25%

--> Same as the previous example, but it uses the short form.

ropecolor=FF0000

--> All ropes are red.

Licensing

Game Hacks is free software.

It's licensed under the MIT License. The media files (images) are based on Hedgewars content and are licensed under the GNU Free Documentation License 1.2.

See the Game_Hacks_LICENSE_v21.txt file for the full license texts.

shortlog
2019-10-26 WuzzyVersion 22 + update readmesmasterv22
2019-10-26 WuzzySimplify dynamite animation
2019-04-08 WuzzyUpdate README.md
2019-04-08 WuzzyUpdate gear info settings
2018-12-07 WuzzyVersion 21v21
2018-12-05 WuzzyReplace stickyflames with flamemode, merge noflames...
2018-12-05 WuzzyAdd noflames
2018-12-05 WuzzyFix Sudden Death specials starting in wrong turn
2018-12-04 WuzzyAdd README.md link to make web repo display happy
2018-12-04 WuzzyVersion 20v20
2018-12-04 WuzzySplit documentation into separate README file, add...
2018-12-04 WuzzyFix some bad gameflags in the hedgepot
2018-12-04 WuzzyAdd gfSwitchHog to hedgepot
2018-12-04 WuzzyLocalize 2 variables
2018-12-04 WuzzyGeneralize hog resurrection handling
2018-12-04 WuzzyFix ressurrect animation when displacing hogshogshogshogs
...
tags
4 years ago v22
5 years ago v21
5 years ago v20
6 years ago v19
heads
4 years ago master