Difference between revisions of "User talk:Lisselli"
Jump to navigation
Jump to search
imported>Lisselli (Created page with "Sandbox Page for when I need to post code on the forums. Because it doesn't allow indention..") |
imported>Lisselli |
||
Line 1: | Line 1: | ||
Sandbox Page for when I need to post code on the forums. Because it doesn't allow indention.. | Sandbox Page for when I need to post code on the forums. Because it doesn't allow indention.. | ||
<source lang="papyrus"> | |||
Spell[] property DestructionSpells auto | |||
; Add every playable destruction spell to this array property. Fireball, Firebolt, etc.. | |||
; Do not add the ones that are suffixed with Left, Right or BothHands. Example: Don't add ThunderboltLeftHand | |||
Spell SpellSource | |||
AUTO STATE CatchingSpell | |||
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, \ | |||
bool abBashAttack, bool abHitBlocked) | |||
If akSource as Spell | |||
GoToState("Done") | |||
SpellSource = akSource as Spell | |||
if GetSpellSkill(SpellSource as Spell, DestructionSpells) == false | |||
debug.notification("The spell was not a Destruction Spell") | |||
return | |||
endif | |||
endif | |||
EndEvent | |||
STATE Done | |||
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, \ | |||
bool abBashAttack, bool abHitBlocked) | |||
;empty | |||
EndEvent | |||
ENDSTATE | |||
Bool Function GetSpellSkill(Form kSource, Spell[] akSpells) | |||
; This will return false if the source isn't a Destruction spell at all. | |||
Int i = 0 | |||
Int iIndex = akSpells.Length | |||
; loop through all spells til it reaches the last spell. | |||
While i < iIndex | |||
if kSource == akSpells[i] | |||
return true | |||
else | |||
i += 1 | |||
endif | |||
EndWhile | |||
return false | |||
EndFunction | |||
</source> |
Revision as of 20:29, 5 November 2016
Sandbox Page for when I need to post code on the forums. Because it doesn't allow indention..
Spell[] property DestructionSpells auto
; Add every playable destruction spell to this array property. Fireball, Firebolt, etc..
; Do not add the ones that are suffixed with Left, Right or BothHands. Example: Don't add ThunderboltLeftHand
Spell SpellSource
AUTO STATE CatchingSpell
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, \
bool abBashAttack, bool abHitBlocked)
If akSource as Spell
GoToState("Done")
SpellSource = akSource as Spell
if GetSpellSkill(SpellSource as Spell, DestructionSpells) == false
debug.notification("The spell was not a Destruction Spell")
return
endif
endif
EndEvent
STATE Done
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, \
bool abBashAttack, bool abHitBlocked)
;empty
EndEvent
ENDSTATE
Bool Function GetSpellSkill(Form kSource, Spell[] akSpells)
; This will return false if the source isn't a Destruction spell at all.
Int i = 0
Int iIndex = akSpells.Length
; loop through all spells til it reaches the last spell.
While i < iIndex
if kSource == akSpells[i]
return true
else
i += 1
endif
EndWhile
return false
EndFunction