Jump to content

Requesting Assistance: Scripting Vampire Attributes


Magic Muffin

Recommended Posts

I tried out the Aundae in Cyrodiil mod by Peter and AlienSlof, I liked some of the ideas that they used, but disliked the chores and frequency of said chores that needed to be done to in order to avoid penalties, and furthermore wanted my character to look more like a monster (so yes, I wanted to keep the default aging and facial morphing)

 

One of the things I liked about the Aundae in Cyrodiil mod was this:

 

"Galerion compatibility - scripted attributes, skills as ability

Attributes will be shown as green, so you can increase them above 100. Skills will not be shown in green, so you get the perks but cannot increase them above 100."

 

So I figured I would attempt to copy that into a miniature .esp that I would make myself. Unfortunately it isn't as easy as I thought it would be.

 

player.ModAV strength 20

player.ModAV willpower 20

player.ModAV speed 20

 

were the script commands to be used to boost attributes, so I took those, and looked at the KT Vampire Hunter's Sight Mod that scripts the hunter's sight into a toggle-able ability depending on the usage of the hunter's sight lesser power:

 

Scriptname KTVampSightScript

 

short targetMagicka

ref casterRef

 

Begin ScriptEffectStart

 

If ( player.IsSpellTarget KTVampireHuntersSight == 0 )

player.addSpell KTVampireHuntersSight

else

set casterRef to Player.PlaceAtMe KTMagickaReplenisher 1, 0, 1

casterRef.MoveTo Player 0, 0, 128

casterRef.Cast KTVH5Magicka Player

casterRef.disable

RemoveSpell KTVampireHuntersSight

endif

 

End

 

What I figured I'd do is add scripted effect to the Vampire(25/50/75/100)Att abilities similar to that used with the Hunter Sight

 

scn Vampire25Attributes

 

Begin ScriptEffectStart

 

If ( player.IsSpellTarget Vampire25att == 1 )

player.ModAV strength 5

player.ModAV willpower 5

player.ModAV speed 5

else

player.ModAV strength -5

player.ModAV willpower -5

player.ModAV speed -5

endif

 

End

 

What I hoped it would do is that if I had 25% vampirism, It would increase my stats by 5. At 50%, increase by 10, etc etc, and when one was removed (by aging into another phase, or drinking blood and reverting back to 25%), it would undo the stat boost so it doesn't stack up to 255.

 

Yet it doesn't work: there is no stat change good or bad, and therefore I'm at a loss as to what to do. (This is the first time I've really fiddled with scripts and such)

 

Just for a test, I modified the KT vampire hunter's sight mod to add / remove the stats whenever hunter's sight lesser power was used and that worked fine (not what I want though, since it required hunter's sight to be active to have the boost, and didn't scale with phase)

Link to comment
Share on other sites

My question is, have you ever tried modding before? Because I don't see why it wouldn't work, as long as you attached your script to a spell and then cast that spell... (I do have reservations about using ModAV instead of ModAV2 though.)

 

Also, why would you add these bonuses to vampires when they already have it as default?

Link to comment
Share on other sites

My question is, have you ever tried modding before? Because I don't see why it wouldn't work, as long as you attached your script to a spell and then cast that spell... (I do have reservations about using ModAV instead of ModAV2 though.)

 

Also, why would you add these bonuses to vampires when they already have it as default?

 

I haven't modded anything other than fiddling with spells to add to vendors and other minor junk.

 

The way the default attribute bonuses work, is that if you have vampirism, and you hit 100 (80 base + 20 from vampirism) in a stat with 100% vampirism, you cannot increase the stat any further. Thus when you cure yourself of vampirism, you'll revert back to the base of 80 in that stat. With the scripted stats, once you hit 100 (80 base + 20 from vampirism) with a stat as 100% vampirism you will still be able to go beyond that: 81 base + 20 from vampirism etc etc all the way to 120 (100 base + 20 from vampirism).

 

The script does not seem to activate if the script is added to the 'ability' spell "Vampire25att", but does activate on normal spells, powers, and greater powers (stuff your character casts). the problem with that is it allows you to cast the spell multiple times, thus you can just keep giving yourself +5/10/15/20 all the way up to 255, which is of course cheating.

Link to comment
Share on other sites

I see... I'm not too familiar with which blocks actually run for abilities (it doesn't act the same as for spells). So I'm not sure how you can modify the script to affect that. If it was me, I would instead try to control the player's attributes through a quest script.

 

 

scriptname example

short vamp

Begin GameMode

if (vamp == 25) && (player.IsSpellTarget Vampire25Att == 0)
player.ModAV2 Speed -5
player.ModAV2 Strength -5
player.ModAV2 Willpower -5
set vamp to 0
Return
elseif (vamp == 50) && (player.IsSpellTarget Vampire50Att == 0)
player.ModAV2 Speed -10
player.ModAV2 Strength -10
player.ModAV2 Willpower -10
set vamp to 0
Return
elseif (vamp == 75) && (player.IsSpellTarget Vampire75Att == 0)
player.ModAV2 Speed -15
player.ModAV2 Strength -15
player.ModAV2 Willpower -15
set vamp to 0
Return
elseif (vamp == 100) && (player.IsSpellTarget Vampire100Att == 0)
player.ModAV2 Speed -20
player.ModAV2 Strength -20
player.ModAV2 Willpower -20
set vamp to 0
Return
endif

