Jump to content

[Mod Help] Random Thrice-Fold Effect


Blake81

Recommended Posts

Since the moment I stumbled upon the Silent Moons enchant, I've been trying to create a mod that makes it cooler. Because, I mean, why should an unique Enchantment with an interesting background be just a dumbed down version of the Fire Damage Enchantment? And a bugged one at that! (IMHO, maybe this Enchantment was meant to be cooler, or even have a quest related to it, but as usual Bethesda got lazy as usual and made the programmers half-ass it for the deadline.)

 

So, I have been trying to give that Enchantment the awesomeness it should have, and I tried to do so by giving it a wholy unique effect which I call the Lunar Insanity. (I know, I know, I play a bit too much Touhou, heh)

 

The LI works the following way:

 

If the target is under a certain level (This value is modified by the quality of the enchanment), it will be either Charmed, Frenzied or Fear (In that order) depending on random chance and/or it's resistance to such Ailment.

 

First, there's a 20% chance of the target being Charmed, and if that fails/is resisted there's a 30% chance of the target being Frenzied, and that were to fail/be resisted as well, the target will suffer Fear instead, unless it has resistance to it as well.

 

.......Yet, I simply can't put a script for this together. I tried looking at Wabbjack's script, as it works with random effects, thinking it could give me some clues of what to do, but it has simply not worked.

 

So, I was wondering if there's any way to do this without employing Papyrus scripts, or if anyone knows how should I do to put this stuff together? Thanks in advance for the help.

Link to comment
Share on other sites

W- what is "charmed" spell at first? Is it Calm, you mean?

 

Unfortunately, I only know how to approach this with scripts. So let's take this:

 

1. Create the copy of Calm Spell, but set the cost to 0. Name this "CalmEff"

2. Create the copy of Frenzy Spell, but set the cost to 0. Name this "FrenzyEff"

3. Create the copy of Fear spell, but set the cost to 0. Name this "FearEff"

 

Uh, just for reminder, actually you can name the spells above or anything as you like.

Okay, let's return to discussion ->

 

4. Create a Magic Effect, for now let's called it "UdongesLunaticEyes"

5. Create an Enchantment, named "UdongeEnch". Give it effect as above.

6. Then add this script to the MagEff that's just we created on step 4:

 

 

scriptname UdongeUdongeUdonge extends Activemagiceffect
{actually you can name your script as you like lol, mine's just for joke}
 
Spell Property CalmEff Auto
Spell Property FrenzyEff Auto
Spell Property FearEff Auto
 
Event OnEffectStart(Actor akTarget, Actor akCaster)
    int chance
    actor caster = akCaster
    actor target = akTarget

    chance = utility.RandomInt(1, 100)
    if (chance == 1 && chance <= 20)
    ;debug.notification("Calm effect applied")  
        CalmEff.Cast(caster, target)
    elseif chance == 21 && chance <= 50
    ;debug.notification("Frenzy effect applied")
        FrenzyEff.Cast(caster, target)
    elseif chance >= 51
    ;debug.notification("Fear effect applied")
        FearEff.Cast(caster, target)
    endif
EndEvent

EndFunction
Tips:

i. Sets the property as the spellname that you've just been created on 1~3. It'll saves your time for searching the spell from dropdown menu.

ii. Notification is just for testing purpose, so you'll get that result. You can delete it if you wish. Because, anything behind ";" is a comment. My own way, for the precise reason.

iii. I've set the "cast" from the user of the weapon to the target so you'll get notification "target is too powerful for the effect". You can get this notif lost to set it <spell>.Cast(akTarget, akTarget)

 

 

7. Create the weapon, give it the UdongeEnch for the Enchantment. Add some keywords if you want to.

8. Happy testing!

 

Correct me if I messed above ~(._.)~

Edited by Avanzchel
Link to comment
Share on other sites

  • Recently Browsing   0 members

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