If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

If we have not seen the familiar at levels 2, 3, (4 or 5), x/x
If we have not seen the familiar at level 5, ULTIMATE move is Unknown
If we have not seen the familiar at all, Move #1 and #2 and the attribute are also Unknown

I'll finish filling out this file with the data that is known from the spreadsheet and my own records this evening and will submit it.

Given that, in FightRequest on round 1 of a fambattle - before either side has moved - parse name, level, power, hp, move 1, move 2, [move 3], attribute and register with FamiliarDatabase (which will have read fambattle.txt). If it disagrees with previously known data - either missing or incorrect! - updata database and return a string to be logged to the session log, just as we do for unknown items, etc.

There are a lot of easily spaded things: Pokefam familiar things from somebody who owns that familiar. I am such a person; there are a fair number of intermediate L2/L3 things I did not record that automated logging would have caught.

Next steps:

- Parse this file and make the data available via familiar proxy values
- parse the (first) fambattle page and register fambattle parameters with FamiliarDatabase, which will log to the session log if there is something new (or corrected) from this file
- Log the fambattle familiars in the session log in a "pretty" way for people who want to see what the initial setup is.

(And eventually, we could log the effects of enemy familiar actions (and our familiar actions) to allow tracking the whole battle. If anyone cares. Sort of like Alice's Army...)

Comments and suggestions - and updates - are welcome. I'll get some more myself tomorrow, although manually checking if I have new data is not all that fun...

Revision 18533 parses the teams on round 1 of a fambattle and extracts everything interesting. Doesn't do anything with it yet. Next up:

1) Pass that data to FamiliarsDatabase to update PokefamData for familiars, as needed. And log a discovery line in the session log and gCLI, much as we do for items.
2) Log something pretty in the session log showing the teams.
3) Parse the Team Management page and pass what we find to FamiliarDatabase to update data if needed.
4) Given that, I can look at my own appropriately leveled familiars to discover all of KoL's "short names" for them. For example, ULTIMATE: Spiky Burst is "ult_crazyblast". We'll need those if we want to provide a function to ask a particular familiar to do a particular move.

I suppose next will be parsing the state of the teams every round and keeping track of everything in settings, so that consult scripts can do something sensible. And then adding CCS actions (which are used in Combat Filters, too) and a function that a consult script can use.

In the final turns of my latest pokefam run, when I was trying to determine all the "short" skill names (as used in URLs for submitting skills for familiars), I wanted to level up one of my L3 familiars whose ULTIMATE skill was Vulgar Display, since I had none at the level. So I spent 5 pokedollars and bought the "add Smart to a familiar" thing.

Next battle, I got a "this familiar is incorrect" update line.

Seems like we might want to track which familiars have been augmented this ascension with which perma-boost. You can only have one per familiar, if I understand. Given that, I'll compensate when parsing familiars.

I wish I'd saved a DEBUG log for applying the potion to the familiar. I'll ascend into another Pokefam run tomorrow, and, by and by, will boost a familiar. It'll be easiest to reproduce once I add code to parse the Team Management page, where it shows you all of your familiars at their current level - Power/HP - but also shows you all of the skills they will have at level 5.

I have a LOT of familiars. I'm only missing 2 of the Pokefam-only familiars, because I spent about 1.5 million before I ascended. 600K of which was for a Slotter, since I really wanted it. I'll buy at least a Cornbeefadon before I ascend this time, since I need the short name for the Pepperscorn move...

(I wonder what Mu has? No way, no how, will I buy it at anywhere close to its current price. Maybe at a tenth of that price.)

Anotother observation: Familiars can have multiple "attributes". They only ever start with one, but you can feed one a potion to add another, and various battle moves can grant an attribute. The column has room to show two attributes without wrapping. (Just as the Power has room to show 4 without wrapping - but if you power up the familiar, the fifth sword will wrap.)

For the purpose of looking at 1st round teams, need to parse all the attributes - and ignore the "added" one, if present. But if I make this parse subsequent rounds of fambattles, will need to save multiple attributes in the "current" state of the familiar.