Jump to content

Changing Standing Stone Effects to Passive Abilities?


Aithlyra

Recommended Posts

Hello! I was wondering if anyone might be able to advise me on a way to change what the standing stones do. I have modified the stone's abilities and things like spells before but I am much less certain when it comes to scripts...

What I would like to do is have the stones confer a small passive benefit which increases in power with each found.

Something like each stone, when it is first activated, granting a 1% decrease to mana costs or a point of magic resistance and armour or something like that. If it can be done though I would like to set it up so that these just add one ability to be listed rather than 13 separate bonus of 1%.
Also if it is possible I would really like to have a bonus offered for finding all of them?

If that cannot be done then maybe there is a way to add a quest or something so that finding each stone on its own does nothing but upon touching each of them an ability is granted?

These sorts of things I am not experienced at all with though so I am hoping somebody might be able to give me advice or instructions on how to crate this sort of thing.

 

Link to comment
Share on other sites

You could probably make a Global variable, put a script on each standing stone to increase that Global variable by one and set a value to prevent that standing stone from increasing the Global again, make a magic effect to do what you want(ie magicka cost reduction etc.), then throw that on your one single ability 13 times, set their magnitudes and put a condition on each of those 13 magic effects based on the value of the Global variable.

That's how I would do it anyways. There's probably a way to do it with scripting and SKSE to calculate the magnitude for you, but I'm unsure.

Standing Stone script below:

Actor Property PlayerRef Auto

Bool ShouldIncreaseGlobal = TRUE

GlobalVariable Property StandingStoneCount Auto

Event Onactivate(ObjectReference akActivator)
     If akActivator == PlayerRef && ShouldIncreaseGlobal == TRUE
          StandingStoneCount.SetValue(StandingStoneCount.GetValue() + 1.0)
          ShouldIncreaseGlobal = False
     Else
          ;Do Nothing, player has already used this Stone
     EndIf
EndEvent
Edited by Fantafaust
Link to comment
Share on other sites

I see! I am so glad to know that such a things is possible!
I fear that perhaps this all might be a little beyond my ability though, I am going to keep trying to learn the scripting though...

 

Would a quest that needs the player to touch all the stones and then gives a one time ability reward be easier to handle than this?

And it may be easier to set the ability to a nice even value that way as well...

 

Whatever the case thank you so much for your help! I understand the type of scripting needed quite a bit better now at least!

Edited by Aithlyra
Link to comment
Share on other sites

  • Recently Browsing   0 members

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