MCPcopy
hub / github.com/PokemonGoF/PokemonGo-Bot / Player

Class Player

pokemongo_bot/inventory.py:86–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84#
85# Inventory Components
86class Player(_BaseInventoryComponent):
87 TYPE = 'player_stats'
88
89 def __init__(self, bot):
90 self.bot = bot
91 self._exp = None
92 self._level = None
93 self.next_level_xp = None
94 self.pokemons_captured = None
95 self.poke_stop_visits = None
96 self.player_stats = None
97 super(_BaseInventoryComponent, self).__init__()
98
99 @property
100 def level(self):
101 return self._level
102
103 @level.setter
104 def level(self, value):
105 self._level = value
106
107 @property
108 def exp(self):
109 return self._exp
110
111 @exp.setter
112 def exp(self, value):
113 # if new exp is larger than or equal to next_level_xp
114 if value >= self.next_level_xp:
115 self.level = self._level + 1
116 # increase next_level_xp to a big amount
117 # will be fix on the next heartbeat
118 self.next_level_xp += 10000000
119
120 self._exp = value
121
122 def refresh(self,inventory):
123 self.player_stats = self.retrieve_data(inventory)
124
125 def parse(self, item):
126 if not item:
127 item = {}
128
129 self.next_level_xp = item.get('next_level_xp', 0)
130 self.exp = item.get('experience', 0)
131 self.level = item.get('level', 0)
132 self.pokemons_captured = item.get('pokemons_captured', 0)
133 self.poke_stop_visits = item.get('poke_stop_visits', 0)
134
135 def retrieve_data(self, inventory):
136 ret = {}
137 for item in inventory:
138 data = item['inventory_item_data']
139 if self.TYPE in data:
140 item = data[self.TYPE]
141 ret = item
142 self.parse(item)
143

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected