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

Author Topic: Secret of Mana, Turbo - Beta 191210  (Read 136361 times)

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191114
« Reply #940 on: November 14, 2019, 10:24:17 pm »
Nothing to apologize over; never forget we're here for fun. Still, nice to hear from you.

Regarding it seeming to be a signed comparison, the game was programmed in assembly, so whether a number was treated as signed or not almost definitely wasn't on the programmer's mind. At least I explained it that way because I was hoping the concept of negative numbers was more approachable than explaining it branched based on the number's high bit. In the CPU architecture the SNES uses, the "branch if positive" and "branch if negative" instructions are very easy to get correct, while "branch if carry clear" and "branch if carry set" are very easy to get wrong. For all vanilla values of mana, BPL and BMI work, and using BPL / BMI is much safer than BCC / BCS in that you're less likely to make programming mistakes using them, so I'd argue they made the right choice. Obviously, they didn't need to worry about supporting modifications to the game made multiple decades later, so it didn't really matter if values over 99 had issues (or 0x7FFF for health, etc.).

Now, those are just my thoughts on the matter and it's not like I was there. I tend to state things in a fashion that may make it seem I'm certain, or that something is indisputable, but that's just my writing style I suppose. You could pretend I typed "in my opinion" before every sentence and it would be closer to my internal monologue.

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191114
« Reply #941 on: November 15, 2019, 01:37:09 am »
@Queue

Okay, numerous things.

- There's some error on Kakkara desert when you first enter.  Probably because of Revisit S. Kakkara.  Specifically, up to the "complaining about your throat drying up" is alright, but when you enter the map with the Sandship, you are supposed to auto-enter the Sandship, but you don't.  There's no dialogue nor auto-enter.  So you are basically stuck outside the Sandship, without being able to enter the ship (and therefore plot cannot advance).

- For No Missable Monsters, I don't see Robin Foot.  It was supposed to be somewhere near Dark Funk, but I don't see him.  I checked the codes, and you seem to be missing it.

- For [Remove_Empire_Castle_Gate], please replace 17F (switching Whip Orb to Javelin Orb) to the following, so that people who do not use [Weapons_Progression_Balance] are still alright in balance:

Code: [Select]
[17F: Empire Castle Whip Orb]
@OFF $C8D5B0 ' orb chest
'RAW BC04 88 8D 00 EB 7446 ' whip
IF [Items]
IF Weapons_Progression_Balance
RAW BF04 88 8D 00 EB 7746 ' javelin
ENDIF x2
IF [Items]
IFNOT Weapons_Progression_Balance
RAW BF03 88 8D 00 EB 7746 ' javelin
ENDIF x2
IFNOT [Items]
RAW BF03 88 8D 00 EB 7746 ' javelin
ENDIF x1

- I asked this before, but perhaps you forgot.  Will you be updating the [Neko_And_Watts_In_Fortress]?  It moves Neko to the empty spot where Mech Rider 3 used to be.

- I tested the Wall Bypass.  They work great.  Thank you.  Now, I need to change few things here and there.  I will soon update my [Spell_Overhaul].  And Dust Flare (I'll be giving back Wall to Mech Rider 3, and probably give another boss the Dust Flare).

- For Dust Flare, please delete my previous request of Mech Rider 3 MP adjustment.  You were right -- there's no need to adjust the MP stats in that section.  I already did that in [Enemy_Stat_changes].

- Even in Vanilla, Hexas will mostly cast Dispel Magic (even when you don't have anything on), instead of doing other spells (she also uses some melee attacks, like Pygmy Stare and such).  I'm pretty sure this is some sort of error.  Looking at the script, she has cool stuff, like double cast.  For now (in the [Enemy_Behavior_Changes]), I changed her Dispel into Dark Force, but that's a bit boring.  Any idea how to correct her AI?
« Last Edit: November 15, 2019, 01:57:49 am by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191114
« Reply #942 on: November 15, 2019, 01:58:24 am »
Dang, thought I tested the sandship entry correctly but I cleared botched something. I'll get that figured out.

Robin Foot, also whoops. I need to finish the change to Revisit Sunken Continent entry along with that.

For Neko_And_Watts_In_Fortress, yes I plan to update it. It's safe to assume I intend to update all kethinov's stuff in the Turbo patcher eventually, with the sole exception of "Adjust Enemy Difficulty" (not because I don't like it, just with how many options it now has, it's not a great fit for the ZPS format).

For anything else I didn't respond to specifically: okay.

And thanks a ton. Bug reports, compatibility notes, feedback; I really appreciate it.

I'll get back to you regarding Hexas, not available to look into it until tomorrow most likely.
« Last Edit: November 15, 2019, 02:05:02 am by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191114
« Reply #943 on: November 15, 2019, 03:53:29 am »
@kethinov, @Queue

Hey, is it alright for me to add Wall Bypass capability to Burst - Health Cost in my [Spell_Overhaul]?  I can use IF function.  I know I was the one who first came up with the idea (pg28), but my guts tell me I must ask for permission regardless (and I should not use it if my request is denied).  It was you guys that made my idea into reality (I'm a firm believer in that idea by itself is no good, and the ones who brought it to reality should get the rights and credits).

Of course, Queue can just add that capability to Burst - Health Cost, since it was his design.

November 15, 2019, 05:31:25 am - (Auto Merged - Double Posts are not allowed before 7 days.)
@Queue

Okay, here are the updates.:

Dust Flare (please update the description too)
 - Got rid of Mech Rider 3's MP adjustment, and re-added Wall (just got rid of the previous Dust Flare replacement, and it went back to Wall).
 - All Mech Riders use Lunar Boost instead of Speed Up.  It works great (AI doesn't check for Speed Up, apparently)
 - Replaced Minotaur/Gorgon Bull's Earth Slide with Dust Flare (they are in Fire/Light palace, so "Flare" fits the theme).
 - I thought about changing Snake bosses' Earth Slide to Dust Flare too, but I decided against it (but I left the code in, just in case).

Code: [Select]
' {Enemy Target Change}
@OFF $D0666B ' Chess Knight Speed Up (pre) --> Speed Up (post)
'RAW 04
RAW 10
@OFF $D08030 ' Ghoul Dust Flare (post) Target --> One Enemy
'RAW C4
RAW C1
@OFF $D08189 ' Imp Fire Bouquet (one enemy) --> Flame Saber (self)
'RAW C1 E9 05 10
RAW C4 E9 05 0F
@OFF $D08F7C ' Basilisk Gem Missile (pre) --> Dust Flare (post)
'RAW 01
RAW 04
@OFF $D092EC ' Dark Ninja Speed Up (pre) --> Speed Up (post)
'RAW 04
RAW 10
@OFF $C2D8AD ' Minotaur Earth Slide --> Dust Flare
'RAW 00
RAW 04
@OFF $C2D8D4 ' Gorgon Bull Earth Slide --> Dust Flare
'RAW 00
RAW 04
@OFF $C2DC1D ' Spikey Tiger Fire Bouquet --> Fireball
'RAW 10
RAW 0C
IF _Inferno_Barrier_-_Replaces_Blaze_Wall ' compat
@OFF $C2E428 ' Axe Beak Fire Bouquet --> Inferno Barrier + target self
'RAW 10 00
RAW 11 03
ENDIF
IFNOT _Inferno_Barrier_-_Replaces_Blaze_Wall
@OFF $C2E428 ' Axe Beak Fire Bouquet --> Blaze Wall + target all
'RAW 10 00
RAW 11 01
ENDIF
@OFF $C2EC56 ' Mech Riders Speed Up (pre) --> Lunar Boost (post)
'RAW 04
RAW 1C
'@OFF $C2EF02 ' Snake bosses Earth Slide (one enemy) --> Dust Flare (all enemy)
'RAW 00 00
'RAW 04 01


And [Spell_Balance_Overhaul]:

In the description, please add:
- Defender, Speed Up, Remedy, and Lunar Boost can bypass Wall (I purposely left out Cure Water, Sabers, Moon Energy, and Barriers).
- Reduced Speed Up's MP cost from 3 MP to 2 MP.
- Revivifier/Turn Undead (whether from vanilla or Herbal Boost) bypasses Wall.  Apparently, dead characters keeps Wall SE, so this will make Revive work on the dead allies with Wall SE.
- If [Burst_-_Health_Cost] is on, it'll bypass Wall.

Code: [Select]
IF _Mud_Saber_-_Replaces_Stone_Saber ' compat
@OFF %Spell.Data.Stone_Saber%Cost%
RAW 02
ENDIF
IFNOT _Mud_Saber_-_Replaces_Stone_Saber
@OFF %Spell.Data.Stone_Saber%Cost%
RAW 05
ENDIF

IF _Dust_Flare_-_Replaces_Fire_Bouquet ' compat
@OFF %Spell.Data.Fire_Bouquet%Target%
RAW Spell.Target.Allies.WallBypass
@OFF %Spell.Data.Fire_Bouquet%Cost%
RAW 02
ENDIF
IFNOT _Dust_Flare_-_Replaces_Fire_Bouquet
@OFF %Spell.Data.Speed_Up%Target%
RAW Spell.Target.Allies.WallBypass
@OFF %Spell.Data.Speed_Up%Cost%
RAW 02
ENDIF

@OFF %Spell.Data.Defender%Target%
RAW Spell.Target.Allies.WallBypass

@OFF %Spell.Data.Remedy%Target%
RAW Spell.Target.Allies.WallBypass

@OFF %Spell.Data.Cure_Water%Cost%
RAW 03

@OFF %Spell.Data.Cure_Water%Cost%
RAW 03

@OFF %Spell.Data.Flame_Saber%Cost%
RAW 04

IFNOT _Inferno_Barrier_-_Replaces_Blaze_Wall ' compat
@OFF %Spell.Data.Blaze_Wall%Power%
RAW 2B
ENDIF

@OFF %Spell.Data.Lunar_Boost%Stat%
RAW SSE.Stat.Attack.Up
@OFF %Spell.Data.Lunar_Boost%Target%
RAW Spell.Target.Allies.WallBypass

IF Herbal_Boost_-_Replaces_Moon_Energy ' compat
@OFF %Spell.Data.Revivifier%Target%
RAW Spell.Target.Allies
@OFF %Spell.Data.Revivifier%Cost%
RAW 03
@OFF %Spell.Data.Moon_Energy%Target%
RAW SSE.Target.AlliesOrEnemies.WallBypass
@OFF %Spell.Data.Moon_Energy%Power%
RAW 64
@OFF %Spell.Data.Moon_Energy%Cost%
RAW 08
ENDIF
IFNOT Herbal_Boost_-_Replaces_Moon_Energy
@OFF %Spell.Data.Moon_Energy%Target%
RAW Spell.Target.Allies
@OFF %Spell.Data.Moon_Energy%Cost%
RAW 03
@OFF %Spell.Data.Revivifier%Target%
RAW SSE.Target.AlliesOrEnemies.WallBypass
@OFF %Spell.Data.Revivifier%Power%
RAW 64
@OFF %Spell.Data.Revivifier%Cost%
RAW 08
ENDIF

@OFF %Spell.Data.Light_Saber%Cost%
RAW 03

@OFF %Spell.Data.Lucent_Beam%Power%
RAW 4F
@OFF %Spell.Data.Lucent_Beam%Cost%
RAW 04

@OFF %Spell.Data.Lucid_Barrier%Cost%
RAW 06

@OFF %Spell.Data.Freeze%Power%
RAW 2B

@OFF %Spell.Data.Acid_Storm%Power%
RAW 3D
@OFF %Spell.Data.Acid_Storm%Cost%
RAW 04

@OFF %Spell.Data.Energy_Absorb%Cost%
RAW 03

@OFF %Spell.Data.Fireball%Power%
RAW 2B

IFNOT Hellfire_-_Replaces_Exploder ' compat
@OFF %Spell.Data.Exploder%Cost%
RAW 03
ENDIF

IFNOT Lava_Wave_-_Engulf ' compat
@OFF Spell.List.Lava_Wave
ADR.16 SSE.Func.Detrimental.DamageAndStats
@OFF %Spell.Data.Lava_Wave%Stat%
RAW SSE.Stat.Attack.Down
@OFF %Spell.Data.Lava_Wave%Power%
RAW 3D
@OFF %Spell.Data.Lava_Wave%Cost%
RAW 04
ENDIF

@OFF %Spell.Data.Thunderbolt%Cost%
RAW 03

@OFF %Spell.Data.Silence%Cost%
RAW 01

IFNOT _Lunar_Magic_-_Celestial_Cascade ' compat
@OFF Spell.List.Lunar_Magic
ADR.16 SSE.Func.Detrimental.Stats
@OFF %Spell.Data.Lunar_Magic%Stat%
RAW SSE.Stat.All.Down
ENDIF

IF _Burst_-_Health_Cost ' compat
@OFF %Spell.Data.Burst%Target%
RAW Spell.Target.Enemies.WallBypass
ENDIF
IFNOT _Burst_-_Health_Cost
@OFF %Spell.Data.Burst%Cost%
RAW 05
ENDIF

@OFF %Spell.Data.Dark_Force%Power%
RAW 4F
@OFF %Spell.Data.Dark_Force%Cost%
RAW 04

@OFF %Spell.Data.Dispel_Magic%Cost%
RAW 02

Feel free to delete the Bypass Wall Burst if you think it's morally wrong for me to use it.

And [Enemy_Stat_Changes]:

Readjusted Minotaur and Gorgon Bull's W-Spell power (mostly due to Dust Flare spell switch):
- Minotaur W-Spell Power (64 --> 30)
- Gorgon Bull W-Spell Power (01 --> 44)

Code: [Select]
@OFF $D02644 ' Minotaur B-Spell Power (01 --> 30)
RAW 1E
@OFF $D02645 ' Minotaur W-Spell Power (64 --> 30)
RAW 1E
@OFF $D0268A ' Spring Beaks HP (720 --> 1000)
RAW E8 03
@OFF $D026C4 ' Snap Dragon HP (1215 --> 3000)
RAW B8 0B
@OFF $D026C6 ' Snap Dragon MP (06 --> 30)
RAW 1E
@OFF $D026D6 ' Snap Dragon W-Spell Power (02 --> 29)
RAW 1D
@OFF $D02738 ' Metal Mantis HP (1220 --> 1600)
RAW 40 06
@OFF $D02755 ' Mech Rider 2 HP (1258 --> 2600)
RAW 28 0A
@OFF $D02767 ' Mech Rider 2 W-Spell Power (02 --> 37)
RAW 25
@OFF $D02783 ' Gorgon Bull B-Spell Power (100 --> 44)
RAW 2C
@OFF $D02784 ' Gorgon Bull W-Spell Power (01 --> 44)
RAW 2C
@OFF $D027CB ' Boreal Face MP (12 --> 36)
RAW 24
@OFF $D027DB ' Boreal Face W-Spell Power (02 --> 26)
RAW 1A
@OFF $D027F8 ' Great Viper MP (08 --> 24)
RAW 18
@OFF $D02888 ' Aegagropilon B-Spell Power (11 --> 39)
RAW 27
@OFF $D02889 ' Aegagropilon W-Spell Power (01 --> 11)
RAW 0B
@OFF $D02896 ' Hexas MP (69 --> 99)
RAW 63
@OFF $D028A5 ' Hexas B-Spell Power (16 --> 37)
RAW 25
@OFF $D028B1 ' Kettle Kin HP (1230 --> 3000)
RAW B8 0B
@OFF $D028C3 ' Kettle Kin W-Spell Power (02 --> 19)
RAW 13
@OFF $D028ED ' Mech Rider 3 MP (38 --> 66)
RAW 42
@OFF $D028FD ' Mech Rider 3 W-Spell Power (02 --> 37)
RAW 25
@OFF $D02927 ' Fire Gigas MP (66 --> 99)
RAW 63
@OFF $D02971 ' Axe Beak W-Spell Power (01 --> 37)
RAW 25
@OFF $D029D5 ' Biting Lizard MP (06 --> 12)
RAW 0C
'@OFF $D029B5 ' Dark Lich Level, HP, Primary stats maxed
'RAW 63 4A B6 63 63 01 63 63
'@OFF $D029C7 ' Dark Lich Spell Strength = 99
'RAW 63 63
'@OFF $D02A63 ' Mana Beast Level, HP maxed
'RAW 63 FF FF
'@OFF $D02A75 ' Mana Beast Spell Strength = 99
'RAW 63 63
« Last Edit: November 15, 2019, 06:22:32 am by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #944 on: November 15, 2019, 06:10:28 pm »
Version 2019-11-15:
https://ufile.io/pfmwsxcd

Changes:
- Fixed Revisit_Kakkara_Desert, probably
- Added missing Robin Foot to No_Missable_Monsters
- Some adjustments to Echoey_Matango_Caves event changes to keep event flag behavior the same as vanilla
- Added Remove_Empire_Castle_Gate / Weapons_Progression_Balance compatibility fixup
- Added Evil_Gate_-_More_Useful / Enemy_Type_And_Element_Changes compatibility fixup
- Updated Dust_Flare
- Updated Spell_Balance_Overhaul
- Updated Enemy_Stat_Changes
- Changed Enemy_Type_And_Element_Changes, Enemy_Stat_Changes and Enemy_Behavior_Changes to be On by default (and as a reminder, the defaults are generally just based on what I use when playing, they're not really meant as feature approval / disapproval)



On the topic of event flags, go to Southtown and talk to the sewer tunnel guard to get him to move, but then don't enter the door. Fly to Potos and go take a look at where you found the sword. Now go to the field south of the Water Palace and walk to the Goblin Village entrance.

To fix the event flag that's in the wrong state, you can either go back to Southtown and enter the sewers, or go to Matango.

It's harmless, but probably something I should tackle in a bug fix.

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #945 on: November 15, 2019, 07:15:18 pm »
@Queue

LOL

Wow, I did not know talking to the Southtown guard can do that.  HOW did you figure that out?  Amazing.  And that's so funny.  You can even kill the goblins, and they die over and over again.  I haven't tested this, but if they give exp from dying over and over, then you can just kill these guys, and then go sleep, and the next morning, you'd be at Lv99.  Reminds me of that Southpark episode, where the kids kill the boars over and over in WoW.

Oooh, thank you for making my recent enemy adjustments into default.  I'll have a higher chance of people giving me feedback for those patches.

Since my [Spell Balance Overhaul] isn't to everyone's liking, do you think it'd be a good idea to have a separate patch for [Wall Bypass Spells]?  That way, they can have the cool Wall Bypass support spells without all the other junks from my [Spell Balance Overhaul].  Kinda similar to what you may do with Missable Monsters (you said you might have a separate patch for getting the monsters not stuck in the walls).

November 15, 2019, 07:41:23 pm - (Auto Merged - Double Posts are not allowed before 7 days.)

@kethinov

I really find your Missable Monsters great.  Very very good.

Question:  Do you think you can make things, so when you first meet Luka, she'll not have Water Thug/Shellblast, but after the Jabberwocky boss, she'll wise up and have some monsters to be her palace guards?.  She'll eventually get locked up in the dungeon during the Sunk Continent event, and Water Thug and Shellblast are permanently killed off by the empire (during that time, Luka is locked up in her own dungeon, and there's no more Water Thug and Shellblast).  Then when the continent sinks again (and Pure Land opens up), Luka wises up again and updates the monsters to Ice Thug and Turtlance (she'll return back to the seed room).

I have a feeling programing that would be incredibly hard, but I thought I should ask.  It just sounds so awesome.  Very very appealing.
« Last Edit: November 16, 2019, 05:11:26 am by hmsong »

Mr X

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #946 on: November 16, 2019, 01:54:42 pm »
Haven't been much active, but a short input - while I don't entirely agree with enemy type/weakness changes, I am loving the spell/behavior changes that hmsong did on the enemies. Looks great so far.

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #947 on: November 16, 2019, 11:24:12 pm »
Mr X

Thank you for the feedback.  If you think something is strange (assuming it is unintended), please let me know.


@kethinov

Could you also leave the original Karon (v1.0 unused NPC), where he doesn't wander around?  Or at least have that option available?  I think I liked it better when he didn't wander around.  Thanks.


@Queue

In [Spell_Balance_Overhaul], you wrote, "' works because last thing before ENDIF".  There are two IF functions, but do you not need to put "ENDIF x2" instead of "ENDIF"?

Oh, I forgot.  Kakkara Desert works great.
« Last Edit: November 17, 2019, 01:03:57 am by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #948 on: November 17, 2019, 01:07:14 am »
You're right, I should label those ENDIFs with x2. They'll work without; the ENDIF x? labeling is just a comment for a human to read (anything on a line after ENDIF is ignored, like how ' does for normal comments), and not a requirement of the ZPS syntax, but it's smart to keep things descriptive when the code itself is unclear.

So regarding event flag 0x0A, I first encountered it back when making Revisit Goblin Village. The stew pot event uses it to hide the normal enemies and show the goblins, then to show the fake girl when you escape before respawning all the normal enemies. When I was importing kethinov's Echoey Matango Caves, I noticed one of its events also used event flag 0x0A; apparently 0x0A is meant to be a general use temporary event flag. In the caves, they use it to affect which music plays in one room. I was then curious where else it was used, and searched around the event scripts (banks 0x09 and 0x0A), and the object arrays (bank 0x08). I noticed they used it with the Southtown sewer guard's script, and realized it was only cleared once you entered, so figured dumb things would happen if you left without entering the sewer. I wouldn't be shocked if someone noticed this in the past, but posted about it anyway since the result was so goofy.

teahouser

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #949 on: November 17, 2019, 10:05:27 pm »
Hey I noticed that the SoM remake added some stat bonuses and infliction immunities to the armor which I like. Especially combined with your unique equipment patch it really makes you pick and choose what armor you want to use with who for which ever bonus or immunity.

Would anyone be willing to make a patch that transforms the armor stats into those of the official remake? Here's a link to all the remakes armor and properties.
https://www.neoseeker.com/secret-of-mana-2018/Items_and_Equipment

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #950 on: November 18, 2019, 12:49:24 am »
@teahouser

That table is wrong.  Most of the people here took a look at the actual codes from the original game (kethinov has a guide for his Equipment Balance patch).  Whoever wrote that guide was wrong (but the wrong guide spread all over the internet).  For example, Silver Band has no immunity, but the wrong guide says it protects against unconsciousness).  Golem Ring protects from Slow, not Petrify.  Gold Bracelet has Petrify protection (the wrong guides says it doesn't protect against anything).  Etc etc etc.

teahouser

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #951 on: November 18, 2019, 07:46:27 am »
@hsmong

Thanks for letting me know it's incorrect. Does the vanilla game's gauntlets actually protect against any status effects then?

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #952 on: November 18, 2019, 08:19:06 am »
@Queue

Hey, I know I may be asking a lot, but could you please post the address for Orb drops for the final 8 bosses that drop the orbs? (Hexas to Blue Dragon).  For both vanilla and Relocalized?  Thanks to kethinov's recent Lv8 orb progressive balance, I now have all the orbs up to Lv8 weapons before tackling the Mana Fortress (which is exactly what I want), but now, I want to rearrange the orb orders (getting the lv8 sword orb as the 2nd to last orb (Thunder Gigas) is frustrating).  This is for my private use though (since I'm sure this doesn't bother anyone else), and therefore isn't for any patch.

Kethinov told me that they're all linked with the events of the game, meaning different codes are necessary for vanilla and Relocalized.  If I have the codes for the vanilla, I can take a look at it and try to find a pattern to see which values go with which orb (hopefully).  And if I have the codes for Relocalized, then I can put numerous things to fit my needs.

So far, the only thing I figured out was that they're in 0x0A bank for vanilla, and 0x22 bank for Relocalized (based on the Turbo patch), but that's pretty much it.  Thanks in advance for any help you can give me.



@teahouser

Guantlets doesn't give you any SE protectoin, but it does give you +5 STR.  And before you ask, Dragon Ring doesn't give you anything (not even stat bonus).

teahouser

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #953 on: November 18, 2019, 11:18:09 am »
@hnsong

Sorry when I said gauntlets I was referring to all arm armor/rings in game. I was wondering if someone could post the actual list off all the arm armor/rings and various status effect protections there are in this game?

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #954 on: November 18, 2019, 02:25:37 pm »
All following event numbers will be hexadecimal (0x?) but not prefixed with 0x for brevity.

In vanilla, events 000-3FF are in bank 0x09 and events 400-7FF are in bank 0x0A (in VWF and Relocalized, events 000-7FF are in banks 0x21 and 0x22 without the clear split down the middle like with the vanilla events).

Event 500 gives a Glove Orb.
Event 501 gives a Sword Orb.
Event 502 gives an Axe Orb.
Event 503 gives a Spear Orb.
Event 504 gives a Whip Orb.
Event 505 gives a Bow Orb.
Event 506 gives a Boomerang Orb.
Event 507 gives a Javelin Orb.

The event scripts that run after you defeat a boss (or open a weapon orb chest) call one of those 8 events to give you a weapon orb. In the event scripting bytecode, a 2 followed by the three-digit event number is how you call another event. So 2500 (0x25 0x00) is \call 500 (Glove Orb), 2507 is \call 507 (Javelin Orb), etc.

These are generally too short to search for on their own, as you'll find a lot of unrelated things that happen to be the same two bytes.

The following events call event 500 (Glove Orb):
233 (Tonpole)
527 (Tonpole Trio)
5F3 (Red Dragon)
670 (Chests)
The following events call event 501 (Sword Orb):
112 (Mantis Ant)
282 (Great Viper)
50A, called by 2D5 (after Tasnica Boss, talking to king / Jema)
5F5 (Thunder Gigas)
671 (Chests)
The following events call event 502 (Axe Orb):
237 (Fire Gigas)
5ED (Dragon Worm)
672 (Chests)
The following events call event 503 (Spear Orb):
1B9 (Tropicallo)
4A4 (Mech Rider III)
4B4 (Aegagropilon)
673 (Chests)
The following events call event 504 (Whip Orb):
212 (talking to Jema)
2A1 (Mech Rider I)
4A2 (Hexas)
553 (Doom's Wall)
59B (Hydra)
674 (Chests)
The following events call event 505 (Bow Orb):
16E (Wall Face)
20C (Jabberwocky)
381 (Boreal Face)
4CA (Kettle Kin)
5A5 (Gorgon Bull)
5EF (Snow Dragon)
675 (Chests)
The following events call event 506 (Boomerang Orb):
1E2 (Spikey Tiger)
251 (Spring Beak)
559 (Vampire)
5A2 (Blue Spike)
5F7 (Blue Dragon)
66D (Frost Gigas)
676 (Chests)
The following events call event 507 (Javelin Orb):
2CA (Minotaur)
36A (Kilroy) (maybe? not positive if this one's functional)
4B8 (Snap Dragon)
52F (Mech Rider II)
544 (Lime Slime)
5F1 (Axe Beak)
677 (Chests)

So assuming I got all that data correct, the events you possibly want to modify are:
5F3 (Red Dragon) (Glove Orb)
5F5 (Thunder Gigas) (Sword Orb)
5ED (Dragon Worm) (Axe Orb)
4B4 (Aegagropilon) (Spear Orb)
4A2 (Hexas) (Whip Orb)
5EF (Snow Dragon) (Bow Orb)
5F7 (Blue Dragon) (Boomerang Orb)
5F1 (Axe Beak) (Javelin Orb)

Those do all happen to be between 400-7FF so they are all in bank 0x0A. In ZPS syntax, they're the following for vanilla events:
@OFF $CA79D4
\event \call 500
@OFF $CA79E1
\event \call 501
@OFF $CA79AE
\event \call 502
@OFF $CA218F
\event \call 503
@OFF $CA19B7
\event \call 504
@OFF $CA79BA
\event \call 505
@OFF $CA79F0
\event \call 506
@OFF $CA79C7
\event \call 507

Using the data at those addresses and bytes preceding / following, you should be able to use them as a pattern to search for to locate the same event in VWF / Relocalized.



Here's a list of all equipment that provides either stats or status effect immunities:
- head armor:
Quilted Hood (agi)
Circlet (int)
Unicorn Helm (wis)
Cockatrice Cap (petrify immunity)
Amulet Helm (wis & int)
Griffin Helm (agi & str)
Faerie Crown (wis & int)
- body armor:
Flower Suit (sleep & poison immunity)
Power Suit (str)
Faerie Cloak (con)
- hand armor:
Faerie's Ring (agi, confuse & balloon & pygmy & poison immunity)
Power Wrist (str)
Cobra Bracelet (poison immunity)
Wolf's Band (agi)
Silver Band (wis)
Golem Ring (tangle immunity)
Frosty Ring (frosty immunity)
Ivy Amulet (sleep & poison immunity)
Gold Bracelet (petrify immunity)
Lazuri Ring (wis & int)
Gauntlet (str)
Ninja Gloves (agi, tangle immunity)
Watcher Ring (moogle immunity)
Imp's Ring (frosty & engulf immunity)
Amulet Ring (petrify immunity)

I think I got all of those correct. That's pulled directly from the equipment data in the ROM; any mistakes would be in my transcription. Wisdom stat boost from items aren't functional in vanilla, but some items do have the data for +wisdom regardless, which is noted in that list.

teahouser

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #955 on: November 18, 2019, 04:28:30 pm »
Thank you for the reply Queue. Are all of these in effect in your version? Plus the wisdom stat ones, as I'm sure you fixed that for yours.

My goal is to not be engulfed, so looks like imp ring is my only choice for that status immunity.

Question, should saber buffs end at the same time for all characters? Or is it dependent on how much the player attacks? I noticed the character who I had control over saber buffs would end twice as fast as the other two characters.
« Last Edit: November 18, 2019, 04:34:20 pm by teahouser »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #956 on: November 18, 2019, 04:43:00 pm »
The only feature in Turbo that changes equipment data is Items\Equipment_Tweaks and is currently Off by default, so that information should be accurate. And yes, Bug_Fixes\Armor_Wisdom_Stat makes +wisdom on equipment functional.

Equipment Tweaks adds engulf immunity to the Guardian Ring.

Saber Buffs aren't time based, but number of hits based, and as far as I know don't have any remaining bugs in their hit count counting down (the exception is Shadow Saber where it's based on hit count & mana amount drained). Spell level and number of targets controls how many hits the buff will last for, where you really want to single target buff your characters if you want it to last.

teahouser

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Secret of Mana, Turbo - Beta 191115
« Reply #957 on: November 18, 2019, 05:21:57 pm »
Awesome thank you for filling me in on how they work. I'm half way through my new game plus playthrough, and have no bugs or glitches to report so far.

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191118
« Reply #958 on: November 18, 2019, 07:23:47 pm »
@Queue

Wow, thanks.  I was able to change things in vanilla rom.  Unfortunately, I have no idea how to search for Relocalized events.  I tried various things, like search for [Event 4A2] (for Hexas) in the ZPS file, but I couldn't find anything.  How do I search for an event for Relocalized?

I know there are two events I can use as reference (from your ZPS file):  Javelin switch (for Mech Rider 2) from Emperor Gate, and Spear switch (for Thunder Gigas) from Progressive Weapon Balance.

Code: [Select]
'[Event 52F: Defeated Mech Rider II]
@OFF $CA5F6B
'\event \call 507 ' javelin orb
\event \call 504 ' whip orb

(relocalized)
'sig 2  507 2935 1B5D
'[Event 52F]
@OFF $E2ABD7
\event \call 504


'[Event 5F5: Defeated Thunder Gigas]
@OFF $CA79E1
RAW 2= 503

(relocalized)
'sig 2  501 29 46 0A 1  62A
@OFF $E2CF66
'[Event 5F5]
RAW 2= 503

But I don't see any pattern.  The difference between Relocal and vanilla for Mech Rider 2 is 184C6C (E2ABD7 - CA5F6B), and for Thunder Gigas is 185585 (E2CF66 - CA79E1).  Since they're different value, I can't just add the difference to the address.  What do I do?
« Last Edit: November 18, 2019, 07:31:33 pm by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191118
« Reply #959 on: November 18, 2019, 07:31:23 pm »
Version 2019-11-18:
https://ufile.io/ob76hjba

Changes:
- Updated kethinov's Alternate Karon to v1.1, adding _Wandering_Helmsman as a sub-option to control whether Karon stays at the ship's wheel
- Updated kethinov's Remove Empire Castle Gate Permanently to v1.4
- Implemented Quality_of_Life\No_Whip_Tile_Gather, makes whip posts less annoying
- Implemented Bug_Fixes\Flight_Waits_For_Events (should prevent the Mana Fortress barrier skip), this needs serious testing as it's in very fragile code related to flight (summoning Flammie) and cannon travel; if something goes wrong, you'll probably get stuck or the game will hang, buuuut, I think I got it working right
- Rewrote Bug_Fixes\Whip_Post_Fix, this may have finally solved all major whip post bugs and exploits I was aware of, though admittedly I haven't tested the trick where people use spell casting and the whip post to walk through walls, so maybe that can still happen
- Modified Revisit_Sunken_Continent to automatically extend the bridge, with fallbacks of talking to any of the three Resistance NPCs inside to extend the bridge as well (so you don't have to re-enter the room if you step on the button), and forgot to update the description; kethinov, I took a slightly different approach to the event edits to avoid the bridge state saving into the save file (so if the feature is turned off the bridge doesn't stay extended)

Technical Changes:
- Rewrote the Quick Spell icon loading code to use vanilla spell icon data instead of its own hardcoded list; this resolved a compatibility headache



hmsong, using the Red Dragon event as an example, open up a patched ROM (that has Relocalized applied) in a hex editor and go to 0x0A79D4 ($CA79D4). You should see 25 00 29 46 16 2A 00; search for that same set of values (hex values, not a text string). Searching the whole file for "25 00 29 46 16 2A 00" should only find two results, at 0x0A79D4 which is the vanilla event script, and at 0x22CF59 ($E2CF59) which is the Relocalized copy of that same event.

You can do the same for VWF if you wanted to be thorough.

As for how many bytes you need to copy then search for, it kinda varies. Sometimes as few as 4 or 5 will be enough. If you find more than two results, you probably need a longer pattern, and if you only find one result, something was changed between vanilla and VWF / Relocalized (usually text, but there are also some minor adjustments to non-text parts of some events). For all of these weapon orb events though, I don't think any were changed.

Throughout the ZPS file, wherever I wrote "'sig ?????????????" that's a byte pattern to search for in the ROM using a hex editor to find the correct spot for a Relocalized event edit.
« Last Edit: November 18, 2019, 07:47:51 pm by Queue »