1 #include "player-info/class-ability-info.h"
2 #include "player-info/self-info-util.h"
3 #include "realm/realm-names-table.h"
4 #include "realm/realm-types.h"
5 #include "system/player-type-definition.h"
7 void set_class_ability_info(PlayerType *player_ptr, self_info_type *self_ptr)
9 switch (player_ptr->pclass) {
10 case PlayerClassType::WARRIOR:
11 if (player_ptr->lev > 39)
12 self_ptr->info[self_ptr->line++]
13 = _("あなたはランダムな方向に対して数回攻撃することができる。(75 HP)", "You can attack some random directions simultaneously (cost 75).");
16 case PlayerClassType::HIGH_MAGE:
17 if (player_ptr->realm1 == REALM_HEX)
20 case PlayerClassType::MAGE:
21 case PlayerClassType::SORCERER:
22 if (player_ptr->lev > 24)
23 self_ptr->info[self_ptr->line++] = _("あなたはアイテムの魔力を吸収することができる。(1 MP)", "You can absorb charges from an item (cost 1).");
26 case PlayerClassType::PRIEST:
27 if (is_good_realm(player_ptr->realm1)) {
28 if (player_ptr->lev > 34)
29 self_ptr->info[self_ptr->line++] = _("あなたは武器を祝福することができる。(70 MP)", "You can bless a weapon (cost 70).");
34 if (player_ptr->lev > 41)
35 self_ptr->info[self_ptr->line++]
36 = _("あなたは周りのすべてのモンスターを攻撃することができる。(40 MP)", "You can damage all monsters in sight (cost 40).");
39 case PlayerClassType::ROGUE:
40 if (player_ptr->lev > 7)
41 self_ptr->info[self_ptr->line++]
42 = _("あなたは攻撃して即座に逃げることができる。(12 MP)", "You can hit a monster and teleport away simultaneously (cost 12).");
45 case PlayerClassType::RANGER:
46 if (player_ptr->lev > 14)
47 self_ptr->info[self_ptr->line++] = _("あなたは怪物を調査することができる。(20 MP)", "You can probe monsters (cost 20).");
50 case PlayerClassType::PALADIN:
51 if (is_good_realm(player_ptr->realm1)) {
52 if (player_ptr->lev > 29) {
53 self_ptr->info[self_ptr->line++] = _("あなたは聖なる槍を放つことができる。(30 MP)", "You can fire a holy spear (cost 30).");
59 if (player_ptr->lev > 29)
60 self_ptr->info[self_ptr->line++]
61 = _("あなたは生命力を減少させる槍を放つことができる。(30 MP)", "You can fire a spear which drains vitality (cost 30).");
64 case PlayerClassType::WARRIOR_MAGE:
65 if (player_ptr->lev > 24) {
66 self_ptr->info[self_ptr->line++] = _("あなたはHPをMPに変換することができる。(消費なし)", "You can convert HP to SP (cost 0).");
67 self_ptr->info[self_ptr->line++] = _("あなたはMPをHPに変換することができる。(消費なし)", "You can convert SP to HP (cost 0).");
71 case PlayerClassType::CHAOS_WARRIOR:
72 if (player_ptr->lev > 39) {
73 self_ptr->info[self_ptr->line++]
74 = _("あなたは周囲に怪物を惑わす光を発生させることができる。(50 MP)", "You can radiate light which confuses nearby monsters (cost 50).");
78 case PlayerClassType::MONK:
79 if (player_ptr->lev > 24)
80 self_ptr->info[self_ptr->line++] = _("あなたは構えることができる。(消費なし)", "You can assume a special stance (cost 0).");
82 if (player_ptr->lev > 29)
83 self_ptr->info[self_ptr->line++]
84 = _("あなたは通常の2倍の攻撃を行うことができる。(30 MP)", "You can perform two attacks at the same time (cost 30).");
87 case PlayerClassType::MINDCRAFTER:
88 case PlayerClassType::FORCETRAINER:
89 case PlayerClassType::ELEMENTALIST:
90 if (player_ptr->lev > 14)
91 self_ptr->info[self_ptr->line++]
92 = _("あなたは精神を集中してMPを回復させることができる。(消費なし)", "You can concentrate to regenerate your mana (cost 0).");
95 case PlayerClassType::TOURIST:
96 self_ptr->info[self_ptr->line++] = _("あなたは写真を撮影することができる。(消費なし)", "You can take a photograph (cost 0).");
98 if (player_ptr->lev > 24)
99 self_ptr->info[self_ptr->line++] = _("あなたはアイテムを完全に鑑定することができる。(20 MP)", "You can *identify* items (cost 20).");
102 case PlayerClassType::IMITATOR:
103 if (player_ptr->lev > 29)
104 self_ptr->info[self_ptr->line++] = _("あなたは怪物の特殊攻撃をダメージ2倍でまねることができる。(100 MP)",
105 "You can imitate monster's special attacks with double damage (cost 100).");
108 case PlayerClassType::BEASTMASTER:
109 self_ptr->info[self_ptr->line++]
110 = _("あなたは1体の生命のあるモンスターを支配することができる。((レベル+3)/4 MP)", "You can dominate a monster (cost (level+3)/4).");
112 if (player_ptr->lev > 29)
113 self_ptr->info[self_ptr->line++] = _("あなたは視界内の生命のあるモンスターを支配することができる。((レベル+20)/2 MP)",
114 "You can dominate living monsters in sight (cost (level+20)/2).");
117 case PlayerClassType::MAGIC_EATER:
118 self_ptr->info[self_ptr->line++]
119 = _("あなたは杖/魔法棒/ロッドの魔力を自分のものにすることができる。(消費なし)", "You can absorb a staff, wand or rod itself (cost 0).");
121 if (player_ptr->lev > 9)
122 self_ptr->info[self_ptr->line++] = _("あなたは杖/魔法棒/ロッドの魔力を強力に発動することができる。(10+(レベル-10)/2 HP)",
123 "You can powerfully activate a staff, wand or rod (cost 10+(level-10)/2).");
126 case PlayerClassType::RED_MAGE:
127 if (player_ptr->lev > 47)
128 self_ptr->info[self_ptr->line++] = _("あなたは1ターンに2回魔法を唱えることができる。(20 MP)", "You can cast two spells simultaneously (cost 20).");
131 case PlayerClassType::SAMURAI:
132 self_ptr->info[self_ptr->line++]
133 = _("あなたは精神を集中して気合いを溜めることができる。(消費なし)", "You can concentrate to regenerate your mana (cost 0).");
135 if (player_ptr->lev > 24)
136 self_ptr->info[self_ptr->line++] = _("あなたは特殊な型で構えることができる。(消費なし)", "You can assume a special stance (cost 0).");
139 case PlayerClassType::BLUE_MAGE:
140 self_ptr->info[self_ptr->line++]
141 = _("あなたは相手に使われた魔法を学ぶことができる。(消費なし)", "You can study spells which your enemy casts on you (cost 0).");
143 case PlayerClassType::CAVALRY:
144 if (player_ptr->lev > 9)
145 self_ptr->info[self_ptr->line++] = _("あなたはモンスターに乗って無理矢理ペットにすることができる。(消費なし)",
146 "You can ride on a hostile monster to forcibly turn it into a pet (cost 0).");
149 case PlayerClassType::BERSERKER:
150 if (player_ptr->lev > 9)
151 self_ptr->info[self_ptr->line++]
152 = _("あなたは街とダンジョンの間を行き来することができる。(10 HP)", "You can travel between town and the depths (cost 10).");
155 case PlayerClassType::SMITH:
156 if (player_ptr->lev > 4)
157 self_ptr->info[self_ptr->line++] = _("あなたは武器や防具を鑑定することができる。(15 HP)", "You can identify weapons or armours (cost 15).");
160 case PlayerClassType::MIRROR_MASTER:
161 self_ptr->info[self_ptr->line++] = _("あなたは鏡を作り出すことができる。(2 MP)", "You can create a Mirror (cost 2).");
162 self_ptr->info[self_ptr->line++] = _("あなたは鏡を割ることができる。(消費なし)", "You can break distant Mirrors (cost 0).");
164 case PlayerClassType::NINJA:
165 if (player_ptr->lev > 19)
166 self_ptr->info[self_ptr->line++] = _("あなたは素早く移動することができる。(消費なし)", "You can walk extremely fast (cost 0).");
170 case PlayerClassType::ARCHER:
171 case PlayerClassType::BARD:
172 case PlayerClassType::SNIPER:
173 case PlayerClassType::MAX: