Help:To Do List: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Bale
bjornify_familiar( familiar ) and my_bjorned_familiar()
imported>Bale
is_giftable vs gift proxy record
Line 29: Line 29:
  11432: Add '''is_discardable()''' which will return true even if an item can be autosold,  
  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.
  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().


  r11707: Experimental ASH feature: the main() function of imported scripts can now be
  r11707: Experimental ASH feature: the main() function of imported scripts can now be

Revision as of 10:40, 10 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
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.
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.
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()
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. 

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.
r12153: add svnUpdateOnLogin (global, default false), which runs svn update before breakfast/loginScript.
This could be useful if your loginScript has svn dependencies.

r12188: add global preference _svnUpdated
only do login svn update (mediated by svnUpdateOnLogin) at most once per day.
r12181: add preference simpleSvnUpdate (global, default true)
If true, simply checks if the root of your working copy is at HEAD, skipping it if so. 
Speeds up the average update operation by 75% (and is probably nicer on servers). 
Advanced users who have done something like a non-root "svn switch" or are using svn externals should know whether they want to turn this off.

Again the ticky box goes at the bottom of general preferences, it is soon time for these to be moved to their own page.
r12198 new ash svn functions:
boolean svn_exists( String projectname ) - returns true if a valid working copy named projectname exists in the svn/ folder
boolean svn_at_head( String projectname ) - returns true if projectname exists, is a valid WC, and is currently at the same revision # as the repository. 
This will hit the repo server, so be nice.
r12206: initial support for automatic svn dependency installation. 
global preference svnInstallDependencies (default true) controls whether svn will try to install dependencies.

Scripters are now allowed to place a file called dependencies.txt in the top-level of a project.
Calling it anything else will fail validation, as before. This special file will not be "pushed" to anywhere locally, it will just remain in the working copy folder.
On each line of dependencies.txt, you specify one URL to another SVN project.
r12211: preference svnShowCommitMessages (global, default false) controls whether you want to see new commit messages from svn update operations.
r12215: add ash function: record svn_info( String project ) 
record has the following fields-

String url: the url that the project was checked out from
int revision: the revision that the working copy is at
String lastChangedAuthor: the author who committed the last change
int lastChangedRev: the revision that most recently modified this working copy (note, not necessarily the same as revision field)
String lastChangedDate: the date/time when lastChangedRevision happened
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 );
   }
}
r12255: Experimental support for Dad Sea Monkee - untested in-game.
- When we first see Dad Sea Monkee, parse the clues and solve for them.
- "dad" CLI command lists the elemental weakness (and spell) for rounds 1-10
- element dad_sea_monkee_weakness( int round ) ASH function for consult scripts.
12657: Add "cache clear" command to remove all cached images from /images

12659: New setting - lastImageCacheClear - records the time when you last cleared the
image cache. "cache" command with no arguments reports that time.
12662: Add get_ignore_zone_warnings()
13088: Make Prismatic Damage a real, if derived, modifier name. It cannot be used in
modifiers.txt, bit you can ask for it by name either in ASH or the Maximizer
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])
13234: New ASH functions: to_thrall( int ), to_thrall( string ), to_int( thrall )
13299: Add "bugbears" command to give status of the 9 Bugbear Mothership zones
13576: New ash data type $bounty
13581: Add ash to_bounty() function
13618: Add ash faxbot( $monster ) command. Note that chat must be open for this to successfully work, just as for other mafia fax interfaces.
13725: Track Audience (only works with character pane at present, request to add to api has been made). Appears on mafia side panel, also available with ash command my_audience().

r13743 added API parsing for audience
13927: Relay overrides can be made for specific place.php pages by making a file called (for example) place.plains.ash in the relay folder.
The same can be done with shop.php and store.php.

For place.php?whichplace=plains, place.ash will be used only if place.plains.ash does not exist.
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
r14012: Adds command "poolskill" which shows your current estimated pool skill, based on current spading on the mechanics.
ie. Pool Skill = drunkenness up to 10, -2 for each drunkenness over 10, +1 for each time you've met the pool shark semi-rare up to 10 times,
plus bonuses from equipment/effects, plus training in current ascension.
r14017: Add "spookyraven" command. Use "spookyraven on" to track Lights Out all the time.
r14605: Add can_faxbot( monster ) ash command.
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