<ClCompile Include="..\..\src\status\action-setter.cpp" />\r
<ClCompile Include="..\..\src\inventory\player-inventory.cpp" />\r
<ClCompile Include="..\..\src\player\player-personality.cpp" />\r
- <ClCompile Include="..\..\src\player\player-race.cpp" />\r
+ <ClCompile Include="..\..\src\player-info\race-info.cpp" />\r
<ClCompile Include="..\..\src\player\player-sex.cpp" />\r
<ClCompile Include="..\..\src\player\player-skill.cpp" />\r
<ClCompile Include="..\..\src\player\player-status.cpp" />\r
- <ClCompile Include="..\..\src\player\mimic-info-table.cpp" />\r
+ <ClCompile Include="..\..\src\player-info\mimic-info-table.cpp" />\r
<ClCompile Include="..\..\src\player\permanent-resistances.cpp" />\r
<ClCompile Include="..\..\src\player\process-name.cpp" />\r
<ClCompile Include="..\..\src\player\race-info-table.cpp" />\r
<ClInclude Include="..\..\src\mspell\mspell-util.h" />\r
<ClInclude Include="..\..\src\mspell\mspell-ball.h" />\r
<ClInclude Include="..\..\src\player\player-personality-types.h" />\r
- <ClInclude Include="..\..\src\player\player-race-types.h" />\r
+ <ClInclude Include="..\..\src\player-info\race-types.h" />\r
<ClInclude Include="..\..\src\player\player-class-types.h" />\r
<ClInclude Include="..\..\src\spell-kind\spells-detection.h" />\r
<ClInclude Include="..\..\src\system\angband-version.h" />\r
<ClInclude Include="..\..\src\flavor\object-flavor.h" />\r
<ClInclude Include="..\..\src\object\lite-processor.h" />\r
<ClInclude Include="..\..\src\inventory\player-inventory.h" />\r
- <ClInclude Include="..\..\src\player\mimic-info-table.h" />\r
+ <ClInclude Include="..\..\src\player-info\mimic-info-table.h" />\r
<ClInclude Include="..\..\src\player\permanent-resistances.h" />\r
<ClInclude Include="..\..\src\player\process-name.h" />\r
<ClInclude Include="..\..\src\player\race-info-table.h" />\r
<ClInclude Include="..\..\src\status\action-setter.h" />\r
<ClInclude Include="..\..\src\player\player-move.h" />\r
<ClInclude Include="..\..\src\player\player-personality.h" />\r
- <ClInclude Include="..\..\src\player\player-race.h" />\r
+ <ClInclude Include="..\..\src\player-info\race-info.h" />\r
<ClInclude Include="..\..\src\player\player-sex.h" />\r
<ClInclude Include="..\..\src\player\player-skill.h" />\r
<ClInclude Include="..\..\src\player\player-status.h" />\r
<ClCompile Include="..\..\src\player\race-info-table.cpp">\r
<Filter>player</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\src\player\mimic-info-table.cpp">\r
- <Filter>player</Filter>\r
+ <ClCompile Include="..\..\src\player-info\mimic-info-table.cpp">\r
+ <Filter>player-info</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\src\main\sound-definitions-table.cpp">\r
<Filter>main</Filter>\r
<ClCompile Include="..\..\src\player\player-personality.cpp">\r
<Filter>player</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\src\player\player-race.cpp">\r
- <Filter>player</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\src\player\player-sex.cpp">\r
<Filter>player</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\src\object-use\throw-execution.cpp">\r
<Filter>object-use</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\src\player-info\race-info.cpp">\r
+ <Filter>player-info</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\src\combat\shoot.h">\r
<ClInclude Include="..\..\src\player\race-info-table.h">\r
<Filter>player</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\src\player\mimic-info-table.h">\r
- <Filter>player</Filter>\r
+ <ClInclude Include="..\..\src\player-info\mimic-info-table.h">\r
+ <Filter>player-info</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\src\main\sound-definitions-table.h">\r
<Filter>main</Filter>\r
<ClInclude Include="..\..\src\player\player-personality.h">\r
<Filter>player</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\src\player\player-race.h">\r
- <Filter>player</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\src\player\player-sex.h">\r
<Filter>player</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\src\system\monster-race-definition.h">\r
<Filter>system</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\src\player\player-race-types.h">\r
- <Filter>player</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\src\realm\realm-types.h">\r
<Filter>realm</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\src\object-enchant\tr-flags.h">\r
<Filter>object-enchant</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\src\player-info\race-info.h">\r
+ <Filter>player-info</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\src\player-info\race-types.h">\r
+ <Filter>player-info</Filter>\r
+ </ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
<None Include="..\..\src\wall.bmp" />\r
\
player/attack-defense-types.h \
player/eldritch-horror.cpp player/eldritch-horror.h \
- player/mimic-info-table.cpp player/mimic-info-table.h \
player/patron.cpp player/patron.h \
player/process-death.cpp player/process-death.h \
player/process-name.cpp player/process-name.h \
player/player-damage.cpp player/player-damage.h \
player/player-move.cpp player/player-move.h \
player/player-personality.cpp player/player-personality.h \
- player/player-race.cpp player/player-race.h \
- player/player-race-types.h \
player/player-realm.cpp player/player-realm.h \
player/player-skill.cpp player/player-skill.h \
player/player-status.cpp player/player-status.h \
player-attack/blood-sucking-processor.cpp player-attack/blood-sucking-processor.h \
player-attack/player-attack.cpp player-attack/player-attack.h \
\
+ player-info/alignment.cpp player-info/alignment.h \
player-info/base-status-info.cpp player-info/base-status-info.h \
player-info/body-improvement-info.cpp player-info/body-improvement-info.h \
player-info/class-ability-info.cpp player-info/class-ability-info.h \
player-info/equipment-info.cpp player-info/equipment-info.h \
+ player-info/mimic-info-table.cpp player-info/mimic-info-table.h \
player-info/mutation-info.cpp player-info/mutation-info.h \
- player-info/alignment.cpp player-info/alignment.h \
player-info/race-ability-info.cpp player-info/race-ability-info.h \
+ player-info/race-info.cpp player-info/race-info.h \
+ player-info/race-types.h \
player-info/resistance-info.cpp player-info/resistance-info.h \
player-info/self-info.cpp player-info/self-info.h \
player-info/self-info-util.cpp player-info/self-info-util.h \
#include "object/object-mark-types.h"
#include "object/object-value.h"
#include "perception/object-perception.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "sv-definition/sv-other-types.h"
#include "sv-definition/sv-wand-types.h"
#include "system/monster-race-definition.h"
#include "core/show-file.h"
#include "game-option/input-options.h"
#include "game-option/keymap-directory-getter.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "system/player-type-definition.h"
#include "term/term-color-types.h"
#include "avatar/avatar.h"
#include "core/player-update-types.h"
#include "game-option/text-display-options.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
#include "realm/realm-names-table.h"
#include "system/player-type-definition.h"
#include "cmd-io/cmd-gameoption.h"
#include "io/input-key-acceptor.h"
#include "main/sound-of-music.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-sex.h"
#include "player/player-status-table.h"
#include "system/game-option-types.h"
break;
case '=':
screen_save();
- do_cmd_options_aux(creature_ptr, OPT_PAGE_BIRTH,
- _("初期オプション((*)はスコアに影響)", "Birth Options ((*)) affect score"));
+ do_cmd_options_aux(creature_ptr, OPT_PAGE_BIRTH, _("初期オプション((*)はスコアに影響)", "Birth Options ((*)) affect score"));
screen_load();
break;
default:
#include "birth/birth-body-spec.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-sex.h"
#include "system/player-type-definition.h"
#pragma once
+#include "player-info/race-types.h"
#include "player/player-class-types.h"
#include "player/player-personality.h"
-#include "player/player-race-types.h"
#include "realm/realm-names-table.h"
#include "system/angband.h"
#include "birth/birth-select-class.h"
#include "birth/birth-util.h"
-#include "player/player-class.h"
-#include "player/player-race.h"
#include "io/input-key-acceptor.h"
+#include "player-info/race-info.h"
+#include "player/player-class.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
#include "term/term-color-types.h"
break;
char buf[80];
- sprintf(buf, _("職業を選んで下さい (%c-%c) ('='初期オプション設定, 灰色:勝利済): ", "Choose a class (%c-%c) ('=' for options, Gray is winner): "), sym[0], sym[MAX_CLASS - 1]);
+ sprintf(buf, _("職業を選んで下さい (%c-%c) ('='初期オプション設定, 灰色:勝利済): ", "Choose a class (%c-%c) ('=' for options, Gray is winner): "),
+ sym[0], sym[MAX_CLASS - 1]);
put_str(buf, 10, 6);
char c = inkey();
#include "birth/birth-select-race.h"
#include "birth/birth-util.h"
#include "io/input-key-acceptor.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "player/race-info-table.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
sprintf(buf, "%2d", rp_ptr->r_mhp);
c_put_str(TERM_L_BLUE, buf, 6, 43);
- put_str(_("隠密","Stealth"), 6, 47);
+ put_str(_("隠密", "Stealth"), 6, 47);
sprintf(buf, "%+2d", rp_ptr->r_stl);
c_put_str(TERM_L_BLUE, buf, 6, _(52, 55));
#include "birth/birth-stat.h"
#include "birth/auto-roller.h"
#include "core/player-redraw-types.h"
-#include "sv-definition/sv-weapon-types.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
-#include "player/player-personality.h"
#include "player/player-personality-types.h"
-#include "player/player-race.h"
+#include "player/player-personality.h"
#include "player/player-skill.h"
#include "spell/spells-status.h"
-#include "player/player-race-types.h"
+#include "sv-definition/sv-weapon-types.h"
#include "system/player-type-definition.h"
/*! オートロール能力値の乱数分布 / emulate 5 + 1d3 + 1d4 + 1d5 by randint0(60) */
* calc_bonuses()による、独立ステータスからの副次ステータス算出も行っている。
* For efficiency, we include a chunk of "calc_bonuses()".\n
*/
-void get_stats(player_type* creature_ptr)
+void get_stats(player_type *creature_ptr)
{
while (true) {
int sum = 0;
/*!
* @brief その他「オートローラ中は算出の対象にしない」副次ステータスを処理する / Roll for some info that the auto-roller ignores
*/
-void get_extra(player_type* creature_ptr, bool roll_hitdie)
+void get_extra(player_type *creature_ptr, bool roll_hitdie)
{
creature_ptr->expfact = get_expfact(creature_ptr);
* @param creature_ptr プレーヤーへの参照ポインタ
* @details 新生の薬やステータスシャッフルでもこの関数が呼ばれる
*/
-void get_max_stats(player_type* creature_ptr)
+void get_max_stats(player_type *creature_ptr)
{
int dice[6];
while (true) {
#include "io/input-key-acceptor.h"
#include "main/sound-definitions-table.h"
#include "main/sound-of-music.h"
+#include "player-info/race-info.h"
#include "player/patron.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "player/player-sex.h"
#include "player/player-status-table.h"
#include "player/player-status.h"
#include "main/sound-of-music.h"
#include "mind/mind-elementalist.h"
#include "monster-floor/monster-remover.h"
+#include "player-info/race-types.h"
#include "player/patron.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
#include "player/player-sex.h"
#include "player/race-info-table.h"
#include "store/store-owners.h"
*/
static void write_birth_diary(player_type *creature_ptr)
{
- concptr indent = " ";
+ concptr indent = " ";
message_add(" ");
message_add(" ");
sprintf(buf, _("%s職業に%sを選択した。", "%schose %s class."), indent, class_info[creature_ptr->pclass].title);
exe_write_diary(creature_ptr, DIARY_DESCRIPTION, 1, buf);
if (creature_ptr->realm1) {
- sprintf(buf, _("%s魔法の領域に%s%sを選択した。", "%schose %s%s."), indent,
- realm_names[creature_ptr->realm1], creature_ptr->realm2 ? format(_("と%s", " and %s realms"), realm_names[creature_ptr->realm2]) : _("", " realm"));
+ sprintf(buf, _("%s魔法の領域に%s%sを選択した。", "%schose %s%s."), indent, realm_names[creature_ptr->realm1],
+ creature_ptr->realm2 ? format(_("と%s", " and %s realms"), realm_names[creature_ptr->realm2]) : _("", " realm"));
exe_write_diary(creature_ptr, DIARY_DESCRIPTION, 1, buf);
}
if (creature_ptr->element) {
#include "birth/game-play-initializer.h"
-#include "info-reader/fixed-map-parser.h"
#include "dungeon/dungeon.h"
#include "dungeon/quest.h"
#include "floor/floor-util.h"
#include "game-option/birth-options.h"
#include "game-option/cheat-options.h"
+#include "info-reader/fixed-map-parser.h"
#include "inventory/inventory-slot-types.h"
#include "market/arena.h"
#include "monster-race/monster-race.h"
#include "monster-race/race-flags7.h"
#include "object/object-kind.h"
#include "pet/pet-util.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/digestion-processor.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "system/artifact-type-definition.h"
#include "system/floor-type-definition.h"
#include "system/monster-race-definition.h"
(void)WIPE(creature_ptr, player_type);
- //TODO: キャラ作成からゲーム開始までに current_floor_ptr を参照しなければならない処理は今後整理して外す。
+ // TODO: キャラ作成からゲーム開始までに current_floor_ptr を参照しなければならない処理は今後整理して外す。
creature_ptr->current_floor_ptr = &floor_info;
C_MAKE(creature_ptr->inventory_list, INVEN_TOTAL, object_type);
for (int i = 0; i < 4; i++)
#include "birth/history-generator.h"
#include "birth/history.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "system/player-type-definition.h"
#include "util/buffer-shaper.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
+#include "player-info/race-types.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "realm/realm-types.h"
#include "sv-definition/sv-bow-types.h"
#include "sv-definition/sv-food-types.h"
#include "birth/game-play-initializer.h"
#include "core/player-update-types.h"
#include "io/input-key-acceptor.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-sex.h"
#include "player/player-status.h"
#include "player/process-name.h"
#pragma once
+#include "player-info/race-types.h"
#include "player/player-class-types.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "player/player-sex.h"
#include "system/angband.h"
#include "system/system-variables.h"
#include "core/turn-compensator.h"
#include "game-option/birth-options.h"
#include "io/write-diary.h"
-#include "market/building-actions-table.h"
#include "market/bounty.h"
-#include "status/bad-status-setter.h"
+#include "market/building-actions-table.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/digestion-processor.h"
#include "player/eldritch-horror.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
+#include "status/bad-status-setter.h"
#include "store/rumor.h"
#include "system/player-type-definition.h"
#include "view/display-messages.h"
*/
static bool buy_food(player_type *customer_ptr)
{
- if (customer_ptr->food >= PY_FOOD_FULL)
- {
- msg_print(_("今は満腹だ。", "You are full now."));
- return false;
- }
-
- msg_print(_("バーテンはいくらかの食べ物とビールをくれた。", "The barkeep gives you some gruel and a beer."));
- (void)set_food(customer_ptr, PY_FOOD_MAX - 1);
- return true;
+ if (customer_ptr->food >= PY_FOOD_FULL) {
+ msg_print(_("今は満腹だ。", "You are full now."));
+ return false;
+ }
+
+ msg_print(_("バーテンはいくらかの食べ物とビールをくれた。", "The barkeep gives you some gruel and a beer."));
+ (void)set_food(customer_ptr, PY_FOOD_MAX - 1);
+ return true;
}
-
/*!
* @brief 健康体しか宿屋に泊めない処理
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static bool is_healthy_stay(player_type *customer_ptr)
{
- if (!customer_ptr->poisoned && !customer_ptr->cut) return true;
+ if (!customer_ptr->poisoned && !customer_ptr->cut)
+ return true;
- msg_print(_("あなたに必要なのは部屋ではなく、治療者です。", "You need a healer, not a room."));
- msg_print(nullptr);
- msg_print(_("すみません、でもうちで誰かに死なれちゃ困りますんで。", "Sorry, but I don't want anyone dying in here."));
- return false;
+ msg_print(_("あなたに必要なのは部屋ではなく、治療者です。", "You need a healer, not a room."));
+ msg_print(nullptr);
+ msg_print(_("すみません、でもうちで誰かに死なれちゃ困りますんで。", "Sorry, but I don't want anyone dying in here."));
+ return false;
}
-
#ifdef JP
static bool is_player_undead(player_type *customer_ptr)
{
- return player_race_life(customer_ptr, true) == PlayerRaceLife::UNDEAD;
+ return player_race_life(customer_ptr, true) == PlayerRaceLife::UNDEAD;
}
#endif
-
/*!
* @brief 宿屋に泊まったことを日記に残す
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static void write_diary_stay_inn(player_type *customer_ptr, int prev_hour)
{
- if ((prev_hour >= 6) && (prev_hour < 18))
- {
- concptr stay_message = _(is_player_undead(customer_ptr) ? "宿屋に泊まった。" : "日が暮れるまで宿屋で過ごした。", "stayed during the day at the inn.");
- exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, stay_message);
- return;
- }
-
- concptr stay_message = _(is_player_undead(customer_ptr) ? "夜が明けるまで宿屋で過ごした。" : "宿屋に泊まった。", "stayed overnight at the inn.");
- exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, stay_message);
+ if ((prev_hour >= 6) && (prev_hour < 18)) {
+ concptr stay_message = _(is_player_undead(customer_ptr) ? "宿屋に泊まった。" : "日が暮れるまで宿屋で過ごした。", "stayed during the day at the inn.");
+ exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, stay_message);
+ return;
+ }
+
+ concptr stay_message = _(is_player_undead(customer_ptr) ? "夜が明けるまで宿屋で過ごした。" : "宿屋に泊まった。", "stayed overnight at the inn.");
+ exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, stay_message);
}
-
/*!
* @brief 宿泊によってゲーム内ターンを経過させる
* @param なし
*/
static void pass_game_turn_by_stay(void)
{
- int32_t oldturn = current_world_ptr->game_turn;
- current_world_ptr->game_turn =
- (current_world_ptr->game_turn / (TURNS_PER_TICK * TOWN_DAWN / 2) + 1) *
- (TURNS_PER_TICK * TOWN_DAWN / 2);
- if (current_world_ptr->dungeon_turn >= current_world_ptr->dungeon_turn_limit)
- return;
-
- current_world_ptr->dungeon_turn += MIN((current_world_ptr->game_turn - oldturn), TURNS_PER_TICK * 250) * INN_DUNGEON_TURN_ADJ;
- if (current_world_ptr->dungeon_turn > current_world_ptr->dungeon_turn_limit)
- current_world_ptr->dungeon_turn = current_world_ptr->dungeon_turn_limit;
+ int32_t oldturn = current_world_ptr->game_turn;
+ current_world_ptr->game_turn = (current_world_ptr->game_turn / (TURNS_PER_TICK * TOWN_DAWN / 2) + 1) * (TURNS_PER_TICK * TOWN_DAWN / 2);
+ if (current_world_ptr->dungeon_turn >= current_world_ptr->dungeon_turn_limit)
+ return;
+
+ current_world_ptr->dungeon_turn += MIN((current_world_ptr->game_turn - oldturn), TURNS_PER_TICK * 250) * INN_DUNGEON_TURN_ADJ;
+ if (current_world_ptr->dungeon_turn > current_world_ptr->dungeon_turn_limit)
+ current_world_ptr->dungeon_turn = current_world_ptr->dungeon_turn_limit;
}
-
/*!
* @brief 悪夢モードなら悪夢を見せる
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static bool has_a_nightmare(player_type *customer_ptr)
{
- if (!ironman_nightmare) return false;
+ if (!ironman_nightmare)
+ return false;
- msg_print(_("眠りに就くと恐ろしい光景が心をよぎった。", "Horrible visions flit through your mind as you sleep."));
+ msg_print(_("眠りに就くと恐ろしい光景が心をよぎった。", "Horrible visions flit through your mind as you sleep."));
- while (true)
- {
- sanity_blast(customer_ptr, nullptr, false);
- if (!one_in_(3)) break;
- }
+ while (true) {
+ sanity_blast(customer_ptr, nullptr, false);
+ if (!one_in_(3))
+ break;
+ }
- msg_print(_("あなたは絶叫して目を覚ました。", "You awake screaming."));
- exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, _("悪夢にうなされてよく眠れなかった。", "had a nightmare."));
- return true;
+ msg_print(_("あなたは絶叫して目を覚ました。", "You awake screaming."));
+ exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, _("悪夢にうなされてよく眠れなかった。", "had a nightmare."));
+ return true;
}
-
/*!
* @brief 体調を元に戻す
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static void back_to_health(player_type *customer_ptr)
{
- set_blind(customer_ptr, 0);
- set_confused(customer_ptr, 0);
- customer_ptr->stun = 0;
- customer_ptr->chp = customer_ptr->mhp;
- customer_ptr->csp = customer_ptr->msp;
+ set_blind(customer_ptr, 0);
+ set_confused(customer_ptr, 0);
+ customer_ptr->stun = 0;
+ customer_ptr->chp = customer_ptr->mhp;
+ customer_ptr->csp = customer_ptr->msp;
}
-
/*!
* @brief 魔力喰いの残り回数回復(本当? 要調査)
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static void charge_magic_eating_energy(player_type *customer_ptr)
{
- if (customer_ptr->pclass != CLASS_MAGIC_EATER)
- return;
-
- int i;
- for (i = 0; i < 72; i++)
- {
- customer_ptr->magic_num1[i] = customer_ptr->magic_num2[i] * EATER_CHARGE;
- }
-
- for (; i < MAX_SPELLS; i++)
- {
- customer_ptr->magic_num1[i] = 0;
- }
-}
+ if (customer_ptr->pclass != CLASS_MAGIC_EATER)
+ return;
+ int i;
+ for (i = 0; i < 72; i++) {
+ customer_ptr->magic_num1[i] = customer_ptr->magic_num2[i] * EATER_CHARGE;
+ }
+
+ for (; i < MAX_SPELLS; i++) {
+ customer_ptr->magic_num1[i] = 0;
+ }
+}
/*!
* @brief リフレッシュ結果を画面に表示する
*/
static void display_stay_result(player_type *customer_ptr, int prev_hour)
{
- if ((prev_hour >= 6) && (prev_hour < 18))
- {
+ if ((prev_hour >= 6) && (prev_hour < 18)) {
#if JP
- char refresh_message_jp[50];
- sprintf(refresh_message_jp, "%s%s%s", "あなたはリフレッシュして目覚め、", is_player_undead(customer_ptr) ? "夜" : "夕方", "を迎えた。");
- msg_print(refresh_message_jp);
+ char refresh_message_jp[50];
+ sprintf(refresh_message_jp, "%s%s%s", "あなたはリフレッシュして目覚め、", is_player_undead(customer_ptr) ? "夜" : "夕方", "を迎えた。");
+ msg_print(refresh_message_jp);
#else
- msg_print("You awake refreshed for the evening.");
+ msg_print("You awake refreshed for the evening.");
#endif
- concptr awake_message = _(is_player_undead(customer_ptr) ? "すがすがしい夜を迎えた。" : "夕方を迎えた。", "awoke refreshed.");
- exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, awake_message);
- return;
- }
-
- msg_print(_("あなたはリフレッシュして目覚め、新たな日を迎えた。", "You awake refreshed for the new day."));
- concptr awake_message = _(is_player_undead(customer_ptr) ? "すがすがしい朝を迎えた。" : "朝を迎えた。", "awoke refreshed.");
- exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, awake_message);
+ concptr awake_message = _(is_player_undead(customer_ptr) ? "すがすがしい夜を迎えた。" : "夕方を迎えた。", "awoke refreshed.");
+ exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, awake_message);
+ return;
+ }
+
+ msg_print(_("あなたはリフレッシュして目覚め、新たな日を迎えた。", "You awake refreshed for the new day."));
+ concptr awake_message = _(is_player_undead(customer_ptr) ? "すがすがしい朝を迎えた。" : "朝を迎えた。", "awoke refreshed.");
+ exe_write_diary(customer_ptr, DIARY_DESCRIPTION, 0, awake_message);
}
-
/*!
* @brief 宿屋への宿泊実行処理
* @param customer_ptr プレーヤーへの参照ポインタ
*/
static bool stay_inn(player_type *customer_ptr)
{
- if (!is_healthy_stay(customer_ptr)) return false;
+ if (!is_healthy_stay(customer_ptr))
+ return false;
- int prev_day, prev_hour, prev_min;
- extract_day_hour_min(customer_ptr, &prev_day, &prev_hour, &prev_min);
- write_diary_stay_inn(customer_ptr, prev_hour);
+ int prev_day, prev_hour, prev_min;
+ extract_day_hour_min(customer_ptr, &prev_day, &prev_hour, &prev_min);
+ write_diary_stay_inn(customer_ptr, prev_hour);
- pass_game_turn_by_stay();
- prevent_turn_overflow(customer_ptr);
+ pass_game_turn_by_stay();
+ prevent_turn_overflow(customer_ptr);
- if ((prev_hour >= 18) && (prev_hour <= 23)) {
- determine_daily_bounty(customer_ptr, false); /* Update daily bounty */
- exe_write_diary(customer_ptr, DIARY_DIALY, 0, nullptr);
- }
+ if ((prev_hour >= 18) && (prev_hour <= 23)) {
+ determine_daily_bounty(customer_ptr, false); /* Update daily bounty */
+ exe_write_diary(customer_ptr, DIARY_DIALY, 0, nullptr);
+ }
- customer_ptr->chp = customer_ptr->mhp;
- if (has_a_nightmare(customer_ptr)) return true;
+ customer_ptr->chp = customer_ptr->mhp;
+ if (has_a_nightmare(customer_ptr))
+ return true;
- back_to_health(customer_ptr);
- charge_magic_eating_energy(customer_ptr);
+ back_to_health(customer_ptr);
+ charge_magic_eating_energy(customer_ptr);
- display_stay_result(customer_ptr, prev_hour);
- return true;
+ display_stay_result(customer_ptr, prev_hour);
+ return true;
}
-
/*!
* @brief 宿屋を利用する
* @param customer_ptr プレーヤーへの参照ポインタ
*/
bool inn_comm(player_type *customer_ptr, int cmd)
{
- switch (cmd)
- {
- case BACT_FOOD:
- return buy_food(customer_ptr);
- case BACT_REST:
- return stay_inn(customer_ptr);
- case BACT_RUMORS:
- display_rumor(customer_ptr, true);
- return true;
- default:
- //!< @todo リファクタリング前のコードもTRUEだった、FALSEにすべきでは.
- return true;
- }
+ switch (cmd) {
+ case BACT_FOOD:
+ return buy_food(customer_ptr);
+ case BACT_REST:
+ return stay_inn(customer_ptr);
+ case BACT_RUMORS:
+ display_rumor(customer_ptr, true);
+ return true;
+ default:
+ //!< @todo リファクタリング前のコードもTRUEだった、FALSEにすべきでは.
+ return true;
+ }
}
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player-status/player-energy.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
-#include "player/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
#include "player/player-status-flags.h"
#include "player/special-defense-types.h"
#include "spell-realm/spells-hex.h"
#include "object/item-use-flags.h"
#include "perception/identification.h"
#include "perception/object-perception.h"
+#include "player-info/race-types.h"
#include "player-info/self-info.h"
#include "player-status/player-energy.h"
#include "player/attack-defense-types.h"
#include "player/player-class.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "player/player-status.h"
#include "player/special-defense-types.h"
#include "racial/racial-android.h"
#ifdef JP
sprintf(out_val, "持ち物: 合計 %3d.%1d kg (限界の%ld%%) コマンド: ", (int)lbtokg1(weight), (int)lbtokg2(weight),
#else
- sprintf(out_val, "Inventory: carrying %d.%d pounds (%ld%% of capacity). Command: ", (int)(weight / 10),
- (int)(weight % 10),
+ sprintf(out_val, "Inventory: carrying %d.%d pounds (%ld%% of capacity). Command: ", (int)(weight / 10), (int)(weight % 10),
#endif
(long int)(weight * 100) / weight_lim);
concptr q = _("どれを使いますか?", "Use which item? ");
concptr s = _("使えるものがありません。", "You have nothing to use.");
- o_ptr = choose_object(creature_ptr, &item, q, s, (USE_INVEN | USE_EQUIP | USE_FLOOR | IGNORE_BOTHHAND_SLOT), FuncItemTester(item_tester_hook_use, creature_ptr));
+ o_ptr = choose_object(
+ creature_ptr, &item, q, s, (USE_INVEN | USE_EQUIP | USE_FLOOR | IGNORE_BOTHHAND_SLOT), FuncItemTester(item_tester_hook_use, creature_ptr));
if (!o_ptr)
return;
#include "object/object-info.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player-status/player-energy.h"
#include "player/attack-defense-types.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "player/special-defense-types.h"
#include "spell-kind/earthquake.h"
#include "io/files-util.h"
#include "io/input-key-acceptor.h"
#include "main/sound-of-music.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "player/process-name.h"
#include "racial/racial-android.h"
#include "system/player-type-definition.h"
*/
void do_cmd_redraw(player_type *creature_ptr)
{
- term_xtra(TERM_XTRA_REACT, 0);
+ term_xtra(TERM_XTRA_REACT, 0);
- creature_ptr->update |= (PU_COMBINE | PU_REORDER);
- creature_ptr->update |= (PU_TORCH);
- creature_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
- creature_ptr->update |= (PU_UN_VIEW | PU_UN_LITE);
- creature_ptr->update |= (PU_VIEW | PU_LITE | PU_MON_LITE);
- creature_ptr->update |= (PU_MONSTERS);
+ creature_ptr->update |= (PU_COMBINE | PU_REORDER);
+ creature_ptr->update |= (PU_TORCH);
+ creature_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
+ creature_ptr->update |= (PU_UN_VIEW | PU_UN_LITE);
+ creature_ptr->update |= (PU_VIEW | PU_LITE | PU_MON_LITE);
+ creature_ptr->update |= (PU_MONSTERS);
- creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
+ creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
- creature_ptr->window_flags |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
- creature_ptr->window_flags |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
+ creature_ptr->window_flags |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
+ creature_ptr->window_flags |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
- update_playtime();
- handle_stuff(creature_ptr);
- if (creature_ptr->prace == player_race_type::ANDROID) calc_android_exp(creature_ptr);
+ update_playtime();
+ handle_stuff(creature_ptr);
+ if (creature_ptr->prace == player_race_type::ANDROID)
+ calc_android_exp(creature_ptr);
- term_type *old = Term;
- for (int j = 0; j < 8; j++)
- {
- if (!angband_term[j]) continue;
+ term_type *old = Term;
+ for (int j = 0; j < 8; j++) {
+ if (!angband_term[j])
+ continue;
- term_activate(angband_term[j]);
- term_redraw();
- term_fresh();
- term_activate(old);
- }
+ term_activate(angband_term[j]);
+ term_redraw();
+ term_fresh();
+ term_activate(old);
+ }
}
-
/*!
* @brief プレイヤーのステータス表示
*/
void do_cmd_player_status(player_type *creature_ptr)
{
- int mode = 0;
- char tmp[160];
- screen_save();
- while (true)
- {
- update_playtime();
- display_player(creature_ptr, mode);
+ int mode = 0;
+ char tmp[160];
+ screen_save();
+ while (true) {
+ update_playtime();
+ display_player(creature_ptr, mode);
- if (mode == 5)
- {
- mode = 0;
- display_player(creature_ptr, mode);
- }
+ if (mode == 5) {
+ mode = 0;
+ display_player(creature_ptr, mode);
+ }
- term_putstr(2, 23, -1, TERM_WHITE,
- _("['c'で名前変更, 'f'でファイルへ書出, 'h'でモード変更, ESCで終了]", "['c' to change name, 'f' to file, 'h' to change mode, or ESC]"));
- char c = inkey();
- if (c == ESCAPE) break;
+ term_putstr(2, 23, -1, TERM_WHITE,
+ _("['c'で名前変更, 'f'でファイルへ書出, 'h'でモード変更, ESCで終了]", "['c' to change name, 'f' to file, 'h' to change mode, or ESC]"));
+ char c = inkey();
+ if (c == ESCAPE)
+ break;
- if (c == 'c')
- {
- get_name(creature_ptr);
- process_player_name(creature_ptr);
- }
- else if (c == 'f')
- {
- sprintf(tmp, "%s.txt", creature_ptr->base_name);
- if (get_string(_("ファイル名: ", "File name: "), tmp, 80))
- {
- if (tmp[0] && (tmp[0] != ' '))
- {
- update_playtime();
- file_character(creature_ptr, tmp, display_player);
- }
- }
- }
- else if (c == 'h')
- {
- mode++;
- }
- else
- {
- bell();
- }
+ if (c == 'c') {
+ get_name(creature_ptr);
+ process_player_name(creature_ptr);
+ } else if (c == 'f') {
+ sprintf(tmp, "%s.txt", creature_ptr->base_name);
+ if (get_string(_("ファイル名: ", "File name: "), tmp, 80)) {
+ if (tmp[0] && (tmp[0] != ' ')) {
+ update_playtime();
+ file_character(creature_ptr, tmp, display_player);
+ }
+ }
+ } else if (c == 'h') {
+ mode++;
+ } else {
+ bell();
+ }
- msg_erase();
- }
+ msg_erase();
+ }
- screen_load();
- creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
- handle_stuff(creature_ptr);
+ screen_load();
+ creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
+ handle_stuff(creature_ptr);
}
-
/*!
* @brief 最近表示されたメッセージを再表示するコマンドのメインルーチン
* Recall the most recent message
*/
void do_cmd_message_one(void)
{
- prt(format("> %s", message_str(0)), 0, 0);
+ prt(format("> %s", message_str(0)), 0, 0);
}
-
/*!
* @brief メッセージのログを表示するコマンドのメインルーチン
* Recall the most recent message
*/
void do_cmd_messages(int num_now)
{
- char shower_str[81];
- char finder_str[81];
- char back_str[81];
- concptr shower = nullptr;
- int wid, hgt;
- term_get_size(&wid, &hgt);
- int num_lines = hgt - 4;
- strcpy(finder_str, "");
- strcpy(shower_str, "");
- int n = message_num();
- int i = 0;
- screen_save();
- term_clear();
- while (true)
- {
- int j;
- int skey;
- for (j = 0; (j < num_lines) && (i + j < n); j++)
- {
- concptr msg = message_str(i + j);
- c_prt((i + j < num_now ? TERM_WHITE : TERM_SLATE), msg, num_lines + 1 - j, 0);
- if (!shower || !shower[0]) continue;
+ char shower_str[81];
+ char finder_str[81];
+ char back_str[81];
+ concptr shower = nullptr;
+ int wid, hgt;
+ term_get_size(&wid, &hgt);
+ int num_lines = hgt - 4;
+ strcpy(finder_str, "");
+ strcpy(shower_str, "");
+ int n = message_num();
+ int i = 0;
+ screen_save();
+ term_clear();
+ while (true) {
+ int j;
+ int skey;
+ for (j = 0; (j < num_lines) && (i + j < n); j++) {
+ concptr msg = message_str(i + j);
+ c_prt((i + j < num_now ? TERM_WHITE : TERM_SLATE), msg, num_lines + 1 - j, 0);
+ if (!shower || !shower[0])
+ continue;
- concptr str = msg;
- while ((str = angband_strstr(str, shower)) != nullptr)
- {
- int len = strlen(shower);
- term_putstr(str - msg, num_lines + 1 - j, len, TERM_YELLOW, shower);
- str += len;
- }
- }
+ concptr str = msg;
+ while ((str = angband_strstr(str, shower)) != nullptr) {
+ int len = strlen(shower);
+ term_putstr(str - msg, num_lines + 1 - j, len, TERM_YELLOW, shower);
+ str += len;
+ }
+ }
- for (; j < num_lines; j++)
- term_erase(0, num_lines + 1 - j, 255);
+ for (; j < num_lines; j++)
+ term_erase(0, num_lines + 1 - j, 255);
- prt(format(_("以前のメッセージ %d-%d 全部で(%d)", "Message Recall (%d-%d of %d)"),
- i, i + j - 1, n), 0, 0);
- prt(_("[ 'p' で更に古いもの, 'n' で更に新しいもの, '/' で検索, ESC で中断 ]",
- "[Press 'p' for older, 'n' for newer, ..., or ESCAPE]"), hgt - 1, 0);
- skey = inkey_special(true);
- if (skey == ESCAPE) break;
+ prt(format(_("以前のメッセージ %d-%d 全部で(%d)", "Message Recall (%d-%d of %d)"), i, i + j - 1, n), 0, 0);
+ prt(_("[ 'p' で更に古いもの, 'n' で更に新しいもの, '/' で検索, ESC で中断 ]", "[Press 'p' for older, 'n' for newer, ..., or ESCAPE]"), hgt - 1, 0);
+ skey = inkey_special(true);
+ if (skey == ESCAPE)
+ break;
- j = i;
- switch (skey)
- {
- case '=':
- prt(_("強調: ", "Show: "), hgt - 1, 0);
- strcpy(back_str, shower_str);
- if (askfor(shower_str, 80))
- shower = shower_str[0] ? shower_str : nullptr;
- else
- strcpy(shower_str, back_str);
+ j = i;
+ switch (skey) {
+ case '=':
+ prt(_("強調: ", "Show: "), hgt - 1, 0);
+ strcpy(back_str, shower_str);
+ if (askfor(shower_str, 80))
+ shower = shower_str[0] ? shower_str : nullptr;
+ else
+ strcpy(shower_str, back_str);
- continue;
- case '/':
- case KTRL('s'):
- {
- prt(_("検索: ", "Find: "), hgt - 1, 0);
- strcpy(back_str, finder_str);
- if (!askfor(finder_str, 80))
- {
- strcpy(finder_str, back_str);
- continue;
- }
- else if (!finder_str[0])
- {
- shower = nullptr;
- continue;
- }
+ continue;
+ case '/':
+ case KTRL('s'): {
+ prt(_("検索: ", "Find: "), hgt - 1, 0);
+ strcpy(back_str, finder_str);
+ if (!askfor(finder_str, 80)) {
+ strcpy(finder_str, back_str);
+ continue;
+ } else if (!finder_str[0]) {
+ shower = nullptr;
+ continue;
+ }
- shower = finder_str;
- for (int z = i + 1; z < n; z++)
- {
- concptr msg = message_str(z);
- if (angband_strstr(msg, finder_str))
- {
- i = z;
- break;
- }
- }
- }
+ shower = finder_str;
+ for (int z = i + 1; z < n; z++) {
+ concptr msg = message_str(z);
+ if (angband_strstr(msg, finder_str)) {
+ i = z;
+ break;
+ }
+ }
+ }
- break;
+ break;
- case SKEY_TOP:
- i = n - num_lines;
- break;
- case SKEY_BOTTOM:
- i = 0;
- break;
- case '8':
- case SKEY_UP:
- case '\n':
- case '\r':
- i = MIN(i + 1, n - num_lines);
- break;
- case '+':
- i = MIN(i + 10, n - num_lines);
- break;
- case 'p':
- case KTRL('P'):
- case ' ':
- case SKEY_PGUP:
- i = MIN(i + num_lines, n - num_lines);
- break;
- case 'n':
- case KTRL('N'):
- case SKEY_PGDOWN:
- i = MAX(0, i - num_lines);
- break;
- case '-':
- i = MAX(0, i - 10);
- break;
- case '2':
- case SKEY_DOWN:
- i = MAX(0, i - 1);
- break;
- }
+ case SKEY_TOP:
+ i = n - num_lines;
+ break;
+ case SKEY_BOTTOM:
+ i = 0;
+ break;
+ case '8':
+ case SKEY_UP:
+ case '\n':
+ case '\r':
+ i = MIN(i + 1, n - num_lines);
+ break;
+ case '+':
+ i = MIN(i + 10, n - num_lines);
+ break;
+ case 'p':
+ case KTRL('P'):
+ case ' ':
+ case SKEY_PGUP:
+ i = MIN(i + num_lines, n - num_lines);
+ break;
+ case 'n':
+ case KTRL('N'):
+ case SKEY_PGDOWN:
+ i = MAX(0, i - num_lines);
+ break;
+ case '-':
+ i = MAX(0, i - 10);
+ break;
+ case '2':
+ case SKEY_DOWN:
+ i = MAX(0, i - 1);
+ break;
+ }
- if (i == j) bell();
- }
+ if (i == j)
+ bell();
+ }
- screen_load();
+ screen_load();
}
#include "monster-race/monster-race.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-util.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "player/player-skill.h"
#include "player/player-status.h"
#include "player/process-name.h"
}
/*!
- * @brief フロア情報をゲームロード時に復帰
+ * @brief フロア情報をゲームロード時に復帰
* @todo 3.0.Xで削除予定
* 1.0.9 以前はセーブ前に player_ptr->riding = -1 としていたので、再設定が必要だった。
* もう不要だが、以前のセーブファイルとの互換のために残しておく。
#include "core/turn-compensator.h"
#include "floor/floor-town.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "store/store-owners.h"
#include "store/store-util.h"
#include "store/store.h"
#include "floor/floor-util.h"
#include "game-option/option-flags.h"
#include "object/item-tester-hooker.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "system/player-type-definition.h"
#include "term/gameterm.h"
#include "term/screen-processor.h"
#include "mutation/mutation-investor-remover.h"
#include "object-enchant/object-curse.h"
#include "object/object-broken.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "player/player-status-resist.h"
#include "spell-kind/spells-equipment.h"
#include "grid/feature.h"
#include "io/input-key-requester.h"
#include "io/write-diary.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player-status/player-energy.h"
#include "player/player-damage.h"
#include "player/player-move.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status.h"
-#include "spell/spells-status.h"
#include "spell-kind/spells-teleport.h"
+#include "spell/spells-status.h"
#include "status/bad-status-setter.h"
#include "status/experience.h"
#include "system/floor-type-definition.h"
#include "system/player-type-definition.h"
#include "util/bit-flags-calculator.h"
#include "view/display-messages.h"
-#include "world/world.h"
#include "world/world-movement-processor.h"
+#include "world/world.h"
/*!
* @brief パターン終点到達時のテレポート処理を行う
#include "object-enchant/trc-types.h"
#include "object/object-flags.h"
#include "pet/pet-util.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "player/player-status-resist.h"
#include "player/player-status.h"
}
if (f_ptr->flags.has(FF::LAVA) && !is_invuln(creature_ptr) && !has_immune_fire(creature_ptr)) {
- if (deal_damege_by_feat(creature_ptr, g_ptr, _("熱で火傷した!", "The heat burns you!"), _("で火傷した!", "burns you!"),
- calc_fire_damage_rate, nullptr)) {
+ if (deal_damege_by_feat(
+ creature_ptr, g_ptr, _("熱で火傷した!", "The heat burns you!"), _("で火傷した!", "burns you!"), calc_fire_damage_rate, nullptr)) {
cave_no_regen = true;
sound(SOUND_TERRAIN_DAMAGE);
}
}
if (f_ptr->flags.has(FF::COLD_PUDDLE) && !is_invuln(creature_ptr) && !has_immune_cold(creature_ptr)) {
- if (deal_damege_by_feat(creature_ptr, g_ptr, _("冷気に覆われた!", "The cold engulfs you!"), _("に凍えた!", "frostbites you!"),
- calc_cold_damage_rate, nullptr)) {
+ if (deal_damege_by_feat(
+ creature_ptr, g_ptr, _("冷気に覆われた!", "The cold engulfs you!"), _("に凍えた!", "frostbites you!"), calc_cold_damage_rate, nullptr)) {
cave_no_regen = true;
sound(SOUND_TERRAIN_DAMAGE);
}
}
if (f_ptr->flags.has(FF::ELEC_PUDDLE) && !is_invuln(creature_ptr) && !has_immune_elec(creature_ptr)) {
- if (deal_damege_by_feat(creature_ptr, g_ptr, _("電撃を受けた!", "The electricity shocks you!"), _("に感電した!", "shocks you!"),
- calc_elec_damage_rate, nullptr)) {
+ if (deal_damege_by_feat(
+ creature_ptr, g_ptr, _("電撃を受けた!", "The electricity shocks you!"), _("に感電した!", "shocks you!"), calc_elec_damage_rate, nullptr)) {
cave_no_regen = true;
sound(SOUND_TERRAIN_DAMAGE);
}
}
if (f_ptr->flags.has(FF::ACID_PUDDLE) && !is_invuln(creature_ptr) && !has_immune_acid(creature_ptr)) {
- if (deal_damege_by_feat(creature_ptr, g_ptr, _("酸が飛び散った!", "The acid melts you!"), _("に溶かされた!", "melts you!"),
- calc_acid_damage_rate, nullptr)) {
+ if (deal_damege_by_feat(
+ creature_ptr, g_ptr, _("酸が飛び散った!", "The acid melts you!"), _("に溶かされた!", "melts you!"), calc_acid_damage_rate, nullptr)) {
cave_no_regen = true;
sound(SOUND_TERRAIN_DAMAGE);
}
}
if (f_ptr->flags.has(FF::POISON_PUDDLE) && !is_invuln(creature_ptr)) {
- if (deal_damege_by_feat(creature_ptr, g_ptr, _("毒気を吸い込んだ!", "The gas poisons you!"), _("に毒された!", "poisons you!"),
- calc_acid_damage_rate, [](player_type *creature_ptr, int damage) {
- if (!has_resist_pois(creature_ptr))
- (void)set_poisoned(creature_ptr, creature_ptr->poisoned + damage);
- })) {
+ if (deal_damege_by_feat(creature_ptr, g_ptr, _("毒気を吸い込んだ!", "The gas poisons you!"), _("に毒された!", "poisons you!"), calc_acid_damage_rate,
+ [](player_type *creature_ptr, int damage) {
+ if (!has_resist_pois(creature_ptr))
+ (void)set_poisoned(creature_ptr, creature_ptr->poisoned + damage);
+ })) {
cave_no_regen = true;
sound(SOUND_TERRAIN_DAMAGE);
}
}
- if (f_ptr->flags.has_all_of({FF::WATER, FF::DEEP}) && !creature_ptr->levitation && !creature_ptr->can_swim
- && !has_resist_water(creature_ptr)) {
+ if (f_ptr->flags.has_all_of({ FF::WATER, FF::DEEP }) && !creature_ptr->levitation && !creature_ptr->can_swim && !has_resist_water(creature_ptr)) {
if (calc_inventory_weight(creature_ptr) > calc_weight_limit(creature_ptr)) {
msg_print(_("溺れている!", "You are drowning!"));
take_hit(creature_ptr, DAMAGE_NOESCAPE, randint1(creature_ptr->lev), _("溺れ", "drowning"));
* reduced below 0 hp by being inside a stone wall; others
* WILL BE!
*/
- if (f_ptr->flags.has_none_of({FF::MOVE, FF::CAN_FLY})) {
+ if (f_ptr->flags.has_none_of({ FF::MOVE, FF::CAN_FLY })) {
if (!is_invuln(creature_ptr) && !creature_ptr->wraith_form && !creature_ptr->tim_pass_wall
&& ((creature_ptr->chp > (creature_ptr->lev / 5)) || !has_pass_wall(creature_ptr))) {
concptr dam_desc;
#include "game-option/runtime-arguments.h"
#include "io/files-util.h"
#include "main/init-error-messages-table.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "realm/realm-names-table.h"
#include "system/floor-type-definition.h"
#include "system/player-type-definition.h"
#include "object-enchant/trc-types.h"
#include "object/object-flags.h"
#include "perception/object-perception.h"
+#include "player-info/race-types.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
#include "spell-kind/spells-random.h"
#include "view/display-messages.h"
namespace {
-const EnumClassFlagGroup<TRC> TRC_P_FLAG_MASK({ TRC::TY_CURSE, TRC::DRAIN_EXP, TRC::ADD_L_CURSE, TRC::ADD_H_CURSE, TRC::CALL_ANIMAL, TRC::CALL_DEMON, TRC::CALL_DRAGON,
- TRC::COWARDICE, TRC::TELEPORT, TRC::DRAIN_HP, TRC::DRAIN_MANA, TRC::CALL_UNDEAD, TRC::BERS_RAGE });
+const EnumClassFlagGroup<TRC> TRC_P_FLAG_MASK({ TRC::TY_CURSE, TRC::DRAIN_EXP, TRC::ADD_L_CURSE, TRC::ADD_H_CURSE, TRC::CALL_ANIMAL, TRC::CALL_DEMON,
+ TRC::CALL_DRAGON, TRC::COWARDICE, TRC::TELEPORT, TRC::DRAIN_HP, TRC::DRAIN_MANA, TRC::CALL_UNDEAD, TRC::BERS_RAGE });
const EnumClassFlagGroup<TRCS> TRCS_P_FLAG_MASK({ TRCS::TELEPORT_SELF, TRCS::CHAINSWORD });
}
static void occur_curse_effects(player_type *creature_ptr)
{
- if ((creature_ptr->cursed.has_none_of(TRC_P_FLAG_MASK) && creature_ptr->cursed_special.has_none_of(TRCS_P_FLAG_MASK)) || creature_ptr->phase_out || creature_ptr->wild_mode)
+ if ((creature_ptr->cursed.has_none_of(TRC_P_FLAG_MASK) && creature_ptr->cursed_special.has_none_of(TRCS_P_FLAG_MASK)) || creature_ptr->phase_out
+ || creature_ptr->wild_mode)
return;
curse_teleport(creature_ptr);
#include "io/pref-file-expressor.h"
#include "game-option/runtime-arguments.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "realm/realm-names-table.h"
-#include "system/system-variables.h"
#include "system/player-type-definition.h"
+#include "system/system-variables.h"
#include "util/string-processor.h"
/*!
#include "io/files-util.h"
#include "io/interpret-pref-file.h"
#include "io/pref-file-expressor.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "realm/realm-names-table.h"
#include "system/player-type-definition.h"
#include "util/angband-files.h"
#include "io/inet.h"
#include "io/input-key-acceptor.h"
#include "mind/mind-elementalist.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-status.h"
#include "realm/realm-names-table.h"
#include "system/angband-version.h"
static BUF *buf_new(void)
{
BUF *p;
- p = static_cast<BUF*>(malloc(sizeof(BUF)));
+ p = static_cast<BUF *>(malloc(sizeof(BUF)));
if (!p)
return nullptr;
p->size = 0;
p->max_size = BUFSIZE;
- p->data = static_cast<char*>(malloc(BUFSIZE));
+ p->data = static_cast<char *>(malloc(BUFSIZE));
if (!p->data) {
free(p);
return nullptr;
{
while (buf->size + size > buf->max_size) {
char *tmp;
- if ((tmp = static_cast<char*>(malloc(buf->max_size * 2))) == nullptr)
+ if ((tmp = static_cast<char *>(malloc(buf->max_size * 2))) == nullptr)
return -1;
memcpy(tmp, buf->data, buf->max_size);
size_t read_callback(char *buffer, size_t size, size_t nitems, void *userdata)
{
- BUF *buf = static_cast<BUF*>(userdata);
+ BUF *buf = static_cast<BUF *>(userdata);
const size_t remain = buf->size - buf->read_head;
const size_t copy_size = MIN(size * nitems, remain);
#include "io/cursor.h"
#include "io/input-key-acceptor.h"
#include "monster/monster-update.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "system/floor-type-definition.h"
#include "system/player-type-definition.h"
#include "target/target-checker.h"
* Determines if a map location is currently "on screen" -RAK-
* Note that "panel_contains(Y,X)" always implies "in_bounds2(Y,X)".
*/
-bool panel_contains(POSITION y, POSITION x) { return (y >= panel_row_min) && (y <= panel_row_max) && (x >= panel_col_min) && (x <= panel_col_max); }
+bool panel_contains(POSITION y, POSITION x)
+{
+ return (y >= panel_row_min) && (y <= panel_row_max) && (x >= panel_col_min) && (x <= panel_col_max);
+}
#include "market/bounty.h"
#include "monster-race/monster-race.h"
#include "pet/pet-util.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
#include "player/patron.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-skill.h"
#include "realm/realm-types.h"
#include "spell/spells-status.h"
#include "load/quest-loader.h"
#include "load/store-loader.h"
#include "load/world-loader.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-sex.h"
#include "player/race-info-table.h"
#include "system/angband-version.h"
#include "monster/monster-status-setter.h"
#include "monster/monster-status.h"
#include "pet/pet-fall-off.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "system/floor-type-definition.h"
#include "system/monster-race-definition.h"
#include "system/monster-type-definition.h"
return;
}
- sound(SOUND_KILL);
+ sound(SOUND_KILL);
msg_format(_("%^sは殺された。", "%^s is killed."), mam_pp_ptr->m_name);
}
#include "object/object-info.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
+#include "player-info/mimic-info-table.h"
#include "player/digestion-processor.h"
-#include "player/mimic-info-table.h"
#include "player/player-status-flags.h"
#include "player/player-status-table.h"
#include "status/experience.h"
#include "monster-race/race-ability-flags.h"
#include "monster/smart-learn-types.h"
#include "mspell/smart-mspell-util.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "player/player-status-flags.h"
#include "system/player-type-definition.h"
#include "util/bit-flags-calculator.h"
#include "mspell/mspell-selector.h"
#include "mspell/mspell-util.h"
#include "object-enchant/object-curse.h"
+#include "player-info/race-types.h"
#include "player/attack-defense-types.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
#include "spell-kind/spells-world.h"
#include "spell-realm/spells-hex.h"
#include "spell/range-calc.h"
* @param monspell モンスター魔法のID
* @param target_type モンスターからモンスターへ撃つならMONSTER_TO_MONSTER、モンスターからプレイヤーならMONSTER_TO_PLAYER
*/
-ProjectResult breath(
- player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, EFFECT_ID typ, int dam_hp, POSITION rad, bool breath, int target_type)
+ProjectResult breath(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, EFFECT_ID typ, int dam_hp, POSITION rad, bool breath, int target_type)
{
monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
#include "monster/monster-status.h"
#include "mspell/mspell-util.h"
#include "mspell/mspell.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
-#include "player/player-race.h"
#include "player/player-status.h"
#include "realm/realm-song-numbers.h"
#include "spell-realm/spells-craft.h"
#include "monster-race/race-flags-resistance.h"
#include "monster/monster-info.h"
#include "monster/monster-status.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
-#include "player/player-race.h"
-#include "player/special-defense-types.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
+#include "player/special-defense-types.h"
#include "realm/realm-song-numbers.h"
#include "spell-realm/spells-song.h"
#include "spell/range-calc.h"
#include "monster-race/race-flags8.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-util.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "spell/summon-types.h"
#include "system/monster-race-definition.h"
#include "system/player-type-definition.h"
#include "object-enchant/special-object-flags.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "sv-definition/sv-lite-types.h"
#include "sv-definition/sv-other-types.h"
#include "system/monster-race-definition.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
+#include "player-info/mimic-info-table.h"
#include "player-info/self-info.h"
#include "player-status/player-energy.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
#include "player/eldritch-horror.h"
-#include "player/mimic-info-table.h"
#include "player/player-damage.h"
#include "player/player-status-flags.h"
#include "realm/realm-hex-numbers.h"
#include "mutation/mutation-flag-types.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
#include "player/player-status-flags.h"
#include "player/player-status-resist.h"
#include "player/special-defense-types.h"
#include "player-ability/player-charisma.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "player-ability/player-constitution.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "player-ability/player-dexterity.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "player-ability/player-intelligence.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "player-ability/player-strength.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "player-ability/player-wisdom.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/race-info-table.h"
#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "player-info/equipment-info.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "system/floor-type-definition.h"
#include "system/monster-race-definition.h"
#include "system/monster-type-definition.h"
#pragma once
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#define MAX_MIMIC_FORMS 4
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "core/player-redraw-types.h"
#include "inventory/inventory-slot-types.h"
-#include "player/player-race-types.h"
-#include "system/object-type-definition.h"
-#include "mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player/race-info-table.h"
+#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
#include "util/bit-flags-calculator.h"
#include "util/enum-converter.h"
const player_race_info *rp_ptr;
-const player_race_info *get_player_race_info(player_type* creature_ptr, bool base_race = false)
+const player_race_info *get_player_race_info(player_type *creature_ptr, bool base_race = false)
{
if (base_race) {
return &race_info[enum2i(creature_ptr->prace)];
return symbol;
}
-bool is_specific_player_race(player_type *creature_ptr, player_race_type prace) { return (!creature_ptr->mimic_form && (creature_ptr->prace == prace)); }
+bool is_specific_player_race(player_type *creature_ptr, player_race_type prace)
+{
+ return (!creature_ptr->mimic_form && (creature_ptr->prace == prace));
+}
/*!
* @brief 種族が指定の耐性/能力フラグを持つか判定する
{
auto race_ptr = get_player_race_info(creature_ptr, base_race);
- for (auto& cond : race_ptr->extra_flags) {
+ for (auto &cond : race_ptr->extra_flags) {
if (cond.type != flag)
continue;
if (creature_ptr->lev < cond.level)
#include "object-enchant/tr-flags.h"
#include "object-enchant/tr-types.h"
#include "player-ability/player-ability-types.h"
+#include "player-info/race-types.h"
#include "player/player-class-types.h"
-#include "player/player-race-types.h"
#include "system/angband.h"
/*
#include "player-info/resistance-info.h"
+#include "player-info/race-info.h"
#include "player-info/self-info-util.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "status/element-resistance.h"
#include "system/player-type-definition.h"
-void set_element_resistance_info(player_type* creature_ptr, self_info_type* self_ptr)
+void set_element_resistance_info(player_type *creature_ptr, self_info_type *self_ptr)
{
if (has_immune_acid(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは酸に対する完全なる免疫を持っている。", "You are completely immune to acid.");
self_ptr->info[self_ptr->line++] = _("あなたは暗黒に対する完全なる免疫を持っている。", "You are completely immune to darkness.");
else if (has_resist_dark(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは暗黒への耐性を持っている。", "You are resistant to darkness.");
-
+
if (has_resist_conf(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは混乱への耐性を持っている。", "You are resistant to confusion.");
-
+
if (has_resist_sound(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは音波の衝撃への耐性を持っている。", "You are resistant to sonic attacks.");
-
+
if (has_resist_disen(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは劣化への耐性を持っている。", "You are resistant to disenchantment.");
-
+
if (has_resist_chaos(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたはカオスの力への耐性を持っている。", "You are resistant to chaos.");
-
+
if (has_resist_shard(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは破片の攻撃への耐性を持っている。", "You are resistant to blasts of shards.");
-
+
if (has_resist_nexus(creature_ptr))
self_ptr->info[self_ptr->line++] = _("あなたは因果混乱の攻撃への耐性を持っている。", "You are resistant to nexus attacks.");
#include "core/window-redrawer.h"
#include "mutation/mutation-flag-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/player-status.h"
#include "player-status/player-infravision.h"
#include "mutation/mutation-flag-types.h"
-#include "player/mimic-info-table.h"
-#include "player/player-race-types.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player/race-info-table.h"
#include "system/player-type-definition.h"
#include "util/enum-converter.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
#include "player-info/equipment-info.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
-#include "player/player-race.h"
#include "player/player-skill.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
int16_t PlayerSpeed::personality_value()
{
int16_t result = 0;
- if (this->owner_ptr->pseikaku == PERSONALITY_MUNCHKIN && this->owner_ptr->prace != player_race_type::KLACKON && this->owner_ptr->prace != player_race_type::SPRITE) {
+ if (this->owner_ptr->pseikaku == PERSONALITY_MUNCHKIN && this->owner_ptr->prace != player_race_type::KLACKON
+ && this->owner_ptr->prace != player_race_type::SPRITE) {
result += (this->owner_ptr->lev) / 10 + 5;
}
return result;
#include "mind/mind-ninja.h"
#include "mutation/mutation-flag-types.h"
#include "player-info/equipment-info.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race-types.h"
#include "player/player-skill.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
#include "monster/monster-util.h"
#include "monster/smart-learn-types.h"
#include "mutation/mutation-flag-types.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
#include "status/bad-status-setter.h"
#include "object-enchant/object-curse.h"
#include "object/object-kind-hook.h"
#include "player-info/equipment-info.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-genocide.h"
#include "spell-kind/spells-launcher.h"
#include "mutation/mutation-flag-types.h"
#include "object-enchant/tr-types.h"
#include "player-info/equipment-info.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "player/special-defense-types.h"
#include "system/object-type-definition.h"
#include "player/player-class.h"
#include "core/player-redraw-types.h"
#include "inventory/inventory-slot-types.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "system/object-type-definition.h"
/*
* HD, Exp, pet_upkeep_div
* </pre>
*/
-const player_class class_info[MAX_CLASS] =
-{
- {
+const player_class class_info[MAX_CLASS] = {
+ {
#ifdef JP
- "戦士",
+ "戦士",
#endif
- "Warrior",
+ "Warrior",
- { 4, -2, -2, 2, 2, -1},
- 25, 18, 31, 1, 14, 2, 70, 55,
- 12, 7, 10, 0, 0, 0, 30, 30,
- 9, 0, 40,
- 6, 70, 5
- },
+ { 4, -2, -2, 2, 2, -1 }, 25, 18, 31, 1, 14, 2, 70, 55, 12, 7, 10, 0, 0, 0, 30, 30, 9, 0, 40, 6, 70, 5 },
- {
+ {
#ifdef JP
- "メイジ",
+ "メイジ",
#endif
- "Mage",
+ "Mage",
- {-4, 3, 0, 1, -2, 1},
- 30, 40, 38, 3, 16, 20, 34, 20,
- 7, 15, 11, 0, 0, 0, 6, 7,
- 0, 30, 30,
- 3, 100, 2
- },
+ { -4, 3, 0, 1, -2, 1 }, 30, 40, 38, 3, 16, 20, 34, 20, 7, 15, 11, 0, 0, 0, 6, 7, 0, 30, 30, 3, 100, 2 },
- {
+ {
#ifdef JP
- "プリースト",
+ "プリースト",
#endif
- "Priest",
+ "Priest",
- {-1, -3, 3, -1, 0, 2},
- 25, 35, 40, 2, 16, 8, 48, 35,
- 7, 11, 12, 0, 0, 0, 13, 11,
- 2, 20, 35,
- 5, 100, 3
- },
+ { -1, -3, 3, -1, 0, 2 }, 25, 35, 40, 2, 16, 8, 48, 35, 7, 11, 12, 0, 0, 0, 13, 11, 2, 20, 35, 5, 100, 3 },
- {
+ {
#ifdef JP
- "盗賊",
+ "盗賊",
#endif
- "Rogue",
+ "Rogue",
- { 2, 1, -2, 3, 1, -1},
- 45, 37, 36, 5, 32, 24, 60, 66,
- 15, 12, 10, 0, 0, 0, 21, 18,
- 6, 25, 40,
- 5, 40, 3
- },
+ { 2, 1, -2, 3, 1, -1 }, 45, 37, 36, 5, 32, 24, 60, 66, 15, 12, 10, 0, 0, 0, 21, 18, 6, 25, 40, 5, 40, 3 },
- {
+ {
#ifdef JP
- "レンジャー",
+ "レンジャー",
#endif
- "Ranger",
+ "Ranger",
- { 2, 2, 0, 1, 1, 1},
- 30, 37, 36, 3, 24, 16, 56, 72,
- 8, 11, 10, 0, 0, 0, 18, 28,
- 4, 40, 35,
- 5, 70, 4
- },
+ { 2, 2, 0, 1, 1, 1 }, 30, 37, 36, 3, 24, 16, 56, 72, 8, 11, 10, 0, 0, 0, 18, 28, 4, 40, 35, 5, 70, 4 },
- {
+ {
#ifdef JP
- "パラディン",
+ "パラディン",
#endif
- "Paladin",
+ "Paladin",
- { 3, -3, 1, 0, 2, 2},
- 20, 24, 34, 1, 12, 2, 68, 40,
- 7, 10, 11, 0, 0, 0, 21, 18,
- 6, 35, 40,
- 5, 70, 4
- },
+ { 3, -3, 1, 0, 2, 2 }, 20, 24, 34, 1, 12, 2, 68, 40, 7, 10, 11, 0, 0, 0, 21, 18, 6, 35, 40, 5, 70, 4 },
- {
+ {
#ifdef JP
- "魔法戦士",
+ "魔法戦士",
#endif
- "Warrior-Mage",
+ "Warrior-Mage",
- { 2, 2, 0, 1, 0, 1},
- 30, 35, 36, 2, 18, 16, 50, 25,
- 7, 10, 10, 0, 0, 0, 15, 11,
- 4, 40, 35,
- 5, 70, 3
- },
+ { 2, 2, 0, 1, 0, 1 }, 30, 35, 36, 2, 18, 16, 50, 25, 7, 10, 10, 0, 0, 0, 15, 11, 4, 40, 35, 5, 70, 3 },
- {
+ {
#ifdef JP
- "混沌の戦士",
+ "混沌の戦士",
#endif
- "Chaos-Warrior",
+ "Chaos-Warrior",
- { 2, 1, -1, 0, 2, -2},
- 20, 25, 34, 1, 14, 12, 65, 40,
- 7, 11, 10, 0, 0, 0, 20, 17,
- 6, 25, 40,
- 5, 70, 4
- },
+ { 2, 1, -1, 0, 2, -2 }, 20, 25, 34, 1, 14, 12, 65, 40, 7, 11, 10, 0, 0, 0, 20, 17, 6, 25, 40, 5, 70, 4 },
- {
+ {
#ifdef JP
- "修行僧",
+ "修行僧",
#endif
- "Monk",
+ "Monk",
- { 2, -1, 1, 3, 2, 1},
- 45, 34, 36, 5, 32, 24, 64, 60,
- 15, 11, 10, 0, 0, 0, 18, 18,
- 6, 30, 35,
- 5, 60, 3
- },
+ { 2, -1, 1, 3, 2, 1 }, 45, 34, 36, 5, 32, 24, 64, 60, 15, 11, 10, 0, 0, 0, 18, 18, 6, 30, 35, 5, 60, 3 },
- {
+ {
#ifdef JP
- "超能力者",
+ "超能力者",
#endif
- "Mindcrafter",
+ "Mindcrafter",
- {-1, 0, 3, -1, -1, 2}, /* note: spell stat is Wis */
- 30, 33, 38, 3, 22, 16, 50, 40,
- 10, 11, 10, 0, 0, 0, 14, 18,
- 2, 25, 35,
- 5, 100, 3
- },
+ { -1, 0, 3, -1, -1, 2 }, /* note: spell stat is Wis */
+ 30, 33, 38, 3, 22, 16, 50, 40, 10, 11, 10, 0, 0, 0, 14, 18, 2, 25, 35, 5, 100, 3 },
- {
+ {
#ifdef JP
- "ハイ=メイジ",
+ "ハイ=メイジ",
#endif
- "High-Mage",
+ "High-Mage",
- {-4, 4, 0, 0, -2, 1},
- 30, 40, 38, 3, 16, 20, 34, 20,
- 7, 15, 11, 0, 0, 0, 6, 7,
- 0, 30, 25,
- 3, 100, 2
- },
+ { -4, 4, 0, 0, -2, 1 }, 30, 40, 38, 3, 16, 20, 34, 20, 7, 15, 11, 0, 0, 0, 6, 7, 0, 30, 25, 3, 100, 2 },
- {
+ {
#ifdef JP
- "観光客",
+ "観光客",
#endif
- "Tourist",
- { -1, -1, -1, -1, -1, -1},
- 15, 18, 28, 1, 12, 2, 40, 20,
- 5, 7, 9, 0, 0, 0, 11, 11,
- 0, -30, 40,
- 4, 100, 3
- },
-
- {
+ "Tourist", { -1, -1, -1, -1, -1, -1 }, 15, 18, 28, 1, 12, 2, 40, 20, 5, 7, 9, 0, 0, 0, 11, 11, 0, -30, 40, 4, 100, 3 },
+
+ {
#ifdef JP
- "ものまね師",
+ "ものまね師",
#endif
- "Imitator",
- { 0, 1, -1, 2, 0, 1},
- 25, 30, 36, 2, 18, 16, 60, 50,
- 7, 10, 10, 0, 0, 0, 18, 20,
- 5, 10, 20,
- 5, 70, 4
- },
-
- {
+ "Imitator", { 0, 1, -1, 2, 0, 1 }, 25, 30, 36, 2, 18, 16, 60, 50, 7, 10, 10, 0, 0, 0, 18, 20, 5, 10, 20, 5, 70, 4 },
+
+ {
#ifdef JP
- "魔獣使い",
+ "魔獣使い",
#endif
- "BeastMaster",
- { 1, -1, -1, 1, 0, 2},
- 20, 25, 32, 2, 18, 16, 52, 63,
- 7, 10, 10, 0, 0, 0, 14, 25,
- 3, 20, 10,
- 5, 70, 3
- },
-
- {
+ "BeastMaster", { 1, -1, -1, 1, 0, 2 }, 20, 25, 32, 2, 18, 16, 52, 63, 7, 10, 10, 0, 0, 0, 14, 25, 3, 20, 10, 5, 70, 3 },
+
+ {
#ifdef JP
- "スペルマスター",
+ "スペルマスター",
#endif
- "Sorcerer",
+ "Sorcerer",
- {-5, 6, -2, 2, 0, -2},
- 30, 48, 75, 2, 12, 22, 0, 0,
- 7, 18, 13, 0, 0, 0, 0, 0,
- 4, 60, 25,
- 1, 1, 1
- },
+ { -5, 6, -2, 2, 0, -2 }, 30, 48, 75, 2, 12, 22, 0, 0, 7, 18, 13, 0, 0, 0, 0, 0, 4, 60, 25, 1, 1, 1 },
- {
+ {
#ifdef JP
- "アーチャー",
+ "アーチャー",
#endif
- "Archer",
+ "Archer",
- { 2, -1, -1, 2, 1, 0},
- 38, 24, 35, 4, 24, 16, 56, 82,
- 12, 10, 10, 0, 0, 0, 18, 36,
- 6, 10, 40,
- 4, 70, 2
- },
+ { 2, -1, -1, 2, 1, 0 }, 38, 24, 35, 4, 24, 16, 56, 82, 12, 10, 10, 0, 0, 0, 18, 36, 6, 10, 40, 4, 70, 2 },
- {
+ {
#ifdef JP
- "魔道具術師",
+ "魔道具術師",
#endif
- "Magic-Eater",
+ "Magic-Eater",
- {-1, 2, 1, 2, -2, 1},
- 25, 42, 36, 2, 20, 16, 48, 35,
- 7, 16, 10, 0, 0, 0, 13, 11,
- 3, 30, 30,
- 5, 100, 3
- },
+ { -1, 2, 1, 2, -2, 1 }, 25, 42, 36, 2, 20, 16, 48, 35, 7, 16, 10, 0, 0, 0, 13, 11, 3, 30, 30, 5, 100, 3 },
- {
+ {
#ifdef JP
- "吟遊詩人",
+ "吟遊詩人",
#endif
- "Bard", /* Note : spell stat is Charisma */
- {-2, 1, 2, -1, -2, 4},
- 20, 33, 34, -5, 16, 20, 34, 20,
- 8, 13, 11, 0, 0, 0, 10, 8,
- 2, 40, 25,
- 4, 70, 2
- },
-
- {
+ "Bard", /* Note : spell stat is Charisma */
+ { -2, 1, 2, -1, -2, 4 }, 20, 33, 34, -5, 16, 20, 34, 20, 8, 13, 11, 0, 0, 0, 10, 8, 2, 40, 25, 4, 70, 2 },
+
+ {
#ifdef JP
- "赤魔道師",
+ "赤魔道師",
#endif
- "Red-Mage",
+ "Red-Mage",
- { 2, 2, -1, 1, 0, -1},
- 20, 34, 34, 1, 16, 10, 56, 25,
- 7, 11, 11, 0, 0, 0, 18, 11,
- 4, 40, 40,
- 5, 70, 3
- },
+ { 2, 2, -1, 1, 0, -1 }, 20, 34, 34, 1, 16, 10, 56, 25, 7, 11, 11, 0, 0, 0, 18, 11, 4, 40, 40, 5, 70, 3 },
- {
+ {
#ifdef JP
- "剣術家",
+ "剣術家",
#endif
- "Samurai",
+ "Samurai",
- { 3, -2, 1, 2, 1, 0},
- 25, 18, 32, 2, 16, 6, 70, 40,
- 12, 7, 10, 0, 0, 0, 23, 18,
- 6, 30, 40,
- 5, 70, 4
- },
+ { 3, -2, 1, 2, 1, 0 }, 25, 18, 32, 2, 16, 6, 70, 40, 12, 7, 10, 0, 0, 0, 23, 18, 6, 30, 40, 5, 70, 4 },
- {
+ {
#ifdef JP
- "練気術師",
+ "練気術師",
#endif
- "ForceTrainer",
+ "ForceTrainer",
- { 0, -1, 3, 2, 1, 1},
- 30, 34, 38, 4, 32, 24, 50, 40,
- 10, 11, 11, 0, 0, 0, 14, 15,
- 2, 35, 40,
- 4, 60, 2
- },
+ { 0, -1, 3, 2, 1, 1 }, 30, 34, 38, 4, 32, 24, 50, 40, 10, 11, 11, 0, 0, 0, 14, 15, 2, 35, 40, 4, 60, 2 },
- {
+ {
#ifdef JP
- "青魔道師",
+ "青魔道師",
#endif
- "Blue-Mage",
+ "Blue-Mage",
- {-4, 4, -1, 1, -2, -1},
- 30, 40, 36, 3, 20, 16, 40, 25,
- 7, 16, 11, 0, 0, 0, 6, 7,
- 2, 30, 35,
- 3, 100, 2
- },
+ { -4, 4, -1, 1, -2, -1 }, 30, 40, 36, 3, 20, 16, 40, 25, 7, 16, 11, 0, 0, 0, 6, 7, 2, 30, 35, 3, 100, 2 },
- {
+ {
#ifdef JP
- "騎兵",
+ "騎兵",
#endif
- "Cavalry",
- { 2, -2, -2, 2, 2, 0},
- 20, 18, 32, 1, 16, 10, 60, 66,
- 10, 7, 10, 0, 0, 0, 22, 26,
- 5, 20, 35,
- 5, 100, 3
- },
-
- {
+ "Cavalry", { 2, -2, -2, 2, 2, 0 }, 20, 18, 32, 1, 16, 10, 60, 66, 10, 7, 10, 0, 0, 0, 22, 26, 5, 20, 35, 5, 100, 3 },
+
+ {
#ifdef JP
- "狂戦士",
+ "狂戦士",
#endif
- "Berserker",
+ "Berserker",
- { 8, -20, -20, 4, 4, -5},
- -100, -1000, -200, -100, -100, -100, 120, -2000,
- 0, 0, 0, 0, 0, 0, 50, 0,
- 11, 60, 255,
- 6, 70, 7
- },
+ { 8, -20, -20, 4, 4, -5 }, -100, -1000, -200, -100, -100, -100, 120, -2000, 0, 0, 0, 0, 0, 0, 50, 0, 11, 60, 255, 6, 70, 7 },
- {
+ {
#ifdef JP
- "鍛冶師",
+ "鍛冶師",
#endif
- "Weaponsmith",
-
- { 3, -1, -1, 1, 0, -1},
- 30, 28, 28, 1, 20, 10, 60, 45,
- 10, 10, 10, 0, 0, 0, 21, 15,
- 6, 30, 40,
- 5, 150, 5
- },
- {
+ "Weaponsmith",
+
+ { 3, -1, -1, 1, 0, -1 }, 30, 28, 28, 1, 20, 10, 60, 45, 10, 10, 10, 0, 0, 0, 21, 15, 6, 30, 40, 5, 150, 5 },
+ {
#ifdef JP
- "鏡使い",
+ "鏡使い",
#endif
- "Mirror-Master",
-
- { -2, 3, 1, -1, -2, 1},
- 30, 33, 40, 3, 14, 16, 34,30,
- 10, 11, 12, 0, 0, 0, 6,10,
- 2, 30, 30,
- 3, 100, 3
- },
- {
+ "Mirror-Master",
+
+ { -2, 3, 1, -1, -2, 1 }, 30, 33, 40, 3, 14, 16, 34, 30, 10, 11, 12, 0, 0, 0, 6, 10, 2, 30, 30, 3, 100, 3 },
+ {
#ifdef JP
- "忍者",
+ "忍者",
#endif
- "Ninja",
+ "Ninja",
- { 0, -1, -1, 3, 2, -1},
- 45, 24, 36, 8, 48, 32, 70,66,
- 15, 10, 10, 0, 0, 0, 25,18,
- 2, 20, 40,
- 4, 20, 1
- },
+ { 0, -1, -1, 3, 2, -1 }, 45, 24, 36, 8, 48, 32, 70, 66, 15, 10, 10, 0, 0, 0, 25, 18, 2, 20, 40, 4, 20, 1 },
- {
+ {
#ifdef JP
- "スナイパー",
+ "スナイパー",
#endif
- "Sniper",
+ "Sniper",
- { 2, -1, -1, 2, 1, 0},
- 25, 24, 28, 5, 32, 18, 56, 72,
- 12, 10, 10, 0, 0, 0, 18, 28,
- 2, 20, 40,
- 4, 70, 2
- },
+ { 2, -1, -1, 2, 1, 0 }, 25, 24, 28, 5, 32, 18, 56, 72, 12, 10, 10, 0, 0, 0, 18, 28, 2, 20, 40, 4, 70, 2 },
- {
+ {
#ifdef JP
- "元素使い",
+ "元素使い",
#endif
- "Elementalist",
-
- {-3, 1, 3, 0, -1, 0},
- 30, 40, 38, 3, 16, 20, 34, 20,
- 7, 15, 11, 0, 0, 0, 6, 7,
- 0, 30, 25,
- 3, 100, 2
- },
+ "Elementalist",
+
+ { -3, 1, 3, 0, -1, 0 }, 30, 40, 38, 3, 16, 20, 34, 20, 7, 15, 11, 0, 0, 0, 6, 7, 0, 30, 25, 3, 100, 2 },
};
/*!
* </pre>
*/
#ifdef JP
-const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
-{
- /* Warrior */
- {
- "新参兵",
- "兵士",
- "傭兵",
- "古参兵",
- "剣士",
- "闘士",
- "英雄",
- "男爵",
- "伯爵",
- "君主",
- },
-
- /* Mage */
- {
- /*"見習い",*/
- "練習生", /*丁稚、練習生 */
- "奇術師", /*詐欺師、ペテン師 */
- "幻術師",
- "呪術師",
- "召霊師",
- "召魔師",
- "魔術師",
- "魔道師",
- "イプシシマス",
- "大魔道師",
- },
-
- /* Priest */
- {
- "信者", /*信徒 */
- "侍僧", /*教会奉仕者、見習い僧、伴僧、従者 */
- "熟練僧",
- "聖職者", /*聖職者 */
- "伝道師", /*司祭評議員、修道会会員 */
- "牧師", /*ラマ教の僧 */
- "聖人", /*大司教、総主教、総大司教 */
- "祭司", /*祭司、司祭 */
- "祭司長", /*大祭司、祭司長 */
- "教皇",
- },
-
- /* Rogues */
- {
- /* "ごろつき",*/ /*ごろつき、風来坊、浮浪者 */
- "すり",
- "追いはぎ", /*追い剥ぎ、強盗、泥棒 */
- "夜盗", /*強盗、夜盗、泥棒 */
- "こそ泥", /*こそ泥、小泥棒 */
- "ペテン師", /*博徒、ペテン師、詐欺師 */
- "ロウシーフ",
- "ハイシーフ",
- "マスター", /* "マスターシーフ", */
- "アサシン", /* 暗殺者 */
- "頭領", /*"ギルドマスター",*/
- },
-
- /* Rangers */
- {
- "使い走り",
- "馳夫",
- "斥候", /*斥候、見張り、偵察兵 */
- "狩人",
- "追跡者",
- "先導者",
- "探険者", /*開拓者、探険者 */
- "野伏",
- "野伏頭",
- "野伏の総領",
- },
-
- /* Paladins */
- {
- "勇士", /*色男、愛人、しゃれ者、勇敢な人 */
- "衛士",
- "保護者",
- "防衛者",
- "護衛者",
- "騎士",
- "重騎士",
- "聖騎士",
- "上級聖騎士",
- "聖騎士団長",
- },
-
- /* Warrior-Mage */
- {
- "見習い",
- "徒弟", /*丁稚、練習生 */
- "一人前",
- "古参兵",
- "魔術兵士",
- "魔術闘士",
- "魔術の英雄", /* Mage-Hero */
- "魔男爵",
- /* "魔公爵", */
- "戦闘魔術士",
- "知識の守護者", /* "ウィザードロード", */
- },
-
- /* Chaos Warrior */
- {
- "新参兵",
- "兵士",
- "傭兵",
- "古参兵",
- "剣士",
- "闘士",
- "混沌の英雄",
- "混沌の男爵",
- "混沌の公爵",
- "混沌の王者",
- },
-
- /* Monk */
- {
- "入門者",
- "弟子",
- "直弟子",
- "師範代",
- "師範",
- "道場主",
- "名人",
- "大名人",
- "拳聖",
- "拳神",
- },
-
- /* Mindcrafter */
- {
- "練習生",
- "見習い",
- "熟練士",
- "熟達士",
- "黙想士",
- "心術士",
- "サイキック",
- "サイオニック",
- "超能力者",
- "精神の支配者", /* "マインドマスター", */
- },
-
- /* High Mage; same as Mage */
- {
- /*"見習い",*/
- "練習生", /*丁稚、練習生 */
- "奇術師", /*詐欺師、ペテン師 */
- "幻術師",
- "呪術師",
- "召霊師",
- "召魔師",
- "魔術師",
- "魔道師",
- "イプシシマス",
- "大魔道師",
- },
-
- /* Tourist */
- {
- "プー太郎",
- "観光客",
- "周遊旅行者",
- "遍歴者",
- "旅行者",
- "放浪者", /* "旅人", */
- "航海者",
- "探検家",
- "冒険家",
- "スペランカー",
- },
-
- /* Imitator */
- {
- "これから",
- "いまいち",
- "まだまだ",
- "ぼちぼち",
- "そこそこ",
- "まあまあ",
- "なかなか",
- "いけいけ",
- "そうとう",
- "えらい",
- },
-
- /* Beastmaster */
- {
- "イモリ使い",
- "ヘビ使い",
- "クモ使い",
- "狼使い",
- "トラ使い",
- "甲虫使い",
- "ヒドラ使い",
- "ハウンド使い",
- "ムーマク使い",
- "ドラゴン使い",
- },
-
- /* Sorcerer; same as Mage */
- {
- /*"見習い",*/
- "練習生", /*丁稚、練習生 */
- "奇術師", /*詐欺師、ペテン師 */
- "幻術師",
- "呪術師",
- "召霊師",
- "召魔師",
- "魔術師",
- "魔道師",
- "イプシシマス",
- "大魔道師",
- },
-
- /* Archer */
- {
- "新参兵",
- "兵士",
- "傭兵",
- "古参兵",
- "剣士",
- "闘士",
- "英雄",
- "男爵",
- "伯爵",
- "領主",
- },
-
- /* Magic eater */
- {
- "無知なる者",
- "入門者",
- "奇術師",
- "秘術師",
- "秘術師",
- "熟練者",
- "達人",
- "達人",
- "魔道師",
- "全てを知る者",
- },
-
- /* Bard */
- {
- "見習い", /*"Apprentice"*/
- "作曲家", /*"Songsmith"*/
- "吟遊詩人", /*"Bard"*/
- "コンパニオン", /*"Companion"*/
- "心の癒し手", /*"Minstrel"*/
- "竪琴師", /*"Harper"*/
- "伝承の紡ぎ手", /*"Loreweaver"*/
- "詩神の申し子", /*"Muse"*/
- "夢紡ぎ", /*"Dreamweaver"*/
- "マスター", /*"Master Harper"*/
- },
-
- /* Red Mage; same as Warrior-Mage */
- {
- "見習い",
- "徒弟", /*丁稚、練習生 */
- "一人前",
- "古参兵",
- "魔術兵士",
- "魔術闘士",
- "魔術の英雄", /* Mage-Hero */
- "魔男爵",
- /* "魔公爵", */
- "戦闘魔術士",
- "知識の守護者", /* "ウィザードロード", */
- },
-
- /* Samurai */
- {
- "入門者",
- "弟子",
- "直弟子",
- "師範代",
- "師範",
- "道場主",
- "名人",
- "大名人",
- "剣聖",
- "剣神",
- },
-
- /* ForceTrainer; same as Monk(?) */
- {
- "入門者",
- "弟子",
- "直弟子",
- "師範代",
- "師範",
- "道場主",
- "名人",
- "大名人",
- "拳聖",
- "拳神",
- },
-
- /* Blue Mage; same as Mage */
- {
- /*"見習い",*/
- "練習生", /*丁稚、練習生 */
- "奇術師", /*詐欺師、ペテン師 */
- "幻術師",
- "呪術師",
- "召霊師",
- "召魔師",
- "魔術師",
- "魔道師",
- "イプシシマス",
- "大魔道師",
- },
-
- /* Cavalry */
- {
- "新参兵",
- "兵士",
- "傭兵",
- "古参兵",
- "剣士",
- "闘士",
- "英雄",
- "男爵",
- "伯爵",
- "領主",
- },
-
- /* Berserker */
- {
- "バーサーカー",
- "バーサーカー",
- "バーサーカー",
- "怒りの公爵",
- "怒りの公爵",
- "怒りの公爵",
- "怒りの王",
- "怒りの王",
- "怒りの王",
- "怒りの化身",
- },
-
- /* Weaponsmith */
- {
- "銅を鍛えし者",
- "鉄を鍛えし者",
- "鋼を鍛えし者",
- "銀を鍛えし者",
- "竜を鍛えし者",
- "霊を鍛えし者",
- "魔を鍛えし者",
- "魂を鍛えし者",
- "神を鍛えし者",
- "全を鍛えし者",
- },
-
- /* Mirror Master */
- {
- "鏡を見る人",
- "鏡磨き",
- "鏡職人",
- "鏡術師",
- "鏡導師",
- "鏡の賢者",
- "鏡の王",
- "鏡の皇帝",
- "鏡の化身",
- "ラフノール王",
- },
- /* Ninja */
- {
- "訓練生",
- "仕手",
- "熟達者",
- "短刀使い",
- "切り裂き",
- "凄腕",
- "漆黒の刃",
- "闇の一撃",
- "暗殺者",
- "死の長き腕",
- },
-
- /* Sniper */
- {
- "新参兵",
- "兵士",
- "傭兵",
- "古参兵",
- "剣士",
- "闘士",
- "英雄",
- "男爵",
- "伯爵",
- "領主",
- },
+const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] = {
+ /* Warrior */
+ {
+ "新参兵",
+ "兵士",
+ "傭兵",
+ "古参兵",
+ "剣士",
+ "闘士",
+ "英雄",
+ "男爵",
+ "伯爵",
+ "君主",
+ },
+
+ /* Mage */
+ {
+ /*"見習い",*/
+ "練習生", /*丁稚、練習生 */
+ "奇術師", /*詐欺師、ペテン師 */
+ "幻術師",
+ "呪術師",
+ "召霊師",
+ "召魔師",
+ "魔術師",
+ "魔道師",
+ "イプシシマス",
+ "大魔道師",
+ },
+
+ /* Priest */
+ {
+ "信者", /*信徒 */
+ "侍僧", /*教会奉仕者、見習い僧、伴僧、従者 */
+ "熟練僧",
+ "聖職者", /*聖職者 */
+ "伝道師", /*司祭評議員、修道会会員 */
+ "牧師", /*ラマ教の僧 */
+ "聖人", /*大司教、総主教、総大司教 */
+ "祭司", /*祭司、司祭 */
+ "祭司長", /*大祭司、祭司長 */
+ "教皇",
+ },
+
+ /* Rogues */
+ {
+ /* "ごろつき",*/ /*ごろつき、風来坊、浮浪者 */
+ "すり", "追いはぎ", /*追い剥ぎ、強盗、泥棒 */
+ "夜盗", /*強盗、夜盗、泥棒 */
+ "こそ泥", /*こそ泥、小泥棒 */
+ "ペテン師", /*博徒、ペテン師、詐欺師 */
+ "ロウシーフ", "ハイシーフ", "マスター", /* "マスターシーフ", */
+ "アサシン", /* 暗殺者 */
+ "頭領", /*"ギルドマスター",*/
+ },
+
+ /* Rangers */
+ {
+ "使い走り",
+ "馳夫",
+ "斥候", /*斥候、見張り、偵察兵 */
+ "狩人",
+ "追跡者",
+ "先導者",
+ "探険者", /*開拓者、探険者 */
+ "野伏",
+ "野伏頭",
+ "野伏の総領",
+ },
+
+ /* Paladins */
+ {
+ "勇士", /*色男、愛人、しゃれ者、勇敢な人 */
+ "衛士",
+ "保護者",
+ "防衛者",
+ "護衛者",
+ "騎士",
+ "重騎士",
+ "聖騎士",
+ "上級聖騎士",
+ "聖騎士団長",
+ },
+
+ /* Warrior-Mage */
+ {
+ "見習い", "徒弟", /*丁稚、練習生 */
+ "一人前", "古参兵", "魔術兵士", "魔術闘士", "魔術の英雄", /* Mage-Hero */
+ "魔男爵",
+ /* "魔公爵", */
+ "戦闘魔術士", "知識の守護者", /* "ウィザードロード", */
+ },
+
+ /* Chaos Warrior */
+ {
+ "新参兵",
+ "兵士",
+ "傭兵",
+ "古参兵",
+ "剣士",
+ "闘士",
+ "混沌の英雄",
+ "混沌の男爵",
+ "混沌の公爵",
+ "混沌の王者",
+ },
+
+ /* Monk */
+ {
+ "入門者",
+ "弟子",
+ "直弟子",
+ "師範代",
+ "師範",
+ "道場主",
+ "名人",
+ "大名人",
+ "拳聖",
+ "拳神",
+ },
+
+ /* Mindcrafter */
+ {
+ "練習生", "見習い", "熟練士", "熟達士", "黙想士", "心術士", "サイキック", "サイオニック", "超能力者", "精神の支配者", /* "マインドマスター", */
+ },
+
+ /* High Mage; same as Mage */
+ {
+ /*"見習い",*/
+ "練習生", /*丁稚、練習生 */
+ "奇術師", /*詐欺師、ペテン師 */
+ "幻術師",
+ "呪術師",
+ "召霊師",
+ "召魔師",
+ "魔術師",
+ "魔道師",
+ "イプシシマス",
+ "大魔道師",
+ },
+
+ /* Tourist */
+ {
+ "プー太郎",
+ "観光客",
+ "周遊旅行者",
+ "遍歴者",
+ "旅行者",
+ "放浪者", /* "旅人", */
+ "航海者",
+ "探検家",
+ "冒険家",
+ "スペランカー",
+ },
+
+ /* Imitator */
+ {
+ "これから",
+ "いまいち",
+ "まだまだ",
+ "ぼちぼち",
+ "そこそこ",
+ "まあまあ",
+ "なかなか",
+ "いけいけ",
+ "そうとう",
+ "えらい",
+ },
+
+ /* Beastmaster */
+ {
+ "イモリ使い",
+ "ヘビ使い",
+ "クモ使い",
+ "狼使い",
+ "トラ使い",
+ "甲虫使い",
+ "ヒドラ使い",
+ "ハウンド使い",
+ "ムーマク使い",
+ "ドラゴン使い",
+ },
+
+ /* Sorcerer; same as Mage */
+ {
+ /*"見習い",*/
+ "練習生", /*丁稚、練習生 */
+ "奇術師", /*詐欺師、ペテン師 */
+ "幻術師",
+ "呪術師",
+ "召霊師",
+ "召魔師",
+ "魔術師",
+ "魔道師",
+ "イプシシマス",
+ "大魔道師",
+ },
+
+ /* Archer */
+ {
+ "新参兵",
+ "兵士",
+ "傭兵",
+ "古参兵",
+ "剣士",
+ "闘士",
+ "英雄",
+ "男爵",
+ "伯爵",
+ "領主",
+ },
+
+ /* Magic eater */
+ {
+ "無知なる者",
+ "入門者",
+ "奇術師",
+ "秘術師",
+ "秘術師",
+ "熟練者",
+ "達人",
+ "達人",
+ "魔道師",
+ "全てを知る者",
+ },
+
+ /* Bard */
+ {
+ "見習い", /*"Apprentice"*/
+ "作曲家", /*"Songsmith"*/
+ "吟遊詩人", /*"Bard"*/
+ "コンパニオン", /*"Companion"*/
+ "心の癒し手", /*"Minstrel"*/
+ "竪琴師", /*"Harper"*/
+ "伝承の紡ぎ手", /*"Loreweaver"*/
+ "詩神の申し子", /*"Muse"*/
+ "夢紡ぎ", /*"Dreamweaver"*/
+ "マスター", /*"Master Harper"*/
+ },
+
+ /* Red Mage; same as Warrior-Mage */
+ {
+ "見習い", "徒弟", /*丁稚、練習生 */
+ "一人前", "古参兵", "魔術兵士", "魔術闘士", "魔術の英雄", /* Mage-Hero */
+ "魔男爵",
+ /* "魔公爵", */
+ "戦闘魔術士", "知識の守護者", /* "ウィザードロード", */
+ },
+
+ /* Samurai */
+ {
+ "入門者",
+ "弟子",
+ "直弟子",
+ "師範代",
+ "師範",
+ "道場主",
+ "名人",
+ "大名人",
+ "剣聖",
+ "剣神",
+ },
+
+ /* ForceTrainer; same as Monk(?) */
+ {
+ "入門者",
+ "弟子",
+ "直弟子",
+ "師範代",
+ "師範",
+ "道場主",
+ "名人",
+ "大名人",
+ "拳聖",
+ "拳神",
+ },
+
+ /* Blue Mage; same as Mage */
+ {
+ /*"見習い",*/
+ "練習生", /*丁稚、練習生 */
+ "奇術師", /*詐欺師、ペテン師 */
+ "幻術師",
+ "呪術師",
+ "召霊師",
+ "召魔師",
+ "魔術師",
+ "魔道師",
+ "イプシシマス",
+ "大魔道師",
+ },
+
+ /* Cavalry */
+ {
+ "新参兵",
+ "兵士",
+ "傭兵",
+ "古参兵",
+ "剣士",
+ "闘士",
+ "英雄",
+ "男爵",
+ "伯爵",
+ "領主",
+ },
+
+ /* Berserker */
+ {
+ "バーサーカー",
+ "バーサーカー",
+ "バーサーカー",
+ "怒りの公爵",
+ "怒りの公爵",
+ "怒りの公爵",
+ "怒りの王",
+ "怒りの王",
+ "怒りの王",
+ "怒りの化身",
+ },
+
+ /* Weaponsmith */
+ {
+ "銅を鍛えし者",
+ "鉄を鍛えし者",
+ "鋼を鍛えし者",
+ "銀を鍛えし者",
+ "竜を鍛えし者",
+ "霊を鍛えし者",
+ "魔を鍛えし者",
+ "魂を鍛えし者",
+ "神を鍛えし者",
+ "全を鍛えし者",
+ },
+
+ /* Mirror Master */
+ {
+ "鏡を見る人",
+ "鏡磨き",
+ "鏡職人",
+ "鏡術師",
+ "鏡導師",
+ "鏡の賢者",
+ "鏡の王",
+ "鏡の皇帝",
+ "鏡の化身",
+ "ラフノール王",
+ },
+ /* Ninja */
+ {
+ "訓練生",
+ "仕手",
+ "熟達者",
+ "短刀使い",
+ "切り裂き",
+ "凄腕",
+ "漆黒の刃",
+ "闇の一撃",
+ "暗殺者",
+ "死の長き腕",
+ },
+
+ /* Sniper */
+ {
+ "新参兵",
+ "兵士",
+ "傭兵",
+ "古参兵",
+ "剣士",
+ "闘士",
+ "英雄",
+ "男爵",
+ "伯爵",
+ "領主",
+ },
/* Elementalist */
{
};
#else
-const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
-{
- /* Warrior */
- {
- "Rookie",
- "Soldier",
- "Mercenary",
- "Veteran",
- "Swordsman",
- "Champion",
- "Hero",
- "Baron",
- "Duke",
- "Lord",
- },
-
- /* Mage */
- {
- "Apprentice",
- "Trickster",
- "Illusionist",
- "Spellbinder",
- "Evoker",
- "Conjurer",
- "Warlock",
- "Sorcerer",
- "Ipsissimus",
- "Archmage",
- },
-
- /* Priest */
- {
- "Believer",
- "Acolyte",
- "Adept",
- "Curate",
- "Canon",
- "Priest",
- "High Priest",
- "Cardinal",
- "Inquisitor",
- "Pope",
- },
-
- /* Rogues */
- {
- "Cutpurse",
- "Robber",
- "Burglar",
- "Filcher",
- "Sharper",
- "Low Thief",
- "High Thief",
- "Master Thief",
- "Assassin",
- "Guildmaster",
- },
-
- /* Rangers */
- {
- "Runner",
- "Strider",
- "Scout",
- "Courser",
- "Tracker",
- "Guide",
- "Pathfinder",
- "Low Ranger",
- "High Ranger",
- "Ranger Lord",
- },
-
- /* Paladins */
- {
- "Gallant",
- "Keeper",
- "Protector",
- "Defender",
- "Warder",
- "Knight",
- "Guardian",
- "Low Paladin",
- "High Paladin",
- "Paladin Lord",
- },
-
- /* Warrior-Mage */
- {
- "Novice",
- "Apprentice",
- "Journeyman",
- "Veteran",
- "Enchanter",
- "Champion",
- "Mage-Hero",
- "Baron Mage",
- "Battlemage",
- "Wizard Lord",
- },
-
- /* Chaos Warrior */
- {
- "Rookie",
- "Soldier",
- "Mercenary",
- "Veteran",
- "Swordsman",
- "Champion",
- "Chaos Hero",
- "Chaos Baron",
- "Chaos Duke",
- "Chaos Lord",
- },
-
- /* Monk */
- {
- "Initiate",
- "Brother",
- "Disciple",
- "Immaculate",
- "Master",
- "Soft Master",
- "Hard Master",
- "Flower Master",
- "Dragon Master",
- "Grand Master",
- },
-
- /* Mindcrafter */
- {
- "Trainee",
- "Acolyte",
- "Adept",
- "Immaculate",
- "Contemplator",
- "Mentalist",
- "Psychic",
- "Psionicist",
- "Esper",
- "Mindmaster",
- },
-
- /* High Mage; same as Mage */
- {
- "Apprentice",
- "Trickster",
- "Illusionist",
- "Spellbinder",
- "Evoker",
- "Conjurer",
- "Warlock",
- "Sorcerer",
- "Ipsissimus",
- "Archmage",
- },
-
- /* Tourist */
- {
- "Rambler",
- "Sightseer",
- "Excursionist",
- "Peregrinator",
- "Traveler",
- "Journeyer",
- "Voyager",
- "Explorer",
- "Adventurer",
- "Spelunker",
- },
-
- /* Imitator */
- {
- "Yet",
- "Lacks",
- "Still more",
- "So so",
- "All right",
- "Not bad",
- "Considerable",
- "Go go",
- "Sizable",
- "Great man",
- },
-
- /* BeastMaster */
- {
- "Newt Master",
- "Snake Master",
- "Spider Master",
- "Wolf Master",
- "Tiger Master",
- "Beetle Master",
- "Hydra Master",
- "Hound Master",
- "Mumak Master",
- "Dragon Master",
- },
-
- /* Sorcerer */
- {
- "Apprentice",
- "Trickster",
- "Illusionist",
- "Spellbinder",
- "Evoker",
- "Conjurer",
- "Warlock",
- "Sorcerer",
- "Ipsissimus",
- "Archmage",
- },
-
- /* Archer */
- {
- "Rookie",
- "Soldier",
- "Mercenary",
- "Veteran",
- "Bowman",
- "Champion",
- "Hero",
- "Baron",
- "Duke",
- "Lord",
- },
-
- /* Magic eater */
- {
- "Apprentice",
- "Beginner",
- "Jagguler",
- "Skilled",
- "Conjurer",
- "Magician",
- "Master",
- "Master",
- "Wizard",
- "Almighty",
- },
-
- /* Bard */
- {
- "Apprentice", /*"Apprentice"*/
- "Songsmith", /*"Songsmith"*/
- "Bard", /*"Bard"*/
- "Companion", /*"Companion"*/
- "Minstrel", /*"Minstrel"*/
- "Harper", /*"Harper"*/
- "Loreweaver", /*"Loreweaver"*/
- "Muse", /*"Muse"*/
- "Dreamweaver", /*"Dreamweaver"*/
- "Master Harper", /*"Master Harper"*/
- },
-
- /* Red Mage */
- {
- "Novice",
- "Apprentice",
- "Journeyman",
- "Veteran",
- "Enchanter",
- "Champion",
- "Mage-Hero",
- "Baron Mage",
- "Battlemage",
- "Wizard Lord",
- },
-
- /* Samurai */
- {
- "Initiate",
- "Brother",
- "Disciple",
- "Immaculate",
- "Master",
- "Soft Master",
- "Hard Master",
- "Flower Master",
- "Dragon Master",
- "Grand Master",
- },
-
- /* ForceTrainer */
- {
- "Initiate",
- "Brother",
- "Disciple",
- "Immaculate",
- "Master",
- "Soft Master",
- "Hard Master",
- "Flower Master",
- "Dragon Master",
- "Grand Master",
- },
-
- /* Blue Mage */
- {
- "Apprentice",
- "Trickster",
- "Illusionist",
- "Spellbinder",
- "Evoker",
- "Conjurer",
- "Warlock",
- "Sorcerer",
- "Ipsissimus",
- "Archmage",
- },
-
- /* Cavalry */
- {
- "Rookie",
- "Soldier",
- "Mercenary",
- "Veteran",
- "Swordsman",
- "Champion",
- "Hero",
- "Baron",
- "Duke",
- "Lord",
- },
-
- /* Berserker */
- {
- "Berserker",
- "Berserker",
- "Berserker",
- "Rage Prince",
- "Rage Prince",
- "Rage Prince",
- "Rage King",
- "Rage King",
- "Rage King",
- "God of Rage",
- },
-
- /* Weaponsmith */
- {
- "Copper smith",
- "Iron smith",
- "Steel smith",
- "Silver smith",
- "Dragon smith",
- "Spirit smith",
- "Magic smith",
- "Soul smith",
- "God smith",
- "AlmightySmith",
- },
-
- /* Mirror Master */
- {
- "Mirrorstarer",
- "Mirrorcleaner",
- "Mirrormaker",
- "Mirrormagician",
- "Mirror Guru",
- "Mirror Mage",
- "Mirror King",
- "Mirror Emperor",
- "Mirror Avatar",
- "Ruffnor King",
- },
-
- /* Ninja */
- {
- "Trainee",
- "Myrmidon",
- "Initiate",
- "Knifer",
- "Bladesman",
- "Hashishin",
- "Black Dagger",
- "Shadowstrike",
- "Assassinator",
- "Death Lord",
- },
-
- /* Sniper */
- {
- "Rookie",
- "Soldier",
- "Mercenary",
- "Veteran",
- "Swordsman",
- "Champion",
- "Hero",
- "Baron",
- "Duke",
- "Lord",
- },
+const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] = {
+ /* Warrior */
+ {
+ "Rookie",
+ "Soldier",
+ "Mercenary",
+ "Veteran",
+ "Swordsman",
+ "Champion",
+ "Hero",
+ "Baron",
+ "Duke",
+ "Lord",
+ },
+
+ /* Mage */
+ {
+ "Apprentice",
+ "Trickster",
+ "Illusionist",
+ "Spellbinder",
+ "Evoker",
+ "Conjurer",
+ "Warlock",
+ "Sorcerer",
+ "Ipsissimus",
+ "Archmage",
+ },
+
+ /* Priest */
+ {
+ "Believer",
+ "Acolyte",
+ "Adept",
+ "Curate",
+ "Canon",
+ "Priest",
+ "High Priest",
+ "Cardinal",
+ "Inquisitor",
+ "Pope",
+ },
+
+ /* Rogues */
+ {
+ "Cutpurse",
+ "Robber",
+ "Burglar",
+ "Filcher",
+ "Sharper",
+ "Low Thief",
+ "High Thief",
+ "Master Thief",
+ "Assassin",
+ "Guildmaster",
+ },
+
+ /* Rangers */
+ {
+ "Runner",
+ "Strider",
+ "Scout",
+ "Courser",
+ "Tracker",
+ "Guide",
+ "Pathfinder",
+ "Low Ranger",
+ "High Ranger",
+ "Ranger Lord",
+ },
+
+ /* Paladins */
+ {
+ "Gallant",
+ "Keeper",
+ "Protector",
+ "Defender",
+ "Warder",
+ "Knight",
+ "Guardian",
+ "Low Paladin",
+ "High Paladin",
+ "Paladin Lord",
+ },
+
+ /* Warrior-Mage */
+ {
+ "Novice",
+ "Apprentice",
+ "Journeyman",
+ "Veteran",
+ "Enchanter",
+ "Champion",
+ "Mage-Hero",
+ "Baron Mage",
+ "Battlemage",
+ "Wizard Lord",
+ },
+
+ /* Chaos Warrior */
+ {
+ "Rookie",
+ "Soldier",
+ "Mercenary",
+ "Veteran",
+ "Swordsman",
+ "Champion",
+ "Chaos Hero",
+ "Chaos Baron",
+ "Chaos Duke",
+ "Chaos Lord",
+ },
+
+ /* Monk */
+ {
+ "Initiate",
+ "Brother",
+ "Disciple",
+ "Immaculate",
+ "Master",
+ "Soft Master",
+ "Hard Master",
+ "Flower Master",
+ "Dragon Master",
+ "Grand Master",
+ },
+
+ /* Mindcrafter */
+ {
+ "Trainee",
+ "Acolyte",
+ "Adept",
+ "Immaculate",
+ "Contemplator",
+ "Mentalist",
+ "Psychic",
+ "Psionicist",
+ "Esper",
+ "Mindmaster",
+ },
+
+ /* High Mage; same as Mage */
+ {
+ "Apprentice",
+ "Trickster",
+ "Illusionist",
+ "Spellbinder",
+ "Evoker",
+ "Conjurer",
+ "Warlock",
+ "Sorcerer",
+ "Ipsissimus",
+ "Archmage",
+ },
+
+ /* Tourist */
+ {
+ "Rambler",
+ "Sightseer",
+ "Excursionist",
+ "Peregrinator",
+ "Traveler",
+ "Journeyer",
+ "Voyager",
+ "Explorer",
+ "Adventurer",
+ "Spelunker",
+ },
+
+ /* Imitator */
+ {
+ "Yet",
+ "Lacks",
+ "Still more",
+ "So so",
+ "All right",
+ "Not bad",
+ "Considerable",
+ "Go go",
+ "Sizable",
+ "Great man",
+ },
+
+ /* BeastMaster */
+ {
+ "Newt Master",
+ "Snake Master",
+ "Spider Master",
+ "Wolf Master",
+ "Tiger Master",
+ "Beetle Master",
+ "Hydra Master",
+ "Hound Master",
+ "Mumak Master",
+ "Dragon Master",
+ },
+
+ /* Sorcerer */
+ {
+ "Apprentice",
+ "Trickster",
+ "Illusionist",
+ "Spellbinder",
+ "Evoker",
+ "Conjurer",
+ "Warlock",
+ "Sorcerer",
+ "Ipsissimus",
+ "Archmage",
+ },
+
+ /* Archer */
+ {
+ "Rookie",
+ "Soldier",
+ "Mercenary",
+ "Veteran",
+ "Bowman",
+ "Champion",
+ "Hero",
+ "Baron",
+ "Duke",
+ "Lord",
+ },
+
+ /* Magic eater */
+ {
+ "Apprentice",
+ "Beginner",
+ "Jagguler",
+ "Skilled",
+ "Conjurer",
+ "Magician",
+ "Master",
+ "Master",
+ "Wizard",
+ "Almighty",
+ },
+
+ /* Bard */
+ {
+ "Apprentice", /*"Apprentice"*/
+ "Songsmith", /*"Songsmith"*/
+ "Bard", /*"Bard"*/
+ "Companion", /*"Companion"*/
+ "Minstrel", /*"Minstrel"*/
+ "Harper", /*"Harper"*/
+ "Loreweaver", /*"Loreweaver"*/
+ "Muse", /*"Muse"*/
+ "Dreamweaver", /*"Dreamweaver"*/
+ "Master Harper", /*"Master Harper"*/
+ },
+
+ /* Red Mage */
+ {
+ "Novice",
+ "Apprentice",
+ "Journeyman",
+ "Veteran",
+ "Enchanter",
+ "Champion",
+ "Mage-Hero",
+ "Baron Mage",
+ "Battlemage",
+ "Wizard Lord",
+ },
+
+ /* Samurai */
+ {
+ "Initiate",
+ "Brother",
+ "Disciple",
+ "Immaculate",
+ "Master",
+ "Soft Master",
+ "Hard Master",
+ "Flower Master",
+ "Dragon Master",
+ "Grand Master",
+ },
+
+ /* ForceTrainer */
+ {
+ "Initiate",
+ "Brother",
+ "Disciple",
+ "Immaculate",
+ "Master",
+ "Soft Master",
+ "Hard Master",
+ "Flower Master",
+ "Dragon Master",
+ "Grand Master",
+ },
+
+ /* Blue Mage */
+ {
+ "Apprentice",
+ "Trickster",
+ "Illusionist",
+ "Spellbinder",
+ "Evoker",
+ "Conjurer",
+ "Warlock",
+ "Sorcerer",
+ "Ipsissimus",
+ "Archmage",
+ },
+
+ /* Cavalry */
+ {
+ "Rookie",
+ "Soldier",
+ "Mercenary",
+ "Veteran",
+ "Swordsman",
+ "Champion",
+ "Hero",
+ "Baron",
+ "Duke",
+ "Lord",
+ },
+
+ /* Berserker */
+ {
+ "Berserker",
+ "Berserker",
+ "Berserker",
+ "Rage Prince",
+ "Rage Prince",
+ "Rage Prince",
+ "Rage King",
+ "Rage King",
+ "Rage King",
+ "God of Rage",
+ },
+
+ /* Weaponsmith */
+ {
+ "Copper smith",
+ "Iron smith",
+ "Steel smith",
+ "Silver smith",
+ "Dragon smith",
+ "Spirit smith",
+ "Magic smith",
+ "Soul smith",
+ "God smith",
+ "AlmightySmith",
+ },
+
+ /* Mirror Master */
+ {
+ "Mirrorstarer",
+ "Mirrorcleaner",
+ "Mirrormaker",
+ "Mirrormagician",
+ "Mirror Guru",
+ "Mirror Mage",
+ "Mirror King",
+ "Mirror Emperor",
+ "Mirror Avatar",
+ "Ruffnor King",
+ },
+
+ /* Ninja */
+ {
+ "Trainee",
+ "Myrmidon",
+ "Initiate",
+ "Knifer",
+ "Bladesman",
+ "Hashishin",
+ "Black Dagger",
+ "Shadowstrike",
+ "Assassinator",
+ "Death Lord",
+ },
+
+ /* Sniper */
+ {
+ "Rookie",
+ "Soldier",
+ "Mercenary",
+ "Veteran",
+ "Swordsman",
+ "Champion",
+ "Hero",
+ "Baron",
+ "Duke",
+ "Lord",
+ },
/* Elementalist */
{
#include "object/item-tester-hooker.h"
#include "object/object-broken.h"
#include "object/object-flags.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "player/player-status-flags.h"
#include "player/player-status-resist.h"
#include "player/player-status.h"
#include "object-hook/hook-weapon.h"
#include "object/object-flags.h"
#include "player-info/equipment-info.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player-status/player-basic-statistics.h"
#include "player-status/player-hand-types.h"
#include "player-status/player-infravision.h"
#include "player-status/player-stealth.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
-#include "player/mimic-info-table.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-skill.h"
#include "player/player-status.h"
#include "player/race-info-table.h"
#include "object-enchant/trc-types.h"
#include "object-hook/hook-weapon.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-class.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-skill.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
}
BIT_FLAGS flgs = has_vuln_acid(creature_ptr);
-
+
for (BIT_FLAGS check_flag = 0x01U; check_flag < FLAG_CAUSE_MAX; check_flag <<= 1) {
if (any_bits(flgs, check_flag)) {
if (check_flag == FLAG_CAUSE_MUTATION) {
#include "pet/pet-util.h"
#include "player-info/alignment.h"
#include "player-info/equipment-info.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player-status/player-basic-statistics.h"
#include "player-status/player-hand-types.h"
#include "player-status/player-infravision.h"
#include "player-status/player-stealth.h"
#include "player/attack-defense-types.h"
#include "player/digestion-processor.h"
-#include "player/mimic-info-table.h"
#include "player/patron.h"
#include "player/player-class.h"
#include "player/player-damage.h"
#include "player/player-move.h"
#include "player/player-personality-types.h"
#include "player/player-personality.h"
-#include "player/player-race-types.h"
#include "player/player-skill.h"
#include "player/player-status-flags.h"
#include "player/player-status-table.h"
#pragma once
-#include "player/player-race-types.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
extern const player_race_info race_info[MAX_RACES];
#include "mutation/mutation-flag-types.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/special-defense-types.h"
#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
#include "temporary-resistances.h"
#include "object-enchant/tr-types.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-status-flags.h"
#include "player/special-defense-types.h"
#include "realm/realm-hex-numbers.h"
#include "racial/race-racial-command-setter.h"
#include "cmd-action/cmd-spell.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "racial/racial-util.h"
#include "system/player-type-definition.h"
#include "mutation/mutation-flag-types.h"
#include "object/item-tester-hooker.h"
#include "player-info/equipment-info.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player-status/player-energy.h"
#include "player-status/player-hand-types.h"
#include "player/attack-defense-types.h"
#include "player/player-class.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status.h"
#include "racial/racial-android.h"
#include "racial/racial-balrog.h"
#include "effect/effect-characteristics.h"
#include "effect/effect-processor.h"
#include "hpmp/hp-mp-processor.h"
+#include "player-info/race-info.h"
#include "player/digestion-processor.h"
#include "player/player-damage.h"
-#include "player/player-race.h"
#include "player/player-realm.h"
#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
#include "cmd-action/cmd-spell.h"
#include "monster-floor/monster-summon.h"
#include "monster-floor/place-monster-types.h"
+#include "player-info/race-info.h"
#include "player/player-damage.h"
-#include "player/player-race.h"
#include "player/player-realm.h"
#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
#include "monster-floor/place-monster-types.h"
#include "object/object-kind-hook.h"
#include "player-attack/player-attack.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player/player-damage.h"
-#include "player/player-race-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "spell-kind/earthquake.h"
#include "spell-kind/spells-beam.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
#include "player-attack/player-attack-util.h"
+#include "player-info/race-info.h"
#include "player/player-damage.h"
-#include "player/player-race.h"
+#include "player/player-status-flags.h"
#include "status/element-resistance.h"
#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
#include "util/bit-flags-calculator.h"
#include "view/display-messages.h"
-#include "player/player-status-flags.h"
/*!
* @brief 死の大鎌ダメージが跳ね返ってきた時の、種族ごとのダメージ倍率を返す
#include "core/window-redrawer.h"
#include "game-option/disturbance-options.h"
#include "mind/mind-sniper.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
-#include "player/player-race.h"
#include "player/player-status-flags.h"
#include "player/player-status.h"
#include "player/special-defense-types.h"
#include "core/window-redrawer.h"
#include "game-option/disturbance-options.h"
#include "monster/monster-status-setter.h"
+#include "player-info/race-info.h"
#include "player/attack-defense-types.h"
#include "player/player-class.h"
-#include "player/player-race.h"
#include "player/player-status.h"
#include "realm/realm-song-numbers.h"
#include "spell-realm/spells-song.h"
#include "core/player-redraw-types.h"
#include "core/stuff-handler.h"
#include "game-option/disturbance-options.h"
-#include "player/player-race.h"
+#include "player-info/race-info.h"
#include "player/special-defense-types.h"
#include "realm/realm-song-numbers.h"
#include "spell-realm/spells-song.h"
#pragma once
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "system/angband.h"
struct player_type;
#pragma once
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "system/angband.h"
extern byte rgold_adj[MAX_RACES][MAX_RACES];
#include "store/store-owners.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
/*!
* @todo _() でまとめる
*/
const owner_type owners[MAX_STORES][MAX_OWNERS] = {
{
- /* General store - 32 unique names */
- /*
- Raistlin は dragonlance の powerful wizard 。
- Rincewind the Chicken は Terry Pratchett の Discworld の登場人物 上記のパロディ?、
- { "憶病者ラストリン", 200, 108, player_race_type::HUMAN},
- { "Raistlin the Chicken", 200, 108, player_race_type::HUMAN},
- */
+/* General store - 32 unique names */
+/*
+ Raistlin は dragonlance の powerful wizard 。
+ Rincewind the Chicken は Terry Pratchett の Discworld の登場人物 上記のパロディ?、
+ { "憶病者ラストリン", 200, 108, player_race_type::HUMAN},
+ { "Raistlin the Chicken", 200, 108, player_race_type::HUMAN},
+*/
#ifdef JP
{ "フレンドリーなビルボ", 30000, 108, player_race_type::HOBBIT },
{ "憶病者リンスウィンド", 30000, 108, player_race_type::HUMAN },
#endif
},
{
- /* Armoury - 28 unique names */
+/* Armoury - 28 unique names */
#ifdef JP
{ "醜悪コン=ダー", 30000, 115, player_race_type::HALF_ORC },
{ "頑固者ダーグ=ロウ", 30000, 111, player_race_type::HUMAN },
},
{
- /* Weapon Smith - 28 unique names */
+/* Weapon Smith - 28 unique names */
#ifdef JP
{ "残忍なるアーノルド", 30000, 115, player_race_type::HALF_TROLL },
{ "獣殺しのアーンダル", 30000, 110, player_race_type::HALF_ELF },
#endif
},
{
- /* Temple - 22 unique names */
+/* Temple - 22 unique names */
#ifdef JP
{ "質素なルードヴィヒ", 30000, 109, player_race_type::HUMAN },
{ "パラディンのガンナー", 30000, 110, player_race_type::HUMAN },
#endif
},
{
- /* Alchemist - 26 unique names */
+/* Alchemist - 26 unique names */
#ifdef JP
{ "化学者マウザー", 30000, 111, player_race_type::HALF_ELF },
{ "カオスのウィズル", 30000, 110, player_race_type::HOBBIT },
},
{
- /* Magic Shop - 23 unique names */
+/* Magic Shop - 23 unique names */
#ifdef JP
{ "ソーサラーのロ=パン", 30000, 110, player_race_type::HALF_ELF },
{ "偉大なるブガービイ", 30000, 113, player_race_type::GNOME },
#endif
},
{
- /* Black Market - 32 unique names */
+/* Black Market - 32 unique names */
#ifdef JP
{ "ガリー=ギガズ", 60000, 150, player_race_type::HALF_TROLL },
{ "ゴブリンのヒストーア", 60000, 150, player_race_type::HALF_ORC },
},
{
- /* Bookstore - 21 unique names */
+/* Bookstore - 21 unique names */
#ifdef JP
{ "強欲ドラフ", 30000, 108, player_race_type::HUMAN },
{ "賢者オドナー", 30000, 105, player_race_type::HIGH_ELF },
#pragma once
+#include "player-info/race-types.h"
#include "system/angband.h"
-#include "player/player-race-types.h"
#include <array>
-#define MAX_STORES 10 /*!< 店舗の種類最大数 / Total number of stores (see "store.c", etc) */
-#define MAX_OWNERS 32 /*!< 各店舗毎の店主定義最大数 / Total number of owners per store (see "store.c", etc) */
+#define MAX_STORES 10 /*!< 店舗の種類最大数 / Total number of stores (see "store.c", etc) */
+#define MAX_OWNERS 32 /*!< 各店舗毎の店主定義最大数 / Total number of owners per store (see "store.c", etc) */
/*!
* @brief 店主データ構造体
*/
struct owner_type {
- concptr owner_name; //!< 名前 / Name
- PRICE max_cost; //!< 買取上限 / Purse limit
- byte inflate; //!< 価格上乗せ率 / Inflation
- player_race_type owner_race; //!< 店主種族 / Owner race
+ concptr owner_name; //!< 名前 / Name
+ PRICE max_cost; //!< 買取上限 / Purse limit
+ byte inflate; //!< 価格上乗せ率 / Inflation
+ player_race_type owner_race; //!< 店主種族 / Owner race
};
extern const owner_type owners[MAX_STORES][MAX_OWNERS];
/* 人畜無害なenumヘッダを先に読み込む */
#include "object/tval-types.h"
+#include "player-info/race-types.h"
#include "player/player-class-types.h"
-#include "player/player-race-types.h"
#include "realm/realm-types.h"
#include "system/angband.h"
#include "object-enchant/trc-types.h"
#include "object/tval-types.h"
#include "player-ability/player-ability-types.h"
+#include "player-info/race-types.h"
#include "player/player-class-types.h"
#include "player/player-personality-types.h"
-#include "player/player-race-types.h"
#include "player/player-sex.h"
#include "system/angband.h"
#include "system/system-variables.h"
enum class RF_ABILITY;
struct floor_type;
-struct object_type;;
+struct object_type;
+;
typedef struct player_type {
int player_uid{};
int player_euid{};
DICE_SID hitdie{}; /* Hit dice (sides) */
uint16_t expfact{}; /* Experience factor
- * Note: was byte, causing overflow for Amberite
- * characters (such as Amberite Paladins)
- */
+ * Note: was byte, causing overflow for Amberite
+ * characters (such as Amberite Paladins)
+ */
int16_t age{}; /* Characters age */
int16_t ht{}; /* Height */
#include "birth/auto-roller.h"
#include "birth/birth-stat.h"
#include "game-option/birth-options.h"
+#include "player-info/race-info.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race.h"
#include "player/player-status.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
#include "monster/monster-status.h"
#include "object-enchant/special-object-flags.h"
#include "perception/object-perception.h"
+#include "player-info/equipment-info.h"
+#include "player-info/race-types.h"
#include "player-status/player-hand-types.h"
#include "player/attack-defense-types.h"
-#include "player-info/equipment-info.h"
-#include "player/player-race-types.h"
#include "player/player-skill.h"
#include "player/player-status-flags.h"
#include "player/player-status-table.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/player-sex.h"
#include "mutation/mutation-flag-types.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
+#include "player-info/race-types.h"
#include "player/permanent-resistances.h"
#include "player/player-class.h"
#include "player/player-personality.h"
-#include "player/player-race-types.h"
#include "player/player-status-table.h"
#include "player/player-status.h"
#include "system/object-type-definition.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "player-info/alignment.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/patron.h"
#include "player/player-class.h"
#include "player/player-personality.h"
#include "player/player-sex.h"
+#include "player/player-status-flags.h"
#include "player/player-status-table.h"
#include "player/player-status.h"
-#include "player/player-status-flags.h"
#include "realm/realm-names-table.h"
#include "status-first-page.h"
#include "system/floor-type-definition.h"
#include "avatar/avatar.h"
#include "io/input-key-acceptor.h"
#include "player-info/alignment.h"
+#include "player-info/race-info.h"
#include "player-info/self-info-util.h"
-#include "player/player-race.h"
#include "player/player-status-table.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
#include "market/arena-info-table.h"
#include "monster-race/monster-race.h"
#include "monster/monster-status.h"
-#include "player/mimic-info-table.h"
+#include "player-info/mimic-info-table.h"
#include "player/player-class.h"
#include "player/player-status-table.h"
#include "system/floor-type-definition.h"
-#include "system/monster-type-definition.h"
#include "system/monster-race-definition.h"
+#include "system/monster-type-definition.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
#include "term/term-color-types.h"
#include "object-enchant/trg-types.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
+#include "player-info/race-info.h"
+#include "player-info/race-types.h"
#include "player-info/self-info.h"
#include "player-status/player-energy.h"
#include "player/digestion-processor.h"
#include "player/patron.h"
#include "player/player-class.h"
-#include "player/player-race.h"
-#include "player/player-race-types.h"
#include "player/player-skill.h"
#include "player/player-status-table.h"
#include "player/player-status.h"
char tmp_val[10] = "";
if (!get_string(tmp, tmp_val, 3))
return;
-
+
a_idx = (ARTIFACT_IDX)atoi(tmp_val);
}
static bool select_debugging_dungeon(player_type *creature_ptr, DUNGEON_IDX *dungeon_type)
{
if (command_arg > 0) {
- return true;
+ return true;
}
while (true) {
#include "world/world.h"
-#include "player/player-race-types.h"
+#include "player-info/race-types.h"
#include "system/player-type-definition.h"
#include "util/bit-flags-calculator.h"
*/
bool is_daytime(void)
{
- int32_t len = TURNS_PER_TICK * TOWN_DAWN;
- if ((current_world_ptr->game_turn % len) < (len / 2))
- return true;
- else
- return false;
+ int32_t len = TURNS_PER_TICK * TOWN_DAWN;
+ if ((current_world_ptr->game_turn % len) < (len / 2))
+ return true;
+ else
+ return false;
}
/*!
*/
void extract_day_hour_min(player_type *player_ptr, int *day, int *hour, int *min)
{
- const int32_t A_DAY = TURNS_PER_TICK * TOWN_DAWN;
- int32_t turn_in_today = (current_world_ptr->game_turn + A_DAY / 4) % A_DAY;
+ const int32_t A_DAY = TURNS_PER_TICK * TOWN_DAWN;
+ int32_t turn_in_today = (current_world_ptr->game_turn + A_DAY / 4) % A_DAY;
- switch (player_ptr->start_race)
- {
- case player_race_type::VAMPIRE:
- case player_race_type::SKELETON:
- case player_race_type::ZOMBIE:
- case player_race_type::SPECTRE:
- *day = (current_world_ptr->game_turn - A_DAY * 3 / 4) / A_DAY + 1;
- break;
- default:
- *day = (current_world_ptr->game_turn + A_DAY / 4) / A_DAY + 1;
- break;
- }
- *hour = (24 * turn_in_today / A_DAY) % 24;
- *min = (1440 * turn_in_today / A_DAY) % 60;
+ switch (player_ptr->start_race) {
+ case player_race_type::VAMPIRE:
+ case player_race_type::SKELETON:
+ case player_race_type::ZOMBIE:
+ case player_race_type::SPECTRE:
+ *day = (current_world_ptr->game_turn - A_DAY * 3 / 4) / A_DAY + 1;
+ break;
+ default:
+ *day = (current_world_ptr->game_turn + A_DAY / 4) / A_DAY + 1;
+ break;
+ }
+ *hour = (24 * turn_in_today / A_DAY) % 24;
+ *min = (1440 * turn_in_today / A_DAY) % 60;
}
/*!