diff --git a/ConjurableMaid.esp b/ConjurableMaid.esp index 6ed6e3a..44fa7fd 100644 --- a/ConjurableMaid.esp +++ b/ConjurableMaid.esp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09d91bb63da1fbe9bc998d61ec1ae9cdf9039e2ef4e8fd3de32762441ebdf924 -size 58154 +oid sha256:74c9bbf9fcec87bf81bb75a7357ef4df03cbb7bbca7a417f5dc11493b95a2c0a +size 62712 diff --git a/Source/Scripts/FCMSpectralMaidScript.psc b/Source/Scripts/FCMSpectralMaidScript.psc new file mode 100644 index 0000000..b50a88a --- /dev/null +++ b/Source/Scripts/FCMSpectralMaidScript.psc @@ -0,0 +1,26 @@ +Scriptname FCMSpectralMaidScript extends Actor + +SPELL PROPERTY pGhostAbilityNew AUTO +SPELL PROPERTY pGhostResistsAbility AUTO + +GlobalVariable Property pMaidSpectralFlag Auto + +FUNCTION UpdateSpectralState() + if (pMaidSpectralFlag.getValue() == 1) + SELF.addSpell(pGhostAbilityNew) + SELF.addSpell(pGhostResistsAbility) + else + SELF.removeSpell(pGhostAbilityNew) + SELF.removeSpell(pGhostResistsAbility) + endIF +EndFUNCTION + + +EVENT onLoad() + updateSpectralState() + +ENDEVENT + +EVENT onLocationChange(Location akOldLoc, Location akNewLoc) + updateSpectralState() +ENDEVENT \ No newline at end of file diff --git a/Source/Scripts/FCMSummonMaidScript.psc b/Source/Scripts/FCMSummonMaidScript.psc index 84af0dd..6329b50 100644 --- a/Source/Scripts/FCMSummonMaidScript.psc +++ b/Source/Scripts/FCMSummonMaidScript.psc @@ -5,11 +5,16 @@ ObjectReference Property MaidHomeMarker Auto EffectShader Property ConjureEffect Auto ;; Scene Property DLC2DremoraScene Auto ;; GlobalVariable Property DLC2DremoraForceGreet Auto +Bool Property IsSpectral Auto Activator property ConjureEffectActivator Auto ImageSpaceModifier property ConjureImageSpace Auto + Event OnEffectStart(actor akTarget, actor akCaster) + if (IsSpectral) + pSpectralFlag.SetValue(1) +endif (MaidRef as actor).StopCombat() MaidRef.Moveto(game.GetPlayer()) MaidRef.placeAtMe(ConjureEffectActivator) @@ -18,6 +23,7 @@ Event OnEffectStart(actor akTarget, actor akCaster) EndEvent Event OnEffectFinish(actor akTarget, actor akCaster) + pSpectralFlag.SetValue(0) ConjureEffect.Play(MaidRef, 1) MaidRef.Disable(true) utility.wait(1) @@ -26,3 +32,5 @@ Event OnEffectFinish(actor akTarget, actor akCaster) MaidRef.Enable() EndEvent + +GlobalVariable Property pSpectralFlag Auto