ConfigurationFiles: Update for new scheme forma
authorWuzzy
Thu, 03 May 2018 02:37:39 +0100
changeset 1400 7e69fc304d43
parent 1399 2cfef276aba6
child 1401 ce7a84ad72bf
ConfigurationFiles: Update for new scheme forma
ConfigurationFiles.wiki
--- a/ConfigurationFiles.wiki	Thu May 03 02:05:11 2018 +0100
+++ b/ConfigurationFiles.wiki	Thu May 03 02:37:39 2018 +0100
@@ -249,64 +249,85 @@
 || `j0h1l` || First controller, second D-pad left ||
 || `j1h1r` || Second controller, second D-pad right ||
 
+== `Schemes/Game/<SchemeName>.hws` ==
+A game scheme. Each game scheme has its own file. `<SchemeName>` is the name of the scheme. Each game scheme setting is stored as a key-value pair, one setting per line:
+
+|| *Setting* || *Type* || *Description* ||
+|| switchhog=false || Boolean || If free hog switching is enabled on turn start ||
+|| divteams=false || Boolean || If teams start at the opposite side of the terrain ||
+|| solidland=false || Boolean || If land is indestructible ||
+|| border=false || Boolean || If an insestructible border is added around the map ||
+|| lowgrav=false || Boolean || If gravity is lowered ||
+|| laser=false || Boolean || If aiming is assisted with laser sights ||
+|| invulnerability=false || Boolean || If hogs have a personal forcefield ||
+|| resethealth=false || Boolean || If living hogs' health is reset to 100 at end of round ||
+|| vampiric=false || Boolean || If hogs gain life equal to 80 percent of the damage they deal ||
+|| karma=false || Boolean || If hogs lose life equal to the damage they deal ||
+|| artillery=false || Boolean || If hogs are unable to move ||
+|| randomorder=true || Boolean || If turn order is generated randomly ||
+|| king=false || Boolean || If a chess-like king is used ||
+|| placehog=false || Boolean || If players take turns placing their hogs before the start of a game ||
+|| sharedammo=false || Boolean || If ammo is shared between all teams of the same color ||
+|| disablegirders=false || Boolean || If girders are removed from randomly-generated maps ||
+|| disablelandobjects=false || Boolean || If land objects are removed from randomly-generated maps ||
+|| aisurvival=false || Boolean || If AI hogs respawn on death ||
+|| infattack=false || Boolean || If hogs can attack an unlimited number of times each turn ||
+|| resetweps=false || Boolean || If weapons are reset at end of each turn ||
+|| perhogammo=false || Boolean || If each hog has seperate ammo ||
+|| disablewind=false || Boolean || If wind is disabled ||
+|| morewind=false || Boolean || If wind is much stronger then usually ||
+|| tagteam=false || Boolean || If players in a team share time on each turn ||
+|| bottomborder=false || Boolean || If an indestructible border is added at the bottom of the map ||
+|| damagefactor=100 || Integer || Percentage of damage dealt ||
+|| turntime=45 || Integer || Maximum time in seconds of each turn ||
+|| health=100 || Integer || The initial health of the hogs ||
+|| suddendeath=15 || Integer || Turns before "Sudden Death" mode begins ||
+|| caseprobability=5 || Integer || Number of turns between cases drops ||
+|| minestime=3 || Integer || Seconds before mines explode ||
+|| minesnum=4 || Integer || Number of mines on a level ||
+|| minedudpct=0 || Integer || Percentage chance of each mine being a dud ||
+|| explosives=2 || Integer || Number of explosives on a level ||
+|| healthprobability=35 || Integer || Percentage chance of each crate being a health crate ||
+|| healthcaseamount=25 || Integer || Amount of life restored by each health crate ||
+|| waterrise=47 || Integer || Number of pixels the water rises each turn in "Sudden Death" mode ||
+|| healthdecrease=5 || Integer || Damage dealth each turn to hogs in water during "Sudden Death" mode ||
+|| ropepct=100 || Integer || Maximum length of rope as a percentage ||
+|| getawaytime=100 || Integer || Time you have to get away from an explosive after arming it, as a percentage ||
+|| worldedge=0 || Integer || Type of world edges at the left and right side. `0` for no edge (default), `1` for wrap-around, `2` for bouncy edges, `3` for ocean. ||
+|| scriptparam="" || String || 0.9.21: Script parameter, this is read by scripts. Can have any arbitrary srting value, the meaning of this value depends on the script used. ||
+
+== `Schemes/Ammo/<SchemeName>.hws` ==
+A weapon scheme. `<SchemeName>` is the name of this weapon scheme. This file contains a long sequence of numbers between `0` to `9` to configure all weapon settings.
+
+The number string has 4 equally long sections, in this order:
+
+ * Start ammo (9 = infinite)
+ * Crate probability (higher = more)
+ * Ammo in crate
+ * Delay
+
+In each section, each number represents one weapon. The order of these weapons is noted in the source code file `[https://hg.hedgewars.org/hedgewars/file/a79c1206bacd/QTfrontend/weapons.h#l24 weapons.h]`. This means the first number of a section is for the grenade, followed by the cluster bomb, then bazooka, and so on.
+
+== `schemes.ini` ==
+Legacy file for game schemes for version 0.9.23 and older. Since 0.9.24, this file is no longer actively used, it is now only used to import schemes to the new format when the `Schemes/Game/` directory has not been created yet.
+
+=== {{{[schemes]}}} ===
+_List of custom scheme settings as key-value pairs, each with a key of "index number of scheme backslash setting name". The only exception is `size` which holds the number of game schemes in this file.
+
+|| *Setting* || *Type* || *Description* ||
+|| size=1 || Integer || Number of custom scheme settings ||
+|| 1\name=new || String || Name of scheme no. 1 ||
+|| 1\fortsmode=false || Boolean || Whether forts are used in scheme no. 1. This is no longer used since 0.9.23 ||
+|| 1\<setting>=value || 'See above' || A setting of scheme no. 1. `<setting>` is any of the game scheme settings listed above in then new game scheme format ||
+
 == `weapons.ini` ==
