Difference between revisions of "Miscellaneous Functions"

From Kolmafia
Jump to navigation Jump to search
(Add "gCLI Command Functions" section)
 
(184 intermediate revisions by 98 users not shown)
Line 1: Line 1:
[http://jayj777.50webs.com/magick/ magick] [http://evanka.50webs.com/web/affitto-ufficio22/ affitto ufficio pordenone] [http://evanka.50webs.com/web/il-barman3/ il barman] [http://fishersj.50webs.com/hotel-122.htm hotel 4 stelle dublino] [http://jayj777.50webs.com/esplorare/ esplorare] [http://jayj777.50webs.com/nobody-s4/ nobody s home] [http://fishersj.50webs.com/a-walk1.htm a walk in the clouds] [http://fishersj.50webs.com/locali-per10.htm locali per travestiti in italia] [http://evanka.50webs.com/web/renga-camera/ renga camera con vista] [http://evanka.50webs.com/web/htt-ibox/ htt ibox tim it mms] [http://alexlebedev.50webs.com/sesso-con43/ sesso con gli animali] [http://evanka.50webs.com/web/led-dito/ led dito] [http://jayj777.50webs.com/masterizzatori-dvd49/ masterizzatori dvd nec 3520] [http://jayj777.50webs.com/sit-macerata/ sit macerata] [http://fishersj.50webs.com/tammerfors.htm tammerfors] [http://fishersj.50webs.com/www-fica1.htm www fica comu] [http://evanka.50webs.com/web/dolce-gabbana58/ dolce gabbana intimo] [http://fishersj.50webs.com/strada-senza2.htm strada senza ritorno] [http://fishersj.50webs.com/abbonamento-fastweb.htm abbonamento fastweb] [http://fishersj.50webs.com/ramat-gan.htm ramat gan] [http://alexlebedev.50webs.com/fideuram/ fideuram] [http://evanka.50webs.com/web/supertrans/ supertrans] [http://evanka.50webs.com/web/decapitazione-ken/ decapitazione ken] [http://evanka.50webs.com/web/saturno/ saturno] [http://evanka.50webs.com/web/Alto-adige1/ alto adige albergo] [http://alexlebedev.50webs.com/civonline/ civonline] [http://alexlebedev.50webs.com/elena-miro/ elena miro] [http://alexlebedev.50webs.com/fax-casa/ fax casa] [http://alexlebedev.50webs.com/fica-gratis/ fica gratis] [http://alexlebedev.50webs.com/oslo-cose/ oslo cose fare] [http://evanka.50webs.com/web/spionaggio-a/ spionaggio a casablanca] [http://alexlebedev.50webs.com/let-out1/ let out alone anastasia] [http://evanka.50webs.com/web/Auto-scout1/ auto scout 24] [http://alexlebedev.50webs.com/batteria-casio1/ batteria casio exilim] [http://evanka.50webs.com/web/comet-bust/ comet bust a groove 2] [http://evanka.50webs.com/web/hamilton-edmond/ hamilton edmond] [http://fishersj.50webs.com/energia-eolica.htm energia eolica] [http://alexlebedev.50webs.com/hp-laserjet85/ hp laserjet 2550 ciano] [http://alexlebedev.50webs.com/aeron-italia/ aeron italia srl] [http://evanka.50webs.com/web/my-god/ my god] [http://fishersj.50webs.com/marce-per3.htm marce per banda] [http://jayj777.50webs.com/shola-ama3/ shola ama feat pirates you should really] [http://jayj777.50webs.com/merrit-cabal/ merrit cabal] [http://fishersj.50webs.com/www-cilindro.htm www cilindro magico com] [http://fishersj.50webs.com/allestimento-furgone.htm allestimento furgone] [http://jayj777.50webs.com/jack-nicklaus/ jack nicklaus 6  golden bear challenge] [http://fishersj.50webs.com/immagini-tickling.htm immagini tickling] [http://alexlebedev.50webs.com/php-/ php 5 mysql] [http://alexlebedev.50webs.com/dolores-o/ dolores o riordan] [http://alexlebedev.50webs.com/linguaggio-e/ linguaggio e regole del diritto privato] [http://fishersj.50webs.com/occhiali-da57.htm occhiali da sole titanio] [http://jayj777.50webs.com/usb13/ usb 11] [http://alexlebedev.50webs.com/albo-pretorio/ albo pretorio] [http://evanka.50webs.com/web/trio-ct3/ trio ct 0 1 chicco] [http://alexlebedev.50webs.com/midi-tarantelle/ midi tarantelle] [http://jayj777.50webs.com/siemens-mc3/ siemens mc 60 game com] [http://fishersj.50webs.com/seno-piccolo.htm seno piccolo] [http://fishersj.50webs.com/popi-sanchez.htm popi sanchez] [http://evanka.50webs.com/web/albergo-timisoara/ albergo timisoara] [http://jayj777.50webs.com/concreta/ concreta] [http://fishersj.50webs.com/pro-mixer1.htm pro mixer djx400] [http://jayj777.50webs.com/trademarks/ trademarks] [http://evanka.50webs.com/web/countdown1/ countdown] [http://evanka.50webs.com/web/www-meridiana1/ www meridiana it] [http://fishersj.50webs.com/il-dottor9.htm il dottor kovacs] [http://jayj777.50webs.com/drug-war/ drug war] [http://evanka.50webs.com/web/v-7/ v50 1 6 diesel] [http://fishersj.50webs.com/plasma7.htm plasma 46300] [http://fishersj.50webs.com/narofominsk.htm narofominsk] [http://jayj777.50webs.com/www-bni/ www bni it] [http://jayj777.50webs.com/ventilatore-pale1/ ventilatore pale soffitto] [http://alexlebedev.50webs.com/marche/ marche] [http://fishersj.50webs.com/levanna.htm levanna] [http://alexlebedev.50webs.com/scheda-audio38/ scheda audio esterno] [http://alexlebedev.50webs.com/pidame/ pidame] [http://jayj777.50webs.com/ultime-notizie13/ ultime notizie di cronaca] [http://alexlebedev.50webs.com/copertina-cd79/ copertina cd francesco renga] [http://fishersj.50webs.com/disoccupazione-a.htm disoccupazione a potenza] [http://jayj777.50webs.com/peire-vidal/ peire vidal] [http://fishersj.50webs.com/puff-daddy7.htm puff daddy i don t wonna know] [http://evanka.50webs.com/web/opel-tigra16/ opel tigra 13 cdti] [http://evanka.50webs.com/web/concessionarie-auto6/ concessionarie auto localita isernia] [http://alexlebedev.50webs.com/cuffie-tv1/ cuffie tv senza fili] [http://evanka.50webs.com/web/asta-internet/ asta internet] [http://jayj777.50webs.com/hdd-gb10/ hdd 200gb ata 133  8mb] [http://jayj777.50webs.com/jellicle-songs/ jellicle songs for jellicle cats] [http://alexlebedev.50webs.com/chat-joven/ chat joven] [http://fishersj.50webs.com/www-glo.htm www glo] [http://jayj777.50webs.com/cerebral-palsy/ cerebral palsy] [http://alexlebedev.50webs.com/video-rd/ video 3rd wish obsesion] [http://jayj777.50webs.com/jeann/ jeann] [http://jayj777.50webs.com/peugeot-88/ peugeot 407 problemi] [http://alexlebedev.50webs.com/madrid-pisa/ madrid pisa biglietti aerei] [http://fishersj.50webs.com/quotidiani-it.htm quotidiani it] [http://evanka.50webs.com/web/foto-nino/ foto nino d angelo] [http://jayj777.50webs.com/morale-edilizia/ morale (edilizia)] [http://fishersj.50webs.com/cija-si.htm cija si] [http://fishersj.50webs.com/hit-mania77.htm hit mania dance 2002] [http://jayj777.50webs.com/juegos-de21/ juegos de mesa] [http://fishersj.50webs.com/cendant-italia.htm cendant italia] [http://m1santhrop1c.50webs.com/view/corso-di20/ corso di inglese su cd] [http://evghoul.50webs.com/resources/villagi-cartoon.htm villagi cartoon] [http://etgeek.50webs.com/view/asus-my6.htm asus my pal palmari] [http://isabellelipton.50webs.com/library/midi-per/ midi per cellulari] [http://dyadechkovolyn.50webs.com/description/carton-xxx/ carton xxx] [http://isabellelipton.50webs.com/library/ven-conmigo/ ven conmigo] [http://antimesil.50webs.com/articles/poliziadistato-it/ poliziadistato it] [http://dmvags.50webs.com/lib/sartori-franco1/ sartori franco srl] [http://perfectx.50webs.com/view/roccella-jonica.htm roccella jonica] [http://dyadechkovolyn.50webs.com/description/lettori-mp184/ lettori mp3 512mb fm integrata] [http://77life.50webs.com/articles/castro-lecce/ castro (lecce)] [http://evghoul.50webs.com/resources/le-piu7.htm le piu belle donne dei calciatori] [http://kristinemigh.50webs.com/blog/oil-islands.htm oil islands] [http://77life.50webs.com/articles/suoneria-per2/ suoneria per cellulari] [http://weakxkn.50webs.com/view/professoressa-di/ professoressa di lingue] [http://apockrif.50webs.com/description/venditti-notte.htm venditti notte] [http://antimesil.50webs.com/articles/palmari-navigator/ palmari navigator] [http://etgeek.50webs.com/view/trapani-elettrici1.htm trapani elettrici jcb] [http://weakxkn.50webs.com/view/copertura-edili/ copertura edili] [http://elainegardeng.50webs.com/html/street-fighter9.htm street fighter ex 3] [http://m1santhrop1c.50webs.com/view/renault-cabrio/ renault cabrio] [http://kristinemigh.50webs.com/blog/www-sexy9.htm www sexy hard com] [http://perfectx.50webs.com/view/samsung-psv.htm samsung ps42v6] [http://mistresso.50webs.com/directory/forza-motorsport4.htm forza motorsport live kit] [http://mistresso.50webs.com/directory/terni-hotels.htm terni hotels] [http://evghoul.50webs.com/resources/carmen-russo5.htm carmen russo foto] [http://antimesil.50webs.com/articles/moira/ moira] [http://some1crazyo.50webs.com/view/pi.htm p910i 66] [http://etgeek.50webs.com/view/ferrri.htm ferrri] [http://etgeek.50webs.com/view/elenco-telefoni1.htm elenco telefoni napoli] [http://apockrif.50webs.com/description/giochi-emulatore.htm giochi emulatore gba] [http://perfectx.50webs.com/view/connessione-gratuita.htm connessione gratuita di super eva] [http://perfectx.50webs.com/view/banco-central1.htm banco central argentino] [http://etgeek.50webs.com/view/registratore-cassa.htm registratore cassa] [http://antimesil.50webs.com/articles/mercedes-ml24/ mercedes ml 320 d] [http://antimesil.50webs.com/articles/mp-creative25/ mp3 creative muvo tx 512 fm] [http://elainegardeng.50webs.com/html/hamlet-switch1.htm hamlet switch 16 porte] [http://dmvags.50webs.com/lib/gloria-umberto1/ gloria umberto tozzi] [http://m1santhrop1c.50webs.com/view/vallardi/ vallardi] [http://m1santhrop1c.50webs.com/view/clubair/ clubair] [http://m1santhrop1c.50webs.com/view/betty-la2/ betty la fea finale telenovelas] [http://etgeek.50webs.com/view/immagini-disney2.htm immagini disney] [http://77life.50webs.com/articles/benny-bennasi2/ benny bennasi california dream] [http://apockrif.50webs.com/description/uomini-dotati.htm uomini dotati] [http://weakxkn.50webs.com/view/haslinger/ haslinger] [http://apockrif.50webs.com/description/decreto-precari.htm decreto precari] [http://fangirling.50webs.com/small/acta-est.htm acta est fabula] [http://m1santhrop1c.50webs.com/view/enrico-di3/ enrico di neustadt] [http://evghoul.50webs.com/resources/frasi-da7.htm frasi da tradurre] [http://evghoul.50webs.com/resources/clinica-s1.htm clinica s rita benevento] [http://evghoul.50webs.com/resources/esibizioniste-in3.htm esibizioniste in sicilia] [http://dmvags.50webs.com/lib/adman/ adman] [http://some1crazyo.50webs.com/view/tshirt-puma1.htm tshirt puma donna] [http://mistresso.50webs.com/directory/tv-lcd209.htm tv lcd sony 17] [http://antimesil.50webs.com/articles/angel-city/ angel city] [http://perfectx.50webs.com/view/spam-blocker.htm spam blocker] [http://isabellelipton.50webs.com/library/saetabis/ saetabis] [http://antimesil.50webs.com/articles/istituto-tecnico8/ istituto tecnico per geometri arezzo] [http://perfectx.50webs.com/view/regola-barba4.htm regola barba e capelli] [http://isabellelipton.50webs.com/library/mature-over1/ mature over 50] [http://weakxkn.50webs.com/view/laid/ laid] [http://some1crazyo.50webs.com/view/mollette-capezzoli.htm mollette capezzoli] [http://antimesil.50webs.com/articles/le-due13/ le due torri bodybuilding] [http://apockrif.50webs.com/description/il-segreto37.htm il segreto della vita] [http://fangirling.50webs.com/small/turismo.htm turismo] [http://weakxkn.50webs.com/view/ipod-shuffle10/ ipod shuffle] [http://elainegardeng.50webs.com/html/universita-milano.htm universita milano bicocca] [http://some1crazyo.50webs.com/view/lu-alessandria.htm lu (alessandria)] [http://77life.50webs.com/articles/www-bestannunci1/ www bestannunci com] [http://evghoul.50webs.com/resources/petitgris.htm petitgris] [http://kristinemigh.50webs.com/blog/full-duplex1.htm full duplex schede audio] [http://m1santhrop1c.50webs.com/view/franklin-marshall1/ franklin marshall] [http://some1crazyo.50webs.com/view/fuego-de.htm fuego de noche nieve de dia] [http://weakxkn.50webs.com/view/wilkesbarre/ wilkesbarre] [http://apockrif.50webs.com/description/l-ascensore.htm l ascensore] [http://antimesil.50webs.com/articles/argo-zoologia/ argo (zoologia)] [http://perfectx.50webs.com/view/canon-ste.htm canon ste2] [http://evghoul.50webs.com/resources/cojer-con.htm cojer con satan] [http://77life.50webs.com/articles/this-love63/ this love maroons 5] [http://m1santhrop1c.50webs.com/view/samsung-a3/ samsung a 6] [http://etgeek.50webs.com/view/paul-meurisse.htm paul meurisse] [http://weakxkn.50webs.com/view/godavari-east/ godavari east] [http://elainegardeng.50webs.com/html/paci.htm paci] [http://mistresso.50webs.com/directory/orgie-con.htm orgie con foto] [http://dmvags.50webs.com/lib/nothing-fails/ nothing fails] [http://fangirling.50webs.com/small/www-cogidas.htm www cogidas com] [http://mistresso.50webs.com/directory/gaia-ferrando.htm gaia ferrando] [http://m1santhrop1c.50webs.com/view/basket-cantu/ basket cantu] [http://isabellelipton.50webs.com/library/business-center/ business center ufficio srl] [http://kristinemigh.50webs.com/blog/manga-porno3.htm manga porno sailor moon] [http://m1santhrop1c.50webs.com/view/browning-robert/ browning robert] [http://77life.50webs.com/articles/eclissi-di2/ eclissi di luna] [http://m1santhrop1c.50webs.com/view/ferro-t/ ferro t] [http://77life.50webs.com/articles/mega-sit/ mega sit] [http://elainegardeng.50webs.com/html/crane-ronald.htm crane ronald salmon] [http://some1crazyo.50webs.com/view/automobile-usata4.htm automobile usata roma] [http://weakxkn.50webs.com/view/hp-pavilion24/ hp pavilion amd 3000] [http://kristinemigh.50webs.com/blog/musica-romaneasca.htm musica romaneasca] [http://mistresso.50webs.com/directory/equatoriale.htm equatoriale] [http://kristinemigh.50webs.com/blog/corsair-xms2.htm corsair xms25400] == Part 7 - Miscellaneous ==
+
{{TOCright}}
<p><em>Mostly internal stuff. Some good for everyone, some only for ASH wizards.</em></p>
+
== Chat Functions ==
 +
{{Flink|void|chat_clan|string}}
 +
{{Flink|void|chat_clan|string|string|desc=Sends a message to clan chat.}}
 +
{{Flink|void|chat_macro|string|desc=Submits a chat macro to KoL.}}
 +
{{Flink|void|chat_notify|string|string|desc=Sends a notification to the player's own chat.}}
 +
{{Flink|void|chat_private|string|string|desc=Sends a private message to another player.}}
 +
{{Flink|boolean|is_online|string|desc=Check to see if a player is online.}}
 +
{{Flink|boolean [string]|who_clan|desc=Returns a list of whom is in your clan and if they are in chat.}}
 +
{{Flink|boolean|can_faxbot|monster|desc=Check to see if a monster can be faxed.}}
 +
{{Flink|boolean|faxbot|monster|desc=Attempts to receive a fax of a given monster.}}
  
<p><strong>void print( string helloworld )</strong><br />
+
== Debugging Functions ==
Prints the given string to the graphical CLI window and to the status line of the main Adventuring window</p>
+
{{Flink|void|disable|string|desc=Disables the specified function.}}
 +
{{Flink|void|enable|string|desc=Enables the specified function.}}
 +
{{Flink|buffer|load_html|string|desc=Works like visit_url(), but for debugging.}}
 +
{{Flink|string|make_url|string|boolean|boolean|desc=Crafts the URL to visit.}}
  
<p><strong>boolean cli_execute( string command )</strong><br />
+
== File Input/Output Functions ==
Executes the given command as if it were entered into the graphical CLI window. This can be used for CLI commands or, if you
+
{{FunctionEmbed|buffer_to_file|format=signature|desc=yes}}
 +
{{FunctionEmbed|file_to_array|format=signature|desc=yes}}
 +
{{FunctionEmbed|file_to_buffer|format=signature|desc=yes}}
 +
{{Flink|boolean|file_to_map|string|aggregate|desc=Loads a map from a tab-delimited text file.}}
 +
{{Flink|boolean|map_to_file|aggregate|string|desc=Saves a map to a tab-delimited text file.}}
 +
 
 +
== gCLI Command Functions ==
 +
{{FunctionEmbed|cli_execute|format=signature|desc=yes}}
 +
{{FunctionEmbed|cli_execute_output|format=signature|desc=yes}}
 +
 
 +
== Map Management Functions ==
 +
''Note: Information about maps (including creating, assigning, and removing keys, can be found at [[Data Structures#Maps|Map Data Structures]].''
 +
 
 +
{{Flink|int|count|aggregate|desc=Returns the number of defined keys for the specified aggregate.}}
 +
{{Flink|void|clear|aggregate|desc=Removes all keys from the specified aggregate.}}
 +
 
 +
== Time Functions ==
 +
{{Flink|string|format_date_time|string|string|string|desc=Reformats dates.}}
 +
{{Flink|int|gameday_to_int|desc=Returns the current KoL date as an integer.}}
 +
{{Flink|string|gameday_to_string|desc=Returns the current KoL date as a string.}}
 +
{{Flink|int|gametime_to_int|desc=Returns the current KoL time in ms as an integer.}}
 +
{{Flink|string|now_to_string|string|desc=Returns current local time/date in SimpleDateFormat format.}}
 +
{{Flink|string|time_to_string|desc=Returns the current local time in HH:mm:ss z format.}}
 +
{{Flink|string|today_to_string|desc=Returns the current local day in ISO format.}}
 +
 
 +
== SVN Functions ==
 +
''There is much additional information in the [[SVN Primer]]''.
 +
{{Flink|boolean|svn_exists|string|desc=Returns true if a valid working copy named projectname exists in the svn/ folder.}}
 +
{{Flink|boolean|svn_at_head|string|desc=Returns true if projectname exists, is a valid working copy, and is currently at the same revision number as the repository.}}
 +
{{Flink|record|svn_info|string|desc=Returns a record containing additional information about the given projectname: svnurl, last author, last revision, last change date.}}
 +
 
 +
== User Interaction ==
 +
{{Flink|void|print|string|{{opt|string}}|desc=Prints to CLI and status line of Adventuring window, optionally in a specified color.}}
 +
{{Flink|void|print_html|string|desc=Prints to CLI, parsing any included html.}}
 +
{{Flink|void|logprint|string|desc=Prints to the session log.}}
 +
{{Flink|void|wait|int}}
 +
{{Flink|void|waitq|int|desc=Sleeps for the specified number of seconds.}}
 +
{{Flink|boolean|user_confirm|string|desc=Allows user input in Y/N format.}}
 +
 
 +
== Property Functions ==
 +
{{Flink|boolean [string]|get_all_properties|string|boolean|desc=Returns a map of all user or global properties.}}
 +
{{FunctionEmbed|property_exists|format=signature|desc=yes}}
 +
{{FunctionEmbed|property_has_default|format=signature|desc=yes}}
 +
{{FunctionEmbed|property_default_value|format=signature|desc=yes}}
 +
{{Flink|string|get_property|string}}
 +
{{Flink|string|get_property|string|boolean|desc=Gets a global or user preference as appropriate.}}
 +
{{Flink|void|set_property|string|string|desc=Sets a global or user preference as appropriate.}}
 +
{{FunctionEmbed|remove_property|format=signature|desc=yes}}
 +
{{FunctionEmbed|rename_property|format=signature|desc=yes}}
 +
 
 +
== Other Functions ==
 +
{{FunctionEmbed|abort|format=signature|desc=yes}}
 +
{{FunctionEmbed|all_monsters_with_id|format=signature|desc=yes}}
 +
{{Flink|void|batch_open|desc=Used to mark the beginning of a block of functions to operate in batch mode (see page for {{f|batch_close}} for details).}}
 +
{{Flink|boolean|batch_close|desc=Used to mark the end of a block of functions to operate in batch mode (see page for details).}}
 +
{{Flink|int|get_revision|desc=Returns the current KoLmafia revision number.}}
 +
{{Flink|string|get_version|desc=Returns the most recent KoLmafia version.}}
 +
{{Flink|string|get_player_id|string|desc=Returns the user id number of a given player.}}
 +
{{FunctionEmbed|is_dark_mode|format=signature|desc=yes}}
 +
{{Flink|string|to_json|aggregate|desc=Converts a simple aggregate into JSON.}}
 +
 
 +
Additional functions that are considered not really to be ash functions are available in [[Miscellaneous ASH Features#Special Syntax Functions|Misc ASH Features]]
 +
 
 +
[[Category:Scripting]]

Latest revision as of 14:55, 23 December 2020

Chat Functions

void chat_clan( string )

void chat_clan( string, string )

Sends a message to clan chat.

void chat_macro( string )

Submits a chat macro to KoL.

void chat_notify( string, string )

Sends a notification to the player's own chat.

void chat_private( string, string )

Sends a private message to another player.

boolean is_online( string )

Check to see if a player is online.

boolean [string] who_clan()

Returns a list of whom is in your clan and if they are in chat.

boolean can_faxbot( monster )

Check to see if a monster can be faxed.

boolean faxbot( monster )

Attempts to receive a fax of a given monster.


Debugging Functions

void disable( string )

Disables the specified function.

void enable( string )

Enables the specified function.

buffer load_html( string )

Works like visit_url(), but for debugging.

string make_url( string, boolean, boolean )

Crafts the URL to visit.


File Input/Output Functions

boolean buffer_to_filebuffer, string )

Saves a buffer to a text file. Returns true on success, false on failure.

string [int] file_to_arraystring )

Reads data from a text file and returns a map of strings containing each line.

buffer file_to_bufferstring )

Loads the entire contents of a text file into a buffer.

boolean file_to_map( string, aggregate )

Loads a map from a tab-delimited text file.

boolean map_to_file( aggregate, string )

Saves a map to a tab-delimited text file.


gCLI Command Functions

boolean cli_executestring )

Executes a string as a gCLI command. Returns true on success, false on failure.

string cli_execute_outputstring )

Executes a gCLI command, capturing and returning the gCLI output.

Map Management Functions

Note: Information about maps (including creating, assigning, and removing keys, can be found at Map Data Structures.

int count( aggregate )

Returns the number of defined keys for the specified aggregate.

void clear( aggregate )

Removes all keys from the specified aggregate.


Time Functions

string format_date_time( string, string, string )

Reformats dates.

int gameday_to_int()

Returns the current KoL date as an integer.

string gameday_to_string()

Returns the current KoL date as a string.

int gametime_to_int()

Returns the current KoL time in ms as an integer.

string now_to_string( string )

Returns current local time/date in SimpleDateFormat format.

string time_to_string()

Returns the current local time in HH:mm:ss z format.

string today_to_string()

Returns the current local day in ISO format.


SVN Functions

There is much additional information in the SVN Primer.

boolean svn_exists( string )

Returns true if a valid working copy named projectname exists in the svn/ folder.

boolean svn_at_head( string )

Returns true if projectname exists, is a valid working copy, and is currently at the same revision number as the repository.

record svn_info( string )

Returns a record containing additional information about the given projectname: svnurl, last author, last revision, last change date.


User Interaction

void print( string, [string] )

Prints to CLI and status line of Adventuring window, optionally in a specified color.

void print_html( string )

Prints to CLI, parsing any included html.

void logprint( string )

Prints to the session log.

void wait( int )

void waitq( int )

Sleeps for the specified number of seconds.

boolean user_confirm( string )

Allows user input in Y/N format.


Property Functions

boolean [string] get_all_properties( string, boolean )

Returns a map of all user or global properties.

boolean property_existsstring, boolean? )

Checks whether a property exists.

boolean property_has_defaultstring )

Checks if a property has a built-in default value.

string property_default_valuestring )

Returns the default value of a property, or an empty string if a default value does not exist.

string get_property( string )

string get_property( string, boolean )

Gets a global or user preference as appropriate.

void set_property( string, string )

Sets a global or user preference as appropriate.

string remove_propertystring, boolean? )

Removes or resets a property and returns its previous value.

boolean rename_propertystring, string )

Renames a property. Returns true on success, false on failure.

Other Functions

void abortstring? )

Immediately halts the current script and all queued functions.

boolean [monster] all_monsters_with_id()

Returns a map of all monsters that have a non-zero monster ID.

void batch_open()

Used to mark the beginning of a block of functions to operate in batch mode (see page for batch_close() for details).

boolean batch_close()

Used to mark the end of a block of functions to operate in batch mode (see page for details).

int get_revision()

Returns the current KoLmafia revision number.

string get_version()

Returns the most recent KoLmafia version.

string get_player_id( string )

Returns the user id number of a given player.

boolean is_dark_mode()

Checks if the current KoLmafia theme is dark mode.

string to_json( aggregate )

Converts a simple aggregate into JSON.


Additional functions that are considered not really to be ash functions are available in Misc ASH Features