Moving To Discord:

Hello everyone, due to bugs with the forum software that I do not have time to care about, I am going to be shutting down these forums and moving my discussions to Discord instead. I will eventually keep releases here on the site but the forums will be removed sooner or later. I encourage people to join my personal Discord if you have questions, if you are looking for any of my projects, etc.

Registration Code (Part 1): w%kQ6
Registration Code (Part 2): b<#$1[*(cw~
In order to register on this forum, you must use the codes above. Combine them into one code (copy paste).

FFXI Fishing Packet/Data findings

Topics that are regarding the popular online MMORPG Final Fantasy XI.
Posts: 1
Joined: Thu Jun 25, 2015 12:19 am

FFXI Fishing Packet/Data findings

Post by mutiny » Thu Jun 25, 2015 12:21 am

I have tried to do some extensive testing on the incoming packet with ID of 0x0115 as well. These are my findings:

First of all, the so called "Fish IDs" we have been used to are not exactly IDs, although they can sort of be used as such in most cases. This is probably well known and understood. They are paremeters which affect the fishing minigame itself.
By testing effects of different items and equipments, I feel the purpose of each value can be determined.

This is the data as considered directly from the incoming packet.
struct packet_115
unsigned int header; //
unsigned short stamina; // (max/initial stamina?)
unsigned short sideTime; // rod hangtime
unsigned short regen;
unsigned short rodMove; // rod movement (why the multiply by 20?)
unsigned short depletion; // stamina depletion (correct input)
unsigned short recovery; // stamina recovery (incorrect input)
unsigned short fightTime; // (why the multiplication by 60 when storing?)
unsigned char biteType;
unsigned char unk1; // padding? for 2 byte align?
unsigned short intuition; // see below

1. header: contains packet type, size, and packet sync/timer. Probably format general to all packets.

2. stamina: Fish's initial/max stamina for the fish on that particular bite. I have found that it directly relates to the fish's level. By taking several samples, for example:
Ryugu Titan range of "stamina" values:
It can be seen that the possible values of "stamina" for Ryugu Titan have differences in multiples of 93. This value "93" is determined by floor(fishLvl / 2) + 18. In the case of Ryugu Titan, it's level has never been determined, but from this equation we then know that its level has to be 150 or 151. This property has been verified using fishes with known level caps crayfish (lv 7, multiple of 21), silver shark (lv 76, multiple of 56), black ghost (lv 88, multiple of 62).

3. "ID3": The amount of the time the rod is likely to stay in the left or right position once moving from center. The item "Penguin Ring" causes ID3 and ID1 to increase by 2 under its effect, without going over 15. The description of this ring states that it "increases skill at tiring fish".

4. regen: this value is related to the difference between the player's fishing skill and the fish's level cap (among other possible factors), and also related to the "stamina" value. If this value == 128, the fish's HP is stagnant (it does not auto-deplete, nor does it regen). If this value is < 128, the fish's hp automatically depletes. The smaller this value, if less than 128, the more potent the auto-depletion. The same occurs if this value is > 128, where the fish auto-regens hp, with a stronger regen the higher it is over 128. For fish significantly lower level than the player's fishing skill, I have seen this value fluctuate with the "stamina" value (such as on lv 7 crayfish). It doesn't make sense, but the larger the "stamina" the lower this value would go, meaning more stamina = stronger auto-depletion. This value can be affected by: advanced fishing support, fishing apron/smock, ebisu rod, and possibly other untested factors.
Upon further investigation, the amount of stamina depletion seems to be this regen/depletion value * 60. (negative if auto-depleting, positive if regening, automatically handled from the subtraction of 128).
From above, the -128 makes sense, as the sign (or 0 value) directly indicates regen-ness.

5: "ID1": The amount of rod movement, or more accurately the likelihood of the rod to move toward the left or right side from the center position. See 3. ID3.

6: "ID2": The amount of stamina depleted upon a "correct" input to the minigame (for normal blue arrow anyways, not gold). Gold arrow doubles the amount of stamina depletion of this value. Value only changes with fishing rods (decreasing with improved rods). Yes this is correct, more "improved" rods can have a smaller value than cheaper/weaker rods. A willow rod could kill a fish faster than Ebisu rod. Whether it is better at actually reeling them or make it easier to fight the fish is the difference.

7: "ID4": The amount of stamina recovered by the fish upon an "incorrect" input to the minigame. May be halved if incorrect input on gold arrow (I need to verify again). Value changes with fishing rods, but also changes with an "angler's discernment" proc, as well as Heron Ring. On angler's discernment proc, this value is decreased by 30%. If Heron Ring is equipped with fishing support in effect, this value also decreases (investigated decrease amount, seems like 10% decrease rounded to nearest 10 integer result).

8: fightTime: The amount of time (in seconds) you have from bite to losing catch.

9: biteType: This value relates to the type of fish or other conditions on fish bite.
0 = small fish/small item
1 = large fish/large item/monster
2 = "angler's discernment" proc on small fish
3 = "angler's discernment" proc on large fish
From info from atom0s' findings, seems to be a 2 bit packed flag. 0b10 bit indicates discernment, 0b01 bit indicates catch size.

10: slotID: I believe (with no evidence) that this relates to a pool or slot ID of the fish biting. This value MUST match the appropriate value in the outgoing "reel in" packet after a successful fish fight.
actually, after further investigation, this appears to be related to "intuition", or the chance for gold arrows to appear during mini game. This value increases on use of "Duck ring" or on angler's discernment proc, both of which increase chance of gold arrows. Interesting that they would use this value as an "ack" response in the catch packet. It seems this value also varies over time, probably varies on day/season/moon.

Who is online

Users browsing this forum: No registered users and 1 guest