fuzziqersoftware / newserv

Phantasy Star Online game server, proxy, and reverse-engineering tools
MIT License
166 stars 37 forks source link

[Blue Burst] Creating a RAcaseal with Costume 7 (3rd row) ends up always with Grey Mag #443

Closed nolrinale closed 7 months ago

nolrinale commented 7 months ago

Describe the bug Tested with all the casts with the same color and it seems to affect only the RAcaseal, but If you create her with the color 7 of the last 3rd row of colors, her mag will be always grey, if you select any of the other colors of the 3rd row will be created with the correct ones.

image

The correct behavior is she should receive either of these image image

To reproduce Fill in steps to reproduce the behavior, such as:

  1. Create a RAcaseal with Color 7 of the last row
  2. Check in-game her default mag is always the Grey One
  3. The costume is white so the color should be either of the White Variations

Game version(s) (choose one or more of the following): BB

Elixir70 commented 7 months ago

Grey is the correct color. As far as I'm aware, the resulting color of a starter mag is the same color of an invalid mag color equipped for the first time (which assigns a color based on char costume). For a 7-3 RAcaseal, that's grey in BB.

See Soly's post here which also references qwerty's analysis: https://www.pioneer2.net/community/threads/sky-blue-mag.5419/post-54174

I don't know if this is something that changed from V2/V3 to BB, but this PSOWorld guide is either just incorrect or doesn't apply to BB: https://www.pso-world.com/sections.php?op=viewarticle&artid=1017

nolrinale commented 7 months ago

That table seems incorrect, should be the same as their other Casts companions, this would also apply to HUcaseal, Racast and HUcast which is not the case.

Let's take a closer look at this issue

fuzziqersoftware commented 7 months ago

qwerty and Soly's analyses are correct. This is the table from psobb.exe:

Costume   => 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37

HUmar     => 09 01 02 11 0A 05 06 0B 05 00 07 0B 0C 04 05 06 0E 06 00 00 00 00 00 00 00
HUnewearl => 00 01 02 11 04 05 06 08 11 0D 01 02 0C 04 05 06 10 01 00 00 00 00 00 00 00
HUcast    => 00 01 02 11 04 0E 06 01 0E 09 07 02 11 04 05 06 04 11 0D 01 0B 11 0D 05 06
RAmar     => 00 01 0B 11 04 05 06 0F 05 09 07 02 11 04 05 0F 06 08 00 00 00 00 00 00 00
RAcast    => 00 01 0B 11 0A 05 06 06 09 09 01 02 11 0A 0E 06 01 04 0D 07 01 0C 0A 05 06
RAcaseal  => 10 07 02 11 0A 05 0A 00 07 00 01 08 11 04 09 0F 0D 02 0A 07 02 0C 04 0E 0E
FOmarl    => 00 01 02 03 04 05 06 10 01 00 07 02 0C 04 05 06 10 0B 00 00 00 00 00 00 00
FOnewm    => 0D 01 02 11 04 05 06 00 11 08 01 02 03 04 05 06 04 09 00 00 00 00 00 00 00
FOnewearl => 00 01 02 03 04 05 06 10 05 09 01 0B 0C 04 05 06 0E 01 00 00 00 00 00 00 00
HUcaseal  => 00 01 02 0C 04 05 0F 0A 04 0D 01 08 11 04 05 0F 05 10 10 07 02 0B 0A 0A 0F
FOmar     => 00 01 0B 0C 04 05 06 08 0A 0D 07 02 11 0A 05 06 01 0B 00 00 00 00 00 00 00
RAmarl    => 00 07 02 11 04 05 06 09 0C 00 01 02 11 0D 05 10 01 06 00 00 00 00 00 00 00

And these are the colors (from StaticGameData.cc):

    /* 00 */ "red",
    /* 01 */ "blue",
    /* 02 */ "yellow",
    /* 03 */ "green",
    /* 04 */ "purple",
    /* 05 */ "black",
    /* 06 */ "white",
    /* 07 */ "cyan",
    /* 08 */ "brown",
    /* 09 */ "orange",
    /* 0A */ "light-blue",
    /* 0B */ "olive",
    /* 0C */ "light-cyan",
    /* 0D */ "dark-purple",
    /* 0E */ "grey",
    /* 0F */ "light-grey",
    /* 10 */ "pink",
    /* 11 */ "dark-cyan",

So, indeed, a RAcaseal with that costume should get gray (0E) on BB.