Exemplo n.º 1
0
def seeCharacterStatusPanel(characterId:str):
    '''
    查看角色状态面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    statusTextData = TextLoading.getTextData(TextLoading.stageWordPath, '134')
    characterData = CacheContorl.characterData['character'][characterId]
    statusData = characterData.Status
    for stateType in statusData:
        EraPrint.sontitleprint(statusTextData[stateType])
        nowStatusData = statusData[stateType].copy()
        if stateType == 'SexFeel':
            if characterData.Sex == 'Man':
                del nowStatusData['VaginaDelight']
                del nowStatusData['ClitorisDelight']
                del nowStatusData['VaginaLubrication']
            elif characterData.Sex == 'Woman':
                del nowStatusData['PenisDelight']
            elif characterData.Sex == 'Asexual':
                del nowStatusData['VaginaDelight']
                del nowStatusData['ClitorisDelight']
                del nowStatusData['VaginaLubrication']
                del nowStatusData['PenisDelight']
        nowStatusTextList = [statusTextData[state] + ':' + str(nowStatusData[state]) for state in nowStatusData]
        size = 7
        if len(nowStatusTextList) < size:
            size = len(nowStatusTextList)
        EraPrint.plist(nowStatusTextList,size,'center')
    EraPrint.pl()
Exemplo n.º 2
0
def seeCharacterEquipmentPanel(characterId: str) -> str:
    '''
    查看角色装备面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    EraPrint.plittleline()
    EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '37'))
    panelState = CacheContorl.panelState['CharacterEquipmentPanel']
    if panelState == "0":
        PyCmd.pcmd(panelStateOffText, 'CharacterEquipmentPanel')
        characterData = AttrHandle.getAttrData(characterId)
        EraPrint.p('\n')
        EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '39'))
        EraPrint.p('\n')
        characterClothingList = characterData['Clothing']
        characterClothingText = AttrText.getClothingText(characterClothingList)
        EraPrint.plist(characterClothingText, 4, 'center')
        EraPrint.p('\n')
        EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '40'))
        EraPrint.p('\n')
        characterSexItemList = characterData['SexItem']
        characterSexItemText = AttrText.getSexItemText(characterSexItemList)
        EraPrint.plist(characterSexItemText, 5, 'center')
    else:
        PyCmd.pcmd(panelStateOnText, 'CharacterEquipmentPanel', None)
        EraPrint.p('\n')
    return 'CharacterEquipmentPanel'
Exemplo n.º 3
0
def seeClothingInfoPanel(characterId:str,clothingType:str,clothingId:str,wearClothingJudge:bool):
    '''
    查看服装详细信息面板
    Keyword arguments:
    characterId -- 角色id
    clothingType -- 服装类型
    clothingId -- 服装id
    '''
    EraPrint.plt(TextLoading.getTextData(TextLoading.stageWordPath,'126'))
    clothingData = CacheContorl.characterData['character'][characterId]['Clothing'][clothingType][clothingId]
    infoList = []
    clothingName = clothingData['Name']
    if wearClothingJudge:
        clothingName += ' ' + TextLoading.getTextData(TextLoading.stageWordPath,'125')
    infoList.append(TextLoading.getTextData(TextLoading.stageWordPath,'128') + clothingName)
    clothingTypeText = Clothing.clothingTypeTextList[clothingType]
    infoList.append(TextLoading.getTextData(TextLoading.stageWordPath,'129') + clothingTypeText)
    evaluationText = TextLoading.getTextData(TextLoading.stageWordPath,'131') + clothingData['Evaluation']
    infoList.append(evaluationText)
    EraPrint.plist(infoList,3,'center')
    EraPrint.sontitleprint(TextLoading.getTextData(TextLoading.stageWordPath,'130'))
    tagTextList = []
    for tag in Clothing.clothingTagTextList:
        tagText = Clothing.clothingTagTextList[tag]
        tagText += str(clothingData[tag])
        tagTextList.append(tagText)
    EraPrint.plist(tagTextList,4,'center')
    EraPrint.sontitleprint(TextLoading.getTextData(TextLoading.stageWordPath,'127'))
    EraPrint.p(clothingData['Describe'])
