def enter_character_nature_func(): """ 请求玩家确认性格流程 """ cache_contorl.character_data["character"][0].init_attr() while 1: py_cmd.clr_cmd() creator_character_panel.enter_character_nature_head() input_s = see_nature_panel.see_character_nature_change_panel(0) input_s += creator_character_panel.enter_character_nature_end() yrn = game_init.askfor_all(input_s) if yrn in cache_contorl.character_data["character"][0].nature: if cache_contorl.character_data["character"][0].nature[yrn] < 50: cache_contorl.character_data["character"][0].nature[ yrn ] = random.uniform(50, 100) else: cache_contorl.character_data["character"][0].nature[ yrn ] = random.uniform(0, 50) elif int(yrn) == 0: cache_contorl.character_data["character"][0].init_attr() cache_contorl.now_flow_id = "acknowledgment_attribute" break elif int(yrn) == 1: cache_contorl.character_data["character"][ 0 ].nature = nature.get_random_nature()
def init_attr(character_id: int): """ 初始化角色属性 Keyword arguments: character_id -- 角色id """ character_data: game_type.Character = cache.character_data[character_id] character_data.language[character_data.mother_tongue] = 10000 character_data.birthday = attr_calculation.get_rand_npc_birthday( character_data.age) character_data.end_age = attr_calculation.get_end_age(character_data.sex) character_data.height = attr_calculation.get_height( character_data.sex, character_data.age) bmi = attr_calculation.get_bmi(character_data.weight_tem) character_data.weight = attr_calculation.get_weight( bmi, character_data.height.now_height) character_data.bodyfat = attr_calculation.get_body_fat( character_data.sex, character_data.bodyfat_tem) character_data.measurements = attr_calculation.get_measurements( character_data.sex, character_data.height.now_height, character_data.weight, character_data.bodyfat, character_data.bodyfat_tem, ) character_data.sex_experience = attr_calculation.get_sex_experience( character_data.sex_experience_tem, character_data.sex) default_clothing_data = clothing.creator_suit(character_data.clothing_tem, character_data.sex) for clothing_id in default_clothing_data: clothing_data = default_clothing_data[clothing_id] character_data.clothing.setdefault(clothing_id, {}) character_data.clothing[clothing_id][clothing_data.uid] = clothing_data character_data.clothing_data.setdefault(clothing_data.tem_id, set()) character_data.clothing_data[clothing_data.tem_id].add( clothing_data.uid) chest_tem_config = game_config.config_chest[character_data.chest_tem] if chest_tem_config.weight_fix: fix_weight = value_handle.get_gauss_rand( chest_tem_config.weight_fix - 0.5, chest_tem_config.weight_fix + 0.5) character_data.weight += fix_weight character_data.chest = attr_calculation.get_chest(character_data.chest_tem, character_data.birthday) character_data.hit_point_max = attr_calculation.get_max_hit_point( character_data.hit_point_tem) character_data.hit_point = character_data.hit_point_max character_data.mana_point_max = attr_calculation.get_max_mana_point( character_data.mana_point_tem) character_data.mana_point = character_data.mana_point_max new_nature = nature.get_random_nature() for nature_id in new_nature: if nature_id not in character_data.nature: character_data.nature[nature_id] = new_nature[nature_id] init_class(character_data)
def init_attr(character_data: game_type.Character): """ 初始化角色属性 Keyword arguments: character_data -- 角色对象 """ character_data.language[character_data.mother_tongue] = 10000 character_data.birthday = attr_calculation.get_rand_npc_birthday( character_data.age) character_data.end_age = attr_calculation.get_end_age(character_data.sex) character_data.height = attr_calculation.get_height( character_data.sex, character_data.age) bmi = attr_calculation.get_bmi(character_data.weigt_tem) character_data.weight = attr_calculation.get_weight( bmi, character_data.height["NowHeight"]) character_data.bodyfat = attr_calculation.get_bodyfat( character_data.sex, character_data.bodyfat_tem) character_data.measurements = attr_calculation.get_measurements( character_data.sex, character_data.height["NowHeight"], character_data.weight, character_data.bodyfat, character_data.bodyfat_tem, ) character_data.sex_experience = attr_calculation.get_sex_experience( character_data.sex_experience_tem) character_data.sex_grade = attr_calculation.get_sex_grade( character_data.sex_experience) default_clothing_data = clothing.creator_suit(character_data.clothing_tem, character_data.sex) character_data.clothing = { clothing: { uuid.uuid1(): default_clothing_data[clothing] } if clothing in default_clothing_data else {} for clothing in character_data.clothing } character_data.chest = attr_calculation.get_chest(character_data.chest_tem, character_data.birthday) character_data.hit_point_max = attr_calculation.get_max_hit_point( character_data.hit_point_tem) character_data.hit_point = character_data.hit_point_max character_data.mana_point_max = attr_calculation.get_max_mana_point( character_data.mana_point_tem) character_data.mana_point = character_data.mana_point_max character_data.nature = nature.get_random_nature() character_data.status = text_loading.get_game_data( constant.FilePath.CHARACTER_STATE_PATH) character_data.wear_item = { "Wear": { key: {} for key in text_loading.get_game_data( constant.FilePath.WEAR_ITEM_PATH)["Wear"] }, "Item": {}, } character_data.engraving = { "Pain": 0, "Happy": 0, "Yield": 0, "Fear": 0, "Resistance": 0, } character_data.social_contact = { social: {} for social in text_loading.get_text_data( constant.FilePath.STAGE_WORD_PATH, "144") } init_class(character_data) put_on_clothing(character_data) if character_data.occupation == "": if character_data.age <= 18: character_data.occupation = "Student" else: character_data.occupation = "Teacher"
def init_attr(self): """ 随机生成角色属性 """ self.language[self.mother_tongue] = 10000 self.birthday = attr_calculation.get_rand_npc_birthday(self.age) self.end_age = attr_calculation.get_end_age(self.sex) self.height = attr_calculation.get_height(self.sex, self.age, {}) bmi = attr_calculation.get_bmi(self.weigt_tem) self.weight = attr_calculation.get_weight( bmi, self.height["NowHeight"] ) self.bodyfat = attr_calculation.get_bodyfat(self.sex, self.bodyfat_tem) self.measurements = attr_calculation.get_measurements( self.sex, self.height["NowHeight"], self.weight, self.bodyfat, self.bodyfat_tem, ) self.sex_experience = attr_calculation.get_sex_experience( self.sex_experience_tem ) self.sex_grade = attr_calculation.get_sex_grade(self.sex_experience) default_clothing_data = clothing.creator_suit( self.clothing_tem, self.sex ) self.clothing = { clothing: {uuid.uuid1(): default_clothing_data[clothing]} if clothing in default_clothing_data else {} for clothing in self.clothing } self.chest = attr_calculation.get_chest(self.chest_tem, self.birthday) self.hit_point_max = attr_calculation.get_max_hit_point( self.hit_point_tem ) self.hit_point = self.hit_point_max self.mana_point_max = attr_calculation.get_max_mana_point( self.mana_point_tem ) self.mana_point = self.mana_point_max self.nature = nature.get_random_nature() self.status = text_loading.get_game_data( constant.FilePath.CHARACTER_STATE_PATH ) self.wear_item = { "Wear": { key: {} for key in text_loading.get_game_data( constant.FilePath.WEAR_ITEM_PATH )["Wear"] }, "Item": {}, } self.engraving = { "Pain": 0, "Happy": 0, "Yield": 0, "Fear": 0, "Resistance": 0, } self.social_contact = { social: {} for social in text_loading.get_text_data( constant.FilePath.STAGE_WORD_PATH, "144" ) } self.init_class() self.put_on_clothing()