Page 6 of 8

Re: Phantasy Star Disassemblies

PostPosted: Sun Feb 28, 2016 1:14 am
by Paladin356
lorenzo wrote:
Paladin356 wrote:I was able to fix the value and give the Rykr-Ring equipability to one of the five optional characters at the end. Now i just need to add stat values to it. Any suggestions?

Its strange because when i looked at the code for this, it seemed as if the item was originally just meant to be a storyline item. IDK if its an oversight or if it was actually meant just to be a story based item. hmmm....


The rings are plot items since they are required to enter The Edge; they made 4 rings equippable for the main characters (Chaz, Rika, Rune and Wren) because they can never leave the party. If you equip one of the rings to the other optional characters, they can be replaced by other characters and you end up not having the rings anymore so they made the Rykros Ring not equippable. So it's just not to create a plot hole.

For adding the stats, I would give a bonus to all stats since the five optional characters have different strengths and weaknesses, and the other rings give bonuses to more than one stat as well so I would do the same for the Rykros Ring


That makes sense that it would be a storyline based item. I think I'll give it +24 to Defense and then +2 to every thing else.

This reminds me of in Lunar: The Silver Star when you need all of the Dragon Equipment to enter the Grindery. For the longest time I didn't know that you also needed the White Dragon Wings equipped to enter. I originally thought that was an optional item that teleported you to towns. Low and behold it also gave you a tiny stat boost and allowed you to enter with the other items.

Thanks for the help with this. I think I'm going to do a replay using the patch on my Retron 5.

Re: Phantasy Star Disassemblies

PostPosted: Mon Mar 21, 2016 8:41 am
by dee_ehn
Is there something weird I'm missing with text strings in PSIV? I edited item names and their in-battle display was shifted by one item down (id est trimates were showing up as antidotes). The weird thing is it wasn't the whole list, and I couldn't really discern where the displacement began.

Re: Phantasy Star Disassemblies

PostPosted: Mon Mar 21, 2016 1:59 pm
by lorenzo
dee_ehn wrote:Is there something weird I'm missing with text strings in PSIV? I edited item names and their in-battle display was shifted by one item down (id est trimates were showing up as antidotes). The weird thing is it wasn't the whole list, and I couldn't really discern where the displacement began.


One problem I know is in vivify's Proper-caser patch where he replaced dashes with spaces and there were formatting problems during item drops, but I'm not sure about the in-battle list. I haven't looked into this yet....

Make sure the you didn't switch item indexes for the names, like, if an item has index 10, then the name for this item must be at index 10 in the name table as well.

If you can't figure anything out, then I would say post the changes you made and I will try and see what I can find out.

Re: Phantasy Star Disassemblies

PostPosted: Fri Apr 01, 2016 12:07 pm
by lorenzo
I updated the Phantasy Star IV disassembly on romhacking.net so it has the latest version as GitHub. I also included a file with the addresses for treasure chests. It's version 3.0 so wait until it's approved.

Another thing is that I uploaded the disassembly for the original Phantasy Star some time ago. Find the link in the OP. Unfortunately it's very incomplete, meaning that there's lots of code in data form and there's no info. Chances are I will not continue with this, but I included a link anyway if someone wants to take a shot at it.

Re: Phantasy Star Disassemblies

PostPosted: Fri Nov 03, 2017 12:12 pm
by Doctor Hooves
Is it possible to edit enemy groups using the PSIV disassembly? I've been wanting to do it for a while now.

Re: Phantasy Star Disassemblies

PostPosted: Fri Nov 03, 2017 2:48 pm
by lorenzo
Unfortunately it's not possible right now; enemy formation data is compressed.

Re: Phantasy Star Disassemblies

PostPosted: Fri Nov 03, 2017 6:33 pm
by etony33
Does that apply to both which formations are called in which areas and the formations themselves?

In other words, let's say formation 00 is Xanafalgue x2. The game calls formation 00 in the Piata academy basement. Would it be possible to edit either which enemies formation 00 contains or where formation 00 can be called and at what rate?

Re: Phantasy Star Disassemblies

