News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Poll

Which control scheme would you prefer for the weak/strong attacks

B for Weak, forward + B for strong
0 (0%)
B for Weak, A for strong (running only available in towns)
0 (0%)
Forward B for weak, B for strong
0 (0%)
B for weak, Y for strong (X used for own menu and X again to change to other characters menu)
0 (0%)
other (please post your suggestion)
0 (0%)

Total Members Voted: 0

Author Topic: Secret Of Mana Gameplay Improvement Hack  (Read 80066 times)

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #80 on: July 30, 2015, 04:42:07 pm »
I don't have the source-code but I found a site which has the (almost?) complete dissassembly with a lot of comments http://www.darkwoodinc.com/~enker/banks.php: , it really helps a lot for example heres the evasion/defense routine as it appears on the site:

Code: [Select]
[Evade/Defense handler]
C0/4FED: BDA4E1  LDA $E1A4,X [Load Evade]
C0/4FF0: 858E    STA $8E [Store into TempEvade]
C0/4FF2: 4A      LSR A [Divide it by 2]
C0/4FF3: 4A      LSR A [Again, by 2]
C0/4FF4: 85A6    STA $A6 [Store into TempEvade/4]
C0/4FF6: BDB0E1  LDA $E1B0,X [Load stat buff flags]
C0/4FF9: 8904    BIT #$04 [Check for Speed Up(Evade)]
C0/4FFB: F009 +    BEQ $5006 [Branch past evade addition if not present]
C0/4FFD: A58E    LDA $8E [Load TempEvade]
C0/4FFF: 18      CLC [Clear Carry]
C0/5000: 65A6    ADC $A6 [Add TempEvade/4]
C0/5002: 858E    STA $8E [Store back into TempEvade]
C0/5004: 800B ++    BRA $5011 [Branch past Tangle crap]
C0/5006: + 8908    BIT #$08 [Check for Tangle]
C0/5008: F007 ++    BEQ $5011 [Lower Evade if it's present, otherwise skip ahead]
C0/500A: A58E    LDA $8E [Load TempEvade]
C0/500C: 38      SEC [Set Carry]
C0/500D: E5A6    SBC $A6 [Subtract TempEvade/4]
C0/500F: 858E    STA $8E [Store back into TempEvade]
C0/5011: ++ A963    LDA #$63 [Load 99]
C0/5013: C58E    CMP $8E [Compare it with TempEvade]
C0/5015: B002 +    BCS $5019 [If > (also equal to?) 99, branch ahead rather than just storing it]
C0/5017: 858E    STA $8E [Store it in TempDef otherwise]
C0/5019: + C220    REP #$20 [8-bit emulation mode disabled]
C0/501B: BDA5E1  LDA $E1A5,X [Load Defense]
C0/501E: 8587    STA $87 [Store into TempDef]
C0/5020: 4A      LSR A [Divide it by 2]
C0/5021: 4A      LSR A [Again, by 2]
C0/5022: 85AE    STA $AE [Store into TempDef/4]
C0/5024: BDB0E1  LDA $E1B0,X [Load stat buff flags]
C0/5027: 890100  BIT #$0001 [Check for Defender]
C0/502A: F009 +    BEQ $5035 [Branch past defense addition if not present]
C0/502C: A587    LDA $87 [Load TempDef]
C0/502E: 18      CLC [Clear Carry]
C0/502F: 65AE    ADC $AE [Add TempDef/4]
C0/5031: 8587    STA $87 [Store back into TempDef]
C0/5033: 800C ++    BRA $5041 [Branch past Acid Storm crap]
C0/5035: + 890200  BIT #$0002 [Check for Acid Storm]
C0/5038: F007 ++    BEQ $5041 [Branch ahead if not present]
C0/503A: A587    LDA $87 [Load TempDef]
C0/503C: 38      SEC [Set Carry]
C0/503D: E5AE    SBC $AE [Subtract TempDef/4]
C0/503F: 8587    STA $87 [Store back into TempDef]
C0/5041: ++ BD91E1  LDA $E191,X [Load Status Effects high byte]
C0/5044: 890200  BIT #$0002 [Check for Pygmized]
C0/5047: F006 +    BEQ $504F [Branch ahead if it's not present]
C0/5049: A587    LDA $87 [Load TempDef]
C0/504B: 4A      LSR A [Divide it by 2]
C0/504C: 4A      LSR A [Again, by 2]
C0/504D: 8587    STA $87 [Store it back into TempDef]
C0/504F: + A9E703  LDA #$03E7 [Load #$03E7 (999)]
C0/5052: C587    CMP $87 [Compare 999 with TempDef]
C0/5054: B002    BCS $5058 [Branch ahead if 999 > TempDef]
C0/5056: 8587    STA $87 [Else, store 999 into TempDef]
C0/5058: E220    SEP #$20 [8-bit mode enabled]
C0/505A: 60      RTS [Exit Subroutine]

Its kind off understandable even without knowing asm !

Most of it is not commented and when it is, not as much as the example I showed you but its still very useful
I have no idea who made this site, I found no name on the site and the last update is dated 1-22-2012


magictrufflez

  • Sr. Member
  • ****
  • Posts: 488
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #81 on: August 01, 2015, 12:07:50 pm »
Man this thread blows up with high school essay long posts.

If you think this is bad, I could upload the paper I had to write to finish my 2nd BA this Sping :P (~25 pages on Taiwan and China, if you're feeling sadistic)

While looking at a way to make equipment boost stats I found out the game already did it  :o only by 5 but still, I never had noticed. A power wrist for example boost your STR by 5.
The equpiments also all add Magic defense, evasion and magic-evasion
For some reason all equipents of the same type give the same amount of evasion and magic-evasion, for example all head equipements (all but bare-head) increase evasion by 23... thats kind of useless, Ill give the increase wether you have something equipped or not so that I can re-use those two bytes for stat boosts.

I would also like to show all affected stats when selecting equipments. So since all equpiments give defense and m.defense, both would always be visible and then there would be the bonus boosted stat.
The text box doesnt have a lot of space tho, maybe I would have to remove the item name..
istead of:
"Dragon Helm        66-> 66"
It would show:
"STR+ 8  MDF+ 50 DEF+ 66"


I totally agree with the stat boosts on the equipment--I know there were SOME stat-boosting equips, but you probably never notice them because the stat increases, while numerically seem big (I mean, 5 points is 5% of the max after all), in the gameplay really don't amount to much, since I believe outside of charge attacks the values increase output linearly (ie +5 strength = ~+5 damage).  I think something more useful to think about would be stat/elemental protection.  I'm not sure if different resistances could be coded, but maybe something like a 25/50/75% resistance or weakness depending on the equipment (or even type of equipment---gloves 25% any resistance/weakness, helmets 50%, and body armor 75%) could make for very interesting equipment management, especially with the item limits in the equipment rings.  IMO, the weapons tend to strike the right balances generally--most don't have stat bonuses, but have status procs and are type-killers.  I honestly can't think of a better way to rejig them other than maybe swapping around some of the current characteristics.

I like the redone item display so the stat bonuses display, but it might be confusing when you have equipment that looks the same on the same ring?  Maybe if you could make it so the name and the stat bonuses alternate displays?  Like a 1-2 second delay, display the other, 1-2 second display, switch, etc?

As always, I have no clue if any of this is even possible, but sweet jesus you are busting ahead on this faster than any other project I've followed here zhade!  I should convince you to work on creating an English editting tool for Romancing Saga 3 when you're done lol !

dejan07

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #82 on: August 02, 2015, 09:33:27 pm »
Is there a way to fix the camera problem too? In the Vanilla version the camera moves only when a player almost touches the borders of the screen which results in bumping into enemies.

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #83 on: August 03, 2015, 12:45:10 am »
magictrufflez:
The +5 stat change is very helpful at first, when the sprite joins the party he has 9 of str, if you buy a with a power wrist in the dwarf village it goes up to 14 so he gets a boost of about 50% which is very welcome, it becomes a lot less noticable later tho, even more so because of the way the damage is calculated. The hit% and evasion play a big part in the damage output, here is my current theory about how damage is calculated: Atk - def + random(from 0 to (attackerHit% - victimEvade%))
So if you have 50Atk, 80Hit% and attack an enemy with 30Def, 60Evade% you will hit between 20 and 40,
if the enemy evasion is higher than the hit% the random value will be negative so if you have 50atk,40hit% and attack and enemy with 30def,60evade you will hit between 0 and 20. The formula is most likely more complicated than that but basically a random number is generated depending on hit% and evade% which is then added to the damage so hit% and evasion play a big role in calculating the damage and the +5 to attack even tho it is 5% of the max atk doesnt really make you deal 5% more damage in the end.

Making the item name switch between the name and the stats is a good idea, I could make it timed but I think it would be even better to be able to switch between the two by pressing R so that when you compare different equipement stats the name doesnt show up. I don't think there are similar equipments tho, I think when the same graphic is used it always uses a different palette.

Since there is not alot of equipments in the game it might be hard to make the stats modifications worth it without making them OP. For example if a spicky suit obtained in the dwarf village would increase your ice resistance, when you get to the ice palace where you liberate santa claus, you might want to equip it since it since most if not all elemental damage will be ice but then maybe it wont be worth it if the def and/or magic def is too low. Putting high elemental resitance to make it more worth it could make bosses which only attack with spells of the same element very easy.. There would need to have a really good balance.

In games where equipments have alot of different stats increase and possible custumization like diablo II and path of exile there are alot of equipements and you can obtain the same armor but with different stats increase like an armor with 50def and +12% ice resist and the same armor with 50def but with 10% fire resist. In som there are so few equipments that you would have to sacrifice alot of def if you equip an older equipment to have the stat increase that you want. The def obtained from equpiments is more than the def obtained with levels so in a hard version with enemies dealing more damage you will need the def from equipments.. Im not so sure anymore if that feature is a good idea, maybe I should only change the equipements that already boost stats and make them give more than +5 so that late-game equipments with stats boost have a bigger effect.

I think that the weapons special effects are OK too, aside from the status effects working way too often. It could be fun to make them work a bit differently tho because I really dont see why someone would use the axe if the sword is available for example. Maybe making the axe stronger but slow down your movement or immobilize you for a small time after a hit or recharge slower. The glove could allow you to make a dodge by tapping a direction twice fast, the javelin could have a melee weak attack. Stuff like that would help make some weapons feel less like a worse version of another weapon.

dejan07:
I had made a cheat-code a while back that made the camera always centered on the boy to fix this issue but it had some weird effects. Because of the way the maps are made this would make it possible to see farther on the edges of the maps because the camera doesnt stop when close to the edge. Using a no-clip cheat you can walk past the edges and see that the maps wrap arounds like if you go left past the edge you get to the far right so if I changed the scrolling you would see the other edge of the map...

Regrs

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #84 on: August 03, 2015, 09:53:43 am »
Few notes you might find useful.

I'd be very careful about adding elemental resistance to armor. It's already built into the game, the armor table has values for it, but dummied out.

It's like that for a reason. Adding elemental resistance to armor makes you part of the elemental wheel that enemies are subject to. (IE: Being resistant to fire will make you weak to ice). The game gets very confused if you try to resist two opposing elements. It's also impossible to be weak to either Luna or Dryad (though you can resist them), as the resistance loader will remove weakness to Luna & Dryad to anything that would normally have it. Also the armor loaded is bugged and doesn't loop enough times while applying stat buffs, meaning you can never get a Wisdom boost from armor, and there are several that are supposed to provide it. There's also a RAM Address you can set (7E0040) that will cause armor to provide a -2 penalty to stats instead of the +5 bonus.

Finally, assuming you don't miss, damage is calculated like this:
AttackPower: Strength + WeaponDamage.
BaseDamage: (AttackPower * {[Charge Level + Mana Magic Bonus + 4] * 2}) / 4 (+/- 25% For Attack Up/Down)
SaberBonus: (BaseDamage / 4) / (10-ElementalLevel)
Final Damage: [BaseDamage + SaberBonus + (ManaPower*ManaPower) + RANDOM] - DefenderDefense

The Mana Magic bonus is not applyed if the attacker isn't Randi or if Mana Magic isn't active.
The Saber bonus is only applyed if your elemental level is > 0.
Sabers don't do elemental damage either, just provide a flat damage boost. (And about half do nothing beyond this)
Damage is capped at 999.
A critical hit doubles your damage.
If type effective weapons actually worked they do double damage vs the correct type and half damage vs the opposing type.
Lucid Barrier uses it's own defense stat instead of your own. It's defense is calculated as [(Defense / 2) / NumberOfSpellTargets]

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #85 on: August 03, 2015, 03:26:16 pm »
Thx for the infos Regrs !

I just made some test on vanilla.
Reducing the boy's evasion% (7EE1A4) really make enemies hit harder : Video
Reducing the boy's hit% (7EE197) makes his attacks weaker too.
It doesnt work as I thought tho, it doesnt seem to affect the random added power.

I made some stats change tests with a rabite to see how much he would hit depending on how much Hit% he has and how much evade I have
I changed the rabite atk to 50 and the boy's defense to 0 for the tests:
It seems that attacks can sometimes be partially dodged depending on evasion so attacks can deal low or high damage, each of the damage values also have a bit of randomness so the damage values are just the one that poped when I did the test. The high value happens more often if the hit% is high compared to the evasion. The hit% and evade% values are in hex but the damage is in base 10.
Note that the low and high damage are not the range of the damage so if the low damage is 12 and the high is 80 the attack will never deal 40 damage, it will be between 11 and 12 or between 81 and 85.

rabite hit% , Boy Evade% = low damage, high damage
0 , 0 = 0,0 (the boy dodges the attack all the time)
10 , 0 = 82, 84
20 , 0 = 83, 83
40 , 0 = 84, 84
80, 0 = 80, 84
10 , 10 = 12, 84
10 , 20 = 0,0
20, 20 = 25, 80
30, 20 = 38, 84
30, 30 = 38, 84
30, 40 = 38, 84 (the boy sometime dodges)
30, 50 = 38, 84 (the boy dodges most of the time)
40, 40 = 51, 82
50, 40 = 64, 84
80, 40 = 79, 84
FF, 40 = 84, 84
FF, FF = 81, 84

I then tried changing the boy's defense to 20 (or 32 in base 10)

10, 0 = 12, 84
10, 10 = 7, 77
20, 10 = 20, 78
20, 20 = 15, 48(sometimes 71 too?)
20, 30 = 10, 61
80, 30 = 48, 64
-----------------------------
Here is what I conclude from this:

-The chance for a strike to hit the high damage is higher if the hit% is higher than the evasion
-The low damage is higher if the hit% is higher (independently of the evasion)
-If the evasion is = to the hit% the victim has a chance to dodge the attack and the higher the evasion compared to the hit% the more chance he has to do so
-The defense is multiplied by the evasion somewhere because when evasion is 0 the defense doesnt affect the damage at all.
-The atk is multiplied by the hit% somewhere because when the hit% is 0 the attack always hit 0 which makes the victim dodge.
-If the hit% or the evasion is higer than 100 (in base 10) it will be considered to be 100.


Its interesting to know that sabers dont actually deal elemental damage, its something I could add since like you said some do nothing else than add a flat damage boost so they are kind bad compared to others. I only did some fast testing but you seem to be right. Its weird that it doesnt tho, the boss of the ice palace keep casting ice-saber on players, If the added damage is flat this means its actually a good thing to have ice weapons against him, unless maybe it casts it at level 0 so that it removes the boost you would have from higher level sabers ? I guess they must have removed it later or forgot about it. Do you know if the special effect of sabers also dont take elemental weakness/resist into acount ? like is there less chance when hitting an ice-resiting enemy with the ice saber to turn it into a snowman ?

Also, the value at 7E0040 doesnt seem to affect the stats, did you mean 7EE040 ? the boy's ram values are between 7EE000 and 7EE1FF so I thought you might have forgot an 'E' but it doesnt seem to work either. Maybe it affects an equipement in particular ?

Regrs

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #86 on: August 03, 2015, 05:33:31 pm »
Hopefully this is all correct, lost most of my disassembly so posting this from fragments.

7E0040 is the correct address. I just forgot to mention how to set it properly. You have to set the correct bit that corresponds with a stat in order to turn all modifications for that stat negative.

Here's the values:
-0x10: Strength
-0x08: Agility
-0x04: Constitution
-0x02: Intelligence
-0x01: Wisdom

Note that Wisdom can't be used because of the bug I mentioned before. To fix that change the byte at C0/4B93 to 0x05.

About Saber Spells
Sabers provide just the flat damage. There's no elemental damage or bonuses/penalties to hitting weak/resistant creatures.

The fact Frost Gigas casts Frost Saber on you is probably a relic of an earlier time. Frost Gigas is ice resistant. Bosses in general are a good source of lost ideas. Minotaur has an animation for a jumping attack, Hexas has an unused (due to AI flaws) element, Aegagropilon can eat you, etc.

When you cast an elemental saber it's elemental -does- get stored in your character data at 7EE195. Though the only time that value seems to be checked is to determine is Moon Saber is active.

Sabers provide the following additional effects:
1) Stone Saber: Petrification
2) Ice Saber: Frosty Status
3) Fire Saber: Engulf Status
4) Thunder Saber: Nothing
5) Moon Saber: Converts Damage To HP (Unless Target Is Evil/Dead Type)
6) Light Saber: Nothing
7) Mana Magic: Equips you with the Mana Sword. Provides a bonus between 0x00 and 0x0F to your charge level based on a really stupid formula.

