Jump to content

[LE] lingering magicka damage on summon


Recommended Posts

i can not for the life of me get the lingering magicka damage effect to work on a summon can someone please tell me (before i lose my mind) what im doing wrong? i wanna put the effect on my flaming wolf summon so my characters magicka drains as long as the summon is out but cant get it working, been at it for over a week.

Edited by haMRJha
Link to comment
Share on other sites

Not sure if this will work for you, but i have a mod which applies a lingering damage (health, magicka, and stamina) to the player. It simply uses Value Modifier to each Actor Value (in your case, it's magicka) and the magic effect is flagged with Detrimental. Basically, you can try to copy the effect from vanilla lingering damage Magic Effects (from vanilla poisons) and set the Actor Value with magicka. Then set the duration with the same duration of your spell.

 

I also think that they way you cast this effect will determine whether it will work or not. I mean, if you simply add this Magic Effect into your flaming wolf summon spell, i don't think it will work because the spell is not targeted to yourself (summoning spell targeted to anywhere your face your cursor in the game).

 

So, try to use a script to cast the lingering damage spell to the player whenever you cast the summoning spell. You can probably do it either by using a referencealias to the player, or by using vanilla script "magicCastAnotherSpell" (if i'm not mistaken; can't remember the exact name, but try to look for this script in vanilla game) which is attached to the magic effect of your summoning spell. Remember to put the correct variable when using "magicCastAnotherSpell" script so that the effect will be correctly casted toward you (the player).

Link to comment
Share on other sites

Thanks for your reply. Unfortunately Ive never done scripting so no idea how to even start doing that. Ive looked into it but couldn't find any step by step guides. I have been told its prob far easier just to write a script that tacks the lingering magicka damage onto the player before but again no idea how to do that. I'm actually very surprised no one on the nexues has done this effect in a magicka overhaul mod or at all before unless I missed it.
Link to comment
Share on other sites

I think a script would be the best option. You could put the script on your Summon spell's magic effect, that would also cast a lingering damage spell on the caster. I would make your own lingering damage spell, with it's own unique magic effect, and have the duration be the same as your summon. The script would look like this:

 

 

 

Scriptname MySummonScript extends ActiveMagicEffect 


Spell Property MyMagicDamageSpell Auto 


Event OnEffectStart(Actor akTarget, Actor akCaster)
    MyMagicDamageSpell.cast(akCaster, akCaster) ;caster of the summon spell also casts magic damage on themself
EndEvent

 

 

 

 

I would name the script something more unique though. Don't forget to fill properties after attaching the script in the CK.

Link to comment
Share on other sites

Thanks for your reply. Unfortunately Ive never done scripting so no idea how to even start doing that. Ive looked into it but couldn't find any step by step guides. I have been told its prob far easier just to write a script that tacks the lingering magicka damage onto the player before but again no idea how to do that. I'm actually very surprised no one on the nexues has done this effect in a magicka overhaul mod or at all before unless I missed it.

*Cough* To be honest, i've done it already, but with a different approach and only for my personal use. It's yet to be tested properly though, so i won't release it yet until i can make sure that it works properly without issues.

 

But let's back to your question here. I was actually just like you, never done scripting previously. But my will to make my own mods prevails, and it "forced" me to learn Papyrus. Guess what? It wasn't that hard. What you need to do is to have a good app to write codes (i personally use Notepad++) and a basic Papyrus understanding if it's just a simple script. And fortunately, what you're asking is pretty simple in terms of scripting.

 

As what @dylbill has wrote above, you can try to put the lingering damage magicka effect/MGEF into its own spell, then make the script to cast it whenever you cast your summon familiar spell. In other words, attach it into your summon familiar's magic effect/MGEF.

 

I'll add another event into the script tough, so it will be like this:

 

 

Scriptname MySummonScript extends ActiveMagicEffect 


Spell Property MyMagicDamageSpell Auto 


Event OnEffectStart(Actor akTarget, Actor akCaster)
    MyMagicDamageSpell.cast(akCaster, akCaster) ;caster of the summon spell also casts magic damage on themself
EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster)
    akCaster.dispelSpell(MyMagicDamageSpell)  ;to make sure the spell is dispelled when your summon spell has ended
EndEvent

 

 

 

I'll try to explain about how to link your script with the plugin (your .esp), step by step:

 

1. Make lingering damage magicka effect (just copy from vanilla lingering damage magicka poison), then add it into its own spell, then put the duration with the same duration with your summon familiar spell. If your summon familiar spell has a half-cost perk, then also add the same perk into your lingering damage magicka spell. Save the plugin, and let's call it "MySummonSpell.esp" (just for example).

 

2. Copy the code above (ie. Scriptname bla bla bla... until EndEvent, inside the spoiler) into Notepad++. Save the file as "MySummonScript.psc" (the extension is ".psc", always remember it).

 

3. Open MySummonSpell.esp in TES5Edit (you know it already, right?), then open the lingering damage magicka MGEF. There's a line named "VMAD-Virtual Machine Adapter", right click on it and click "Add". It will give you an empty space to put your script.

 

4. Now, inside the empty space, write the name of the script by "MySummonScript", then add a new property (right click on an empty line below the script name, or another line below it). Write the name of the property by "MyMagicDamageSpell", then click the line right below the property name, change it to "Object". It will add another empy line with NULL record (means that you need to fill it yourself). Now, fill the NULL record with your lingering damage magicka spell formID (just copy and paste). Save the plugin and exit TES5Edit.

 

5. Put your MySummonScript.psc file into your Skyrim/data/scripts/source folder, then compile it using CK or other application such as this. I personally compile my scripts using Notepad++ because it's faster than CK and i rarely compile multiple scripts at once, but it needs a bit more setup which you can find here.

 

6. If the script has successfully been compiled, you'll get the .pex file of the script (ie. "MySummonScript.pex"). Put it inside scripts folder in your Skyrim, or if you're using a mod organizer then put it inside the data/scripts folder of your mod.

 

7. You should good to go. Test it in the game and see if it works.

 

 

 

I'm not an expert yet, so my explanation might not be perfect.

 

Edit:

I found this mod https://www.nexusmods.com/skyrim/mods/10335/

This mod seems to be similar to what you want to achieve. But it seems to modify vanilla conjuration spells and perks, so it's probably not compatible with other mods, especially mods which overhaul vanilla perks such as Ordinator.

Edited by qwertypol012
Link to comment
Share on other sites

Hey Qwerty, your idea to put the DispelSpell function on OnEffectFinish is a good idea, but you don't need to go through so many steps for attaching scripts. The way I do it is, first compile your script. I prefer to use Skyrim Script Compiler Pro Final: https://www.nexusmods.com/skyrim/mods/100956 because there is no extra setup needed, and it has a lot of features which make scripting easier for Skyrim. So, first write you script and compile it. Make sure your properties in your script are the same exact name as in the creation kit. Then, in the CK add your script to whatever it's extending, in this case the Summon Magic Effect. After adding, click on the properties button and then click on Auto - Fill All. If your properties in your script are named the same as in the CK, they will be automatically set to the correct properties. Then click OK and save your ESP and you should be good to go.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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