From ebe353f105bb31ebdd1d401a701714fbdfa422ce Mon Sep 17 00:00:00 2001 From: Eric Robinson <68359262+kphoenix137@users.noreply.github.com> Date: Thu, 11 Apr 2024 08:56:28 -0400 Subject: [PATCH] Revise how unique cursor graphic is obtained (#7066) --- Source/itemdat.cpp | 54 +++++- Source/itemdat.h | 56 +++++- Source/items.cpp | 6 +- assets/txtdata/items/itemdat.tsv | 2 +- assets/txtdata/items/unique_itemdat.tsv | 222 ++++++++++++------------ 5 files changed, 216 insertions(+), 124 deletions(-) diff --git a/Source/itemdat.cpp b/Source/itemdat.cpp index e306d54a2..4162746de 100644 --- a/Source/itemdat.cpp +++ b/Source/itemdat.cpp @@ -73,8 +73,13 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "GOLD_SMALL") return ICURS_GOLD_SMALL; if (value == "GOLD_MEDIUM") return ICURS_GOLD_MEDIUM; if (value == "GOLD_LARGE") return ICURS_GOLD_LARGE; + if (value == "THE_BLEEDER") return ICURS_THE_BLEEDER; + if (value == "BRAMBLE") return ICURS_BRAMBLE; if (value == "RING_OF_TRUTH") return ICURS_RING_OF_TRUTH; + if (value == "RING_OF_REGHA") return ICURS_RING_OF_REGHA; if (value == "RING") return ICURS_RING; + if (value == "RING_OF_ENGAGEMENT") return ICURS_RING_OF_ENGAGEMENT; + if (value == "CONSTRICTING_RING") return ICURS_CONSTRICTING_RING; if (value == "SPECTRAL_ELIXIR") return ICURS_SPECTRAL_ELIXIR; if (value == "ARENA_POTION") return ICURS_ARENA_POTION; if (value == "GOLDEN_ELIXIR") return ICURS_GOLDEN_ELIXIR; @@ -96,9 +101,13 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "BRAIN") return ICURS_BRAIN; if (value == "OPTIC_AMULET") return ICURS_OPTIC_AMULET; if (value == "AMULET") return ICURS_AMULET; + if (value == "WIZARDSPIKE") return ICURS_WIZARDSPIKE; if (value == "DAGGER") return ICURS_DAGGER; + if (value == "BLACK_RAZOR") return ICURS_BLACK_RAZOR; + if (value == "GONNAGALS_DIRK") return ICURS_GONNAGALS_DIRK; if (value == "BLADE") return ICURS_BLADE; if (value == "BASTARD_SWORD") return ICURS_BASTARD_SWORD; + if (value == "THE_EXECUTIONERS_BLADE") return ICURS_THE_EXECUTIONERS_BLADE; if (value == "MACE") return ICURS_MACE; if (value == "LONG_SWORD") return ICURS_LONG_SWORD; if (value == "BROAD_SWORD") return ICURS_BROAD_SWORD; @@ -108,37 +117,48 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "CLAYMORE") return ICURS_CLAYMORE; if (value == "CLUB") return ICURS_CLUB; if (value == "SABRE") return ICURS_SABRE; + if (value == "GRYPHONS_CLAW") return ICURS_GRYPHONS_CLAW; if (value == "SPIKED_CLUB") return ICURS_SPIKED_CLUB; if (value == "SCIMITAR") return ICURS_SCIMITAR; if (value == "FULL_HELM") return ICURS_FULL_HELM; if (value == "MAGIC_ROCK") return ICURS_MAGIC_ROCK; + if (value == "HELM_OF_SPIRITS") return ICURS_HELM_OF_SPIRITS; if (value == "THE_UNDEAD_CROWN") return ICURS_THE_UNDEAD_CROWN; + if (value == "ROYAL_CIRCLET") return ICURS_ROYAL_CIRCLET; + if (value == "FOOLS_CREST") return ICURS_FOOLS_CREST; + if (value == "HARLEQUIN_CREST") return ICURS_HARLEQUIN_CREST; if (value == "HELM") return ICURS_HELM; if (value == "BUCKLER") return ICURS_BUCKLER; - if (value == "VIEL_OF_STEEL") return ICURS_VIEL_OF_STEEL; + if (value == "VEIL_OF_STEEL") return ICURS_VEIL_OF_STEEL; if (value == "BOOK_GREY") return ICURS_BOOK_GREY; if (value == "BOOK_RED") return ICURS_BOOK_RED; if (value == "BOOK_BLUE") return ICURS_BOOK_BLUE; if (value == "BLACK_MUSHROOM") return ICURS_BLACK_MUSHROOM; if (value == "SKULL_CAP") return ICURS_SKULL_CAP; if (value == "CAP") return ICURS_CAP; - if (value == "HARLEQUIN_CREST") return ICURS_HARLEQUIN_CREST; + if (value == "TORN_FLESH_OF_SOULS") return ICURS_TORN_FLESH_OF_SOULS; + if (value == "THINKING_CAP") return ICURS_THINKING_CAP; if (value == "CROWN") return ICURS_CROWN; if (value == "MAP_OF_THE_STARS") return ICURS_MAP_OF_THE_STARS; if (value == "FUNGAL_TOME") return ICURS_FUNGAL_TOME; if (value == "GREAT_HELM") return ICURS_GREAT_HELM; + if (value == "OVERLORDS_HELM") return ICURS_OVERLORDS_HELM; if (value == "BATTLE_AXE") return ICURS_BATTLE_AXE; if (value == "HUNTERS_BOW") return ICURS_HUNTERS_BOW; if (value == "FIELD_PLATE") return ICURS_FIELD_PLATE; + if (value == "STONECLEAVER") return ICURS_STONECLEAVER; if (value == "SMALL_SHIELD") return ICURS_SMALL_SHIELD; if (value == "CLEAVER") return ICURS_CLEAVER; if (value == "STUDDED_LEATHER_ARMOR") return ICURS_STUDDED_LEATHER_ARMOR; + if (value == "DEADLY_HUNTER") return ICURS_DEADLY_HUNTER; if (value == "SHORT_STAFF") return ICURS_SHORT_STAFF; if (value == "TWO_HANDED_SWORD") return ICURS_TWO_HANDED_SWORD; if (value == "CHAIN_MAIL") return ICURS_CHAIN_MAIL; if (value == "SMALL_AXE") return ICURS_SMALL_AXE; if (value == "KITE_SHIELD") return ICURS_KITE_SHIELD; if (value == "SCALE_MAIL") return ICURS_SCALE_MAIL; + if (value == "SPLIT_SKULL_SHIELD") return ICURS_SPLIT_SKULL_SHIELD; + if (value == "DRAGONS_BREACH") return ICURS_DRAGONS_BREACH; if (value == "SHORT_BOW") return ICURS_SHORT_BOW; if (value == "LONG_BATTLE_BOW") return ICURS_LONG_BATTLE_BOW; if (value == "LONG_WAR_BOW") return ICURS_LONG_WAR_BOW; @@ -157,11 +177,13 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "LEATHER_ARMOR") return ICURS_LEATHER_ARMOR; if (value == "SPLINT_MAIL") return ICURS_SPLINT_MAIL; if (value == "ROBE") return ICURS_ROBE; + if (value == "THE_RAINBOW_CLOAK") return ICURS_THE_RAINBOW_CLOAK; if (value == "ANVIL_OF_FURY") return ICURS_ANVIL_OF_FURY; if (value == "BROAD_AXE") return ICURS_BROAD_AXE; if (value == "LARGE_AXE") return ICURS_LARGE_AXE; if (value == "GREAT_AXE") return ICURS_GREAT_AXE; if (value == "AXE") return ICURS_AXE; + if (value == "BLACKOAK_SHIELD") return ICURS_BLACKOAK_SHIELD; if (value == "LARGE_SHIELD") return ICURS_LARGE_SHIELD; if (value == "GOTHIC_SHIELD") return ICURS_GOTHIC_SHIELD; if (value == "CLOAK") return ICURS_CLOAK; @@ -172,10 +194,27 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "RING_MAIL") return ICURS_RING_MAIL; if (value == "STAFF_OF_LAZARUS") return ICURS_STAFF_OF_LAZARUS; if (value == "ARKAINES_VALOR") return ICURS_ARKAINES_VALOR; + if (value == "THE_NEEDLER") return ICURS_THE_NEEDLER; + if (value == "NAJS_LIGHT_PLATE") return ICURS_NAJS_LIGHT_PLATE; + if (value == "THE_GRIZZLY") return ICURS_THE_GRIZZLY; + if (value == "THE_GRANDFATHER") return ICURS_THE_GRANDFATHER; + if (value == "THE_PROTECTOR") return ICURS_THE_PROTECTOR; + if (value == "MESSERSCHMIDTS_REAVER") return ICURS_MESSERSCHMIDTS_REAVER; + if (value == "WINDFORCE") return ICURS_WINDFORCE; if (value == "SHORT_WAR_BOW") return ICURS_SHORT_WAR_BOW; if (value == "COMPOSITE_STAFF") return ICURS_COMPOSITE_STAFF; if (value == "SHORT_BATTLE_BOW") return ICURS_SHORT_BATTLE_BOW; + if (value == "XORINES_RING") return ICURS_XORINES_RING; + if (value == "AMULET_OF_WARDING") return ICURS_AMULET_OF_WARDING; + if (value == "KARIKS_RING") return ICURS_KARIKS_RING; + if (value == "MERCURIAL_RING") return ICURS_MERCURIAL_RING; + if (value == "RING_OF_THUNDER") return ICURS_RING_OF_THUNDER; + if (value == "GIANTS_KNUCKLE") return ICURS_GIANTS_KNUCKLE; if (value == "AURIC_AMULET") return ICURS_AURIC_AMULET; + if (value == "RING_OF_THE_MYSTICS") return ICURS_RING_OF_THE_MYSTICS; + if (value == "ACOLYTES_AMULET") return ICURS_ACOLYTES_AMULET; + if (value == "RING_OF_MAGMA") return ICURS_RING_OF_MAGMA; + if (value == "GLADIATORS_RING") return ICURS_GLADIATORS_RING; if (value == "RUNE_BOMB") return ICURS_RUNE_BOMB; if (value == "THEODORE") return ICURS_THEODORE; if (value == "TORN_NOTE_1") return ICURS_TORN_NOTE_1; @@ -189,6 +228,15 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "RUNE_OF_STONE") return ICURS_RUNE_OF_STONE; if (value == "GREY_SUIT") return ICURS_GREY_SUIT; if (value == "BROWN_SUIT") return ICURS_BROWN_SUIT; + if (value == "EATER_OF_SOULS") return ICURS_EATER_OF_SOULS; + if (value == "ARMOR_OF_GLOOM") return ICURS_ARMOR_OF_GLOOM; + if (value == "BONE_CHAIN_ARMOR") return ICURS_BONE_CHAIN_ARMOR; + if (value == "THUNDERCLAP") return ICURS_THUNDERCLAP; + if (value == "DIAMONDEDGE") return ICURS_DIAMONDEDGE; + if (value == "FLAMBEAU") return ICURS_FLAMBEAU; + if (value == "GNAT_STING") return ICURS_GNAT_STING; + if (value == "BLITZEN") return ICURS_BLITZEN; + if (value == "DEMON_PLATE_ARMOR") return ICURS_DEMON_PLATE_ARMOR; if (value == "BOVINE") return ICURS_BOVINE; return tl::make_unexpected("Unknown enum value"); } @@ -411,7 +459,6 @@ tl::expected ParseItemEffectType(std::string_view if (value == "MULT_ARROWS") return IPL_MULT_ARROWS; if (value == "FIRE_ARROWS") return IPL_FIRE_ARROWS; if (value == "LIGHT_ARROWS") return IPL_LIGHT_ARROWS; - if (value == "INVCURS") return IPL_INVCURS; if (value == "THORNS") return IPL_THORNS; if (value == "NOMANA") return IPL_NOMANA; if (value == "FIREBALL") return IPL_FIREBALL; @@ -531,6 +578,7 @@ void LoadUniqueItemDat() RecordReader reader { record, filename }; UniqueItem &item = UniqueItems.emplace_back(); reader.readString("name", item.UIName); + reader.read("cursorGraphic", item.UICurs, ParseItemCursorGraphic); reader.read("uniqueBaseItem", item.UIItemId, ParseUniqueBaseItem); reader.readInt("minLevel", item.UIMinLvl); reader.readInt("value", item.UIValue); diff --git a/Source/itemdat.h b/Source/itemdat.h index 8df87122a..e01a123d0 100644 --- a/Source/itemdat.h +++ b/Source/itemdat.h @@ -116,8 +116,13 @@ enum item_cursor_graphic : uint8_t { ICURS_GOLD_SMALL = 4, ICURS_GOLD_MEDIUM = 5, ICURS_GOLD_LARGE = 6, + ICURS_THE_BLEEDER = 8, + ICURS_BRAMBLE = 9, ICURS_RING_OF_TRUTH = 10, + ICURS_RING_OF_REGHA = 11, ICURS_RING = 12, + ICURS_RING_OF_ENGAGEMENT = 13, + ICURS_CONSTRICTING_RING = 14, ICURS_SPECTRAL_ELIXIR = 15, ICURS_ARENA_POTION = 16, ICURS_GOLDEN_ELIXIR = 17, @@ -139,9 +144,13 @@ enum item_cursor_graphic : uint8_t { ICURS_BRAIN = 40, ICURS_OPTIC_AMULET = 44, ICURS_AMULET = 45, + ICURS_WIZARDSPIKE = 50, ICURS_DAGGER = 51, + ICURS_BLACK_RAZOR = 53, + ICURS_GONNAGALS_DIRK = 54, ICURS_BLADE = 56, ICURS_BASTARD_SWORD = 57, + ICURS_THE_EXECUTIONERS_BLADE = 58, ICURS_MACE = 59, ICURS_LONG_SWORD = 60, ICURS_BROAD_SWORD = 61, @@ -151,37 +160,48 @@ enum item_cursor_graphic : uint8_t { ICURS_CLAYMORE = 65, ICURS_CLUB = 66, ICURS_SABRE = 67, + ICURS_GRYPHONS_CLAW = 68, ICURS_SPIKED_CLUB = 70, ICURS_SCIMITAR = 72, ICURS_FULL_HELM = 75, ICURS_MAGIC_ROCK = 76, + ICURS_HELM_OF_SPIRITS = 77, ICURS_THE_UNDEAD_CROWN = 78, + ICURS_ROYAL_CIRCLET = 79, + ICURS_FOOLS_CREST = 80, + ICURS_HARLEQUIN_CREST = 81, ICURS_HELM = 82, ICURS_BUCKLER = 83, - ICURS_VIEL_OF_STEEL = 85, + ICURS_VEIL_OF_STEEL = 85, ICURS_BOOK_GREY = 86, ICURS_BOOK_RED = 87, ICURS_BOOK_BLUE = 88, ICURS_BLACK_MUSHROOM = 89, ICURS_SKULL_CAP = 90, ICURS_CAP = 91, - ICURS_HARLEQUIN_CREST = 93, + ICURS_TORN_FLESH_OF_SOULS = 92, + ICURS_THINKING_CAP = 93, ICURS_CROWN = 95, ICURS_MAP_OF_THE_STARS = 96, ICURS_FUNGAL_TOME = 97, ICURS_GREAT_HELM = 98, + ICURS_OVERLORDS_HELM = 99, ICURS_BATTLE_AXE = 101, ICURS_HUNTERS_BOW = 102, ICURS_FIELD_PLATE = 103, + ICURS_STONECLEAVER = 104, ICURS_SMALL_SHIELD = 105, ICURS_CLEAVER = 106, ICURS_STUDDED_LEATHER_ARMOR = 107, + ICURS_DEADLY_HUNTER = 108, ICURS_SHORT_STAFF = 109, ICURS_TWO_HANDED_SWORD = 110, ICURS_CHAIN_MAIL = 111, ICURS_SMALL_AXE = 112, ICURS_KITE_SHIELD = 113, ICURS_SCALE_MAIL = 114, + ICURS_SPLIT_SKULL_SHIELD = 116, + ICURS_DRAGONS_BREACH = 117, ICURS_SHORT_BOW = 118, ICURS_LONG_BATTLE_BOW = 119, ICURS_LONG_WAR_BOW = 120, @@ -200,11 +220,13 @@ enum item_cursor_graphic : uint8_t { ICURS_LEATHER_ARMOR = 135, ICURS_SPLINT_MAIL = 136, ICURS_ROBE = 137, + ICURS_THE_RAINBOW_CLOAK = 138, ICURS_ANVIL_OF_FURY = 140, ICURS_BROAD_AXE = 141, ICURS_LARGE_AXE = 142, ICURS_GREAT_AXE = 143, ICURS_AXE = 144, + ICURS_BLACKOAK_SHIELD = 146, ICURS_LARGE_SHIELD = 147, ICURS_GOTHIC_SHIELD = 148, ICURS_CLOAK = 149, @@ -215,11 +237,28 @@ enum item_cursor_graphic : uint8_t { ICURS_RING_MAIL = 154, ICURS_STAFF_OF_LAZARUS = 155, ICURS_ARKAINES_VALOR = 157, + ICURS_THE_NEEDLER = 158, + ICURS_NAJS_LIGHT_PLATE = 159, + ICURS_THE_GRIZZLY = 160, + ICURS_THE_GRANDFATHER = 161, + ICURS_THE_PROTECTOR = 162, + ICURS_MESSERSCHMIDTS_REAVER = 163, + ICURS_WINDFORCE = 164, ICURS_SHORT_WAR_BOW = 165, ICURS_COMPOSITE_STAFF = 166, ICURS_SHORT_BATTLE_BOW = 167, // Hellfire items: + ICURS_XORINES_RING = 168, + ICURS_AMULET_OF_WARDING = 170, + ICURS_KARIKS_RING = 173, + ICURS_MERCURIAL_RING = 176, + ICURS_RING_OF_THUNDER = 177, + ICURS_GIANTS_KNUCKLE = 179, ICURS_AURIC_AMULET = 180, + ICURS_RING_OF_THE_MYSTICS = 181, + ICURS_ACOLYTES_AMULET = 183, + ICURS_RING_OF_MAGMA = 184, + ICURS_GLADIATORS_RING = 186, ICURS_RUNE_BOMB = 187, ICURS_THEODORE = 188, ICURS_TORN_NOTE_1 = 189, @@ -233,6 +272,15 @@ enum item_cursor_graphic : uint8_t { ICURS_RUNE_OF_STONE = 197, ICURS_GREY_SUIT = 198, ICURS_BROWN_SUIT = 199, + ICURS_EATER_OF_SOULS = 200, + ICURS_ARMOR_OF_GLOOM = 203, + ICURS_BONE_CHAIN_ARMOR = 204, + ICURS_THUNDERCLAP = 205, + ICURS_DIAMONDEDGE = 206, + ICURS_FLAMBEAU = 209, + ICURS_GNAT_STING = 210, + ICURS_BLITZEN = 219, + ICURS_DEMON_PLATE_ARMOR = 225, ICURS_BOVINE = 226, // clang-format on }; @@ -504,8 +552,7 @@ enum item_effect_type : int8_t { IPL_MULT_ARROWS = 41, /* only used in hellfire */ IPL_FIRE_ARROWS, IPL_LIGHT_ARROWS, - IPL_INVCURS, - IPL_THORNS, + IPL_THORNS = 45, IPL_NOMANA, IPL_FIREBALL = 50, /* only used in hellfire */ IPL_ABSHALFTRAP = 52, @@ -588,6 +635,7 @@ struct PLStruct { struct UniqueItem { std::string UIName; + enum item_cursor_graphic UICurs; enum unique_base_item UIItemId; int8_t UIMinLvl; uint8_t UINumPL; diff --git a/Source/items.cpp b/Source/items.cpp index adcefae50..2e6d96d43 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -989,9 +989,6 @@ int SaveItemPower(const Player &player, Item &item, ItemPower &power) case IPL_NOMINSTR: item._iMinStr = 0; break; - case IPL_INVCURS: - item._iCurs = power.param1; - break; case IPL_ADDACLIFE: item._iFlags |= (ItemSpecialEffect::LightningArrows | ItemSpecialEffect::FireArrows); item._iFMinDam = power.param1; @@ -1488,6 +1485,7 @@ void GetUniqueItem(const Player &player, Item &item, _unique_items uid) } CopyUtf8(item._iIName, UniqueItems[uid].UIName, sizeof(item._iIName)); + item._iCurs = UniqueItems[uid].UICurs; item._iIvalue = UniqueItems[uid].UIValue; if (item._iMiscId == IMISC_UNIQUE) @@ -3861,8 +3859,6 @@ bool DoOil(Player &player, int cii) return _("life stealing"); case IPL_NOMINSTR: return _("no strength requirement"); - case IPL_INVCURS: - return { std::string_view(" ") }; case IPL_ADDACLIFE: if (item._iFMinDam == item._iFMaxDam) return fmt::format(fmt::runtime(_("lightning damage: {:d}")), item._iFMinDam); diff --git a/assets/txtdata/items/itemdat.tsv b/assets/txtdata/items/itemdat.tsv index f5f39011a..a0fb89f6d 100644 --- a/assets/txtdata/items/itemdat.tsv +++ b/assets/txtdata/items/itemdat.tsv @@ -13,7 +13,7 @@ IDI_OPTAMULET Never Misc Amulet OPTIC_AMULET Amulet OPTAMULET Optic Amulet 0 0 IDI_TRING Never Misc Ring RING_OF_TRUTH Ring TRING Ring of Truth 0 0 0 0 0 0 0 0 0 UNIQUE Null false 1000 IDI_BANNER Never Quest Unequippable TAVERN_SIGN Misc NONE Tavern Sign 0 0 0 0 0 0 0 0 0 NONE Null false 0 IDI_HARCREST Never Armor Helm HARLEQUIN_CREST Helm HARCREST Harlequin Crest 0 15 0 0 0 0 0 0 0 UNIQUE Null false 15 -IDI_STEELVEIL Never Armor Helm VIEL_OF_STEEL Helm STEELVEIL Veil of Steel 0 60 0 0 18 18 0 0 0 UNIQUE Null false 0 +IDI_STEELVEIL Never Armor Helm VEIL_OF_STEEL Helm STEELVEIL Veil of Steel 0 60 0 0 18 18 0 0 0 UNIQUE Null false 0 IDI_GLDNELIX Never Misc Unequippable GOLDEN_ELIXIR Misc ELIXIR Golden Elixir 15 0 0 0 0 0 0 0 0 NONE Null false 0 IDI_ANVIL Never Quest Unequippable ANVIL_OF_FURY Misc NONE Anvil of Fury 0 0 0 0 0 0 0 0 0 NONE Null false 0 IDI_MUSHROOM Never Quest Unequippable BLACK_MUSHROOM Misc NONE Black Mushroom 0 0 0 0 0 0 0 0 0 NONE Null false 0 diff --git a/assets/txtdata/items/unique_itemdat.tsv b/assets/txtdata/items/unique_itemdat.tsv index 84c1c8070..af944707b 100644 --- a/assets/txtdata/items/unique_itemdat.tsv +++ b/assets/txtdata/items/unique_itemdat.tsv @@ -1,111 +1,111 @@ -name uniqueBaseItem minLevel value power0 power0.value1 power0.value2 power1 power1.value1 power1.value2 power2 power2.value1 power2.value2 power3 power3.value1 power3.value2 power4 power4.value1 power4.value2 power5 power5.value1 power5.value2 -The Butcher's Cleaver CLEAVER 1 3650 STR 10 10 SETDAM 4 24 SETDUR 10 10 -The Undead Crown SKCROWN 1 16650 RNDSTEALLIFE SETAC 8 8 INVCURS 77 -Empyrean Band INFRARING 1 8000 ATTRIBS 2 2 LIGHT 2 2 FASTRECOVER 1 1 ABSHALFTRAP -Optic Amulet OPTAMULET 1 9750 LIGHT 2 2 LIGHTRES 20 20 GETHIT 1 1 MAG 5 5 INVCURS 44 -Ring of Truth TRING 1 9100 LIFE 10 10 GETHIT 1 1 ALLRES 10 10 INVCURS 10 -Harlequin Crest HARCREST 1 4000 AC_CURSE 3 3 GETHIT 1 1 ATTRIBS 2 2 LIFE 7 7 MANA 7 7 INVCURS 81 -Veil of Steel STEELVEIL 1 63800 ALLRES 50 50 LIGHT_CURSE 2 2 ACP 60 60 MANA_CURSE 30 30 STR 15 15 VIT 15 15 -Arkaine's Valor ARMOFVAL 1 42000 SETAC 25 25 VIT 10 10 GETHIT 3 3 FASTRECOVER 3 3 -Griswold's Edge GRISWOLD 1 42000 FIREDAM 1 10 TOHIT 25 25 FASTATTACK 2 2 KNOCKBACK MANA 20 20 LIFE_CURSE 20 20 -Bovine Plate BOVINE 1 400 SETAC 150 150 INDESTRUCTIBLE LIGHT 5 5 ALLRES 30 30 MANA_CURSE 50 50 SPLLVLADD -2 -2 -The Rift Bow SHORTBOW 1 1800 RNDARROWVEL DAMMOD 2 2 DEX_CURSE 3 3 -The Needler SHORTBOW 2 8900 TOHIT 50 50 SETDAM 1 3 FASTATTACK 2 2 INVCURS 158 -The Celestial Bow LONGBOW 2 1200 NOMINSTR DAMMOD 2 2 SETAC 5 5 INVCURS 133 -Deadly Hunter COMPBOW 3 8750 3XDAMVDEM 10 10 TOHIT 20 20 MAG_CURSE 5 5 INVCURS 108 -Bow of the Dead COMPBOW 5 2500 TOHIT 10 10 DEX 4 4 VIT_CURSE 3 3 LIGHT_CURSE 2 2 SETDUR 30 30 INVCURS 108 -The Blackoak Bow LONGBOW 5 2500 DEX 10 10 VIT_CURSE 10 10 DAMP 50 50 LIGHT_CURSE 1 1 -Flamedart HUNTBOW 10 14250 FIRE_ARROWS 0 0 FIREDAM 1 6 TOHIT 20 20 FIRERES 40 40 -Fleshstinger LONGBOW 13 16500 DEX 15 15 TOHIT 40 40 DAMP 80 80 DUR 6 6 -Windforce WARBOW 17 37750 STR 5 5 DAMP 200 200 KNOCKBACK INVCURS 164 -Eaglehorn BATTLEBOW 26 42500 DEX 20 20 TOHIT 50 50 DAMP 100 100 INDESTRUCTIBLE INVCURS 108 -Gonnagal's Dirk DAGGER 1 7040 DEX_CURSE 5 5 DAMMOD 4 4 FASTATTACK 2 2 FIRERES 25 25 INVCURS 54 -The Defender SABRE 1 2000 SETAC 5 5 VIT 5 5 TOHIT_CURSE 5 5 -Gryphon's Claw FALCHION 1 1000 DAMP 100 100 MAG_CURSE 2 2 DEX_CURSE 5 5 INVCURS 68 -Black Razor DAGGER 1 2000 DAMP 150 150 VIT 2 2 SETDUR 5 5 INVCURS 53 -Gibbous Moon BROADSWR 2 6660 ATTRIBS 2 2 DAMP 25 25 MANA 15 15 LIGHT_CURSE 3 3 -Ice Shank LONGSWR 3 5250 FIRERES 40 40 SETDUR 15 15 STR 5 10 -The Executioner's Blade FALCHION 3 7080 DAMP 150 150 LIFE_CURSE 10 10 LIGHT_CURSE 1 1 DUR 200 200 INVCURS 58 -The Bonesaw CLAYMORE 6 4400 DAMMOD 10 10 STR 10 10 MAG_CURSE 5 5 DEX_CURSE 5 5 LIFE 10 10 MANA_CURSE 10 10 -Shadowhawk BROADSWR 8 13750 LIGHT_CURSE 2 2 STEALLIFE 5 5 TOHIT 15 15 ALLRES 5 5 -Wizardspike DAGGER 11 12920 MAG 15 15 MANA 35 35 TOHIT 25 25 ALLRES 15 15 INVCURS 50 -Lightsabre SABRE 13 19150 LIGHT 2 2 LIGHTDAM 1 10 TOHIT 20 20 LIGHTRES 50 50 -The Falcon's Talon SCIMITAR 15 7867 FASTATTACK 4 4 TOHIT 20 20 DAMP_CURSE 33 33 DEX 10 10 INVCURS 68 -Inferno LONGSWR 17 34600 FIREDAM 2 12 LIGHT 3 3 MANA 20 20 FIRERES 80 80 -Doombringer BASTARDSWR 19 18250 TOHIT 25 25 DAMP 250 250 ATTRIBS_CURSE 5 5 LIFE_CURSE 25 25 LIGHT_CURSE 2 2 -The Grizzly TWOHANDSWR 23 50000 STR 20 20 VIT_CURSE 5 5 DAMP 200 200 KNOCKBACK DUR 100 100 INVCURS 160 -The Grandfather GREATSWR 27 119800 ONEHAND ATTRIBS 5 5 TOHIT 20 20 DAMP 70 70 LIFE 20 20 INVCURS 161 -The Mangler LARGEAXE 2 2850 DAMP 200 200 DEX_CURSE 5 5 MAG_CURSE 5 5 MANA_CURSE 10 10 INVCURS 144 -Sharp Beak LARGEAXE 2 2850 LIFE 20 20 MAG_CURSE 10 10 MANA_CURSE 10 10 INVCURS 143 -BloodSlayer BROADAXE 3 2500 DAMP 100 100 3XDAMVDEM 50 50 ATTRIBS_CURSE 5 5 SPLLVLADD -1 -1 INVCURS 144 -The Celestial Axe BATTLEAXE 4 14100 NOMINSTR TOHIT 15 15 LIFE 15 15 STR_CURSE 15 15 -Wicked Axe LARGEAXE 5 31150 TOHIT 30 30 DEX 10 10 VIT_CURSE 10 10 GETHIT 1 6 INDESTRUCTIBLE INVCURS 143 -Stonecleaver BROADAXE 7 23900 LIFE 30 30 TOHIT 20 20 DAMP 50 50 LIGHTRES 40 40 INVCURS 104 -Aguinara's Hatchet SMALLAXE 12 24800 SPLLVLADD 1 1 MAG 10 10 MAGICRES 80 80 -Hellslayer BATTLEAXE 15 26200 STR 8 8 VIT 8 8 DAMP 100 100 LIFE 25 25 MANA_CURSE 25 25 -Messerschmidt's Reaver GREATAXE 25 58000 DAMP 200 200 DAMMOD 15 15 ATTRIBS 5 5 LIFE_CURSE 50 50 FIREDAM 2 12 INVCURS 163 -Crackrust MACE 1 11375 ATTRIBS 2 2 INDESTRUCTIBLE ALLRES 15 15 DAMP 50 50 SPLLVLADD -1 -1 -Hammer of Jholm MAUL 1 8700 DAMP 4 10 INDESTRUCTIBLE STR 3 3 TOHIT 15 15 -Civerb's Cudgel MACE 1 2000 3XDAMVDEM 35 35 DEX_CURSE 5 5 MAG_CURSE 2 2 -The Celestial Star FLAIL 2 7810 NOMINSTR LIGHT 2 2 DAMMOD 10 10 AC_CURSE 8 8 INVCURS 131 -Baranar's Star MORNSTAR 5 6850 TOHIT 12 12 DAMP 80 80 FASTATTACK 1 1 VIT 4 4 DEX_CURSE 4 4 SETDUR 60 60 -Gnarled Root SPIKCLUB 9 9820 TOHIT 20 20 DAMP 300 300 DEX 10 10 MAG 5 5 ALLRES 10 10 AC_CURSE 10 10 -The Cranium Basher MAUL 12 36500 DAMMOD 20 20 STR 15 15 INDESTRUCTIBLE MANA_CURSE 150 150 ALLRES 5 5 INVCURS 122 -Schaefer's Hammer WARHAMMER 16 56125 DAMP_CURSE 100 100 LIGHTDAM 1 50 LIFE 50 50 TOHIT 30 30 LIGHTRES 80 80 LIGHT 1 1 -Dreamflange MACE 26 26450 MAG 30 30 MANA 50 50 MAGICRES 50 50 LIGHT 2 2 SPLLVLADD 1 1 -Staff of Shadows LONGSTAFF 2 1250 MAG_CURSE 10 10 TOHIT 10 10 DAMP 60 60 LIGHT_CURSE 2 2 FASTATTACK 1 1 -Immolator LONGSTAFF 4 3900 FIRERES 20 20 FIREDAM 4 4 MANA 10 10 VIT_CURSE 5 5 -Storm Spire WARSTAFF 8 22500 LIGHTRES 50 50 LIGHTDAM 2 8 STR 10 10 MAG_CURSE 10 10 -Gleamsong SHORTSTAFF 8 6520 MANA 25 25 STR_CURSE 3 3 VIT_CURSE 3 3 SPELL 10 76 -Thundercall COMPSTAFF 14 22250 TOHIT 35 35 LIGHTDAM 1 10 SPELL 3 76 LIGHTRES 30 30 LIGHT 2 2 -The Protector SHORTSTAFF 16 17240 VIT 5 5 GETHIT 5 5 SETAC 40 40 SPELL 2 86 THORNS 1 3 INVCURS 162 -Naj's Puzzler LONGSTAFF 18 34000 MAG 20 20 DEX 10 10 ALLRES 20 20 SPELL 23 57 LIFE_CURSE 25 25 -Mindcry QUARSTAFF 20 41500 MAG 15 15 SPELL 13 69 ALLRES 15 15 SPLLVLADD 1 1 -Rod of Onan WARSTAFF 22 44167 SPELL 21 50 DAMP 100 100 ATTRIBS 5 5 -Helm of Spirits HELM 1 7525 STEALLIFE 5 5 INVCURS 77 -Thinking Cap SKULLCAP 6 2020 MANA 30 30 SPLLVLADD 2 2 ALLRES 20 20 SETDUR 1 1 INVCURS 93 -OverLord's Helm HELM 7 12500 STR 20 20 DEX 15 15 VIT 5 5 MAG_CURSE 20 20 SETDUR 15 15 INVCURS 99 -Fool's Crest HELM 12 10150 ATTRIBS_CURSE 4 4 LIFE 100 100 GETHIT_CURSE 1 6 THORNS 1 3 INVCURS 80 -Gotterdamerung GREATHELM 21 54900 ATTRIBS 20 20 SETAC 60 60 GETHIT 4 4 ALLRESZERO LIGHT_CURSE 4 4 INVCURS 85 -Royal Circlet CROWN 27 24875 ATTRIBS 10 10 MANA 40 40 SETAC 40 40 LIGHT 1 1 INVCURS 79 -Torn Flesh of Souls RAGS 2 4825 SETAC 8 8 VIT 10 10 GETHIT 1 1 INDESTRUCTIBLE INVCURS 92 -The Gladiator's Bane STUDARMOR 6 3450 SETAC 25 25 GETHIT 2 2 DUR 200 200 ATTRIBS_CURSE 3 3 -The Rainbow Cloak CLOAK 2 4900 SETAC 10 10 ATTRIBS 1 1 ALLRES 10 10 LIFE 5 5 DUR 50 50 INVCURS 138 -Leather of Aut LEATHARMOR 4 10550 SETAC 15 15 STR 5 5 MAG_CURSE 5 5 DEX 5 5 INDESTRUCTIBLE -Wisdom's Wrap ROBE 5 6200 MAG 5 5 MANA 10 10 LIGHTRES 25 25 SETAC 15 15 GETHIT 1 1 INVCURS 138 -Sparking Mail CHAINMAIL 9 15750 SETAC 30 30 LIGHTDAM 1 10 -Scavenger Carapace BREASTPLATE 13 14000 GETHIT 15 15 AC_CURSE 30 30 DEX 5 5 LIGHTRES 40 40 -Nightscape CAPE 16 11600 FASTRECOVER 2 2 LIGHT_CURSE 4 4 SETAC 15 15 DEX 3 3 ALLRES 20 20 INVCURS 138 -Naj's Light Plate PLATEMAIL 19 78700 NOMINSTR MAG 5 5 MANA 20 20 ALLRES 20 20 SPLLVLADD 1 1 INVCURS 159 -Demonspike Coat FULLPLATE 25 251175 SETAC 100 100 GETHIT 6 6 STR 10 10 INDESTRUCTIBLE FIRERES 50 50 -The Deflector BUCKLER 1 1500 SETAC 7 7 ALLRES 10 10 DAMP_CURSE 20 20 TOHIT_CURSE 5 5 INVCURS 83 -Split Skull Shield BUCKLER 1 2025 SETAC 10 10 LIFE 10 10 STR 2 2 LIGHT_CURSE 1 1 SETDUR 15 15 INVCURS 116 -Dragon's Breach KITESHIELD 2 19200 FIRERES 25 25 STR 5 5 SETAC 20 20 MAG_CURSE 5 5 INDESTRUCTIBLE INVCURS 117 -Blackoak Shield SMALLSHIELD 4 5725 DEX 10 10 VIT_CURSE 10 10 SETAC 18 18 LIGHT_CURSE 1 1 DUR 150 150 INVCURS 146 -Holy Defender LARGESHIELD 10 13800 SETAC 15 15 GETHIT 2 2 FIRERES 20 20 DUR 200 200 FASTBLOCK 1 1 INVCURS 146 -Stormshield GOTHSHIELD 24 49000 SETAC 40 40 GETHIT_CURSE 4 4 STR 10 10 INDESTRUCTIBLE FASTBLOCK 1 1 INVCURS 148 -Bramble RING 1 1000 ATTRIBS_CURSE 2 2 DAMMOD 3 3 MANA 10 10 INVCURS 9 -Ring of Regha RING 1 4175 MAG 10 10 MAGICRES 10 10 LIGHT 1 1 STR_CURSE 3 3 DEX_CURSE 3 3 INVCURS 11 -The Bleeder RING 2 8500 MAGICRES 20 20 MANA 30 30 LIFE_CURSE 10 10 INVCURS 8 -Constricting Ring RING 5 62000 ALLRES 75 75 DRAINLIFE INVCURS 14 -Ring of Engagement RING 11 12476 GETHIT 1 2 THORNS 1 3 SETAC 5 5 TARGAC 2 2 INVCURS 13 -Giant's Knuckle RING 8 8000 STR 60 60 DEX_CURSE 30 30 INVCURS 179 -Mercurial Ring RING 8 8000 DEX 60 60 STR_CURSE 30 30 INVCURS 176 -Xorine's Ring RING 8 8000 MAG 60 60 STR_CURSE 30 30 INVCURS 168 -Karik's Ring RING 8 8000 VIT 60 60 MAG_CURSE 30 30 INVCURS 173 -Ring of Magma RING 8 8000 FIRERES 60 60 LIGHTRES_CURSE 30 30 MAGICRES_CURSE 30 30 INVCURS 184 -Ring of the Mystics RING 8 8000 MAGICRES 60 60 FIRERES_CURSE 30 30 LIGHTRES_CURSE 30 30 INVCURS 181 -Ring of Thunder RING 8 8000 LIGHTRES 60 60 FIRERES_CURSE 30 30 MAGICRES_CURSE 30 30 INVCURS 177 -Amulet of Warding AMULET 12 30000 ALLRES 40 40 LIFE_CURSE 100 100 INVCURS 170 -Gnat Sting HUNTBOW 15 30000 MULT_ARROWS 3 3 SETDAM 1 2 FASTATTACK 1 1 INDESTRUCTIBLE INVCURS 210 -Flambeau COMPBOW 11 30000 FIREBALL 15 20 SETDAM 0 0 INDESTRUCTIBLE INVCURS 209 -Armor of Gloom FULLPLATE 25 200000 NOMINSTR SETAC 225 225 ALLRESZERO LIGHT_CURSE 2 2 INVCURS 203 -Blitzen COMPBOW 13 30000 ADDACLIFE 10 15 SETDAM 0 0 INDESTRUCTIBLE INVCURS 219 -Thunderclap WARHAMMER 13 30000 ADDMANAAC 3 6 STR 20 20 LIGHTRES 30 30 LIGHT 2 2 INDESTRUCTIBLE INVCURS 205 -Shirotachi GREATSWR 21 36000 ONEHAND FASTATTACK 4 4 TARGAC 2 2 LIGHTDAM 6 6 -Eater of Souls TWOHANDSWR 23 42000 INDESTRUCTIBLE LIFE 50 50 STEALLIFE 5 5 STEALMANA 5 5 DRAINLIFE INVCURS 200 -Diamondedge LONGSWR 17 42000 SETDUR 10 10 TOHIT 50 50 DAMP 100 100 LIGHTRES 50 50 SETAC 10 10 INVCURS 206 -Bone Chain Armor CHAINMAIL 13 36000 SETAC 40 40 ACUNDEAD INVCURS 204 -Demon Plate Armor FULLPLATE 25 80000 SETAC 80 80 ACDEMON INVCURS 225 -Acolyte's Amulet AMULET 10 10000 MANATOLIFE 50 50 INVCURS 183 -Gladiator's Ring RING 10 10000 LIFETOMANA 40 40 INVCURS 186 +name cursorGraphic uniqueBaseItem minLevel value power0 power0.value1 power0.value2 power1 power1.value1 power1.value2 power2 power2.value1 power2.value2 power3 power3.value1 power3.value2 power4 power4.value1 power4.value2 power5 power5.value1 power5.value2 +The Butcher's Cleaver CLEAVER CLEAVER 1 3650 STR 10 10 SETDAM 4 24 SETDUR 10 10 +The Undead Crown HELM_OF_SPIRITS SKCROWN 1 16650 RNDSTEALLIFE SETAC 8 8 +Empyrean Band EMPYREAN_BAND INFRARING 1 8000 ATTRIBS 2 2 LIGHT 2 2 FASTRECOVER 1 1 ABSHALFTRAP +Optic Amulet OPTIC_AMULET OPTAMULET 1 9750 LIGHT 2 2 LIGHTRES 20 20 GETHIT 1 1 MAG 5 5 +Ring of Truth RING_OF_TRUTH TRING 1 9100 LIFE 10 10 GETHIT 1 1 ALLRES 10 10 +Harlequin Crest HARLEQUIN_CREST HARCREST 1 4000 AC_CURSE 3 3 GETHIT 1 1 ATTRIBS 2 2 LIFE 7 7 MANA 7 7 +Veil of Steel VEIL_OF_STEEL STEELVEIL 1 63800 ALLRES 50 50 LIGHT_CURSE 2 2 ACP 60 60 MANA_CURSE 30 30 STR 15 15 VIT 15 15 +Arkaine's Valor ARKAINES_VALOR ARMOFVAL 1 42000 SETAC 25 25 VIT 10 10 GETHIT 3 3 FASTRECOVER 3 3 +Griswold's Edge BROAD_SWORD GRISWOLD 1 42000 FIREDAM 1 10 TOHIT 25 25 FASTATTACK 2 2 KNOCKBACK MANA 20 20 LIFE_CURSE 20 20 +Bovine Plate BOVINE BOVINE 1 400 SETAC 150 150 INDESTRUCTIBLE LIGHT 5 5 ALLRES 30 30 MANA_CURSE 50 50 SPLLVLADD -2 -2 +The Rift Bow SHORT_BOW SHORTBOW 1 1800 RNDARROWVEL DAMMOD 2 2 DEX_CURSE 3 3 +The Needler THE_NEEDLER SHORTBOW 2 8900 TOHIT 50 50 SETDAM 1 3 FASTATTACK 2 2 +The Celestial Bow COMPOSITE_BOW LONGBOW 2 1200 NOMINSTR DAMMOD 2 2 SETAC 5 5 +Deadly Hunter DEADLY_HUNTER COMPBOW 3 8750 3XDAMVDEM 10 10 TOHIT 20 20 MAG_CURSE 5 5 +Bow of the Dead DEADLY_HUNTER COMPBOW 5 2500 TOHIT 10 10 DEX 4 4 VIT_CURSE 3 3 LIGHT_CURSE 2 2 SETDUR 30 30 +The Blackoak Bow HUNTERS_BOW LONGBOW 5 2500 DEX 10 10 VIT_CURSE 10 10 DAMP 50 50 LIGHT_CURSE 1 1 +Flamedart HUNTERS_BOW HUNTBOW 10 14250 FIRE_ARROWS 0 0 FIREDAM 1 6 TOHIT 20 20 FIRERES 40 40 +Fleshstinger HUNTERS_BOW LONGBOW 13 16500 DEX 15 15 TOHIT 40 40 DAMP 80 80 DUR 6 6 +Windforce WINDFORCE WARBOW 17 37750 STR 5 5 DAMP 200 200 KNOCKBACK +Eaglehorn DEADLY_HUNTER BATTLEBOW 26 42500 DEX 20 20 TOHIT 50 50 DAMP 100 100 INDESTRUCTIBLE +Gonnagal's Dirk GONNAGALS_DIRK DAGGER 1 7040 DEX_CURSE 5 5 DAMMOD 4 4 FASTATTACK 2 2 FIRERES 25 25 +The Defender SABRE SABRE 1 2000 SETAC 5 5 VIT 5 5 TOHIT_CURSE 5 5 +Gryphon's Claw GRYPHONS_CLAW FALCHION 1 1000 DAMP 100 100 MAG_CURSE 2 2 DEX_CURSE 5 5 +Black Razor BLACK_RAZOR DAGGER 1 2000 DAMP 150 150 VIT 2 2 SETDUR 5 5 +Gibbous Moon BROAD_SWORD BROADSWR 2 6660 ATTRIBS 2 2 DAMP 25 25 MANA 15 15 LIGHT_CURSE 3 3 +Ice Shank LONG_SWORD LONGSWR 3 5250 FIRERES 40 40 SETDUR 15 15 STR 5 10 +The Executioner's Blade THE_EXECUTIONERS_BLADE FALCHION 3 7080 DAMP 150 150 LIFE_CURSE 10 10 LIGHT_CURSE 1 1 DUR 200 200 +The Bonesaw CLAYMORE CLAYMORE 6 4400 DAMMOD 10 10 STR 10 10 MAG_CURSE 5 5 DEX_CURSE 5 5 LIFE 10 10 MANA_CURSE 10 10 +Shadowhawk BROAD_SWORD BROADSWR 8 13750 LIGHT_CURSE 2 2 STEALLIFE 5 5 TOHIT 15 15 ALLRES 5 5 +Wizardspike WIZARDSPIKE DAGGER 11 12920 MAG 15 15 MANA 35 35 TOHIT 25 25 ALLRES 15 15 +Lightsabre SABRE SABRE 13 19150 LIGHT 2 2 LIGHTDAM 1 10 TOHIT 20 20 LIGHTRES 50 50 +The Falcon's Talon GRYPHONS_CLAW SCIMITAR 15 7867 FASTATTACK 4 4 TOHIT 20 20 DAMP_CURSE 33 33 DEX 10 10 +Inferno LONG_SWORD LONGSWR 17 34600 FIREDAM 2 12 LIGHT 3 3 MANA 20 20 FIRERES 80 80 +Doombringer BASTARD_SWORD BASTARDSWR 19 18250 TOHIT 25 25 DAMP 250 250 ATTRIBS_CURSE 5 5 LIFE_CURSE 25 25 LIGHT_CURSE 2 2 +The Grizzly THE_GRIZZLY TWOHANDSWR 23 50000 STR 20 20 VIT_CURSE 5 5 DAMP 200 200 KNOCKBACK DUR 100 100 +The Grandfather THE_GRANDFATHER GREATSWR 27 119800 ONEHAND ATTRIBS 5 5 TOHIT 20 20 DAMP 70 70 LIFE 20 20 +The Mangler AXE LARGEAXE 2 2850 DAMP 200 200 DEX_CURSE 5 5 MAG_CURSE 5 5 MANA_CURSE 10 10 +Sharp Beak GREAT_AXE LARGEAXE 2 2850 LIFE 20 20 MAG_CURSE 10 10 MANA_CURSE 10 10 +BloodSlayer AXE BROADAXE 3 2500 DAMP 100 100 3XDAMVDEM 50 50 ATTRIBS_CURSE 5 5 SPLLVLADD -1 -1 +The Celestial Axe BATTLE_AXE BATTLEAXE 4 14100 NOMINSTR TOHIT 15 15 LIFE 15 15 STR_CURSE 15 15 +Wicked Axe GREAT_AXE LARGEAXE 5 31150 TOHIT 30 30 DEX 10 10 VIT_CURSE 10 10 GETHIT 1 6 INDESTRUCTIBLE +Stonecleaver STONECLEAVER BROADAXE 7 23900 LIFE 30 30 TOHIT 20 20 DAMP 50 50 LIGHTRES 40 40 +Aguinara's Hatchet SMALL_AXE SMALLAXE 12 24800 SPLLVLADD 1 1 MAG 10 10 MAGICRES 80 80 +Hellslayer BATTLE_AXE BATTLEAXE 15 26200 STR 8 8 VIT 8 8 DAMP 100 100 LIFE 25 25 MANA_CURSE 25 25 +Messerschmidt's Reaver MESSERSCHMIDTS_REAVER GREATAXE 25 58000 DAMP 200 200 DAMMOD 15 15 ATTRIBS 5 5 LIFE_CURSE 50 50 FIREDAM 2 12 +Crackrust MACE MACE 1 11375 ATTRIBS 2 2 INDESTRUCTIBLE ALLRES 15 15 DAMP 50 50 SPLLVLADD -1 -1 +Hammer of Jholm MAUL MAUL 1 8700 DAMP 4 10 INDESTRUCTIBLE STR 3 3 TOHIT 15 15 +Civerb's Cudgel MACE MACE 1 2000 3XDAMVDEM 35 35 DEX_CURSE 5 5 MAG_CURSE 2 2 +The Celestial Star FLAIL FLAIL 2 7810 NOMINSTR LIGHT 2 2 DAMMOD 10 10 AC_CURSE 8 8 +Baranar's Star MORNING_STAR MORNSTAR 5 6850 TOHIT 12 12 DAMP 80 80 FASTATTACK 1 1 VIT 4 4 DEX_CURSE 4 4 SETDUR 60 60 +Gnarled Root SPIKED_CLUB SPIKCLUB 9 9820 TOHIT 20 20 DAMP 300 300 DEX 10 10 MAG 5 5 ALLRES 10 10 AC_CURSE 10 10 +The Cranium Basher MAUL MAUL 12 36500 DAMMOD 20 20 STR 15 15 INDESTRUCTIBLE MANA_CURSE 150 150 ALLRES 5 5 +Schaefer's Hammer WAR_HAMMER WARHAMMER 16 56125 DAMP_CURSE 100 100 LIGHTDAM 1 50 LIFE 50 50 TOHIT 30 30 LIGHTRES 80 80 LIGHT 1 1 +Dreamflange MACE MACE 26 26450 MAG 30 30 MANA 50 50 MAGICRES 50 50 LIGHT 2 2 SPLLVLADD 1 1 +Staff of Shadows LONG_STAFF LONGSTAFF 2 1250 MAG_CURSE 10 10 TOHIT 10 10 DAMP 60 60 LIGHT_CURSE 2 2 FASTATTACK 1 1 +Immolator LONG_STAFF LONGSTAFF 4 3900 FIRERES 20 20 FIREDAM 4 4 MANA 10 10 VIT_CURSE 5 5 +Storm Spire WAR_STAFF WARSTAFF 8 22500 LIGHTRES 50 50 LIGHTDAM 2 8 STR 10 10 MAG_CURSE 10 10 +Gleamsong SHORT_STAFF SHORTSTAFF 8 6520 MANA 25 25 STR_CURSE 3 3 VIT_CURSE 3 3 SPELL 10 76 +Thundercall COMPOSITE_STAFF COMPSTAFF 14 22250 TOHIT 35 35 LIGHTDAM 1 10 SPELL 3 76 LIGHTRES 30 30 LIGHT 2 2 +The Protector THE_PROTECTOR SHORTSTAFF 16 17240 VIT 5 5 GETHIT 5 5 SETAC 40 40 SPELL 2 86 THORNS 1 3 +Naj's Puzzler LONG_STAFF LONGSTAFF 18 34000 MAG 20 20 DEX 10 10 ALLRES 20 20 SPELL 23 57 LIFE_CURSE 25 25 +Mindcry SHORT_STAFF QUARSTAFF 20 41500 MAG 15 15 SPELL 13 69 ALLRES 15 15 SPLLVLADD 1 1 +Rod of Onan WAR_STAFF WARSTAFF 22 44167 SPELL 21 50 DAMP 100 100 ATTRIBS 5 5 +Helm of Spirits HELM_OF_SPIRITS HELM 1 7525 STEALLIFE 5 5 +Thinking Cap THINKING_CAP SKULLCAP 6 2020 MANA 30 30 SPLLVLADD 2 2 ALLRES 20 20 SETDUR 1 1 +OverLord's Helm OVERLORDS_HELM HELM 7 12500 STR 20 20 DEX 15 15 VIT 5 5 MAG_CURSE 20 20 SETDUR 15 15 +Fool's Crest FOOLS_CREST HELM 12 10150 ATTRIBS_CURSE 4 4 LIFE 100 100 GETHIT_CURSE 1 6 THORNS 1 3 +Gotterdamerung VEIL_OF_STEEL GREATHELM 21 54900 ATTRIBS 20 20 SETAC 60 60 GETHIT 4 4 ALLRESZERO LIGHT_CURSE 4 4 +Royal Circlet ROYAL_CIRCLET CROWN 27 24875 ATTRIBS 10 10 MANA 40 40 SETAC 40 40 LIGHT 1 1 +Torn Flesh of Souls TORN_FLESH_OF_SOULS RAGS 2 4825 SETAC 8 8 VIT 10 10 GETHIT 1 1 INDESTRUCTIBLE +The Gladiator's Bane STUDDED_LEATHER_ARMOR STUDARMOR 6 3450 SETAC 25 25 GETHIT 2 2 DUR 200 200 ATTRIBS_CURSE 3 3 +The Rainbow Cloak THE_RAINBOW_CLOAK CLOAK 2 4900 SETAC 10 10 ATTRIBS 1 1 ALLRES 10 10 LIFE 5 5 DUR 50 50 +Leather of Aut LEATHER_ARMOR LEATHARMOR 4 10550 SETAC 15 15 STR 5 5 MAG_CURSE 5 5 DEX 5 5 INDESTRUCTIBLE +Wisdom's Wrap THE_RAINBOW_CLOAK ROBE 5 6200 MAG 5 5 MANA 10 10 LIGHTRES 25 25 SETAC 15 15 GETHIT 1 1 +Sparking Mail CHAIN_MAIL CHAINMAIL 9 15750 SETAC 30 30 LIGHTDAM 1 10 +Scavenger Carapace BREAST_PLATE BREASTPLATE 13 14000 GETHIT 15 15 AC_CURSE 30 30 DEX 5 5 LIGHTRES 40 40 +Nightscape THE_RAINBOW_CLOAK CAPE 16 11600 FASTRECOVER 2 2 LIGHT_CURSE 4 4 SETAC 15 15 DEX 3 3 ALLRES 20 20 +Naj's Light Plate NAJS_LIGHT_PLATE PLATEMAIL 19 78700 NOMINSTR MAG 5 5 MANA 20 20 ALLRES 20 20 SPLLVLADD 1 1 +Demonspike Coat FULL_PLATE_MAIL FULLPLATE 25 251175 SETAC 100 100 GETHIT 6 6 STR 10 10 INDESTRUCTIBLE FIRERES 50 50 +The Deflector BUCKLER BUCKLER 1 1500 SETAC 7 7 ALLRES 10 10 DAMP_CURSE 20 20 TOHIT_CURSE 5 5 +Split Skull Shield SPLIT_SKULL_SHIELD BUCKLER 1 2025 SETAC 10 10 LIFE 10 10 STR 2 2 LIGHT_CURSE 1 1 SETDUR 15 15 +Dragon's Breach DRAGONS_BREACH KITESHIELD 2 19200 FIRERES 25 25 STR 5 5 SETAC 20 20 MAG_CURSE 5 5 INDESTRUCTIBLE +Blackoak Shield BLACKOAK_SHIELD SMALLSHIELD 4 5725 DEX 10 10 VIT_CURSE 10 10 SETAC 18 18 LIGHT_CURSE 1 1 DUR 150 150 +Holy Defender BLACKOAK_SHIELD LARGESHIELD 10 13800 SETAC 15 15 GETHIT 2 2 FIRERES 20 20 DUR 200 200 FASTBLOCK 1 1 +Stormshield GOTHIC_SHIELD GOTHSHIELD 24 49000 SETAC 40 40 GETHIT_CURSE 4 4 STR 10 10 INDESTRUCTIBLE FASTBLOCK 1 1 +Bramble BRAMBLE RING 1 1000 ATTRIBS_CURSE 2 2 DAMMOD 3 3 MANA 10 10 +Ring of Regha RING_OF_REGHA RING 1 4175 MAG 10 10 MAGICRES 10 10 LIGHT 1 1 STR_CURSE 3 3 DEX_CURSE 3 3 +The Bleeder THE_BLEEDER RING 2 8500 MAGICRES 20 20 MANA 30 30 LIFE_CURSE 10 10 +Constricting Ring CONSTRICTING_RING RING 5 62000 ALLRES 75 75 DRAINLIFE +Ring of Engagement RING_OF_ENGAGEMENT RING 11 12476 GETHIT 1 2 THORNS 1 3 SETAC 5 5 TARGAC 2 2 +Giant's Knuckle GIANTS_KNUCKLE RING 8 8000 STR 60 60 DEX_CURSE 30 30 +Mercurial Ring MERCURIAL_RING RING 8 8000 DEX 60 60 STR_CURSE 30 30 +Xorine's Ring XORINES_RING RING 8 8000 MAG 60 60 STR_CURSE 30 30 +Karik's Ring KARIKS_RING RING 8 8000 VIT 60 60 MAG_CURSE 30 30 +Ring of Magma RING_OF_MAGMA RING 8 8000 FIRERES 60 60 LIGHTRES_CURSE 30 30 MAGICRES_CURSE 30 30 +Ring of the Mystics RING_OF_THE_MYSTICS RING 8 8000 MAGICRES 60 60 FIRERES_CURSE 30 30 LIGHTRES_CURSE 30 30 +Ring of Thunder RING_OF_THUNDER RING 8 8000 LIGHTRES 60 60 FIRERES_CURSE 30 30 MAGICRES_CURSE 30 30 +Amulet of Warding AMULET_OF_WARDING AMULET 12 30000 ALLRES 40 40 LIFE_CURSE 100 100 +Gnat Sting GNAT_STING HUNTBOW 15 30000 MULT_ARROWS 3 3 SETDAM 1 2 FASTATTACK 1 1 INDESTRUCTIBLE +Flambeau FLAMBEAU COMPBOW 11 30000 FIREBALL 15 20 SETDAM 0 0 INDESTRUCTIBLE +Armor of Gloom ARMOR_OF_GLOOM FULLPLATE 25 200000 NOMINSTR SETAC 225 225 ALLRESZERO LIGHT_CURSE 2 2 +Blitzen BLITZEN COMPBOW 13 30000 ADDACLIFE 10 15 SETDAM 0 0 INDESTRUCTIBLE +Thunderclap THUNDERCLAP WARHAMMER 13 30000 ADDMANAAC 3 6 STR 20 20 LIGHTRES 30 30 LIGHT 2 2 INDESTRUCTIBLE +Shirotachi GREAT_SWORD GREATSWR 21 36000 ONEHAND FASTATTACK 4 4 TARGAC 2 2 LIGHTDAM 6 6 +Eater of Souls EATER_OF_SOULS TWOHANDSWR 23 42000 INDESTRUCTIBLE LIFE 50 50 STEALLIFE 5 5 STEALMANA 5 5 DRAINLIFE +Diamondedge DIAMONDEDGE LONGSWR 17 42000 SETDUR 10 10 TOHIT 50 50 DAMP 100 100 LIGHTRES 50 50 SETAC 10 10 +Bone Chain Armor BONE_CHAIN_ARMOR CHAINMAIL 13 36000 SETAC 40 40 ACUNDEAD +Demon Plate Armor DEMON_PLATE_ARMOR FULLPLATE 25 80000 SETAC 80 80 ACDEMON +Acolyte's Amulet ACOLYTES_AMULET AMULET 10 10000 MANATOLIFE 50 50 +Gladiator's Ring GLADIATORS_RING RING 10 10000 LIFETOMANA 40 40