This is the formula for Mana Magic: 
Mana Magic Bonus = [(Total Experience Of All of Randi's Weapons / 100) + (Total Level Of All of Randi's Weapons / 8 )]

Also you mentioned you throught saber effects activated to often. For the ones that cause status effects, they cause it the same amount of the time as the status infliction rate of your equipped weapon. Which is 80% for every weapon except for the Mana Sword, which is 99%. Moon Saber is 100%, its checked for as part of resolving an attack and always activates if present.


About Hit & Evasion
Hit & Evasion do indirectly affect your damage, but only because a true miss is impossible.

Here's what's happening.
1) Your attack damage is calculated. Your Hit % is tested against a random number between 0.0 and 101.0. If the rolled number is less then your Hit % you scored a hit and your attack damage is calculated like I said above. If you "miss" (rolled > Hit). You take an additional step and use your calculated attack damage in this formula: ([HitRate * AttackDamage] / 100). The result of a "missed" attack hurts less the higher your Hit Rate/Attack is to begin with. This would probably be more effective if the Hit Up/Hit Down buffs weren't broken.

2) Your targets evasion is checked. This is similar to checking for Hit. Targets evasion is tested against a random number between 0.0 and 100.0. If the target fails to "evade" the attack the game drops their defense stat like so: ([CalculatedDefense /4) + CalculatedDefense] * Evasion / 100). On the other hand, if you successfully evade an attack the target gets a bonus to their defense between 0.00 and (CalculatedDefense / 16).

3) We test for a critical hit. Moon Saber forces a critical hit. Otherwise its your crit rate vs a random number between 0 and 255. Purim strangely gets a flat +10% bonus to her critical rate that applies at all times. Randi & Popoie likewise have a +5% bonus. A Critical hit will double attack damage.

4) If Lucid Barrier is active, it subtracts it's defense value from the current attack damage.

5) Defense is subtracted from Attack. If the result is greater than zero damage is applyed to the target. If the result is <=0 different things happen depending on if the target was a player. If it was a player one of the "dodge" animations will get played at random if the character is able to have an animation played on them at that point. For enemies it will just cause a "0" to flash over them.

magictrufflez

  • Sr. Member
  • ****
  • Posts: 488
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #87 on: August 03, 2015, 07:13:05 pm »
It's nice to know that all those times I eventually gave up trying to exploit elemental weaknesses with the saber spells I was on the right track...

I personally think you could do some kind of elemental resistances if you rejigged the numbers right.  ie maybe don't go so high as 25/50/75%, but something lower like 10/25/50%?  Or even 10/20/30?  The fact that there are corresponding weaknesses with those strengths actually could make things more interesting too, especially with some of the mid-late dungeons.  IMO, it'd really just be a matter of getting the numbers right

Vanya

  • Hero Member
  • *****
  • Posts: 1154
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #88 on: August 04, 2015, 02:36:07 am »
Sounds like the game needs a pretty major formula overhaul, though it still seems less broken than FF1.

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #89 on: August 04, 2015, 04:06:27 am »
Regs:
Thx for the formulas, now everthing is clear !