PostPosted: Sat Nov 04, 2017 12:03 pm
by lorenzo
Yes, it applies to both location and formations themselves. There's a huge chunk of compressed data which holds formations and item drops for every map in the game. This data gets de-compressed in RAM.

I was thinking of actually modifying the disassembly to have this data stored in ROM already uncompressed: I would need to dump the RAM and put it in the ROM. It's a little time consuming and I'm in the middle of other projects, so I will not do it right now, but I think it's a nice solution.

I could also do that for dialogue which is compressed as well; after decompressing it, I will turn all raw bytes into text so it's easily editable like I did with PSII and PSIII, however there's a lot more dialogue in PSIV compared to the other 2 games...

Re: Phantasy Star Disassemblies

PostPosted: Sat Nov 04, 2017 5:20 pm
by etony33
Do you happen to know whether the item drop rate is the same for every enemy?

Re: Phantasy Star Disassemblies

PostPosted: Sun Nov 05, 2017 10:19 am
by lorenzo
I checked a few formations which give items and they have a drop rate of 8; however I don't know all the item drop formations but I assume it's 8 for all of them. I would have to do a playthrough and check every formation to see which item they drop and the rate.

Is there a list somewhere? Otherwise I will make one myself and post it here.

EDIT: OK, I started checking enemies up to Tonoe, and I already saw different drop rates, so I stand corrected. Also I need to point out that it's true item drops are in the formation data, but they only apply when a particular enemy is there. For example, any formation with MonsterFly has Antidote as item drop, so on a practical level we can say that drops depend on enemies even though data-wise it's not true.

Re: Phantasy Star Disassemblies

PostPosted: Sun Nov 05, 2017 11:15 pm
by Zucca
lorenzo wrote:For example, any formation with MonsterFly has Antidote as item drop, so on a practical level we can say that drops depend on enemies even though data-wise it's not true.
I've wondered this for quite a some time now. Why the devs made the item drop code as it is? I guess you could then create enemy groupings that don't have anything to drop even if you can get item drom from the same enemies elswhere...

Anyway. I looked at the disassebly not too long ago... I wanted to know if I were right:
Zucca wrote:Then... a comparison is made by subtracting Item_Drop_Rate from the newly created 7-bit random number: cmp.b (Item_Drop_Rate).l, d0
Next line: bge.s loc_318E skip to loc_318E if the random number is positive, meaning we missed the item.
So the item drop value must be higher than the random number that is some value between 0 and 127?
I'm trying to learn more m68k asm whenever I have time. This is why I ask. ;)

Re: Phantasy Star Disassemblies

PostPosted: Mon Nov 06, 2017 10:28 am
by lorenzo
Zucca wrote:Anyway. I looked at the disassebly not too long ago... I wanted to know if I were right:
Zucca wrote:Then... a comparison is made by subtracting Item_Drop_Rate from the newly created 7-bit random number: cmp.b (Item_Drop_Rate).l, d0
Next line: bge.s loc_318E skip to loc_318E if the random number is positive, meaning we missed the item.
So the item drop value must be higher than the random number that is some value between 0 and 127?
I'm trying to learn more m68k asm whenever I have time. This is why I ask.


Yep, you got it right. ;)

Re: Phantasy Star Disassemblies

PostPosted: Mon Nov 06, 2017 10:37 am
by etony33
My main concern is Greneris, because I have to farm large quantities of Star Dews for solo runs (I got away with 11 for Rune, but had to get to 20 for Seth).

I'm almost certain that it's 1/16 (so, it would be a drop rate of 8).

Re: Phantasy Star Disassemblies

PostPosted: Mon Nov 06, 2017 11:31 am
by Zucca
etony33 wrote:I'm almost certain that it's 1/16 (so, it would be a drop rate of 8).
16 fights for one item. If you needed 20... you propably fought more than 300 battles where generis was in. Madness. I guess you sped up the game on the emulator?

Re: Phantasy Star Disassemblies

PostPosted: Mon Nov 06, 2017 1:28 pm
by lorenzo
etony33 wrote:I'm almost certain that it's 1/16 (so, it would be a drop rate of 8).


That's correct, it's 1/16 for Greneris


Btw @Zucca, did you manage to run the assembler on Linux?