Difference between revisions of "Use skill"

From Kolmafia
Jump to navigation Jump to search
imported>StDoodle
m
imported>Heeheehee
(Correct the claim that use_skill returns different things depending on calling context, as opposed to type of parameters passed.)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''[[string]] use_skill([[skill]] touse)'''<br>
+
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.
'''[[boolean]] use_skill(int count, [[skill]] touse)'''
 
  
Attempts to use the skill listed as 'touse'.
+
{{
 +
#vardefine:name|use_skill}}{{
 +
#vardefine:return_type|boolean}}=Normal Use={{
  
The one returning a string is more helpful for battle as it will return the page html. Whereas the second will just say whether you have the skill or not.
+
FunctionPage|
 +
name={{#var:name}}|
  
This example will attempt to cast the specified skill as many times as it can with the MP the character has left.<br>
+
function1={{Function|
<p><pre>
+
name={{#var:name}}|
effect chosen = $effect[Empathy];
+
aggregate={{#var:aggregate}}|
use_skill(my_mp()/mp_cost(to_skill(chosen)),to_skill(chosen));
+
return_type={{#var:return_type}}|
</pre></p>
+
return_also={{#var:return_also}}|
{{Format}}
+
parameter1={{Param|int|casts}}|
 +
parameter2={{Param|skill|to_use}}|
 +
}}|
 +
 
 +
function2={{Function|
 +
name={{#var:name}}|
 +
aggregate={{#var:aggregate}}|
 +
return_type={{#var:return_type}}|
 +
return_also={{#var:return_also}}|
 +
parameter1={{Param|int|casts}}|
 +
parameter2={{Param|skill|to_use}}|
 +
parameter3={{Param|string|target}}|
 +
p1desc={{Pspan|casts}} is the number of casts|
 +
p2desc={{Pspan|to_use}} is the skill to use|
 +
p3desc={{Pspan|target}} is the recipient (optional, for use with buffs only)|
 +
}}|
 +
 
 +
function_description=Attempts to cast the skill {{pspan|to_use}} a number of times specified by {{pspan|casts}}, or once if not specified. Defaults to casting on yourself, but you can specify a {{pspan|target}} for buffs.|
 +
 
 +
code1={{CodeSample|
 +
title=Code Sample|
 +
description=This example will attempt to cast the specified skill as many times as it can with the MP the character has left.|
 +
code=
 +
<syntaxhighlight>
 +
effect chosen = $effect[ Empathy ];
 +
use_skill( my_mp() / mp_cost( to_skill(chosen) ) , to_skill(chosen) );
 +
</syntaxhighlight>}}|
 +
 
 +
cli_equiv=The CLI command "cast" functions similarly to the normal version of this function (with similar parameters).|
 +
 
 +
}}=In-combat Consulting={{
 +
 
 +
FunctionPage|
 +
name={{#var:name}}|
 +
 
 +
function1={{Function|
 +
name={{#var:name}}|
 +
aggregate={{#var:aggregate}}|
 +
return_type=buffer|
 +
return_also={{#var:return_also}}|
 +
parameter1={{Param|skill|to_use}}|
 +
}}|
 +
 
 +
function2={{Function|
 +
name={{#var:name}}|
 +
aggregate={{#var:aggregate}}|
 +
return_type=boolean|
 +
return_also={{#var:return_also}}|
 +
parameter1={{Param|int|casts}}|
 +
parameter2={{Param|skill|to_use}}|
 +
p1desc={{Pspan|casts}} is the (optional) number of casts|
 +
p2desc={{Pspan|to_use}} is the skill to use|
 +
}}|
 +
 
 +
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]]
 +
{{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?