Jump to content

Magic effect reverse engineering


Stealth21

Recommended Posts

  On 3/12/2021 at 4:00 PM, qwertyasdfgh said:

For the first question, use "ModPCMiscStat 10 1" command.

Thanks, good to know.

  On 3/12/2021 at 4:00 PM, qwertyasdfgh said:

#2 appears to be an actual bug in the game. It can be fixed with a script though, I'll include the fix in an update of one of my mods.

I am an owner of the one of the first DVDs released with that game, and I decided to make the additions to the "Unofficial Oblivion Patch" with some fixes (mostly orphography) and novations (like upgrade this and that item if it has a more powerful self type in the Oblivion.esm, for example, MG12AmuletX) while playing now, just for myself though. Can you, please, share that script with me if you don't mind that it is your intellectual property?)

Edited by Stealth21
Link to comment
Share on other sites

I have it somewhere as well as I did preordered the Special Edition with the septim coin and all other stuff that came with it. I do think I got it in the mailbox at the release date.

Link to comment
Share on other sites

  On 3/13/2021 at 12:52 PM, qwertyasdfgh said:

Is DVD version of the game somehow different? I used it for a long time, but switched to GOG now.

Well... it is not. But it has an English voices (I do not like the translated, the englishmans were ensounding the characters with more expression than the translators) and a translated text I just used to. In GOG version there is an ability to play with an original English voices as well, but when I tried to play that, there are places when the voices are translated too (maybe they were because of the Unofficial Oblivion Patch though...)

 

  On 3/13/2021 at 12:52 PM, qwertyasdfgh said:

Anyway, I have posted an update, featuring the aforementioned fix. You're welcome to take a look at how it's done (script is pretty simple, but it requires OBSE and MenuQue).

Yes, I thought that the fix could be an alternative menu. Good job. However, for me that is unacceptable, because I would like to not include the dependences such as MenuQue in this case.

Edited by Stealth21
Link to comment
Share on other sites

  • 2 months later...

Alright. Skipping the rewritting the STRP magic effect hardcoded script, I decided to create a spell with an idea as to capture NPCs into the white grand soulgem. I met the next problems while doing it:

1. There are setting variables with the text inside them. For example, I need sSoulCaptured. How to print it's text with the "Message" function? It always was a problem for me to find the info about the things with the percent such as %.0f for the floats/shorts/ints and etc for non-OBSE types of functions Message and MessageBox. To this moment, I am using an alternative way with GetStringGameSetting function, but is it have to be realized in this way?

 

2. The visual effect when the soul is successfully captured is unique. I would like to it be played using some function like "PlayMagicEffectVisuals DSPL", but comparing to the example code I provided, the visuals of it are almost same but with a purple whirl. But I need it without the whirl. Is it some way possible to trigger those visuals to be played? For the answer, I would like to get an exact command.

 

3. The most difficult question of the three here as I think. That spell can be interact not only between Player<->NPC but in this way NPC<->NPC too, so if a caster NPC have the empty grand soulgem and he/she successfully captured some target NPC's soul, that soulgem will be filled. Currently, the situation is if a multiple NPCs casted that spell to one person and that person becomes dead - all those caster NPCs will get their empty grand soulgems filled.

When the spell is applied to the target, that target will have the activeeffect from that spell.

So, the question is how to check that there is an activeeffect with an exact script was already casted to NPC? It is not GetNthActiveEffectCode because the target can have some another activeeffect with a script magic effect. I need that that activeeffect with a certain script be removed in case when the target was hit with the spell which will provide the same activeeffect.

-----------------------------------------------------------------------------------

Nothing was solved:

#1 Leaved as I described.

#2 Used STRP magic effect's visuals when the NPC affected with that spell is died and the soul of that NPC was captured (spell caster' have the grand empty soulgem which is filled with a grand soul as a result). Those visuals are the dark purple whirl (which is different comparing to the visuals from the soul capturing analogy).

#3 A workaround was thought out.

 

But that spell is ready. When the NPC is affected with that spell, it becomes look like a ghost but with less transparency. If NPC was a ghost from the beggining, that ghost NPC will be not affected with that part of the spell's script code which changes the transparency and applies the ghost shader effect visuals. Not only the player can catch the souls with that spell but also the NPCs can too. Casting that spell from the different casters will result that the only active effect from the last caster will exist (to avoid that all of the casters will catch the soul of that NPC). When soul is captured (the caster had the empty Azura's Star or an empty grand soulgem) through that spell, the visuals from the STRP magic effect will appear, the empty Azura's Star or the empty grand soulgem (the owner is also thought out, so you will not 'privatize' the stolen soulgem after that spell) would be filled with the grand soul, and if target NPC was not a ghost from the beginning, the spell's ghost effect visuals will disappear. If when soul was captured by the player, it's "souls captured" stat will raise to 1. Like the original soul trap behaviour, the spell can be dispelled, so for the right work of the spell's ghost visuals disappearing, it is thought out whenever the spell is survived from the dispel magic effect. So I think I foresee everything)

  Reveal hidden contents

 

 

  Reveal hidden contents

 

Edited by Stealth21
Link to comment
Share on other sites

  • Recently Browsing   0 members

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