# CVS: Last edit by $Author: rr9 $ on $Date: 2005/06/04 12:53:28 $ # File: e_info.txt # This file is used to initialize the "lib/raw/e_info.raw" file, which is # used to initialize the "ego-item" information for the Angband game. # Do not modify this file unless you know exactly what you are doing, # unless you wish to risk possible system crashes and broken savefiles. # After modifying this file, delete the "lib/raw/e_info.raw" file. # The ego-item indexes are defined in "defines.h", and must not be changed. # Ego-items 1-63 are "armor", and 64-127 are "weapons" # Note that every "ego-item" type has a different "index", and can only be # created from items that belong to a certain "slot" in the equipment, if # one assumes that "ammo" belongs to an imaginary slot (23). However, it # is possible for several "ego-item" types to have the same "textual name", # such as with "Armor of Resistance" and "Shield of Resistance". # === Understanding e_info.txt === # N: serial number : ego type # X: ego type slot : rating # C: max to-hit : max to-dam : max to-ac : pval # W: depth : rarity : weight : cost # F: flag | flag | etc # 'N' indicates the beginning of an entry. The serial number must # increase for each new item. # 'X' is for extra information - inventory slot and rating. Slots # range from 23 (for ammunition) to 35 (for boots). Rating affects # level feelings. # 'C' is for creation bonusses - maximum to-hit, to-dam, to-ac, and # pval. Cursed ego-items will negate the given value. # 'W' is for extra information. Depth is the depth the object is # normally found at, rarity determines how common the object is, # weight is in tenth-pounds and cost is the items value. # 'F' is for flags. These are fairly self-explanatory. As many F: # lines may be used as are needed to specify all the flags and flags # are separated by the '|' symbol. # Note that the value of any flags and bonuses is counted automatically; # the cost is only needed if the item should have its cost adjusted from # the calculated value. # Version stamp (required) V:2.7.5 ### Body Armor ### N:4:of Resist Acid X:30:16 W:0:4:0:0 F:RES_ACID | IGNORE_ACID N:5:of Resist Lightning X:30:10 W:0:4:0:0 F:RES_ELEC | IGNORE_ELEC N:6:of Resist Fire X:30:14 W:0:4:0:0 F:RES_FIRE | IGNORE_FIRE N:7:of Resist Cold X:30:12 W:0:4:0:0 F:RES_COLD | IGNORE_COLD N:8:of Resistance X:30:20 W:15:8:0:1000 C:0:0:10:0 F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: if (one_in_(4) ~= 0) then set_obj_flag(object, 1, TR1_RES_POIS) end L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) # OnePower N:9:of Elvenkind X:30:25 W:30:16:0:1000 C:0:0:10:3 F:STEALTH | F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) # 10 (unused) # OnePower N:11:of Permanence X:30:30 W:0:1:0:5000 C:0:0:10:0 F:SUST_STR | SUST_DEX | SUST_CON | SUST_INT | SUST_WIS | SUST_CHR | F:HOLD_LIFE | RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) ### Lites ### N:12:of Everburning X:29:10 W:0:2:0:0 C:0:0:0:0 F:LITE N:13:of Warmth X:29:13 W:0:3:0:0 C:0:0:0:0 F:RES_COLD N:14:of Vision X:29:15 W:18:10:0:0 C:0:0:0:6 F:SEE_INVIS | RES_BLIND | SENSE N:15:of Radiance X:29:13 W:15:10:0:0 C:0:0:0:4 F:RES_DARK | CHR ### Shields ### N:16:of Resist Acid X:32:16 W:0:4:0:0 F:RES_ACID | IGNORE_ACID N:17:of Resist Lightning X:32:10 W:0:2:0:0 F:RES_ELEC | IGNORE_ELEC N:18:of Resist Fire X:32:14 W:0:3:0:0 F:RES_FIRE | IGNORE_FIRE N:19:of Resist Cold X:32:12 W:0:2:0:0 F:RES_COLD | IGNORE_COLD N:20:of Resistance X:32:20 W:25:8:0:1000 C:0:0:10:0 F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: if (one_in_(4) ~= 0) then set_obj_flag(object, 1, TR1_RES_POIS) end L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:21:of Reflection X:32:20 W:50:8:0:0 C:0:0:5:0 F:REFLECT F:IGNORE_ELEC | IGNORE_ACID | IGNORE_COLD | IGNORE_FIRE # 22 (unused) # 23 (unused) ### Crowns and Helms ### N:24:of Intelligence X:33:13 C:0:0:0:2 W:0:2:0:0 F:INT | SUST_INT N:25:of Wisdom X:33:13 W:0:2:0:00 C:0:0:0:2 F:WIS | SUST_WIS N:26:of Beauty X:33:8 W:0:2:0:0 C:0:0:0:4 F:CHR | SUST_CHR N:27:of the Magi X:21:15 W:60:2:0:0 C:0:0:0:3 F:INT | SUST_INT | SP L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) L:MAKE: add_ego_power(EGO_XTRA_ABILITY, object) N:28:of Might X:21:19 W:50:2:0:0 C:0:0:0:3 F:STR | DEX | CON | SUST_STR | SUST_DEX | SUST_CON | FREE_ACT L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:29:of Lordliness X:21:17 W:20:2:0:0 C:0:0:0:3 F:WIS | CHR | SUST_WIS | SUST_CHR L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:30:of Seeing X:33:8 W:30:2:0:0 C:0:0:0:5 F:SENSE | RES_BLIND | SEE_INVIS L:MAKE: if (one_in_(7) ~= 0) then set_obj_flag(object, 2, TR2_TELEPATHY) end N:31:of Infravision X:33:11 W:0:4:0:0 C:0:0:0:5 F:INFRA | HIDE_TYPE N:32:of Light X:33:6 W:0:2:0:0 F:LITE | RES_LITE N:33:of Telepathy X:21:20 W:30:2:0:10000 F:TELEPATHY N:34:of Regeneration X:21:10 W:0:2:0:0 F:REGEN N:35:of Teleportation X:33:0 W:0:2:0:-100 F:TELEPORT N:36:of Stupidity X:33:0 C:0:0:0:-5 W:0:2:0:-100 F:INT N:37:of Naivety X:33:0 C:0:0:0:-5 W:0:2:0:-100 F:WIS N:38:of Ugliness X:33:0 C:0:0:0:-5 W:0:2:0:-100 F:CHR N:39:of Sickliness X:33:0 C:0:0:0:-5 W:0:2:0:-100 F:STR | DEX | CON ### Cloaks ### N:40:of Protection X:31:10 W:0:1:0:0 C:0:0:10:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD N:41:of Stealth X:31:10 W:0:1:0:0 C:0:0:0:3 F:STEALTH # OnePower N:42:of Aman X:31:20 W:50:8:0:0 C:0:0:20:3 F:STEALTH | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) # Aura, Fire N:43:of Immolation X:31:16 W:50:8:0:0 C:0:0:4:0 F:IGNORE_ACID | IGNORE_FIRE | SH_FIRE | RES_FIRE N:44:of Enveloping X:31:0 W:0:1:0:-100 C:-10:-10:0:0 F:SHOW_MODS N:45:of Vulnerability X:31:0 W:0:1:0:-100 C:0:0:-50:0 F:AGGRAVATE N:46:of Irritation X:31:0 W:0:1:0:-100 C:-15:-15:0:0 F:AGGRAVATE | SHOW_MODS # Aura, Electricity N:47:of Electricity X:31:16 W:50:8:0:0 C:0:0:4:0 F:IGNORE_ACID | IGNORE_ELEC | SH_ELEC | RES_ELEC ### Gloves ### N:48:of Free Action X:34:11 F:FREE_ACT W:0:1:0:0 N:49:of Slaying X:34:17 W:30:2:0:1500 C:6:6:0:0 F:SHOW_MODS N:50:of Agility X:34:14 W:0:3:0:0 C:0:0:0:5 F:DEX | HIDE_TYPE N:51:of Power X:34:22 W:20:4:0:0 C:5:5:0:5 F:STR | SHOW_MODS | HIDE_TYPE L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:52:(Ghoul Touch) X:34:22 W:40:4:0:0 C:6:6:0:0 F:GHOUL_TOUCH | SHOW_MODS # 53 (unused) N:54:of Weakness X:34:0 W:0:1:0:-100 C:0:0:0:-10 F:STR N:55:of Clumsiness X:34:0 W:0:1:0:-100 C:0:0:0:-10 F:DEX ### Boots ### N:56:of Levitation X:35:7 W:30:4:0:0 F:FEATHER L:MAKE: if (one_in_(2) ~= 0) then add_ego_power(EGO_XTRA_HI_RESIST, object) end N:57:of Stealth X:35:16 W:0:1:0:0 C:0:0:0:8 F:STEALTH N:58:of Free Action X:35:15 W:20:1:0:0 F:FREE_ACT N:59:of Speed X:35:25 W:20:4:0:1000 C:0:0:0:10 F:SPEED | HIDE_TYPE N:60:of the Wild X:35:5 W:0:4:0:0 F:WILD_WALK N:61:of Noise X:35:0 W:0:1:0:-100 F:AGGRAVATE N:62:of Slowness X:35:0 W:20:4:0:-100 C:0:0:0:-5 F:SPEED N:63:of Annoyance X:35:0 W:35:1:0:-100 C:0:0:0:-10 F:SPEED | AGGRAVATE ### Weapons ### # OneSustain N:64:(Holy Avenger) X:24:30 W:15:6:0:0 C:6:6:4:4 F:WIS | F:SLAY_EVIL | SLAY_UNDEAD | SLAY_DEMON | F:SEE_INVIS | BLESSED | RES_FEAR L:MAKE: if player.rp.pclass == CLASS_PALADIN then L:MAKE: set_obj_flag(object, 3, TR3_LUCK_10) L:MAKE: object.cost = object.cost - 3000 L:MAKE: end L:MAKE: add_ego_power(EGO_XTRA_SUSTAIN, object) L:MAKE: if (one_in_(4) ~= 0) then L:MAKE: set_obj_flag(object, 0, TR0_BLOWS) L:MAKE: object.pval = randint1(4) - object.dd / 2 L:MAKE: if object.pval < 1 then object.pval = 1 end L:MAKE: end # OneSustain N:65:(Defender) X:24:25 W:15:6:0:0 C:4:4:8:4 F:STEALTH | F:FREE_ACT | SEE_INVIS | FEATHER | REGEN | F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_RES_POIS) end L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) L:MAKE: add_ego_power(EGO_XTRA_SUSTAIN, object) # OneAbility N:66:(Blessed) X:24:20 W:10:6:0:0 C:0:0:0:3 F:WIS | F:BLESSED L:MAKE: add_ego_power(EGO_XTRA_ABILITY, object) # 67 (unused) N:68:of Westernesse X:24:20 W:15:6:0:0 C:5:5:0:2 F:STR | DEX | CON | F:SLAY_ORC | SLAY_TROLL | SLAY_GIANT | F:FREE_ACT | SEE_INVIS L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_RES_FEAR) end N:69:of Extra Attacks X:24:20 W:50:3:0:500 F:BLOWS L:MAKE: object.pval = randint1(3) - object.dd / 2 L:MAKE: if object.pval < 1 then object.pval = 1 end N:70:of Slaying X:24:15 W:75:3:0:0 L:MAKE: object.ds = object.ds + (object.ds * randint1(5)) / 5 L:MAKE: if (one_in_(5) ~= 0) then set_obj_flag(object, 0, TR0_BRAND_POIS) end # 71 (unused) # The "Elemental" brands (4) (6) N:72:of Melting X:24:15 W:10:6:0:0 F:BRAND_ACID | RES_ACID | IGNORE_ACID N:73:of Shocking X:24:20 W:0:6:0:0 F:BRAND_ELEC | RES_ELEC | IGNORE_ELEC N:74:of Burning X:24:20 W:0:6:0:-500 F:BRAND_FIRE | RES_FIRE | IGNORE_FIRE | LITE N:75:of Freezing X:24:15 W:10:6:0:0 F:BRAND_COLD | RES_COLD | IGNORE_COLD N:76:of Venom X:24:20 W:10:6:0:0 F:BRAND_POIS | RES_POIS N:77:(Chaotic) X:24:28 W:0:6:0:0 F:CHAOTIC | RES_CHAOS | PATRON | IGNORE_ELEC | IGNORE_ACID | IGNORE_FIRE L:MAKE: if player.rp.pclass == CLASS_CHAOS_WARRIOR then L:MAKE: set_obj_flag(object, 0, TR0_SP) L:MAKE: object.pval = 1 L:MAKE: object.cost = object.cost - 2500 L:MAKE: end L:MAKE: add_ego_power(EGO_XTRA_ANY_RESIST, object) N:78:of Sharpness X:24:20 W:50:2:0:0 F:VORPAL | TUNNEL L:MAKE: object.pval = m_bonus(5, level) + 1 N:79:of Earthquakes X:24:20 W:50:2:0:0 F:TUNNEL | IMPACT L:MAKE: object.pval = m_bonus(3, level) + 3 L:MAKE: if (one_in_(3) ~= 0) then L:MAKE: set_obj_flag(object, 0, TR0_BLOWS) L:MAKE: object.pval = object.pval - object.dd / 2 L:MAKE: if object.pval < 1 then object.pval = 1 end L:MAKE: end # The "Slay" brands (8) N:80:of Slay Animal X:24:18 W:30:3:0:0 F:SLAY_ANIMAL N:81:of Slay Evil X:24:18 W:20:3:0:0 F:SLAY_EVIL N:82:of Slay Undead X:24:18 W:20:3:0:0 F:SLAY_UNDEAD | HOLD_LIFE N:83:of Slay Demon X:24:14 W:30:2:0:0 F:SLAY_DEMON N:84:of Slay Orc X:24:10 W:0:2:0:0 F:SLAY_ORC N:85:of Slay Troll X:24:10 W:40:2:0:0 F:SLAY_TROLL N:86:of Slay Giant X:24:14 W:60:2:0:0 F:SLAY_GIANT N:87:of Slay Dragon X:24:18 W:40:3:0:0 F:SLAY_DRAGON L:MAKE: add_ego_power(EGO_XTRA_LO_RESIST, object) # The "Kill" brands (8) N:88:of *Slay* Animal X:24:20 W:40:15:0:0 C:0:0:0:2 F:INT | SLAY_ANIMAL | REGEN N:89:of *Slay* Evil X:24:20 W:80:15:0:0 C:0:0:0:2 F:WIS | SLAY_EVIL | BLESSED | RES_FEAR N:90:of *Slay* Undead X:24:24 W:50:15:0:0 C:0:0:0:2 F:WIS | SLAY_UNDEAD | SEE_INVIS | RES_NETHER N:91:of *Slay* Demon X:24:16 W:40:10:0:0 C:0:0:0:2 F:INT | SLAY_DEMON N:92:of *Slay* Orc X:24:14 W:20:10:0:0 C:0:0:0:2 F:DEX | SLAY_ORC N:93:of *Slay* Troll X:24:14 W:50:10:0:0 C:0:0:0:2 F:STR | SLAY_TROLL N:94:of *Slay* Giant X:24:16 W:50:10:0:0 C:0:0:0:2 F:STR | SLAY_GIANT N:95:of *Slay* Dragon X:24:24 W:70:15:0:0 C:0:0:0:1 F:CON | SLAY_DRAGON | KILL_DRAGON L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_RES_POIS) end L:MAKE: add_ego_power(EGO_XTRA_LO_RESIST, object) L:MAKE: add_ego_power(EGO_XTRA_LO_RESIST, object) N:96:(Vampiric) X:24:25 W:70:3:0:0 F:VAMPIRIC | HOLD_LIFE # 97 (unused) N:98:(Trump Weapon) X:24:22 W:30:3:0:500 C:4:4:0:2 F:SLAY_EVIL | TELEPORT | FREE_ACT | SENSE | F:REGEN | SLOW_DIGEST | RES_NEXUS | ACTIVATE L:USE: msgf("Your weapon twists space around you...") L:USE: teleport_player(100) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "teleport every 50-100 turns" L:MAKE: if (one_in_(5) ~= 0) then set_obj_flag(object, 0, TR0_SLAY_DEMON) end L:MAKE: if (one_in_(7) ~= 0) then add_ego_power(EGO_XTRA_ABILITY, object) end L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:99:(Pattern Weapon) X:24:26 W:50:6:0:0 C:6:6:0:2 F:STR | CON | F:SLAY_EVIL | SLAY_DEMON | SLAY_UNDEAD | F:FREE_ACT | SEE_INVIS | L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_HOLD_LIFE) end L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 0, TR0_DEX) end L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_RES_FEAR) end L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) N:100:of Digging # Hack - digging items have a "slot" of 22 X:22:4 W:0:1:0:0 C:0:0:0:5 F:TUNNEL | BRAND_ACID | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD # 101 (unused) N:102:of Morgul X:24:0 W:5:1:0:0 C:-20:-20:-10:0 F:SEE_INVIS | AGGRAVATE | HEAVY_CURSE | CURSED # 103 (unused) ### Missile Launchers ### N:104:of Accuracy X:25:10 W:0:1:0:50 C:15:5:0:0 N:105:of Velocity X:25:10 W:20:1:0:50 C:5:15:0:0 N:106:of Hunting X:25:10 W:0:4:0:0 C:8:8:0:0 F:WILD_SHOT | SLAY_ANIMAL # 107 (unused) N:108:of Extra Might X:25:20 W:40:1:0:0 C:5:10:0:0 F:XTRA_MIGHT L:MAKE: add_ego_power(EGO_XTRA_ANY_RESIST, object) N:109:of Extra Shots X:25:20 C:10:5:0:0 W:50:1:0:0 F:XTRA_SHOTS # 110 (unused) # 111 (unused) ### Ammo ### N:112:of Hurt Animal X:23:10 W:0:1:0:0 F:SLAY_ANIMAL N:113:of Hurt Evil X:23:10 W:0:1:0:0 F:SLAY_EVIL # 114 (unused) # 115 (unused) # 116 (unused) N:117:of Returning X:23:5 F:RETURN W:0:1:0:0 N:118:of Explosion X:23:10 F:EXPLODE W:30:1:0:0 N:119:of Hurt Dragon X:23:10 F:SLAY_DRAGON W:0:1:0:0 N:120:of Slaying X:23:15 W:0:1:0:0 C:12:12:0:0 L:MAKE: object.ds = object.ds + (object.ds * randint1(5)) / 5 N:121:of Shocking X:23:10 F:BRAND_ELEC | IGNORE_ELEC W:0:1:0:0 N:122:of Flame X:23:10 F:BRAND_FIRE | IGNORE_FIRE W:0:1:0:0 N:123:of Frost X:23:10 F:BRAND_COLD | IGNORE_COLD W:0:1:0:0 N:124:of Wounding X:23:5 W:0:1:0:20 C:6:6:0:0 N:125:of Backbiting X:23:0 W:0:1:0:-100 C:-50:-50:0:0 ### Special Broken Items ### # Destroyed Weapon N:126:(Shattered) X:0:0 W:0:0:0:-100 C:-5:-5:0:0 # Destroyed Body Armor N:127:(Blasted) X:0:0 W:0:0:0:-100 C:0:0:-10:0