Shadeybladey Posted December 31, 2020 Share Posted December 31, 2020 (edited) I renamed Soul Gems so they sort alphabetically and by "power". So I renamed Petty Soul GemLesser Soul GemCommon Soul GemGreater Soul GemGrand Soul Gem to Soul Gem - FeebleSoul Gem - LesserSoul Gem - NormalSoul Gem - SuperiorSoul Gem - Supreme For the unfilled Soul gems, this works fine. But when they are filled they show the strength of the Soul in them, but still use the Vanilla names. Normally, they would be Grand Soul Gem (Grand) to show there is a Grand Soul in the Gem. I wanted it to be Soul Gem - Supreme (Supreme), but it displays as Soul Gem - Feeble (Petty)Soul Gem - Lesser (Petty or Lesser)Soul Gem - Normal (any up to Common)Soul Gem - Superior (any up to Greater)Soul Gem - Supreme (any up to Grand) I cannot for the life of me work out where this data is stored (please don't say it's Hard-Coded)! Each SLGM form in the CK has a drop-down list for the Strength of the Soul and Capacity of the Gem https://www.flickr.com/photos/shadowblade001/50782889601/in/dateposted-public/lightbox/ But I cannot find what these drop-downs are pointing to so I can't edit them. Any help will be most gratefully accepted! Cheers! :D Edit Changed Ultimate to Supreme as I changed my Mod. Edited January 1, 2021 by Shadeybladey Link to comment Share on other sites More sharing options...
HeirOfTheSeptims Posted December 31, 2020 Share Posted December 31, 2020 Did you rename the filled versions, and make sure the "linked to" selection was still filled in on the empty ones? Link to comment Share on other sites More sharing options...
Shadeybladey Posted December 31, 2020 Author Share Posted December 31, 2020 Yes, I did the unfilled and filled versions, but as I recall there was no "linked to", they were blank in vanilla. I'll check. But the issue is the drop down lists for Soul and Capacity. Cheers Link to comment Share on other sites More sharing options...
Shadeybladey Posted December 31, 2020 Author Share Posted December 31, 2020 ...and make sure the "linked to" selection was still filled in on the empty ones? Hi, I checked and that seems to have nothing to do with it. The "Linked To" is NONE in Vanilla, in the Unoffiicial Patches and so in my mod. I need to find the source of the drop-down lists for Petty, Lesser, Common, Greater and Grand in SOUL and CAPACITY, and "Linked To" seems not to be it. I fear it may be buried in scripts and maybe every creature, critter, monster and NPC with a SOUL has it's own marker for the strength of the Soul? That would be a pain to go through, but not totally undoable, but I cannot find any reference anywhere to the Strength of Souls and Capacity of Gems. Cheers! :( Link to comment Share on other sites More sharing options...
maxarturo Posted December 31, 2020 Share Posted December 31, 2020 (edited) The 'Soul Trap' function and archetype is hard coded, when the archetype fires it will look and fill the corresponding 'Soul Gem' that is in its hard coded list, that each soul is define by the level of the actor, exept from humanoids that it will always fill a black soul. The only way to do this is, is by faking it through scripting, by monitoring which and what soul gem gets filled and then remove the soul gem and add your version of it, one function that can help you with that is: bool Function TrapSoul(Actor akTarget) native https://www.creationkit.com/index.php?title=TrapSoul_-_Actor But this requires a combination of scripted functions to get it to work correctly. There is no way to make your version of soul gems to be recognised by the archetype or to add your level of souls into the game. Happy new year. Edited December 31, 2020 by maxarturo Link to comment Share on other sites More sharing options...
Shadeybladey Posted January 1, 2021 Author Share Posted January 1, 2021 (edited) The 'Soul Trap' function and archetype is hard coded, when the archetype fires it will look and fill the corresponding 'Soul Gem' that is in its hard coded list NOOOOOOOOOOOO!! :sad: :sad: :sad: I KNEW it! WHY do they have things hard-coded? I had some experience of scripting back in the day, but I was only really any good at editing existing scripts or copying and changing them. The main thing I learned when I was making mods was to make: new alchemy INGR (I made a Dwemer Grinder that can make, say, Iron Ore into Iron Dust, Horker Tusk into Ground Horker Tusk etc);new potions based on some in Daggerfall, Morrowind and Oblivion (EG a Toxin of Soul Trap for weapons for those without the spell skill);Books on Alchemy that teach you the recipes and ingredient effects involved;Scripts for stealing certain books that required them to be in Inventory before they taught you the ingredient effects; you could buy it from the Alchemist, Apothecary or Herbalist or steal it, but you could not learn them by looking and putting it back - the stolen manuscript version had to be stolen and taken away first;ALCH for Potions;MGEF for the potions;COBJ for new recipes for weapons and New INGR from Old;New weapons, items, ingredients and using nifs and dds with 3rd party toolsEditing Perk Trees and adding new perks;Dead NPCs at the road side carrying books and letters;Books and Letters scripted to start a Quest to find the knowledge to make stuff in my mods;New weapons scripted to grant a bonus perk to damage undead and lycanthropes, for silver and mithril weapons Once I learned how to do something, I reused it! One cool spell, Moonlight, is based on Magelight and causes Undead to stop and look at the light, and I got a lot of help from people here with the scripts for that. But that was like 7 or 8 years ago. I forgot 90% of what is even in my mods, let alone how I did it! Are you capable of writing such a script? I'll study that link but I would greatly appreciate any help. And would such a script put any strain on the engine or system? Cheers! :D PS, when you say "each soul is define by the level of the actor", it is not possible to have level 81 Skeevers with Grand Souls in them, seeing as the game world levels with you? Thanks! [Edited for tyop] Edited January 1, 2021 by Shadeybladey Link to comment Share on other sites More sharing options...
Shadeybladey Posted January 1, 2021 Author Share Posted January 1, 2021 The thought just occured... I am using JaxonzRenamer.esp, which lets me rename things like potions, enchanted items etc. Might it be possible to use similar scripts to automatically rename a Soul Gem once it is filled? So the script would look in Inventory for: Soul Gem - Supreme (Grand) and rename it to Soul Gem - Supreme (Supreme) That might be simpler than monitoring the Soul Trap spell/potion firing and forcing a new name at the point of death and gem-filling? Cheers! :D Link to comment Share on other sites More sharing options...
dylbill Posted January 1, 2021 Share Posted January 1, 2021 Try Acquisitive Soul Gems: https://www.nexusmods.com/skyrim/mods/5312 I believe it only uses the Empty and Filled soul gems from the creation kit, and get's rid of the ones that soul trap creates. For renaming, you can use SetDisplayName: https://www.creationkit.com/index.php?title=SetDisplayName_-_ObjectReference. But the problem with that is, in order to do that the soul gem can't be in a container because object reference lose their reference while in a container. You would have to drop it with the script, rename it, then add it back to the inventory. Link to comment Share on other sites More sharing options...
Shadeybladey Posted January 1, 2021 Author Share Posted January 1, 2021 Cheers, I did a search through Nexus Skyrm for Soul Gems earlier and I came across Acquisitive Soul Gems. And it seems that on May 27, 2013, I downloaded Smart Souls. I do recall having one that stopped lower souls entering higher gems at some point, but it's not in my Data file now! :smile: One issue may be that my Alchemy mod uses my Dwemer Grinder to turn unfilled Soul Gems and Soul Fragments into Dust of Soul Gem as a new alchemy ingredient for potions. I don't want too many conflicting/similar mods, which is why I don't use the excellent CACO, although I use several of kryptopyr's other mods. I like the idea of Mysticism - The Lost Art. That is partly what my Alchemy mod does, recreates ingredients and effects from previous TES games for new potions. One of my Books is called Thaumaturgical Tinctures, and another Ancient Lost Alchemy, for learning some effects of new ingredients, plus some fluff talking about the changes in the schools of magick since the Great Cataclysm and how Alchemy mimics some magickal schools etc. I also mapped out an Alchemy Guild Mod for Daggerfall using DFUnity. I can already make Absorb, Detect, Dispel, Reflect and Silence Potions/Poisons, although I have Detect Life rather than Soul Scry. If only I could make a Potion, Spell and Item to Open Locks, instead of just Fortify Lockpicking! And Levitate is another I am trying to make! But the problem with that is, in order to do that the soul gem can't be in a container because object reference lose their reference while in a container. You would have to drop it with the script, rename it, then add it back to the inventory. That's what I was told about JaxonzRenamer.esp, but it seems to work in inventory, but not always. And the newly named ones do not stack, which is not a problem. I had a bunch of Poison of Paralysis potions which also damaged Health, so now they are called Poison of Paralytic Health Damage. Your SetDisplayName: link doesn't work, I'd be most grateful if you could fix it. :D Cheers, thanks so much for helping! I'll take a look at those mods in more detail. :D Link to comment Share on other sites More sharing options...
maxarturo Posted January 1, 2021 Share Posted January 1, 2021 An alternative. You can create a quest and have the player on 'Alias', then run on the player: Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) Each time a 'Filled Soul Gem' is added to the player's inventory your script will do the switch, but this approach has the disadvantage that it will fire even if the player pick up a soul gem from the world. But then again you can use it in combination with: bool Function TrapSoul(Actor akTarget) native To ensure that only filled soul gem by the game will fire your scripted function. Before you ask me, how exactly could you script this, i've to say that it's just a draft idea in my head and right now i can't think clearly cause yesterday i drunk too much wine... and i'm still dizzy... Link to comment Share on other sites More sharing options...
Recommended Posts