変愚ソースを読む5

今回はracial.cを解説する。特徴的なレイシャル(クラス)・パワーがあればそれだけでキャラが立つだろう。その意味でここは改造のしがいがある。

関数名 説明
bool do_cmd_archer(void) アーチャーの矢弾の生成
bool gain_magic(void) 魔道具術師の魔力の取り込み
bool can_do_cmd_cast(void) 魔法的能力を使えるかどうか
bool choose_kamae(void) 修行僧の構え
bool choose_kata(void) 剣術家の型

これらは個別のレイシャル・パワーを使う際に使う関数だ。キャンセルした場合などエネルギーを消費しない場合にFALSEを返す。

関数名 説明
int racial_chance(power_desc_type *pd_ptr) レイシャル

・パワーの成功率を返す|

bool cmd_racial_power_aux(s32b command) レイシャル・パワーを実行する
void do_cmd_racial_power(void) レイシャル・パワーの説明その他のテーブル

(特殊な条件を付けない限り)racial_chance()は難易度を設定すれば自動的に決まるので、実際に記述するのはcmd_racial_power_aux()の実行部分とdo_cmd_racial_power()のテーブル部分のみとなる。実行部分が複雑になる場合は上のように関数として分離すると良い。