Help with edited Vampire script.

Post » Tue Jun 19, 2012 2:11 am

This community is great. I can't thank you all enough for all the info. it helps me learn the Ck and what I'm doing. I hope to one day script and mod as the best of you.

I need help once again...


The following is an edited version of the vanilla Vampire script. What I'm trying to do is this:

I want Vampirism to be two stages instead of 4. Somethings are working, others are not.

Current problems:

The Spell SummonGreaterMinion shows up only AFTER feeding. It happens at any stage. When my Vampire hits stage 2 it does not properly swap out SummonGreaterMinion for SummonLesserMinion as I have directed it to.

I also think there might be errors with my script changes for removing stages 3 and 4. I'm hoping someone can look this over and tell me where I have errors. I wish to fix them. Thank you.


ScriptName DVampireScript extends Quest Conditional;Variable to track if the player is a vampire;0 = Not a Vampire;1 = Vampire;2 = Vampire Stage 2;3 = Vampire Stage 3;4 = Vampire Stage 4Int Property VampireStatus Auto ConditionalMessage Property VampireFeedMessage AutoMessage Property VampireStageProgressionMessage AutoRace Property ArgonianRace  Auto  Race Property ArgonianRaceVampire  Auto  Race Property BretonRace  Auto  Race Property BretonRaceVampire  Auto  Race Property DarkElfRace  Auto  Race Property DarkElfRaceVampire  Auto  Race Property HighElfRace  Auto  Race Property HighElfRaceVampire  Auto  Race Property ImperialRace  Auto  Race Property ImperialRaceVampire  Auto  Race Property KhajiitRace  Auto  Race Property KhajiitRaceVampire  Auto  Race Property NordRace  Auto  Race Property NordRaceVampire  Auto  Race Property OrcRace  Auto  Race Property OrcRaceVampire  Auto  Race Property RedguardRace  Auto  Race Property RedguardRaceVampire  Auto  Race Property WoodElfRace  Auto  Race Property WoodElfRaceVampire  Auto  Race Property CureRace AutoStatic Property XMarker AutoFaction Property VampirePCFaction  Auto  Float Property LastFeedTime AutoFloat Property FeedTimer AutoGlobalVariable Property GameDaysPassed AutoIdle Property VampireFeedingBedRight AutoIdle Property VampireFeedingBedrollRight AutoGlobalVariable Property VampireFeedReady AutoimageSpaceModifier Property VampireTransformIncreaseISMD  AutoimageSpaceModifier Property VampireTransformDecreaseISMD  AutoeffectShader property VampireChangeFX autoEvent OnUpdateGameTime()    ;Feed timer    FeedTimer = GameDaysPassed.Value - LastFeedTime;     debug.trace(self + "Feed Timer is:" + FeedTimer + "days")            ;Vampire progression should not happen if player is in combat or controls are locked or the player can't fast travel    If  Game.IsMovementControlsEnabled() && Game.IsFightingControlsEnabled() && Game.GetPlayer().GetCombatState() == 0        ;If player hasn't fed, progress Vampirism        If (FeedTimer >= 4) && (VampireStatus == 1)            ;add Stage 2 Vampire buffs and spells            VampireFeedReady.SetValue(2)            ;VampireStageProgressionMessage.Show()            VampireStage4Message.Show()            VampireStatus = 2            VampireProgression(Game.GetPlayer(), 2)                        Game.GetPlayer().AddtoFaction(VampirePCFaction)                                    ;stop checking GameTime until the player feeds again            UnregisterforUpdateGameTime()        ElseIf FeedTimer <= 2 && (VampireStatus == 2)            ;add Stage 1 Vampire buffs and spells            VampireFeedReady.SetValue(1)            VampireStageProgressionMessage.Show()            VampireStatus = 1            VampireProgression(Game.GetPlayer(), 1)                Game.GetPlayer().AddtoFaction(VampirePCFaction)                        EndIf    Endif    EndEventFunction VampireFeedBed()    Game.GetPlayer().PlayIdle(VampireFeedingBedRight)EndFunctionFunction VampireFeedBedRoll()    Game.GetPlayer().PlayIdle(VampireFeedingBedrollRight)EndFunctionFunction VampireChange(Actor Target)    ;Effects for hiding the change    Game.DisablePlayerControls()    VampireChangeFX.play(Target)    VampireTransformIncreaseISMD.applyCrossFade(2.0)    ObjectReference myXmarker = Target.PlaceAtMe(Xmarker)    MAGVampireTransform01.Play(myXmarker)    myXmarker.Disable()    utility.wait(2.0)    imageSpaceModifier.removeCrossFade()    VampireChangeFX.stop(Target)    ;Change player's race, defaults to Nord Vampire    if (Target.GetActorBase().GetRace() == ArgonianRace)        CureRace = ArgonianRace        Target.SetRace(ArgonianRaceVampire)    elseif (Target.GetActorBase().GetRace() == BretonRace)        CureRace = BretonRace        Target.SetRace(BretonRaceVampire)    elseif (Target.GetActorBase().GetRace() == DarkElfRace)        CureRace = DarkElfRace        Target.SetRace(DarkElfRaceVampire)    elseif (Target.GetActorBase().GetRace() == HighELfRace)        CureRace = HighELfRace        Target.SetRace(HighELfRaceVampire)    elseif (Target.GetActorBase().GetRace() == ImperialRace)        CureRace = ImperialRace        Target.SetRace(ImperialRaceVampire)    elseif (Target.GetActorBase().GetRace() == KhajiitRace)        CureRace = KhajiitRace        Target.SetRace(KhajiitRaceVampire)    elseif (Target.GetActorBase().GetRace() == NordRace)        CureRace = NordRace        Target.SetRace(NordRaceVampire)    elseif (Target.GetActorBase().GetRace() == OrcRace)        CureRace = OrcRace        Target.SetRace(OrcRaceVampire)    elseif (Target.GetActorBase().GetRace() == RedguardRace)        CureRace = RedguardRace        Target.SetRace(RedguardRaceVampire)    elseif (Target.GetActorBase().GetRace() == WoodElfRace)        CureRace = WoodElfRace        Target.SetRace(WoodElfRaceVampire)    endif    ;Clear player's diseases    ;VampireCureDisease.Cast(Target)    Target.RemoveSpell(DiseaseBoneBreakFever)    Target.RemoveSpell(DiseaseBrainRot )    Target.RemoveSpell(DiseaseRattles )    Target.RemoveSpell(DiseaseRockjoint )    Target.RemoveSpell(DiseaseWitbane )    Target.RemoveSpell(DiseasePorphyricHemophelia)    ;Make player Vampire Stage 1    VampireStatus = 1    VampireProgression(Game.GetPlayer(), 1)        ;Setup the Feed Timers    RegisterForUpdateGameTime(12)    LastFeedTime =  GameDaysPassed.Value    ;Set the Global for stat tracking    PlayerIsVampire.SetValue(1)        Utility.Wait(1)    Game.EnablePlayerControls()        ;If the player has been cured before, restart the cure quest    If VC01.GetStageDone(200) == 1        VC01.SetStage(25)    EndIf    EndFunctionFunction VampireFeed()    ;Effects for hiding the change    ;VampireChangeFX.play(game.getPlayer())    VampireTransformDecreaseISMD.applyCrossFade(2.0)    utility.wait(2.0)    imageSpaceModifier.removeCrossFade()    ;VampireChangeFX.stop(game.getPlayer())        Game.IncrementStat( "Necks Bitten" )    VampireFeedMessage.Show()    VampireFeedReady.SetValue(0)    ;Game.ForceThirdPerson()    ;Game.GetPlayer().PlayIdle(VampireFeedingBedRight)    ;Player has fed, regress to Stage 1 Vampirisim    ;Remove Stage 2 buffs and spells    LastFeedTime =  GameDaysPassed.Value    VampireStatus = 1    VampireProgression(Game.GetPlayer(), 1)    ;Player is no longer hated            ;Start checking GameTime again if we weren't already    UnregisterforUpdateGameTime()    RegisterForUpdateGameTime(12)        EndFunctionFunction VampireProgression(Actor Player, int VampireStage)    ;Swap out abilities depending on stage of Vampirism        If VampireStage == 2        VampireTransformIncreaseISMD.applyCrossFade(2.0)        utility.wait(2.0)        imageSpaceModifier.removeCrossFade()                Player.RemoveSpell(AbVampire01)        Player.RemoveSpell(AbVampire01b)        Player.AddSpell(AbVampire02b, abVerbose = False)        Player.AddSpell(AbVampire02, abVerbose = False)        Player.RemoveSpell(VampireSunDamage01)        Player.AddSpell(VampireSunDamage02, abVerbose = False)                                                    If Player.GetEquippedSpell(1) == SummonGreaterMinion            Player.EquipSpell(SummonLesserMinion, 1)        EndIf        Player.RemoveSpell(SummonGreaterMinion)                                Player.AddSpell(VampireCharm)            ElseIf VampireStage == 1        Player.AddSpell(ABVampireSkills, abVerbose = False)        Player.AddSpell(ABVampireSkills02, abVerbose = False)                Player.RemoveSpell(AbVampire02)                        Player.RemoveSpell(AbVampire02b)                Player.AddSpell(AbVampire01, abVerbose = False)        Player.AddSpell(AbVampire01b, abVerbose = False)                Player.AddSpell(VampireDrain01, abVerbose = False)        ;check to see if player has power equipped and switch them out                                                        Player.AddSpell(SummonGreaterMinion, abVerbose = False)                ;Player.AddSpell(VampireStrength01, abVerbose = False)                Player.RemoveSpell(VampireSunDamage02)                Player.AddSpell(VampireSunDamage01, abVerbose = False)                Player.AddSpell(VampireCelerity)        Player.RemoveSpell(VampireInvisibilityPC)    EndIfEndFunctionFunction VampireCure(Actor Player)        Game.IncrementStat( "Vampirism Cures" )    ;Stop tracking the Feed Timer    UnregisterforUpdateGameTime()    VampireStatus = 0    ;Player is no longer hated    Player.RemoveFromFaction(VampirePCFaction)    Player.SetAttackActorOnSight(False)        ;Remove all abilities    Player.RemoveSpell(ABVampireSkills)    Player.RemoveSpell(ABVampireSkills02)        Player.RemoveSpell(AbVampire01)    Player.RemoveSpell(AbVampire02)    Player.RemoveSpell(AbVampire01b)    Player.RemoveSpell(AbVampire02b)    Player.RemoveSpell(VampireDrain01)    ;Player.RemoveSpell(VampireStrength01)    Player.RemoveSpell(VampireSunDamage01)    Player.RemoveSpell(VampireSunDamage02)        Player.RemoveSpell(VampireCharm)    Player.RemoveSpell(VampireInvisibilityPC)            ;Change player's race, defaults to Nord    if (Player.GetRace() == ArgonianRaceVampire)        Player.SetRace(ArgonianRace)    elseif (Player.GetRace() == BretonRaceVampire)        Player.SetRace(BretonRace)    elseif (Player.GetRace() == DarkElfRaceVampire)        Player.SetRace(DarkElfRace)    elseif (Player.GetRace() == HighELfRaceVampire)        Player.SetRace(HighElfRace)    elseif (Player.GetRace() == ImperialRaceVampire)        Player.SetRace(ImperialRace)    elseif (Player.GetRace() == KhajiitRaceVampire)        Player.SetRace(KhajiitRace)    elseif (Player.GetRace() == NordRaceVampire)        Player.SetRace(NordRace)    elseif (Player.GetRace() == OrcRaceVampire)        Player.SetRace(OrcRace)    elseif (Player.GetRace() == RedguardRaceVampire)        Player.SetRace(RedguardRace)    elseif (Player.GetRace() == WoodElfRaceVampire)        Player.SetRace(WoodElfRace)    endif    ;Set the Global for stat tracking    PlayerIsVampire.SetValue(0)        ;make sure Hunter's Sight is gone    Player.RemoveSpell(VampireHuntersSight)    EndFunctionSpell Property AbVampire01 AutoSpell Property AbVampire02 AutoSpell Property AbVampire01b AutoSpell Property AbVampire02b AutoSpell Property VampireDrain01 AutoSpell Property VampireSunDamage01 AutoSpell Property VampireSunDamage02 AutoSpell Property VampireHuntersSight AutoSpell Property VampireCharm AutoSpell Property VampireInvisibilityPC AutoSpell Property VampireCureDisease AutoSpell Property ABVampireSkills AutoSpell Property ABVampireSkills02 AutoSpell Property DiseasePorphyricHemophelia AutoGlobalVariable Property PlayerIsVampire  Auto  Sound  Property MagVampireTransform01  Auto  Spell Property DiseaseAtaxia autoSpell Property DiseaseBoneBreakFever AutoSpell Property DiseaseBrainRot AutoSpell Property DiseaseRattles AutoSpell Property DiseaseRockjoint autoSpell Property DiseaseWitbane AutoSpell Property SummonGreaterMinion AutoSpell Property SummonLesserMinion AutoMessage Property VampireStage4Message AutoSpell Property VampireStrength01 AutoQuest Property VC01 AutoFormList Property CrimeFactions  Auto  Perk Property VampireFeed  Auto  SPELL Property VampireCelerity  Auto  
User avatar
Jesus Lopez
 
