Jump to content

Remove All Spells, can be done?


Recommended Posts

So, done the basic RemoveAllitems script but I want the player to be completely powerless in my mod. No magic at all in this mod. Did a little reading and 'heard' that the player's base spells can't be removed - don't believe this, so what do I add to my script so that player is completely naked, pennyless and powerless?

Thank.... YOU.

 

 

ObjectReference Property PlyrChest Auto

Event OnTriggerEnter(ObjectReference akActionRef)
If akActionRef == Game.GetPlayer()
akActionRef.RemoveAllItems(PlyrChest)
EndIf
Endevent

 

Link to comment
Share on other sites

You can't remove Flames and Healing because they are assigned to the player in the CK directly. There are some mods change that, but you shouldn't count on it and if you add that feature to your mod it will introduce incompatibilities. Depending on what other mods are involved there might also be racial powers and spells that you can't block either.

 

A fairly effective strategy is simply to apply a perk or spell effect drains the player of magicka and/or increases the cost of spell casting so much that it's not possible. (And remember to drain or increase costs enough to compensate for any bonuses the player might have. 100% drain won't do much good if the player has an effect that doubles base magicka. But then there are the spells/powers that don't cost any magicka and spells or effects provided by abilities or perks.

 

Basically there's no way to guarantee the player doesn't have access to some powerful effects. So I would go with draining magicka and upping spell costs as part of a special perk, use "DispelAllSpells()" and just not worry too much about whatever is leftover.

Link to comment
Share on other sites

So...

Game.GetPlayer().DispelAllSpells()

...according to Wiki will "dispel all spells affecting this actor with the exception of Abilities, Diseases, worn or constant effect enchantments, or addictions"

It won't actually remove any spells learnt, am I correct?

I'm going with the spell route to drain player's magicka, what percentage, and can I go higher than 100% would be needed to completely render the player "Magic-less"?

Thanks for the advice.

Link to comment
Share on other sites

Another way to go is to :

"RegisterForAnimationEvent" and make some sort of curse that whenever the player goes to cast a spell it'll STAGGER him (making it a very realistic approach), plus you can even make the curse to be apply to the player only in the cells you want and allowing him to use his spells and play the game the way she/he likes it.


This way you won't be messing with things that might cause incompatibilities with other mods (CTDs).


You have to take in account that exists players that have characters that only use magic, for them this will be a very annoying thing to the point of uninstall mod after 5 min.


* I'm one of those players that only use magic, for me playing an entire mod without magic is no fun...
Link to comment
Share on other sites

Magic will come into use much later in the main quest(s).

I'm curious, how to make a 'curse' which staggers player when magicka is attempting to be cast. Enlighten me a.k.a. show me.

I hope some other modder can come to aid you in this.
I'm currently totally and literally choked with so many stuff to do at work, no free time left !.
Plus i don't remember by heart the exact code, and creating and posting a script on the go will only cause you problems and frustration in trying to make it work. Sorry....
I can think three different ways you can do this, but the most common would be to apply to the player an "Active Effect", but all this depends on how you want the "Curse" to be apply.
Link to comment
Share on other sites

So you want to prevent magic of any kind, thereby also meaning they can't even cast a spell? You could probably do something really nasty like..

 

 

Event OnSpellCast(Form akSpell)
    if (akSpell as Spell)
        (GetReference() as Actor).InterruptCast()
    endif
EndEvent

 

The above needs to be on a player alias.

Link to comment
Share on other sites

  • 2 months later...

Finally got around to doing this. Need some help please.

So the approach I am using is a quest, which starts at the beginning of the mod. When player attempts to cast ANY kind of magic/spell... well I haven't decided the consequence yet.

All I have managed so far is a couple of functions in the quest script which check if the player is going to cast. What value will be returned if the player attempts a cast? What do I need to check for so that I can stop the cast? How do I stop the cast?

Thanks.

 

Actor Property PlayerREF Auto

Function UpdateRHcast()
RegisterForAnimationEvent(PlayerREF, " BeginCastRight")
EndFunction
;-----------------------------------------------------------------------------------
Function UpdateLHcast()
RegisterForAnimationEvent(PlayerREF, " BeginCastLeft")
EndFunction

 

Edit - Typo

Link to comment
Share on other sites

  • Recently Browsing   0 members

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