Hengband  2.2.1
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
artifact.h ファイル
#include "cmd-activate.h"
artifact.h の依存先関係図:
被依存関係図:

[ソースコード]

データ構造

struct  artifact_type
 固定アーティファクト情報の構造体 / Artifact structure. [詳解]
 

マクロ定義

#define TRG_INSTA_ART   0x00000001L /* Item must be an artifact */
 アイテムフラグ / Artifact Flags [詳解]
 
#define TRG_QUESTITEM   0x00000002L /* quest level item -KMW- */
 
#define TRG_XTRA_POWER   0x00000004L /* Extra power */
 
#define TRG_ONE_SUSTAIN   0x00000008L /* One sustain */
 
#define TRG_XTRA_RES_OR_POWER   0x00000010L /* Extra resistance or power */
 
#define TRG_XTRA_H_RES   0x00000020L /* Extra high resistance */
 
#define TRG_XTRA_E_RES   0x00000040L /* Extra element resistance */
 
#define TRG_XTRA_L_RES   0x00000080L /* Extra lordly resistance */
 
#define TRG_XTRA_D_RES   0x00000100L /* Extra dragon resistance */
 
#define TRG_XTRA_RES   0x00000200L /* Extra resistance */
 
#define TRG_CURSED   0x00000400L /* Item is Cursed */
 
#define TRG_HEAVY_CURSE   0x00000800L /* Item is Heavily Cursed */
 
#define TRG_PERMA_CURSE   0x00001000L /* Item is Perma Cursed */
 
#define TRG_RANDOM_CURSE0   0x00002000L /* Item is Random Cursed */
 
#define TRG_RANDOM_CURSE1   0x00004000L /* Item is Random Cursed */
 
#define TRG_RANDOM_CURSE2   0x00008000L /* Item is Random Cursed */
 
#define TRG_XTRA_DICE   0x00010000L /* Extra dice */
 
#define TRG_POWERFUL   0x00020000L /* Item has good value even if Cursed */
 
#define ART_GALADRIEL   1
 
#define ART_ELENDIL   2
 
#define ART_JUDGE   3
 
#define ART_EDISON   7
 
#define ART_PALANTIR   15
 
#define ART_STONE_LORE   17
 
#define ART_FLY_STONE   147
 
#define ART_ORB_OF_FATE   245
 
#define ART_CARLAMMAS   4
 
#define ART_INGWE   5
 
#define ART_DWARVES   6
 
#define ART_FARAMIR   18
 
#define ART_BOROMIR   143
 
#define ART_MAGATAMA   149
 
#define ART_INROU   166
 
#define ART_NIGHT   215
 
#define ART_SACRED_KNIGHTS   217
 
#define ART_HELL   218
 
#define ART_CHARMED   219
 
#define ART_GOGO   220
 
#define ART_FRAKIR   8
 
#define ART_TULKAS   9
 
#define ART_NARYA   10
 
#define ART_NENYA   11
 
#define ART_VILYA   12
 
#define ART_POWER   13
 
#define ART_AHO   14
 
#define ART_RAZORBACK   129
 
#define ART_BLADETURNER   130
 
#define ART_SEIRYU   201
 
#define ART_SOULKEEPER   19
 
#define ART_ISILDUR   20
 
#define ART_ROHIRRIM   21
 
#define ART_LOHENGRIN   22
 
#define ART_JULIAN   23
 
#define ART_ARVEDUI   24
 
#define ART_CASPANION   25
 
#define ART_GILES   168
 
#define ART_MORLOK   203
 
#define ART_VETERAN   206
 
#define ART_SHIVA_JACKET   26
 
#define ART_HITHLOMIR   27
 
#define ART_THALKETTOTH   28
 
#define ART_HIMRING   127
 
#define ART_ICANUS   131
 
#define ART_NAMAKE_ARMOR   183
 
#define ART_GHB   192
 
#define ART_DASAI   200
 
#define ART_KESHO   204
 
#define ART_MILIM   246
 
#define ART_THORIN   30
 
#define ART_CELEGORM   31
 
#define ART_ANARION   32
 
#define ART_GIL_GALAD   138
 
#define ART_YENDOR   141
 
#define ART_YATA   151
 
#define ART_EARENDIL   186
 
#define ART_PERSEUS   197
 
#define ART_INDRA   33
 
#define ART_CHAOS   34
 
#define ART_BERUTHIEL   35
 
#define ART_THRANDUIL   36
 
#define ART_THENGEL   37
 
#define ART_HAMMERHAND   38
 
#define ART_DOR   39
 
#define ART_HOLHENNETH   40
 
#define ART_TERROR   41
 
#define ART_AMBER   42
 
#define ART_NUMENOR   132
 
#define ART_STONEMASK   146
 
#define ART_JACK   43
 
#define ART_COLLUIN   44
 
#define ART_HOLCOLLETH   45
 
#define ART_THINGOL   46
 
#define ART_THORONGIL   47
 
#define ART_COLANNON   48
 
#define ART_LUTHIEN   49
 
#define ART_TUOR   50
 
#define ART_MOOK   205
 
#define ART_HEAVENLY_MAIDEN   233
 
#define ART_CAMBELEG   52
 
#define ART_CAMMITHRIM   53
 
#define ART_PAURHACH   54
 
#define ART_CORWIN   55
 
#define ART_PAURAEGEN   56
 
#define ART_PAURNEN   57
 
#define ART_THANOS   58
 
#define ART_FINGOLFIN   59
 
#define ART_PAURNIMMEN   185
 
#define ART_FEANOR   60
 
#define ART_FLORA   61
 
#define ART_THROR   62
 
#define ART_SHIVA_BOOTS   63
 
#define ART_GLASS   165
 
#define ART_GETA   210
 
#define ART_NAIN   211
 
#define ART_MAEDHROS   64
 
#define ART_CAINE   65
 
#define ART_NARTHANC   66
 
#define ART_NIMTHANC   67
 
#define ART_DETHANC   68
 
#define ART_RILIA   69
 
#define ART_FIONA   70
 
#define ART_CALRIS   71
 
#define ART_GRAYSWANDIR   72
 
#define ART_GLAMDRING   73
 
#define ART_NOTHUNG   74
 
#define ART_ORCRIST   75
 
#define ART_GURTHANG   76
 
#define ART_ZARCUTHRA   77
 
#define ART_TWILIGHT   78
 
#define ART_GONDRICAM   79
 
#define ART_CRISDURIAN   80
 
#define ART_AGLARANG   81
 
#define ART_RINGIL   82
 
#define ART_ANDURIL   83
 
#define ART_WEREWINDLE   84
 
#define ART_CHAINSWORD   85
 
#define ART_FORASGIL   86
 
#define ART_CARETH   87
 
#define ART_STING   88
 
#define ART_SOULSWORD   89
 
#define ART_MERLIN   90
 
#define ART_DOOMCALLER   91
 
#define ART_VORPAL_BLADE   92
 
#define ART_SLAYER   123
 
#define ART_KUSANAGI   128
 
#define ART_HURIN   133
 
#define ART_AZAGHAL   135
 
#define ART_NOVA   137
 
#define ART_CHARIOT   140
 
#define ART_WORPAL_BLADE   142
 
#define ART_MURAMASA   144
 
#define ART_ZANTETSU   150
 
#define ART_SOULCRUSH   154
 
#define ART_FALIS   155
 
#define ART_HRUNTING   156
 
#define ART_ANUBIS   158
 
#define ART_GURENKI   160
 
#define ART_TAILBITER   167
 
#define ART_MUSASI_KATANA   171
 
#define ART_MUSASI_WAKIZASI   172
 
#define ART_QUICKTHORN   174
 
#define ART_TINYTHORN   175
 
#define ART_EXCALIBUR   176
 
#define ART_EXCALIPUR   177
 
#define ART_EXCALIBUR_J   179
 
#define ART_ARUNRUTH   184
 
#define ART_HAKABUSA   189
 
#define ART_STORMBRINGER   190
 
#define ART_NARSIL   191
 
#define ART_KANNU   193
 
#define ART_GRIMTOOTH   196
 
#define ART_KAMUI   198
 
#define ART_GOURYU   207
 
#define ART_EOWYN   216
 
#define ART_NANACHO   248
 
#define ART_ROBINTON   251
 
#define ART_THEODEN   93
 
#define ART_PAIN   94
 
#define ART_OSONDIR   95
 
#define ART_TIL   96
 
#define ART_RUNESPEAR   97
 
#define ART_DESTINY   98
 
#define ART_HAGEN   99
 
#define ART_EORLINGAS   100
 
#define ART_DURIN   101
 
#define ART_EONWE   102
 
#define ART_BALLI   103
 
#define ART_LOTHARANG   104
 
#define ART_DWARVES_AXE   105
 
#define ART_BARUKKHELED   106
 
#define ART_WRATH   107
 
#define ART_ULMO   108
 
#define ART_AVAVIR   109
 
#define ART_BENKEI   152
 
#define ART_TAIKOBO   159
 
#define ART_TONBO   161
 
#define ART_GAEBOLG   163
 
#define ART_ARRYU   164
 
#define ART_AEGLOS   187
 
#define ART_BLOOD   199
 
#define ART_NUMAHOKO   202
 
#define ART_DAWN   110
 
#define ART_GROND   111
 
#define ART_TOTILA   112
 
#define ART_THUNDERFIST   113
 
#define ART_BLOODSPIKE   114
 
#define ART_FIRESTAR   115
 
#define ART_TARATOL   116
 
#define ART_AULE   117
 
#define ART_NAR   118
 
#define ART_ERIRIL   119
 
#define ART_GANDALF   120
 
#define ART_DEATHWREAKER   121
 
#define ART_TURMIL   122
 
#define ART_MJOLLNIR   136
 
#define ART_WINBLOWS   139
 
#define ART_XIAOLONG   145
 
#define ART_NYOIBOU   157
 
#define ART_JONES   162
 
#define ART_HYOUSIGI   169
 