Posts: 3508
Joined: Thu Aug 16, 2007 10:16 pm

Post » Mon Jun 18, 2012 2:24 pm

I know almost nothing about scripting, but I tend to follow what's already in the original script and work it out through trial and error and by asking for help. In your gutting, it seems like a couple things might be missing. If I understand you correctly, you're reducing the strength of the vampire summon powers as it progresses further in the hunger stage, then it looks like your GetEquippedSpell section in stage 2 should be in stage one instead

Stage 1 may need something like this:

		Player.AddSpell(SummonLesserMinion)   	 If Player.GetEquippedSpell(0) == SummonGreaterMinion			Player.EquipSpell(SummonLesserMinion, 0)		EndIf				If Player.GetEquippedSpell(1) == SummonGreaterMinion			Player.EquipSpell(SummonLesserMinion, 1)		EndIf		Player.RemoveSpell(SummonGreaterMinion)

And you would need the reverse of that for stage two. Though, I hope someone with more experience could confirm or deny this...

I hope you get your stuff working!!



I also have an ulterior motive for responding. I'm having a similar problem of having a group of spells not show up in my magic inventory at all. Though, to my own eyes, everything appears to be correct, no doubt I have messed up somewhere.

The papyrus lists these errors:

[02/22/2012 - 01:14:18PM] error: Cannot add a None spell to the actor stack: [ (00000014)].Actor.AddSpell() - "" Line ?
[PlayerVampireQuest (000EAFD5)].playervampirequestscript.VampireProgression() - "PlayerVampireQuestScript.psc" Line 355
[PlayerVampireQuest (000EAFD5)].playervampirequestscript.VampireChange() - "PlayerVampireQuestScript.psc" Line 165
[None].VampireChangeEffectScript.OnEffectStart() - "VampireChangeEffectScript.psc" Line 14