Exemplo n.º 4
0
def printHpAndMpBar(characterId: str):
    '''
    绘制角色的hp和mp(有比例图),自动居中处理,结尾换行
    Keyword arguments:
    characterId -- 角色id
    '''
    hpBar = getHpOrMpBar(characterId, 'HitPoint',
                         GameConfig.text_width / 2 - 4)
    mpBar = getHpOrMpBar(characterId, 'ManaPoint',
                         GameConfig.text_width / 2 - 4)
    EraPrint.p('\n')
    EraPrint.plist([hpBar, mpBar], 2, 'center')
    EraPrint.p('\n')
Exemplo n.º 5
0
def seeCharacterLanguagePanel(characterId: str):
    '''
    查看角色语言能力面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    languageTextData = TextLoading.getGameData(TextLoading.languageSkillsPath)
    characterLanguage = CacheContorl.characterData['character'][
        characterId].Language
    infoList = [
        languageTextData[language]['Name'] + ":" +
        AttrText.getLevelColorText(characterLanguage[language])
        for language in characterLanguage
    ]
    EraPrint.plist(infoList, 4, 'center')
Exemplo n.º 6
0
def seeCharacterEngravingPanel(characterId):
    EraPrint.plittleline()
    EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '7'))
    panelState = CacheContorl.panelState['CharacterEngravingPanel']
    if panelState == "0":
        PyCmd.pcmd(panelStateOffText, 'CharacterEngravingPanel')
        EraPrint.p('\n')
        characterData = AttrHandle.getAttrData(characterId)
        characterEngraving = characterData['Engraving']
        characterEngravingText = AttrText.getEngravingText(characterEngraving)
        EraPrint.plist(characterEngravingText, 3, 'center')
        return 'CharacterEngravingPanel'
    else:
        PyCmd.pcmd(panelStateOnText, 'CharacterEngravingPanel')
        EraPrint.p('\n')
        return 'CharacterEngravingPanel'
Exemplo n.º 7
0
def seeCharacterSexExperiencePanel(characterId: int):
    '''
    查看角色性经验面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    EraPrint.plittleline()
    EraPrint.pl(TextLoading.getTextData(TextLoading.stageWordPath, '5'))
    characterData = CacheContorl.characterData['character'][characterId]
    characterSexGradeList = characterData.SexGrade
    characterSex = CacheContorl.characterData['character'][characterId].Sex
    characterSexGradeTextList = AttrText.getSexGradeTextList(
        characterSexGradeList, characterSex)
    EraPrint.plist(characterSexGradeTextList, 4, 'center')
    EraPrint.pl(TextLoading.getTextData(TextLoading.stageWordPath, '7'))
    characterEngraving = characterData.Engraving
    characterEngravingText = AttrText.getEngravingText(characterEngraving)
    EraPrint.plist(characterEngravingText, 3, 'center')
Exemplo n.º 8
0
def seeCharacterWearItemPanel(characterId: int, changeButton: bool) -> list:
    '''
    用于查看角色穿戴道具列表的面板
    Keyword arguments:
    characterId -- 角色Id
    changeButton -- 将角色穿戴道具列表绘制成按钮的开关
    '''
    wearItemInfoTextData = TextLoading.getTextData(TextLoading.stageWordPath,
                                                   '49')
    wearData = CacheContorl.characterData['character'][characterId].WearItem[
        'Wear']
    wearItemTextData = {}
    itemData = CacheContorl.characterData['character'][characterId].WearItem[
        'Item']
    wearItemButtonList = []
    inputS = []
    for wearType in wearData:
        nowWearData = wearData[wearType]
        if nowWearData == {}:
            wearItemButtonList.append(
                wearItemInfoTextData[wearType] + ':' +
                TextLoading.getTextData(TextLoading.stageWordPath, '117'))
        else:
            wearText = ''
            for wearId in nowWearData:
                wearText += '[' + itemData[wearType][wearId]['Name'] + ']'
            wearItemButtonList.append(wearItemInfoTextData[wearType] + ':' +
                                      wearText)
            wearItemTextData[wearType] = itemData[wearType][wearId]['Name']
    if changeButton:
        inputS = [str(i) for i in range(len(wearData))]
        CmdButtonQueue.optionint(
            None,
            4,
            'left',
            True,
            False,
            'center',
            0,
            wearItemButtonList,
        )
    else:
        EraPrint.plist(wearItemButtonList, 4, 'center')
    return inputS