#define ART_MATOI   170
 
#define ART_IRON_BALL   173
 
#define ART_SAMSON   178
 
#define ART_NAMAKE_HAMMER   181
 
#define ART_BOLISHOI   188
 
#define ART_SHUTEN_DOJI   194
 
#define ART_G_HAMMER   195
 
#define ART_AEGISFANG   208
 
#define ART_HERMIT   209
 
#define ART_GOTHMOG   212
 
#define ART_JIZO   213
 
#define ART_FUNDIN   214
 
#define ART_AESCULAPIUS   225
 
#define ART_BELTHRONDING   124
 
#define ART_BARD   125
 
#define ART_BRAND   126
 
#define ART_CRIMSON   16
 
#define ART_BUCKLAND   134
 
#define ART_YOICHI   148
 
#define ART_HARAD   180
 
#define ART_NAMAKE_BOW   182
 
#define ART_ROBIN_HOOD   221
 
#define ART_HELLFIRE   222
 
#define ART_BARD_ARROW   153
 
#define BIAS_ELEC   1
 ランダムアーティファクトバイアス:電撃 [詳解]
 
#define BIAS_POIS   2
 ランダムアーティファクトバイアス:毒 [詳解]
 
#define BIAS_FIRE   3
 ランダムアーティファクトバイアス:火炎 [詳解]
 
#define BIAS_COLD   4
 ランダムアーティファクトバイアス:冷気 [詳解]
 
#define BIAS_ACID   5
 ランダムアーティファクトバイアス:酸 [詳解]
 
#define BIAS_STR   6
 ランダムアーティファクトバイアス:腕力 [詳解]
 
#define BIAS_INT   7
 ランダムアーティファクトバイアス:知力 [詳解]
 
#define BIAS_WIS   8
 ランダムアーティファクトバイアス:賢さ [詳解]
 
#define BIAS_DEX   9
 ランダムアーティファクトバイアス:器用さ [詳解]
 
#define BIAS_CON   10
 ランダムアーティファクトバイアス:耐久 [詳解]
 
#define BIAS_CHR   11
 ランダムアーティファクトバイアス:魅力 [詳解]
 
#define BIAS_CHAOS   12
 ランダムアーティファクトバイアス:混沌 [詳解]
 
#define BIAS_PRIESTLY   13
 ランダムアーティファクトバイアス:プリースト系 [詳解]
 
#define BIAS_NECROMANTIC   14
 ランダムアーティファクトバイアス:死霊 [詳解]
 
#define BIAS_LAW   15
 ランダムアーティファクトバイアス:法 [詳解]
 
#define BIAS_ROGUE   16
 ランダムアーティファクトバイアス:盗賊系 [詳解]
 
#define BIAS_MAGE   17
 ランダムアーティファクトバイアス:メイジ系 [詳解]
 
#define BIAS_WARRIOR   18
 ランダムアーティファクトバイアス:戦士系 [詳解]
 
#define BIAS_RANGER   19
 ランダムアーティファクトバイアス:レンジャー系 [詳解]
 
#define MAX_BIAS   20
 ランダムアーティファクトバイアス:最大数 [詳解]
 

型定義

typedef struct artifact_type artifact_type
 

関数

bool become_random_artifact (object_type *o_ptr, bool a_scroll)
 ランダムアーティファクト生成のメインルーチン [詳解]
 
int activation_index (object_type *o_ptr)
 オブジェクトから能力発動IDを取得する。 [詳解]
 
const activation_type * find_activation_info (object_type *o_ptr)
 オブジェクトから発動効果構造体のポインタを取得する。 [詳解]
 
void random_artifact_resistance (object_type *o_ptr, artifact_type *a_ptr)
 固定アーティファクト生成時の特別なハードコーディング処理を行う。. [詳解]
 
bool create_named_art (ARTIFACT_IDX a_idx, POSITION y, POSITION x)
 フロアの指定された位置に固定アーティファクトを生成する。 / Create the artifact of the specified number [詳解]
 
bool make_artifact (object_type *o_ptr)
 非INSTA_ART型の固定アーティファクトの生成を確率に応じて試行する。 Mega-Hack – Attempt to create one of the "Special Objects" [詳解]
 
bool make_artifact_special (object_type *o_ptr)
 INSTA_ART型の固定アーティファクトの生成を確率に応じて試行する。 Mega-Hack – Attempt to create one of the "Special Objects" [詳解]
 

変数

artifact_typea_info
 
char * a_name
 
char * a_text
 
ARTIFACT_IDX max_a_idx
 

マクロ定義詳解

◆ ART_AEGISFANG

#define ART_AEGISFANG   208

◆ ART_AEGLOS

#define ART_AEGLOS   187

◆ ART_AESCULAPIUS

#define ART_AESCULAPIUS   225

◆ ART_AGLARANG

#define ART_AGLARANG   81

◆ ART_AHO

#define ART_AHO   14

◆ ART_AMBER

#define ART_AMBER   42

◆ ART_ANARION

#define ART_ANARION   32

◆ ART_ANDURIL

