KittenAqua/TrainworksModdingTools

Is this project repository abandoned?

Closed this issue · 2 comments

Hello, from the looks of things here, is this repository abandoned? If so, I would like to request contributor access or passing maintainership to make changes.

I appreciate the work done so far, and modding wouldn't be as nice if Trainworks did not exist. However, more work must be done to make this a pleasant experience for people who follow. I understand the people maintaining/contributing to this repo may be busy with other things. I'm just tossing my hat into the ring to improve things.

The following items lead me to believe this repository isn't actively maintained.

  1. 3 PRs from 2020 that are still active
  2. No new issues since 2021
  3. Last commit in 2021
  4. An unfinished tutorial in the wiki
  5. Last release doesn't include the latest commits (missing the Unit Synthesis stuff).

I did a simple PR #144 to start fixing some issues. However, I closed it when someone informed me in the MT discord that this repo may be abandoned.
In terms of this repo, while I appreciate the effort put into this, I found many issues with developing mods using this library.

  1. Many new Parameters were added in The Last Divinity DLC. Examples are ParamCharacterDataPool in CardEffectData, StarterCardUpgrade, and RandomDraftEnhancerPool in ClassData.
  2. A few questionable design choices led to me spending more time than needed debugging.
    a. For instance, reusing Builders across CardUpdates when constructing CardUpgradeTreeData led to CardEffects being built multiple times. Due to how it's designed, calling Build mutates the Builder's state leading to weird issues like effects playing multiple times or multiple triggers appearing on your units/cards.
    b. Many Effect Builders have a ***Type and ***Name property (ex. CardEffectDataBuilders EffectStateType and EffectStateName). It's unclear when to use which or why they both must exist and be accessible. I see mods setting both simultaneously, whereas in the codebase setting, ***Type sets ***Name, and ***Name is used to set the field.
    c. CardDataBuilder incorrectly sets any CardTraitData's paramCardData to the Card being built. If you need the Card, the CardTrait is tied to, CardTraitState has a field associatedCard accessible through GetCard().

With all that said, I have a fork with many changes, fixing the above and more, and I kept my changes in a new namespace so as not to break compatibility with existing mods and this repo. A well-documented list of changes I've made over the existing codebase can be found here

I've scanned the list of issues; my fork fixes the following issues from this repo #143, #135, #134, #130, #129, #100 (possibly), and #85.

It would be great if I could integrate my changes here to keep things contained in one modding library for MT, and there are modders with a lot of other fixes, notably ThreeFishes's UnitSynthesisFix patch, which should also be present in this library.

And again, my apologies if this comes off as too blunt/direct; I understand that the maintainers of this repo may be busy with other stuff as this is an open-source project. I have public repositories with a few outstanding outside contribution PRs myself.

Looking over, I'm happy to integrate this into the repo (though I will have to review it more properly for completeness sake)

I do not have ability to add contributors on this repo - Kitten Aqua, if you see this, would you be able to add them?

resolved.