IsSpellTarget

Revision as of 20:07, 14 January 2009 by imported>JT (→‎= Detecting satiation of addictions: missed one symbol for heading)

Returns 1 if the calling reference is currently being affected by the specified magic item (an Actor Effect (spell), an Object Effect (enchantment), or an Ingestible (drug, potion, chem)).

Syntax

[ActorRef.]IsSpellTarget MagicID 

Example

BuddyRef.IsSpellTarget TrainingMedicineHigh

This will return 1 if Buddy has the specified Actor Ability.

Notes

Detecting addictions

If an actor is addicted to a chem, this function will return 1 when the addiction Actor Effect is passed to this function, even when the actor is not presently undergoing withdrawal symptoms. You can use this to detect whether the player is addicted to a substance.

Example:

Player.IsSpellTarget WithdrawalAlcohol

This will return 1 even if the player has recently consumed alcohol and is not presently undergoing withdrawal. It will return 0 for a player who is not addicted to alcohol.

Detecting satiation of addictions

You can also detect whether the player is under the influence of the chem itself to determine whether the player has sated their addiction or not. This isn't compatible across mods, unfortunately, because you need to check all of the chemical types directly, but is still quite handy.

Example:

if Player.IsSpellTarget WithdrawalAlcohol > 0
    if Player.IsSpellTarget Beer > 0 || Player.IsSpellTarget Scotch > 0 || Player.IsSpellTarget Wine > 0 || Player.IsSpellTarget Whiskey > 0 || Player.IsSpellTarget Vodka > 0
        ;Display a message of satisfaction
        ...
    else
        ;Display a message of anguish
        ...
    endif
else
    ;Display a message of purity and serenity
    ...
endif

See Also

HasMagicEffect