9a0a76c9f4
The pool now comes from the game's OWN resident database, not from a rating index plus guesses. tools/db_dump.py walked the client's self-describing table catalog read-only and wrote data/tables/ (149 tables, 55MB); tools/build_player_facts.py turned it into data/player_facts.json; data/pool.json is the compact form fut_cards loads. MEASURED, per player: position (players.preferredposition1), nationality, teamid, leagueid (via leagueteamlinks), and the six card attributes. The six attributes are NOT columns -- they are a weighted sum of the 29 base attributes, and the weights are read out of the game's own playerattributesmapping table rather than from published formulas. Checked against real FIFA 17 cards: Messi 89/90/86/96/26/61 and Ibrahimovic 72/90/81/85/31/86 are EXACT, Suarez is one off on physical, Ronaldo within two on pace and shooting. Keepers come out directly from the gk* columns. What this fixes on screen: Kaka was a CDM, Bale a CM, Suarez a GK, and every attribute was derived from the rating. Now Bale is RW, Boateng is a CB with 90 defending, De Gea is a GK, and a bronze pack deals real bronze players in real positions. REVERSAL, deliberate: nation/team/league were being sent as ZERO so the client would fill its own values (the merge fills those three only when they arrive zero). Now that we hold the game's own numbers there is nothing to gain from zeros, and they actively hurt -- club-stats drill-downs bucket by the item's own nation and leagueId, so a club full of zeros would have quietly emptied the per-nation and per-league panels fixed the day before. Send the real values. The old rating-index path is kept as a fallback so the pool still builds without data/pool.json, and it now says out loud which of the two it used, because one is a measurement and the other is a guess. 439 + 61 checks green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VUT92pz6RWKih9dSr8ZpxW
1 line
15 KiB
JSON
1 line
15 KiB
JSON
{"table":"clubcommentarynames","source":"FIFA17.exe resident database (tools/db_dump.py)","rowcount":292,"rowsize_bytes":4,"rows_emitted":292,"rowblock":"0x424af008","rowblock_bytes":1201,"descriptor":"0x7b581f8","schema":[{"name":"commentaryid","bit":0,"width":10,"kind":"int","min":4000,"max":5000,"storage":"int"},{"name":"commentarystartingletter","bit":10,"width":5,"kind":"int","min":1,"max":26,"storage":"int"}],"rows":[{"commentaryid":4001,"commentarystartingletter":1},{"commentaryid":4002,"commentarystartingletter":1},{"commentaryid":4003,"commentarystartingletter":1},{"commentaryid":4004,"commentarystartingletter":1},{"commentaryid":4005,"commentarystartingletter":1},{"commentaryid":4006,"commentarystartingletter":1},{"commentaryid":4007,"commentarystartingletter":1},{"commentaryid":4008,"commentarystartingletter":1},{"commentaryid":4009,"commentarystartingletter":1},{"commentaryid":4010,"commentarystartingletter":1},{"commentaryid":4011,"commentarystartingletter":1},{"commentaryid":4012,"commentarystartingletter":1},{"commentaryid":4013,"commentarystartingletter":1},{"commentaryid":4014,"commentarystartingletter":1},{"commentaryid":4015,"commentarystartingletter":1},{"commentaryid":4016,"commentarystartingletter":1},{"commentaryid":4017,"commentarystartingletter":1},{"commentaryid":4018,"commentarystartingletter":2},{"commentaryid":4019,"commentarystartingletter":2},{"commentaryid":4020,"commentarystartingletter":2},{"commentaryid":4021,"commentarystartingletter":2},{"commentaryid":4022,"commentarystartingletter":2},{"commentaryid":4023,"commentarystartingletter":2},{"commentaryid":4024,"commentarystartingletter":2},{"commentaryid":4025,"commentarystartingletter":2},{"commentaryid":4026,"commentarystartingletter":2},{"commentaryid":4027,"commentarystartingletter":2},{"commentaryid":4028,"commentarystartingletter":2},{"commentaryid":4029,"commentarystartingletter":2},{"commentaryid":4030,"commentarystartingletter":2},{"commentaryid":4031,"commentarystartingletter":2},{"commentaryid":4032,"commentarystartingletter":2},{"commentaryid":4033,"commentarystartingletter":2},{"commentaryid":4034,"commentarystartingletter":2},{"commentaryid":4035,"commentarystartingletter":2},{"commentaryid":4036,"commentarystartingletter":2},{"commentaryid":4037,"commentarystartingletter":2},{"commentaryid":4038,"commentarystartingletter":2},{"commentaryid":4039,"commentarystartingletter":2},{"commentaryid":4040,"commentarystartingletter":2},{"commentaryid":4041,"commentarystartingletter":2},{"commentaryid":4042,"commentarystartingletter":2},{"commentaryid":4043,"commentarystartingletter":2},{"commentaryid":4044,"commentarystartingletter":2},{"commentaryid":4045,"commentarystartingletter":2},{"commentaryid":4046,"commentarystartingletter":2},{"commentaryid":4047,"commentarystartingletter":2},{"commentaryid":4048,"commentarystartingletter":2},{"commentaryid":4049,"commentarystartingletter":2},{"commentaryid":4050,"commentarystartingletter":2},{"commentaryid":4051,"commentarystartingletter":3},{"commentaryid":4052,"commentarystartingletter":3},{"commentaryid":4053,"commentarystartingletter":3},{"commentaryid":4054,"commentarystartingletter":3},{"commentaryid":4055,"commentarystartingletter":3},{"commentaryid":4056,"commentarystartingletter":3},{"commentaryid":4057,"commentarystartingletter":3},{"commentaryid":4058,"commentarystartingletter":3},{"commentaryid":4059,"commentarystartingletter":3},{"commentaryid":4060,"commentarystartingletter":3},{"commentaryid":4061,"commentarystartingletter":3},{"commentaryid":4062,"commentarystartingletter":3},{"commentaryid":4063,"commentarystartingletter":3},{"commentaryid":4064,"commentarystartingletter":3},{"commentaryid":4065,"commentarystartingletter":3},{"commentaryid":4066,"commentarystartingletter":3},{"commentaryid":4067,"commentarystartingletter":3},{"commentaryid":4068,"commentarystartingletter":3},{"commentaryid":4069,"commentarystartingletter":3},{"commentaryid":4070,"commentarystartingletter":3},{"commentaryid":4071,"commentarystartingletter":3},{"commentaryid":4072,"commentarystartingletter":3},{"commentaryid":4073,"commentarystartingletter":3},{"commentaryid":4074,"commentarystartingletter":3},{"commentaryid":4075,"commentarystartingletter":4},{"commentaryid":4076,"commentarystartingletter":4},{"commentaryid":4077,"commentarystartingletter":4},{"commentaryid":4078,"commentarystartingletter":4},{"commentaryid":4079,"commentarystartingletter":4},{"commentaryid":4080,"commentarystartingletter":4},{"commentaryid":4081,"commentarystartingletter":4},{"commentaryid":4082,"commentarystartingletter":4},{"commentaryid":4083,"commentarystartingletter":4},{"commentaryid":4084,"commentarystartingletter":4},{"commentaryid":4085,"commentarystartingletter":4},{"commentaryid":4086,"commentarystartingletter":4},{"commentaryid":4087,"commentarystartingletter":4},{"commentaryid":4088,"commentarystartingletter":5},{"commentaryid":4089,"commentarystartingletter":5},{"commentaryid":4090,"commentarystartingletter":5},{"commentaryid":4091,"commentarystartingletter":6},{"commentaryid":4092,"commentarystartingletter":6},{"commentaryid":4093,"commentarystartingletter":6},{"commentaryid":4094,"commentarystartingletter":6},{"commentaryid":4095,"commentarystartingletter":6},{"commentaryid":4096,"commentarystartingletter":6},{"commentaryid":4097,"commentarystartingletter":6},{"commentaryid":4098,"commentarystartingletter":6},{"commentaryid":4099,"commentarystartingletter":6},{"commentaryid":4100,"commentarystartingletter":6},{"commentaryid":4101,"commentarystartingletter":6},{"commentaryid":4102,"commentarystartingletter":7},{"commentaryid":4103,"commentarystartingletter":7},{"commentaryid":4104,"commentarystartingletter":7},{"commentaryid":4105,"commentarystartingletter":7},{"commentaryid":4106,"commentarystartingletter":7},{"commentaryid":4107,"commentarystartingletter":7},{"commentaryid":4108,"commentarystartingletter":7},{"commentaryid":4109,"commentarystartingletter":7},{"commentaryid":4110,"commentarystartingletter":7},{"commentaryid":4111,"commentarystartingletter":7},{"commentaryid":4112,"commentarystartingletter":7},{"commentaryid":4113,"commentarystartingletter":7},{"commentaryid":4114,"commentarystartingletter":8},{"commentaryid":4115,"commentarystartingletter":8},{"commentaryid":4116,"commentarystartingletter":8},{"commentaryid":4117,"commentarystartingletter":8},{"commentaryid":4118,"commentarystartingletter":8},{"commentaryid":4119,"commentarystartingletter":8},{"commentaryid":4120,"commentarystartingletter":8},{"commentaryid":4121,"commentarystartingletter":8},{"commentaryid":4122,"commentarystartingletter":8},{"commentaryid":4123,"commentarystartingletter":8},{"commentaryid":4124,"commentarystartingletter":8},{"commentaryid":4125,"commentarystartingletter":8},{"commentaryid":4126,"commentarystartingletter":9},{"commentaryid":4127,"commentarystartingletter":9},{"commentaryid":4128,"commentarystartingletter":9},{"commentaryid":4129,"commentarystartingletter":9},{"commentaryid":4130,"commentarystartingletter":9},{"commentaryid":4131,"commentarystartingletter":10},{"commentaryid":4132,"commentarystartingletter":10},{"commentaryid":4133,"commentarystartingletter":11},{"commentaryid":4134,"commentarystartingletter":11},{"commentaryid":4135,"commentarystartingletter":11},{"commentaryid":4136,"commentarystartingletter":11},{"commentaryid":4137,"commentarystartingletter":12},{"commentaryid":4138,"commentarystartingletter":12},{"commentaryid":4139,"commentarystartingletter":12},{"commentaryid":4140,"commentarystartingletter":12},{"commentaryid":4141,"commentarystartingletter":12},{"commentaryid":4142,"commentarystartingletter":12},{"commentaryid":4143,"commentarystartingletter":12},{"commentaryid":4144,"commentarystartingletter":12},{"commentaryid":4145,"commentarystartingletter":12},{"commentaryid":4146,"commentarystartingletter":12},{"commentaryid":4147,"commentarystartingletter":12},{"commentaryid":4148,"commentarystartingletter":12},{"commentaryid":4149,"commentarystartingletter":12},{"commentaryid":4150,"commentarystartingletter":12},{"commentaryid":4151,"commentarystartingletter":12},{"commentaryid":4152,"commentarystartingletter":12},{"commentaryid":4153,"commentarystartingletter":12},{"commentaryid":4154,"commentarystartingletter":13},{"commentaryid":4155,"commentarystartingletter":13},{"commentaryid":4156,"commentarystartingletter":13},{"commentaryid":4157,"commentarystartingletter":13},{"commentaryid":4158,"commentarystartingletter":13},{"commentaryid":4159,"commentarystartingletter":13},{"commentaryid":4160,"commentarystartingletter":13},{"commentaryid":4161,"commentarystartingletter":13},{"commentaryid":4162,"commentarystartingletter":13},{"commentaryid":4163,"commentarystartingletter":13},{"commentaryid":4164,"commentarystartingletter":13},{"commentaryid":4165,"commentarystartingletter":13},{"commentaryid":4166,"commentarystartingletter":13},{"commentaryid":4167,"commentarystartingletter":13},{"commentaryid":4168,"commentarystartingletter":13},{"commentaryid":4169,"commentarystartingletter":13},{"commentaryid":4170,"commentarystartingletter":13},{"commentaryid":4171,"commentarystartingletter":13},{"commentaryid":4172,"commentarystartingletter":13},{"commentaryid":4173,"commentarystartingletter":13},{"commentaryid":4174,"commentarystartingletter":13},{"commentaryid":4175,"commentarystartingletter":13},{"commentaryid":4176,"commentarystartingletter":14},{"commentaryid":4177,"commentarystartingletter":14},{"commentaryid":4178,"commentarystartingletter":14},{"commentaryid":4179,"commentarystartingletter":14},{"commentaryid":4180,"commentarystartingletter":14},{"commentaryid":4181,"commentarystartingletter":14},{"commentaryid":4182,"commentarystartingletter":14},{"commentaryid":4183,"commentarystartingletter":14},{"commentaryid":4184,"commentarystartingletter":14},{"commentaryid":4185,"commentarystartingletter":14},{"commentaryid":4186,"commentarystartingletter":14},{"commentaryid":4187,"commentarystartingletter":14},{"commentaryid":4188,"commentarystartingletter":15},{"commentaryid":4189,"commentarystartingletter":15},{"commentaryid":4190,"commentarystartingletter":16},{"commentaryid":4191,"commentarystartingletter":16},{"commentaryid":4192,"commentarystartingletter":16},{"commentaryid":4193,"commentarystartingletter":16},{"commentaryid":4194,"commentarystartingletter":16},{"commentaryid":4195,"commentarystartingletter":16},{"commentaryid":4196,"commentarystartingletter":16},{"commentaryid":4197,"commentarystartingletter":16},{"commentaryid":4198,"commentarystartingletter":16},{"commentaryid":4199,"commentarystartingletter":16},{"commentaryid":4200,"commentarystartingletter":16},{"commentaryid":4201,"commentarystartingletter":16},{"commentaryid":4202,"commentarystartingletter":16},{"commentaryid":4203,"commentarystartingletter":16},{"commentaryid":4204,"commentarystartingletter":16},{"commentaryid":4205,"commentarystartingletter":18},{"commentaryid":4206,"commentarystartingletter":18},{"commentaryid":4207,"commentarystartingletter":18},{"commentaryid":4208,"commentarystartingletter":18},{"commentaryid":4209,"commentarystartingletter":18},{"commentaryid":4210,"commentarystartingletter":18},{"commentaryid":4211,"commentarystartingletter":18},{"commentaryid":4212,"commentarystartingletter":18},{"commentaryid":4213,"commentarystartingletter":18},{"commentaryid":4214,"commentarystartingletter":18},{"commentaryid":4215,"commentarystartingletter":18},{"commentaryid":4216,"commentarystartingletter":18},{"commentaryid":4217,"commentarystartingletter":18},{"commentaryid":4218,"commentarystartingletter":18},{"commentaryid":4219,"commentarystartingletter":18},{"commentaryid":4220,"commentarystartingletter":18},{"commentaryid":4221,"commentarystartingletter":19},{"commentaryid":4222,"commentarystartingletter":19},{"commentaryid":4223,"commentarystartingletter":19},{"commentaryid":4224,"commentarystartingletter":19},{"commentaryid":4225,"commentarystartingletter":19},{"commentaryid":4226,"commentarystartingletter":19},{"commentaryid":4227,"commentarystartingletter":19},{"commentaryid":4228,"commentarystartingletter":19},{"commentaryid":4229,"commentarystartingletter":19},{"commentaryid":4230,"commentarystartingletter":19},{"commentaryid":4231,"commentarystartingletter":19},{"commentaryid":4232,"commentarystartingletter":19},{"commentaryid":4233,"commentarystartingletter":19},{"commentaryid":4234,"commentarystartingletter":19},{"commentaryid":4235,"commentarystartingletter":19},{"commentaryid":4236,"commentarystartingletter":19},{"commentaryid":4237,"commentarystartingletter":19},{"commentaryid":4238,"commentarystartingletter":19},{"commentaryid":4239,"commentarystartingletter":19},{"commentaryid":4240,"commentarystartingletter":19},{"commentaryid":4241,"commentarystartingletter":19},{"commentaryid":4242,"commentarystartingletter":19},{"commentaryid":4243,"commentarystartingletter":19},{"commentaryid":4244,"commentarystartingletter":19},{"commentaryid":4245,"commentarystartingletter":19},{"commentaryid":4246,"commentarystartingletter":19},{"commentaryid":4247,"commentarystartingletter":19},{"commentaryid":4248,"commentarystartingletter":19},{"commentaryid":4249,"commentarystartingletter":19},{"commentaryid":4250,"commentarystartingletter":19},{"commentaryid":4251,"commentarystartingletter":19},{"commentaryid":4252,"commentarystartingletter":19},{"commentaryid":4253,"commentarystartingletter":19},{"commentaryid":4254,"commentarystartingletter":19},{"commentaryid":4255,"commentarystartingletter":20},{"commentaryid":4256,"commentarystartingletter":20},{"commentaryid":4257,"commentarystartingletter":20},{"commentaryid":4258,"commentarystartingletter":20},{"commentaryid":4259,"commentarystartingletter":20},{"commentaryid":4260,"commentarystartingletter":20},{"commentaryid":4261,"commentarystartingletter":20},{"commentaryid":4262,"commentarystartingletter":20},{"commentaryid":4263,"commentarystartingletter":20},{"commentaryid":4264,"commentarystartingletter":21},{"commentaryid":4265,"commentarystartingletter":21},{"commentaryid":4266,"commentarystartingletter":21},{"commentaryid":4267,"commentarystartingletter":21},{"commentaryid":4268,"commentarystartingletter":22},{"commentaryid":4269,"commentarystartingletter":22},{"commentaryid":4270,"commentarystartingletter":22},{"commentaryid":4271,"commentarystartingletter":22},{"commentaryid":4272,"commentarystartingletter":22},{"commentaryid":4273,"commentarystartingletter":22},{"commentaryid":4274,"commentarystartingletter":22},{"commentaryid":4275,"commentarystartingletter":23},{"commentaryid":4276,"commentarystartingletter":23},{"commentaryid":4277,"commentarystartingletter":23},{"commentaryid":4278,"commentarystartingletter":23},{"commentaryid":4279,"commentarystartingletter":23},{"commentaryid":4280,"commentarystartingletter":23},{"commentaryid":4281,"commentarystartingletter":23},{"commentaryid":4282,"commentarystartingletter":23},{"commentaryid":4283,"commentarystartingletter":23},{"commentaryid":4284,"commentarystartingletter":23},{"commentaryid":4285,"commentarystartingletter":23},{"commentaryid":4286,"commentarystartingletter":23},{"commentaryid":4287,"commentarystartingletter":23},{"commentaryid":4288,"commentarystartingletter":23},{"commentaryid":4289,"commentarystartingletter":25},{"commentaryid":4290,"commentarystartingletter":26},{"commentaryid":4291,"commentarystartingletter":26},{"commentaryid":4292,"commentarystartingletter":26}]} |