So, first, I was actually intending to move on from your game by now. However... you released that hotfix, and I got curious if those things actually had gotten fixed, (and I wanted to promote your handiwork in itchio's algorithm while the release was still new.) Curiosity lead to a revelation, revelations lead to the application of the scientific method, the scientific method means experimentation, experimentation lead to test results, multiple different kinds of test results meant I got data, data was analyzed, the analysis was compared to my initial revelation, and I got new revelations, and had another thing to experiment with.
What does that mean in non-poetic language?
ok, through a bunch of deliberate testing, like, several hours worth all because I had been REALLY wanting to see if it actually did get fixed in the newest hotfix, IT WAS NOT, and then I made it my personal mission to try to identify how the glitch actually works. That being said, I have managed to prove that the, "you can end up in a situation where you straight up can no longer get transformed for any reason" bug is reproduceable, can be deliberately set up by the player, and can be exploited by the player to have a run last indefinitely!
(So buckle up, because it's actually rather complicated, but hopefully, you will be able to reproduce it yourself with this walkthrough! Hopefully, being able to replicate it yourself will allow you to FEEL the root of the problem.)
Context: Remember how I commented that I had a habit of using "reduce curse" on myself several times in a row as soon as I would get a level up? Well, aas it turns out, that is part of the problem. I also had developed a habit of being sparing with my MP whenever I started transforming. like, I would see the first or second TF notification, and use reduce curse twice, then wait a bit to see if the transformation's 'story' would continue. (This was just me trying to avoid wasting a point on inspect self.) This much, I imagine that other players got into similar habits and strategies, but as it turns out, this is actually setting up a weak version of the glitch! However, and I know other people HAVE pointed this out to you, we all assumed it was an intentional design choice at the time. I realize now that it is not.
Step 0. Its easier to pull off and see with the two MP upgrades purchased, but it can also be done without. I suggest that you have them bought for sake of argument. Then start a new game.
Step 1. DON'T DO ANYTHING WHEN THE FIRST FLOOR LOADS! instead, the first thing you should do is open your spell menu and spend all of your MP on Reduce Curse. Seems like a waste? Don't worry about it, just do it!
Step 2. Now that you have lost all of your mana and have not let a single turn in game pass, play the game like normal.
Step 3. As you explore the first and maybe second floor, you might start to notice that despite all the bunnies and mice you are fighting, a TF hasn't started. You might notice that you can even die to a cat at least a couple times, and you wont get transformed from death at all. You remain human for way longer than you otherwise should be able too. But... eventually, you will start changing into a cat.
Step 4. once you start transforming finally, feel free to cast Reduce Curse once or twice, (assuming you have leveled up at least once by now). Whatever you do, make sure that you do NOT actually cure yourself. Allow the cat to remain a part of you.
Step 5. Continue playing the game for a bit, letting the story of the transformation play out.
Step 6. Once the story has finished, but before you get a game over, first double check (if desired) that every last body part says "Definitely transformed into a cat".
Step 7. Now, Let's get to exploiting, shall we? Ensure that you have a good supply of mana. As we are still on the lower floors, waiting for your next level is easy enough to do. once you have a good amount, regardless of where you got the MP, Ask yourself, "do I want to play the next few floors as a defacto human, or play with all the attributes of the cat?" Let's go with human, as it is a bit easier to pull off.
Step 8. open the spell menu, and cast Reduce Curse multiple times. as we are a cat, you should see your vision radius decline with every cast. when doing this, Do NOT cure yourself. Make sure that you are able to have casted the spell many times since you have first started transforming, but also make sure that your inspect self still claims that all your body parts are still a cat's.
Step 9. Now that you are "basically" human with trace amounts of cat across your body, congratulations. You just broke the game. You will notice that as you play, your transformation seems to be progressing VERY slowly, if at all, and nothing, not even DEATH, will change you further. If you do think you are still changing, such as your vision radius slowly growing or getting the cat's attribute modifiers, repeat steps 7 and 8. Eventually, and by that I mean pretty quickly, you will be an anthro cat functionally immune to transformation all together. Neither time, taking damage, dyeing, or being hungry can stop you. If you are a bit more careful with this set up, you can also use this to end up as a fully feral cat that is simply not allowed to get their game over screen. Though, obviously, this is a bit more risky.
Step 10. Have fun!
Step 11. You progress down a few more floors and die to a higher priority enemy. You might notice that one! single! death! by snake caused you to not only loose your "cat armor", but instantly transformed you by like 80%, and gave you the entire transformations story all at once. Don't worry. This is just what happens when the glitch is broken. No matter, you can set the glitch up again immediately with the snake right then and there!
Step infinity. I think you can see the implications of this glitch by now. Most obviously, as bats have the highest priority, you can set this glitch up as a fully transformed bat, and pretty much be able to do whatever you please from that point onwards. You have the power of flight and being able to use weapons and wont get any transformation progress from death, starveing, combat, biome, or time. Now you can easily get a super high floor count and the game ultimately can't stop you! Want to play the game as a pikachu? set this glitch as a fully transformed mouse and don't leave the first couple floors. Want to envision what playing the game with the Wolf's Bane will look like? Grab an Iron Sword, a Wolf, and use the glitch to make yourself functionally human while the game says your body is completely wolf-like.
With this one glitch, EVERY LAST MECHANIC IN YOUR GAME CAN BE EXPLOITED BY PROXY!!!
So, now that we know how to set the glitch up and understand how to exploit it to our own personal gain, now we need to figure out what is actually happening here.
Obviously, the guilty party here is the spell, Reduce Curse. But, how is that possible?
What I suspect is that you intended your game to have you swapping species constantly. I'm sure you assumed that players would usually be trying to make themselves fully human whenever they can, or using reduce curse to stay mostly transformed until they had to stop, or lost. The problem is that this glitch behaves in a manner that enables the exact opposite: Embracing a transformation to keep you functionally immune from transformation entirely.
Weather you had intended it too or not, how Reduce Curse seems to work in practice is that it actually reduces the speed at which your current transformation occurs, in addition to partially curing you of your present transformation. However, with that comes multiple concurrent oversights:
Oversight 1. reduce curse stacks! Whatever transform speed multiplier the spell applies to you, it gets reapplied for every single application of the spell, meaning that after only a few casts, your current transformation has the effects of several reduce curses on it, PERMENANTLY.
Oversight 2. The speed multiplier basically never gets removed. As far as I can interpolate based on my testing, the only things that clear the effects of reduce curse are getting 'infected' by a species of higher priority, or fully curing yourself. as either of those are what remove all stacks of reduce curse, those are the only ways the glitch can be broken.
Oversight 3. Exploits the TF priority hierarchy. Part of what makes this glitch work as well as it does, is that you are rendered invulnerable from being transformed from all enemies with lower or equal TF priority than you while the glitch is set up. I think this also proves that the priority system also needs to be revaluated in it's own right, as under the current rules, there's little penalty for dyeing to a mouse or bunny while a cat, and so on. I would recommend either replacing it with a more robust system, or consider looking to oversight 4 for inspiration.
Oversight 4. An explosive side effect. Whenever the glitch is successfully broken, for whatever reason but in a way that admittedly does feel very fitting, the higher priority enemy that killed you will somehow do A COLLOSSAL AMOUNT OF TRANSFORMATION to you! While researching the glitch today, there was one instance where I had been setting the glitch up with a snake, I got blindsided by the very first bat to spawn that run, and I got the bat ending right then and there! Let me remind you, I had not even seen a bat up to that point, and had the glitch fully set up as a fully transformed snake. One attack, I died, GAME OVER. What you maybe could do with this secondary effect of the glitch is consider having it so that dyeing to an enemy of lower priority will have MUCH higher transformation effect like this? I would think that would be cool.
So I hope, that with all that being said, you agree with me when I say the best solution to fix this glitch is to go through with your total overhaul of your transformation system altogether. I don't think preventing reduce curse from stacking will do anything, and I think, in its current state, could actually have the opposite issue, where it becomes rather useless.
After all of my testing, I have been suddenly itching to... maybe use my little experience that I do have to write you some pseudo-code that could give you a mock up of what the system I suggested the other day could look like? (I learned a bit of C++ for Aduino and Octave/mathlab for college, and it's very basic. Plus, my code base learned was FAR more numerical in nature, and surely looks very different from C# on unity.) I can't do it today, I don't have any more time. If you don't want me to, that's fair. Just ask, and I will see what I can come up with
Hopefully, this is enough testing for you to figure out how to un-break the game. Have a good day, bye!