D'angband  0.0.0
Deeangband
 全て クラス ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
クラス Creature

クリーチャーのクラス [詳細]

#include <Creature.h>

Creatureに対する継承グラフ
Creatureのコラボレーション図

Public メソッド

 Creature (Species *speciesPtr, ID id, TAG tag, GameWorld *gameWorld)
 Creatureクラスコンストラクタ(GameElementメンバ対応) [詳細]
 
 Creature (ID id, TAG tag, GameWorld *gameWorld)
 Creatureクラスコンストラクタ(GameElementメンバ対応) [詳細]
 
 Creature (void)
 Creatureクラスコンストラクタ [詳細]
 
 ‾Creature (void)
 Creatureクラスデストラクタ [詳細]
 
void SetSpeciesData (Species *speciesPtr)
 クリーチャー種別に基づきクリーチャーを生成する [詳細]
 
void SetDammyData (void)
 ダミーデータによる初期化 [詳細]
 
NAME GetName (void)
 クリーチャーの名前を返す [詳細]
 
bool IsAlive (void)
 クリーチャーが生存している状態かを返す [詳細]
 
bool TakeEffect (Effect *effectPtr, POWER amount)
 受けた属性効果を処理する [詳細]
 
LEVEL GetLevel (void)
 クリーチャーの現レベルを返す [詳細]
 
HP GetCurHP (void)
 クリーチャーの現HPを返す [詳細]
 
HP GetMaxHP (void)
 クリーチャーの現最大HPを返す [詳細]
 
HP GetNorMaxHP (void)
 クリーチャーの通常最大HPを返す [詳細]
 
MP GetCurMP (void)
 クリーチャーの現MPを返す [詳細]
 
MP GetMaxMP (void)
 クリーチャーの現最大MPを返す [詳細]
 
MP GetNorMaxMP (void)
 クリーチャーの通常最大MPを返す [詳細]
 
AC GetArmorSaving (void)
 クリーチャーの現装甲セービング値を返す [詳細]
 
EV GetEvasionSaving (void)
 クリーチャーの現回避セービング値を返す [詳細]
 
VO GetVolitionSaving (void)
 クリーチャーの現意思セービング値を返す [詳細]
 
CoordinatesgetCorrdinates (void)
 クリーチャーの現在位置を返す [詳細]
 
std::vector< Item > * getItemList (void)
 クリーチャーの所持品リストを返す [詳細]
 
SOUL GetCurrentSoul (void)
 クリーチャーの現ソウル値を返す [詳細]
 
SOUL GetMaxSoul (void)
 クリーチャーのソウル最大到達値を返す [詳細]
 
BASE_STATUS GetCurrentStatus (CREATURE_STATUS stat)
 クリーチャーの現基礎能力値を返す [詳細]
 
BASE_STATUS GetMaxStatus (CREATURE_STATUS stat)
 クリーチャーの平常基礎能力値を返す [詳細]
 
BASE_STATUS GetMaxMAXStatus (CREATURE_STATUS stat)
 クリーチャーの限界基礎能力値を返す [詳細]
 
int GetDiscipilnePoint (DISCIPLINE_TYPE typ)
 クリーチャーの現在修養値を返す [詳細]
 
int GetDiscipilneRank (DISCIPLINE_TYPE typ)
 クリーチャーの現在修養ランクを返す [詳細]
 
HEIGHT GetHeight (void)
 クリーチャーの身長を返す [詳細]
 
WEIGHT GetWeight (void)
 クリーチャーの体重を返す [詳細]
 
BODY_SIZE GetSize (void)
 クリーチャーの体格値を返す [詳細]
 
void GainSoul (SOUL plus)
 ソウル値の新規加算処理 [詳細]
 
void LostSoul (SOUL amount)
 ソウル値の喪失処理 [詳細]
 
LEVEL GetDivineLevel (void)
 クリーチャーの神性レベルを返す [詳細]
 
FEED GetCurrentFeedPoint (void)
 現在滋養値を返す [詳細]
 
FEED GetMaxFeedPoint (void)
 最大滋養値を返す [詳細]
 
void TurnProcess (void)
 クリーチャーのターン時更新定期処理を行う [詳細]
 
void TimeProcess (void)
 クリーチャーのゲーム時間更新定期処理を行う [詳細]
 
TURN GetTurn (void)
 クリーチャーの経過総ターン数を返す [詳細]
 
SKILL_EXP GetSkillExp (TAG tag)
 クリーチャー種別のスキル基本経験値を返す [詳細]
 
ID GetCampID (void)
 クリーチャーの所属陣営IDを返す [詳細]
 
void XMLSave (std::string filename)
 XMLシリアライズによるゲームデータ保存処理 [詳細]
 
- Public メソッド inherited from GameElement
 GameElement (ID id, TAG tag, GameWorld *gameWorld)
 GameElementクラスコンストラクタ [詳細]
 
 GameElement (void)
 GameElementクラスコンストラクタ [詳細]
 
virtual ‾GameElement (void)
 GameElementクラスデストラクタ [詳細]
 
void SetID (ID newID)
 IDを設定する [詳細]
 
ID GetID ()
 IDを取得する [詳細]
 
void SetTag (TAG newTag)
 タグを設定する [詳細]
 
TAG GetTAG ()
 タグを取得する [詳細]
 