Exemplo n.º 9
0
def printHpAndMpBar(characterId:str):
    '''
    绘制角色的hp和mp(有比例图),自动居中处理,结尾换行
    Keyword arguments:
    characterId -- 角色id
    '''
    characterData = AttrHandle.getAttrData(characterId)
    characterHitPoint = characterData['HitPoint']
    characterMaxHitPoint = characterData['HitPointMax']
    hitPointText = TextLoading.getTextData(TextLoading.stageWordPath, '8')
    hitPointBar = ProportionalBar.getProportionalBar(hitPointText, characterMaxHitPoint, characterHitPoint, 'hpbar')
    characterManaPoint = characterData['ManaPoint']
    characterMaxManaPoint = characterData['ManaPointMax']
    manaPointText = TextLoading.getTextData(TextLoading.stageWordPath, '9')
    manaPointBar = ProportionalBar.getProportionalBar(manaPointText, characterMaxManaPoint, characterManaPoint, 'mpbar')
    hpmpBarList = [hitPointBar, manaPointBar]
    EraPrint.p('\n')
    EraPrint.plist(hpmpBarList, 2, 'center')
    EraPrint.p('\n')
Exemplo n.º 10
0
def seeCharacterKnowledgePanel(characterId: str):
    '''
    查看角色技能信息面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    knowledgeTextData = TextLoading.getGameData(TextLoading.knowledge)
    characterKnowledge = CacheContorl.characterData['character'][
        characterId].Knowledge
    for knowledge in knowledgeTextData:
        EraPrint.sontitleprint(knowledgeTextData[knowledge]['Name'])
        if knowledge in characterKnowledge:
            infoList = [
                knowledgeTextData[knowledge]['Knowledge'][skill]['Name'] +
                ":" + AttrText.getLevelColorText(
                    characterKnowledge[knowledge][skill])
                for skill in characterKnowledge[knowledge]
            ]
            EraPrint.plist(infoList, 6, 'center')
Exemplo n.º 11
0
def seeCharacterExperiencePanel(characterId):
    EraPrint.plittleline()
    EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '18'))
    panelState = CacheContorl.panelState['CharacterExperiencePanel']
    if panelState == "0":
        PyCmd.pcmd(panelStateOffText, 'CharacterExperiencePanel')
        characterData = AttrHandle.getAttrData(characterId)
        EraPrint.p('\n')
        characterSexExperienceList = characterData['SexExperience']
        characterSex = CacheContorl.characterData['character'][characterId][
            'Sex']
        characterSexTextList = AttrText.getSexExperienceText(
            characterSexExperienceList, characterSex)
        EraPrint.plist(characterSexTextList, 4, 'center')
        return 'CharacterExperiencePanel'
    else:
        PyCmd.pcmd(panelStateOnText, 'CharacterExperiencePanel')
        EraPrint.p('\n')
        return 'CharacterExperiencePanel'
Exemplo n.º 12
0
def printHpAndMpBar(characterId):
    characterData = AttrHandle.getAttrData(characterId)
    characterHitPoint = characterData['HitPoint']
    characterMaxHitPoint = characterData['HitPointMax']
    hitPointText = TextLoading.getTextData(TextLoading.stageWordPath, '8')
    hitPointBar = ProportionalBar.getProportionalBar(hitPointText,
                                                     characterMaxHitPoint,
                                                     characterHitPoint,
                                                     'hpbar')
    characterManaPoint = characterData['ManaPoint']
    characterMaxManaPoint = characterData['ManaPointMax']
    manaPointText = TextLoading.getTextData(TextLoading.stageWordPath, '9')
    manaPointBar = ProportionalBar.getProportionalBar(manaPointText,
                                                      characterMaxManaPoint,
                                                      characterManaPoint,
                                                      'mpbar')
    hpmpBarList = [hitPointBar, manaPointBar]
    EraPrint.p('\n')
    EraPrint.plist(hpmpBarList, 2, 'center')
    EraPrint.p('\n')
Exemplo n.º 13
0
def seeCharacter(characterId: str, judge: bool) -> list:
    '''
    用于任何时候查看角色性格信息面板
    Keyword arguments:
    characterId -- 角色Id
    judge -- 绘制按钮校验
    Return arguments:
    list -- 按钮列表
    '''
    natureTextData = TextLoading.getGameData(TextLoading.naturePath)
    characterNature = CacheContorl.characterData['character'][
        characterId].Nature
    cmdList = []
    for nature in natureTextData:
        natureText = natureTextData[nature]['Name']
        if 'Good' in natureText:
            nowNatureValues = [
                characterNature[sonNature]
                for sonNature in natureTextData[nature]['Factor']
            ]
            nowNatureValue = sum(nowNatureValues)
            nowNatureMax = len(nowNatureValues) * 100
            if nowNatureValue < nowNatureMax / 2:
                natureText = natureText['Bad']
            else:
                natureText = natureText['Good']
        EraPrint.sontitleprint(natureText)
        infoList = [
            natureTextData[nature]['Factor'][sonNature][judgeNatureGood(
                characterNature[sonNature])]
            for sonNature in natureTextData[nature]['Factor']
        ]
        if judge:
            nowSonList = [son for son in natureTextData[nature]['Factor']]
            cmdList += nowSonList
            CmdButtonQueue.optionstr(None, len(nowSonList), 'center', False,
                                     False, infoList, '', nowSonList)
        else:
            EraPrint.plist(infoList, len(infoList), 'center')
    return cmdList
Exemplo n.º 14
0
def showSceneNameListPanel() -> str:
    '''
    地图下场景名称绘制面板
    '''
    titleText = TextLoading.getTextData(TextLoading.stageWordPath, '86')
    EraPrint.p(titleText)
    panelState = CacheContorl.panelState['SeeSceneNameListPanel']
    if panelState == '0':
        PyCmd.pcmd(panelStateOffText, "SeeSceneNameListPanel")
        EraPrint.p('\n')
        nowMap = CacheContorl.nowMap
        nowMapMapSystemStr = MapHandle.getMapSystemPathStrForList(nowMap)
        sceneNameData = MapHandle.getSceneNameListForMapPath(
            nowMapMapSystemStr)
        sceneNameList = []
        for scene in sceneNameData:
            sceneNameList.append(scene + ':' + sceneNameData[scene])
        EraPrint.plist(sceneNameList, 5, 'center')
    else:
        PyCmd.pcmd(panelStateOnText, 'SeeSceneNameListPanel')
        EraPrint.p('\n')
    EraPrint.plittleline()
    return 'SeeSceneNameListPanel'
Exemplo n.º 15
0
def seeCharacterSocialContactPanel(characterId: int):
    '''
    查看角色社交信息面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    socialContactTextData = TextLoading.getTextData(TextLoading.stageWordPath,
                                                    '144')
    characterSocialContact = CacheContorl.characterData['character'][
        characterId].SocialContact
    for social in socialContactTextData:
        EraPrint.sontitleprint(socialContactTextData[social])
        if characterSocialContact[social] == {}:
            EraPrint.p(TextLoading.getTextData(TextLoading.messagePath, '40'))
        else:
            size = 10
            if len(characterSocialContact[social]) < 10:
                size = len(characterSocialContact[social])
            nameList = [
                CacheContorl.characterData['character'][characterId].Name
                for characterId in characterSocialContact[social]
            ]
            EraPrint.plist(nameList, size, 'center')
