Hengband  2.1.4
 全て データ構造 ファイル 関数 変数 型定義 マクロ定義 ページ
関数 | 変数
avatar.c

ウルティマ4を参考にした徳のシステムの実装 / Enable an Ultima IV style "avatar" game where you try to achieve perfection in various virtues. [詳細]

#include "angband.h"
avatar.cのインクルード依存関係図

関数

bool compare_virtue (int type, int num, int tekitou)
 該当の徳がプレイヤーに指定されているか否かに応じつつ、大小を比較する。 [詳細]
 
int virtue_number (int type)
 プレイヤーの指定の徳が何番目のスロットに登録されているかを返す。 / Aux function [詳細]
 
static void get_random_virtue (int which)
 プレイヤーの職業や種族に依存しないランダムな徳を取得する / Aux function [詳細]
 
static s16b get_realm_virtues (byte realm)
 プレイヤーの選んだ魔法領域に応じて対応する徳を返す。 [詳細]
 
void get_virtues (void)
 作成中のプレイヤーキャラクターに徳8種類を与える。 / Select virtues & reset values for a new character [詳細]
 
void chg_virtue (int virtue, int amount)
 対応する徳をプレイヤーがスロットに登録している場合に加減を行う。 [詳細]
 
void set_virtue (int virtue, int amount)
 対応する徳をプレイヤーがスロットに登録している場合に固定値をセットする。 [詳細]
 
void dump_virtues (FILE *OutFile)
 徳のダンプ表示を行う。 [詳細]
 

変数

cptr virtue [MAX_VIRTUE]
 徳の名称 / The names of the virtues [詳細]
 

説明

ウルティマ4を参考にした徳のシステムの実装 / Enable an Ultima IV style "avatar" game where you try to achieve perfection in various virtues.

日付
2013/12/23
作者
Topi Ylinen 1998
f1toy.nosp@m.l@ut.nosp@m.a.fi
topi..nosp@m.ylin.nosp@m.en@no.nosp@m.odi..nosp@m.fi

Copyright (c) 1989 James E. Wilson, Christopher J. Stuart This software may be copied and distributed for educational, research, and not for profit purposes provided that this copyright and statement are included in all such copies.

関数

void chg_virtue ( int  virtue,
int  amount 
)

対応する徳をプレイヤーがスロットに登録している場合に加減を行う。

範囲は-125~125、基本的に絶対値が大きいほど絶対値が上がり辛くなる。

引数
virtue徳のID
amount加減量
戻り値
なし
bool compare_virtue ( int  type,
int  num,
int  tekitou 
)

該当の徳がプレイヤーに指定されているか否かに応じつつ、大小を比較する。

徳がない場合は値0として比較する。

引数
type比較したい徳のID
num比較基準値
tekitouVIRTUE_LARGE = 基準値より大きいか / VIRTUE_SMALL = 基準値より小さいか
戻り値
比較の真偽値を返す
TODO:
引数名を直しておく

関数の呼び出しグラフ:

呼出しグラフ:

void dump_virtues ( FILE *  OutFile)

徳のダンプ表示を行う。

引数
OutFileファイルポインタ。
戻り値
なし

呼出しグラフ:

static void get_random_virtue ( int  which)
static

プレイヤーの職業や種族に依存しないランダムな徳を取得する / Aux function

引数
which確認したい徳のID
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static s16b get_realm_virtues ( byte  realm)
static

プレイヤーの選んだ魔法領域に応じて対応する徳を返す。

引数
realm魔法領域のID
戻り値
対応する徳のID

関数の呼び出しグラフ:

呼出しグラフ:

void get_virtues ( void  )

作成中のプレイヤーキャラクターに徳8種類を与える。 / Select virtues & reset values for a new character

職業に応じて1~4種が固定、種族に応じて1種類が与えられ、後は重複なくランダムに選択される。

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void set_virtue ( int  virtue,
int  amount 
)

対応する徳をプレイヤーがスロットに登録している場合に固定値をセットする。

引数
virtue徳のID
amountセットしたい値。
戻り値
なし

呼出しグラフ:

int virtue_number ( int  type)

プレイヤーの指定の徳が何番目のスロットに登録されているかを返す。 / Aux function

引数
type確認したい徳のID
戻り値
スロットがあるならばスロットのID(0~7)+1、ない場合は0を返す。

呼出しグラフ:

変数

cptr virtue[MAX_VIRTUE]
初期値:
=
{
_("情", "Compassion"),
_("誉", "Honour"),
_("正", "Justice"),
_("犠", "Sacrifice"),
_("識", "Knowledge"),
_("誠", "Faith"),
_("啓", "Enlightenment"),
_("秘", "Mysticism"),
_("運", "Chance"),
_("然", "Nature"),
_("調", "Harmony"),
_("活", "Vitality"),
_("死", "Unlife"),
_("忍", "Patience"),
_("節", "Temperance"),
_("勤", "Diligence"),
_("勇", "Valour"),
_("個", "Individualism"),
}

徳の名称 / The names of the virtues