chaosvolt / cdda-arcana-mod

Arcana and Magic Items mod for Cataclysm: Dark Days Ahead
Other
163 stars 62 forks source link

Arcana "spells" not retaining level #82

Closed Ignaramico closed 5 years ago

Ignaramico commented 5 years ago

After getting the mutation of might (and its spell) i gave my self the exp needed to reach it to lv10. it did level correctly (its duration increased and the fatigue needed decreased) but after quiting and the. loading the game, the spell got reset to lv1, whereas the magiclysm spells dont have that problem.

chaosvolt commented 5 years ago

Wh-that's...odd? How is that happening...

chaosvolt commented 5 years ago

I'll need to ask @korggent whether they know of a possible cause there, and if the fix is something that needs to happen on my end, or if it's (my first suspicion here) a bug with spells learned from mutations...

KorGgenT commented 5 years ago

as he said, the magiclysm spells do not have that problem. do some testing and get back to me.

chaosvolt commented 5 years ago

Alright, will do the test with might first, will start by trying to grind its level up in case debugging it was somehow the cause...

chaosvolt commented 5 years ago

Okay, started by leveling Magic Sign: Agility to level 2 after getting it in Seeker of The Arcane, saving, then loading...yeah, it's resetting to level 1.

As far as I can tell, the only APPARENT cause is that "spells_learned": [ [ "spell_name_goes_here", 1 ] ] in a mutation is causing it to override the level gains whenever the game is loaded. I'm going to see if debugging in all spells and leveling them that way (thus not gaining the trait) works right, that'll confirm my spell JSON is involved.

KorGgenT commented 5 years ago

all right i was going to point to an example in magiclysm, but i realized they're professions, not mutations. i'm doing something right now but will do some mutation testing myself eventually.

chaosvolt commented 5 years ago

The professions are technically implemented via traits and their runes are granted that way, but they start out at the only level they can gain and thus wouldn't be subject to this bug.

So I tested with debugging in all spells and raising Arcane Blessing: Agility to 20, saved, then loaded. Sure enough yeah, it retained its level. :<

For one final test I rolled another fresh character, debugged in a restored ritual blade, and got to work spamming it until one of the Signs had advanced to the second rank. Then I debugged all the spells involved to level 20, saved, and loaded.

I have Sign of Alteration II (grants Conjure Lightburst), Sign of Augmentation II (grants Clairvoyance), Sign of Destruction I (Confuse Monster) and Sign of Summoning I (Summon Skeletal Dog).

Sure enough, all of those spells had leveled back down to 1 after this. Might and Conjure Shadow Field, the other Alteration and Augmentation spells gained in the process, remained at level 20 because the mutations that granted them had been upgraded away.

stonks

KorGgenT commented 5 years ago

but they start out at the only level they can gain and thus wouldn't be subject to this bug.

that's not remotely close to true, as you'd have seen if you clicked the link.

anyway, so the bug is what? that you get the mutation, and then it grants you the spell, and you level it and it reverts to the level the mutation grants it at? all right

chaosvolt commented 5 years ago

that's not remotely close to true, as you'd have seen if you clicked the link.

Ah right, I see what you mean. I was talking about how the rune mutations are learned the same way, for example see here: https://github.com/CleverRaven/Cataclysm-DDA/blob/master/data/mods/Magiclysm/traits/classes.json#L12

anyway, so the bug is what? that you get the mutation, and then it grants you the spell, and you level it and it reverts to the level the mutation grants it at? all right

Yep, it seems that gaining a spell via mutation overrides levels gained for it, triggered by loading the save. Seems that the reason this doesn't show up in Magiclysm is because the only spells there that're gained from mutations start off at level 1 and have a maximum level of 1.

I have no idea if there's a way to set it so that spells-from-mutations don't break without also breaking the feature where a spell can be set to be dependant on a mutation, but this is beyond my ability to solve... ._.

Ignaramico commented 5 years ago

Wouldnt it work if you only reached the post threshold mutation after getting all the spells. then when you gain the mutation paragon of the veil, "upgrade" all signs to another level (or just change the name) but with them giving you nothing, so the reset can be avoided like with the might and conjure shadow field and be able to level them up.

chaosvolt commented 5 years ago

Until the signs are maxed out, all in-progress PoTV characters will be subject to this bug at any moment. This is also unavoidable for Dragonblood, as well as for any spells gained by pattern scrolls, and for chargen spells bought with trait points.

Of all those, the Purifier's Capatiance and the Summoner's shadow spells could be unhooked from traits now and given as profession spells, and pattern scrolls could be unhooked from mutation hacks via being made to work like spellbooks (I still have yet to test what happens if you read spellbooks when the spellcraft skill doesn't technically exist in a world), but most other spells in arcana won't be able to get around needing to use mutations.

KorGgenT commented 5 years ago

this issue is fixed now.

chaosvolt commented 5 years ago

I saw, thank you for that. ❤️