Get property

From Kolmafia
Revision as of 20:40, 1 December 2019 by imported>Fredg1
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Function Syntax

string get_property(string prop )

  • prop is the property to get

string get_property(string prop ,boolean global )

  • prop is the property to get
  • global: Look for the property specifically in the global map if true, user map if false. If not included will check both.

Looks for a global or appropriate user preference from the saved files (found in your "Settings" directory) and if it finds one that matches, it returns whatever value is stored for that preference. If a matching preference is not found, an empty string is returned.

Code Sample

The following example adventures at the daily dungeon once a day if the property "dailyDungeonDone" is false and the necessary items are gathered.

if (!(to_boolean(get_property("dailyDungeonDone")))) {
   if (can_interact()) {
      cli_execute("find pick-o-matic lockpicks");
      cli_execute("find eleven-foot pole"); 
      cli_execute("find ring of Detect Boring Doors");
   }
   if ((item_amount($item[pick-o-matic lockpicks]) > 0) && (item_amount($item[eleven-foot pole]) > 0) && (item_amount($item[ring of Detect Boring Doors]) > 0)) {
      equip($item[ring of Detect Boring Doors]);
      set_property("choiceAdventure692", 3);
      set_property("choiceAdventure693", 2);
      set_property("choiceAdventure690", 2);
      set_property("choiceAdventure691", 2);
      set_property("choiceAdventure689", 1);   
      cli_execute("goal set fat loot token");
      adventure(15, $location[The Daily Dungeon]);
   }
   else print("You do not have the required items for the Daily Dungeon.");
}
else print("You have already did the daily Dungeon today.");

Get_property always returns a string which in this example was converted to a boolean.

CLI Equivalent

The CLI command "get" works similarly.

See Also

Miscellaneous_Functions#Property_Functions()

Special

This function does NOT return an error if you misspelled a property's name, simply returning an empty string if no match was found. This is mostly to accommodate for cases in the likes of an user-made properties that was not set yet, especially for those starting with an underscore ( _ ), since they, lacking a default value, are being erased on rollover/ascension.