Jump to content

Exact same script within same script to add spells, but not working?


Darkvalkyr

Recommended Posts

I was testing out my mod, Fair Khajiit and discovered something weird with the system I came up with him.

 

Pretty much the follower is able to learn spells when his stat meets the required skill level. Players can make him learn spells by initiating dialogue and that starts a function which would lead to him learning the spells/skills all in one go.

 

I'll post the complete code at the end of the post, I put this snippet here to highlight the problem.

 

I wrote the Restoration section/Alteration section a long time ago, and it works perfectly - Script checks the function, if he meets the conditions, it adds the spells, and removes any older spells from his spell list. Also when he learns a spell, a message will come up. (At the time I didn't know you can use Debug Trace to make a message appear, so Alteration/Restoration used Message Boxes.)

 

Now when I revamped the mod, I added in Destruction/Conjuration/Illusion magic to the fray. I used the exact same format of code, only replacing things to the relevant spell school (Destruction, would have Destruction spells, etc.) I also used debug.trace this time.

 

The issue is, for some reason or another the NPC isn't learning any spell from Destruction/Conjuration/Illusion properly, so everytime I ask him to learn spells in the function, I get the message that he learns X spell every time, but he doesn't get it added at all. However, Restoration/Alteration works as intended.

 

I wonder if anyone can take a look and see what's wrong?

 

This is the snippet - this Restoration check is the segment of the function that comes before the next spell school where the problems start, Destruction.

SpeakerReference is essentially the Follower who's going to learn spells.

CurrentStat is the current Actor Value of the NPC being checked.

LearnedSomething is a variable used to simply say that the NPC did not learn anything if nothing was learned at all.

 

CurrentStat = SpeakerReference.GetAV("Restoration") as int

If CurrentStat >= 90
	If(SpeakerReference.HasSpell(GrandHealing))
		else
	(SpeakerReference.AddSpell(GrandHealing))
	FKLearnedGrandHealing.show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 70
	If(SpeakerReference.HasSpell(HealOther))
		else
	(SpeakerReference.AddSpell(HealOther))
	(SpeakerReference.RemoveSpell (HealingHands))
	FKLearnedHealOther.show()
	LearnedSomething = 1
	Endif
Elseif CurrentStat >= 25
	If(SpeakerReference.HasSpell(HealingHands))
		else
	(SpeakerReference.AddSpell(HealingHands))
	FKlearnedHealingHands.Show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >=50
	If(SpeakerReference.HasSpell(CloseWounds))
		else
	(SpeakerReference.AddSpell(CloseWounds))
	(SpeakerReference.RemoveSpell(FastHealing))
	(SpeakerReference.RemoveSpell(Healing))
	FKLearnedCloseWounds.Show()
	LearnedSomething = 1
	Endif
Elseif CurrentStat >=30
	If(SpeakerReference.HasSpell(FastHealing))
		else
	(SpeakerReference.AddSpell(FastHealing))
	(SpeakerReference.RemoveSpell(Healing))
	FKLearnedFastHealing.Show()
	LearnedSomething = 1
	endif
Else
	If (SpeakerReference.HasSpell(Healing))
		Else
	(SpeakerReference.AddSpell(Healing))
	FKLearnedHealing.Show()
	LearnedSomething = 1
	Endif
Endif

CurrentStat = SpeakerReference.GetAV("Destruction") as int

If CurrentStat >= 75
	If(SpeakerReference.HasSpell(Incinerate))
		else
	(SpeakerReference.AddSpell(Incinerate))
	(SpeakerReference.RemoveSpell (Fireball))
	(SpeakerReference.RemoveSpell (Firebolt))
	Debug.Notification("Feres has learned Incinerate.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 55
	If(SpeakerReference.HasSpell(Fireball))
		else
	(SpeakerReference.AddSpell(Fireball))
	(SpeakerReference.RemoveSpell (Firebolt))
	Debug.Notification("Feres has learned Fireball.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 35
	If(SpeakerReference.HasSpell(Firebolt))
		else
	(SpeakerReference.AddSpell(Firebolt))
	Debug.Notification("Feres has learned Firebolt.")
	LearnedSomething = 1
	Endif
Endif
	
If CurrentStat >= 70
	If(SpeakerReference.HasSpell(WallOfFrost))
		else
	(SpeakerReference.AddSpell(WallOfFrost))
	(SpeakerReference.RemoveSpell(IceStorm))
	(SpeakerReference.RemoveSpell(Frostbite))
	Debug.Notification("Feres has learned Wall of Frost.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 50
	If(SpeakerReference.HasSpell(IceStorm))
		else
	(SpeakerReference.AddSpell(IceStorm))
	(SpeakerReference.RemoveSpell(Frostbite))
	Debug.Notification("Feres has learned Ice Storm.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 20
	If(SpeakerReference.HasSpell(Frostbite))
		else
	(SpeakerReference.AddSpell(Frostbite))
	Debug.Notification("Feres has learned Frostbite.")
	LearnedSomething = 1
	Endif
Endif


If CurrentStat >= 60
	If(SpeakerReference.HasSpell(LightningCloak))
		else
	(SpeakerReference.AddSpell(LightningCloak))
	(SpeakerReference.RemoveSpell(LightningBolt))
	Debug.Notification("Feres has learned Lightning Cloak.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 25
	If(SpeakerReference.HasSpell(LightningBolt))
		else
	(SpeakerReference.AddSpell(LightningBolt))
	Debug.Notification("Feres has learned Lightning Bolt.")
	LearnedSomething = 1
	Endif
Endif

 

 

==========

Complete script:

 

Scriptname FKShowSkillsScript extends Quest
{Shows Feres' Skills}

ReferenceAlias Property Feres  Auto   
Quest Property FKFeresTracking  Auto   

GlobalVariable Property FKClassesUnlocked Auto
GlobalVariable Property FKFeresisFollower Auto
GlobalVariable Property FKCombatStyle Auto

GlobalVariable Property FKFeresHealth  Auto
GlobalVariable Property FKFeresMagicka  Auto
GlobalVariable Property FKFeresStamina  Auto 
GlobalVariable Property FKFeresOneHanded  Auto 
GlobalVariable Property FKFeresTwoHanded  Auto 
GlobalVariable Property FKFeresArchery  Auto 
GlobalVariable Property FKFeresBlock  Auto 
GlobalVariable Property FKFeresLightArmor  Auto 
GlobalVariable Property FKFeresHeavyArmor  Auto
GlobalVariable Property FKFeresAlteration  Auto 
GlobalVariable Property FKFeresRestoration  Auto 
GlobalVariable Property FKFeresDestruction  Auto 
GlobalVariable Property FKFeresConjuration Auto 
GlobalVariable Property FKFeresIllusion  Auto 
GlobalVariable Property FKFeresEnchanting  Auto 
GlobalVariable Property FKFeresSmithing  Auto 
GlobalVariable Property FKFeresSpeech  Auto 
GlobalVariable Property FKFeresSneak  Auto 
GlobalVariable Property FKFeresEncumberance  Auto 
GlobalVariable Property FKFeresAlchemy  Auto    
GlobalVariable Property FKFeresMagicResist  Auto
GlobalVariable Property FKFeresDamageResist  Auto
GlobalVariable Property FKFeresFireResist  Auto
GlobalVariable Property FKFeresIceResist  Auto
GlobalVariable Property FKFeresShockResist  Auto
GlobalVariable Property FKFriendshipGlobal Auto
GlobalVariable Property FKRivalryGlobal Auto

Message Property FKFeresSkillsMessage  Auto  
Message Property FKFeresStatsMessage Auto
Message Property FKLearnedNone Auto
Message Property FKLearnedOakflesh Auto
Message Property FKLearnedMagelight Auto
Message Property FKLearnedIronflesh Auto
Message Property FKLearnedStoneflesh Auto
Message Property FKLearnedEbonyflesh Auto
Message Property FKLearnedDragonhide Auto
Message Property FKLearnedMassPara Auto
Message Property FKLearnedParalyze Auto
Message Property FKLearnedHealing Auto
Message Property FKLearnedHealingHands Auto
Message Property FKLearnedCloseWounds Auto
Message Property FKLearnedHealOther Auto
Message Property FKLearnedGrandHealing Auto
Message Property FKLearnedFastHealing Auto



SPELL Property Oakflesh  Auto  
SPELL Property Stoneflesh  Auto  
SPELL Property Magelight Auto
SPELL Property Ironflesh Auto
SPELL Property Ebonyflesh Auto
SPELL Property Dragonhide Auto
SPELL Property Paralyze Auto
SPELL Property MassParalysis Auto

SPELL Property Healing Auto
SPELL Property FastHealing Auto
SPELL Property HealOther Auto
SPELL Property HealingHands Auto
SPELL Property CloseWounds Auto
SPELL Property GrandHealing Auto

SPELL Property ConjureFamiliar Auto
SPELL Property ConjureFlameAtronach Auto
SPELL Property ConjureFrostAtronach Auto
SPELL Property ConjureStormAtronach Auto

SPELL Property Frostbite Auto
SPELL Property Firebolt Auto
SPELL Property Lightningbolt Auto
SPELL Property IceStorm Auto
SPELL Property Fireball Auto
SPELL Property LightningCloak Auto
SPELL Property Incinerate Auto
SPELL Property WallOfFrost Auto

SPELL Property Courage Auto
SPELL Property Fury Auto
SPELL Property Calm Auto
SPELL Property Fear Auto
SPELL Property Frenzy Auto
SPELL Property Rally Auto
SPELL Property Invisibility Auto

int CurrentStat = 0
int LearnedSomething = 0

Function ShowMeSkill (Actor SpeakerReference)
CurrentStat = SpeakerReference.GetAV("OneHanded") as int
FKFeresOneHanded.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresOneHanded)

CurrentStat = SpeakerReference.GetAV("TwoHanded") as int
FKFeresTwoHanded.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresTwoHanded)

CurrentStat = SpeakerReference.GetAV("Marksman") as int
FKFeresArchery.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresArchery)

CurrentStat = SpeakerReference.GetAV("Block") as int
FKFeresBlock.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresBlock)

CurrentStat = SpeakerReference.GetAV("LightArmor") as int
FKFeresLightArmor.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresLightArmor)

CurrentStat = SpeakerReference.GetAV("HeavyArmor") as int
FKFeresHeavyArmor.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresHeavyArmor)

CurrentStat = SpeakerReference.GetAV("Alteration") as int
FKFeresAlteration.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresAlteration)

CurrentStat = SpeakerReference.GetAV("Restoration") as int
FKFeresRestoration.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresRestoration)

CurrentStat = SpeakerReference.GetAV("Destruction") as int
FKFeresDestruction.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresDestruction)

CurrentStat = SpeakerReference.GetAV("Illusion") as int
FKFeresIllusion.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresIllusion)

CurrentStat = SpeakerReference.GetAV("Conjuration") as int
FKFeresConjuration.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresConjuration)

CurrentStat = SpeakerReference.GetAV("Sneak") as int
FKFeresSneak.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresSneak)

CurrentStat = SpeakerReference.GetAV("Speech") as int
FKFeresSpeech.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresSpeech)

CurrentStat = SpeakerReference.GetAV("Smithing") as int
FKFeresSmithing.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresSmithing)

CurrentStat = SpeakerReference.GetAV("Enchanting") as int
FKFeresEnchanting.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresEnchanting)

CurrentStat = SpeakerReference.GetAV("Alchemy") as int
FKFeresAlchemy.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresAlchemy)

UpdateCurrentInstanceGlobal(FKFriendshipGlobal)
UpdateCurrentInstanceGlobal(FKRivalryGlobal)

FKFeresSkillsMessage.Show()
endfunction

Function ShowMeStats (Actor SpeakerReference)
CurrentStat = SpeakerReference.GetAV("Health") as int
FKFeresHealth.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresHealth)

CurrentStat = SpeakerReference.GetAV("Magicka") as int
FKFeresMagicka.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresMagicka)

CurrentStat = SpeakerReference.GetAV("Stamina") as int
FKFeresStamina.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresStamina)	

CurrentStat = SpeakerReference.GetAV("MagicResist") as int
FKFeresMagicResist.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresMagicResist)

CurrentStat = SpeakerReference.GetAV("FireResist") as int
FKFeresFireResist.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresFireResist)

CurrentStat = SpeakerReference.GetAV("IceResist") as int
FKFeresIceResist.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresIceResist)

CurrentStat = SpeakerReference.GetAV("ElectricResist") as int
FKFeresShockResist.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresShockResist)

CurrentStat = SpeakerReference.GetAV("DamageResist") as int
FKFeresDamageResist.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresDamageResist)

CurrentStat = SpeakerReference.GetAV("InventoryWeight") as int
FKFeresEncumberance.SetValueInt(CurrentStat)
UpdateCurrentInstanceGlobal(FKFeresEncumberance)

UpdateCurrentInstanceGlobal(FKFriendshipGlobal)
UpdateCurrentInstanceGlobal(FKRivalryGlobal)

FKFeresStatsMessage.Show()
endfunction

Function LetsRest (Actor SpeakerReference)

