Have effect

From Kolmafia
Revision as of 22:14, 21 May 2010 by imported>Bale
Jump to navigation Jump to search

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?