I tried changing 7E0040 to 0x10 and the status bar moved up 16pixels, I also tried again with 7EE040 and it doesnt seem to work either (at least the stats is not changed when looking at the stats from the menu, even after switching weapons which calls the routine that sets the stats)

Even tho 7E0040 is not the value for the stat -2 thing I can use it to move the status bar up a bit so that the MP doesnt touch the lower edge of the screen without having to move everything up a whole block (8pixels) so thx, its gonna be very useful !
I wont use the stats down anyway so dont botter searching for it too much.
Ill use the +5 byte to specify what stat to raise and then change the use of the evasion byte for the amount to add

The mana saber formula really makes no sense lol, personnaly I switch weapons alot and by the end of the game most of my weapons are high level, maybe thats why the mana beast fight is always so easy.

Its good to know that the saber element is stored in the character data, its gonna be very easy to check for it and add a bit (maybe double the flat saber power) of damage when the target is weak to the element.

IMO sabers are not very fun as they are in vanilla, its not very useful against bosses and againsts regular enemy the effect rate (for those that have one) is way too high and makes it way too easy to just hit enemies once and pass by.

Its also good to know that the elemental effects and the weapon status effects have the same infliction rate, I want to change both so I most likely will only have to change it in one place. The mana sword is only used for the last boss so 99% seems ok. I could reduce the lunar saber rate too as well as reducing the amount that it heals.

