OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / pet / pet-util.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 enum pet_command {
6     PET_DISMISS = 1, /*!< ペットに関するコマンド: ペットを離す */
7     PET_TARGET = 2, /*!< ペットに関するコマンド: ペットのターゲットを指定 */
8     PET_STAY_CLOSE = 3, /*!< ペットに関するコマンド: 近くにいろ */
9     PET_FOLLOW_ME = 4, /*!< ペットに関するコマンド: ついて来い */
10     PET_SEEK_AND_DESTROY = 5, /*!< ペットに関するコマンド: 敵を見つけて倒せ */
11     PET_ALLOW_SPACE = 6, /*!< ペットに関するコマンド: 少し離れていろ */
12     PET_STAY_AWAY = 7, /*!< ペットに関するコマンド: 離れていろ */
13     PET_OPEN_DOORS = 8, /*!< ペットに関するコマンド: ドア解放の許可 */
14     PET_TAKE_ITEMS = 9, /*!< ペットに関するコマンド: アイテム取得の許可 */
15     PET_TELEPORT = 10, /*!< ペットに関するコマンド: テレポートの許可 */
16     PET_ATTACK_SPELL = 11, /*!< ペットに関するコマンド: 攻撃魔法の許可 */
17     PET_SUMMON_SPELL = 12, /*!< ペットに関するコマンド: 召喚魔法の許可 */
18     PET_BALL_SPELL = 13, /*!< ペットに関するコマンド: プレイヤーを魔法に巻き込む許可 */
19     PET_RIDING = 14, /*!< ペットに関するコマンド: ペットに乗る */
20     PET_NAME = 15, /*!< ペットに関するコマンド: ペットに名前をつける */
21     PET_TWO_HANDS = 16, /*!< ペットに関するコマンド: 騎乗中に両手で武器を使うかどうか */
22 };
23
24 enum pet_follow_distance {
25     PET_CLOSE_DIST = 1, /*!<ペットの行動範囲…近くにいろ */
26     PET_FOLLOW_DIST = 6, /*!<ペットの行動範囲…ついて来い */
27     PET_SEEK_DIST = 10, /*!<ペットの行動範囲…特になし? */
28     PET_DESTROY_DIST = 255, /*!<ペットの行動範囲…敵を見つけて倒せ */
29     PET_SPACE_DIST = -10, /*!<ペットの行動範囲…少し離れていろ */
30     PET_AWAY_DIST = -25, /*!<ペットの行動範囲…離れていろ */
31 };
32
33 enum pet_permission {
34     PF_OPEN_DOORS = 0x0001, /*!< ペットの行動許可…ドアを開けてよい */
35     PF_PICKUP_ITEMS = 0x0002, /*!< ペットの行動許可…アイテムを拾ってよい */
36     PF_TELEPORT = 0x0004, /*!< ペットの行動許可…テレポート魔法を使ってよい */
37     PF_ATTACK_SPELL = 0x0008, /*!< ペットの行動許可…攻撃魔法を使ってよい */
38     PF_SUMMON_SPELL = 0x0010, /*!< ペットの行動許可…召喚魔法を使ってよい */
39     PF_BALL_SPELL = 0x0020, /*!< ペットの行動許可…ボール魔法でプレイヤーを巻き込んでよい */
40     PF_TWO_HANDS = 0x0040, /*!< プレイヤーの騎乗フラグ…武器を片手で持つ */
41 };
42
43 extern int total_friends;
44
45 struct grid_type;
46 ;
47 class PlayerType;
48 bool can_player_ride_pet(PlayerType *player_ptr, grid_type *g_ptr, bool now_riding);
49 PERCENTAGE calculate_upkeep(PlayerType *player_ptr);