Difference between pages "Batfactors" and "Choice Adventures"

From Kolmafia
(Difference between pages)
Jump to navigation Jump to search
imported>Zarqon
 
imported>Fluxxdog
 
Line 1: Line 1:
{{TOCright}}{{DISPLAYTITLE:batfactors (batfactors.txt)}}
+
A large number of the preferences saved by KoLmafia are used to determine the default behavior when a choice adventure is automated (either through auto-adventuring or use of the "auto" button in the relay browser). The number of choice adventures in KoL is too large and too often updated to list each individual preference here. Please consult the main wiki's Choice Adventures by Number page for a comprehensive list. Note that each preference follows the same numbering scheme as KoL itself. For example, the adventure "Minnesota Incorporeals" is number 77 in KoL, and its KoLmafia preference is "choiceAdventure77".
== What is batfactors? ==
 
batfactors.txt is a data file used by [[BatBrain]], containing information about all the various factors pertinent to battle.  These are saved in a data-entry-friendly format rather than just saving a map of advevents, which would be bulkier and harder to edit. Most of BatBrain's knowledge about items, skills, equipment, etc. is found in this file.  As it is publicly editable on the Map Manager, a guide to understanding the format could be handy for someone looking to either add new content or fix old or previously unspaded content.
 
  
== The Format ==
+
Each choiceAdventure is set to a number, which corresponds to which choice you want to make from the available options in KoL (or in the GUI, in the case that mafia provides more options than KoL). According to Holatuwol (here), the settings map to "X=pick the Xth Option" and "X+1=pick an item you don't have" (i.e., complete the outfit). Many preferences also have a "Show in [Mini] Browser" option, which corresponds to a setting of 0.
  
Like all mafia data files, batfactors is a map file, in the following format:
+
This page contains a detailed list of choice adventures and KoLmafia's options for them in Choice Adventures setting. Choice adventures that can no longer be accessed will not be listed. There are also a few choice adventures that have speical handling, like {{kolwiki|Louvre It or Leave It}}. These will be detailed afterwards.
 
+
{| class="wikitable" border="1"
<syntaxhighlight>
 
record combat_rec {
 
  string ufname;          // user-friendly name, not really used by BatBrain
 
  string dmg;            // damage to monster
 
  string pdmg;            // damage to player
 
  string special;        // comma-delimited list of other action results
 
};
 
combat_rec [string, int] factors;
 
</syntaxhighlight>
 
 
 
Note that the map has two indices. The first string represents the category.  The second index is the integer identifying the relevant item/skill/familiar. For example the "bander" category, which contains information about your Bandersnatch's enhancements to combat skills, is indexed by skill number.
 
 
 
{| class="wikitable"
 
!Category
 
!Indexed by
 
!What?
 
 
|-
 
|-
|bander
+
!  #
|skill number
+
!  Name
|Your Bandersnatch's enhancements to the specified skill.
+
!  default
 +
!  Options
 +
!  Notes
 
|-
 
|-
|chef
+
|2
|staff item number
+
|{{kolwiki|Denim Axes Examined}}
|Jiggle results for the specified chefstaff.
+
|2
 +
|1-Trade a rubber axe for a denim axe
 +
2-skip adventure
 +
|
 
|-
 
|-
|crown
+
|3
|familiar number
+
|{{kolwiki|The Oracle Will See You Now}}
|Results for the Crown of Thrones when the specified familiar is enthroned.
+
|3
 +
|1-skip adventure
 +
2-Pay for a minor consultation (waste 100 meat)
 +
 
 +
3-Make the plus sign usable
 +
|
 
|-
 
|-
|effect
+
|4
|effect number
+
|{{kolwiki|Finger-Lickin'... Death.}}
|Average per-round results when you have the specified effect active (e.g. passive damage).
+
|3
|-
+
|1-Chance to win or lose 500 meat
|fam
+
2-Chance for poultrygeist
|familiar number
+
 
|Results for the specified familiar.
+
3-skip adventure
|-
+
|
|gear
 
|equipment item number
 
|Average per-round results when you have the specified item equipped.
 
 
|-
 
|-
|hatrack
+
|5
|hat item number
+
|{{kolwiki|Heart of Very, Very Dark Darkness}}
|Familiar results for your Mad Hatrack when it has the specified hat equipped.
+
|2
 +
|1-Fight the Fairy Queen
 +
2-skip adventure
 +
|KoLmafia automatically sets the choices for {{kolwiki|Darker Than Dark}}, {{kolwiki|How Depressing}}, and {{kolwiki|On the Verge of a Dirge}} based on your setting. Also, if you cannot fight Felonia because you don't have the inexplicably glowing rock or the spooky glove equipped, it will skip the adventure anyway.
 
|-
 
|-
|item
+
|15
|item number
+
|{{kolwiki|Yeti Nother Hippy}}
|Results for throwing the specified combat item.
+
|4
|-
+
|1-eXtreme mittens
|monster
+
2-eXtreme scarf
|arbitrary index
 
|Special monster attributes such as resistances, damage caps, and immunities.  This category is a bit special (see below).
 
|-
 
|scare
 
|pants item number
 
|Familiar results for your Fancypants Scarecrow when it has the specified pants equipped.
 
|-
 
|skill
 
|skill number
 
|Results for casting the specified combat skill.
 
|}
 
  
After these important identifiers comes the actual information.  The first field, ufname, is merely to make the data file easy to read and isn't really used by BatBrain when reading the file.  The remaining three fields contain all the information and need to be formatted in a certain way to be understood, but I believe you'll find that format both intuitive and easy to edit.
+
3-small meat boost
  
== Spreads in Batfactors ==
+
4-complete the eXtreme Cold-Weather Gear outfit
 +
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 +
|-
 +
|16
 +
|{{kolwiki|Saint Beernard}}
 +
|4
 +
|1-snowboarder pants
 +
2-eXtreme scarf
  
The dmg and pdmg fields contain damage information, which is converted to a spread (float[element] map) in BatBrain.  The format is versatile and can include formulas and any of BatBrain's fvars.  Since this value is handled by ASH's [[modifier_eval]](), any of those key letters or text functions will also work.  Basically damage is expressed as
+
3-small meat boost
  
amount elements
+
4-complete the eXtreme Cold-Weather Gear outfit
 +
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 +
|-
 +
|17
 +
|{{kolwiki|Generic Teen Comedy Snowboarding Adventure}}
 +
|4
 +
|1-eXtreme mittens
 +
2-snowboarding pants
  
where amount is the damage formula and elements is a comma (but not space!)-delimited list of elements, using "none" for physical damage, or "perfect" for always-correctly-tuned damage.  If the action does only physical damage, elements (and the preceding space) may be omitted.  If multiple elements are present, the damage in amount will be equally distributed among those elements.
+
3-small meat bost
  
{| class="wikitable"
+
4-complete the eXtreme Cold-Weather Gear outfit
|+Examples
+
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 
|-
 
|-
|10
+
|18
|deals 10 physical damage
+
|{{kolwiki|A Flat Miner}}
|-
+
|4
| -10
+
|1-miner's pants
|heals 10 hit points
+
2-7-foot Dwarven mattock
|-
 
|10*L
 
|deals 10 times your level in physical damage
 
|-
 
|myhp/2
 
|deals half of your current hitpoints in physical damage
 
|-
 
|10 spooky
 
|deals 10 spooky damage
 
|-
 
|10 spooky,hot
 
|deals 5 spooky damage and 5 hot damage
 
|-
 
|10 hot,cold,spooky,sleaze,stench
 
|deals 2 each of hot, cold, spooky, sleaze, and stench damage (2 prismatic damage)
 
|}
 
  
For cases where the damage is not equally distributed among elements, the above pattern may be repeated, separated by a pipe:
+
3-small meat boost
  
{| class="wikitable"
+
4-complete the Mining Gear outfit
|+Examples
+
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 
|-
 
|-
|<nowiki>3 hot|7 spooky</nowiki>
+
|19
|deals 3 hot damage and 7 spooky damage
+
|{{kolwiki|100% Legal}}
|-
+
|4
|<nowiki>50 hot,cold|4 hot</nowiki>
+
|1-miner's helmet
|deals 29 hot damage and 25 cold damage
+
2-miner's pants
|}
 
  
== Special ==
+
3-small meat boost
  
Of course, events may have many results besides just damage, and that is all contained in the special field. The special field, quite simply, is a comma (and space)-delimited list of keywords and values, like so:
+
4-complete the Mining Gear outfit
 
+
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
keyword1 value1, keyword2 value2, keyword3 value3
+
|-
 +
|20
 +
|{{kolwiki|See You Next Fall}}
 +
|4
 +
|1-7-foot Dwarven mattock
 +
2-miner's helmet
  
As few as 0 keywords and values may be present.  For numeric values such as MP or meat, formulas may be used since (as with the spreads above) these values will be handled by [[modifier_eval]]().  Here are all the keywords BatBrain presently understands:
+
3-small meat boost
  
{| class="wikitable"
+
4-complete the Mining Gear outfit
!Keyword
+
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
!Meaning of Value
 
|-
 
|aoe
 
|For skills with an area of effect, specifies the maximum number of monsters the skill affects.
 
 
|-
 
|-
|att
+
|21
|Monster attack modifier.
+
|{{kolwiki|Under the Knife}}
 +
|2
 +
|1-Switch genders
 +
2-skip adventure
 +
|
 
|-
 
|-
|def
+
|22
|Monster defense modifier.
+
|{{kolwiki|The Arrrbitrator}}
|-
+
|4
|stun
+
|1-eyepatch
|Number of rounds the monster is stunned by this action, on average.  Defaults to 1 if no value is specified.
+
2-swashbuckling pants
|-
 
|mp
 
|Amount of MP gained/lost.
 
|-
 
|meat
 
|Amount of meat gained/lost.
 
|-
 
|item
 
|A semicolon+space-delimited list of item names.  This action results in one of the items from this list.  Estimated profit averages the value of these items.
 
|-
 
|monster
 
|A monster name, or multiple pipe-delimited names. This event only happens for monsters specified here.
 
|-
 
|notmonster
 
|A monster name, or multiple pipe-delimited names. This event happens for any monster except those specified here.
 
|-
 
|phylum
 
|A phylum name.  This event only applies to monsters of the specified phylum.
 
|-
 
|stats
 
|Substats earned, formatted as <nowiki>Mus|Mys|Mox</nowiki>.
 
|-
 
|custom
 
|If specified at all, this action is a custom action and should not be used in regular automation.  The optional value represents the type of custom action (runaway, yellow, attract, banish, copy, etc).
 
|-
 
|rate
 
|For familiars only (which includes hatrack and scare categories).  The action rate of the familiar, expressed as a percent (1.0 = 100%).
 
|-
 
|!!
 
|Note. Usually used to explain something BatBrain is currently unable of knowing or tracking, i.e. unspaded data, ongoing damage, or some other strange mechanic.
 
|}
 
  
Some keywords have no values.  BatBrain merely checks for the presence of the keyword to determine the relevant information.
+
3-small meat boost
  
{| class="wikitable"
+
4-complete the Swashbuckling Getup outfit
!Keyword
+
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
!Presence Indicates
 
|-
 
|once
 
|The action can only be used once per combat.
 
|-
 
|endscombat
 
|The action automatically ends combat.
 
 
|-
 
|-
|underwater
+
|23
|The action is only valid underwater.
+
|{{kolwiki|Barrie Me at Sea}}
|-
+
|4
|retal
+
|1-stuffed shoulder parrot
|The results happen when the monster successfully hits you.
+
2-swashbuckling pants
|-
 
|onhit
 
|The results happen when you hit the monster with a melee attack.
 
|-
 
|oncrit
 
|The results happen when you get a critical hit.
 
|}
 
  
== The "monster" Category ==
+
3-small meat boost
  
The monster category is handled differently to the other categories.  The monster attributes are not loaded into an advevent, so it is not handled by to_event() as all the other categories are. Here are the key differences:
+
4-complete the Swashbuckling Getup outfit
 +
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 +
|-
 +
|24
 +
|{{kolwiki|Amatearrr Night}}
 +
|4
 +
|1-stuffed shoulder parrot
 +
2-small meat boost
  
First of all, the integer index is meaningless since ASH has no to_int(monster).  Instead, the ufname field is used, and must be the name of a monster.
+
3-eypatch
  
Secondly, the dmg field does not contain damage information, but rather monster resistances/vulnerabilities, still expressed as a spread.  For each element, 0 is normal, 1.0 is immunity, and -1.0 is vulnerability.  Normal elemental resistances/vulnerabilities are already calculated by BatBrain, so you only need to include this information if the monster has exceptional resistances.  These resistances will overwrite the existing resistances on a per-element basis.
+
4-complete the Swashbuckling Getup outfit
 +
|If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
 +
|-
 +
|25
 +
|{{kolwiki|Ouch! You bump into a door!}}
 +
|2
 +
|1-Buy a magic lamp for 50 meat
 +
2-Fight a mimic for 5000 meat
  
The pdmg field is unused.
+
3-skip adventure
 +
|
 +
|-
 +
|40
 +
|{{kolwiki|The Effervescent Fray}}
 +
|3
 +
|1-Cloaca-Cola fatigues
 +
2-Dyspepsi-Cola shield
  
Finally, the special field contains an entirely new set of keywords, which are only for use in the monster category:
+
3-mysticality stats
 +
|
 +
|-
 +
|41
 +
|{{kolwiki|Smells Like Team Spirit}}
 +
|3
 +
|1-Dyspepsi-Cola fatigues
 +
2-Cloaca-Cola helmet
  
{| class="wikitable"
+
3-muscle substats
!Keyword
+
|
!Value/Indicates
 
 
|-
 
|-
|nohit
+
|42
|This monster never hits.
+
|{{kolwiki|What is it Good For?}}
|-
+
|3
|nomiss
+
|1-Dyspepsi-Cola helmet
|This monster never misses (e.g. gremlins).
+
2-Cloaca-Cola shield
|-
+
 
|nostun
+
3-moxie substats
|The monster is completely immune to stuns and staggers of any duration.
+
|
|-
 
|nomultistun
 
|The monster is immune to multi-round stunners, such as Entangling Noodles.
 
|-
 
|seal
 
|The monster is a seal and can only be damaged by clubs.
 
|-
 
|noitems (X)
 
|You cannot use items in combat with this monster.  If a value is specified, it should be a float representing the monster's chance of blocking item use.
 
|-
 
|noskills (X)
 
|As with noitems above, but for skills.
 
|-
 
|maxround X
 
|Use this to specify combats of unusual durations (e.g. "maxround 50" for basement monsters).
 
|-
 
|group X
 
|Use this to specify group monsters, where X is the amount of monsters in the group (integer).
 
|-
 
|damagecap X
 
|Use this to specify the monster's soft damage cap boundary (integer).
 
 
|-
 
|-
|capexp X
 
|This is only meaningful with a soft damage cap, and specifies the exponent used to reduce damage above the boundary.
 
 
|}
 
|}
 +
==Special Cases==
 +
===Spooky Forest===

Revision as of 22:50, 1 August 2013

A large number of the preferences saved by KoLmafia are used to determine the default behavior when a choice adventure is automated (either through auto-adventuring or use of the "auto" button in the relay browser). The number of choice adventures in KoL is too large and too often updated to list each individual preference here. Please consult the main wiki's Choice Adventures by Number page for a comprehensive list. Note that each preference follows the same numbering scheme as KoL itself. For example, the adventure "Minnesota Incorporeals" is number 77 in KoL, and its KoLmafia preference is "choiceAdventure77".

Each choiceAdventure is set to a number, which corresponds to which choice you want to make from the available options in KoL (or in the GUI, in the case that mafia provides more options than KoL). According to Holatuwol (here), the settings map to "X=pick the Xth Option" and "X+1=pick an item you don't have" (i.e., complete the outfit). Many preferences also have a "Show in [Mini] Browser" option, which corresponds to a setting of 0.

This page contains a detailed list of choice adventures and KoLmafia's options for them in Choice Adventures setting. Choice adventures that can no longer be accessed will not be listed. There are also a few choice adventures that have speical handling, like Louvre It or Leave It. These will be detailed afterwards.

# Name default Options Notes
2 Denim Axes Examined 2 1-Trade a rubber axe for a denim axe

2-skip adventure

3 The Oracle Will See You Now 3 1-skip adventure

2-Pay for a minor consultation (waste 100 meat)

3-Make the plus sign usable

4 Finger-Lickin'... Death. 3 1-Chance to win or lose 500 meat

2-Chance for poultrygeist

3-skip adventure

5 Heart of Very, Very Dark Darkness 2 1-Fight the Fairy Queen

2-skip adventure

KoLmafia automatically sets the choices for Darker Than Dark, How Depressing, and On the Verge of a Dirge based on your setting. Also, if you cannot fight Felonia because you don't have the inexplicably glowing rock or the spooky glove equipped, it will skip the adventure anyway.
15 Yeti Nother Hippy 4 1-eXtreme mittens

2-eXtreme scarf

3-small meat boost

4-complete the eXtreme Cold-Weather Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
16 Saint Beernard 4 1-snowboarder pants

2-eXtreme scarf

3-small meat boost

4-complete the eXtreme Cold-Weather Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
17 Generic Teen Comedy Snowboarding Adventure 4 1-eXtreme mittens

2-snowboarding pants

3-small meat bost

4-complete the eXtreme Cold-Weather Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
18 A Flat Miner 4 1-miner's pants

2-7-foot Dwarven mattock

3-small meat boost

4-complete the Mining Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
19 100% Legal 4 1-miner's helmet

2-miner's pants

3-small meat boost

4-complete the Mining Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
20 See You Next Fall 4 1-7-foot Dwarven mattock

2-miner's helmet

3-small meat boost

4-complete the Mining Gear outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
21 Under the Knife 2 1-Switch genders

2-skip adventure

22 The Arrrbitrator 4 1-eyepatch

2-swashbuckling pants

3-small meat boost

4-complete the Swashbuckling Getup outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
23 Barrie Me at Sea 4 1-stuffed shoulder parrot

2-swashbuckling pants

3-small meat boost

4-complete the Swashbuckling Getup outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
24 Amatearrr Night 4 1-stuffed shoulder parrot

2-small meat boost

3-eypatch

4-complete the Swashbuckling Getup outfit

If you are missing one of the two pieces, it will get the first that you are missing. After that, ???
25 Ouch! You bump into a door! 2 1-Buy a magic lamp for 50 meat

2-Fight a mimic for 5000 meat

3-skip adventure

40 The Effervescent Fray 3 1-Cloaca-Cola fatigues

2-Dyspepsi-Cola shield

3-mysticality stats

41 Smells Like Team Spirit 3 1-Dyspepsi-Cola fatigues

2-Cloaca-Cola helmet

3-muscle substats

42 What is it Good For? 3 1-Dyspepsi-Cola helmet

2-Cloaca-Cola shield

3-moxie substats

Special Cases

Spooky Forest