00001
00002
00003
00004
00005 #ifdef MAKEDEFS_C
00006
00007
00008 #define A(nam,typ,s1,s2,mt,atk,dfn,cry,inv,al,cl,rac,cost) nam
00009
00010 static const char *artifact_names[] = {
00011 #else
00012
00013
00014 #define A(nam,typ,s1,s2,mt,atk,dfn,cry,inv,al,cl,rac,cost) \
00015 { typ, nam, s1, s2, mt, atk, dfn, cry, inv, al, cl, rac, cost }
00016
00017 #define NO_ATTK {0,0,0,0}
00018 #define NO_DFNS {0,0,0,0}
00019 #define NO_CARY {0,0,0,0}
00020 #define DFNS(c) {0,c,0,0}
00021 #define CARY(c) {0,c,0,0}
00022 #define PHYS(a,b) {0,AD_PHYS,a,b}
00023 #define DRLI(a,b) {0,AD_DRLI,a,b}
00024 #define COLD(a,b) {0,AD_COLD,a,b}
00025 #define FIRE(a,b) {0,AD_FIRE,a,b}
00026 #define ELEC(a,b) {0,AD_ELEC,a,b}
00027 #define STUN(a,b) {0,AD_STUN,a,b}
00028
00029 STATIC_OVL NEARDATA struct artifact artilist[] = {
00030 #endif
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 A("", STRANGE_OBJECT,
00041 0, 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 0L ),
00042
00043 A("Excalibur", LONG_SWORD,
00044 (SPFX_NOGEN|SPFX_RESTR|SPFX_SEEK|SPFX_DEFN|SPFX_INTEL|SPFX_SEARCH),0,0,
00045 PHYS(5,10), DRLI(0,0), NO_CARY, 0, A_LAWFUL, PM_KNIGHT, NON_PM, 4000L ),
00046
00047
00048
00049
00050 A("Stormbringer", RUNESWORD,
00051 (SPFX_RESTR|SPFX_ATTK|SPFX_DEFN|SPFX_INTEL|SPFX_DRLI), 0, 0,
00052 DRLI(5,2), DRLI(0,0), NO_CARY, 0, A_CHAOTIC, NON_PM, NON_PM, 8000L ),
00053
00054 #ifdef BLACKMARKET
00055 A("Thiefbane", TWO_HANDED_SWORD,
00056 (SPFX_NOGEN|SPFX_RESTR|SPFX_BEHEAD|SPFX_DCLAS|SPFX_DRLI), 0, S_HUMAN,
00057 DRLI(5,1), NO_DFNS, NO_CARY, 0, A_CHAOTIC, NON_PM, NON_PM, 1500L ),
00058 #endif
00059
00060
00061
00062
00063
00064 A("Mjollnir", WAR_HAMMER,
00065 (SPFX_RESTR|SPFX_ATTK), 0, 0,
00066 ELEC(5,24), NO_DFNS, NO_CARY, 0, A_NEUTRAL, PM_VALKYRIE, NON_PM, 4000L ),
00067
00068 A("Cleaver", BATTLE_AXE,
00069 SPFX_RESTR, 0, 0,
00070 PHYS(3,6), NO_DFNS, NO_CARY, 0, A_NEUTRAL, PM_BARBARIAN, NON_PM, 1500L ),
00071
00072 A("Grimtooth", ORCISH_DAGGER,
00073 SPFX_RESTR, 0, 0,
00074 PHYS(2,6), NO_DFNS, NO_CARY, 0, A_CHAOTIC, NON_PM, PM_ORC, 300L ),
00075
00076
00077
00078 A("Orcrist", ELVEN_BROADSWORD,
00079 SPFX_DFLAG2, 0, M2_ORC,
00080 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_CHAOTIC, NON_PM, PM_ELF, 2000L ),
00081
00082
00083
00084
00085
00086
00087
00088 A("Sting", ELVEN_DAGGER,
00089 (SPFX_WARN|SPFX_DFLAG2), 0, M2_ORC,
00090 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_CHAOTIC, NON_PM, PM_ELF, 800L ),
00091
00092
00093
00094
00095 A("Magicbane", ATHAME,
00096 (SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,
00097 STUN(3,4), DFNS(AD_MAGM), NO_CARY, 0, A_NEUTRAL, PM_WIZARD, NON_PM, 3500L ),
00098
00099 A("Frost Brand", LONG_SWORD,
00100 (SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,
00101 COLD(5,0), COLD(0,0), NO_CARY, 0, A_NONE, NON_PM, NON_PM, 3000L ),
00102
00103 A("Fire Brand", LONG_SWORD,
00104 (SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,
00105 FIRE(5,0), FIRE(0,0), NO_CARY, 0, A_NONE, NON_PM, NON_PM, 3000L ),
00106
00107 A("Dragonbane", BROADSWORD,
00108 (SPFX_WARN_S|SPFX_RESTR|SPFX_DCLAS), 0, S_DRAGON,
00109 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 500L ),
00110
00111 A("Demonbane", LONG_SWORD,
00112 (SPFX_WARN|SPFX_RESTR|SPFX_DFLAG2), 0, M2_DEMON,
00113 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_LAWFUL, NON_PM, NON_PM, 2500L ),
00114
00115 A("Werebane", SILVER_SABER,
00116 (SPFX_WARN|SPFX_RESTR|SPFX_DFLAG2), 0, M2_WERE,
00117 PHYS(5,0), DFNS(AD_WERE), NO_CARY, 0, A_NONE, NON_PM, NON_PM, 1500L ),
00118
00119 A("Grayswandir", SILVER_SABER,
00120 (SPFX_RESTR|SPFX_HALRES), 0, 0,
00121 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_LAWFUL, NON_PM, NON_PM, 8000L ),
00122
00123 A("Giantslayer", LONG_SWORD,
00124 (SPFX_WARN|SPFX_RESTR|SPFX_DFLAG2), 0, M2_GIANT,
00125 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_NEUTRAL, NON_PM, NON_PM, 200L ),
00126
00127 A("Ogresmasher", WAR_HAMMER,
00128 (SPFX_WARN_S|SPFX_RESTR|SPFX_DCLAS), 0, S_OGRE,
00129 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 200L ),
00130
00131 A("Trollsbane", MORNING_STAR,
00132 (SPFX_WARN_S|SPFX_RESTR|SPFX_DCLAS|SPFX_REGEN), 0, S_TROLL,
00133 PHYS(5,0), NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 200L ),
00134
00135
00136
00137
00138
00139 A("Vorpal Blade", LONG_SWORD,
00140 (SPFX_WARN_S|SPFX_RESTR|SPFX_BEHEAD), 0, S_JABBERWOCK,
00141 PHYS(5,8), NO_DFNS, NO_CARY, 0, A_NEUTRAL, NON_PM, NON_PM, 4000L ),
00142
00143
00144
00145
00146
00147
00148
00149
00150 A("Snickersnee", KATANA,
00151 SPFX_RESTR, 0, 0,
00152 PHYS(0,8), NO_DFNS, NO_CARY, 0, A_LAWFUL, PM_SAMURAI, NON_PM, 1200L ),
00153
00154 A("Sunsword", LONG_SWORD,
00155 (SPFX_RESTR|SPFX_DFLAG2), 0, M2_UNDEAD,
00156 PHYS(5,0), DFNS(AD_BLND), NO_CARY, 0, A_LAWFUL, NON_PM, NON_PM, 1500L ),
00157
00158
00159
00160
00161
00162 A("The Orb of Detection", CRYSTAL_BALL,
00163 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_ESP|SPFX_HSPDAM), 0,
00164 NO_ATTK, NO_DFNS, CARY(AD_MAGM),
00165 INVIS, A_LAWFUL, PM_ARCHEOLOGIST, NON_PM, 2500L ),
00166
00167 A("The Heart of Ahriman", LUCKSTONE,
00168 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_DISPL|SPFX_EREGEN), 0,
00169
00170 PHYS(5,0), NO_DFNS, NO_CARY,
00171 LEVITATION, A_NEUTRAL, PM_BARBARIAN, NON_PM, 2500L ),
00172
00173 A("The Sceptre of Might", MACE,
00174 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_DALIGN), 0, 0,
00175 PHYS(5,0), NO_DFNS, CARY(AD_MAGM),
00176 CONFLICT, A_LAWFUL, PM_CAVEMAN, NON_PM, 2500L ),
00177
00178 #if 0
00179 A("The Palantir of Westernesse", CRYSTAL_BALL,
00180 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL),
00181 (SPFX_ESP|SPFX_REGEN|SPFX_HSPDAM), 0,
00182 NO_ATTK, NO_DFNS, NO_CARY,
00183 TAMING, A_CHAOTIC, NON_PM , PM_ELF, 8000L ),
00184 #endif
00185
00186 A("The Staff of Aesculapius", QUARTERSTAFF,
00187 (SPFX_NOGEN|SPFX_RESTR|SPFX_ATTK|SPFX_INTEL|SPFX_DRLI|SPFX_REGEN), 0,0,
00188 DRLI(0,0), DRLI(0,0), NO_CARY,
00189 HEALING, A_NEUTRAL, PM_HEALER, NON_PM, 5000L ),
00190
00191 A("The Magic Mirror of Merlin", MIRROR,
00192 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_SPEAK), SPFX_ESP, 0,
00193 NO_ATTK, NO_DFNS, CARY(AD_MAGM),
00194 0, A_LAWFUL, PM_KNIGHT, NON_PM, 1500L ),
00195
00196 A("The Eyes of the Overworld", LENSES,
00197 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_XRAY), 0, 0,
00198 NO_ATTK, NO_DFNS, CARY(AD_MAGM),
00199 ENLIGHTENING, A_NEUTRAL, PM_MONK, NON_PM, 2500L ),
00200
00201 A("The Mitre of Holiness", HELM_OF_BRILLIANCE,
00202 (SPFX_NOGEN|SPFX_RESTR|SPFX_DFLAG2|SPFX_INTEL), 0, M2_UNDEAD,
00203 NO_ATTK, NO_DFNS, CARY(AD_FIRE),
00204 ENERGY_BOOST, A_LAWFUL, PM_PRIEST, NON_PM, 2000L ),
00205
00206 A("The Longbow of Diana", BOW,
00207 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_REFLECT), SPFX_ESP, 0,
00208 PHYS(5,0), NO_DFNS, NO_CARY,
00209 CREATE_AMMO, A_CHAOTIC, PM_RANGER, NON_PM, 4000L ),
00210
00211 A("The Master Key of Thievery", SKELETON_KEY,
00212 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_SPEAK),
00213 (SPFX_WARN|SPFX_TCTRL|SPFX_HPHDAM), 0,
00214 NO_ATTK, NO_DFNS, NO_CARY,
00215 UNTRAP, A_CHAOTIC, PM_ROGUE, NON_PM, 3500L ),
00216
00217 A("The Tsurugi of Muramasa", TSURUGI,
00218 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_BEHEAD|SPFX_LUCK), 0, 0,
00219 PHYS(0,8), NO_DFNS, NO_CARY,
00220 0, A_LAWFUL, PM_SAMURAI, NON_PM, 4500L ),
00221
00222 #ifdef TOURIST
00223 A("The Platinum Yendorian Express Card", CREDIT_CARD,
00224 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_DEFN),
00225 (SPFX_ESP|SPFX_HSPDAM), 0,
00226 NO_ATTK, NO_DFNS, CARY(AD_MAGM),
00227 CHARGE_OBJ, A_NEUTRAL, PM_TOURIST, NON_PM, 7000L ),
00228 #endif
00229
00230 A("The Orb of Fate", CRYSTAL_BALL,
00231 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_LUCK),
00232 (SPFX_WARN|SPFX_HSPDAM|SPFX_HPHDAM), 0,
00233 NO_ATTK, NO_DFNS, NO_CARY,
00234 LEV_TELE, A_NEUTRAL, PM_VALKYRIE, NON_PM, 3500L ),
00235
00236 A("The Eye of the Aethiopica", AMULET_OF_ESP,
00237 (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_EREGEN|SPFX_HSPDAM), 0,
00238 NO_ATTK, NO_DFNS, CARY(AD_MAGM),
00239 CREATE_PORTAL, A_NEUTRAL, PM_WIZARD, NON_PM, 4000L ),
00240
00241
00242
00243
00244 A(0, 0, 0, 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 0L )
00245
00246 };
00247
00248 #undef A
00249
00250 #ifndef MAKEDEFS_C
00251 #undef NO_ATTK
00252 #undef NO_DFNS
00253 #undef DFNS
00254 #undef PHYS
00255 #undef DRLI
00256 #undef COLD
00257 #undef FIRE
00258 #undef ELEC
00259 #undef STUN
00260 #endif
00261
00262