Most Important Mag Bug

CTB

uwu
Gender
Male
Guildcard
42000446
Row 1, Costume 9 is always a shitty brown mag. Or the RNG is fucked after six remakes. It should either be randomized (Gamecube style) or a set color (Blue Burst style.)

Tried classes on a whim: HUmar, HUcast, HUcaseal, FOmarl, RAcaseal, and FOnewmn. This probably applies to other alternates too but I didn't check...because...I just want my sky blue mag!
 
Can also second this, RAcast did it too when I was looking for my brown mag (figured I just got lucky, apparently not).
 
*trashcans this report* No, just kidding, will look at it when I get home...
 
I did some testing. Recreated a new RAmar character multiple times and I found the following colored mags for these costumes:

Row 1 Costume 8 - Sky Blue
Row 1 Costume 9 - Brown
Row 2 Costume 8 - Pink
Row 2 Costume 9 - Forest Green
 
http://www.geocities.jp/psoabc/ymag.html#0 or http://www.geocities.jp/psoabc/mag.html#9
http://www.age.jp/~l_angel/pso/pso_bb/mag_color.html
These are the costume to mag color charts used in PSOBB
I can't find one in English

Also the colors of mags from boxes in mines and cca are determined by party leader's costume
アイテムボックスから入手できるアイテム「マグ」の色が、パーティーリーダーのキャラクターのコスチュームの色によって変化するようになりました。
This was introduced in PSOBB:JP ver.1.12.2 on July 20th, 2004

btw
Currently, row1 col8 and row3 col7 of all 12 classes give cyan mags, and row1 col9 is the only costume that gives brown mags
Same as the old public teth server
Code:
if ((clientchar->_class == CLASS_HUCAST) || (clientchar->_class == CLASS_HUCASEAL) ||
   (clientchar->_class == CLASS_RACAST) || (clientchar->_class == CLASS_RACASEAL))
    NewE7->inventory[2].item.data2[3] = (unsigned char) clientchar->skin;
else
    NewE7->inventory[2].item.data2[3] = (unsigned char) clientchar->costume;

if (NewE7->inventory[2].item.data2[3] > 0x11)
    NewE7->inventory[2].item.data2[3] -= 0x11;
 
As qwerty posted, there is no rng in the mag color.
If the skin or costume is higher than 17, it does (n - 17) and then selects the color.
All this is 0 based so, basically at 18 start counting from 0 again.

Here is the list of colors I use from the old item maker

Code:
"Red", "Blue",
"Yellow", "Bright Green",
"Purple", "Black",
"White", "Cyan",
"Brown", "Orange",
"Light Blue", "Gold",
"Mint Green", "Fuschia",
"Grey", "Cream",
"Pink", "Dark Green"
 
Didn't know JPBB actually did a quality of life change like that. Thanks for the info qwerty, you seem to know everything.

Will the server (eventually) reflect the JP colors or will it just stay as is?
 
I don't know what Soda thinks of this but IMO, it should just stay as it is right now. It's already coded, works fine and lets you pick any color you want.
 
Soly said:
I don't know what Soda thinks of this but IMO, it should just stay as it is right now. It's already coded, works fine and lets you pick any color you want.
I agree.
 
I'm not sure why they would force the leader's costume colour on everybody in the first place. Can't BB drop Mags with an unassigned colour so that they attain a colour based on the costume of the first person to equip them, as is normally the case?
 
From the ship source...
Code:
// Mag
	i->item.data[2] = 0x05;
	i->item.data[4] = 0xF4;
	i->item.data[5] = 0x01;
	i->item.data2[3] = mt_lrand() % 0x11;
break;
The color of mags from boxes are random
 
That's a bummer, unless the new GC Mag code just doesn't support unassigned colours anymore, in which case it's unavoidable, I guess.
 
Not really sure if an unassigned color is possible but if someone really wants a mag, why not just:
create a new dummy character, move the mag to common bank, ???, profit

Requires no new code and just takes a few minutes per mag. By the time you get a mag to drop from a box, you will have your bank at least half full of mags.
 
Maybe the GC chart is different, but a simple run of Normal Mine is almost guaranteed to yield a Mag, as Vol Opt has a 75% chance of dropping one if you don't find one in a Mine 1 box.
 
Aleron Ives said:
I'm not sure why they would force the leader's costume colour on everybody in the first place. Can't BB drop Mags with an unassigned colour so that they attain a colour based on the costume of the first person to equip them, as is normally the case?
July 20th, 2004 was just a few days after release date of PSOBB:JP, July 8th, 2004, maybe ST tweaked it again later
But I can't find any backup of official maintenance announcements about this

Yes
Any color value, that is greater than 17, will be set to corresponding color based on the costume of the first character equips that mag on client side
It's possible to reproduce this behavior on server side
 
english-ed


mag colors
Code:
enum MagColors {
    MagColor_Red,
    MagColor_Blue,
    MagColor_Yellow,
    MagColor_Green,
    MagColor_Purple,
    MagColor_Black,
    MagColor_White,
    MagColor_Cyan,
    MagColor_Brown,
    MagColor_Orange,
    MagColor_SlateBlue,
    MagColor_Olive,
    MagColor_Turquoise,
    MagColor_Fuschia,
    MagColor_Grey,
    MagColor_Ivory,
    MagColor_Pink,
    MagColor_DarkGreen,
    MagColor_Max,
};
costume to mag color lookup table
Code:
const unsigned char Costume2MagColorLUT[12][25] = { // 12 * (9 + 9 + 7)
    // 0x00 HUmar
    {
        MagColor_Orange, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_SlateBlue, MagColor_Black, MagColor_White, MagColor_Olive, MagColor_Black,
        MagColor_Red, MagColor_Cyan, MagColor_Olive, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Grey, MagColor_White,
    },
    // 0x01 HUnewearl
    {
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Brown, MagColor_DarkGreen,
        MagColor_Fuschia, MagColor_Blue, MagColor_Yellow, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Pink, MagColor_Blue,
    },
    // 0x02 HUcast
    {
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Grey, MagColor_White, MagColor_Blue, MagColor_Grey,
        MagColor_Orange, MagColor_Cyan, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Purple, MagColor_DarkGreen,
        MagColor_Fuschia, MagColor_Blue, MagColor_Olive, MagColor_DarkGreen, MagColor_Fuschia, MagColor_Black, MagColor_White,
    },
    // 0x03 RAmar
    {
        MagColor_Red, MagColor_Blue, MagColor_Olive, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Ivory, MagColor_Black,
        MagColor_Orange, MagColor_Cyan, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_Ivory, MagColor_White, MagColor_Brown,
    },
    // 0x04 RAcast
    {
        MagColor_Red, MagColor_Blue, MagColor_Olive, MagColor_DarkGreen, MagColor_SlateBlue, MagColor_Black, MagColor_White, MagColor_White, MagColor_Orange,
        MagColor_Orange, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_SlateBlue, MagColor_Grey, MagColor_White, MagColor_Blue, MagColor_Purple,
        MagColor_Fuschia, MagColor_Cyan, MagColor_Blue, MagColor_Turquoise, MagColor_SlateBlue, MagColor_Black, MagColor_White,
    },
    // 0x05 RAcaseal
    {
        MagColor_Pink, MagColor_Cyan, MagColor_Yellow, MagColor_DarkGreen, MagColor_SlateBlue, MagColor_Black, MagColor_SlateBlue, MagColor_Red, MagColor_Cyan,
        MagColor_Red, MagColor_Blue, MagColor_Brown, MagColor_DarkGreen, MagColor_Purple, MagColor_Orange, MagColor_Ivory, MagColor_Fuschia, MagColor_Yellow,
        MagColor_SlateBlue, MagColor_Cyan, MagColor_Yellow, MagColor_Turquoise, MagColor_Purple, MagColor_Grey, MagColor_Grey,
    },
    // 0x06 FOmarl
    {
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_Green, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Pink, MagColor_Blue,
        MagColor_Red, MagColor_Cyan, MagColor_Yellow, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Pink, MagColor_Olive,
    },
    // 0x07 FOnewm
    {
        MagColor_Fuschia, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Red, MagColor_DarkGreen,
        MagColor_Brown, MagColor_Blue, MagColor_Yellow, MagColor_Green, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Purple, MagColor_Orange,
    },
    // 0x08 FOnewearl
    {
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_Green, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Pink, MagColor_Black,
        MagColor_Orange, MagColor_Blue, MagColor_Olive, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Grey, MagColor_Blue,
    },
    // 0x09 HUcaseal
    {
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_Ivory, MagColor_SlateBlue, MagColor_Purple,
        MagColor_Fuschia, MagColor_Blue, MagColor_Brown, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_Ivory, MagColor_Black, MagColor_Pink,
        MagColor_Pink, MagColor_Cyan, MagColor_Yellow, MagColor_Olive, MagColor_SlateBlue, MagColor_SlateBlue, MagColor_Ivory,
    },
    // 0x0a FOmar
    {
        MagColor_Red, MagColor_Blue, MagColor_Olive, MagColor_Turquoise, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Brown, MagColor_SlateBlue,
        MagColor_Fuschia, MagColor_Cyan, MagColor_Yellow, MagColor_DarkGreen, MagColor_SlateBlue, MagColor_Black, MagColor_White, MagColor_Blue, MagColor_Olive,
    },
    // 0x0b RAmarl
    {
        MagColor_Red, MagColor_Cyan, MagColor_Yellow, MagColor_DarkGreen, MagColor_Purple, MagColor_Black, MagColor_White, MagColor_Orange, MagColor_Turquoise,
        MagColor_Red, MagColor_Blue, MagColor_Yellow, MagColor_DarkGreen, MagColor_Fuschia, MagColor_Black, MagColor_Pink, MagColor_Blue, MagColor_White,
    },
};
also a patch for the good old teth 032111 (hope it doesn't break something else)
https://www.dropbox.com/s/6pqnuyt1m3ep8 ... 1.zip?dl=1
 
Soly said:
From the ship source...
Code:
// Mag
	i->item.data[2] = 0x05;
	i->item.data[4] = 0xF4;
	i->item.data[5] = 0x01;
	i->item.data2[3] = mt_lrand() % 0x11;
break;
The color of mags from boxes are random
the result of mt_lrand() % 0x11 is [0, 0x10]
0x11 (dark green) is not included
so it will never drop dark green mags from boxes
 
Back
Top