syntax = "proto3";
package POGOProtos.Data.Player;

import public "POGOProtos.Enums.proto";

message ContactSettings {
	bool send_marketing_emails = 1;
	bool send_push_notifications = 2;
}
message Currency {
    string name = 1;
    int32 amount = 2;
}
message DailyBonus {
	int64 next_collected_timestamp_ms = 1;
	int64 next_defender_bonus_collect_timestamp_ms = 2;
}
message EquippedBadge {
	.POGOProtos.Enums.BadgeType badge_type = 1;
	int32 level = 2;
	int64 next_equip_change_allowed_timestamp_ms = 3;
}
message PlayerAvatar {
	int32 skin = 2;
	int32 hair = 3;
	int32 shirt = 4;
	int32 pants = 5;
	int32 hat = 6;
	int32 shoes = 7;
	.POGOProtos.Enums.Gender gender = 8;
	int32 eyes = 9;
	int32 backpack = 10;
}
message PlayerCamera {
	bool is_default_camera = 1;
}
message PlayerCurrency {
	int32 gems = 1;
}
message PlayerPublicProfile {
	string name = 1;
	int32 level = 2;
	.POGOProtos.Data.Player.PlayerAvatar avatar = 3;
}
message PlayerStats {
	int32 level = 1;
	int64 experience = 2;
	int64 prev_level_xp = 3;
	int64 next_level_xp = 4;
	float km_walked = 5;
	int32 pokemons_encountered = 6;
	int32 unique_pokedex_entries = 7;
	int32 pokemons_captured = 8;
	int32 evolutions = 9;
	int32 poke_stop_visits = 10;
	int32 pokeballs_thrown = 11;
	int32 eggs_hatched = 12;
	int32 big_magikarp_caught = 13;
	int32 battle_attack_won = 14;
	int32 battle_attack_total = 15;
	int32 battle_defended_won = 16;
	int32 battle_training_won = 17;
	int32 battle_training_total = 18;
	int32 prestige_raised_total = 19;
	int32 prestige_dropped_total = 20;
	int32 pokemon_deployed = 21;
	bytes pokemon_caught_by_type = 22; // TODO: repeated PokemonType ??
	int32 small_rattata_caught = 23;
}
