Will detect whether a game is in lobby, in progress, or on greatest lord screen and write stats accordingly
Assigns each game a random integer ID. A new game ID is generated each time the game goes to the lobby screen. Greatest lord stats are written to greatestLord <gameID>.txt
Reads memory addresses from a JSON file
Raw stats can be added and written to file by including the proper entry in the JSON file
Captured stats include:
In game
Active (boolean - indicates whether the player is a part of the current game)
Name (string - the player name)
Team (integer - 0: No team, 255: player not in game, 1 (and higher) : Team #)
Gold (integer)
Units (integer)
Weighted Units (integer - this is unit count where each unit is multplied by its game-defined weight)
Popularity (integer - 0 - 100)
Population (integer)
Housing (integer)
Wood (integer)
Stone (integer)
Iron (integer)
Pitch (integer)
Calculated values:
Score: test calculation - subject to change
(gold >> 2) + weightedUnits 2 + Math.Min((resources >> 2),1) 10
(where A >> B is Integer division of A by 2, repeated B times)
Greatest Lord
Map Statistics:
Map Name (string)
Map Start Year (integer)
Map Start Month (integer)
Map End Year (integer)
Player Statistics:
Active (boolean - indicates whether the player was a part of the current game)
Name (string - the player name)
Team (integer - 0: No team, 255: player not in game, 1 (and higher) : Team #)
The program now:
greatestLord <gameID>.txt
Captured stats include:
In game
Calculated values:
Greatest Lord
Map Statistics:
Player Statistics: