Difference between revisions of "Cast - Spell"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Enai Siaion
imported>Enai Siaion
Line 26: Line 26:
*This function casts the spell instantaneously.  This is mainly desirable only for non-actors, because it will not animate an actor.  For instance, the spell will be cast even if the actor's hands are not readied.
*This function casts the spell instantaneously.  This is mainly desirable only for non-actors, because it will not animate an actor.  For instance, the spell will be cast even if the actor's hands are not readied.
*If you wish to make an actor cast a spell using all the normal spellcasting behaviors, please instead use an AI package that includes the [[Procedure_UseMagic|UseMagic procedure]].
*If you wish to make an actor cast a spell using all the normal spellcasting behaviors, please instead use an AI package that includes the [[Procedure_UseMagic|UseMagic procedure]].
*Actor races can be set to cast magic only in the direction that the actor is facing; if the source is an actor with this racial setting, the target will be ignored.
*Actor races can be set to cast magic only in the direction that the actor is facing; if the source is an actor with this racial setting, the target will be ignored. (Exception: if the spell is a Target Actor spell, it will hit regardless of distance or direction)
*It seems that using this function on an actor that doesn't have the spell will work. To add, it will also work on Objects, such as a rock.
*Using this function on an actor that doesn't have the spell will work. To add, it will also work on Objects, such as a rock.
*Using this function will invalidate (cause it to return 0/false when it should return 1/true) any ongoing '''isDualCasting''' condition checks on akSource.   
*Using this function will invalidate (cause it to return 0/false when it should return 1/true) any ongoing '''isDualCasting''' condition checks on akSource.   
**'''isDualCasting''' will continue to return false after the '''Cast''' function is called until akSource stops dual casting.
**'''isDualCasting''' will continue to return false after the '''Cast''' function is called until akSource stops dual casting.

Revision as of 15:25, 21 December 2014

Member of: Spell Script

Casts this spell from the specified object reference, optionally toward a target object reference.

Syntax

Function Cast(ObjectReference akSource, ObjectReference akTarget = None) native

Examples

mySpell.cast(myActivator, playerRef)
; myActivator has cast mySpell on the player!

Parameters

  • akSource: The ObjectReference from which to cast the spell. The source must be able to cast this spell (testings seem to show anything will work, regardless whether they have the spell or not).
  • akTarget: An optional ObjectReference at which to aim the spell. If None is passed and the spell needs a direction, it will be aimed in a default direction.
    • Default: None

Return Value

None.

Notes

  • This function casts the spell instantaneously. This is mainly desirable only for non-actors, because it will not animate an actor. For instance, the spell will be cast even if the actor's hands are not readied.
  • If you wish to make an actor cast a spell using all the normal spellcasting behaviors, please instead use an AI package that includes the UseMagic procedure.
  • Actor races can be set to cast magic only in the direction that the actor is facing; if the source is an actor with this racial setting, the target will be ignored. (Exception: if the spell is a Target Actor spell, it will hit regardless of distance or direction)
  • Using this function on an actor that doesn't have the spell will work. To add, it will also work on Objects, such as a rock.
  • Using this function will invalidate (cause it to return 0/false when it should return 1/true) any ongoing isDualCasting condition checks on akSource.
    • isDualCasting will continue to return false after the Cast function is called until akSource stops dual casting.

Bug

In rare circumstances, this may start working sporadically or quit altogether. Don't use this for functionality that is expected to trigger very frequently throughout a character's lifetime.

See Also