Jump to content

Request for more useful, but not overpowered illusion.


amycus

Recommended Posts

Hi there. Illusion has always been one of my favorites in the TES games, but one glaring problem I have had with it is that it is only useful when the enemy is lv x or lower, and assuming that he is, it quickly goes from useless to overpowered.

 

WHat I therefore would like to request is to do away with the whole "frenzies/calms enemies at level x or lower", with "has x % chance to affect the target". That is, REGARDLESS whether the target is lv 1 or 50. And the chance for this should be dependant on your skill level, while the kind of spell only affects the area.

 

That way when you first start out with only a skill of say, 15, and you have the novice spell for frenzy, it only has 15% chance to affect the target. So to affect a signle enemy you would have to recast the spell several times until it finally works. Once you have a higher tier spell with a larger area you will find a lot more use of it at a lower skill level, because if you throw a spell in an area that contains 10 enemies, then it is likely that at least ONE will be affected even with just 15 %.

Link to comment
Share on other sites

well, the mod idea itself seems easy enough. what you could do is set the magnitude of all the effects to something like 999, then attach a script to the illusion effects along the lines of this:

Scriptname skillChanceDispel extends activemagiceffect  

event oneffectstart(actor akTarget,actor akCaster)
    float rand=Utility.RandomFloat(0.0,100.0)
    float skill=caster.GetActorValue(self.GetAssociatedSkill())
    if(rand>(100.0-skill));at skill of 100, rand will never be higher. at 10, spells are pretty much useless.
        Dispel()
    endif
endevent

keep in mind that if you spam spells like calm on enemies they turn hostile...

also, this script doesn't have a cap on the chance to fail. we could juggle math to make it start at 30% chance at 0, then increase to 100% at 100 skill, though. I actually have a formula along those lines somewhere...

Link to comment
Share on other sites

You can do this with a global value that updates when the player skill increases and a conditional function on the magic effect. That way you wouldn't have to put a script on the spell.

I do it this way for a few reasons...

1) I'm modifying the spells anyways. adding more stuff is more work that's unnecessary.

2) I don't need a quest script running. to work, it would have to use polling events. I don't want the person to have to stop a quest for something, and polling events are more memory-heavy.

3) the script, as is, can be removed with zero effort and zero consequence, provided the effects are not currently active on anything nearby. quests with polling events are notorious for getting stuck >.>

4) Since there's a limit on how often a spell can be cast...this also limits how much memory is used up.

5) CS conditions are notoriously inflexible.

Link to comment
Share on other sites

Also since the script needed for my method is ridiculously simple, I would argue it is actually much less work.

 

Basically all you need is a quest that is triggered by player level up that updates a global variable and stops immediately thereafter. It will run for all of a second, if that.

Link to comment
Share on other sites

I see what you're pointing at now...I hadn't noticed the "skill increase" event in the quest event dropdown. player levelup is a no-go, however, because it's not accurate enough. given this, your method could work. I'd be complaining that it wouldn't work for NPCs, if not for the fact that NPCs don't actually use illusion spells...at least as far as I can remember. I might make a mod along these lines just to see it work...it's rather interesting as a concept.

Link to comment
Share on other sites

Add one perk entry that sets magnitude of spells with fear, frenzy, or calm keywords to 0.

 

Add another entry with a lower priority that sets magnitude of spells with fear, frenzy, or calm keywords to 999 if a random integer is less than the global variable.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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