Help:To Do List: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Bale
mNo edit summary
imported>Bale
r12177 svn inc/dec
Line 181: Line 181:
  When users check out your project, the files (and nested folders) will be pushed to the corresponding mafia directories.
  When users check out your project, the files (and nested folders) will be pushed to the corresponding mafia directories.
   
   
  12157: '''svn increment <projectname>''' and '''svn decrement <projectname>''' moves an installed svn project up/down one revision, respectively.
  r12157: '''svn increment <projectname>''' and '''svn decrement <projectname>''' moves an installed svn project up/down one revision, respectively.
  '''svn update''' can also take <projectname> argument or a <SVNURL> argument. Or just be blank to update everything.
  '''svn update''' can also take <projectname> argument or a <SVNURL> argument. Or just be blank to update everything.
r12177 svn inc/dec does the same thing as svn increment/decrement. Because typing stuff is hard.


  r12153: add svnUpdateOnLogin (global, default false), which runs svn update before breakfast/loginScript.
  r12153: add svnUpdateOnLogin (global, default false), which runs svn update before breakfast/loginScript.

Revision as of 06:02, 3 June 2013

"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

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 "closet empty" CLI command, and the empty_closet() ASH function.
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. 
goal can be "faucet", "baron", or  "explore" (to explore all remaining unexplored squares). 
r10345 Add ASH tavern( "fight" ) to explore cellar until the Baron's mansion is found 
and then go in to fight him.
r10753-6 get_goals() returns a string[int] containing all the conditions that KoLmafia will 
try to satisfy. Add goal_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!
r10765: Add a "final" scope type to ASH which allows data/commands to be executed only 
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
10937: Add minstrel_quest() boolean function,
which returns true when Clancy has a new quest for you.
10971: Added boolean hippy_stone_broken() function
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
attack. At the moment, this is only called from the Relay Browser - and only if
relayRunsBeforePVPScript is true

11112: Call beforePVPScript, if present, during automated PVP via the "flowers" command
11112: Change ASH have_outfit() to work with custom outfits, as well as normal outfit 
Add ASH is_wearing_outfit() to return TRUE if you are currently wearing the
specified custom or normal outfit.
10815: Allow certain ASH constants to be used in custom combat settings. 
$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.
11267: Pass chat events along to chatbotscript. The sender is an empty string, 
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.
r12019: Add "eudora" CLI command
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()
r12070: Overloaded version of appearance_rates considers monster queue: 
appearance_rates( $location[] location, boolean includeQueue )
r12105: maximizerMRULength is now maximizerMRUSize
That affects this page: Hidden_Features#Most_Recently_Used_Modifier_Maximizer_Expression
SVN Features added by Roippi! SVN integration was (brokenly) implemented in r12141 and more correctly implemented in r12144.

FOR USERS:
* svn checkout <svnurl> - checks out a svn repository and adds the files from the working copy to the appropriate locations.
* svn update - updates all of your installed projects and pushes any changes to the appropriate locations.
* svn list - lists installed projects.
* svn delete <scriptname> - deletes installed projects and the corresponding files that it pushed. <scriptname> fuzzy matches the script names from svn list.

FOR SCRIPTERS:
You can provide a svn://, http://, or https:// link to a valid svn repo. The link does not need to be to the root of the repository.
At the location specified by the url, there are only four permissible folders:
* ccs/
* data/
* images/
* relay/
* scripts/

Any files or directories in the location specified by your url that are not named the above will cause your repo to fail validation and thus it will not be checked out.
Within the valid folders, you can nest files however you want.
When users check out your project, the files (and nested folders) will be pushed to the corresponding mafia directories.

r12157: svn increment <projectname> and svn decrement <projectname> moves an installed svn project up/down one revision, respectively.
svn update can also take <projectname> argument or a <SVNURL> argument. Or just be blank to update everything.
r12177 svn inc/dec does the same thing as svn increment/decrement. Because typing stuff is hard. 
r12153: add svnUpdateOnLogin (global, default false), which runs svn update before breakfast/loginScript.
This could be useful if your loginScript has svn dependencies.
12167: command "svn sync"

Looks through your working copies for modifications, then checks if that file differs from the local copy. If it differs, the WC file is copied over the local copy one.
Note that this is very different from "svn update" and indeed does not contact the repository server at all.

If you are unsure if you want this feature, this is only for people who maintain modifications to the files in their svn/ folders that they want merged in with updates from the repo.
If you are just doing checkout/update operations and don't know what this "merging" business is about, you don't need this feature.

Users who want to automatically sync after update operations can set syncAfterSvnUpdate = true.

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
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

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