def handle_drink_spring(): """ 处理喝泉水指令 """ value = random.randint(0, 100) now_draw = draw.WaitDraw() now_draw.width = width now_draw.text = "\n" character_data: game_type.Character = cache.character_data[0] if value <= 5 and not character_data.sex: now_draw.text += _("喝到了奇怪的泉水!身体变化了!!!") character_data.sex = 1 character_data.height = attr_calculation.get_height( 1, 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, ) else: now_draw.text += _("喝到了甜甜的泉水~") character_data.status[28] = 0 now_draw.text += "\n" now_draw.draw()
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()