#define ART_ANDURIL   83

◆ ART_ANUBIS

#define ART_ANUBIS   158

◆ ART_ARRYU

#define ART_ARRYU   164

◆ ART_ARUNRUTH

#define ART_ARUNRUTH   184

◆ ART_ARVEDUI

#define ART_ARVEDUI   24

◆ ART_AULE

#define ART_AULE   117

◆ ART_AVAVIR

#define ART_AVAVIR   109

◆ ART_AZAGHAL

#define ART_AZAGHAL   135

◆ ART_BALLI

#define ART_BALLI   103

◆ ART_BARD

#define ART_BARD   125

◆ ART_BARD_ARROW

#define ART_BARD_ARROW   153

◆ ART_BARUKKHELED

#define ART_BARUKKHELED   106

◆ ART_BELTHRONDING

#define ART_BELTHRONDING   124

◆ ART_BENKEI

#define ART_BENKEI   152

◆ ART_BERUTHIEL

#define ART_BERUTHIEL   35

◆ ART_BLADETURNER

#define ART_BLADETURNER   130

◆ ART_BLOOD

#define ART_BLOOD   199

◆ ART_BLOODSPIKE

#define ART_BLOODSPIKE   114

◆ ART_BOLISHOI

#define ART_BOLISHOI   188

◆ ART_BOROMIR

#define ART_BOROMIR   143

◆ ART_BRAND

#define ART_BRAND   126

◆ ART_BUCKLAND

#define ART_BUCKLAND   134

◆ ART_CAINE

#define ART_CAINE   65

◆ ART_CALRIS

#define ART_CALRIS   71

◆ ART_CAMBELEG

#define ART_CAMBELEG   52

◆ ART_CAMMITHRIM

#define ART_CAMMITHRIM   53

◆ ART_CARETH

#define ART_CARETH   87

◆ ART_CARLAMMAS

#define ART_CARLAMMAS   4

◆ ART_CASPANION

#define ART_CASPANION   25

◆ ART_CELEGORM

#define ART_CELEGORM   31

◆ ART_CHAINSWORD

#define ART_CHAINSWORD   85

◆ ART_CHAOS

#define ART_CHAOS   34

◆ ART_CHARIOT

#define ART_CHARIOT   140

◆ ART_CHARMED

#define ART_CHARMED   219

◆ ART_COLANNON

#define ART_COLANNON   48

◆ ART_COLLUIN

#define ART_COLLUIN   44

◆ ART_CORWIN

#define ART_CORWIN   55

◆ ART_CRIMSON

#define ART_CRIMSON   16

◆ ART_CRISDURIAN

#define ART_CRISDURIAN   80

◆ ART_DASAI

#define ART_DASAI   200

◆ ART_DAWN

#define ART_DAWN   110

◆ ART_DEATHWREAKER

#define ART_DEATHWREAKER   121

◆ ART_DESTINY

#define ART_DESTINY   98

◆ ART_DETHANC

#define ART_DETHANC   68

◆ ART_DOOMCALLER

#define ART_DOOMCALLER   91

◆ ART_DOR

#define ART_DOR   39

◆ ART_DURIN

#define ART_DURIN   101

◆ ART_DWARVES

#define ART_DWARVES   6

◆ ART_DWARVES_AXE

#define ART_DWARVES_AXE   105

◆ ART_EARENDIL

#define ART_EARENDIL   186

◆ ART_EDISON

#define ART_EDISON   7

◆ ART_ELENDIL

#define ART_ELENDIL   2

◆ ART_EONWE

#define ART_EONWE   102

◆ ART_EORLINGAS

#define ART_EORLINGAS   100

◆ ART_EOWYN

#define ART_EOWYN   216

◆ ART_ERIRIL

#define ART_ERIRIL   119

◆ ART_EXCALIBUR

#define ART_EXCALIBUR   176

◆ ART_EXCALIBUR_J

#define ART_EXCALIBUR_J   179

◆ ART_EXCALIPUR

#define ART_EXCALIPUR   177

◆ ART_FALIS

#define ART_FALIS   155

◆ ART_FARAMIR

#define ART_FARAMIR   18

◆ ART_FEANOR

#define ART_FEANOR   60

◆ ART_FINGOLFIN

#define ART_FINGOLFIN   59

◆ ART_FIONA

#define ART_FIONA   70

◆ ART_FIRESTAR

#define ART_FIRESTAR   115

◆ ART_FLORA

#define ART_FLORA   61

◆ ART_FLY_STONE

#define ART_FLY_STONE   147

◆ ART_FORASGIL

#define ART_FORASGIL   86

◆ ART_FRAKIR

#define ART_FRAKIR   8

◆ ART_FUNDIN

#define ART_FUNDIN   214

◆ ART_G_HAMMER

#define ART_G_HAMMER   195

◆ ART_GAEBOLG

#define ART_GAEBOLG   163

◆ ART_GALADRIEL

#define ART_GALADRIEL   1

◆ ART_GANDALF

#define ART_GANDALF   120

◆ ART_GETA