Ill fix the hit up/hit down bufs too so that the spell that raises hit/evade will be better, since players can't evade in this hack the only use for the spell is to raise evasion to fail less often to "evade" attacks which is pretty bad compared to the spell that raises DEF and even worse compared to lucid barrier...

It seems the game has two ways to dodge for players, one that happens when the damage is 0 or less and one that probably involves evasion and/or hit% (maybe only for projectile attacks ?), the later doesnt seem to happen very often, I have kept it in the hack and I it only happened once or twice during my complete playthrough.


magictrufflez:
There is another byte in the weapons data that I can re-use (magic-evasion) so I could theoreticaly place the elemental defense there, I would not be able to use the game's weakness management tho because as Regrs said it causes strange things when you are weak to oposite elements, and I guess its only 1 byte that states which element you are weak against and not "how weak/resistant" you are to that element so I would need to make a new routine that reduce/increase the damage when you are hit by a spell. Also, should the resistance/weakness only effect offensive spells or does being resitant to ice mean you get healed less by cure too ? :P I guess it would  be more logical to only affect damaging spells but I thought it could be funny to reduce your resistance to fire so that your fire saber gets better for example. That could be too good tho because when fighting an ice resistant/fire weak boss you could increase your ice resistance to receive less damage and deal more damage with the fire saber too. Im still not sure about adding elemental resistance to equipments ill start with the other stats first and then see, I might find another use for the remaining byte in the weapons data like increasing crit rate or just make it possible to raise 2 stats instead of just one.


Vanya:
The formulas are not so bad actually even tho they are not very intuitive.

