Difference between revisions of "Help:To Do List"

From Kolmafia
Jump to navigation Jump to search
imported>Bale
(r11985: Add the "skeleton" CLI command.)
imported>Wrldwzrd89
(→‎Missing Stuff: Developer commands added)
(108 intermediate revisions by 3 users not shown)
Line 16: Line 16:
  
 
== Missing Stuff ==
 
== Missing Stuff ==
10078: ash function format_dtg
 
10081: ash function format_dtg renamed to be
 
string '''format_date_time(inFormat, dtg, outFormat)'''
 
more info: http://kolmafia.us/showthread.php?8451-time_to_string()-with-parameter&p=64058&viewfull=1#post64058
 
 
Modify examples on proxy record page because of:
 
10122: Add the boolean "fancy" and "candy" fields to item '''proxy records'''.
 
10147: Initial support for "Crimbo 2011" coinmaster: trade candy for Candy Credits
 
10412: Add $skill '''proxy records''': .dailylimit and .timescast
 
10879: Add a boolean "boss" field to $monster[]
 
 
10227: Add the <s>"'''closet empty'''" CLI command, and</s> the '''empty_closet()''' ASH function.
 
 
 
  r9181, 9183, 9184 & r9190: '''moods''' per slyz's summary here: http://kolmafia.us/showthread.php?8852-Composable-Moods
 
  r9181, 9183, 9184 & r9190: '''moods''' per slyz's summary here: http://kolmafia.us/showthread.php?8852-Composable-Moods
  
  r10344 Add '''tavern( string goal )''' ASH function.
+
  r11707: Experimental ASH feature: the main() function of imported scripts can now be
  goal can be "faucet", "baron", or  "explore" (to explore all remaining unexplored squares).
+
  invoked, under the alternate name main@filename()
  r10345 Add ASH '''tavern( "fight" )''' to explore cellar until the Baron's mansion is found
+
  (where 'filename' can be overridden by a 'script' directive, any ".ash"
  and then go in to fight him.
+
  suffix is dropped, and non-alphanumeric characters are replaced by
 
+
  underscores). Note that no spaces are allowed around the @, the whole thing
  r10753-6 '''get_goals()''' returns a string[int] containing all the conditions that KoLmafia will
+
  is a single token.
  try to satisfy. Add g'''oal_exists()''' where you can pass in a goal type (choiceadv, autostop,
 
meat, health, mana, item) and KoLmafia will tell you if there are any goals that match.
 
  
  '''static''' scope is added!
+
  r12060: add ASH '''get_moods()''', returns an aggregate of currently defined mood names.
  r10765: Add a "final" scope type to ASH which allows data/commands to be executed only
+
  "mood listall" in the gCLI will also print a list of defined moods.
once per session.
 
r10772: A final declaration can either take a block, surrounded by {}, or a single
 
command or declaration.
 
r10774: ASH: "final" -> "static"
 
  
  10922: Add '''get_player_id()''' method to ASH
+
  r12062: add ASH '''get_outfits()''' and get_custom_outfits()
  
  10937: Add '''minstrel_quest()''' boolean function,
+
  r12238: Add _floristPlantsUsed as a comma-separated list and '''florist_available()'''.
  which returns true when Clancy has a new quest for you.
+
Add "florist plant [plantname]" to add a plant. [plantname] is case-insensitive, but otherwise must exactly match KoL's name for the plant.
 +
  Check what is currently planted when you log in.
  
  10971: Added boolean '''hippy_stone_broken()''' function
+
  r12244: Add string [location][int] '''get_florist_plants()'''
 
 
11023: Make the CLI "attack" command work again. Make "pvp" equivalent to "steal" instead
 
of "attack". Added "swagger" as equivalent to "flowers".
 
 
 
11055: Added a 2-parameter version of '''to_string()''', where the first parameter can
 
currently be an int or float (other types are possible, but didn't seem
 
useful), and the second is a format string as defined by the Java
 
String.format() method (which in turn is based on C printf() format strings).
 
For example, "%.2f" will output a float with exactly two digits after the
 
(localized) decimal point.
 
 
 
11110: Add ASH function: '''pvp_attacks_left()'''. This is guaranteed accurate only if you
 
have recently looked at the Fight! page. Tracking of PVP fights gained via
 
consumption or familiar action and initialization at login will come later -
 
after api.php is updated to include the figure.
 
 
   
 
   
  Add '''beforePVPScript''' setting which contains a script to be executed before a PVP
+
  example 1...
