def equipItemRequest( self, itemIndex, equipIndex): if self.inventory.equipItem(itemIndex, equipIndex) == -1: self.client.errorInfo(4) else: #传回去装备和物品信息 itemUUId = self.inventory.getItemUidByIndex(itemIndex) equipUUId = self.inventory.getEquipUidByIndex(equipIndex) itemInfo = TItemInfo() itemInfo.extend([0, 0, 0, itemIndex]) equipItemInfo = TItemInfo() equipItemInfo.extend([0, 0, 0, equipIndex]) if itemUUId != 0: itemInfo = self.itemList[itemUUId] if equipUUId != 0: equipItemInfo = self.equipItemList[equipUUId] self.client.equipItemRequest_re(itemInfo,equipItemInfo) #-------------------- avatarCell = self.cell avatarCell.resetPropertys() for key, info in self.equipItemList.items(): items.getItem(info[1]).use(self) if equipIndex == 0: uid = self.inventory.getEquipUidByIndex(equipIndex) if uid == 0: avatarCell.equipNotify(-1) else: avatarCell.equipNotify(self.equipItemList[uid][1])
def equipItemRequest(self, itemIndex, equipIndex): if self.inventory.equipItem(itemIndex, equipIndex) == -1: self.client.errorInfo(4) else: #传回去装备和物品信息 itemUUId = self.inventory.getItemUidByIndex(itemIndex) equipUUId = self.inventory.getEquipUidByIndex(equipIndex) itemInfo = TItemInfo() itemInfo.extend([0, 0, 0, itemIndex]) equipItemInfo = TItemInfo() equipItemInfo.extend([0, 0, 0, equipIndex]) if itemUUId != 0: itemInfo = self.itemList[itemUUId] if equipUUId != 0: equipItemInfo = self.equipItemList[equipUUId] self.client.equipItemRequest_re(itemInfo, equipItemInfo) #-------------------- avatarCell = self.cell avatarCell.resetPropertys() for key, info in self.equipItemList.items(): items.getItem(info[1]).use(self) if equipIndex == 0: uid = self.inventory.getEquipUidByIndex(equipIndex) if uid == 0: avatarCell.equipNotify(-1) else: avatarCell.equipNotify(self.equipItemList[uid][1])
def useItemRequest(self, itemIndex): itemUUId = self.inventory.getItemUidByIndex(itemIndex) item = items.getItem(self.itemList[itemUUId][1]) item.use(self) itemCount = self.itemList[itemUUId][2] itemId = self.inventory.removeItem(itemUUId, 1) if itemId == -1: #只是减少物品数量,并没有销毁 self.client.pickUp_re(self.itemList[itemUUId]) else: #销毁物品 self.client.dropItem_re(itemId, itemUUId)
def useItemRequest(self, itemIndex): itemUUId = self.inventory.getItemUidByIndex(itemIndex) item = items.getItem(self.itemList[itemUUId][1]) item.use(self) itemCount = self.itemList[itemUUId][2] itemId = self.inventory.removeItem( itemUUId, 1 ) if itemId == -1:#只是减少物品数量,并没有销毁 self.client.pickUp_re(self.itemList[itemUUId]) else:#销毁物品 self.client.dropItem_re( itemId, itemUUId)
def __init__(self, x, y, et, gc): self.gc = gc self.x, self.y, self.et = x, y, et self.stats = get_stats_enemy(et) self.maxhp = int(3 + (self.stats["vit"] * 0.6)) self.activeWeapon = [items.getItem("Axe")] self.hp = self.maxhp self.combat = False self.turns = 1 self.name = get_name_enemy(et) self.dead = False
def __init__(self, x, y): self.x = x self.y = y self.gc = None self.stats = { 'atk': 25, 'agi': 25, 'def': 25, 'mag': 25, 'vit': 20, 'crt': 25 } self.maxhp = int(10 + (self.stats["vit"] * 0.6)) self.name = "Craig" self.hp = int(self.maxhp) self.weapon = 0 self.xp = 0 self.nextxp = 100 self.skillpoints = 32 self.level = 1 items.loadItems("items.json") self.inventory = [ items.getItem("Bread"), items.getItem("Dirk"), items.getItem("Bread"), items.getItem("Bread"), items.getItem("Axe"), ] self.activeWeapon = [items.getItem("GoldSword")] self.facingIndex = 0 self.facingDirection = FACING_DIRECTIONS[self.facingIndex] self.moveW = [(0, -1), (1, 0), (0, 1), (-1, 0)] self.moveS = [(0, 1), (-1, 0), (0, -1), (1, 0)] self.moveA = [(-1, 0), (0, -1), (1, 0), (0, 1)] self.moveD = [(1, 0), (0, 1), (-1, 0), (0, -1)] self.turns = 1
def updatePropertys(self): avatarCell = self.cell avatarCell.resetPropertys() for key, info in self.equipItemList.items(): items.getItem(info[1]).use(self)
# check for locked doors that can be opened if permState.keys > 0: idx = tempState.hero.rect.collidelist(tempState.getLockedDoorRects()) if idx >= 0: items.unlockDoor(idx) # check for collisions filter = INCLUDE_OBSTACLES if permState.keys == 0: filter = filter | INCLUDE_LOCKED_DOORS if not tempState.gotWings: filter = filter | INCLUDE_WATER_OBSTACLES | INCLUDE_POISON_OBSTACLES obstacles = tempState.getObstacles(filter) pushables = tempState.getObstacles(INCLUDE_PUSHABLES) hitResult = tempState.hero.move(obstacles, None, tempState.getCreatureRects(), pushables) # check for item collection idx = tempState.hero.rect.collidelist(tempState.getAvailableItemRects()) if idx >= 0: items.getItem(idx) # check for edge of screen if hitResult[HIT_EDGE] == DOWN: anim.scrollScreen(displaySurf, tempState.hero, permState.wx, permState.wy, permState.wz) tempState.hero.y, permState.wy = MIN_Y, permState.wy + 1 elif hitResult[HIT_EDGE] == RIGHT: anim.scrollScreen(displaySurf, tempState.hero, permState.wx, permState.wy, permState.wz) tempState.hero.x, permState.wx = MIN_X, permState.wx + 1 elif hitResult[HIT_EDGE] == UP: anim.scrollScreen(displaySurf, tempState.hero, permState.wx, permState.wy, permState.wz) tempState.hero.y, permState.wy = MAX_Y, permState.wy - 1 elif hitResult[HIT_EDGE] == LEFT: anim.scrollScreen(displaySurf, tempState.hero, permState.wx, permState.wy, permState.wz) tempState.hero.x, permState.wx = MAX_X, permState.wx - 1 if hitResult[HIT_EDGE] != None: