Este's curing is able to be used when confusing. Refactor racial.c
@@ -23,6 +23,7 @@ | ||
23 | 23 | int stat; |
24 | 24 | int fail; |
25 | 25 | int number; |
26 | + bool ignore_conf; | |
26 | 27 | }; |
27 | 28 | |
28 | 29 |
@@ -40,7 +41,7 @@ | ||
40 | 41 | int stat = p_ptr->stat_cur[pd_ptr->stat]; |
41 | 42 | |
42 | 43 | /* No chance for success */ |
43 | - if ((p_ptr->lev < min_level) || p_ptr->confused) | |
44 | + if ((p_ptr->lev < min_level) || (p_ptr->confused && !(pd_ptr->ignore_conf))) | |
44 | 45 | { |
45 | 46 | return (0); |
46 | 47 | } |
@@ -99,23 +100,17 @@ | ||
99 | 100 | /* Power is not available yet */ |
100 | 101 | if (p_ptr->lev < min_level) |
101 | 102 | { |
102 | -#ifdef JP | |
103 | - msg_format("この能力を使用するにはレベル %d に達していなければなりません。", min_level); | |
104 | -#else | |
105 | - msg_format("You need to attain level %d to use this power.", min_level); | |
106 | -#endif | |
103 | + msg_format(_("この能力を使用するにはレベル %d に達していなければなりません。", | |
104 | + "You need to attain level %d to use this power."), | |
105 | + min_level); | |
107 | 106 | energy_use = 0; |
108 | 107 | return 0; |
109 | 108 | } |
110 | 109 | |
111 | 110 | /* Too confused */ |
112 | - else if (p_ptr->confused) | |
111 | + else if (p_ptr->confused && !(pd_ptr->ignore_conf)) | |
113 | 112 | { |
114 | -#ifdef JP | |
115 | - msg_print("混乱していてその能力は使えない。"); | |
116 | -#else | |
117 | - msg_print("You are too confused to use this power."); | |
118 | -#endif | |
113 | + msg_print(_("混乱していてその能力は使えません。", "You are too confused to use this power.")); | |
119 | 114 | energy_use = 0; |
120 | 115 | return 0; |
121 | 116 | } |
@@ -123,11 +118,8 @@ | ||
123 | 118 | /* Risk death? */ |
124 | 119 | else if (p_ptr->chp < use_hp) |
125 | 120 | { |
126 | -#ifdef JP | |
127 | - if (!get_check("本当に今の衰弱した状態でこの能力を使いますか?")) | |
128 | -#else | |
129 | - if (!get_check("Really use the power in your weakened state? ")) | |
130 | -#endif | |
121 | + if (!get_check(_("本当に今の衰弱した状態でこの能力を使いますか?", | |
122 | + "Really use the power in your weakened state? "))) | |
131 | 123 | { |
132 | 124 | energy_use = 0; |
133 | 125 | return 0; |
@@ -162,11 +154,8 @@ | ||
162 | 154 | } |
163 | 155 | |
164 | 156 | if (flush_failure) flush(); |
165 | -#ifdef JP | |
166 | - msg_print("充分に集中できなかった。"); | |
167 | -#else | |
168 | - msg_print("You've failed to concentrate hard enough."); | |
169 | -#endif | |
157 | + msg_print(_("充分に集中できなかった。", "You've failed to concentrate hard enough.")); | |
158 | + | |
170 | 159 | return -1; |
171 | 160 | } |
172 | 161 |
@@ -293,7 +282,7 @@ | ||
293 | 282 | #else |
294 | 283 | msg_format("%^s appears confused.", m_name); |
295 | 284 | #endif |
296 | - m_ptr->confused += randint0(p_ptr->lev / 5) + 4; | |
285 | + m_ptr->confused += (byte)(randint0(p_ptr->lev / 5) + 4); | |
297 | 286 | } |
298 | 287 | |
299 | 288 | /* Hack -- delay fear messages */ |
@@ -723,6 +712,7 @@ | ||
723 | 712 | (void)set_poisoned(0); |
724 | 713 | (void)set_cut(0); |
725 | 714 | (void)set_blind(0); |
715 | + (void)set_confused(0); | |
726 | 716 | (void)set_image(0); |
727 | 717 | (void)set_stun(0); |
728 | 718 | break; |
@@ -905,6 +895,21 @@ | ||
905 | 895 | } |
906 | 896 | |
907 | 897 | |
898 | +static power_desc_type power_desc_entry(cptr name, int level, int cost, int stat, int fail, int number) | |
899 | +{ | |
900 | + power_desc_type power_desc; | |
901 | + strcpy(power_desc.name, name); | |
902 | + power_desc.level = level; | |
903 | + power_desc.cost = cost; | |
904 | + power_desc.stat = stat; | |
905 | + power_desc.fail = fail; | |
906 | + power_desc.number = number; | |
907 | + power_desc.ignore_conf = FALSE; | |
908 | + | |
909 | + return (power_desc); | |
910 | +} | |
911 | + | |
912 | + | |
908 | 913 | /* |
909 | 914 | * Allow user to choose a power (racial / mutation) to activate |
910 | 915 | */ |
@@ -917,7 +922,6 @@ | ||
917 | 922 | char choice; |
918 | 923 | char out_val[160]; |
919 | 924 | |
920 | - | |
921 | 925 | for (num = 0; num < 36; num++) |
922 | 926 | { |
923 | 927 | strcpy(power_desc[num].name, ""); |
@@ -926,14 +930,10 @@ | ||
926 | 930 | |
927 | 931 | num = 0; |
928 | 932 | |
929 | - if (p_ptr->confused) | |
933 | + /* Can use Este's power when confusion */ | |
934 | + if (p_ptr->confused && (p_ptr->valar_patron != VAR_ESTE)) | |
930 | 935 | { |
931 | -#ifdef JP | |
932 | - msg_print("混乱していて特殊能力を使えません!"); | |
933 | -#else | |
934 | - msg_print("You are too confused to use any powers!"); | |
935 | -#endif | |
936 | - energy_use = 0; | |
936 | + msg_print(_("混乱していて特殊能力を使えません!", "You are too confused to use any powers!")); | |
937 | 937 | return; |
938 | 938 | } |
939 | 939 |
@@ -940,82 +940,36 @@ | ||
940 | 940 | switch (p_ptr->pclass) |
941 | 941 | { |
942 | 942 | case CLASS_WARRIOR: |
943 | -#ifdef JP | |
944 | - strcpy(power_desc[num].name, "シールド・バッシュ"); | |
945 | -#else | |
946 | - strcpy(power_desc[num].name, "Shield bashing"); | |
947 | -#endif | |
948 | - power_desc[num].level = 1; | |
949 | - power_desc[num].cost = 15; | |
950 | - power_desc[num].stat = A_DEX; | |
951 | - power_desc[num].fail = 0; | |
952 | - power_desc[num++].number = -3; | |
943 | + power_desc[num++] = power_desc_entry( | |
944 | + _("シールド・バッシュ", "Shield bashing"), | |
945 | + 1, 15, A_DEX, 0, -3); | |
953 | 946 | break; |
954 | 947 | case CLASS_PALADIN: |
955 | -#ifdef JP | |
956 | - strcpy(power_desc[num].name, "呪い識別"); | |
957 | -#else | |
958 | - strcpy(power_desc[num].name, "Identify curse"); | |
959 | -#endif | |
960 | - power_desc[num].level = 5; | |
961 | - power_desc[num].cost = 10; | |
962 | - power_desc[num].stat = A_WIS; | |
963 | - power_desc[num].fail = 9; | |
964 | - power_desc[num++].number = -3; | |
948 | + power_desc[num++] = power_desc_entry( | |
949 | + _("呪い識別", "Identify curse"), | |
950 | + 5, 10, A_WIS, 9, -3); | |
965 | 951 | break; |
966 | 952 | case CLASS_WARRIOR_MAGE: |
967 | -#ifdef JP | |
968 | - strcpy(power_desc[num].name, "遠方攻撃"); | |
969 | -#else | |
970 | - strcpy(power_desc[num].name, "Distance attack"); | |
971 | -#endif | |
972 | - power_desc[num].level = 1; | |
973 | - power_desc[num].cost = 15; | |
974 | - power_desc[num].stat = A_DEX; | |
975 | - power_desc[num].fail = 0; | |
976 | - power_desc[num++].number = -3; | |
953 | + power_desc[num++] = power_desc_entry( | |
954 | + _("遠方攻撃", "Distance attack"), | |
955 | + 1, 15, A_DEX, 0, -3); | |
977 | 956 | break; |
978 | 957 | case CLASS_MAGE: |
979 | 958 | case CLASS_PRIEST: |
980 | -#ifdef JP | |
981 | - strcpy(power_desc[num].name, "明鏡止水"); | |
982 | -#else | |
983 | - strcpy(power_desc[num].name, "Clear mind"); | |
984 | -#endif | |
985 | - power_desc[num].level = 15; | |
986 | - power_desc[num].cost = 0; | |
987 | - power_desc[num].stat = m_info[p_ptr->pclass].spell_stat; | |
988 | - power_desc[num].fail = 10; | |
989 | - power_desc[num++].number = -3; | |
959 | + power_desc[num++] = power_desc_entry( | |
960 | + _("明鏡止水", "Clear mind"), | |
961 | + 15, 0, m_info[p_ptr->pclass].spell_stat, 10, -3); | |
990 | 962 | break; |
991 | 963 | case CLASS_ARCHER: |
992 | -#ifdef JP | |
993 | - strcpy(power_desc[num].name, "弓/矢の鑑定"); | |
994 | -#else | |
995 | - strcpy(power_desc[num].name, "Identify bows/ammos"); | |
996 | -#endif | |
997 | - power_desc[num].level = 10; | |
998 | - power_desc[num].cost = 15; | |
999 | - power_desc[num].stat = A_INT; | |
1000 | - power_desc[num].fail = 15; | |
1001 | - power_desc[num++].number = -3; | |
1002 | -#ifdef JP | |
1003 | - strcpy(power_desc[num].name, "矢の雨"); | |
1004 | -#else | |
1005 | - strcpy(power_desc[num].name, "Arrow rain"); | |
1006 | -#endif | |
1007 | - power_desc[num].level = 5; | |
1008 | - power_desc[num].cost = 15; | |
1009 | - power_desc[num].stat = A_DEX; | |
1010 | - power_desc[num].fail = 15; | |
1011 | - power_desc[num++].number = -4; | |
964 | + power_desc[num++] = power_desc_entry( | |
965 | + _("弓/矢の鑑定", "Identify bows/ammos"), | |
966 | + 10, 15, A_INT, 15, -3); | |
967 | + power_desc[num++] = power_desc_entry( | |
968 | + _("矢の雨", "Arrow rain"), | |
969 | + 5, 15, A_DEX, 15, -4); | |
1012 | 970 | break; |
1013 | 971 | default: |
1014 | -#ifdef JP | |
1015 | - strcpy(power_desc[num].name, "(なし)"); | |
1016 | -#else | |
1017 | - strcpy(power_desc[num].name, "(none)"); | |
1018 | -#endif | |
972 | + strcpy(power_desc[num].name, _("(なし)", "(none)")); | |
1019 | 973 | break; |
1020 | 974 | } |
1021 | 975 |
@@ -1022,65 +976,30 @@ | ||
1022 | 976 | switch (p_ptr->prace) |
1023 | 977 | { |
1024 | 978 | case RACE_DWARF: |
1025 | -#ifdef JP | |
1026 | - strcpy(power_desc[num].name, "ドアと罠 感知"); | |
1027 | -#else | |
1028 | - strcpy(power_desc[num].name, "Detect doors+traps"); | |
1029 | -#endif | |
1030 | - power_desc[num].level = 5; | |
1031 | - power_desc[num].cost = 5; | |
1032 | - power_desc[num].stat = A_WIS; | |
1033 | - power_desc[num].fail = 12; | |
1034 | - power_desc[num++].number = -1; | |
979 | + power_desc[num++] = power_desc_entry( | |
980 | + _("ドアと罠 感知", "Detect doors+traps"), | |
981 | + 5, 5, A_WIS, 12, -1); | |
1035 | 982 | break; |
1036 | 983 | case RACE_HOBBIT: |
1037 | -#ifdef JP | |
1038 | - strcpy(power_desc[num].name, "食糧生成"); | |
1039 | -#else | |
1040 | - strcpy(power_desc[num].name, "Create food"); | |
1041 | -#endif | |
1042 | - power_desc[num].level = 15; | |
1043 | - power_desc[num].cost = 10; | |
1044 | - power_desc[num].stat = A_INT; | |
1045 | - power_desc[num].fail = 10; | |
1046 | - power_desc[num++].number = -1; | |
984 | + power_desc[num++] = power_desc_entry( | |
985 | + _("食糧生成", "Create food"), | |
986 | + 15, 10, A_INT, 10, -1); | |
1047 | 987 | break; |
1048 | 988 | case RACE_HALF_ORC: |
1049 | -#ifdef JP | |
1050 | - strcpy(power_desc[num].name, "恐怖除去"); | |
1051 | -#else | |
1052 | - strcpy(power_desc[num].name, "Remove fear"); | |
1053 | -#endif | |
1054 | - power_desc[num].level = 3; | |
1055 | - power_desc[num].cost = 5; | |
1056 | - power_desc[num].stat = A_WIS; | |
1057 | - power_desc[num].fail = (warrior ? 5 : 10); | |
1058 | - power_desc[num++].number = -1; | |
989 | + power_desc[num++] = power_desc_entry( | |
990 | + _("恐怖除去", "Remove fear"), | |
991 | + 3, 5, A_WIS, (warrior ? 5 : 10), -1); | |
1059 | 992 | break; |
1060 | 993 | case RACE_BARBARIAN: |
1061 | -#ifdef JP | |
1062 | - strcpy(power_desc[num].name, "肉体野獣化"); | |
1063 | -#else | |
1064 | - strcpy(power_desc[num].name, "Berserk"); | |
1065 | -#endif | |
1066 | - power_desc[num].level = 8; | |
1067 | - power_desc[num].cost = 10; | |
1068 | - power_desc[num].stat = A_WIS; | |
1069 | - power_desc[num].fail = (warrior ? 6 : 12); | |
1070 | - power_desc[num++].number = -1; | |
994 | + power_desc[num++] = power_desc_entry( | |
995 | + _("肉体野獣化", "Berserk"), | |
996 | + 8, 10, A_WIS, (warrior ? 6 : 12), -1); | |
1071 | 997 | break; |
1072 | 998 | #if 0 |
1073 | 999 | case RACE_VAMPIRE: |
1074 | -#ifdef JP | |
1075 | - strcpy(power_desc[num].name, "生命力吸収"); | |
1076 | -#else | |
1077 | - strcpy(power_desc[num].name, "Drain life"); | |
1078 | -#endif | |
1079 | - power_desc[num].level = 2; | |
1080 | - power_desc[num].cost = 1 + (lvl / 3); | |
1081 | - power_desc[num].stat = A_CON; | |
1082 | - power_desc[num].fail = 9; | |
1083 | - power_desc[num++].number = -1; | |
1000 | + power_desc[num++] = power_desc_entry( | |
1001 | + _("生命力吸収", "Drain life"), | |
1002 | + 2, 1 + (lvl / 3), A_CON, 9, -1); | |
1084 | 1003 | break; |
1085 | 1004 | #endif |
1086 | 1005 | default: |
@@ -1090,210 +1009,92 @@ | ||
1090 | 1009 | switch(p_ptr->valar_patron) |
1091 | 1010 | { |
1092 | 1011 | case VAR_MANWE: |
1093 | -#ifdef JP | |
1094 | - strcpy(power_desc[num].name, "風のオーラ"); | |
1095 | -#else | |
1096 | - strcpy(power_desc[num].name, "Cloak of Hurricane"); | |
1097 | -#endif | |
1098 | - power_desc[num].level = 7; | |
1099 | - power_desc[num].cost = 10; | |
1100 | - power_desc[num].stat = A_INT; | |
1101 | - power_desc[num].fail = 15; | |
1102 | - power_desc[num++].number = -10; | |
1012 | + power_desc[num++] = power_desc_entry( | |
1013 | + _("風のオーラ", "Cloak of Hurricane"), | |
1014 | + 7, 10, A_WIS, 15, -10); | |
1103 | 1015 | break; |
1104 | 1016 | case VAR_ULMO: |
1105 | -#ifdef JP | |
1106 | - strcpy(power_desc[num].name, "酸への耐性"); | |
1107 | -#else | |
1108 | - strcpy(power_desc[num].name, "Acid resistance"); | |
1109 | -#endif | |
1110 | - power_desc[num].level = 10; | |
1111 | - power_desc[num].cost = 15; | |
1112 | - power_desc[num].stat = A_INT; | |
1113 | - power_desc[num].fail = 15; | |
1114 | - power_desc[num++].number = -10; | |
1017 | + power_desc[num++] = power_desc_entry( | |
1018 | + _("酸への耐性", "Acid resistance"), | |
1019 | + 10, 15, A_INT, 15, -10); | |
1115 | 1020 | break; |
1116 | 1021 | case VAR_AULE: |
1117 | - strcpy(power_desc[num].name, _("腕力強化", "Extra might")); | |
1118 | - power_desc[num].level = 5; | |
1119 | - power_desc[num].cost = 10; | |
1120 | - power_desc[num].stat = A_STR; | |
1121 | - power_desc[num].fail = (warrior ? 6 : 12); | |
1122 | - power_desc[num++].number = -10; | |
1123 | - strcpy(power_desc[num].name, _("腐食防止", "Rust proofing")); | |
1124 | - power_desc[num].level = 20; | |
1125 | - power_desc[num].cost = 30; | |
1126 | - power_desc[num].stat = A_STR; | |
1127 | - power_desc[num].fail = (warrior ? 12 : 24); | |
1128 | - power_desc[num++].number = -11; | |
1022 | + power_desc[num++] = power_desc_entry( | |
1023 | + _("腕力強化", "Extra might"), | |
1024 | + 5, 10, A_STR, (warrior ? 6 : 12), -10); | |
1025 | + power_desc[num++] = power_desc_entry( | |
1026 | + _("腐食防止", "Rust proofing"), | |
1027 | + 20, 30, A_STR, (warrior ? 12 : 24), -11); | |
1129 | 1028 | break; |
1130 | 1029 | case VAR_OROME: |
1131 | -#ifdef JP | |
1132 | - strcpy(power_desc[num].name, "エルフの目"); | |
1133 | -#else | |
1134 | - strcpy(power_desc[num].name, "Elven eye"); | |
1135 | -#endif | |
1136 | - power_desc[num].level = 3; | |
1137 | - power_desc[num].cost = 5; | |
1138 | - power_desc[num].stat = A_DEX; | |
1139 | - power_desc[num].fail = 15; | |
1140 | - power_desc[num++].number = -10; | |
1030 | + power_desc[num++] = power_desc_entry( | |
1031 | + _("エルフの目", "Elven eye"), | |
1032 | + 3, 5, A_DEX, 15, -10); | |
1141 | 1033 | break; |
1142 | 1034 | case VAR_MANDOS: |
1143 | -#ifdef JP | |
1144 | - strcpy(power_desc[num].name, "死者退散"); | |
1145 | -#else | |
1146 | - strcpy(power_desc[num].name, "Dispel undead"); | |
1147 | -#endif | |
1148 | - power_desc[num].level = 10; | |
1149 | - power_desc[num].cost = 10; | |
1150 | - power_desc[num].stat = A_WIS; | |
1151 | - power_desc[num].fail = 10; | |
1152 | - power_desc[num++].number = -10; | |
1035 | + power_desc[num++] = power_desc_entry( | |
1036 | + _("死者退散", "Dispel undead"), | |
1037 | + 10, 10, A_WIS, 10, -10); | |
1153 | 1038 | break; |
1154 | 1039 | case VAR_IRMO: |
1155 | -#ifdef JP | |
1156 | - strcpy(power_desc[num].name, "周辺スリープ"); | |
1157 | -#else | |
1158 | - strcpy(power_desc[num].name, "Sleep monsters"); | |
1159 | -#endif | |
1160 | - power_desc[num].level = 8; | |
1161 | - power_desc[num].cost = 10; | |
1162 | - power_desc[num].stat = A_INT; | |
1163 | - power_desc[num].fail = 15; | |
1164 | - power_desc[num++].number = -10; | |
1040 | + power_desc[num++] = power_desc_entry( | |
1041 | + _("周辺スリープ", "Sleep monsters"), | |
1042 | + 8, 10, A_INT, 15, -10); | |
1165 | 1043 | break; |
1166 | 1044 | case VAR_TULKAS: |
1167 | -#ifdef JP | |
1168 | - strcpy(power_desc[num].name, "全方位攻撃"); | |
1169 | -#else | |
1170 | - strcpy(power_desc[num].name, "Whirlwind Attack"); | |
1171 | -#endif | |
1172 | - power_desc[num].level = 1; | |
1173 | - power_desc[num].cost = 15; | |
1174 | - power_desc[num].stat = A_STR; | |
1175 | - power_desc[num].fail = (warrior ? 9 : 15); | |
1176 | - power_desc[num++].number = -10; | |
1177 | -#ifdef JP | |
1178 | - strcpy(power_desc[num].name, "士気高揚"); | |
1179 | -#else | |
1180 | - strcpy(power_desc[num].name, "Heroism"); | |
1181 | -#endif | |
1182 | - power_desc[num].level = 7; | |
1183 | - power_desc[num].cost = 10; | |
1184 | - power_desc[num].stat = A_WIS; | |
1185 | - power_desc[num].fail = 12; | |
1186 | - power_desc[num++].number = -11; | |
1045 | + power_desc[num++] = power_desc_entry( | |
1046 | + _("全方位攻撃", "Whirlwind Attack"), | |
1047 | + 1, 15, A_STR, (warrior ? 9 : 15), -10); | |
1048 | + power_desc[num++] = power_desc_entry( | |
1049 | + _("士気高揚", "Heroism"), | |
1050 | + 7, 10, A_WIS, 12, -11); | |
1187 | 1051 | break; |
1188 | 1052 | case VAR_VARDA: |
1189 | -#ifdef JP | |
1190 | - strcpy(power_desc[num].name, "対邪悪結界"); | |
1191 | -#else | |
1192 | - strcpy(power_desc[num].name, "Protection from evil"); | |
1193 | -#endif | |
1194 | - power_desc[num].level = 7; | |
1195 | - power_desc[num].cost = 15; | |
1196 | - power_desc[num].stat = A_WIS; | |
1197 | - power_desc[num].fail = 15; | |
1198 | - power_desc[num++].number = -10; | |
1053 | + power_desc[num++] = power_desc_entry( | |
1054 | + _("対邪悪結界", "Protection from evil"), | |
1055 | + 7, 15, A_WIS, 15, -10); | |
1199 | 1056 | break; |
1200 | 1057 | case VAR_YAVANNA: |
1201 | -#ifdef JP | |
1202 | - strcpy(power_desc[num].name, "草地生成"); | |
1203 | -#else | |
1204 | - strcpy(power_desc[num].name, "Create grass"); | |
1205 | -#endif | |
1206 | - power_desc[num].level = 1; | |
1207 | - power_desc[num].cost = 2; | |
1208 | - power_desc[num].stat = A_DEX; | |
1209 | - power_desc[num].fail = 6; | |
1210 | - power_desc[num++].number = -10; | |
1211 | -#ifdef JP | |
1212 | - strcpy(power_desc[num].name, "フラッシュ・ライト"); | |
1213 | -#else | |
1214 | - strcpy(power_desc[num].name, "Flash Light"); | |
1215 | -#endif | |
1216 | - power_desc[num].level = 5; | |
1217 | - power_desc[num].cost = 5; | |
1218 | - power_desc[num].stat = A_CHR; | |
1219 | - power_desc[num].fail = 6; | |
1220 | - power_desc[num++].number = -11; | |
1058 | + power_desc[num++] = power_desc_entry( | |
1059 | + _("草地生成", "Create grass"), | |
1060 | + 1, 2, A_DEX, 6, -10); | |
1061 | + power_desc[num++] = power_desc_entry( | |
1062 | + _("フラッシュ・ライト", "Flash Light"), | |
1063 | + 5, 5, A_CHR, 6, -1); | |
1221 | 1064 | break; |
1222 | 1065 | case VAR_NIENNA: |
1223 | -#ifdef JP | |
1224 | - strcpy(power_desc[num].name, "哀しみの歌"); | |
1225 | -#else | |
1226 | - strcpy(power_desc[num].name, "Sorrowful song"); | |
1227 | -#endif | |
1228 | - power_desc[num].level = 7; | |
1229 | - power_desc[num].cost = 5; | |
1230 | - power_desc[num].stat = A_CHR; | |
1231 | - power_desc[num].fail = 9; | |
1232 | - power_desc[num++].number = -10; | |
1066 | + power_desc[num++] = power_desc_entry( | |
1067 | + _("哀しみの歌", "Sorrowful song"), | |
1068 | + 7, 5, A_CHR, 9, -10); | |
1233 | 1069 | break; |
1234 | 1070 | case VAR_ESTE: |
1235 | -#ifdef JP | |
1236 | - strcpy(power_desc[num].name, "癒しの手"); | |
1237 | -#else | |
1238 | - strcpy(power_desc[num].name, "Curing"); | |
1239 | -#endif | |
1240 | - power_desc[num].level = 1; | |
1241 | - power_desc[num].cost = 5; | |
1242 | - power_desc[num].stat = A_WIS; | |
1243 | - power_desc[num].fail = 6; | |
1244 | - power_desc[num++].number = -10; | |
1071 | + power_desc[num] = power_desc_entry( | |
1072 | + _("癒しの手", "Curing"), | |
1073 | + 1, 5, A_WIS, 6, -10); | |
1074 | + power_desc[num++].ignore_conf = TRUE; | |
1245 | 1075 | break; |
1246 | 1076 | case VAR_VAIRE: |
1247 | -#ifdef JP | |
1248 | - strcpy(power_desc[num].name, "魅惑の目"); | |
1249 | -#else | |
1250 | - strcpy(power_desc[num].name, "Charming"); | |
1251 | -#endif | |
1252 | - power_desc[num].level = 10; | |
1253 | - power_desc[num].cost = 10; | |
1254 | - power_desc[num].stat = A_CHR; | |
1255 | - power_desc[num].fail = 12; | |
1256 | - power_desc[num++].number = -10; | |
1077 | + power_desc[num++] = power_desc_entry( | |
1078 | + _("魅惑の目", "Charming"), | |
1079 | + 10, 10, A_CHR, 12, -10); | |
1257 | 1080 | break; |
1258 | 1081 | case VAR_VANA: |
1259 | -#ifdef JP | |
1260 | - strcpy(power_desc[num].name, "経験値復活"); | |
1261 | -#else | |
1262 | - strcpy(power_desc[num].name, "Restore level"); | |
1263 | -#endif | |
1264 | - power_desc[num].level = 15; | |
1265 | - power_desc[num].cost = 10; | |
1266 | - power_desc[num].stat = A_WIS; | |
1267 | - power_desc[num].fail = 9; | |
1268 | - power_desc[num++].number = -10; | |
1082 | + power_desc[num++] = power_desc_entry( | |
1083 | + _("経験値復活", "Restore level"), | |
1084 | + 15, 10, A_WIS, 9, -10); | |
1269 | 1085 | break; |
1270 | 1086 | case VAR_NESSA: |
1271 | -#ifdef JP | |
1272 | - strcpy(power_desc[num].name, "跳躍"); | |
1273 | -#else | |
1274 | - strcpy(power_desc[num].name, "Stepping"); | |
1275 | -#endif | |
1276 | - power_desc[num].level = 1; | |
1277 | - power_desc[num].cost = 5; | |
1278 | - power_desc[num].stat = A_DEX; | |
1279 | - power_desc[num].fail = 6; | |
1280 | - power_desc[num++].number = -10; | |
1087 | + power_desc[num++] = power_desc_entry( | |
1088 | + _("跳躍", "Stepping"), | |
1089 | + 1, 3, A_DEX, 6, -10); | |
1281 | 1090 | break; |
1282 | 1091 | default: |
1283 | 1092 | break; |
1284 | 1093 | } |
1285 | 1094 | |
1286 | -#if 0 | |
1287 | - if ((num == 0) && !p_ptr->muta) | |
1288 | -#else | |
1289 | 1095 | if (num == 0) |
1290 | -#endif | |
1291 | 1096 | { |
1292 | -#ifdef JP | |
1293 | - msg_print("使える特殊能力が何もありません。"); | |
1294 | -#else | |
1295 | - msg_print("You have no powers to activate."); | |
1296 | -#endif | |
1097 | + msg_print(_("使える特殊能力が何もありません。", "You have no powers to activate.")); | |
1297 | 1098 | energy_use = 0; |
1298 | 1099 | return; |
1299 | 1100 | } |
@@ -1306,7 +1107,7 @@ | ||
1306 | 1107 | |
1307 | 1108 | /* Build a prompt */ |
1308 | 1109 | #ifdef JP |
1309 | - (void) strnfmt(out_val, 78, "(特殊能力 %c-%c, *'で一覧, ESCで中断) どの特殊能力を使いますか?", | |
1110 | + (void)strnfmt(out_val, 78, "(特殊能力 %c-%c, *'で一覧, ESCで中断) どの特殊能力を使いますか?", | |
1310 | 1111 | #else |
1311 | 1112 | (void)strnfmt(out_val, 78, "(Powers %c-%c, *=List, ESC=exit) Use which power? ", |
1312 | 1113 | #endif |
@@ -1424,7 +1225,7 @@ | ||
1424 | 1225 | |
1425 | 1226 | /* Prompt */ |
1426 | 1227 | #ifdef JP |
1427 | - (void) strnfmt(tmp_val, 78, "%sを使いますか? ", power_desc[i].name); | |
1228 | + (void)strnfmt(tmp_val, 78, "%sを使いますか? ", power_desc[i].name); | |
1428 | 1229 | #else |
1429 | 1230 | (void)strnfmt(tmp_val, 78, "Use %s? ", power_desc[i].name); |
1430 | 1231 | #endif |