def __init__(self, Game): self.Game = Game self.level = Game.char.level self.hp = 120 + 10 * self.level self.name = rand_name() self.defense = 5 * self.level self.damage = 6 * self.level self.target = None self.weapon = items.weapon('club', 'wood')
def generate_stock(self): self.gold = self.maxgold for i in range(random.randrange(5, 15)): item = random.randint(0, 1) if item == 0: weapon = random.choice(items.weapons.keys()) material = random.choice(items.materials.keys()) self.inventory.append(items.weapon(weapon, material)) elif item == 1: self.inventory.append(items.health('potion', random.choice(items.potencies.keys())))
def __init__(self, Game): self.Game = Game self.level = 1 self.max_hp = 100 + 10 * self.level self.hp = self.max_hp self.name = None self.defense = 10 * self.level self.damage = 10 * self.level self.target = None self.inventory = [items.health('potion', 'weak')] self.spells = [spells.fireball('fireball')] self.xp = 0 self.gold = 50 self.weapon = items.weapon('dagger', 'bronze')
def load_items(path): item_list = [] f = open(path+"/items.txt","r") data = f.read() data = data.split(";") if data[len(data)-1] == "\n" or data[len(data)-1] == "\n\n" or data[len(data)-1] == "": del data[len(data)-1] loaded_items = [] for item in data: item = item.split(":") item_list.append(item[1].lower().replace(" ","_").replace("\n","")) if item[0].strip("\n") == "consumable": vars()[item[1]] = items.consumable(item[1],item[2],item[3],item[4],item[5],item[6]) loaded_items.append(vars()[item[1]]) elif item[0].strip("\n") == "weapon": vars()[item[1]] = items.weapon(item[1],item[2],item[3],item[4],item[5],item[6]) loaded_items.append(vars()[item[1]]) elif item[0].strip("\n") == "quest_item": vars()[item[1]] = items.quest_item(item[1],item[2]) loaded_items.append(vars()[item[1]]) else: print("Error Item:"+item[1]+" not loaded correctly") return loaded_items,item_list
def __init__(self, image, position, screen, console): self.screen = screen src_image = pygame.image.load(image) # self.image = src_image.convert() self.image = src_image self.position = position self.health = 100 self.poisoned = 0 self.hunger = 100 self.thirst = 100 self.alive = True self.max_damage = 6 self.min_damage = 2 self.actions = 5 self.weapon = weapon("Bare Hands", dmg=0) self.remaining_actions = self.actions self.food = [] self.drink = [] self.medicine = [] self.antidote = 0 self.turn_survd = 1 self.console = console self.position = position
def __init__(self): CopperArmor = armor() CopperArmor.copperArmor() CopperSword = weapon() CopperSword.copperSword() HealthPotion = buffs() HealthPotion.healthPotion() self.bareFists = weapon() self.bareFists.bareFists() self.naked = armor() self.naked.naked() #Info stats self.name = "Jack" self.icon = 'CREATE Task Folder\Image Assets\Player_Images\Commoner.png' #equip stats self.weapon = CopperSword self.armor = CopperArmor #class stats self.profession = "Commoner" #hp stats self.maxhp = 100 self.hp = 100 #attack stats self.physical_attack = 5 self.magic_attack = 5 self.speed = 5 #consume stats self.stamina = 100 self.stamina_max = 100 self.mana = 100 self.mana_max = 100 #defense stats self.physical_defense = 5 self.magic_defense = 5 #resistance stats self.fire_resist = 2 self.poison_resist = 2 self.water_resist = 2 self.earth_resist = 2 self.wind_resist = 2 #level stats self.level = 0 self.exp = 0 self.exp_cap = 15 #chance stats self.accuracy = 75 self.evasion = 15 self.crit_chance = 10 self.crit_mult = 1.5 self.luck = 10 #skills stats self.equipped_skills = [] self.skills = [] #ally stats self.equipped_allies = [] self.allies = [] #misc stats self.total_inventory = 0 self.weapons = [CopperSword.name, CopperSword.name] self.weapon_inventory = [CopperSword, CopperSword] self.armors = [CopperArmor.name] self.armor_inventory = [CopperArmor] self.buffs = [HealthPotion.name, HealthPotion.name] self.buff_inventory = [HealthPotion, HealthPotion] self.miscs = [] self.misc_inventory = [] self.quest_items = [] self.quest_inventory = [] self.gold = 10 #flags self.bagCap = False self.combat = False
def setUp(self): self.w1 = weapon("abc", "weapon", 500, 25)
def load_config_files(flush=False): _f = open(os.path.join('data','config_files.txt'),'r') _flist = _f.readlines() _f.close() try: _f = open(os.path.join('data','hashes.txt'),'r') except: _f = open(os.path.join('data','hashes.txt'),'w') _f.write('') _f.close() _f = open(os.path.join('data','hashes.txt'),'r') _fhashes = _f.readlines() _f.close() _newhashes = [] for file in _flist: file = file[:len(file)-1]+'.xml' _t = open(os.path.join('data',file),'r') _newhashes.append((file,hashlib.md5(_t.read()).hexdigest())) _t.close() _hashes = [] for hash in _fhashes: if flush: _h = hash[:len(hash)-1]+'derp' else: _h = hash[:len(hash)-1] _hashes.append(tuple(_h.split(','))) aa = set(_newhashes) bb = set(_hashes) if aa.difference(bb): if var.debug: print 'CONVERTAN' for file in aa.difference(bb): _ret = xml2json.parse(os.path.join('data',file[0]),debug=True) for i in range(0,len(_hashes)): if _hashes[i][0] == file[0]: _hashes[i] = file _f = open(os.path.join('data','hashes.txt'),'w') for file in _hashes: _f.write('%s,%s\n' % (file[0],file[1])) _f.close() for file in _flist: file = file[:len(file)-1] if var.debug: print 'Loading '+file try: _f = open(os.path.join('data',file+'.json')) except: print 'ERROR: Some of your .JSON files are broken.\n' print 'This could happen if you haven\'t compiled your .XML files yet.' print 'Run: ./main.py recompile' sys.exit() for line in _f.readlines(): _j = json.loads(line) for _key in _j.iterkeys(): key = _key break if file == 'descriptions': if key.count('interior'): global interior_descriptions interior_descriptions.append({'type':key[len('interior-'):],'desc':_j[key]}) elif key.count('outside'): global outside_descriptions outside_descriptions.append({'type':key[len('outside-'):],'desc':_j[key]}) elif file == 'phrases': global phrases phrases.append({'type':key,'text':_j[key]}) elif file == 'names': if key == 'male': global human_male_fnames human_male_fnames = _j[key].split(',') elif key == 'female': global human_female_fnames human_female_fnames = _j[key].split(',') elif key == 'last': global human_lnames human_lnames = _j[key].split(',') elif file == 'jobs': _i = jobs.job(_j['name']) _i.strength_needed = int(_j['strength']) _i.dexterity_needed = int(_j['dexterity']) _i.intelligence_needed = int(_j['intelligence']) elif file == 'items': if _j['type'] == 'light': _i = items.light() _i.icon = _j['icon'] elif _j['type'] == 'table': _i = items.table() _i.icon = _j['icon'] elif _j['type'] == 'foliage': _i = items.foliage() _i.icon = 'b' elif _j['type'] == 'window': _i = items.window() _i.icon = ':' elif _j['type'] == 'weapon': _i = items.weapon() _i.category = _j['category'] _i.attack = int(_j['attack']) _i.icon = 'S' elif _j['type'] == 'clothing': _i = items.clothing() _i.slot = _j['slot'] _i.defense = int(_j['defense']) elif _j['type'] == 'potion': _i = items.potion() _i.effect = _j['effect'] _i.amount = int(_j['amount']) _i.icon = '!' _i.name = _j['ref'] _i.action = _j['action'] _i.room_description = _j['room_desc'] _i.description = _j['desc'] _i.weight = int(_j['weight']) _i.stat['price'] = int(_j['price']) _f.close()
def goblin(self): CopperOre = misc() CopperOre.copper() CopperSword = weapon() CopperSword.copperSword() CopperArmor = armor() CopperArmor.copperArmor() self.name = random.choice(["Goblin Miner", "Goblin Footman"]) if self.name == "Goblin Miner": self.image = "CREATE Task Folder\Image Assets\Enemy_images\Goblin Miner+.png" self.icon = "CREATE Task Folder\Image Assets\Enemy_images\Goblin Miner.png" self.maxhp = 35 self.hp = 35 self.physical_attack = 8 self.speed = 7 self.stamina = 30 self.stamina_max = 30 self.physical_defense = 2 self.magic_defense = 2 self.fire_resist = 1 self.earth_resist = 1 self.wind_resist = 1 self.accuracy = 75 self.evasion = 5 self.crit_chance = 2.5 self.crit_mult = 1.25 self.luck = 10 self.exp = 10 self.gold = 5 self.tierIILoot = [CopperOre, CopperOre] self.tierIIILoot = [CopperOre, CopperOre, CopperOre, CopperOre] elif self.name == "Goblin Footman": self.image = "CREATE Task Folder\Image Assets\Enemy_images\Goblin Footman+.png" self.icon = "CREATE Task Folder\Image Assets\Enemy_images\Goblin Footman.png" self.maxhp = 40 self.hp = 40 self.physical_attack = 10 self.speed = 10 self.stamina = 65 self.stamina_max = 65 self.physical_defense = 4 self.magic_defense = 3 self.poison_resist = 1 self.water_resist = 2 self.earth_resist = 2 self.wind_resist = 2 self.accuracy = 85 self.evasion = 12 self.crit_chance = 8 self.crit_mult = 1.5 self.luck = 5 self.intelligence = "Medium" self.exp = 20 self.gold = 3 self.tierIILoot = [CopperSword] self.tierIIILoot = [CopperArmor] self.tierILoot = [CopperOre]