Difference between revisions of "SetNthEffectMagnitude - Spell"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>DavidJCobb
(→‎Notes: A friendly reminder about how to use this properly on persistent abilities that have already been applied to actors. Saw someone in one of the SKSE threads make this mistake.)
imported>DavidJCobb
(→‎Notes: Clarified last edit. Hopefully.)
 
Line 15: Line 15:
== Notes ==
== Notes ==
*Changes made by this function will not persist across game reloads. Using a [[Complete_Example_Scripts#Maintenance.2Fupdate_code_which_runs_once_per_save_load_and_shows_a_message_when_a_mod_is_updated_or_first_loaded|maintenance function]] is one way to maintain them.
*Changes made by this function will not persist across game reloads. Using a [[Complete_Example_Scripts#Maintenance.2Fupdate_code_which_runs_once_per_save_load_and_shows_a_message_when_a_mod_is_updated_or_first_loaded|maintenance function]] is one way to maintain them.
*When an ability spell is first applied to an actor (such as the player), the spell's data is copied into a new ActiveMagicEffect instance; calling SetNthEffectMagnitude on the spell will not update that ActiveMagicEffect. For the magnitude change to affect actors that already have the spell, you must [[RemoveSpell - Actor|remove]] and [[AddSpell - Actor|re-add]] the spell.
*If you use SetNthEffectMagnitude to change the magnitude(s) of an ability spell that has already been added to an actor, the actor will not receive those changes. This is because of how magic effects work: when the actor first received the ability, new [[ActiveMagicEffect Script|ActiveMagicEffect]] instances were created on that actor based on data ''copied from'' the spell's defined magic effects. To update those ActiveMagicEffects, you have to replace them: you must [[RemoveSpell - Actor|remove]] and [[AddSpell - Actor|re-add]] the ability spell to the actor.


== See Also ==
== See Also ==

Latest revision as of 01:11, 7 January 2015

SKSE Member of: Ingredient Script, Potion Script, Scroll Script, Spell Script

Sets the magnitude of the specified effect.

Syntax[edit | edit source]

Function SetNthEffectMagnitude(int index, float value) native

Parameters[edit | edit source]

  • index: The index of the Magic Effect to change.
  • value: The Magnitude to set the Magic Effect to.

Notes[edit | edit source]

  • Changes made by this function will not persist across game reloads. Using a maintenance function is one way to maintain them.
  • If you use SetNthEffectMagnitude to change the magnitude(s) of an ability spell that has already been added to an actor, the actor will not receive those changes. This is because of how magic effects work: when the actor first received the ability, new ActiveMagicEffect instances were created on that actor based on data copied from the spell's defined magic effects. To update those ActiveMagicEffects, you have to replace them: you must remove and re-add the ability spell to the actor.

See Also[edit | edit source]