#define ART_GETA   210

◆ ART_GHB

#define ART_GHB   192

◆ ART_GIL_GALAD

#define ART_GIL_GALAD   138

◆ ART_GILES

#define ART_GILES   168

◆ ART_GLAMDRING

#define ART_GLAMDRING   73

◆ ART_GLASS

#define ART_GLASS   165

◆ ART_GOGO

#define ART_GOGO   220

◆ ART_GONDRICAM

#define ART_GONDRICAM   79

◆ ART_GOTHMOG

#define ART_GOTHMOG   212

◆ ART_GOURYU

#define ART_GOURYU   207

◆ ART_GRAYSWANDIR

#define ART_GRAYSWANDIR   72

◆ ART_GRIMTOOTH

#define ART_GRIMTOOTH   196

◆ ART_GROND

#define ART_GROND   111

◆ ART_GURENKI

#define ART_GURENKI   160

◆ ART_GURTHANG

#define ART_GURTHANG   76

◆ ART_HAGEN

#define ART_HAGEN   99

◆ ART_HAKABUSA

#define ART_HAKABUSA   189

◆ ART_HAMMERHAND

#define ART_HAMMERHAND   38

◆ ART_HARAD

#define ART_HARAD   180

◆ ART_HEAVENLY_MAIDEN

#define ART_HEAVENLY_MAIDEN   233

◆ ART_HELL

#define ART_HELL   218

◆ ART_HELLFIRE

#define ART_HELLFIRE   222

◆ ART_HERMIT

#define ART_HERMIT   209

◆ ART_HIMRING

#define ART_HIMRING   127

◆ ART_HITHLOMIR

#define ART_HITHLOMIR   27

◆ ART_HOLCOLLETH

#define ART_HOLCOLLETH   45

◆ ART_HOLHENNETH

#define ART_HOLHENNETH   40

◆ ART_HRUNTING

#define ART_HRUNTING   156

◆ ART_HURIN

#define ART_HURIN   133

◆ ART_HYOUSIGI

#define ART_HYOUSIGI   169

◆ ART_ICANUS

#define ART_ICANUS   131

◆ ART_INDRA

#define ART_INDRA   33

◆ ART_INGWE

#define ART_INGWE   5

◆ ART_INROU

#define ART_INROU   166

◆ ART_IRON_BALL

#define ART_IRON_BALL   173

◆ ART_ISILDUR

#define ART_ISILDUR   20

◆ ART_JACK

#define ART_JACK   43

◆ ART_JIZO

#define ART_JIZO   213

◆ ART_JONES

#define ART_JONES   162

◆ ART_JUDGE

#define ART_JUDGE   3

◆ ART_JULIAN

#define ART_JULIAN   23

◆ ART_KAMUI

#define ART_KAMUI   198

◆ ART_KANNU

#define ART_KANNU   193

◆ ART_KESHO

#define ART_KESHO   204

◆ ART_KUSANAGI

#define ART_KUSANAGI   128

◆ ART_LOHENGRIN

#define ART_LOHENGRIN   22

◆ ART_LOTHARANG

#define ART_LOTHARANG   104

◆ ART_LUTHIEN

#define ART_LUTHIEN   49

◆ ART_MAEDHROS

#define ART_MAEDHROS   64

◆ ART_MAGATAMA

#define ART_MAGATAMA   149

◆ ART_MATOI

#define ART_MATOI   170

◆ ART_MERLIN

#define ART_MERLIN   90

◆ ART_MILIM

#define ART_MILIM   246

◆ ART_MJOLLNIR

#define ART_MJOLLNIR   136

◆ ART_MOOK

#define ART_MOOK   205

◆ ART_MORLOK

#define ART_MORLOK   203

◆ ART_MURAMASA

#define ART_MURAMASA   144

◆ ART_MUSASI_KATANA

#define ART_MUSASI_KATANA   171

◆ ART_MUSASI_WAKIZASI

#define ART_MUSASI_WAKIZASI   172

◆ ART_NAIN

#define ART_NAIN   211

◆ ART_NAMAKE_ARMOR

#define ART_NAMAKE_ARMOR   183

◆ ART_NAMAKE_BOW

#define ART_NAMAKE_BOW   182

◆ ART_NAMAKE_HAMMER

#define ART_NAMAKE_HAMMER   181

◆ ART_NANACHO

#define ART_NANACHO   248

◆ ART_NAR

#define ART_NAR   118

◆ ART_NARSIL

#define ART_NARSIL   191

◆ ART_NARTHANC

#define ART_NARTHANC   66

◆ ART_NARYA

#define ART_NARYA   10

◆ ART_NENYA

#define ART_NENYA   11

◆ ART_NIGHT

#define ART_NIGHT   215

◆ ART_NIMTHANC

#define ART_NIMTHANC   67

◆ ART_NOTHUNG

#define ART_NOTHUNG   74

◆ ART_NOVA

#define ART_NOVA   137

◆ ART_NUMAHOKO

#define ART_NUMAHOKO   202

◆ ART_NUMENOR

#define ART_NUMENOR   132

