Romhacking => ROM Hacking Discussion => Topic started by: nesssnightmare on January 23, 2022, 12:38:11 pm

Title: Secret of Evermore: Changing weapon/alchemy growth
Post by: nesssnightmare on January 23, 2022, 12:38:11 pm
Hello all,

I have little to no knowledge with this sort of thing but I would like to edit Secret of Evermore for SNES so that the weapon and alchemy growth rates are faster. One of the least enjoyable parts of this game is grinding weapon levels only to have that same weapon replaced and have to start over an hour or two later.

I know there is a patch that the weapons have been modified to be faster but it also changes the alchemy growth rates slower and changes some of their effects.

I see multiple resources for save state editing but nothing for editing the rom image itself.

Any help?
Title: Re: Secret of Evermore: Changing weapon/alchemy growth
Post by: FAST6191 on January 23, 2022, 01:02:10 pm
If there are existing cheats/save state edit (same thing really) listings out there then that will save you a step.

Games have many ways of doing growth rates -- sometimes it is an equation (can be complicated if the devs are worried about those quadratic wizards), sometimes it is a prebaked table, sometimes it is random within a range.

Anyway as this is essentially an experience modifier you can approach it much like that. Whether there is some kind of condition for exp boosts like we sometimes abuse in conventional experience here I don't know (first hour back after X off, back attack, level difference, no damage, gambling mechanic... all sorts of things here and if you are a fan of this sort of game you probably have more examples).
You will want to find the experience for the concepts in question (should be same as any other cheat , which is to say gain experience, check for changes, gain, check, gain, check, maybe throw in a do nothing and check for things that remained the same...). If there is an existing cheat to give you 99999999...999 experience or whatever then that will spare you that one -- cheats by definition include the type of cheat, the location you want to act upon and the thing you want to do to it when you get there so you just read the location out. for SNES cheats basics, if the latter link is down then do a search for enhacklopedia as there is usually a mirror somewhere.
From there you have two main approaches
1) You alter the equation/lookup table/random/whatever aspect.
2) You essentially hardcode in a multiplier cheat when it totals things up at the end of battle or whatever.

Both of these will require you get your hands dirty with a bit of light assembly coding, give or take maybe the lookup table. You should not be doing anything too radical and it should mostly be maths you might find in a basic spreadsheet/electronics 101 course and whatever it takes to shuffle the data between the ROM, RAM, registers and such. For 1) then it should be obvious when editing what you can do, for 2) then multiplier = do a logical shift between it doing its normal boring sums for whatever you did in the battle and it adding it to the total. I don't know what we are suggesting these days for intro to SNES assembly but there should be plenty around covering things.

Logical shift in binary maths is the equivalent of multiplying by 10 in decimal maths in that you just shuffle the "decimal" point along, aka why exp/gold/whatever multiplier cheats tend to come in x0.5,x2,x4,x8,x16... forms rather than anything else.

If talk of equations has you concerned or curious then pokemon capture maths is where I usually start
It is probably more involved than 90% of RPGs are for whatever they do but nicely written. Depending upon how deep you dig you might even find these is a nice multiplier somewhere in there (you will be literally looking at the code handling growth after all) and you can trip that if you want.
Title: Re: Secret of Evermore: Changing weapon/alchemy growth
Post by: MysticLord on January 23, 2022, 08:52:45 pm
How did the SoE rebalance bind different formulas together to share their level/xp pool?