Difference between pages "Monster eval" and "Help:To Do List"

From Kolmafia
(Difference between pages)
Jump to navigation Jump to search
imported>Bale
(Start page. This needs a lot of work. r8824)
 
imported>Bale
(Revamped PvP)
 
Line 1: Line 1:
{{
+
{{TOCright}}
#vardefine:name|monster_eval}}{{
 
#vardefine:return_type|float}}{{
 
  
FunctionPage|
+
== "To Do" List ==
name={{#var:name}}|
 
  
function1={{Function|
+
This is a list of stuff that is missing from the wiki or else needs major work. Please help!
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
return_type={{#var:return_type}}|
 
return_also={{#var:return_also}}|
 
parameter1={{Param|string|expression}}|
 
p1desc={{pspan|expression}} is a mathematical expression to be solved.|
 
}}|
 
  
function_description= Evaluates an expression... somehow.|
 
  
code1={{CodeSample|
+
If you need tips for editing the wiki, find that here: [[Help:Editing]].
title=Code Sample|
 
description=This script expands modifier_eval() to include support for user-defined variables. It is extremely complex, but it is extremely useful to anyone who wants to use modifier_eval().|
 
code=
 
<syntaxhighlight>
 
float eval(string expr, float[string] vars) {
 
  buffer b;
 
  matcher m = create_matcher( "\\b[a-z_][a-zA-Z0-9_]*\\b", expr );
 
  while (m.find()) {
 
      string var = m.group(0);
 
      if (vars contains var) {
 
        m.append_replacement(b, vars[var].to_string());
 
      }
 
      // could implement functions, pref access, etc. here
 
  }
 
  m.append_tail(b);
 
  return modifier_eval(b.to_string());
 
}
 
  
# Everything below this line shows how to make use of eval().
+
*CLI Commands are usually only added to the [[CLI Reference]]. Only very complicated commands require their own page.
# TESTING:
 
  
float[string] v;
+
*ASH commands need to be listed on their category page as well as on the [[Ash Functions]] list.  
v["pi"] = 3.14159265;
+
**It is not necessary to always create a code sample, although it is preferred.
v["ten"] = 10;
+
**If you don't add a code sample, please remember to add '''needscode=yes|''' to the page.
print(eval("2+3", v));
 
print(eval("max(pi^ten,ten^pi)", v));
 
print(eval("sqrt(pi)*L", v));
 
print(eval("undefined/2", v));
 
  
</syntaxhighlight>}}|
 
}}
 
  
[[Category:Math and Numbers]]
+
== 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
 +
 
 +
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 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!
 +
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
 +
 
 +
11008: Add the ASH function int[effect] '''my_effects()''', which returns an array of
 +
the character's current effects and their duration. Intrinsic effects have a duration of -1.
 +
 
 +
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.
 +
 
 +
11119: overloaded signature for user_confirm:
 +
boolean '''user_confirm( String message, int timeOutMillis, boolean defaultValue)'''
 +
 +
message - the message displayed in the dialog
 +
timeOutMillis - the time (in ms) for the dialog to be displayed before it is closed and returns defaultValue
 +
defaultValue - the default value if the user does not choose yes/no before timeOut elapses
 +
 
 +
== 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|Category:Needs Code Sample]]
 +
 
 +
Information on how to create a code sample: [[Template:CodeSample]]

Revision as of 21:25, 12 June 2012

"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
11008: Add the ASH function int[effect] my_effects(), which returns an array of 
the character's current effects and their duration. Intrinsic effects have a duration of -1.
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.
11119: overloaded signature for user_confirm: 
boolean user_confirm( String message, int timeOutMillis, boolean defaultValue)

message - the message displayed in the dialog
timeOutMillis - the time (in ms) for the dialog to be displayed before it is closed and returns defaultValue
defaultValue - the default value if the user does not choose yes/no before timeOut elapses

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