Beispiel #1
0
	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))
Beispiel #2
0
	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))