Hengband  2.2.1
関数 | 変数
avatar.c ファイル

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

#include "angband.h"
#include "avatar.h"
#include "realm.h"
#include "player-race.h"
#include "player-class.h"
avatar.c の依存先関係図:

関数

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

変数

concptr 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.

関数詳解

◆ chg_virtue()

void chg_virtue ( player_type creature_ptr,
int  virtue_id,
int  amount 
)

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

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

引数
virtue徳のID
amount加減量
戻り値
なし

◆ compare_virtue()

bool compare_virtue ( player_type creature_ptr,
int  type,
int  num,
int  tekitou 
)

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

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

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

◆ dump_virtues()

void dump_virtues ( player_type creature_ptr,
FILE *  OutFile 
)

徳のダンプ表示を行う。

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

◆ get_random_virtue()

static void get_random_virtue ( player_type creature_ptr,
int  which 
)
static

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

引数
which確認したい徳のID
戻り値
なし
呼び出し関係図:
被呼び出し関係図:

◆ get_realm_virtues()

static VIRTUES_IDX get_realm_virtues ( player_type creature_ptr,
REALM_IDX  realm 
)
static

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

引数
realm魔法領域のID
戻り値
対応する徳のID
呼び出し関係図:
被呼び出し関係図:

◆ get_virtues()

void get_virtues ( player_type creature_ptr)

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

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

戻り値
なし
呼び出し関係図:

◆ set_virtue()

void set_virtue ( player_type creature_ptr,
int  virtue_id,
int  amount 
)

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

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

◆ virtue_number()

int virtue_number ( player_type creature_ptr,
int  type 
)

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

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

変数詳解

◆ virtue

初期値:
=
{
_("情", "Compassion"),
_("誉", "Honour"),
_("正", "Justice"),
_("犠", "Sacrifice"),
_("識", "Knowledge"),
_("誠", "Faith"),
_("啓", "Enlightenment"),
_("秘", "Mysticism"),
_("運", "Chance"),
_("然", "Nature"),
_("調", "Harmony"),
_("活", "Vitality"),
_("死", "Unlife"),
_("忍", "Patience"),
_("節", "Temperance"),
_("勤", "Diligence"),
_("勇", "Valour"),
_("個", "Individualism"),
}
#define _(JAPANESE, ENGLISH)
Definition: util.h:85

徳の名称 / The names of the virtues