◆ ART_NYOIBOU

#define ART_NYOIBOU   157

◆ ART_ORB_OF_FATE

#define ART_ORB_OF_FATE   245

◆ ART_ORCRIST

#define ART_ORCRIST   75

◆ ART_OSONDIR

#define ART_OSONDIR   95

◆ ART_PAIN

#define ART_PAIN   94

◆ ART_PALANTIR

#define ART_PALANTIR   15

◆ ART_PAURAEGEN

#define ART_PAURAEGEN   56

◆ ART_PAURHACH

#define ART_PAURHACH   54

◆ ART_PAURNEN

#define ART_PAURNEN   57

◆ ART_PAURNIMMEN

#define ART_PAURNIMMEN   185

◆ ART_PERSEUS

#define ART_PERSEUS   197

◆ ART_POWER

#define ART_POWER   13

◆ ART_QUICKTHORN

#define ART_QUICKTHORN   174

◆ ART_RAZORBACK

#define ART_RAZORBACK   129

◆ ART_RILIA

#define ART_RILIA   69

◆ ART_RINGIL

#define ART_RINGIL   82

◆ ART_ROBIN_HOOD

#define ART_ROBIN_HOOD   221

◆ ART_ROBINTON

#define ART_ROBINTON   251

◆ ART_ROHIRRIM

#define ART_ROHIRRIM   21

◆ ART_RUNESPEAR

#define ART_RUNESPEAR   97

◆ ART_SACRED_KNIGHTS

#define ART_SACRED_KNIGHTS   217

◆ ART_SAMSON

#define ART_SAMSON   178

◆ ART_SEIRYU

#define ART_SEIRYU   201

◆ ART_SHIVA_BOOTS

#define ART_SHIVA_BOOTS   63

◆ ART_SHIVA_JACKET

#define ART_SHIVA_JACKET   26

◆ ART_SHUTEN_DOJI

#define ART_SHUTEN_DOJI   194

◆ ART_SLAYER

#define ART_SLAYER   123

◆ ART_SOULCRUSH

#define ART_SOULCRUSH   154

◆ ART_SOULKEEPER

#define ART_SOULKEEPER   19

◆ ART_SOULSWORD

#define ART_SOULSWORD   89

◆ ART_STING

#define ART_STING   88

◆ ART_STONE_LORE

#define ART_STONE_LORE   17

◆ ART_STONEMASK

#define ART_STONEMASK   146

◆ ART_STORMBRINGER

#define ART_STORMBRINGER   190

◆ ART_TAIKOBO

#define ART_TAIKOBO   159

◆ ART_TAILBITER

#define ART_TAILBITER   167

◆ ART_TARATOL

#define ART_TARATOL   116

◆ ART_TERROR

#define ART_TERROR   41

◆ ART_THALKETTOTH

#define ART_THALKETTOTH   28

◆ ART_THANOS

#define ART_THANOS   58

◆ ART_THENGEL

#define ART_THENGEL   37

◆ ART_THEODEN

#define ART_THEODEN   93

◆ ART_THINGOL

#define ART_THINGOL   46

◆ ART_THORIN

#define ART_THORIN   30

◆ ART_THORONGIL

#define ART_THORONGIL   47

◆ ART_THRANDUIL

#define ART_THRANDUIL   36

◆ ART_THROR

#define ART_THROR   62

◆ ART_THUNDERFIST

#define ART_THUNDERFIST   113

◆ ART_TIL

#define ART_TIL   96

◆ ART_TINYTHORN

#define ART_TINYTHORN   175

◆ ART_TONBO

#define ART_TONBO   161

◆ ART_TOTILA

#define ART_TOTILA   112

◆ ART_TULKAS

#define ART_TULKAS   9

◆ ART_TUOR

#define ART_TUOR   50

◆ ART_TURMIL

#define ART_TURMIL   122

◆ ART_TWILIGHT

#define ART_TWILIGHT   78

◆ ART_ULMO

#define ART_ULMO   108

◆ ART_VETERAN

#define ART_VETERAN   206

◆ ART_VILYA

#define ART_VILYA   12

◆ ART_VORPAL_BLADE

#define ART_VORPAL_BLADE   92

◆ ART_WEREWINDLE

#define ART_WEREWINDLE   84

◆ ART_WINBLOWS

#define ART_WINBLOWS   139

◆ ART_WORPAL_BLADE

#define ART_WORPAL_BLADE   142

◆ ART_WRATH

#define ART_WRATH   107

◆ ART_XIAOLONG

#define ART_XIAOLONG   145

◆ ART_YATA

#define ART_YATA   151

◆ ART_YENDOR

#define ART_YENDOR   141

◆ ART_YOICHI

#define ART_YOICHI   148

◆ ART_ZANTETSU

#define ART_ZANTETSU   150

◆ ART_ZARCUTHRA

#define ART_ZARCUTHRA   77

◆ BIAS_ACID

#define BIAS_ACID   5

ランダムアーティファクトバイアス:酸

◆ BIAS_CHAOS

#define BIAS_CHAOS   12