The evasion/hit% part makes evasion play a bigger role so its not only about not getting hit, I dont like how evasion in games is normally just a hit or miss. In games where you can choose what stats to increase at level up, increasing evasion is always kind of weak compared to defense because it only "works" when you do evade but defense always works. If you focus alot on rasing evasion instead of defense, when you do get it, it hurts alot and if you are unlucky you can get killed fast. At least in this game there is a kind of in-between, raising evasion not only increases your chances of doging the attack completely (at least if im right about how this works) but also reduces your chances to fail to "evade" which would reduce your defense. I think if would be nice if more games used something like this, personally I would make the roll twice so that for example if after comparing the accuracy of the attacker to the evasion of the victim the chance to hit is 60%, a roll is made between 0 and 100 , if the roll is higher than 60, the victim fails to evade the attack completely but another roll is made and if the second roll is lower than 60 the damage dealt is halved. I don't think it would make sense to include this in this game tho because you can't choose how you build your characters.

Everything else except the weird mana saber thing is pretty straightforward, the rate of the saber/weapons special effects is way too high and the spells damage are not balanced but its more about the values than the formulas themselves.

Regrs

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #90 on: August 04, 2015, 08:37:13 am »
The value only affects armor stat buffs, not weapon stat buffs. The variables actual use seems to be a base offset for drawing the HUD and the armor thing is just a leftover. But set the value to 0x08 and equip a Quilted Hood to someone. That should cause your Agility to drop by 2 points instead of being raised by 5. (And move your status bars up to much).

With Mana Magic active unless you really haven't been leveling Randi's weapons your basic attack becomes at least the equivalent of a level 8 charge attack. The formula would be much improved if you changed the first divisor to 99 instead of 100.

As for Hit Up/Hit Down: These buffs are supposed to provide a 25% modifier like the others. Instead it provides a boost/penalty of either (HitRate/64) or (StatusEffects01/4) depending on if you have Tangle status or not.

Evasion cannot be used to "dodge" attacks completely. If hit boxes collide, damage is happening. The only thing you can do is try to have your defense high enough to soak all the attackers attack to register a "miss" that way. "Dodging" an attack with evasion simply raises your defense value for that attack.
Players will play 1 of 3 "dodge" animations at complete random when told to. They are: Weapon Guard, Leanback Dodge, And Cartwheel Dodge.

Who told you weapons have magic evasion? Because they don't. The weapon table has 12 byte rows and every byte is used except for Monster Affinity. (Which still gets loaded). If you like I can give you the legend for that table. Weapons already have a defined critical hit rate in that table too, though for most weapons its 0%.

Also you can't resist defensive spells. Everyone, players, enemies, bosses, are always considered weak to a defensive spell. Even if they'd normally be resistant to that element.

The resisting opposing elements thing doesn't break the game in a meaningful way I suppose, but it can get confusing. If for example something resists Fire & Ice and cast Analyzer on it, it would report that it is weak to both Fire & Ice. But if you cast a spell of either type on them you'd discover that the thing you cast on is actually resistant to both elements. It basically makes the game lie to you.

There's also no levels of resistance or weakness. Being resistant makes you take 50% damage. Being weak makes you take 200%.

ChemaROMhacking

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #91 on: August 04, 2015, 12:22:24 pm »
Spell binding glitch
Sometimes when binding a spell to a button, whatever spell was "selected" right when you opened the spirit, that spell will be casted regardless of which shortcut you use