GameWorldGetGameWorld ()
 所属元のGameWorldインスタンスを返す [詳細]
 

Private メソッド

void die (void)
 クリーチャー死亡時の処理を行う [詳細]
 
void calcHP (HP amount)
 クリーチャーの現HPを増減させる [詳細]
 
void calcMP (MP amount)
 クリーチャーの現MPを増減させる [詳細]
 
void setHP (HP amount)
 クリーチャーの現HPを設定する [詳細]
 
void setMP (MP amount)
 クリーチャーの現MPを設定する [詳細]
 
int move (ID floorID, int x, int y)
 クリーチャーを所定フロアの所定座標に移動する [詳細]
 
int move (ID floorID, Coordinates coord)
 クリーチャーを所定フロアの所定座標に移動する [詳細]
 
void calcHPTable (void)
 クリーチャーのレベル毎基本HPを再計算する [詳細]
 
template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 クラスのシリアライズ化を設定する [詳細]
 

Private 変数

NAME name
 クリーチャーの名前 [詳細]
 
HP currentHp
 現在のHP [詳細]
 
HP maxHp
 現在の最大HP [詳細]
 
MP currentMp
 現在のMP [詳細]
 
MP maxMp
 現在の最大MP [詳細]
 
MP maxMaxMp
 本来の最大MP [詳細]
 
SOUL currentSoul
 現在のソウル値 [詳細]
 
SOUL maxSoul
 ソウル最大到達値 [詳細]
 
HEIGHT height
 身長 [詳細]
 
HEIGHT weight
 体重 [詳細]
 
FEED currentFeed
 現在滋養値 [詳細]
 
FEED maxFeed
 最大滋養値 [詳細]
 
Discipline currentDiscipilne
 現在の修養値 [詳細]
 
LEVEL divineLevel
 神性レベル [詳細]
 
BaseStatusTable currentStatus
 現在のステータス [詳細]
 
BaseStatusTable maxStatus
 通常のステータス [詳細]
 
BaseStatusTable maxMaxStatus
 限界のステータス [詳細]
 
SavingTable savings
 セービング [詳細]
 
ID floorID
 現在いるフロアID [詳細]
 
Coordinates position
 現座標 [詳細]
 
std::vector< ItemitemList
 所持アイテムリスト [詳細]
 
std::map< TAG, SKILL_EXPskillExpList
 スキル経験値リスト [詳細]
 
char symbol
 シンボルキャラ [詳細]
 
Color symbolColor
 シンボルカラー [詳細]
 
ID tileID
 タイルID [詳細]
 
ID campID
 所属陣営ID [詳細]
 
TURN turn
 生存総ターン数 [詳細]
 
HP hpTable [CREATURE_MAX_LEVEL]
 ヒットダイスに基づき生成されたレベル毎の基本HP [詳細]
 

Static Private 変数

static SOUL soulLevel [CREATURE_MAX_LEVEL]
 必要ソウルレベルテーブル [詳細]
 

フレンド

class boost::serialization::access
 

説明

クリーチャーのクラス

Creature.h28 行で定義されています。

コンストラクタとデストラクタ

Creature::Creature ( Species speciesPtr,
ID  id,
TAG  tag,
GameWorld gameWorld 
)

Creatureクラスコンストラクタ(GameElementメンバ対応)

引数
speciesPtr生成元となるクリーチャー種別
idGameElementのID
tagGameElementのタグ
gameWorld所属元gameWorld参照ポインタ

Creature.cpp77 行で定義されています。

77  : GameElement(id, tag, gameWorld)
78 {
79  SetDammyData();
80  SetSpeciesData(speciesPtr);
81  return;
82 }
void SetDammyData(void)
ダミーデータによる初期化
Definition: Creature.cpp:112
GameElement(void)
GameElementクラスコンストラクタ
Definition: GameElement.cpp:20
TAG tag
タグ
Definition: GameElement.h:34
void SetSpeciesData(Species *speciesPtr)
クリーチャー種別に基づきクリーチャーを生成する
Definition: Creature.cpp:99

関数の呼び出しグラフ:

Creature::Creature ( ID  id,
TAG  tag,
GameWorld gameWorld 
)

Creatureクラスコンストラクタ(GameElementメンバ対応)

引数
idGameElementのID
tagGameElementのタグ
gameWorld所属元gameWorld参照ポインタ

Creature.cpp84 行で定義されています。

84  : GameElement(id, tag, gameWorld)
85 {
86  SetDammyData();
87  return;
88 }
void SetDammyData(void)
ダミーデータによる初期化
Definition: Creature.cpp:112
GameElement(void)
GameElementクラスコンストラクタ
Definition: GameElement.cpp:20
TAG tag
タグ
Definition: GameElement.h:34

関数の呼び出しグラフ:

Creature::Creature ( void  )

Creatureクラスコンストラクタ

Creature.cpp90 行で定義されています。

91 {
92  SetDammyData();
93 }
void SetDammyData(void)
ダミーデータによる初期化
Definition: Creature.cpp:112

関数の呼び出しグラフ:

関数

void Creature::calcHP ( HP  amount)
private

クリーチャーの現HPを増減させる

引数
amount増減HP量
戻り値
なし

Creature.cpp190 行で定義されています。

191 {
192  this->currentHp += amount;
193  if(this->currentHp > this->maxHp) this->currentHp = this->maxHp;
194  if(this->currentHp < 1) this->die();
195 }
void die(void)
クリーチャー死亡時の処理を行う
Definition: Creature.cpp:154
HP currentHp
現在のHP
Definition: Creature.h:35
HP maxHp
現在の最大HP
Definition: Creature.h:36

関数の呼び出しグラフ:

呼出しグラフ:

void Creature::calcHPTable ( void  )
private

クリーチャーのレベル毎基本HPを再計算する

戻り値
なし

Creature.cpp171 行で定義されています。

172 {
173  int lev;
174  HP hitDice = this->GetSize();
175  HP minLine = hitDice * (CREATURE_MAX_LEVEL + 4) * 70 / 100;
176  HP maxLine = hitDice * (CREATURE_MAX_LEVEL + 4) * 130 / 100;
177 
178  do
179  {
180  this->hpTable[0] = hitDice + Dice::Cast(3, hitDice);
181  for(lev = 0; lev < CREATURE_MAX_LEVEL - 1; lev++)
182  {
183  this->hpTable[lev + 1] = this->hpTable[lev] + Dice::Rand1(hitDice);
184  }
185  }
186  while(this->hpTable[CREATURE_MAX_LEVEL - 1] < minLine && this->hpTable[CREATURE_MAX_LEVEL - 1] > maxLine);
187 }
#define CREATURE_MAX_LEVEL
神格込み最大レベル
Definition: Deeangband.h:13
HP hpTable[CREATURE_MAX_LEVEL]
ヒットダイスに基づき生成されたレベル毎の基本HP
Definition: Creature.h:71
int HP
HPの変数型
Definition: Deeangband.h:97
int Cast(void)
ダイスを振る
Definition: Dice.cpp:53
BODY_SIZE GetSize(void)
クリーチャーの体格値を返す
Definition: Creature.cpp:325
static int Rand1(int max)
1を最小値とした乱数を返す
Definition: Dice.cpp:83

関数の呼び出しグラフ:

呼出しグラフ:

void Creature::calcMP ( MP  amount)
private

クリーチャーの現MPを増減させる

引数
amount増減MP量
戻り値
なし

Creature.cpp197 行で定義されています。

198 {
199  this->currentMp += amount;
200  if(this->currentMp > this->maxMp) this->currentMp = this->maxMp;
201  if(this->currentMp < 0) this->currentMp = 0;
202 }
MP maxMp
現在の最大MP
Definition: Creature.h:38
MP currentMp
現在のMP
Definition: Creature.h:37
void Creature::die ( void  )
private

クリーチャー死亡時の処理を行う

戻り値
なし

Creature.cpp154 行で定義されています。

155 {
156 }

呼出しグラフ:

void Creature::GainSoul ( SOUL  plus)

ソウル値の新規加算処理

引数
plus新規加算ソウル量
戻り値
なし

Creature.cpp330 行で定義されています。

331 {
332  SOUL diff;
333  if(this->currentSoul < this->maxSoul)
334  {
335  diff = this->maxSoul - this->currentSoul;
336  if(diff < amount)
337  {
338  this->maxSoul += diff / 20;
339  this->currentSoul = this->maxSoul;
340  amount -= diff;
341  }
342  else
343  {
344  this->maxSoul += amount / 20;
345  this->currentSoul += amount;
346  amount = 0;
347  }
348  }
349  this->currentSoul += amount;
350  this->maxSoul += amount;
351 }
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
int64_t SOUL
ソウルの変数型
Definition: Deeangband.h:100
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41
AC Creature::GetArmorSaving ( void  )

クリーチャーの現装甲セービング値を返す

戻り値
クリーチャーの現装甲セービング値

Creature.cpp265 行で定義されています。

266 {
267  return this->savings.GetArmor();
268 }
SavingTable savings
セービング
Definition: Creature.h:56
const AC GetArmor(void)
Definition: SavingTable.cpp:35

関数の呼び出しグラフ:

呼出しグラフ:

ID Creature::GetCampID ( void  )

クリーチャーの所属陣営IDを返す

戻り値
所属陣営ID

Creature.cpp395 行で定義されています。

396 {
397  return this->campID;
398 }
ID campID
所属陣営ID
Definition: Creature.h:67
Coordinates* Creature::getCorrdinates ( void  )

クリーチャーの現在位置を返す

戻り値
クリーチャー現在位置を示すCoordinates
HP Creature::GetCurHP ( void  )

クリーチャーの現HPを返す

戻り値
クリーチャーの現HP

Creature.cpp235 行で定義されています。

236 {
237  return this->currentHp;
238 }
HP currentHp
現在のHP
Definition: Creature.h:35

呼出しグラフ:

MP Creature::GetCurMP ( void  )

クリーチャーの現MPを返す

戻り値
クリーチャーの現MP

Creature.cpp250 行で定義されています。

251 {
252  return this->currentMp;
253 }
MP currentMp
現在のMP
Definition: Creature.h:37

呼出しグラフ:

FEED Creature::GetCurrentFeedPoint ( void  )

現在滋養値を返す

戻り値
現在滋養値

Creature.cpp365 行で定義されています。

366 {
367  return this->currentFeed;
368 }
FEED currentFeed
現在滋養値
Definition: Creature.h:46
SOUL Creature::GetCurrentSoul ( void  )

クリーチャーの現ソウル値を返す

戻り値
クリーチャーの現ソウル値

Creature.cpp280 行で定義されています。

281 {
282  return this->currentSoul;
283 }
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40

呼出しグラフ:

BASE_STATUS Creature::GetCurrentStatus ( CREATURE_STATUS  stat)

クリーチャーの現基礎能力値を返す

引数
stat取得したい基礎能力値ID
戻り値
基礎能力値の現在値

Creature.cpp290 行で定義されています。

291 {
292  return currentStatus.Get(stat);
293 }
BaseStatusTable currentStatus
現在のステータス
Definition: Creature.h:52
const BASE_STATUS Get(CREATURE_STATUS typ)
能力値の値を得る。

関数の呼び出しグラフ:

呼出しグラフ:

DISCIPLINE_POINT Creature::GetDiscipilnePoint ( DISCIPLINE_TYPE  typ)

クリーチャーの現在修養値を返す

引数
typ取得したい現在修養値のID
戻り値
現在修養値

Creature.cpp305 行で定義されています。

306 {
307  return this->currentDiscipilne.GetPoint(typ);
308 }
Discipline currentDiscipilne
現在の修養値
Definition: Creature.h:49
const DISCIPLINE_POINT GetPoint(DISCIPLINE_TYPE typ)
修養値を取得する
Definition: Discipline.cpp:53

関数の呼び出しグラフ:

DISCIPLINE_POINT Creature::GetDiscipilneRank ( DISCIPLINE_TYPE  typ)

クリーチャーの現在修養ランクを返す

引数
typ取得したい現在修養ランクのID
戻り値
現在修養ランク

Creature.cpp310 行で定義されています。

311 {
312  return this->currentDiscipilne.GetRank(typ);
313 }
Discipline currentDiscipilne
現在の修養値
Definition: Creature.h:49
const DISCIPLINE_POINT GetRank(DISCIPLINE_TYPE typ)
修養ランクを取得する
Definition: Discipline.cpp:58

関数の呼び出しグラフ:

呼出しグラフ:

LEVEL Creature::GetDivineLevel ( void  )

クリーチャーの神性レベルを返す

戻り値
神性レベル

Creature.cpp360 行で定義されています。

361 {
362  return this->divineLevel;
363 }
LEVEL divineLevel
神性レベル
Definition: Creature.h:50
EV Creature::GetEvasionSaving ( void  )

クリーチャーの現回避セービング値を返す

戻り値
クリーチャーの現回避セービング値

Creature.cpp270 行で定義されています。

271 {
272  return this->savings.GetEvasion();
273 }
SavingTable savings
セービング
Definition: Creature.h:56
const EV GetEvasion(void)
Definition: SavingTable.cpp:40

関数の呼び出しグラフ:

呼出しグラフ:

HEIGHT Creature::GetHeight ( void  )

クリーチャーの身長を返す

戻り値
身長

Creature.cpp315 行で定義されています。

316 {
317  return this->height;
318 }
HEIGHT height
身長
Definition: Creature.h:43

呼出しグラフ:

std::vector<Item>* Creature::getItemList ( void  )

クリーチャーの所持品リストを返す

戻り値
クリーチャー所持品リストマップ
LEVEL Creature::GetLevel ( void  )

クリーチャーの現レベルを返す

戻り値
クリーチャーの現レベル

Creature.cpp223 行で定義されています。

224 {
225  LEVEL level;
226  if(this->currentSoul <= 0) return 0;
227  if(this->currentSoul < Creature::soulLevel[1]) return 1;
228  for(level = 2; level < CREATURE_MAX_LEVEL; level++)
229  {
230  if(Creature::soulLevel[level - 1] > this->currentSoul) return level;
231  }
232  return level;
233 }
int LEVEL
LEVELの変数型
Definition: Deeangband.h:96
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
#define CREATURE_MAX_LEVEL
神格込み最大レベル
Definition: Deeangband.h:13
static SOUL soulLevel[CREATURE_MAX_LEVEL]
必要ソウルレベルテーブル
Definition: Creature.h:32

呼出しグラフ:

FEED Creature::GetMaxFeedPoint ( void  )

最大滋養値を返す

戻り値
最大滋養値

Creature.cpp370 行で定義されています。

371 {
372  return this->maxFeed;
373 }
FEED maxFeed
最大滋養値
Definition: Creature.h:47
HP Creature::GetMaxHP ( void  )

クリーチャーの現最大HPを返す

戻り値
クリーチャーの現最大HP

Creature.cpp240 行で定義されています。

241 {
242  return this->maxHp;
243 }
HP maxHp
現在の最大HP
Definition: Creature.h:36

呼出しグラフ:

BASE_STATUS Creature::GetMaxMAXStatus ( CREATURE_STATUS  stat)

クリーチャーの限界基礎能力値を返す

引数
stat取得したい限界能力値ID
戻り値
基礎能力値の限界値

Creature.cpp300 行で定義されています。

301 {
302  return maxMaxStatus.Get(stat);
303 }
const BASE_STATUS Get(CREATURE_STATUS typ)
能力値の値を得る。
BaseStatusTable maxMaxStatus
限界のステータス
Definition: Creature.h:54

関数の呼び出しグラフ:

MP Creature::GetMaxMP ( void  )