attack. At the moment, this is only called from the Relay Browser - and only if
+
foreach loc, counter, plant in get_florist_plants() {
  relayRunsBeforePVPScript is true
+
    print( "Location '" + loc + "'" );
 +
    print( "Counter '" + counter + "'" );
 +
    print( "Plant '" + plant + "'" );
 +
  }
 
   
 
   
  11112: Call beforePVPScript, if present, during automated PVP via the "flowers" command
+
  example 2...
 +
string [location][int] plants = get_florist_plants();
 +
foreach loc in plants {
 +
    print( "Location '" + loc + "'" );
 +
    string [int] array = plants[ loc ];
 +
    foreach index in array {
 +
        string plant = array[index];
 +
        if ( plant != "" )
 +
            print( "Plant = " + plant );
 +
    }
 +
}
  
  11112: Change ASH '''have_outfit()''' to work with custom outfits, as well as normal outfit
+
  13213: Add "debug ash on" and "debug ash off" to turn on and off ASH script tracing
  Add ASH '''is_wearing_outfit()''' to return TRUE if you are currently wearing the
+
  ASH tracing goes into ASH_datestamp.txt
specified custom or normal outfit.
 
  
  10815: Allow certain ASH constants to be used in custom combat settings.  
+
  13222: Add preference banishedMonsters to track banishes. Add ash command '''is_banished($monsterName[name])'''
$phylum[] refers to the monster categorization, see the built-in ASH constants documentation for more information.
 
$element[] refers to either the attack or the defense element. As long as one matches, this check will be satisfied. This may limit its usefulness, but we can evaluate it later.
 
$item[] refers to an item that the monster drops. If there are multiple monsters that drop the item, or if you just can't remember which one it is, and your combat strategy happens to depend on it...
 
In order to match, everything that you specify must match. So if you specify an impossible combination, that CCS section will not run.
 
 
[ $element[ spooky ] $item[ hobo nickel ] ]
 
skill entangling noodles
 
skill weapon of the pastalord
 
 
[ bathroom $element[ spooky ] ]
 
attack
 
 
[ $phylum[ beast ] ]
 
skill stomp
 
attack
 
 
 
11197: new ASH functions:
 
boolean '''is_familiar_equipment_locked()'''
 
-returns true if current familiar equipment is locked, otherwise false
 
void '''lock_familiar_equipment(boolean locking)'''
 
-tries to lock/unlock fam equipment accordingly.
 
  
  11208: Add int '''get_clan_id()''' and string '''get_clan_name()''' functions.
+
  13988: Start tracking elemental planes quests, Hidden Temple quest, Spookyraven Babies quest, from quest log.
 +
questESlAudit
 +
questESlBacteria
 +
questESlCheeseburger
 +
questESlCocktail
 +
questESlDebt
 +
questESlFish
 +
questESlMushStash
 +
questESlSalt
 +
questESlSprinkles
 +
questM16Temple
 +
questM17Babies
  
  11267: Pass chat events along to '''chatbotscript'''. The sender is an empty string,
+
  r14729: add fixedThreadPoolSize pref - diagnostic/fine tuning for limiting the threadpool size.
the channel is "Events", and the message is stripped of its HTML.
 
 
 
11432: Add '''is_discardable()''' which will return true even if an item can be autosold,
 
so be careful you don't get cheated out of some meat.
 
 
 
11438: Revert use of gift flag to previous interpretation: KoL has the item marked as
 
a "Gift Item". Instead, change isGiftable() - which is also used by the ASH
 
is_giftable() function - to allow either the "tradeable" or "gift" flags.
 
Fix the item.gift proxy field to return the value of the gift flag, rather than
 
being a synonym for is_giftable().
 
 
 
11555: Add monster.raw_attack, monster.raw_defense, and monster.raw_hp to return the
 
unmodified stats from monsters.txt.
 
 
 
11561:  Add monster '''image_to_monster( string )''' ASH function for looking up monster by image file name.
 
Add monster.image proxy field for going the other way.
 
 
 
11771: experimental: add overloaded maximize() signature in ASH
 
 
'''maximize( string maximizerString, int maxPrice, int priceLevel, boolean simulate, boolean showEquipment )'''
 
 
returns an aggregate of records with each record containing the fields:
 
**display => display text, as it is shown in the maximizer frame
 
**cmd => actual command string that the maximizer runs to get the boost
 
**score => the boost's score
 
**effect => the effect provided by the boost - if applicable. effect[none] if it is equipment.
 
**item => $item[] that is being suggested for use or equipment
 
**skill => $skill[] that is being suggested
 
 
If the showEquipment argument is false, equipment will be omitted from the results.
 
 
 
r11707: Experimental ASH feature: the main() function of imported scripts can now be
 
invoked, under the alternate name main@filename()
 
