def _init_res_gem(self, objs): """珠宝""" for obj in objs: obj.parts = str2list(obj.parts) self.gem[obj.id] = obj q_gem = self.q_gem.setdefault(obj.quality, []) q_gem.append(obj)
def init_monster(self, wpcid, extend_boss_hp=None): """ 初始化本场战斗的怪物数据 """ res_war_npcs = Game.res_mgr.awar_npc_configs_bykey.get(wpcid) if res_war_npcs is None: return False, errcode.EC_NORES pids = self.war_mgr.room.pids[:] #获取参与玩家的信息 a_level, a_cbe = self.player_average() for res_war_npc in res_war_npcs: if res_war_npc.bid: self.b_npcid = res_war_npc.id else: self.m_npcids.append(res_war_npc.id) data = {} #计算出每个怪物的属性 res_mlids = common.str2list(res_war_npc.mlids, vtype=float) res_mlids = map(int, res_mlids) for res_mlid in res_mlids: m_attr = self.init_monster_attr(int(res_mlid), len(pids), a_level, a_cbe) data[res_mlid] = m_attr if res_war_npc.bid and not extend_boss_hp: self.mboss_hp = self.boss_hp = m_attr['HP'] self.moster2mattr[res_war_npc.id] = data return True, None
def init_strong_map(self): """ 初始化降龙战势力地图 """ res_strong_map = Game.res_mgr.awar_strong_maps dic = {} for id, o in res_strong_map.iteritems(): try: smid = float(o.smids) smids = [int(smid)] except: smids = common.str2list(o.smids) dic[id] = smids return dic
def handle_setting(cls): """ 处理修改资源表 """ cls.setting_data = {} res_cost = Game.setting_mgr.setdefault(ROLEUP_COST_ITEM, ROLEUP_COST_ITEM_V) cls.setting_data[ROLEUP_COST_ITEM] = common.str2list(res_cost) #银币培养 res_coin1 = Game.setting_mgr.setdefault(ROLETRAIN_COIN1, ROLETRAIN_COIN1_V) cls.setting_data[ROLETRAIN_COIN1] = common.str2dict2(res_coin1) #元宝培养 res_coin2 = Game.setting_mgr.setdefault(ROLETRAIN_COIN2, ROLETRAIN_COIN2_V) cls.setting_data[ROLETRAIN_COIN2] = common.str2dict2(res_coin2) res_locklevel = Game.setting_mgr.setdefault(ROLETRAIN_LOCKLEVEL, ROLETRAIN_LOCKLEVEL_V) cls.setting_data[ROLETRAIN_LOCKLEVEL] = res_locklevel
def boss_hurt_boat(self): """ boss袭击天舟 """ sc, hurt = common.str2list(self.war_per_config.hurts, vtype=str) sc = int(sc) n = 1 sleep(sc) while self.war_data.boss_hp > 0 and not self.war_data.war_end: boss_data = eval(hurt) n += 1 self.boat.hard -= boss_data if self.boat.hard < 0: self.boat.hard = 0 self.boat.hard_broad(boss_data=boss_data) sleep(sc)
def train_cost(self, type): """ 培养消耗 """ res_cost = self.player._game.setting_mgr.setdefault(ROLETRAIN_COST, ROLETRAIN_COST_V) res = common.str2list(res_cost) return res[type]