I've looked over these things and I can't see anything wrong. Admittedly, I do not understand the first error (could be pertaining to another mod?), as for the last error, I'm pretty sure I've made no changes to that script.

My first attempt was simply to replace the Vampire Servant powers with similar reanimate spells (not power). I successfully overwrote the powers so that they no longer show up in my game, but the spell replacement was not added to my inventory. So, I rewrote parts of the progression stages to see if I could do it like the vampire drain spells. Still, I'm unable to get the spells to show up in inventory.

Here's a copy of my script if anyone cares to look it over. pretty please???

ScriptName PlayerVampireQuestScript extends Quest Conditional;Variable to track if the player is a vampire;0 = Not a Vampire;1 = Vampire;2 = Vampire Stage 2;3 = Vampire Stage 3;4 = Vampire Stage 4Int Property VampireStatus Auto ConditionalMessage Property VampireFeedMessage AutoMessage Property VampireStageProgressionMessage AutoRace Property ArgonianRace  Auto  Race Property ArgonianRaceVampire  Auto  Race Property BretonRace  Auto  Race Property BretonRaceVampire  Auto  Race Property DarkElfRace  Auto  Race Property DarkElfRaceVampire  Auto  Race Property HighElfRace  Auto  Race Property HighElfRaceVampire  Auto  Race Property ImperialRace  Auto  Race Property ImperialRaceVampire  Auto  Race Property KhajiitRace  Auto  Race Property KhajiitRaceVampire  Auto  Race Property NordRace  Auto  Race Property NordRaceVampire  Auto  Race Property OrcRace  Auto  Race Property OrcRaceVampire  Auto  Race Property RedguardRace  Auto  Race Property RedguardRaceVampire  Auto  Race Property WoodElfRace  Auto  Race Property WoodElfRaceVampire  Auto  Race Property CureRace AutoStatic Property XMarker AutoFaction Property VampirePCFaction  Auto  Float Property LastFeedTime AutoFloat Property FeedTimer AutoGlobalVariable Property GameDaysPassed AutoIdle Property VampireFeedingBedRight AutoIdle Property VampireFeedingBedrollRight AutoGlobalVariable Property VampireFeedReady AutoimageSpaceModifier Property VampireTransformIncreaseISMD  AutoimageSpaceModifier Property VampireTransformDecreaseISMD  AutoeffectShader property VampireChangeFX autoEvent OnUpdateGameTime()	;Feed timer	FeedTimer = GameDaysPassed.Value - LastFeedTime;	 debug.trace(self + "Feed Timer is:" + FeedTimer + "days")			;Vampire progression should not happen if player is in combat or controls are locked or the player can't fast travel	If  Game.IsMovementControlsEnabled() && Game.IsFightingControlsEnabled() && Game.GetPlayer().GetCombatState() == 0		;If player hasn't fed, progress Vampirism		If (FeedTimer >= 3) && (VampireStatus == 3)			;add Stage 4 Vampire buffs and spells			VampireFeedReady.SetValue(3)			;VampireStageProgressionMessage.Show()			VampireStage4Message.Show()			VampireStatus = 4			VampireProgression(Game.GetPlayer(), 4)			;All NPCs  hate the evil Vampire			Game.GetPlayer().AddtoFaction(VampirePCFaction)			Game.GetPlayer().SetAttackActorOnSight()			int cfIndex = 0			   while (cfIndex < CrimeFactions.GetSize());					 Debug.Trace("VAMPIRE: Setting enemy flag on " + CrimeFactions.GetAt(cfIndex))					(CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy()					cfIndex += 1				endwhile			;stop checking GameTime until the player feeds again			UnregisterforUpdateGameTime()		ElseIf FeedTimer >= 2 && (VampireStatus == 2)			;add Stage 3 Vampire buffs and spells			VampireFeedReady.SetValue(2)			VampireStageProgressionMessage.Show()			VampireStatus = 3			VampireProgression(Game.GetPlayer(), 3)			ElseIf FeedTimer >= 1 && (VampireStatus == 1)			;add Stage 2 Vampire buffs and spells			VampireFeedReady.SetValue(1)			VampireStageProgressionMessage.Show()			VampireStatus = 2			VampireProgression(Game.GetPlayer(), 2)			EndIf	Endif	EndEventFunction VampireFeedBed()	Game.GetPlayer().PlayIdle(VampireFeedingBedRight)EndFunctionFunction VampireFeedBedRoll()	Game.GetPlayer().PlayIdle(VampireFeedingBedrollRight)EndFunctionFunction VampireChange(Actor Target)	;Effects for hiding the change	Game.DisablePlayerControls()	VampireChangeFX.play(Target)	VampireTransformIncreaseISMD.applyCrossFade(2.0)	ObjectReference myXmarker = Target.PlaceAtMe(Xmarker)	MAGVampireTransform01.Play(myXmarker)	myXmarker.Disable()	utility.wait(2.0)	imageSpaceModifier.removeCrossFade()	VampireChangeFX.stop(Target)	;Change player's race, defaults to Nord Vampire	if (Target.GetActorBase().GetRace() == ArgonianRace)		CureRace = ArgonianRace		Target.SetRace(ArgonianRaceVampire)	elseif (Target.GetActorBase().GetRace() == BretonRace)		CureRace = BretonRace		Target.SetRace(BretonRaceVampire)	elseif (Target.GetActorBase().GetRace() == DarkElfRace)		CureRace = DarkElfRace		Target.SetRace(DarkElfRaceVampire)	elseif (Target.GetActorBase().GetRace() == HighELfRace)		CureRace = HighELfRace		Target.SetRace(HighELfRaceVampire)	elseif (Target.GetActorBase().GetRace() == ImperialRace)		CureRace = ImperialRace		Target.SetRace(ImperialRaceVampire)	elseif (Target.GetActorBase().GetRace() == KhajiitRace)		CureRace = KhajiitRace		Target.SetRace(KhajiitRaceVampire)	elseif (Target.GetActorBase().GetRace() == NordRace)		CureRace = NordRace		Target.SetRace(NordRaceVampire)	elseif (Target.GetActorBase().GetRace() == OrcRace)		CureRace = OrcRace		Target.SetRace(OrcRaceVampire)	elseif (Target.GetActorBase().GetRace() == RedguardRace)		CureRace = RedguardRace		Target.SetRace(RedguardRaceVampire)	elseif (Target.GetActorBase().GetRace() == WoodElfRace)		CureRace = WoodElfRace		Target.SetRace(WoodElfRaceVampire)	endif	;Clear player's diseases	;VampireCureDisease.Cast(Target)	Target.RemoveSpell(DiseaseBoneBreakFever)	Target.RemoveSpell(DiseaseBrainRot )	Target.RemoveSpell(DiseaseRattles )	Target.RemoveSpell(DiseaseRockjoint )	Target.RemoveSpell(DiseaseWitbane )	Target.RemoveSpell(DiseasePorphyricHemophelia)	;Make player Vampire Stage 1	VampireStatus = 1	VampireProgression(Game.GetPlayer(), 1)		;Setup the Feed Timers	RegisterForUpdateGameTime(12)	LastFeedTime =  GameDaysPassed.Value	;Set the Global for stat tracking	PlayerIsVampire.SetValue(1)		Utility.Wait(1)	Game.EnablePlayerControls()		;If the player has been cured before, restart the cure quest	If VC01.GetStageDone(200) == 1		VC01.SetStage(25)	EndIf	EndFunctionFunction VampireFeed()	;Effects for hiding the change	;VampireChangeFX.play(game.getPlayer())	VampireTransformDecreaseISMD.applyCrossFade(2.0)	utility.wait(2.0)	imageSpaceModifier.removeCrossFade()	;VampireChangeFX.stop(game.getPlayer())		Game.IncrementStat( "Necks Bitten" )	VampireFeedMessage.Show()	VampireFeedReady.SetValue(0)	;Game.ForceThirdPerson()	;Game.GetPlayer().PlayIdle(VampireFeedingBedRight)	;Player has fed, regress to Stage 1 Vampirisim	;Remove Stage 2, 3, and 4 buffs and spells	LastFeedTime =  GameDaysPassed.Value	VampireStatus = 1	VampireProgression(Game.GetPlayer(), 1)	;Player is no longer hated	Game.GetPlayer().RemoveFromFaction(VampirePCFaction)	Game.GetPlayer().SetAttackActorOnSight(False)	int cfIndex = 0	while (cfIndex < CrimeFactions.GetSize());		 Debug.Trace("VAMPIRE: Removing enemy flag from " + CrimeFactions.GetAt(cfIndex))		(CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy(false)		cfIndex += 1	endwhile	;Start checking GameTime again if we weren't already	UnregisterforUpdateGameTime()	RegisterForUpdateGameTime(12)		EndFunctionFunction VampireProgression(Actor Player, int VampireStage)	;Swap out abilities depending on stage of Vampirism		If VampireStage == 2		VampireTransformIncreaseISMD.applyCrossFade(2.0)		utility.wait(2.0)		imageSpaceModifier.removeCrossFade()				Player.RemoveSpell(AbVampire01)		Player.RemoveSpell(AbVampire01b)		Player.AddSpell(AbVampire02b, abVerbose = False)		Player.AddSpell(AbVampire02, abVerbose = False)		;Player.RemoveSpell(VampireStrength01)		;Player.AddSpell(VampireStrength02, abVerbose = False)		Player.RemoveSpell(VampireSunDamage01)		Player.AddSpell(VampireSunDamage02, abVerbose = False)						Player.AddSpell(VampireDrain02, abVerbose = False)		Player.AddSpell(KALVampireServant25, abVerbose = False)		;check to see if player has power equipped and switch them out		If Player.GetEquippedSpell(0) == VampireDrain01			Player.EquipSpell(VampireDrain02, 0)			Player.GetEquippedSpell(0) == KALVampireServant0			Player.EquipSpell(KALVampireServant25, 0)						EndIf				If Player.GetEquippedSpell(1) == VampireDrain01			Player.EquipSpell(VampireDrain02, 1)			Player.GetEquippedSpell(1) == KALVampireServant0			Player.EquipSpell(KALVampireServant25, 1)		EndIf		Player.RemoveSpell(VampireDrain01)				Player.RemoveSpell(KALVampireServant0)				Player.AddSpell(VampireCharm)	ElseIf VampireStage == 3		VampireTransformIncreaseISMD.applyCrossFade(2.0)		utility.wait(2.0)		imageSpaceModifier.removeCrossFade()		Player.RemoveSpell(AbVampire01)		Player.RemoveSpell(AbVampire02)		Player.RemoveSpell(AbVampire01b)		Player.RemoveSpell(AbVampire02b)		Player.AddSpell(AbVampire03b, abVerbose = False)		Player.AddSpell(AbVampire03, abVerbose = False)		Player.AddSpell(VampireDrain03, abVerbose = False)		Player.AddSpell(KALVampireServant50, abVerbose = False)		;check to see if player has power equipped and switch them out		If Player.GetEquippedSpell(0) == VampireDrain02 || Player.GetEquippedSpell(0) == VampireDrain01			Player.EquipSpell(VampireDrain03, 0)				Player.GetEquippedSpell(0) == KALVampireServant25 || Player.GetEquippedSpell(0) == KALVampireServant0			Player.EquipSpell(KALVampireServant50, 0)				EndIf				If Player.GetEquippedSpell(1) == VampireDrain02 || Player.GetEquippedSpell(1) == VampireDrain01			Player.EquipSpell(VampireDrain03, 1)			Player.GetEquippedSpell(1) == KALVampireServant25 || Player.GetEquippedSpell(1) == KALVampireServant0			Player.EquipSpell(KALVampireServant50, 1)		EndIf		Player.RemoveSpell(VampireDrain01)		Player.RemoveSpell(VampireDrain02)				Player.RemoveSpell(KALVampireServant0)		Player.RemoveSpell(KALVampireServant25)		;Player.RemoveSpell(VampireStrength01)		;Player.RemoveSpell(VampireStrength02)		;Player.AddSpell(VampireStrength03, abVerbose = False)		Player.RemoveSpell(VampireSunDamage01)		Player.RemoveSpell(VampireSunDamage02)		Player.AddSpell(VampireSunDamage03, abVerbose = False)				;Player.AddSpell(VampireHuntersSight)		;Player.AddSpell(VampireCloak)	ElseIf VampireStage == 4		VampireTransformIncreaseISMD.applyCrossFade(2.0)		utility.wait(2.0)		imageSpaceModifier.removeCrossFade()		Player.RemoveSpell(AbVampire01)		Player.RemoveSpell(AbVampire02)		Player.RemoveSpell(AbVampire03)		Player.RemoveSpell(AbVampire01b)		Player.RemoveSpell(AbVampire02b)		Player.RemoveSpell(AbVampire03b)		Player.AddSpell(AbVampire04, abVerbose = False)		Player.AddSpell(AbVampire04b, abVerbose = False)		Player.AddSpell(VampireDrain04, abVerbose = False)				Player.AddSpell(KALVampireServant75, abVerbose = False)		;check to see if player has power equipped and switch them out		If Player.GetEquippedSpell(0) == VampireDrain03 || Player.GetEquippedSpell(0) == VampireDrain02 || Player.GetEquippedSpell(0) == VampireDrain01			Player.EquipSpell(VampireDrain04, 0)				Player.GetEquippedSpell(0) == KALVampireServant50 || Player.GetEquippedSpell(0) == KALVampireServant25 || Player.GetEquippedSpell(0) == KALVampireServant0			Player.EquipSpell(KALVampireServant75, 0)		EndIf						If Player.GetEquippedSpell(1) == VampireDrain03 || Player.GetEquippedSpell(1) == VampireDrain02 || Player.GetEquippedSpell(1) == VampireDrain01			Player.EquipSpell(VampireDrain04, 1)			Player.GetEquippedSpell(1) == KALVampireServant50 || Player.GetEquippedSpell(1) == KALVampireServant25 || Player.GetEquippedSpell(1) == KALVampireServant0			Player.EquipSpell(KALVampireServant75, 1)		EndIf		Player.RemoveSpell(VampireDrain01)		Player.RemoveSpell(VampireDrain02)		Player.RemoveSpell(VampireDrain03)						Player.RemoveSpell(KALVampireServant0)		Player.RemoveSpell(KALVampireServant25)		Player.RemoveSpell(KALVampireServant50)		;Player.RemoveSpell(VampireStrength01)		;Player.RemoveSpell(VampireStrength02)		;Player.RemoveSpell(VampireStrength03)		;Player.AddSpell(VampireStrength04, abVerbose = False)		Player.RemoveSpell(VampireSunDamage01)		Player.RemoveSpell(VampireSunDamage02)		Player.RemoveSpell(VampireSunDamage03)		Player.AddSpell(VampireSunDamage04, abVerbose = False)				Player.AddSpell(VampireInvisibilityPC)				ElseIf VampireStage == 1		Player.AddSpell(ABVampireSkills, abVerbose = False)		Player.AddSpell(ABVampireSkills02, abVerbose = False)		Player.RemoveSpell(AbVampire04)		Player.RemoveSpell(AbVampire02)		Player.RemoveSpell(AbVampire03)		Player.RemoveSpell(AbVampire04b)		Player.RemoveSpell(AbVampire02b)		Player.RemoveSpell(AbVampire03b)		Player.AddSpell(AbVampire01, abVerbose = False)		Player.AddSpell(AbVampire01b, abVerbose = False)				Player.AddSpell(VampireDrain01, abVerbose = False)		Player.AddSpell(KALVampireServant0, abVerbose = False)		;check to see if player has power equipped and switch them out		If Player.GetEquippedSpell(0) == VampireDrain03 || Player.GetEquippedSpell(0) == VampireDrain04 || Player.GetEquippedSpell(0) == VampireDrain02			Player.EquipSpell(VampireDrain01, 0)			Player.GetEquippedSpell(0) == KALVampireServant75 || Player.GetEquippedSpell(0) == KALVampireServant50 || Player.GetEquippedSpell(0) == KALVampireServant25			Player.EquipSpell(KALVampireServant0, 0)		EndIf				If Player.GetEquippedSpell(1) == VampireDrain03 || Player.GetEquippedSpell(1) == VampireDrain04 || Player.GetEquippedSpell(1) == VampireDrain02			Player.EquipSpell(VampireDrain01, 1)			Player.GetEquippedSpell(1) == KALVampireServant75 || Player.GetEquippedSpell(1) == KALVampireServant50 || Player.GetEquippedSpell(1) == KALVampireServant25			Player.EquipSpell(KALVampireServant0, 1)		EndIf		Player.RemoveSpell(VampireDrain04)		Player.RemoveSpell(VampireDrain02)		Player.RemoveSpell(VampireDrain03)				Player.RemoveSpell(KALVampireServant75)		Player.RemoveSpell(KALVampireServant25)		Player.RemoveSpell(KALVampireServant50)		;Player.RemoveSpell(VampireStrength04)		;Player.RemoveSpell(VampireStrength02)		;Player.RemoveSpell(VampireStrength03)		;Player.AddSpell(VampireStrength01, abVerbose = False)		Player.RemoveSpell(VampireSunDamage04)		Player.RemoveSpell(VampireSunDamage02)		Player.RemoveSpell(VampireSunDamage03)		Player.AddSpell(VampireSunDamage01, abVerbose = False)				Player.RemoveSpell(VampireCharm)		;Player.RemoveSpell(VampireCloak)		Player.RemoveSpell(VampireInvisibilityPC)		EndIfEndFunctionFunction VampireCure(Actor Player)		Game.IncrementStat( "Vampirism Cures" )	;Stop tracking the Feed Timer	UnregisterforUpdateGameTime()	VampireStatus = 0	;Player is no longer hated	Player.RemoveFromFaction(VampirePCFaction)	Player.SetAttackActorOnSight(False)		;Remove all abilities	Player.RemoveSpell(ABVampireSkills)	Player.RemoveSpell(ABVampireSkills02)		Player.RemoveSpell(AbVampire01)	Player.RemoveSpell(AbVampire02)	Player.RemoveSpell(AbVampire03)	Player.RemoveSpell(AbVampire04)	Player.RemoveSpell(AbVampire01b)	Player.RemoveSpell(AbVampire02b)	Player.RemoveSpell(AbVampire03b)	Player.RemoveSpell(AbVampire04b)	Player.RemoveSpell(VampireDrain01)	Player.RemoveSpell(VampireDrain02)	Player.RemoveSpell(VampireDrain03)	Player.RemoveSpell(VampireDrain04)	Player.RemoveSpell(KALVampireServant0)	Player.RemoveSpell(KALVampireServant25)	Player.RemoveSpell(KALVampireServant50)	Player.RemoveSpell(KALVampireServant75)	;Player.RemoveSpell(VampireStrength01)	;Player.RemoveSpell(VampireStrength02)	;Player.RemoveSpell(VampireStrength03)	;Player.RemoveSpell(VampireStrength04)	Player.RemoveSpell(VampireSunDamage01)	Player.RemoveSpell(VampireSunDamage02)	Player.RemoveSpell(VampireSunDamage03)	Player.RemoveSpell(VampireSunDamage04)		Player.RemoveSpell(VampireCharm)	;Player.RemoveSpell(VampireCloak)	Player.RemoveSpell(VampireInvisibilityPC)			;Change player's race, defaults to Nord	if (Player.GetRace() == ArgonianRaceVampire)		Player.SetRace(ArgonianRace)	elseif (Player.GetRace() == BretonRaceVampire)		Player.SetRace(BretonRace)	elseif (Player.GetRace() == DarkElfRaceVampire)		Player.SetRace(DarkElfRace)	elseif (Player.GetRace() == HighELfRaceVampire)		Player.SetRace(HighElfRace)	elseif (Player.GetRace() == ImperialRaceVampire)		Player.SetRace(ImperialRace)	elseif (Player.GetRace() == KhajiitRaceVampire)		Player.SetRace(KhajiitRace)	elseif (Player.GetRace() == NordRaceVampire)		Player.SetRace(NordRace)	elseif (Player.GetRace() == OrcRaceVampire)		Player.SetRace(OrcRace)	elseif (Player.GetRace() == RedguardRaceVampire)		Player.SetRace(RedguardRace)	elseif (Player.GetRace() == WoodElfRaceVampire)		Player.SetRace(WoodElfRace)	endif	;Set the Global for stat tracking	PlayerIsVampire.SetValue(0)		;make sure Hunter's Sight is gone	Player.RemoveSpell(VampireHuntersSight)	EndFunctionSpell Property AbVampire01 AutoSpell Property AbVampire02 AutoSpell Property AbVampire03 AutoSpell Property AbVampire04 AutoSpell Property AbVampire01b AutoSpell Property AbVampire02b AutoSpell Property AbVampire03b AutoSpell Property AbVampire04b AutoSpell Property VampireDrain01 AutoSpell Property VampireDrain02 AutoSpell Property VampireDrain03 AutoSpell Property VampireDrain04 AutoSpell Property KALVampireServant0 AutoSpell Property KALVampireServant25 AutoSpell Property KALVampireServant50 AutoSpell Property KALVampireServant75 AutoSpell Property VampireStrength01 AutoSpell Property VampireStrength02 AutoSpell Property VampireStrength03 AutoSpell Property VampireStrength04 AutoSpell Property VampireSunDamage01 AutoSpell Property VampireSunDamage02 AutoSpell Property VampireSunDamage03 AutoSpell Property VampireSunDamage04 AutoSpell Property VampireHuntersSight AutoSpell Property VampireCharm AutoSpell Property VampireCloak AutoSpell Property VampireInvisibilityPC AutoSpell Property VampireCureDisease AutoSpell Property ABVampireSkills AutoSpell Property ABVampireSkills02 AutoSpell Property DiseasePorphyricHemophelia AutoGlobalVariable Property PlayerIsVampire  Auto  Sound  Property MagVampireTransform01  Auto  Spell Property DiseaseAtaxia autoSpell Property DiseaseBoneBreakFever AutoSpell Property DiseaseBrainRot AutoSpell Property DiseaseRattles AutoSpell Property DiseaseRockjoint autoSpell Property DiseaseWitbane AutoMessage Property VampireStage4Message AutoQuest Property VC01 AutoFormList Property CrimeFactions  Auto
User avatar
Mari martnez Martinez
 
Posts: 3500
Joined: Sat Aug 11, 2007 9:39 am


Return to V - Skyrim