1 #include "racial/race-racial-command-setter.h"
2 #include "cmd-action/cmd-spell.h"
3 #include "player-info/race-info.h"
4 #include "racial/racial-util.h"
5 #include "system/player-type-definition.h"
7 void set_mimic_racial_command(player_type *player_ptr, rc_type *rc_ptr)
10 switch (player_ptr->mimic_form) {
12 case MIMIC_DEMON_LORD:
13 rpi = rpi_type(_("地獄/火炎のブレス", "Nether or Fire Breath"));
14 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 3);
15 rpi.text = _("火炎または地獄のブレスを放つ。", "Fires a breath of fire or nether.");
17 rpi.cost = 10 + rc_ptr->lvl / 3;
20 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
23 rpi = rpi_type(_("吸血", "Vampiric Drain"));
24 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 2);
25 rpi.text = _("隣接したモンスター1体から生命力を吸い取る。吸い取った生命力によって満腹度があがる。",
26 "Drains and transfers HP from a monster near by you. You will also gain nutritional sustenance from this.");
28 rpi.cost = 1 + (rc_ptr->lvl / 3);
31 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
36 void set_race_racial_command(player_type *player_ptr, rc_type *rc_ptr)
39 switch (player_ptr->prace) {
40 case PlayerRaceType::DWARF:
41 rpi = rpi_type(_("ドアと罠 感知", "Detect Doors+Traps"));
42 rpi.text = _("近くの全ての扉と罠、階段を感知する。", "Detects traps, doors, and stairs in your vicinity.");
47 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
49 case PlayerRaceType::NIBELUNG:
50 rpi = rpi_type(_("ドアと罠 感知", "Detect Doors+Traps"));
51 rpi.text = _("近くの全ての扉と罠、階段を感知する。", "Detects traps, doors, and stairs in your vicinity.");
56 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
58 case PlayerRaceType::HOBBIT:
59 rpi = rpi_type(_("食糧生成", "Create Food"));
60 rpi.text = _("食料を一つ作り出す。", "Produces a Ration of Food.");
65 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
67 case PlayerRaceType::GNOME:
68 rpi = rpi_type(_("ショート・テレポート", "Blink"));
69 rpi.info = format("%s%d", KWD_SPHERE, 10);
70 rpi.text = _("近距離のテレポートをする。", "Teleports you a short distance.");
75 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
77 case PlayerRaceType::HALF_ORC:
78 rpi = rpi_type(_("恐怖除去", "Remove Fear"));
79 rpi.text = _("恐怖を取り除く。", "Removes fear.");
83 rpi.fail = rc_ptr->is_warrior ? 5 : 10;
84 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
86 case PlayerRaceType::HALF_TROLL:
87 rpi = rpi_type(_("狂戦士化", "Berserk"));
88 rpi.info = format("%s%d+d%d", KWD_DURATION, 10, rc_ptr->lvl);
89 rpi.text = _("狂戦士化し、恐怖を除去する。防御力が少し低下する。", "Gives a bonus to hit and HP, immunity to fear for a while. But decreases AC.");
93 rpi.fail = rc_ptr->is_warrior ? 6 : 12;
94 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
96 case PlayerRaceType::BARBARIAN:
97 rpi = rpi_type(_("狂戦士化", "Berserk"));
98 rpi.info = format("%s%d+d%d", KWD_DURATION, 10, rc_ptr->lvl);
99 rpi.text = _("狂戦士化し、恐怖を除去する。防御力が少し低下する。", "Gives a bonus to hit and HP, immunity to fear for a while. But decreases AC.");
103 rpi.fail = rc_ptr->is_warrior ? 6 : 12;
104 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
106 case PlayerRaceType::AMBERITE:
107 rpi = rpi_type(_("シャドウ・シフト", "Shadow Shifting"));
108 rpi.text = _("現在の階を再構成する。", "Recreates current dungeon level.");
113 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
115 rpi = rpi_type(_("パターン・ウォーク", "Pattern Mindwalking"));
116 rpi.text = _("すべてのステータスと経験値を回復する。", "Restores all stats and experience.");
121 rc_ptr->add_power(rpi, RC_IDX_RACE_1);
123 case PlayerRaceType::HALF_OGRE:
124 rpi = rpi_type(_("爆発のルーン", "Explosive Rune"));
125 rpi.text = _("自分のいる床の上に、モンスターが上を通ろうとすると爆発するルーンを描く。",
126 "Sets a rune on the floor beneath you which exprodes if a monster through upon it. Monsters can try to disarm it.");
131 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
133 case PlayerRaceType::HALF_GIANT:
134 rpi = rpi_type(_("岩石溶解", "Stone to Mud"));
135 rpi.text = _("壁を溶かして床にする。", "Turns one rock square to mud.");
140 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
142 case PlayerRaceType::HALF_TITAN:
143 rpi = rpi_type(_("スキャン・モンスター", "Probing"));
144 rpi.text = _("モンスターの属性、残り体力、最大体力、スピード、正体を知る。", "Probes all monsters' alignment, HP, speed and their true character.");
149 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
151 case PlayerRaceType::CYCLOPS:
152 rpi = rpi_type(_("岩石投げ", "Throw Boulder"));
153 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 3 / 2);
154 rpi.text = _("弱い魔法のボールを放つ", "Fires a weak boll of magic.");
159 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
161 case PlayerRaceType::YEEK:
162 rpi = rpi_type(_("モンスター恐慌", "Scare Monster"));
163 rpi.text = _("モンスター1体を恐怖させる。抵抗されると無効。", "Attempts to scare a monster.");
168 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
170 case PlayerRaceType::SPECTRE:
171 rpi = rpi_type(_("モンスター恐慌", "Scare Monster"));
172 rpi.text = _("モンスター1体を恐怖させる。抵抗されると無効。", "Attempts to scare a monster.");
177 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
179 case PlayerRaceType::KLACKON:
180 rpi = rpi_type(_("酸の唾", "Spit Acid"));
181 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl);
182 if (rc_ptr->lvl >= 25)
183 rpi.text = _("酸のボールを放つ", "Fires a boll of acid.");
185 rpi.text = _("酸の矢を放つ", "Fires a bolt of acid.");
190 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
192 case PlayerRaceType::KOBOLD:
193 rpi = rpi_type(_("毒のダーツ", "Poison Dart"));
194 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl);
195 rpi.text = _("毒の矢を放つ", "Fires a bolt of poison.");
200 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
202 case PlayerRaceType::DARK_ELF:
203 rpi = rpi_type(_("マジック・ミサイル", "Magic Missile"));
204 rpi.info = format("%s%dd%d", KWD_DAM, 3 + ((rc_ptr->lvl - 1) / 5), 4);
205 rpi.text = _("弱い魔法の矢を放つ。", "Fires a weak bolt of magic.");
210 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
212 case PlayerRaceType::DRACONIAN:
213 rpi = rpi_type(_("ブレス", "Breath Weapon"));
214 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 2);
215 rpi.text = _("元素のブレスを放つ", "Fires a breath of an element.");
217 rpi.cost = rc_ptr->lvl;
220 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
222 case PlayerRaceType::MIND_FLAYER:
223 rpi = rpi_type(_("精神攻撃", "Mind Blast"));
224 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl);
225 rpi.text = _("モンスター1体に精神攻撃を行う。", "Deals a PSI damage to a monster.");
230 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
232 case PlayerRaceType::IMP:
233 if (rc_ptr->lvl > 30) {
234 rpi = rpi_type(_("ファイア・ボール", "Fire Ball"));
235 rpi.text = _("火炎のボールを放つ。", "Fires a ball of fire.");
237 rpi = rpi_type(_("ファイア・ボルト", "Fire Bolt"));
238 rpi.text = _("火炎の矢を放つ。", "Fires a bolt of fire.");
240 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl);
245 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
247 case PlayerRaceType::GOLEM:
248 rpi = rpi_type(_("肌石化", "Stone Skin"));
249 rpi.info = format("%s%d+d%d", KWD_DURATION, 30, 20);
250 rpi.text = _("一定期間防御力を高める。", "Increases your AC temporary");
255 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
257 case PlayerRaceType::SKELETON:
258 case PlayerRaceType::ZOMBIE:
259 rpi = rpi_type(_("経験値復活", "Restore Experience"));
260 rpi.text = _("経験値を回復する。", "Restores experience.");
265 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
267 case PlayerRaceType::VAMPIRE:
268 rpi = rpi_type(_("吸血", "Vampiric Drain"));
269 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 2);
270 rpi.text = _("隣接したモンスター1体から生命力を吸い取る。吸い取った生命力によって満腹度があがる。",
271 "Drains and transfers HP from a monster near by you. You will also gain nutritional sustenance from this.");
273 rpi.cost = 1 + (rc_ptr->lvl / 3);
276 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
278 case PlayerRaceType::SPRITE:
279 rpi = rpi_type(_("眠り粉", "Sleeping Dust"));
280 rpi.info = format("%s%d", KWD_POWER, rc_ptr->lvl);
281 rpi.text = _("モンスター1体を眠らせる。抵抗されると無効。", "Attempts to put a monster to sleep.");
286 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
288 case PlayerRaceType::BALROG:
289 rpi = rpi_type(_("地獄/火炎のブレス", "Nether or Fire Breath"));
290 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 3);
291 rpi.text = _("火炎または地獄のブレスを放つ。", "Fires a breath of fire or nether.");
293 rpi.cost = 10 + rc_ptr->lvl / 3;
296 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
298 case PlayerRaceType::KUTAR:
299 rpi = rpi_type(_("横に伸びる", "Expand Horizontally"));
300 rpi.info = format("%s%d+d%d", KWD_DURATION, 30, 20);
301 rpi.text = _("横に伸びて防御力を高める。魔法防御力は低下する。",
302 "Expands your body horizontally then increases AC, but decreases your magic resistance for curses.");
307 rc_ptr->add_power(rpi, RC_IDX_RACE_0);
309 case PlayerRaceType::ANDROID:
310 if (player_ptr->lev < 10) {
311 rpi = rpi_type(_("レイガン", "Ray Gun"));
312 rpi.info = format("%s%d", KWD_DAM, (rc_ptr->lvl + 1) / 2);
313 rpi.text = _("弱い魔法の矢を放つ。", "Fires a weak bolt of magic.");
317 } else if (player_ptr->lev < 25) {
318 rpi = rpi_type(_("ブラスター", "Blaster"));
319 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl);
320 rpi.text = _("弱い魔法の矢を放つ。", "Fires a weak bolt of magic.");
324 } else if (player_ptr->lev < 35) {
325 rpi = rpi_type(_("バズーカ", "Bazooka"));
326 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 2);
327 rpi.text = _("弱い魔法のボールを放つ。", "Fires a weak ball of magic.");
331 } else if (player_ptr->lev < 45) {
332 rpi = rpi_type(_("ビームキャノン", "Beam Cannon"));
333 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 2);
334 rpi.text = _("弱い魔法のビームを放つ。", "Fires a beam bolt of magic.");
339 rpi = rpi_type(_("ロケット", "Rocket"));
340 rpi.info = format("%s%d", KWD_DAM, rc_ptr->lvl * 5);
341 rpi.text = _("ロケットを放つ。", "Fires a magic rocket.");
347 rc_ptr->add_power(rpi, RC_IDX_RACE_0);