Exemplo n.º 16
0
def seeCharacterLevelPanel(characterId: str) -> str:
    '''
    查看角色技能等级面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    EraPrint.plittleline()
    EraPrint.p(TextLoading.getTextData(TextLoading.stageWordPath, '5'))
    panelState = CacheContorl.panelState['CharacterLevelPanel']
    if panelState == "0":
        PyCmd.pcmd(panelStateOffText, 'CharacterLevelPanel')
        EraPrint.p('\n')
        characterData = AttrHandle.getAttrData(characterId)
        characterSexGradeList = characterData['SexGrade']
        characterSex = CacheContorl.characterData['character'][characterId][
            'Sex']
        characterSexGradeTextList = AttrText.getSexGradeTextList(
            characterSexGradeList, characterSex)
        EraPrint.plist(characterSexGradeTextList, 4, 'center')
    else:
        PyCmd.pcmd(panelStateOnText, 'CharacterLevelPanel')
        EraPrint.p('\n')
    return 'CharacterLevelPanel'
Exemplo n.º 17
0
def seeCharacterHPAndMPInSence(characterId:int):
    '''
    在场景中显示角色的HP和MP
    Keyword arguments:
    characterId -- 角色Id
    '''
    if characterId == 0:
        AttrPrint.printHpAndMpBar(characterId)
    else:
        characterIdText = TextLoading.getTextData(TextLoading.stageWordPath, '0') + '0' + ':' + CacheContorl.characterData['character'][0].Name
        targetIdText = TextLoading.getTextData(TextLoading.stageWordPath, '0') + f'{characterId}' + ':' + CacheContorl.characterData['character'][characterId].Name
        EraPrint.plist([characterIdText,targetIdText],2,'center')
        EraPrint.pl()
        playerBar = AttrPrint.getHpOrMpBar(0,'HitPoint',GameConfig.text_width / 2 - 4)
        targetBar = AttrPrint.getHpOrMpBar(characterId,'HitPoint',GameConfig.text_width / 2 - 4)
        EraPrint.plist([playerBar,targetBar],2,'center')
        EraPrint.pl()
        playerBar = AttrPrint.getHpOrMpBar(0,'ManaPoint',GameConfig.text_width / 2 - 4)
        targetBar = AttrPrint.getHpOrMpBar(characterId,'ManaPoint',GameConfig.text_width / 2 - 4)
        EraPrint.plist([playerBar,targetBar],2,'center')
        EraPrint.pl()
Exemplo n.º 18
0
def seeCharacterMainAttrPanel(characterId:int):
    '''
    查看角色主属性面板
    Keyword arguments:
    characterId -- 角色Id
    '''
    title1 = TextLoading.getTextData(TextLoading.stageWordPath, '1')
    EraPrint.plt(title1)
    characterIdText = f"{TextLoading.getTextData(TextLoading.stageWordPath, '0')}{characterId}"
    characterData = CacheContorl.characterData['character'][characterId]
    name = characterData.Name
    nickName = characterData.NickName
    characterName = TextLoading.getTextData(TextLoading.stageWordPath,'13') + name
    characterNickName = TextLoading.getTextData(TextLoading.stageWordPath,'12') + nickName
    sex = characterData.Sex
    sexText = TextLoading.getTextData(TextLoading.stageWordPath, '2') + AttrText.getSexText(sex)
    nameText = characterIdText + ' ' + characterName + ' ' + characterNickName + ' ' + sexText
    hpBar = AttrPrint.getHpOrMpBar(characterId,'HitPoint',GameConfig.text_width / 2 - 4)
    EraPrint.plist([nameText,hpBar],2,'center')
    EraPrint.pl()
    stateText = AttrText.getStateText(characterId)
    mpBar = AttrPrint.getHpOrMpBar(characterId,'ManaPoint',GameConfig.text_width / 2 - 4)
    EraPrint.plist([stateText,mpBar],2,'center')
    EraPrint.pl()
    EraPrint.plittleline()
    statureText = AttrText.getStatureText(characterId)
    EraPrint.pl(statureText)
    EraPrint.pline('.')
    EraPrint.pl(AttrText.getCharacterDormitoryPathText(characterId))
    EraPrint.plittleline()
    characterSpecies = f"{TextLoading.getTextData(TextLoading.stageWordPath, '15')}{characterData.Species}"
    characterAge = f"{TextLoading.getTextData(TextLoading.stageWordPath, '3')}{characterData.Age}"
    birthdayText = f"{TextLoading.getTextData(TextLoading.stageWordPath,'140')}{characterData.Birthday['month']}{TextLoading.getTextData(TextLoading.stageWordPath,'60')}{characterData.Birthday['day']}{TextLoading.getTextData(TextLoading.stageWordPath,'61')}"
    EraPrint.plist([characterSpecies,characterAge,birthdayText],3,'center')
    EraPrint.pline('.')
    characterIntimate = f"{TextLoading.getTextData(TextLoading.stageWordPath, '16')}{characterData.Intimate}"
    characterGraces = f"{TextLoading.getTextData(TextLoading.stageWordPath, '17')}{characterData.Graces}"
    EraPrint.plist([characterIntimate,characterGraces],2,'center')
    EraPrint.pline('.')
    characterChest = characterData.Chest['NowChest']
    chestGroup = AttrCalculation.judgeChestGroup(characterChest)
    chestText = TextLoading.getTextData(TextLoading.stageWordPath,'141') + TextLoading.getTextData(TextLoading.stageWordPath,'142')[chestGroup]
    EraPrint.plist([chestText],1,'center')
    EraPrint.pline('.')
    characterHeight = characterData.Height['NowHeight']
    characterWeight = characterData.Weight
    characterHeightText = str(round(characterHeight,2))
    characterWeightText = str(round(characterWeight,2))
    characterHeightInfo = TextLoading.getTextData(TextLoading.stageWordPath,'80') + characterHeightText
    characterWeightInfo = TextLoading.getTextData(TextLoading.stageWordPath,'81') + characterWeightText
    EraPrint.plist([characterHeightInfo,characterWeightInfo],2,'center')
    EraPrint.pline('.')
    characterMeasurements = characterData.Measurements
    characterBust = str(round(characterMeasurements['Bust'],2))
    characterWaist = str(round(characterMeasurements['Waist'],2))
    characterHip = str(round(characterMeasurements['Hip'],2))
    characterBustInfo = TextLoading.getTextData(TextLoading.stageWordPath,'82') + characterBust
    characterWaistInfo = TextLoading.getTextData(TextLoading.stageWordPath,'83') + characterWaist
    characterHipInfo = TextLoading.getTextData(TextLoading.stageWordPath,'84') + characterHip
    EraPrint.plist([characterBustInfo,characterWaistInfo,characterHipInfo],3,'center')
    EraPrint.pline('.')
Exemplo n.º 19
0
def seeCharacterMainAttrPanel(characterId):
    title1 = TextLoading.getTextData(TextLoading.stageWordPath, '1')
    EraPrint.plt(title1)
    characteridText = TextLoading.getTextData(TextLoading.stageWordPath,
                                              '0') + characterId
    EraPrint.p(characteridText)
    panelState = CacheContorl.panelState['CharacterMainAttrPanel']
    if panelState == "0":
        PyCmd.pcmd(panelStateOffText, 'CharacterMainAttrPanel', None)
        EraPrint.p('\n')
        attrListString = []
        characterData = AttrHandle.getAttrData(characterId)
        characterSexId = characterData['Sex']
        characterSex = AttrText.getSexText(characterSexId)
        characterAge = characterData['Age']
        characterName = characterData['Name']
        fixCharacterName = TextLoading.getTextData(TextLoading.stageWordPath,
                                                   '13')
        characterName = fixCharacterName + characterName
        attrListString.append(characterName)
        characterSelfName = characterData['SelfName']
        fixCharacterSelfName = TextLoading.getTextData(
            TextLoading.stageWordPath, '11')
        characterSelfName = fixCharacterSelfName + characterSelfName
        attrListString.append(characterSelfName)
        characterNickName = characterData['NickName']
        characterNickName = TextLoading.getTextData(TextLoading.stageWordPath,
                                                    '12') + characterNickName
        attrListString.append(characterNickName)
        relationship = characterData['Relationship']
        relationship = TextLoading.getTextData(TextLoading.stageWordPath,
                                               '14') + relationship
        attrListString.append(relationship)
        characterSpecies = characterData['Species']
        characterSpecies = TextLoading.getTextData(TextLoading.stageWordPath,
                                                   '15') + characterSpecies
        attrListString.append(characterSpecies)
        characterSex = TextLoading.getTextData(TextLoading.stageWordPath,
                                               '2') + characterSex
        attrListString.append(characterSex)
        characterAge = TextLoading.getTextData(TextLoading.stageWordPath,
                                               '3') + str(characterAge)
        attrListString.append(characterAge)
        EraPrint.p('\n')
        characterSan = characterData['San']
        characterSan = TextLoading.getTextData(TextLoading.stageWordPath,
                                               '10') + characterSan
        attrListString.append(characterSan)
        characterHeight = characterData['Height']['NowHeight']
        characterWeight = characterData['Weight']
        characterMeasurements = characterData['Measurements']
        characterHeightText = str(round(characterHeight, 2))
        characterWeightText = str(round(characterWeight, 2))
        characterBust = str(round(characterMeasurements['Bust'], 2))
        characterWaist = str(round(characterMeasurements['Waist'], 2))
        characterHip = str(round(characterMeasurements['Hip'], 2))
        characterHeightInfo = TextLoading.getTextData(
            TextLoading.stageWordPath, '80') + characterHeightText
        attrListString.append(characterHeightInfo)
        characterWeightInfo = TextLoading.getTextData(
            TextLoading.stageWordPath, '81') + characterWeightText
        attrListString.append(characterWeightInfo)
        characterBustInfo = TextLoading.getTextData(TextLoading.stageWordPath,
                                                    '82') + characterBust
        characterWaistInfo = TextLoading.getTextData(TextLoading.stageWordPath,
                                                     '83') + characterWaist
        characterHipInfo = TextLoading.getTextData(TextLoading.stageWordPath,
                                                   '84') + characterHip
        characterIntimate = characterData['Intimate']
        characterIntimate = TextLoading.getTextData(TextLoading.stageWordPath,
                                                    '16') + characterIntimate
        attrListString.append(characterIntimate)
        characterGraces = characterData['Graces']
        characterGraces = TextLoading.getTextData(TextLoading.stageWordPath,
                                                  '17') + characterGraces
        attrListString.append(characterGraces)
        attrListString.append(characterBustInfo)
        attrListString.append(characterWaistInfo)
        attrListString.append(characterHipInfo)
        EraPrint.plist(attrListString, 4, 'center')
        EraPrint.p('\n')
        AttrPrint.printHpAndMpBar(characterId)
        return 'CharacterMainAttrPanel'
    else:
        characterName = CacheContorl.characterData['character'][characterId][
            'Name']
        EraPrint.p(' ' + characterName + ' ')
        PyCmd.pcmd(panelStateOnText, 'CharacterMainAttrPanel', None)
        EraPrint.p('\n')
        return 'CharacterMainAttrPanel'