egocarib / enchantmentframework Goto Github PK
View Code? Open in Web Editor NEWSKSE Plugin for Skyrim
SKSE Plugin for Skyrim
I realized the current method I'm using to detect base enchantments won't work when the user combines more than one enchantment onto a weapon. The new created effect's MagicItem::EffectItem list won't match any existing base enchantment.
This isn't a huge deal, since it's only used for applying conditions to the new enchantment, not for any of the "important" bugfix stuff, but the conditionalizing won't work for multi-enchanted items until I come up with a new way of finding base enchantments.
This seems like it would require scaleform listening to the user's actual interaction with the menu itself (case-in-point: fire damage + soul trap Versus fiery soul trap), which is probably beyond the scope of this project (maybe for enchanting awakened, though, when I integrate this fix into it -- since I'm already going to be injecting a menu swf for other purposes in that project)
Have been focusing on other stuff, but need to test the new serialization setup to ensure things are still working on subsequent reloads.
As Gruftlord reported on the nexus, enchantments with more than one effect will only have their first effect scaled when the player makes an enchantment using them. The main example is Chaos Damage -- since only its Shock damage actually gets increased at the enchanting table, the Fire and Frost effects stay at their base magnitude of 10.
This might be fixable for chaos damage specifically, though trying to fix it for every enchantment would be tricky, mainly because of the complexities introduced by multiple enchantments on a single item, as discussed in #1 -- I wouldn't know whether effect 2 was a secondary effect added from the Extra Effect perk or if it was a secondary effect of a single enchantment (as in the case of fiery soul trap/chaos damage/etc), so it would be hard to know whether to scale it or not.
The other thing to keep in mind is that I wouldn't want to fix effects whose magnitudes are included in enchantment descriptions, since it would be confusing to see them at one magnitude while enchanting, and then changed afterward (Chaos damage only shows the strength of the shock enchantment, which is the one that changes).
I tried a new method of re-applying conditions to player-enchanted items today (versus the old method I had tried originally) but the game still crashed on reload. This time I waited until after the save load to apply them, but the outcome was still the same.
These applied conditions (which I copy from the base/parent enchantments) always work fine until reload, at which point the game crashes (e.g. if the player dies, and the game tries to reload the last save, it crashes). The game must rebuild the condition table or somehow invalidate condition pointers during each soft load, I can't figure out how to work around it.
The super weird thing is that this works fine whenever I apply conditions to a new player-crafted enchantment right when it's first crafted. The conditions stick on the enchantment for the rest of the play session, through as many reloads as the player makes.
This made me suspect I had just done the serialization_load condition application wrong in the old version, but after completely rewriting it for the new framework and still running into the same bug I'm pretty stumped. It would be great to solve this issue someday, but it's not looking very promising right now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.