Jump to content

So what does TrapSoul actually do?


Sukid

Recommended Posts

So according to the Creation Kit Wiki calling trapsoul() on an actor will trigger a soul trap, then if they die I should be able to harvest its soul. That doesn't seem to be working though.

Every example I've seen uses TrapSoul in an if statement, like it was checking if there was a successful soul trap rather than actually triggering one.

 

I have attempted changing it into an if statement but it still didn't apply the soul trap at all. What am I missing here? Just ignore the elseifs. It doesn't seem to work even when I'm in the same cell as the creature.

 

 

Scriptname SE_ImbueSoulGem2 extends ActiveMagicEffect
 
Actor Property GrandAvatar Auto
Actor Property GreaterAvatar Auto
Actor Property CommonAvatar Auto
Actor Property LesserAvatar Auto
Actor Property PettyAvatar Auto
    
SoulGem Property SoulGemPetty  Auto  
SoulGem Property SoulGemLesser  Auto  
SoulGem Property SoulGemCommon  Auto  
SoulGem Property SoulGemGreater  Auto  
SoulGem Property SoulGemGrand  Auto
 
EVENT OnEffectStart(Actor akTarget, Actor caster)
    if caster.getItemCount(SoulGemGrand) > 0
caster.TrapSoul(GrandAvatar)
GrandAvatar.Kill(caster)
Debug.Notification("Grand Ether Inbued")
    
elseif caster.getItemCount(SoulGemGreater) > 0
        ; greater
Debug.Notification("Greater Ether Imbued!")
    elseif caster.getItemCount(SoulGemCommon) > 0
        ; common
Debug.Notification("Common Ether Imbued!")
    elseif caster.getItemCount(SoulGemLesser) > 0
        ; lesser
Debug.Notification("Lesser Ether Imbued!")
 
    elseif caster.getItemCount(SoulGemPetty) > 0
        ; petty
Debug.Notification("Petty Ether Imbued!")
    
    else
        ; no fillable gems
Debug.Notification("Something went wrong.")
    endif
endEVENT
Link to comment
Share on other sites

trapsoul is a bool on the actor script. This is why it is used in if statements. If it is true the soul is captured, if it is false the soul is not captured.

http://www.creationkit.com/TrapSoul_-_Actor

 

It is almost always true (in my experience) provided the actor died while the soul trap effect is active.

 

Not sure what you are trying to accomplish. Your script seems to indicate that you want the soul to be captured and then the actor killed. Won't work that way at all. The actor has to die during the magic effect's time frame.

 

You could fake a soul trap by doing all the visual and audio effects, have the one actor kill the other, then give the appropriate filled gem while taking the same size empty gem away.

Link to comment
Share on other sites

The spell, in the end, is supposed to be one that charges a soul gem at the cost of a special potion. Storywise you're supposed to be charging the potion with your magicka to get it to flow into the gem.

 

What I'm trying to get this to do is soul trap an offscreen actor in order to do a genuine soul trap so this works with Azura's Star. I think I did this a bit dumb since I found another thread with somebody trying to do the same thing but they used an invisible creature placed at him during the spell instead of one hidden in a different cell. Still, when I do change it into an if statement it just doesn't work at all, with the message and it dying being dependent on it working.

Link to comment
Share on other sites

My Soul Gem Enhancements mod customizes the original soul trap effect script. It's based loosely on Acquisitive Soul Gems. At any rate, the specific TrapSoul remains a bool but is removed from the if statement. You are welcome to look and see how that works (less so about the TrapSoul and more so about how to split up the soul gems so only the proper ones get filled).

 

You should try the invisible creature trick that you mentioned as normal soul trapping events take place in sight and/or close proximity to the player.

Edited by IsharaMeradin
Link to comment
Share on other sites

Thank you very much. :D Having a look through that. Seeing how you use it and your explanation has given me a better idea of what I need to do here. Liking that mod btw, I normally use Smart Souls but I think I'll give that a try, that penalty seems so simple but it definitely makes you more careful...

 

I'm not overly concerned with making sure the gems fit the correct souls as I'm going to try to make sure you only imbue lower-level Ether if you only have lower level gems, though I may be splitting those into separate spells...

Link to comment
Share on other sites

  • Recently Browsing   0 members

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