+Legacy file for weapon schemes for version 0.9.23 and older. Since 0.9.24, this file is no longer actively used, it is now only used to import weapon schemes to the new format when the `Schemes/Ammo/` directory has not been created yet.
 
 === {{{[General]}}} ===
 _List of weapon settings as key-value pairs, each with a string name and integer value_
 
 || *Setting* || *Type* || *Description* ||
-|| Default=93919...11101 || Integer || Which weapons are allowed in the default mode ||
-
-== `schemes.ini` ==
-
-=== {{{[schemes]}}} ===
-_List of custom scheme settings as key-value pairs, each with a key of "index number of scheme backslash setting name"_
-
-|| *Setting* || *Type* || *Description* ||
-|| size=1 || Integer || Number of custom scheme settings ||
-|| 1\name=new || String || Name of scheme ||
-|| 1\switchhog=false || Boolean || If free hog switching is enabled on turn start ||
-|| 1\divteams=false || Boolean || If teams start at the opposite side of the terrain ||
-|| 1\solidland=false || Boolean || If land is indestructible ||
-|| 1\border=false || Boolean || If an insestructible border is added around the map ||
-|| 1\lowgrav=false || Boolean || If gravity is lowered ||
-|| 1\laser=false || Boolean || If aiming is assisted with laser sights ||
-|| 1\invulnerability=false || Boolean || If hogs have a personal forcefield ||
-|| 1\resethealth=false || Boolean || If living hogs' health is reset to 100 at end of round ||
-|| 1\vampiric=false || Boolean || If hogs gain life equal to 80 percent of the damage they deal ||
-|| 1\karma=false || Boolean || If hogs lose life equal to the damage they deal ||
-|| 1\artillery=false || Boolean || If hogs are unable to move ||
-|| 1\randomorder=true || Boolean || If turn order is generated randomly ||
-|| 1\king=false || Boolean || If a chess-like king is used ||
-|| 1\placehog=false || Boolean || If players take turns placing their hogs before the start of a game ||
-|| 1\sharedammo=false || Boolean || If ammo is shared between all teams of the same color ||
-|| 1\disablegirders=false || Boolean || If girders are removed from randomly-generated maps ||
-|| 1\disablelandobjects=false || Boolean || If land objects are removed from randomly-generated maps ||
-|| 1\aisurvival=false || Boolean || If AI hogs respawn on death ||
-|| 1\infattack=false || Boolean || If hogs can attack an unlimited number of times each turn ||
-|| 1\resetweps=false || Boolean || If weapons are reset at end of each turn ||
-|| 1\perhogammo=false || Boolean || If each hog has seperate ammo ||
-|| 1\disablewind=false || Boolean || If wind is disabled ||
-|| 1\morewind=false || Boolean || If wind is much stronger then usually ||
-|| 1\tagteam=false || Boolean || If players in a team share time on each turn ||
-|| 1\bottomborder=false || Boolean || If an indestructible border is added at the bottom of the map ||
-|| 1\damagefactor=100 || Integer || Percentage of damage dealt ||
-|| 1\turntime=45 || Integer || Maximum time in seconds of each turn ||
-|| 1\health=100 || Integer || The initial health of the hogs ||
-|| 1\suddendeath=15 || Integer || Turns before "Sudden Death" mode begins ||
-|| 1\caseprobability=5 || Integer || Number of turns between cases drops ||
-|| 1\minestime=3 || Integer || Seconds before mines explode ||
-|| 1\minesnum=4 || Integer || Number of mines on a level ||
-|| 1\minedudpct=0 || Integer || Percentage chance of each mine being a dud ||
-|| 1\explosives=2 || Integer || Number of explosives on a level ||
-|| 1\healthprobability=35 || Integer || Percentage chance of each crate being a health crate ||
-|| 1\healthcaseamount=25 || Integer || Amount of life restored by each health crate ||
-|| 1\waterrise=47 || Integer || Number of pixels the water rises each turn in "Sudden Death" mode ||
-|| 1\healthdecrease=5 || Integer || Damage dealth each turn to hogs in water during "Sudden Death" mode ||
-|| 1\ropepct=100 || Integer || Maximum length of rope as a percentage ||
-|| 1\getawaytime=100 || Integer || Time you have to get away from an explosive after arming it, as a percentage ||
-|| 1\worldedge=0 || Integer || Type of world edges at the left and right side. `0` for no edge (default), `1` for wrap-around, `2` for bouncy edges, `3` for ocean. ||
-|| 1\scriptparam="" || String || 0.9.21: Script parameter, this is read by scripts. Can have any arbitrary srting value, the meaning of this value depends on the script used. ||
+|| `<Scheme name>`=93919...11101 || Integer || Weapon settings. `<Scheme name>` is the name of the scheme. The number string has the same meaning as in the new ammo scheme file ||
 
 == `TeamName.hwt` ==
 These files are found in the `Teams` directory and contain the team settings, one file per team.