LearnedSomething = 0
UpdateCurrentInstanceGlobal(FKFriendshipGlobal)
UpdateCurrentInstanceGlobal(FKRivalryGlobal)

float Follower = FKFeresIsFollower.GetValue()
float Friendship = FKFriendshipGlobal.GetValue()
float Unlocked = FKClassesUnlocked.GetValue()
float Rivalry = FKRivalryGlobal.GetValue()
int aiNewlevel = game.getplayer().getlevel()

If Follower == 1
If aiNewlevel >= 15 && Unlocked == 0
	If Friendship >= 60 || Rivalry >= 60
		FKClassesUnlocked.SetValue (1)
		Unlocked = 1
		Debug.Notification("Feres is now able to become a Craftsman.")
	Endif
Endif

If aiNewLevel >= 20 && Unlocked == 1
	If Friendship >= 65 || Rivalry >= 65
		FKClassesUnlocked.SetValue (2)
		Unlocked = 2
		Debug.Notification("Feres is now able to become a Brigand, Mage or Guardian.")
	Endif
Endif

If aiNewLevel >= 40 && Unlocked == 2
	If Friendship >= 75 || Rivalry >= 75
		FKClassesUnlocked.SetValue (3)
		Unlocked = 3
		Debug.Notification("Feres is now able to become a Myrmidon, Mystic or Slayer.")
	Endif
EndIf
Endif

CurrentStat = SpeakerReference.GetAV("OneHanded") as int

CurrentStat = SpeakerReference.GetAV("Block") as int

CurrentStat = SpeakerReference.GetAV("LightArmor") as int

CurrentStat = SpeakerReference.GetAV("Alteration") as int

If CurrentStat >= 100
	If(SpeakerReference.HasSpell(Dragonhide))
		else
	(SpeakerReference.AddSpell(Dragonhide))
	FKLearnedDragonhide.show()
	LearnedSomething = 1
	Endif
	
	If(SpeakerReference.HasSpell(MassParalysis))
		else
	(SpeakerReference.AddSpell(MassParalysis))
	FKLearnedMassPara.show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >=25
	If(SpeakerReference.HasSpell(Magelight))
			else
	(SpeakerReference.AddSpell(Magelight))
	FKLearnedMagelight.show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 80
	If(SpeakerReference.HasSpell(Paralyze))
		else
	(SpeakerReference.AddSpell(Paralyze))
	FKLearnedParalyze.show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 75
	If(SpeakerReference.HasSpell(Ebonyflesh))
		else
	(SpeakerReference.AddSpell(Ebonyflesh))
	(SpeakerReference.RemoveSpell(Oakflesh))
	(SpeakerReference.RemoveSpell(Ironflesh))
	(SpeakerReference.RemoveSpell(Stoneflesh))
	FKLearnedEbonyflesh.show()
	LearnedSomething = 1
	Endif