クリーチャーの現最大MPを返す

戻り値
クリーチャーの現最大MP

Creature.cpp255 行で定義されています。

256 {
257  return this->maxMp;
258 }
MP maxMp
現在の最大MP
Definition: Creature.h:38

呼出しグラフ:

SOUL Creature::GetMaxSoul ( void  )

クリーチャーのソウル最大到達値を返す

戻り値
クリーチャーのソウル最大到達値

Creature.cpp285 行で定義されています。

286 {
287  return this->maxSoul;
288 }
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41
BASE_STATUS Creature::GetMaxStatus ( CREATURE_STATUS  stat)

クリーチャーの平常基礎能力値を返す

引数
stat取得したい平常能力値ID
戻り値
基礎能力値の平常値

Creature.cpp295 行で定義されています。

296 {
297  return maxStatus.Get(stat);
298 }
BaseStatusTable maxStatus
通常のステータス
Definition: Creature.h:53
const BASE_STATUS Get(CREATURE_STATUS typ)
能力値の値を得る。

関数の呼び出しグラフ:

NAME Creature::GetName ( void  )

クリーチャーの名前を返す

戻り値
クリーチャー名

Creature.cpp218 行で定義されています。

219 {
220  return this->name;
221 }
NAME name
クリーチャーの名前
Definition: Creature.h:34

呼出しグラフ:

HP Creature::GetNorMaxHP ( void  )

クリーチャーの通常最大HPを返す

戻り値
クリーチャーの通常最大HP

Creature.cpp245 行で定義されています。

246 {
247  return this->hpTable[this->GetLevel()];
248 }
HP hpTable[CREATURE_MAX_LEVEL]
ヒットダイスに基づき生成されたレベル毎の基本HP
Definition: Creature.h:71
LEVEL GetLevel(void)
クリーチャーの現レベルを返す
Definition: Creature.cpp:223

関数の呼び出しグラフ:

呼出しグラフ:

MP Creature::GetNorMaxMP ( void  )

クリーチャーの通常最大MPを返す

戻り値
クリーチャーの通常最大MP

Creature.cpp260 行で定義されています。

261 {
262  return this->maxMaxMp;
263 }
MP maxMaxMp
本来の最大MP
Definition: Creature.h:39
BODY_SIZE Creature::GetSize ( void  )

クリーチャーの体格値を返す

戻り値
体格値

Creature.cpp325 行で定義されています。

326 {
327  return (BODY_SIZE)(sqrt((double)this->height * (double)this->weight) / 10.0f);
328 }
HEIGHT weight
体重
Definition: Creature.h:44
HEIGHT height
身長
Definition: Creature.h:43
int BODY_SIZE
体格
Definition: Deeangband.h:115

呼出しグラフ:

SKILL_EXP Creature::GetSkillExp ( TAG  tag)

クリーチャー種別のスキル基本経験値を返す

引数
tag取得したいスキルのタグ
戻り値
該当スキルの基本経験値、全くの未経験ならば0を返す

Creature.cpp389 行で定義されています。

390 {
391  if(this->skillExpList.count(tag)) return this->skillExpList[tag];
392  else return 0;
393 }
std::map< TAG, SKILL_EXP > skillExpList
スキル経験値リスト
Definition: Creature.h:61
TAG tag
タグ
Definition: GameElement.h:34

呼出しグラフ:

TURN Creature::GetTurn ( void  )

クリーチャーの経過総ターン数を返す

戻り値
総ターン数

Creature.cpp384 行で定義されています。

385 {
386  return this->turn;
387 }
TURN turn
生存総ターン数
Definition: Creature.h:69
VO Creature::GetVolitionSaving ( void  )

クリーチャーの現意思セービング値を返す

戻り値
クリーチャーの現意思セービング値

Creature.cpp275 行で定義されています。

276 {
277  return this->savings.GetVolition();
278 }
SavingTable savings
セービング
Definition: Creature.h:56
const VO GetVolition(void)
Definition: SavingTable.cpp:45

関数の呼び出しグラフ:

呼出しグラフ:

WEIGHT Creature::GetWeight ( void  )

クリーチャーの体重を返す

戻り値
体重

Creature.cpp320 行で定義されています。

321 {
322  return this->weight;
323 }
HEIGHT weight
体重
Definition: Creature.h:44

呼出しグラフ:

bool Creature::IsAlive ( void  )

クリーチャーが生存している状態かを返す

戻り値
生存しているならばtrueを返す

Creature.cpp143 行で定義されています。

144 {
145  return this->currentHp > 0 && this->currentSoul > 0;
146 }
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
HP currentHp
現在のHP
Definition: Creature.h:35
void Creature::LostSoul ( SOUL  amount)

ソウル値の喪失処理

引数
amount喪失ソウル量
戻り値
なし

Creature.cpp353 行で定義されています。

354 {
355  this->currentSoul -= amount;
356  this->maxSoul -= amount / 20;
357  if(this->currentSoul < 1) this->die();
358 }
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
void die(void)
クリーチャー死亡時の処理を行う
Definition: Creature.cpp:154
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41

関数の呼び出しグラフ:

int Creature::move ( ID  floorID,
int  x,
int  y 
)
private

クリーチャーを所定フロアの所定座標に移動する

引数
floorID移動先フロアID
x移動先x座標
y移動先y座標
戻り値
移動できなかった場合のエラーID