if (vamp == 0)
if (player.IsSpellTarget Vampire25Att)
	player.ModAV2 Speed 5
	player.ModAV2 Strength 5
	player.ModAV2 Willpower 5
	set vamp to 25
elseif (player.IsSpellTarget Vampire50Att)
	player.ModAV2 Speed 10
	player.ModAV2 Strength 10
	player.ModAV2 Willpower 10
	set vamp to 50
elseif (player.IsSpellTarget Vampire75Att)
	player.ModAV2 Speed 15
	player.ModAV2 Strength 15
	player.ModAV2 Willpower 15
	set vamp to 75
elseif (player.IsSpellTarget Vampire100Att)
	player.ModAV2 Speed 20
	player.ModAV2 Strength 20
	player.ModAV2 Willpower 20
	set vamp to 100
else
	Return
endif
endif

END

 

 

EDIT: After thinking about it a bit, you probably do want to stick to using ModAV instead of ModAV2 to achieve the effect you're looking for.

Edited by fg109
Link to comment
Share on other sites

ModAV2 is an OBSE function.

 

To implement the quest script, just create a new quest. Name it anything you want and make sure that "Start Game Enabled" is checked. Then just attach the script to the quest. Probably a good idea to make the priority at least 50 (although I think that's only relevant if you have quest dialogue).

Link to comment
Share on other sites

In my short period of testing, (mostly in the "testvampireinterior" area) the script that you have provided to me works very well (It takes about 2 or 3 seconds for it to register changes in vampire phases, where it will revert the stats back to their base (due to the removal of vampire attributes 'ability') and then buff the stats according to the newly attained vampire attributes 'ability'. priority set to 50).

 

Thus I must thank you for walking me through the steps of scripting the vampire attributes.

 

Base Stats

 

 

http://img696.imageshack.us/img696/658/basestats.jpg

 

 

Base Abilities

 

 

http://img192.imageshack.us/img192/8974/baseabilities.jpg

 

 

Vanilla Oblivion Vampire 25% Stats

 

 

http://img197.imageshack.us/img197/6670/oblivion201104241844166.jpg

 

 

Vanilla Oblivion Vampire 25% Abilities

 

 

http://img191.imageshack.us/img191/7951/oblivion201104241844350.jpg

 

 

Vanilla Oblivion Vampire 100% Stats

 

 

http://img855.imageshack.us/img855/2338/oblivion201104241851487.jpg

 

 

Vanilla Oblivion Vampire 100% Abilities

 

 

http://img26.imageshack.us/img26/3558/oblivion201104241852035.jpg

 

 

Scripted Vampire 25% Stats

 

 

http://img694.imageshack.us/img694/8008/oblivion201104241858103.jpg

 

 

Scripted Vampire 25% Abilities

 

 

http://img840.imageshack.us/img840/9022/oblivion201104241858184.jpg

 

 

Scripted Vampire 75% Stats

 

 

Scripted Vampire 100% Stats

 

 

http://img849.imageshack.us/img849/2338/oblivion201104241916058.jpg

 

 

Scripted Vampire 100% Abilities

 

 

http://img98.imageshack.us/img98/457/oblivion201104241916095.jpg

 

 

 

I could also potentially see this being used to script the attribute bonuses gained from Birth Signs

Edited by Magic Muffin
Link to comment
Share on other sites

I could also potentially see this being used to script the attribute bonuses gained from Birth Signs

 

Trying to do just that, I modified the script you provided me for the Scripted Vampire Attributes, and came up with this:

 

 

scn ScriptedBirthSignsScript

Begin GameMode

if (player.IsSpellTarget BSLadyBlessing == 1)
player.ModAV Willpower 10
player.ModAV Endurance 10
elseif (player.IsSpellTarget BSMage == 1)
player.ModAV Willpower 10
elseif (player.IsSpellTarget BSSerpentWisdom == 1)
player.ModAV Willpower 10
elseif (player.IsSpellTarget BSShadowStep == 1)
player.ModAV Agility 10
elseif (player.IsSpellTarget BSSteed == 1)
player.ModAV Speed 20
elseif (player.IsSpellTarget BSThief == 1)
player.ModAV Agility 10
player.ModAV Speed 10
elseif (player.IsSpellTarget BSWarrior == 1)
player.ModAV Strength 10
player.ModAV Endurance 10
endif

end

 

 

and it works to a degree. Unfortunately, the quest or the quest script does something to where it will reapply itself every few seconds.

 

So take for example: I load a saved character with, say, The Warrior birth sign. I would have the character's base stats in Strength and Endurance (so if it's a female wood elf, I have 30 strength and 30 endurance) along with the +10 to Strength and Endurance in green 'buff' text from the script. However, every few seconds it will add an additional +10 Strength and Endurance. This occurs non stop, and even appears to go past 255 (when I closed out of Oblivion, said character had 550 Strength and Endurance).

Link to comment
Share on other sites

  • Recently Browsing   0 members

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