def __init__(self, hprocess):
     self._hprocess = hprocess
     self._address = memRead(self._hprocess, 0x00B41414)
     self._playerGuid = memRead(self._hprocess, self._address + 0xc0)
     self._firstObject = memRead(self._hprocess, self._address + 0xac)
     self._objList = []
     self._numberOfObjects = 0
     self._unitObjList = []
     self._playerObjList = []
     self.party = None
     self._player = self.populateObjList()
     self.inj = Injector(hprocess)
     self._player.passInjector(self.inj)
 def maxHealth(self):
     return memRead(
         self._hprocess,
         self.descriptors() + constants.Descriptors.MaxHealth.value)
 def factionId(self):
     return memRead(
         self._hprocess,
         self.descriptors() + constants.Descriptors.FactionId.value)
 def descriptors(self):
     return memRead(self._hprocess,
                    self._address + constants.ObjectMan.Descriptors.value)
 def type(self):
     return memRead(self._hprocess,
                    self._address + constants.ObjectMan.ObjType.value)
 def nextObjectAddress(self):
     return memRead(self._hprocess, self._address + 0x3c)
 def guidUpper(self):
     return memRead(self._hprocess, self._address + 0x34)
 def guidLower(self):
     return memRead(self._hprocess, self._address + 0x30)
 def mana(self):
     return memRead(self._hprocess,
                    self.descriptors() + constants.Descriptors.Mana.value)
 def rage(self):
     return memRead(
         self._hprocess,
         self.descriptors() + constants.Descriptors.Rage.value) / 10
 def movementState(self):
     return memRead(
         self._hprocess,
         self._address + constants.Descriptors.movementFlags.value)