def deserialize(self, b): self.objects = list() nbObject = b.readUnsignedShort() printBlue("nbObject: {}\n".format(nbObject)) for i in range(0, nbObject): objectItem = ObjectItem() objectItem.deserialize(b) self.objects.append(objectItem) self.kamas = b.readInt() printGreen("kama: {}\n".format(self.kamas))
def deserialize(self, b): Item.deserialize(self, b) self.position = b.readUnsignedByte() self.objectGID = b.readShort() self.powerRate = b.readShort() self.overMax = b.readBoolean() self.effects = list() nbEffect = b.readUnsignedShort() printGreen("nbEffect: {}, position: {}, GID: {}, Rate {}, overMax: {}, ".format(nbEffect, self.position, self.objectGID, self.powerRate, self.overMax)) for i in range(0, nbEffect): effectType = b.readUnsignedShort() effect = 0 if(effectType == ObjectEffect.getProtocolId()): printRed(", Effect") effect = ObjectEffect() elif(effectType == ObjectEffectInteger.getProtocolId()): printRed(", EffectInt") effect = ObjectEffectInteger() elif(effectType == ObjectEffectCreature.getProtocolId()): printRed(", EffectCrea") effect = ObjectEffectCreature() elif(effectType == ObjectEffectDate.getProtocolId()): printRed(", EffectDate") effect = ObjectEffectDate() elif(effectType == ObjectEffectDice.getProtocolId()): printRed(", EffectDice") effect = ObjectEffectDice() elif(effectType == ObjectEffectDuration.getProtocolId()): printRed(", EffectDuration") effect = ObjectEffectDuration() elif(effectType == ObjectEffectString.getProtocolId()): printRed(", EffectStr") effect = ObjectEffectString() elif(effectType == ObjectEffectLadder.getProtocolId()): printRed(", EffectLadder") effect = ObjectEffectLadder() elif(effectType == ObjectEffectMinMax.getProtocolId()): printRed(", EffectMinMax") effect = ObjectEffectMinMax() else: raise UnknowEffectType(effectType) effect.deserialize(b) self.effects.append(effect) self.objectUID = b.readInt() self.quantity = b.readInt() printGreen("UID: {}, quantity: {}\n".format(self.objectUID, self.quantity))