Creature.cpp158 行で定義されています。

159 {
160  this->floorID = floorID;
161  this->position.Set(x, y);
162  return 0;
163 }
ID floorID
現在いるフロアID
Definition: Creature.h:58
void Set(int x, int y)
Definition: Coordinates.cpp:38
Coordinates position
現座標
Definition: Creature.h:59

関数の呼び出しグラフ:

呼出しグラフ:

int Creature::move ( ID  floorID,
Coordinates  coord 
)
private

クリーチャーを所定フロアの所定座標に移動する

引数
floorID移動先フロアID
coord移動先座標
戻り値
移動できなかった場合のエラーID

Creature.cpp165 行で定義されています。

166 {
167  this->move(floorID, coord.GetX(), coord.GetY());
168  return 0;
169 }
int GetY(void)
Definition: Coordinates.cpp:33
ID floorID
現在いるフロアID
Definition: Creature.h:58
int move(ID floorID, int x, int y)
クリーチャーを所定フロアの所定座標に移動する
Definition: Creature.cpp:158
int GetX(void)
Definition: Coordinates.cpp:28

関数の呼び出しグラフ:

template<class Archive >
void Creature::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

クラスのシリアライズ化を設定する

引数
archiveアーカイブ化するクラスのアドレス
versionデータバージョン
戻り値
XMLSerializeテンプレート

Creature.h138 行で定義されています。

139  {
140  if(version >= 0)
141  {
142  archive & BOOST_SERIALIZATION_NVP(name);
143  archive & BOOST_SERIALIZATION_NVP(currentHp);
144  archive & BOOST_SERIALIZATION_NVP(maxHp);
145  archive & BOOST_SERIALIZATION_NVP(hpTable);
146  archive & BOOST_SERIALIZATION_NVP(currentMp);
147  archive & BOOST_SERIALIZATION_NVP(maxMp);
148  archive & BOOST_SERIALIZATION_NVP(maxMaxMp);
149  archive & BOOST_SERIALIZATION_NVP(currentSoul);
150  archive & BOOST_SERIALIZATION_NVP(maxSoul);
151  archive & BOOST_SERIALIZATION_NVP(currentStatus);
152  archive & BOOST_SERIALIZATION_NVP(maxStatus);
153  archive & BOOST_SERIALIZATION_NVP(maxMaxStatus);
154  archive & BOOST_SERIALIZATION_NVP(height);
155  archive & BOOST_SERIALIZATION_NVP(weight);
156  archive & BOOST_SERIALIZATION_NVP(currentFeed);
157  archive & BOOST_SERIALIZATION_NVP(maxFeed);
158  archive & BOOST_SERIALIZATION_NVP(savings);
159  archive & BOOST_SERIALIZATION_NVP(floorID);
160  archive & BOOST_SERIALIZATION_NVP(position);
161  archive & BOOST_SERIALIZATION_NVP(itemList);
162  }
163  }
HEIGHT weight
体重
Definition: Creature.h:44
SavingTable savings
セービング
Definition: Creature.h:56
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
ID floorID
現在いるフロアID
Definition: Creature.h:58
MP maxMp
現在の最大MP
Definition: Creature.h:38
FEED currentFeed
現在滋養値
Definition: Creature.h:46
BaseStatusTable currentStatus
現在のステータス
Definition: Creature.h:52
BaseStatusTable maxStatus
通常のステータス
Definition: Creature.h:53
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41
MP maxMaxMp
本来の最大MP
Definition: Creature.h:39
HP hpTable[CREATURE_MAX_LEVEL]
ヒットダイスに基づき生成されたレベル毎の基本HP
Definition: Creature.h:71
MP currentMp
現在のMP
Definition: Creature.h:37
HEIGHT height
身長
Definition: Creature.h:43
BaseStatusTable maxMaxStatus
限界のステータス
Definition: Creature.h:54
std::vector< Item > itemList
所持アイテムリスト
Definition: Creature.h:60
FEED maxFeed
最大滋養値
Definition: Creature.h:47
NAME name
クリーチャーの名前
Definition: Creature.h:34
HP currentHp
現在のHP
Definition: Creature.h:35
HP maxHp
現在の最大HP
Definition: Creature.h:36
Coordinates position
現座標
Definition: Creature.h:59
void Creature::SetDammyData ( void  )
virtual

ダミーデータによる初期化

戻り値
なし

GameElementを再定義しています。

Creature.cpp112 行で定義されています。

113 {
114  this->name = "ダミー";
115  this->currentMp = this->maxMp = this->maxMaxMp = 10;
116  this->currentSoul = this->maxSoul = Creature::soulLevel[0];
117  this->currentDiscipilne.SetPoint(0, 0, 0, 0, 0);
118  this->height = 160;
119  this->weight = 50;
120  this->divineLevel = -1;
121  savings.Set(10, 10, 10);
122  this->currentFeed = this->maxFeed = 20000;
123 
124  currentStatus.Set(8, 8, 8, 8, 8, 8);
125  maxStatus.Set(8, 8, 8, 8, 8, 8);
126  maxMaxStatus.Set(20, 20, 20, 20, 20, 20);
127 
128  this->calcHPTable();
129  this->currentHp = this->maxHp = this->GetNorMaxHP();
130 
131  this->skillExpList.clear();
132 
133  this->turn = 0;
134  this->campID = CAMP_FLOOR_NATIVE;
135 
136  this->floorID = -1;
137  this->position.Set(0, 0);
138 
139  this->itemList.clear();
140  this->skillExpList.clear();
141 }
TURN turn
生存総ターン数
Definition: Creature.h:69
Discipline currentDiscipilne
現在の修養値
Definition: Creature.h:49
HEIGHT weight
体重
Definition: Creature.h:44
SavingTable savings
セービング
Definition: Creature.h:56
void calcHPTable(void)
クリーチャーのレベル毎基本HPを再計算する
Definition: Creature.cpp:171
void Set(BASE_STATUS armor, BASE_STATUS evasion, BASE_STATUS volition)
Definition: SavingTable.cpp:28
HP GetNorMaxHP(void)
クリーチャーの通常最大HPを返す
Definition: Creature.cpp:245
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
ID floorID
現在いるフロアID
Definition: Creature.h:58
MP maxMp
現在の最大MP
Definition: Creature.h:38
FEED currentFeed
現在滋養値
Definition: Creature.h:46
BaseStatusTable currentStatus
現在のステータス
Definition: Creature.h:52
void Set(BASE_STATUS status[CS_MAX])
全能力値をまとめてセットする。
BaseStatusTable maxStatus
通常のステータス
Definition: Creature.h:53
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41
MP maxMaxMp
本来の最大MP
Definition: Creature.h:39
std::map< TAG, SKILL_EXP > skillExpList
スキル経験値リスト
Definition: Creature.h:61
MP currentMp
現在のMP
Definition: Creature.h:37
HEIGHT height
身長
Definition: Creature.h:43
BaseStatusTable maxMaxStatus
限界のステータス
Definition: Creature.h:54
std::vector< Item > itemList
所持アイテムリスト
Definition: Creature.h:60
FEED maxFeed
最大滋養値
Definition: Creature.h:47
void Set(int x, int y)
Definition: Coordinates.cpp:38
#define CAMP_FLOOR_NATIVE
所属陣営:フロア土着
Definition: Deeangband.h:17
void SetPoint(DISCIPLINE_TYPE typ, int point)
修養値を設定する
Definition: Discipline.cpp:34
LEVEL divineLevel
神性レベル
Definition: Creature.h:50
NAME name
クリーチャーの名前
Definition: Creature.h:34
ID campID
所属陣営ID
Definition: Creature.h:67
HP currentHp
現在のHP
Definition: Creature.h:35
HP maxHp
現在の最大HP
Definition: Creature.h:36
static SOUL soulLevel[CREATURE_MAX_LEVEL]
必要ソウルレベルテーブル
Definition: Creature.h:32
Coordinates position
現座標
Definition: Creature.h:59

関数の呼び出しグラフ:

呼出しグラフ:

void Creature::setHP ( HP  amount)
private

クリーチャーの現HPを設定する

引数
amount設定HP量
戻り値
なし

Creature.cpp204 行で定義されています。

205 {
206  this->currentHp = amount;
207  if(this->currentHp < this->maxHp) this->currentHp = this->maxHp;
208  if(this->currentHp < 1) this->die();
209 }
void die(void)
クリーチャー死亡時の処理を行う
Definition: Creature.cpp:154
HP currentHp
現在のHP
Definition: Creature.h:35
HP maxHp
現在の最大HP
Definition: Creature.h:36

関数の呼び出しグラフ:

void Creature::setMP ( MP  amount)
private

クリーチャーの現MPを設定する

引数
amount設定HP量
戻り値
なし

Creature.cpp211 行で定義されています。

212 {
213  this->currentMp += amount;
214  if(this->currentMp > this->maxMp) this->currentMp = this->maxMp;
215  if(this->currentMp < 0) this->currentMp = 0;
216 }
MP maxMp
現在の最大MP
Definition: Creature.h:38
MP currentMp
現在のMP
Definition: Creature.h:37
void Creature::SetSpeciesData ( Species speciesPtr)

クリーチャー種別に基づきクリーチャーを生成する

Creature.cpp99 行で定義されています。

100 {
101  std::normal_distribution<int> distHeight(speciesPtr->GetAverageHeight(), speciesPtr->GetAverageHeight() / 20);
102  std::normal_distribution<int> distWeight(speciesPtr->GetAverageWeight(), speciesPtr->GetAverageWeight() / 20);
103  this->name = speciesPtr->GetName();
104  this->currentSoul = this->maxSoul = speciesPtr->GetBaseSoul();
105  this->currentFeed = speciesPtr->GetBaseFeed() * 3 / 4;
106  this->maxFeed = speciesPtr->GetBaseFeed();
107  this->weight = distWeight(Dice::mt);
108  this->height = distHeight(Dice::mt);
109  this->campID = CAMP_FLOOR_NATIVE;
110 }
FEED GetBaseFeed(void)
クリーチャー種別の基本滋養度を返す
Definition: Species.cpp:57
HEIGHT GetAverageHeight(void)
クリーチャー種別の平均身長を返す
Definition: Species.cpp:47
HEIGHT weight
体重
Definition: Creature.h:44
SOUL currentSoul
現在のソウル値
Definition: Creature.h:40
FEED currentFeed
現在滋養値
Definition: Creature.h:46
SOUL maxSoul
ソウル最大到達値
Definition: Creature.h:41
SOUL GetBaseSoul(void)
クリーチャー種別の基本ソウル量を帰す
Definition: Species.cpp:42
HEIGHT height
身長
Definition: Creature.h:43
WEIGHT GetAverageWeight(void)
クリーチャー種別の平均体重を返す
Definition: Species.cpp:52
FEED maxFeed
最大滋養値
Definition: Creature.h:47
#define CAMP_FLOOR_NATIVE
所属陣営:フロア土着
Definition: Deeangband.h:17
NAME name
クリーチャーの名前
Definition: Creature.h:34
ID campID
所属陣営ID
Definition: Creature.h:67
std::string GetName(void)
クリーチャー種別の名前を返す
Definition: Species.cpp:37