1. Boot up the game (no save states, no reset, no soft reset)
2. Bind defense up on X button (it doesn't matter which button)
3. Now go visit the rest of the GIRL spirits menus once
4. Now try to use any shortcut and the girl will cast any of the sabers or reivifer

on step 3 you can go to the SPRITE's spirits instead to make thing even more clear of what is happening

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #92 on: August 04, 2015, 03:02:07 pm »
Regrs:
I know that the value only affects the armors, I was talking about switching weapons because it calls the stat-reseting routine also called when you equip an armor or on level up and thought that it could be where the -2 would be applied. I made an error when I said "There is another byte in the weapons data that I can re-use (magic-evasion)" I meant equipments. Im not so sure about some of the values of the equipments and weapons data tho, IIRC the equipements first byte is the +5 byte but it always has a bit set (0x40) even if no stat is boosted, maybe just a leftover ? The weapons data also has a "critical hit%" byte acording to a doc on snesdev, but IIRC all the weapons have the same but the manasword so maybe its the special effect infliction rate instead ?

The value at 7E0040 (as far as the HUD goes) is read and stored in the BG#3 scrolling register every frame

ChemaROMhacking:
I can't seem to reproduce the glitch even if I follow your steps, It must depend on the spritis you have or something, but I think I know what the problem is, it must be something like what caused the spell copy glitch, I set the spell casting values of the characters before calling a routine that shows the text like "Revifier level 0", this routine is what normally sets the characters spell casting values depending on some values from the menu, ill change those values instead and let the routine set the characters spell data like it normally does so it should fix all possible glitch with casting.

Regrs

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #93 on: August 04, 2015, 04:24:06 pm »
The routine in question begins at C0/4B90. Good to know what the HUD does with the value though. Thanks for that.

Here's the header for the weapon table:
TP STAT PJ PL MA CC AC PW S1S2 SR

And the legend to go with it:
-TP:   Weapon Type
-STAT: Stat Modifiers Provided By The Weapon
-PJ:   Projectile Type
--0x00: No Projectile
--0x01: Arrow Projectile
--0x02: Javelin Projectile
--0x03: Boomerang Projectile
--0x05: Chakram Projectile
-PL:   Palette
-MA:   Monster Affinity (Broken, Doesn't Work)
-CC:   Critical Chance
-AC:   Accuracy
-PW:   Power
-S1S2: Status Effect
-SR:   Status Effect Rate

The critical hit field -is- used. It is zero for most weapons but a few (Masamune, Nimbus Chain, Shuriken & Ninja's Trump) have a critical rate of 10%. Also for all the bow complaints, the Doom Bow has the highest critical hit rate in the game at 20%. Some monster weapons in the table also provide a bonus to critical hit rate. The Mana Sword has a 0% base critical rate like most other weapons. It does have the benefit of having 99% Accuracy and 99% Status Infliction Rate compared to every other weapons 75% and 80%.


Here's the header for the armor table:
SB DF EV MD MV EQ EL R1R2 ??

And the legend:
-SB: Stat Boost
--0x40: Always Set
--0x10: Strength
--0x08: Agility
--0x04: Constitution
--0x02: Intelligence
--0x01: Wisdom
-DF: Defense
-EV: Evasion
-MD: Magic Defense
-MV: Magic Evasion
-EQ: Equippable By
--0xE0: Everyone
--0xA0: Randi & Popoie
--0x80: Randi
--0x60: Purim & Popoie
--0x40: Purim
-- 0x20: Popoie
-EL: Elemental Resistance (Dummied Out, but functional if you alter the table)
-R1R2: Status Immunity
-??: UNKNOWN

0x40 is indeed always set in the stat buff section. No idea why, I can't remember if it's even checked for anywhere, but I don't think that it is. The last byte is indeed unused. Its always 0x00 and the armor loader doesn't even load it, it stops after status immunity.

The evasion & magic evasion stats are the same for every armor piece of the same type. But the values are coded into that table. I think a better idea would be to alter those stats to give each armor unique evasion stats instead of just capping it once you get a full set of armor.

Also don't mess with Bare Head, No, and Nothing. They are used internally by the game to tell that you have nothing equipped in that slot.

ChemaROMhacking

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #94 on: August 06, 2015, 08:02:52 pm »
Spell casting can crash the game If done under certain circumstances

1. Trying to use a shortcut when that spell belongs to an absent spell caster (i.e. on the desert ship)

2. When interacting with magic orbs, player characters take a neutral stance and player input is disabled for a short period of time, if during that period of time a player successfully casts a spell through a shortcut, the game crashes (Timing is required, but chances of pulling it off exponentially increases when playing with other people and the issue is very similar, if not the exact one, as #3)

3.Use a shortcut during the activation of the mana sword spell (pretty easy to pull off alone by accident)

4.Command a caster to perform a spell while said caster is shaking up a treasure chest
--------------------
The pureland event at the mana tree issue was fixed, however a new one appeared, now it overscrolls after the "look, the mana tree" dialogue
Added with the aforementioned issues I mentioned on a previous post, bringing back AI teleportation seems to be the best fix for now

suggestions:
on easy mode, 5 second cool down seems reasonable for the girl, however the sprite can chaincast long lasting spells such as lava wave, dark explosion and the overpowered burst
This can be circumvented by:
-Increasing the cool down for sprite spells overall (easiest solution and works)
-Increasing the cool down of certain spells only (Better, but would be a headache to implement)
-Increase the animation speed of spells (Dunno if this is even possible but would be the best solution)
-Shorten some spell animations (choppy but functional)

I noticed that doing either the stong attack or the weak attack it depends on the last input done by the directional pad and the B button
Disabling players from changing the button conficuration would save you a lot of work, else you woukd have to consider every button combination possible
« Last Edit: August 07, 2015, 04:01:54 am by ChemaROMhacking »

justin3009

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 1510
  • Welp
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #95 on: August 07, 2015, 04:40:18 am »
The spell delay per spell should be pretty easy actually. Just have it load a table that loads the wait time by using the spell number.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Gi Nattak

  • Full Member
  • ***
  • Posts: 124
    • View Profile
    • Return of the Dark Sorcerer
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #96 on: August 07, 2015, 06:24:22 am »
Just wanna say incredible job on this improvement hack thus far, and thanks to you and anyone involved/helping out! It is vastly welcomed and appreciated, I'm super excited to try it out. A lot of these features I've always dreamed about, to make this game better & more balanced in general - so this is truly great. I'm not sure how I missed this until now, SoM being one of my favorite games of all time and all. :o Please keep up the good work.

EDIT: Just a quick and obvious observation after playing, I see the Boy is sporting a nice new palette, but his recovering power % frames is his old palette still... I doubt this is intentional, is it still something that needs to be addressed?

Oh and one other thing, a while ago I realized the R & L buttons did have a purpose of sorts and made a video about it:
https://www.youtube.com/watch?v=rcpQq1eDmxg

With this patch that utilizes both shoulder buttons, this tactic is no longer possible. I'm wondering if there's a way to still include it by assigning it to a different button perhaps while charging? I'd imagine it would have to be the run or ring menu button, and only be triggered if the player is indeed charging up their attack... If this is not possible and it must be sacrificed, I understand lol. It is a pretty fun and tactical move though, albeit unknown to most.
« Last Edit: August 07, 2015, 07:01:26 am by Gi Nattak »
The end comes...beyond darkness.

zhade

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #97 on: August 07, 2015, 02:48:20 pm »
Regrs:
Thx for the info on the tables. Ive played with them a bit.

For the armors, ill change the use of the evasion/magic evasion bytes and set the evasion/magic evasion values elsewhere so you will always have the same evasion/magic evasion as if you had a full set of armor. I might use the elemental resist byte as it is, maybe only a few equipements could grant it and if you have 2 oposing elements you would resist both.

For the weapons, accuracy is the same for all weapons but the mana sword, I think I will increase it for the bow, maybe set it to like 100%, since it attacks slowly it will make it better. I might also increase all axes crit rate so that it has something better than the sword. The monster affinity thing really doesnt work ? So when in the weapon menu it says "effective against dragon type enemies" (or something like that) its actually a flithy lie ?

You mentioned that a boss can swallow you, I know the graphics are still there, but is it possible to make it work ?


ChemaROMhacking:
I can't get the game to crash in these conditions, but I changed some stuff with how the spells are cast, maybe I fixed it. Btw you said you are playing on your phone right ? Is it on an emulator also availlable on PC or based on one ?

About the cooldown, I think using a table like justin said would be the best, but since its only for the easy version, I think Ill use the lazy way and increase the cooldown for the sprite :P

Ill remove the controller icon in the menu (or make it do nothing), I dont think anybody really change the controls anyway.


Gi Nattak:
Thx for the kind words.

The boy palette is not changed, it least it should not be lol.

I found out about L/R beign used to strafe while charging recently, The L button is now used to block/dodge and I planned to use the R button to lock the charge at the current level but maybe I could use another button since the strafing would be better on a shoulder button since it needs to be held. I think the ring menu button (Y) would fit because you can't go in the menu when charging and its the button that is the most acessible while holding B on a snes controller IMO.

Gi Nattak

  • Full Member
  • ***
  • Posts: 124
    • View Profile
    • Return of the Dark Sorcerer
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #98 on: August 07, 2015, 04:07:14 pm »
Gi Nattak:
The boy palette is not changed, it least it should not be lol.

I found out about L/R beign used to strafe while charging recently, The L button is now used to block/dodge and I planned to use the R button to lock the charge at the current level but maybe I could use another button since the strafing would be better on a shoulder button since it needs to be held. I think the ring menu button (Y) would fit because you can't go in the menu when charging and its the button that is the most acessible while holding B on a snes controller IMO.

D'oh! My mistake about the palette, I patched over what I thought was a clean ROM I had lying around, but it was an old semi-project ROM I was using with the SoM Editor about a year ago where I did that and forgot about it... Sorry about that. :-[

And that sounds real good about the L/R strafe, I'm glad to hear you knew about it and sounds like you can keep it implemented.
The end comes...beyond darkness.

Regrs

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #99 on: August 07, 2015, 04:33:23 pm »
"Effective Against" weapons do absolutely nothing. The game lies to you.

And yes Aegagropilon can eat you. In-fact he tries to do so every pass though his attack AI script but a flaw prevents it.

Here's a video I made to show it:
https://www.youtube.com/watch?v=_ksDJhAp8zo

It's a bit glitchy because I just quickly hacked his AI to do nothing but that attack. (Note: He cast Burst because Aegagropilon cheats and casts spells with his movement script to by-pass his attack wait timer).

Edit: To explain better, Aegagropilon is supposed to swallow you the first chance he gets every time he re-grows his legs. The flag used to tell him to regrow his legs and swallow you are the same, the problem is the command that re-grows his legs resets the flag to 0 so he never gets the chance to actually eat you.

Most bosses have AI flaws that limit their effectiveness in one way or another and more then a few are utterly crippled by it.

The worst offenders are Metal Mantis, Tropicallo, Boreal Face, Mech Rider (All Versions, but 3 is especially bad), Hexas, and Dark Lich.
« Last Edit: August 07, 2015, 04:53:31 pm by Regrs »