1Game Mode: sizeAdjustment.lst 2============================= 3 4The `sizeAdjustment.lst` is a part of the "game mode". 5 6`sizeAdjustment.lst` defines: 7 8* what size categories exist in the game mode, such as 'Small', 'Medium', and 'Large'. 9* what bonuses apply to each size category; i.e. small creatures having better Hide checks, or big creatures being able to carry more weight. 10* what penalties apply to each size category; i.e. small creatures having a reduced carrying capacity, or big creatures having to pay more for weapons and armour. 11 12The `sizeAdjustment.lst` files can be found in the `system/gameModes/<game_mode_name>/` directory for each game mode. 13 14## Structure of the `sizeAdjustment.lst` file 15 16Each creature size is identified by a `SIZENAME`. 17 18Tokens are added to the `SIZENAME` to indicate the in-game effects of the creature's size. The `SIZENUM` token is mandatory; all others are optional. 19 20A typical size definition, from `system/gameModes/35e/sizeAdjustment.lst`, looks like: 21 22 SIZENAME:S 23 → ABB:S 24 → DISPLAYNAME:Small 25 → BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|1 26 SIZENAME:S 27 → BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 28 → BONUS:ITEMWEIGHT|TYPE=Goods|0.25 29 SIZENAME:S 30 → BONUS:ACVALUE|TYPE.Armor,TYPE.Shield|1 31 → BONUS:COMBAT|AC|1|TYPE=Size 32 → BONUS:COMBAT|TOHIT|1|TYPE=SIZE 33 → BONUS:COMBAT|TOHIT.GRAPPLE|-5|TYPE=Size 34 SIZENAME:S 35 → BONUS:ITEMCAPACITY|TYPE=Goods|0.25 36 SIZENAME:S 37 → BONUS:SKILL|Hide|4|TYPE=SIZE 38 SIZENAME:S 39 → BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 40 SIZENAME:S 41 → BONUS:STAT|STR|2|PREBASESIZELT:Tiny|PREVAREQ:BypassSizeMods,0 42 → BONUS:STAT|STR|4|PREBASESIZELT:Small|PREVAREQ:BypassSizeMods,0 43 SIZENAME:S 44 → BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine|PREVAREQ:BypassSizeMods,0 45 → BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny|PREVAREQ:BypassSizeMods,0 46 → BONUS:STAT|DEX|-2|PREBASESIZELT:Small|PREVAREQ:BypassSizeMods,0 47 SIZENAME:S 48 → SIZENUM:040 49 50 51---- 52 53## Tags 54 55<h3 id="ABB">ABB</h3> 56 57**Optional:** A one letter abbreviation of the size name. 58 59#### Syntax 60 61`ABB:X`, where `X` is a single letter. 62 63#### Example 64 65`SIZENAME:Fine → ABB:F` sets the abbreviation for the `Fine` size to the letter `F`. 66 67#### Notes 68 69The `ABB` tag is implemented in [code/src/java/plugin/lsttokens/sizeadjustment/AbbToken.java](https://github.com/PCGen/pcgen/blob/master/code/src/java/plugin/lsttokens/sizeadjustment/AbbToken.java). 70 71------------------------------------------------------------------------ 72 73<h3 id="ISDEFAULTSIZE">ISDEFAULTSIZE</h3> 74 75**Mandatory:** Marks which of the creature sizes is the default for the game mode. 76 77#### Syntax 78 79`SIZENAME:size_1 → ISDEFAULTSIZE:Y` indicates that `size_1` **is** the default size for the game mode. 80 81`SIZENAME:size_2 → ISDEFAULTSIZE:N` indicates that `size_2` **is not** the default size. 82 83#### Example 84 85`SIZENAME:Medium → ISDEFAULTSIZE:Y` makes `Medium` the default size for this game mode. 86 87 88#### Notes 89 90There must be one, and only one, size marked as the default size. 91 92- It is an error to have no size marked as the default size. 93- It is an error to have more than one default size. 94 95If the `ISDEFAULTSIZE` tag is missing for a particular `SIZENAME`, then `ISDEFAULTSIZE:N` is assumed. 96 97------------------------------------------------------------------------ 98 99<h3 id="SIZENAME">SIZENAME</h3> 100 101Identifies a creature size category. 102 103Each line of the `sizeAdjustment.lst` file **MUST** begin with a `SIZENAME` tag. Features are added to the category by adding sub-tags after the `SIZENAME`, such as `BONUS` tags. 104 105The same `SIZENAME` may appear on multiple lines. The tokens following the `SIZENAME` are appended to any tokens for the same `SIZENAME` on preceding lines. 106 107#### Status 108 109New in 5.10.1. 110 111#### Syntax 112 113`SIZENAME:size_name`, where `size_name` is a single letter, i.e. `S`, `M`, `L`. This is the current standard for all game modes included in PCGen. 114 115Alternately, `size_name` may be a single word such as `Small`, `Medium`, `Large`, etc. 116 117**Example:** 118 119`SIZENAME:F` defines a creature size named `F`. (This form is preferred.) 120 121`SIZENAME:Fine` defines a creature size `Fine`. 122 123---- 124 125<h3 id="SIZENUM">SIZENUM</h3> 126 127**Mandatory:** Defines the sorting order for the size categories. 128 129#### Status 130 131New in 6.05.04. 132 133Before 6.05.04, the size order was inferred from the order of the `SIZENAME` tags in the `sizeAdjustment.lst` file. As of 6.05.04, the order is explicitly indicated using the `SIZENUM` tag. 134 135* [JIRA NEWTAG-480](https://pcgenorg.atlassian.net/browse/NEWTAG-480) / [GitHub PR #397](https://github.com/PCGen/pcgen/pull/397) - token parser changes. 136* [JIRA DATA-2507](https://pcgenorg.atlassian.net/browse/DATA-2507) / [GitHub PR #410](https://github.com/PCGen/pcgen/pull/410) - added `SIZENUM` tags to all the default game modes. 137 138#### Syntax: 139 140`SIZENAME:size_name → SIZENUM:size_number` 141 142`size_number` is an integer. Bigger numbers correspond to larger size categories. 143 144#### Example: 145 146The following code, included in the `35e` version of `sizeAdjustment.lst`, defines the ordering of the `35e` size categories: 147 148 SIZENAME:F SIZENUM:010 149 SIZENAME:D SIZENUM:020 150 SIZENAME:T SIZENUM:030 151 SIZENAME:S SIZENUM:040 152 SIZENAME:M SIZENUM:050 153 SIZENAME:L SIZENUM:060 154 SIZENAME:H SIZENUM:070 155 SIZENAME:G SIZENUM:080 156 SIZENAME:C SIZENUM:090 157 SIZENAME:P SIZENUM:100 158 159------------------------------------------------------------------------ 160 161## Global BONUS tags which are useful in `sizeAdjustment.lst` 162 163All global `BONUS` tags may be used in `sizeAdjustment.lst`. 164 165Some useful tags include: 166 167* `BONUS:COMBAT|AC|1|TYPE=Size` - grant a +1 size AC bonus due to size. 168* `BONUS:COMBAT|TOHIT|1|Type=Size` - grant a +1 attack bonus due to size. 169* `BONUS:COMBAT|TOHIT.GRAPPLE|5|Type=Size` - grant a bonus on Grapple checks due to large size. 170* `BONUS:SKILL|Hide|4|TYPE=Size` - grant a bonus on Hide checks due to small size. 171 172---- 173 174## BONUS tags specific to `sizeAdjustment.lst` 175 176The following `BONUS` tags function only in the `sizeAdjustment.lst` file. 177 178<h3 id="BONUSACVALUE">BONUS:ACVALUE</h3> 179 180Multiplies the AC bonus from a particular type of armour, such as `Armor` or `Shield`, based on the creature's size. 181 182#### Status 183 184New in 5.10.1. 185 186#### Syntax 187 188`BONUS:ACVALUE|TYPE:type_1,TYPE:type_2, ...|ac_multiplier` 189 190* `type_1`, `type_2`, ... may include armour types such as `TYPE:Armor` and `TYPE:Shield`. 191 * *[Ed: do things like `TYPE:Natural`, `TYPE:Dodge`, `TYPE:Sacred` ... also work?]* 192 193 194* `ac_multiplier` is the multiplier to AC for the given armour types. 195 * `0.5` would cause the creature to only receive half the normal AC bonus from the given armour types. 196 * `2` would cause the creature to gain twice the AC bonus from the given armour types. 197 198#### Examples 199 200* `BONUS:ACVALUE|TYPE.Armor,TYPE.Shield|0.5` 201 202 Halves the benefit from armour and shields. 203 204* `BONUS:ACVALUE|TYPE.Armor,TYPE.Shield|2` 205 206 Doubles the benefit from armour and shields. 207 208------------------------------------------------------------------------ 209 210<h3 id="BONUSITEMCAPACITY">BONUS:ITEMCAPACITY</h3> 211 212Changes the "item carrying capacity" based on the size of the character. 213 214This is used to implement the DnD 3.5 rule for equipment made in different sizes for different creatures, such as backpacks and bed-rolls. These items *"... weigh one-quarter this amount when made for Small characters. Containers for Small characters also **carry one-quarter the normal amount.**"* ([Refer to the d20 SRD.](http://www.d20srd.org/srd/equipment/goodsAndServices.htm#adventuringGear)) 215 216 217 218#### Status 219 220New in 5.10.1 221 222#### Syntax 223 224`BONUS:ITEMCAPACITY|TYPE=item_type|capacity_multiplier` 225 226* `item_type` is a type of equipment from the data set's equipment files, i.e. the `35e` files `rsrd_equip_arms_and_armor.lst`, `rsrd_equip_general.lst`, and `rsrd_equip_magic_items.lst`. Such types might include: 227 * `Resizable` - for items which are [supposed to come in different sizes for different characters](http://www.d20srd.org/srd/equipment/goodsAndServices.htm#adventuringGear), like backpacks, blankets, bedrolls, and so on. 228 * `Goods` - seems to include the majority of things in the `rsrd_equip_general.lst`, which covers general [goods and services](http://www.d20srd.org/srd/equipment/goodsAndServices.htm#adventuringGear). 229 230* `capacity_multiplier` is a number. 231 232#### Examples 233 234* `BONUS:ITEMCAPACITY|TYPE=Resizable|0.25` 235 236 Reduces the carrying capacity of items of `TYPE=Resizable` to one quarter of the normal value. 237 238* `BONUS:ITEMCAPACITY|TYPE=Goods|2` 239 240 Increases the carrying capacity of `TYPE=Goods` to double the normal value. 241 242------------------------------------------------------------------------ 243 244<h3 id="BONUSITEMCOST">BONUS:ITEMCOST</h3> 245 246Modifies the cost of items based on the item's size category, i.e. the size of the creature the item was made for. 247 248For example, in 3.5e, a large-sized weapon [costs twice as much](http://www.d20srd.org/srd/equipment/weapons.htm#cost) as a medium-sized weapon, and large-sized armour [costs twice as much](http://www.d20srd.org/srd/equipment/armor.htm#armorForUnusualCreatures) as medium-sized armour. 249 250#### Status 251 252New in 5.10.1 253 254#### Syntax 255 256`BONUS:ITEMCOST|TYPE=item_type_1,TYPE=item_type_2,...|cost_multiplier` 257 258* `item_type` is a type of equipment from the data set's equipment files, i.e. the `35e` files `rsrd_equip_arms_and_armor.lst`, `rsrd_equip_general.lst`, and `rsrd_equip_magic_items.lst`. Such types might include: 259 * `Armor` 260 * `Weapon` 261 * `Potion` 262 * Very specific types such as `Quarterstaff`. 263* `cost_multiplier` is a number. 264 265#### Examples 266 267* `BONUS:ITEMCOST|TYPE=Weapon|0.5` 268 269 Halves the cost of weapons. 270 271* `BONUS:ITEMCOST|TYPE=Weapon,TYPE=Armor|2` 272 273 Doubles the cost of weapons and armour. 274 275* `BONUS:ITEMCOST|TYPE=Scrolls,TYPE=Potions|1` 276 277 Leaves the cost of scrolls and potions un-modified. 278 279* `BONUS:ITEMCOST|TYPE=Alchemical,TYPE=Liquid,TYPE=Clothing,TYPE=Food|2` 280 281 Doubles the costs of all items of type Alchemical, Liquid, Clothing, or Food. 282 283------------------------------------------------------------------------ 284 285<h3 id="BONUSITEMWEIGHT">BONUS:ITEMWEIGHT</h3> 286 287Modifies the weight of items based on the item's size category, i.e. the size of the creature the item was made for. 288 289For example, in 3.5e, armour for small-size creatures [weighs half as much](http://www.d20srd.org/srd/equipment/armor.htm#armorForUnusualCreatures) as armour for medium-sized creatures. 290 291#### Status 292 293New in 5.10.1. 294 295#### Syntax 296 297`BONUS:ITEMWEIGHT|TYPE=item_type_1,TYPE=item_type_2,...|weight_multiplier` 298 299* `item_type` is a type of equipment from the data set's equipment files, as per `BONUS:ITEMCOST` above. 300* `weight_multiplier` is a number. 301 302#### Example 303 304* `ITEMWEIGHT|TYPE=Armor|2` 305 306 Doubles the weight of armour made for a creature of this size. 307 308* `ITEMWEIGHT|TYPE=Resizable|0.25` 309 310 Reduces the weight of `Resiable` items, such as backpacks and bedrolls, to one-quarter the normal value. 311 312------------------------------------------------------------------------ 313 314<h3 id="BONUSLOADMULT">BONUS:LOADMULT</h3> 315 316Adds to the `SIZEMULT` value as defined in the `load.lst` game mode file. 317 318Mostly, the rules for "Large creatures can carry twice as much weight" [and so on](http://www.d20srd.org/srd/carryingCapacity.htm#biggerandSmallerCreatures) are implemented in `load.lst`. The `BONUS:LOADMULT` tag is used to implement rules for creatures with four legs having greater load-carrying capacity. 319 320#### Status 321 322New in 5.10.1 323 324#### Syntax 325 326`BONUS:LOADMULT|TYPE=SIZE|sizemult_modifier` 327 328* `sizemult_modifier` is a number. This number is added to the `SIZEMULT` in the `load.lst` file to determine the "effective" carrying capacity multiplier, relative to a normal sized creature. 329 330##### Examples 331 332* `SIZENAME:H → BONUS:LOADMULT|TYPE=SIZE|2` 333 334 Increases the creature's carrying capacity by one multiple of the normal carrying capacity. This adds with the multiplier already defined for the creature's size category, in `load.lst`. 335 336 For example, in DnD 3.5e, a huge-size creature can already carry four times the load of a medium-size creature. This is defined by the code `SIZEMULT:H|4` in `load.lst`. 337 338 The above `BONUS:LOADMULT|...|2` increases this by a further two multiples of the medium-size creature's carrying capacity, to a total of six times. 339 340* `SIZENAME:H → BONUS:LOADMULT|TYPE=SIZE|2|PRELEGSGTEQ:4` 341 342 Like the above, but will only apply if the creature has at least four legs. 343