(where 'filename' can be overridden by a 'script' directive, any ".ash"
 
suffix is dropped, and non-alphanumeric characters are replaced by
 
underscores). Note that no spaces are allowed around the @, the whole thing
 
is a single token.
 
 
 
r11965: Add my_companion()
 
 
 
r11985: Add the "skeleton" CLI command.
 
  
 
== Needs Major Work ==
 
== Needs Major Work ==
Line 158: Line 86:
  
 
  Information on moods calling other moods: http://kolmafia.us/showthread.php?8852-Composable-Moods&p=66468&viewfull=1#post66468
 
  Information on moods calling other moods: http://kolmafia.us/showthread.php?8852-Composable-Moods&p=66468&viewfull=1#post66468
 
r10025: Added '''choice''' CLI command, to resolve manual or unsupported choiceadventures
 
Added "choice" CLI command, to resolve manual or unsupported choice
 
adventures without having to visit the relay browser - which might be
 
inconvenient if you're already in the CLI, and don't need to see the full
 
adventure text to decide which option you want. With no parameter, "choice"
 
just lists the options. With a numeric parameter, it picks that option.
 
With any other parameter, it picks the first option containing that text (in
 
either the actual button text, or mafia's spoiler text).
 
  
 
== Needs Code Samples ==
 
== Needs Code Samples ==
Line 173: Line 92:
  
 
Information on how to create a code sample: [[Template:CodeSample]]
 
Information on how to create a code sample: [[Template:CodeSample]]
 +
[[Category:Contributing]]

Revision as of 20:24, 16 November 2014

"To Do" List

This is a list of stuff that is missing from the wiki or else needs major work. Please help!


If you need tips for editing the wiki, find that here: Help:Editing.

  • CLI Commands are usually only added to the CLI Reference. Only very complicated commands require their own page.
  • ASH commands need to be listed on their category page as well as on the Ash Functions list.
    • It is not necessary to always create a code sample, although it is preferred.
    • If you don't add a code sample, please remember to add needscode=yes| to the page.


Missing Stuff

r9181, 9183, 9184 & r9190: moods per slyz's summary here: http://kolmafia.us/showthread.php?8852-Composable-Moods
r11707: Experimental ASH feature: the main() function of imported scripts can now be
invoked, under the alternate name main@filename()
(where 'filename' can be overridden by a 'script' directive, any ".ash"
suffix is dropped, and non-alphanumeric characters are replaced by
underscores). Note that no spaces are allowed around the @, the whole thing
is a single token.
r12060: add ASH get_moods(), returns an aggregate of currently defined mood names.
"mood listall" in the gCLI will also print a list of defined moods.
r12062: add ASH get_outfits() and get_custom_outfits()
r12238: Add _floristPlantsUsed as a comma-separated list and florist_available().
Add "florist plant [plantname]" to add a plant. [plantname] is case-insensitive, but otherwise must exactly match KoL's name for the plant.
Check what is currently planted when you log in.
r12244: Add string [location][int] get_florist_plants()

example 1...
foreach loc, counter, plant in get_florist_plants() {
   print( "Location '" + loc + "'" );
   print( "Counter '" + counter + "'" );
   print( "Plant '" + plant + "'" );
}

example 2...
string [location][int] plants = get_florist_plants();
foreach loc in plants {
   print( "Location '" + loc + "'" );
   string [int] array = plants[ loc ];
   foreach index in array {
       string plant = array[index];
       if ( plant != "" )
           print( "Plant = " + plant );
   }
}
13213: Add "debug ash on" and "debug ash off" to turn on and off ASH script tracing 
ASH tracing goes into ASH_datestamp.txt
13222: Add preference banishedMonsters to track banishes. Add ash command is_banished($monsterName[name])
13988: Start tracking elemental planes quests, Hidden Temple quest, Spookyraven Babies quest, from quest log.
questESlAudit
questESlBacteria
questESlCheeseburger
questESlCocktail
questESlDebt
questESlFish
questESlMushStash
questESlSalt
questESlSprinkles
questM16Temple
questM17Babies
r14729: add fixedThreadPoolSize pref - diagnostic/fine tuning for limiting the threadpool size.

Needs Major Work

Proxy Records is only slightly better than a placeholder.

In r10047, the adventure tab interface was altered. Fix SinginSally's guide on pages...

http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Attack_Script
http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Custom_Combat_Script
http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Goal-Oriented_Adventuring
Information on moods calling other moods: http://kolmafia.us/showthread.php?8852-Composable-Moods&p=66468&viewfull=1#post66468

Needs Code Samples

There is a list of all pages that require code samples: Category:Needs Code Sample

Information on how to create a code sample: Template:CodeSample