Elseif CurrentStat >=50
	If(SpeakerReference.HasSpell(Ironflesh))
		else
	(SpeakerReference.AddSpell(Ironflesh))
	(SpeakerReference.RemoveSpell(Oakflesh))
	(SpeakerReference.RemoveSpell(Stoneflesh))
	FKLearnedIronflesh.show()
	LearnedSomething = 1
	endif
Elseif CurrentStat >=30
	If(SpeakerReference.HasSpell(Stoneflesh))
		else
	(SpeakerReference.AddSpell(Stoneflesh))
	(SpeakerReference.RemoveSpell(Oakflesh))
	FKLearnedStoneflesh.show()
	LearnedSomething = 1
	endif
Else
	If(SpeakerReference.HasSpell(Oakflesh))
		else
	(SpeakerReference.AddSpell(Oakflesh))
	FKLearnedOakflesh.show()
	LearnedSomething = 1
	endif
Endif

CurrentStat = SpeakerReference.GetAV("Restoration") as int

If CurrentStat >= 90
	If(SpeakerReference.HasSpell(GrandHealing))
		else
	(SpeakerReference.AddSpell(GrandHealing))
	FKLearnedGrandHealing.show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 70
	If(SpeakerReference.HasSpell(HealOther))
		else
	(SpeakerReference.AddSpell(HealOther))
	(SpeakerReference.RemoveSpell (HealingHands))
	FKLearnedHealOther.show()
	LearnedSomething = 1
	Endif
Elseif CurrentStat >= 25
	If(SpeakerReference.HasSpell(HealingHands))
		else
	(SpeakerReference.AddSpell(HealingHands))
	FKlearnedHealingHands.Show()
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >=50
	If(SpeakerReference.HasSpell(CloseWounds))
		else
	(SpeakerReference.AddSpell(CloseWounds))
	(SpeakerReference.RemoveSpell(FastHealing))
	(SpeakerReference.RemoveSpell(Healing))
	FKLearnedCloseWounds.Show()
	LearnedSomething = 1
	Endif
Elseif CurrentStat >=30
	If(SpeakerReference.HasSpell(FastHealing))
		else
	(SpeakerReference.AddSpell(FastHealing))
	(SpeakerReference.RemoveSpell(Healing))
	FKLearnedFastHealing.Show()
	LearnedSomething = 1
	endif
Else
	If (SpeakerReference.HasSpell(Healing))
		Else
	(SpeakerReference.AddSpell(Healing))
	FKLearnedHealing.Show()
	LearnedSomething = 1
	Endif
Endif

CurrentStat = SpeakerReference.GetAV("Destruction") as int