ランダムアーティファクトバイアス:混沌

◆ BIAS_CHR

#define BIAS_CHR   11

ランダムアーティファクトバイアス:魅力

◆ BIAS_COLD

#define BIAS_COLD   4

ランダムアーティファクトバイアス:冷気

◆ BIAS_CON

#define BIAS_CON   10

ランダムアーティファクトバイアス:耐久

◆ BIAS_DEX

#define BIAS_DEX   9

ランダムアーティファクトバイアス:器用さ

◆ BIAS_ELEC

#define BIAS_ELEC   1

ランダムアーティファクトバイアス:電撃

◆ BIAS_FIRE

#define BIAS_FIRE   3

ランダムアーティファクトバイアス:火炎

◆ BIAS_INT

#define BIAS_INT   7

ランダムアーティファクトバイアス:知力

◆ BIAS_LAW

#define BIAS_LAW   15

ランダムアーティファクトバイアス:法

◆ BIAS_MAGE

#define BIAS_MAGE   17

ランダムアーティファクトバイアス:メイジ系

◆ BIAS_NECROMANTIC

#define BIAS_NECROMANTIC   14

ランダムアーティファクトバイアス:死霊

◆ BIAS_POIS

#define BIAS_POIS   2

ランダムアーティファクトバイアス:毒

◆ BIAS_PRIESTLY

#define BIAS_PRIESTLY   13

ランダムアーティファクトバイアス:プリースト系

◆ BIAS_RANGER

#define BIAS_RANGER   19

ランダムアーティファクトバイアス:レンジャー系

◆ BIAS_ROGUE

#define BIAS_ROGUE   16

ランダムアーティファクトバイアス:盗賊系

◆ BIAS_STR

#define BIAS_STR   6

ランダムアーティファクトバイアス:腕力

◆ BIAS_WARRIOR

#define BIAS_WARRIOR   18

ランダムアーティファクトバイアス:戦士系

◆ BIAS_WIS

#define BIAS_WIS   8

ランダムアーティファクトバイアス:賢さ

◆ MAX_BIAS

#define MAX_BIAS   20

ランダムアーティファクトバイアス:最大数

◆ TRG_CURSED

#define TRG_CURSED   0x00000400L /* Item is Cursed */

◆ TRG_HEAVY_CURSE

#define TRG_HEAVY_CURSE   0x00000800L /* Item is Heavily Cursed */

◆ TRG_INSTA_ART

#define TRG_INSTA_ART   0x00000001L /* Item must be an artifact */

アイテムフラグ / Artifact Flags

◆ TRG_ONE_SUSTAIN

#define TRG_ONE_SUSTAIN   0x00000008L /* One sustain */

◆ TRG_PERMA_CURSE

#define TRG_PERMA_CURSE   0x00001000L /* Item is Perma Cursed */

◆ TRG_POWERFUL

#define TRG_POWERFUL   0x00020000L /* Item has good value even if Cursed */

◆ TRG_QUESTITEM

#define TRG_QUESTITEM   0x00000002L /* quest level item -KMW- */

◆ TRG_RANDOM_CURSE0

#define TRG_RANDOM_CURSE0   0x00002000L /* Item is Random Cursed */

◆ TRG_RANDOM_CURSE1

#define TRG_RANDOM_CURSE1   0x00004000L /* Item is Random Cursed */

◆ TRG_RANDOM_CURSE2

#define TRG_RANDOM_CURSE2   0x00008000L /* Item is Random Cursed */

◆ TRG_XTRA_D_RES

#define TRG_XTRA_D_RES   0x00000100L /* Extra dragon resistance */

◆ TRG_XTRA_DICE

#define TRG_XTRA_DICE   0x00010000L /* Extra dice */

◆ TRG_XTRA_E_RES

#define TRG_XTRA_E_RES   0x00000040L /* Extra element resistance */

◆ TRG_XTRA_H_RES

#define TRG_XTRA_H_RES   0x00000020L /* Extra high resistance */

◆ TRG_XTRA_L_RES

#define TRG_XTRA_L_RES   0x00000080L /* Extra lordly resistance */

◆ TRG_XTRA_POWER

#define TRG_XTRA_POWER   0x00000004L /* Extra power */

◆ TRG_XTRA_RES

#define TRG_XTRA_RES   0x00000200L /* Extra resistance */

◆ TRG_XTRA_RES_OR_POWER

#define TRG_XTRA_RES_OR_POWER   0x00000010L /* Extra resistance or power */

型定義詳解

◆ artifact_type

typedef struct artifact_type artifact_type

関数詳解

◆ activation_index()

int activation_index ( object_type o_ptr)

オブジェクトから能力発動IDを取得する。

いくつかのケースで定義されている発動効果から、 鍛冶師による付与>固定アーティファクト>エゴ>ランダムアーティファクト>ベースアイテムの優先順位で走査していく。

引数
o_ptr対象のオブジェクト構造体ポインタ
戻り値
発動効果のIDを返す
呼び出し関係図:

◆ become_random_artifact()