関数の呼び出しグラフ:

呼出しグラフ:

bool Creature::TakeEffect ( Effect effectPtr,
POWER  amount 
)

受けた属性効果を処理する

引数
effectPtr
amount

Creature.cpp148 行で定義されています。

149 {
150  if(effectPtr) this->calcHP(-amount);
151  return false;
152 }
void calcHP(HP amount)
クリーチャーの現HPを増減させる
Definition: Creature.cpp:190

関数の呼び出しグラフ:

void Creature::TimeProcess ( void  )

クリーチャーのゲーム時間更新定期処理を行う

戻り値
なし

Creature.cpp379 行で定義されています。

380 {
381  this->currentFeed -= 10;
382 }
FEED currentFeed
現在滋養値
Definition: Creature.h:46
void Creature::TurnProcess ( void  )

クリーチャーのターン時更新定期処理を行う

戻り値
なし

Creature.cpp375 行で定義されています。

376 {
377 }
void Creature::XMLSave ( std::string  filename)

XMLシリアライズによるゲームデータ保存処理

戻り値
なし

Creature.cpp400 行で定義されています。

401 {
402  Creature creature = *this;
403  std::ofstream ofs(filename);
404  assert(ofs);
405  boost::archive::xml_oarchive oa(ofs);
406  oa << BOOST_SERIALIZATION_NVP(creature);
407 }
クリーチャーのクラス
Definition: Creature.h:28
Creature::‾Creature ( void  )

Creatureクラスデストラクタ

Creature.cpp95 行で定義されています。

96 {
97 }

フレンドと関連する関数

friend class boost::serialization::access
friend

Creature.h130 行で定義されています。

変数

ID Creature::campID
private

所属陣営ID

Creature.h67 行で定義されています。

Discipline Creature::currentDiscipilne
private

現在の修養値

Creature.h49 行で定義されています。

FEED Creature::currentFeed
private

現在滋養値

Creature.h46 行で定義されています。

HP Creature::currentHp
private

現在のHP

Creature.h35 行で定義されています。

MP Creature::currentMp
private

現在のMP

Creature.h37 行で定義されています。

SOUL Creature::currentSoul
private

現在のソウル値

Creature.h40 行で定義されています。

BaseStatusTable Creature::currentStatus
private

現在のステータス

Creature.h52 行で定義されています。

LEVEL Creature::divineLevel
private

神性レベル

Creature.h50 行で定義されています。

ID Creature::floorID
private

現在いるフロアID

Creature.h58 行で定義されています。

HEIGHT Creature::height
private

身長

Creature.h43 行で定義されています。

HP Creature::hpTable[CREATURE_MAX_LEVEL]
private

ヒットダイスに基づき生成されたレベル毎の基本HP

Creature.h71 行で定義されています。

std::vector<Item> Creature::itemList
private

所持アイテムリスト

Creature.h60 行で定義されています。

FEED Creature::maxFeed
private

最大滋養値

Creature.h47 行で定義されています。

HP Creature::maxHp
private

現在の最大HP

Creature.h36 行で定義されています。

MP Creature::maxMaxMp
private

本来の最大MP

Creature.h39 行で定義されています。

BaseStatusTable Creature::maxMaxStatus
private

限界のステータス

Creature.h54 行で定義されています。

MP Creature::maxMp
private

現在の最大MP

Creature.h38 行で定義されています。

SOUL Creature::maxSoul
private

ソウル最大到達値

Creature.h41 行で定義されています。

BaseStatusTable Creature::maxStatus
private

通常のステータス

Creature.h53 行で定義されています。

NAME Creature::name
private

クリーチャーの名前

Creature.h34 行で定義されています。

Coordinates Creature::position
private

現座標

Creature.h59 行で定義されています。

SavingTable Creature::savings
private

セービング

Creature.h56 行で定義されています。

std::map<TAG, SKILL_EXP> Creature::skillExpList
private

スキル経験値リスト

Creature.h61 行で定義されています。

SOUL Creature::soulLevel
staticprivate

必要ソウルレベルテーブル

Creature.h32 行で定義されています。

char Creature::symbol
private

シンボルキャラ

Creature.h63 行で定義されています。

Color Creature::symbolColor
private

シンボルカラー

Creature.h64 行で定義されています。

ID Creature::tileID
private

タイルID

Creature.h65 行で定義されています。

TURN Creature::turn
private

生存総ターン数

Creature.h69 行で定義されています。

HEIGHT Creature::weight
private

体重

Creature.h44 行で定義されています。


このクラスの説明は次のファイルから生成されました: