Difference between revisions of "Have effect"

From Kolmafia
Jump to navigation Jump to search
imported>Heeheehee
(Question!)
imported>StDoodle
m
Line 31: Line 31:
 
see_also={{SeeAlso|have_skill|use_skill}}|
 
see_also={{SeeAlso|have_skill|use_skill}}|
 
cli_equiv=The CLI command "effects" gives information on all of your current effect durations.|
 
cli_equiv=The CLI command "effects" gives information on all of your current effect durations.|
 +
special=Note that in KoL, having an effect from both an intrinsic and turn-limited source will only report the intrinsic (infinite) duration while active, and as such this function will return 2147483547 when you are under an effect from both types of sources.
 
}}
 
}}
{{RFI|Why 100 less than signed int limit?|How does this work for effects that are available as both intrinsic and extrinsic (i.e. Temporary Blindness, Teleportitis)?}}
+
{{RFI|Why 100 less than signed int limit?}}

Revision as of 16:13, 13 March 2010

Function Syntax

int have_effect(effect have_effect )

  • have_effect is an effect to check for

Returns the number of turns for which you currently have_effect. Returns 0 if you do not have any turns of have_effect. If the effect is an intrinsic that you currently have, this function returns 2147483547 (which is 100 less than a signed integer's upper limit).

Code Sample

The following casts Disco Aerobics if you have less than 10 turns Disco State of Mind & have the skill.

//This would normally be better handled with a mood, and is for illustration only
if ((have_effect($effect[Disco State of Mind]) < 10) && have_skill($skill[Disco Aerobics]))
   use_skill(1 , $skill[Disco Aerobics]);

CLI Equivalent

The CLI command "effects" gives information on all of your current effect durations.

See Also

have_skill() | use_skill()

Special

Note that in KoL, having an effect from both an intrinsic and turn-limited source will only report the intrinsic (infinite) duration while active, and as such this function will return 2147483547 when you are under an effect from both types of sources.


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:

  • Why 100 less than signed int limit?