bool become_random_artifact ( object_type o_ptr,
bool  a_scroll 
)

ランダムアーティファクト生成のメインルーチン

既に生成が済んでいるオブジェクトの構造体を、アーティファクトとして強化する。

引数
o_ptr対象のオブジェクト構造体ポインタ
a_scrollアーティファクト生成の巻物上の処理。呪いのアーティファクトが生成対象外となる。
戻り値
常にTRUE(1)を返す
呼び出し関係図:

◆ create_named_art()

bool create_named_art ( ARTIFACT_IDX  a_idx,
POSITION  y,
POSITION  x 
)

フロアの指定された位置に固定アーティファクトを生成する。 / Create the artifact of the specified number

固定アーティファクト構造体から基本ステータスをコピーした後、所定の座標でdrop_item()で落とす。

引数
a_idx生成する固定アーティファクト構造体のID
yアイテムを落とす地点のy座標
xアイテムを落とす地点のx座標
戻り値
生成が成功したか否か、失敗はIDの不全、ベースアイテムの不全、drop_item()の失敗時に起こる。
注意
この処理はdrop_near()内で普通の固定アーティファクトが重ならない性質に依存する. 仮に2個以上存在可能かつ装備品以外の固定アーティファクトが作成されれば drop_near()関数の返り値は信用できなくなる.
呼び出し関係図:

◆ find_activation_info()

const activation_type* find_activation_info ( object_type o_ptr)

オブジェクトから発動効果構造体のポインタを取得する。

activation_index() 関数の結果から参照する。

引数
o_ptr対象のオブジェクト構造体ポインタ
戻り値
発動効果構造体のポインタを返す
呼び出し関係図:

◆ make_artifact()

bool make_artifact ( object_type o_ptr)

非INSTA_ART型の固定アーティファクトの生成を確率に応じて試行する。 Mega-Hack – Attempt to create one of the "Special Objects"

引数
o_ptr生成に割り当てたいオブジェクトの構造体参照ポインタ
戻り値
生成に成功したらTRUEを返す。

Attempt to change an object into an artifact
This routine should only be called by "apply_magic()"
Note – see "make_artifact_special()" and "apply_magic()"

呼び出し関係図:

◆ make_artifact_special()

bool make_artifact_special ( object_type o_ptr)

INSTA_ART型の固定アーティファクトの生成を確率に応じて試行する。 Mega-Hack – Attempt to create one of the "Special Objects"

引数
o_ptr生成に割り当てたいオブジェクトの構造体参照ポインタ
戻り値
生成に成功したらTRUEを返す。

We are only called from "make_object()", and we assume that
"apply_magic()" is called immediately after we return.

Note – see "make_artifact()" and "apply_magic()"

覚え書き
地上ではキャンセルする / No artifacts in the town
get_obj_num_hookによる指定がある場合は生成をキャンセルする / Themed object
全固定アーティファクト中からIDの若い順に生成対象とその確率を走査する / Check the artifact list (just the "specials")
アーティファクト名が空の不正なデータは除外する / Skip "empty" artifacts
既に生成回数がカウントされたアーティファクト、QUESTITEMと非INSTA_ARTは除外 / Cannot make an artifact twice
アーティファクト生成階が現在に対して足りない場合は高確率で1/(不足階層*2)を満たさないと生成リストに加えられない / XXX XXX Enforce minimum "depth" (loosely)
1/(レア度)の確率を満たさないと除外される / Artifact "rarity roll"
INSTA_ART型固定アーティファクトのベースアイテムもチェック対象とする。ベースアイテムの生成階層が足りない場合1/(不足階層*5) を満たさないと除外される。 / Find the base object. XXX XXX Enforce minimum "object" level (loosely). Acquire the "out-of-depth factor". Roll for out-of-depth creation.
前述の条件を満たしたら、後のIDのアーティファクトはチェックせずすぐ確定し生成処理に移す / Assign the template. Mega-Hack – mark the item as an artifact. Hack: Some artifacts get random extra powers. Success.
全INSTA_ART固定アーティファクトを試行しても決まらなかった場合 FALSEを返す / Failure
呼び出し関係図:

◆ random_artifact_resistance()

void random_artifact_resistance ( object_type o_ptr,
artifact_type a_ptr 
)

固定アーティファクト生成時の特別なハードコーディング処理を行う。.

random_artifact_resistance()とあるが実際は固定アーティファクトである。 対象は恐怖の仮面、村正、ロビントンのハープ、龍争虎鬪、ブラッディムーン、羽衣、天女の羽衣、ミリム、 その他追加耐性、特性追加処理。

注意
プレイヤーの各種ステータスに依存した処理がある。
todo:
折を見て関数名を変更すること。
引数
o_ptr対象のオブジェクト構造体ポインタ
a_ptr生成する固定アーティファクト構造体ポインタ
戻り値
なし
呼び出し関係図:

変数詳解

◆ a_info

artifact_type* a_info

◆ a_name

char* a_name

◆ a_text

char* a_text

◆ max_a_idx

ARTIFACT_IDX max_a_idx