If CurrentStat >= 75
	If(SpeakerReference.HasSpell(Incinerate))
		else
	(SpeakerReference.AddSpell(Incinerate))
	(SpeakerReference.RemoveSpell (Fireball))
	(SpeakerReference.RemoveSpell (Firebolt))
	Debug.Notification("Feres has learned Incinerate.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 55
	If(SpeakerReference.HasSpell(Fireball))
		else
	(SpeakerReference.AddSpell(Fireball))
	(SpeakerReference.RemoveSpell (Firebolt))
	Debug.Notification("Feres has learned Fireball.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 35
	If(SpeakerReference.HasSpell(Firebolt))
		else
	(SpeakerReference.AddSpell(Firebolt))
	Debug.Notification("Feres has learned Firebolt.")
	LearnedSomething = 1
	Endif
Endif
	
If CurrentStat >= 70
	If(SpeakerReference.HasSpell(WallOfFrost))
		else
	(SpeakerReference.AddSpell(WallOfFrost))
	(SpeakerReference.RemoveSpell(IceStorm))
	(SpeakerReference.RemoveSpell(Frostbite))
	Debug.Notification("Feres has learned Wall of Frost.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 50
	If(SpeakerReference.HasSpell(IceStorm))
		else
	(SpeakerReference.AddSpell(IceStorm))
	(SpeakerReference.RemoveSpell(Frostbite))
	Debug.Notification("Feres has learned Ice Storm.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 20
	If(SpeakerReference.HasSpell(Frostbite))
		else
	(SpeakerReference.AddSpell(Frostbite))
	Debug.Notification("Feres has learned Frostbite.")
	LearnedSomething = 1
	Endif
Endif


If CurrentStat >= 60
	If(SpeakerReference.HasSpell(LightningCloak))
		else
	(SpeakerReference.AddSpell(LightningCloak))
	(SpeakerReference.RemoveSpell(LightningBolt))
	Debug.Notification("Feres has learned Lightning Cloak.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 25
	If(SpeakerReference.HasSpell(LightningBolt))
		else
	(SpeakerReference.AddSpell(LightningBolt))
	Debug.Notification("Feres has learned Lightning Bolt.")
	LearnedSomething = 1
	Endif
Endif


CurrentStat = SpeakerReference.GetAV("Illusion") as int

If CurrentStat >= 75
	If(SpeakerReference.HasSpell(Invisibility))
		else
	(SpeakerReference.AddSpell(Invisibility))
	Debug.Notification("Feres has learned Invisibility.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 60
	If(SpeakerReference.HasSpell(Rally))
		else
	(SpeakerReference.AddSpell(Rally))
	(SpeakerReference.RemoveSpell(Courage))
	Debug.Notification("Feres has learned Rally.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 30
	If(SpeakerReference.HasSpell(Courage))
		else
	(SpeakerReference.AddSpell(Courage))
	Debug.Notification("Feres has learned Courage.")
	LearnedSomething = 1
	Endif
Endif
	
If CurrentStat >= 50
	If(SpeakerReference.HasSpell(Frenzy))
		else
	(SpeakerReference.AddSpell(Frenzy))
	(SpeakerReference.RemoveSpell(Fury))
	Debug.Notification("Feres has learned Frenzy.")
	LearnedSomething = 1
	Endif
ElseIf CurrentStat >= 20
	If(SpeakerReference.HasSpell(Fury))
		else
	(SpeakerReference.AddSpell(Fury))
	Debug.Notification("Feres has learned Fury.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 30
	If(SpeakerReference.HasSpell(Calm))
		else
	(SpeakerReference.AddSpell(Calm))
	Debug.Notification("Feres has learned Calm.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 25
	If(SpeakerReference.HasSpell(Fear))
		else
	(SpeakerReference.AddSpell(Fear))
	Debug.Notification("Feres has learned Fear.")
	LearnedSomething = 1
	Endif
Endif

CurrentStat = SpeakerReference.GetAV("Conjuration") as int

If CurrentStat >= 70
	If(SpeakerReference.HasSpell(ConjureStormAtronach))
		else
	(SpeakerReference.AddSpell(ConjureStormAtronach))
	Debug.Notification("Feres has learned Conjure Storm Atronach.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 50
	If(SpeakerReference.HasSpell(ConjureFrostAtronach))
		else
	(SpeakerReference.AddSpell(ConjureFrostAtronach))
	Debug.Notification("Feres has learned Conjure Frost Atronach.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 35
	If(SpeakerReference.HasSpell(ConjureFlameAtronach))
		else
	(SpeakerReference.AddSpell(ConjureFlameAtronach))
	Debug.Notification("Feres has learned Conjure Flame Atronach.")
	LearnedSomething = 1
	Endif
Endif

If CurrentStat >= 20
	If(SpeakerReference.HasSpell(ConjureFamiliar))
		else
	(SpeakerReference.AddSpell(ConjureFamiliar))
	Debug.Notification("Feres has learned Conjure Familiar.")
	LearnedSomething = 1
	Endif
Endif

CurrentStat = SpeakerReference.GetAV("Sneak") as int

CurrentStat = SpeakerReference.GetAV("Smithing") as int

CurrentStat = SpeakerReference.GetAV("Enchanting") as int

CurrentStat = SpeakerReference.GetAV("Alchemy") as int

If LearnedSomething != 1
	FKLearnedNone.show()
endif
endfunction

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...