Difference between revisions of "Use skill"

From Kolmafia
Jump to navigation Jump to search
imported>Bale
imported>Heeheehee
(Correct the claim that use_skill returns different things depending on calling context, as opposed to type of parameters passed.)
 
Line 9: Line 9:
  
 
function1={{Function|
 
function1={{Function|
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
return_type={{#var:return_type}}|
 
return_also={{#var:return_also}}|
 
parameter1={{Param|skill|to_use}}|
 
}}|
 
 
function2={{Function|
 
 
name={{#var:name}}|
 
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
aggregate={{#var:aggregate}}|
Line 25: Line 17:
 
}}|
 
}}|
  
function3={{Function|
+
function2={{Function|
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
return_type={{#var:return_type}}|
 
return_also={{#var:return_also}}|
 
parameter1={{Param|skill|to_use}}|
 
parameter2={{Param|string|target}}|
 
}}|
 
 
 
function4={{Function|
 
 
name={{#var:name}}|
 
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
aggregate={{#var:aggregate}}|
Line 42: Line 25:
 
parameter2={{Param|skill|to_use}}|
 
parameter2={{Param|skill|to_use}}|
 
parameter3={{Param|string|target}}|
 
parameter3={{Param|string|target}}|
p1desc={{Pspan|casts}} is the (optional) number of casts|
+
p1desc={{Pspan|casts}} is the number of casts|
 
p2desc={{Pspan|to_use}} is the skill to use|
 
p2desc={{Pspan|to_use}} is the skill to use|
 
p3desc={{Pspan|target}} is the recipient (optional, for use with buffs only)|
 
p3desc={{Pspan|target}} is the recipient (optional, for use with buffs only)|
Line 76: Line 59:
 
name={{#var:name}}|
 
name={{#var:name}}|
 
aggregate={{#var:aggregate}}|
 
aggregate={{#var:aggregate}}|
return_type=buffer|
+
return_type=boolean|
 
return_also={{#var:return_also}}|
 
return_also={{#var:return_also}}|
 
parameter1={{Param|int|casts}}|
 
parameter1={{Param|int|casts}}|
Line 84: Line 67:
 
}}|
 
}}|
  
function_description=Will loop the specified number of {{pspan|casts}} (default to 1 if omitted) using the specified skill {{pspan|to_use}}, never reconsulting the script until the loop is complete.  One exception: this will not work with Lasagna Bandages, since it tries to cast the out-of-combat version of the skill.  Using {{f|visit_url}} is required for casting Lasagna Bandages in combat.|
+
function_description=If the two-argument form is used in-combat, it will loop the specified number of {{pspan|casts}} using the specified skill {{pspan|to_use}}, never reconsulting the script until the loop is complete or the monster is defeated.  The single-argument form will use the skill, then return the HTML response text.  One exception: this will not work with Lasagna Bandages, since it tries to cast the out-of-combat version of the skill.  Using {{f|visit_url}} is required for casting Lasagna Bandages in combat.|
  
 
}}
 
}}
  
 
[[Category:Skills and Effects]][[Category:In-combat Consulting]]
 
[[Category:Skills and Effects]][[Category:In-combat Consulting]]
 +
{{RFI|Confirm: Is visit_url() still needed for Lasagna Bandages?}}

Latest revision as of 01:34, 26 March 2015

There are two forms of this function. In a combat consult script, this returns a buffer, but otherwise it returns a boolean. Note both forms below.

Normal Use

Function Syntax

boolean use_skill(int casts ,skill to_use )

boolean use_skill(int casts ,skill to_use ,string target )

  • casts is the number of casts
  • to_use is the skill to use
  • target is the recipient (optional, for use with buffs only)

Attempts to cast the skill to_use a number of times specified by casts, or once if not specified. Defaults to casting on yourself, but you can specify a target for buffs.

Code Sample

This example will attempt to cast the specified skill as many times as it can with the MP the character has left.

effect chosen = $effect[ Empathy ];
use_skill( my_mp() / mp_cost( to_skill(chosen) )  , to_skill(chosen) );

CLI Equivalent

The CLI command "cast" functions similarly to the normal version of this function (with similar parameters).

In-combat Consulting

Function Syntax

buffer use_skill(skill to_use )

boolean use_skill(int casts ,skill to_use )

  • casts is the (optional) number of casts
  • to_use is the skill to use

If the two-argument form is used in-combat, it will loop the specified number of casts using the specified skill to_use, never reconsulting the script until the loop is complete or the monster is defeated. The single-argument form will use the skill, then return the HTML response text. One exception: this will not work with Lasagna Bandages, since it tries to cast the out-of-combat version of the skill. Using visit_url() is required for casting Lasagna Bandages in combat.

Attention KoLmafia Experts!

We need your help; some details of this function's operation are unknown or unclear.

The following specific question has been raised:

  • Confirm: Is visit_url() still needed for Lasagna Bandages?