Giter Club home page Giter Club logo

enchantmentframework's People

Contributors

egocarib avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

enchantmentframework's Issues

TODO: test serialization

Have been focusing on other stuff, but need to test the new serialization setup to ensure things are still working on subsequent reloads.

Base Enchantment Detection

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)

Multiple Enchantment Effects

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).

Conditionalizing player-made enchantments

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.