From: <gi...@cr...> - 2025-07-17 16:40:18
|
via 370964d662a6fa7baa8f4b61e186df7dfab324b8 (commit) via 6246d46c736a6b6a564b215a93baa548969fd04e (commit) from 61dfde65f731c8c12635c7b49e8999e3d85ca5b1 (commit) ----------------------------------------------------------------------- commit 370964d662a6fa7baa8f4b61e186df7dfab324b8 Author: regret-index <clo...@ho...> Date: Thu Jul 17 14:08:45 2025 -0230 New tiles for old, new, and future armour egos Sources: * Body armour of Resonance: A CC0 set of weapon icons by Shade. * Body armour of Command: Ontoclasm's scroll of summoning and enchant armour icons. * Body armour of Death: Ontoclasm's draining / torment icon. * Hat of Sniping: Ontoclasm's old CTele icon. * Helmet (and orb) of Light: An edit of Ontoclasm's invisibility icon by Darby. * Gloves of parrying: Ontoclasm's reflection icon and old protection icon. * Amulet of Alchemy: Ontoclasm's old preservation icon. * Amulet of Dissipation: Ontoclasm's old Rod of Inaccuracy icon. * Amulet of Wildshape: Sastreii's unused Wand of Rending icon. * Orb of Glass: Ontoclasm's old rod of scattershot icon. * Orb of Power: Ontoclasm's old wand of magic dart icon and current Sword of Power tile. * Orb of Storms: Ontoclasm's fog and electrocution icons. (Armour of Archery, the elemental-enhancer aux armour set, and the Orb of Conjuring all keep their prior tiles.) commit 6246d46c736a6b6a564b215a93baa548969fd04e Author: regret-index <clo...@ho...> Date: Thu Jul 17 13:16:00 2025 -0230 Rename armour of preservation and staves of death * Cloaks of preservation are now named cloaks of corrosion resistance. The linking of preservation to corrosion resistance in 8388af8 was always a strange piece of misdirection (as the old preservation effect never prevented old permanent corrosion) notably splitting apart the effect between rings versus cloaks & shields, and the potion icon doesn't really reflect what opposing corrosion is themed after in Crawl. Their icon is now just ontoclasm's old amulet / current ring resistance icon. * Staves of death are now named staves of necromancy. The new Armour of Death ego added in prior commits has significant mechanical differences from the staff (+NecroWiz, HP-costing non-Necro spells, no rN). Also pertinently, the majority of school-enhancer staves match up with their spell school names (with the other exception being the whole "resistable-cold-versus-partially-resistable-ice space". Their icon is otherwise the same as prior. ----------------------------------------------------------------------- Summary of changes: crawl-ref/source/artefact.cc | 12 ++-- crawl-ref/source/dat/des/branches/abyss.des | 2 +- crawl-ref/source/dat/des/branches/crypt.des | 4 +- crawl-ref/source/dat/des/branches/hell.des | 2 +- crawl-ref/source/dat/des/branches/lair.des | 2 +- crawl-ref/source/dat/des/branches/pan.des | 2 +- crawl-ref/source/dat/des/branches/swamp.des | 4 +- crawl-ref/source/dat/des/builder/alphashops.des | 4 +- crawl-ref/source/dat/des/builder/shops.des | 6 +- crawl-ref/source/dat/des/portals/icecave.des | 6 +- crawl-ref/source/dat/des/portals/necropolis.des | 2 +- crawl-ref/source/dat/des/portals/wizlab.des | 4 +- crawl-ref/source/dat/des/sprint/arena_sprint.des | 2 +- crawl-ref/source/dat/des/variable/float.des | 2 +- crawl-ref/source/dat/descript/da/items.txt | 2 +- crawl-ref/source/dat/descript/de/quotes.txt | 2 +- crawl-ref/source/dat/descript/items.txt | 2 +- crawl-ref/source/dat/descript/quotes.txt | 2 +- crawl-ref/source/dat/descript/zh/items.txt | 2 +- crawl-ref/source/describe.cc | 6 +- crawl-ref/source/ghost.cc | 2 +- crawl-ref/source/god-item.cc | 2 +- crawl-ref/source/item-name.cc | 4 +- crawl-ref/source/item-prop-enum.h | 9 ++- crawl-ref/source/item-prop.cc | 68 ++++++++++----------- crawl-ref/source/makeitem.cc | 2 +- crawl-ref/source/mapdef.cc | 2 +- crawl-ref/source/melee-attack.cc | 4 +- crawl-ref/source/monster.cc | 4 +- crawl-ref/source/player.cc | 6 +- crawl-ref/source/rltiles/dc-item.txt | 4 +- crawl-ref/source/rltiles/item/amulet/i-alchemy.png | Bin 167 -> 5950 bytes .../source/rltiles/item/amulet/i-dissipation.png | Bin 275 -> 871 bytes .../source/rltiles/item/amulet/i-wildshape.png | Bin 177 -> 903 bytes .../rltiles/item/armour/brands/i-command.png | Bin 193 -> 802 bytes .../brands/i-corrosion-res.png} | Bin .../source/rltiles/item/armour/brands/i-death.png | Bin 176 -> 12513 bytes .../source/rltiles/item/armour/brands/i-glass.png | Bin 278 -> 825 bytes .../source/rltiles/item/armour/brands/i-light.png | Bin 2454 -> 6005 bytes .../rltiles/item/armour/brands/i-parrying.png | Bin 319 -> 807 bytes .../source/rltiles/item/armour/brands/i-power.png | Bin 0 -> 867 bytes .../rltiles/item/armour/brands/i-preservation.png | Bin 253 -> 0 bytes .../rltiles/item/armour/brands/i-resonance.png | Bin 316 -> 6180 bytes .../rltiles/item/armour/brands/i-sniping.png | Bin 344 -> 769 bytes .../source/rltiles/item/armour/brands/i-storms.png | Bin 0 -> 790 bytes .../{i-staff_death.png => i-staff_necromancy.png} | Bin crawl-ref/source/shopping.cc | 2 +- 47 files changed, 92 insertions(+), 87 deletions(-) copy crawl-ref/source/rltiles/item/{ring/i-r-corrosion.png => armour/brands/i-corrosion-res.png} (100%) create mode 100644 crawl-ref/source/rltiles/item/armour/brands/i-power.png delete mode 100644 crawl-ref/source/rltiles/item/armour/brands/i-preservation.png create mode 100644 crawl-ref/source/rltiles/item/armour/brands/i-storms.png rename crawl-ref/source/rltiles/item/staff/{i-staff_death.png => i-staff_necromancy.png} (100%) diff --git a/crawl-ref/source/artefact.cc b/crawl-ref/source/artefact.cc index 4fce0607e2..0068928434 100644 --- a/crawl-ref/source/artefact.cc +++ b/crawl-ref/source/artefact.cc @@ -336,11 +336,11 @@ static void _populate_armour_intrinsic_artps(const armour_type arm, } static map<stave_type, artefact_prop_type> staff_resist_artps = { - { STAFF_FIRE, ARTP_FIRE }, - { STAFF_COLD, ARTP_COLD }, - { STAFF_ALCHEMY, ARTP_POISON }, - { STAFF_DEATH, ARTP_NEGATIVE_ENERGY }, - { STAFF_AIR, ARTP_ELECTRICITY }, + { STAFF_FIRE, ARTP_FIRE }, + { STAFF_COLD, ARTP_COLD }, + { STAFF_ALCHEMY, ARTP_POISON }, + { STAFF_NECROMANCY, ARTP_NEGATIVE_ENERGY }, + { STAFF_AIR, ARTP_ELECTRICITY }, // nothing for conj or earth }; @@ -348,7 +348,7 @@ static map<stave_type, artefact_prop_type> staff_enhancer_artps = { { STAFF_FIRE, ARTP_ENHANCE_FIRE }, { STAFF_COLD, ARTP_ENHANCE_ICE }, { STAFF_ALCHEMY, ARTP_ENHANCE_ALCHEMY }, - { STAFF_DEATH, ARTP_ENHANCE_NECRO }, + { STAFF_NECROMANCY, ARTP_ENHANCE_NECRO }, { STAFF_AIR, ARTP_ENHANCE_AIR }, { STAFF_CONJURATION, ARTP_ENHANCE_CONJ }, { STAFF_EARTH, ARTP_ENHANCE_EARTH }, diff --git a/crawl-ref/source/dat/des/branches/abyss.des b/crawl-ref/source/dat/des/branches/abyss.des index eb82a0477f..13c0b53712 100644 --- a/crawl-ref/source/dat/des/branches/abyss.des +++ b/crawl-ref/source/dat/des/branches/abyss.des @@ -779,7 +779,7 @@ MONS: large abomination / ynoxinul / unseen horror / \ MONS: lich / hellephant / tentacled monstrosity / profane servitor / \ death drake / daeva / angel / bone dragon / balrug w:4 / \ shadow demon w:4 / executioner w:4 / hellion w:4 -ITEM: any book / mundane staff of death / robe randart / \ +ITEM: any book / mundane staff of necromancy / robe randart / \ orb ego:energy / gold q:100 w:2 ITEM: demon whip / demon blade / demon trident KFEAT: > = abyssal_stair diff --git a/crawl-ref/source/dat/des/branches/crypt.des b/crawl-ref/source/dat/des/branches/crypt.des index c5e3b62910..0a866c1957 100644 --- a/crawl-ref/source/dat/des/branches/crypt.des +++ b/crawl-ref/source/dat/des/branches/crypt.des @@ -94,7 +94,7 @@ function crypt_loot_plus(e, glyph) "eveningstar", "lajatang", top_rg, top_rg}) local high_weap = util.random_subset({"great sword", high_sb, "battleaxe", "glaive", "great mace", "lajatang"}, 2) - local staff = util.random_from({"staff of death randart", + local staff = util.random_from({"staff of necromancy randart", "any magical staff randart artprops:Necro"}) local drain_plus = crawl.random_range(1, 4) local weaps = util.random_subset({top_weap .. " ego:draining plus:" .. drain_plus, @@ -1770,7 +1770,7 @@ KMONS: C = mummy priest KMONS: 0 = zombie ITEM: any weapon good_item ego:draining, any weapon ego:pain ITEM: scroll of torment pre_id, randbook disc:necromancy numspells:3 -ITEM: staff of death pre_id +ITEM: staff of necromancy pre_id ITEM: amulet of regeneration randart good_item KITEM: $ = $ no_pickup KFEAT: D = altar_yredelemnul diff --git a/crawl-ref/source/dat/des/branches/hell.des b/crawl-ref/source/dat/des/branches/hell.des index bda3080118..a7ecec4b20 100644 --- a/crawl-ref/source/dat/des/branches/hell.des +++ b/crawl-ref/source/dat/des/branches/hell.des @@ -705,7 +705,7 @@ WEIGHT: 2 "any armour randart artprops:Will:1", "pearl dragon scales randart", "scroll of fog q:10", "quicksilver dragon scales randart", "any weapon randart artprops:Will:1", "any weapon randart artprops:rN:1", - "staff of death randart" }, 2 ) + "staff of necromancy randart" }, 2 ) -- Generically useful in all the Hells, a lot of scrolls and potions in bulk, -- but also rings of rN+ and willpower, which are useful in all the Hells, and diff --git a/crawl-ref/source/dat/des/branches/lair.des b/crawl-ref/source/dat/des/branches/lair.des index 3668632d51..8f89c7ae6c 100644 --- a/crawl-ref/source/dat/des/branches/lair.des +++ b/crawl-ref/source/dat/des/branches/lair.des @@ -4201,7 +4201,7 @@ ITEM: rapier ego:pain w:5 / rapier ego:draining w:5 \ / broad axe ego:draining / battleaxe ego:draining \ / executioner's axe ego:draining / shadow dragon scales \ / cigotuvi's embrace w:1 / amulet of regeneration randart \ - / ring of positive energy randart / staff of death \ + / ring of positive energy randart / staff of necromancy \ / book of necromancy / book of death / book of unlife \ / randbook owner:Kikubaaqudgha disc:necromancy \ / necronomicon w:1 diff --git a/crawl-ref/source/dat/des/branches/pan.des b/crawl-ref/source/dat/des/branches/pan.des index 70149edbfd..cc52e2e7be 100644 --- a/crawl-ref/source/dat/des/branches/pan.des +++ b/crawl-ref/source/dat/des/branches/pan.des @@ -2612,7 +2612,7 @@ ORIENT: float "any weapon good_item ego:pain | any weapon good_item ego:chaos | " .. "any weapon good_item ego:vampirism | demon blade good_item | " .. "demon trident good_item | demon whip good_item | " .. - "staff of death w:3 | scroll of torment q:2 w:5 | " .. + "staff of necromancy w:3 | scroll of torment q:2 w:5 | " .. "scroll of torment q:3 w:5 | randbook disc:necromancy") }} # 2/3 chance of nothing, 4/15 chance of gold, 1/15 chance of a lot of gold diff --git a/crawl-ref/source/dat/des/branches/swamp.des b/crawl-ref/source/dat/des/branches/swamp.des index f75757e85d..5fdfa53f41 100644 --- a/crawl-ref/source/dat/des/branches/swamp.des +++ b/crawl-ref/source/dat/des/branches/swamp.des @@ -2715,7 +2715,7 @@ NAME: nicolae_swamp_necromancy_gone_wrong TAGS: no_trap_gen patrolling MONS: 20-headed hydra zombie ITEM: scimitar good_item ego:none / glaive good_item ego:none \ - / broad axe good_item ego:none / staff of death / nothing w:40 + / broad axe good_item ego:none / staff of necromancy / nothing w:40 : item(dgn.good_aux_armour .. " / nothing w:60") ITEM: scroll of brand weapon / scroll of fear / scroll of teleportation \ / scroll of blinking / nothing w:40 @@ -3059,7 +3059,7 @@ ENDMAP NAME: tekkud_bubbles_buried_in_this_jungle TAGS: no_monster_gen DEPTH: Swamp -KMONS: 1 = fenstrider witch ; staff of alchemy | staff of death . \ +KMONS: 1 = fenstrider witch ; staff of alchemy | staff of necromancy . \ orb ego:wrath | orb ego:mayhem w:5 . robe KMONS: 2 = bog body KMONS: 3 = bloated husk diff --git a/crawl-ref/source/dat/des/builder/alphashops.des b/crawl-ref/source/dat/des/builder/alphashops.des index eeca4ffb45..92743c7fb4 100644 --- a/crawl-ref/source/dat/des/builder/alphashops.des +++ b/crawl-ref/source/dat/des/builder/alphashops.des @@ -88,7 +88,7 @@ "book of dreams", "book of the dragon", "dagger", "dragon-coil talisman", "demon blade", "demon trident", "demon whip", "dire flail", "double sword", "ring of dexterity", "manual of dodging", - "staff of death", "wand of digging", "dart", "book of dangerous friends", + "wand of digging", "dart", "book of dangerous friends", "book of displacement", "book of decay", "book of duality" } elseif s == "E" then i = { "manual of evocations", "potion of enlightenment", @@ -138,7 +138,7 @@ "book of maladies", "book of metalworking", "maxwell's memoranda", "my sojourn through swampland" } - elseif s == "N" then i = { "book of necromancy", + elseif s == "N" then i = { "book of necromancy", "staff of necromancy", "necronomicon", "scroll of noise", "manual of necromancy" } elseif s == "O" then i = { "orcbow" } diff --git a/crawl-ref/source/dat/des/builder/shops.des b/crawl-ref/source/dat/des/builder/shops.des index 07bfb2f459..44d210173a 100644 --- a/crawl-ref/source/dat/des/builder/shops.des +++ b/crawl-ref/source/dat/des/builder/shops.des @@ -1150,9 +1150,9 @@ SUBST: G : YlG : kfeat("s = general shop " .. shopname .. " ; \ : any weapon ego:draining w:15 | any weapon ego:pain | \ : any weapon ego:vampirism | any weapon ego:chaos w:1 | demon blade w:5 | \ -: demon trident w:5 | demon whip w:5 | scroll of torment | staff of death | \ -: book of necromancy | book of death | book of unlife | \ -: book of decay | book of the grave | \ +: demon trident w:5 | demon whip w:5 | scroll of torment | \ +: staff of necromancy | book of necromancy | book of death | \ +: book of unlife | book of decay | book of the grave | \ : randbook disc:necromancy w:5 | necronomicon w:1 | grand grimoire w:1 | \ : sceptre_of_torment w:1 | scythe_of_curses w:1 | majin-bo w:1 | \ : black_knights_barding w:1 | obsidian_axe w:1 | damnation w:1 | \ diff --git a/crawl-ref/source/dat/des/portals/icecave.des b/crawl-ref/source/dat/des/portals/icecave.des index 13c0cb6068..95cc9a704e 100644 --- a/crawl-ref/source/dat/des/portals/icecave.des +++ b/crawl-ref/source/dat/des/portals/icecave.des @@ -424,8 +424,8 @@ function ice_cave_common_loot(e, glyphs) end --[[ -Define one kitem glyph containing necromancy themed items, including -spellbooks, a manual, staff of death, and an artefact ring of positive energy. +Define one kitem glyph containing necromancy themed items, including books, +a manual, staff of necromancy, and an artefact ring of positive energy. @tab e The map environment. @string[opt="j"] glyphs Glyphs to use for the single KITEM statement. @@ -437,7 +437,7 @@ function ice_cave_necro_loot(e, glyphs) e.kitem(glyphs .. " = book of unlife / randbook disc:ice" .. " disc2:necromancy numspells:6" .. - "/ manual of necromancy w:5 / staff of death" .. + "/ manual of necromancy w:5 / staff of necromancy" .. "/ ring of positive energy randart") end diff --git a/crawl-ref/source/dat/des/portals/necropolis.des b/crawl-ref/source/dat/des/portals/necropolis.des index 7a365cde80..0bf2c9c8e2 100644 --- a/crawl-ref/source/dat/des/portals/necropolis.des +++ b/crawl-ref/source/dat/des/portals/necropolis.des @@ -4703,7 +4703,7 @@ NSUBST: $ = 2:e / *:$, % = 1:g* / *:% SUBST: ?! = % : end KMONS: O = player ghost -ITEM: staff of fire / staff of death / quarterstaff ego:spectral / \ +ITEM: staff of fire / staff of necromancy / quarterstaff ego:spectral / \ quarterstaff ego:pain / any ring randart artprops:rN pre_id w:15 ITEM: staff of fire randart / staff of pain randart / \ lajatang ego:spectral / lajatang ego:pain / \ diff --git a/crawl-ref/source/dat/des/portals/wizlab.des b/crawl-ref/source/dat/des/portals/wizlab.des index 04ba8ea684..ace8105362 100644 --- a/crawl-ref/source/dat/des/portals/wizlab.des +++ b/crawl-ref/source/dat/des/portals/wizlab.des @@ -1287,7 +1287,7 @@ ITEM: protean talisman randart / maw talisman randart / \ serpent talisman randart / statue talisman w:8 / \ dragon-coil talisman / storm talisman w:8 / \ talisman of death w:2 -ITEM: staff of death pre_id, scroll of poison pre_id +ITEM: staff of necromancy pre_id, scroll of poison pre_id ITEM: w:5 any jewellery randart / w:5 hat_of_the_alchemist / \ cigotuvi's_embrace KFEAT: ? = fountain_eyes @@ -2358,7 +2358,7 @@ MONS: spriggan berserker zombie / titan zombie / spark wasp zombie /\ MONS: ancient champion / revenant soulmonger, laughing skull MONS: deep elf death mage / vampire mage / necromancer, halazid warlock ITEM: randbook disc:necromancy numspells:6 owner:Borgnjor w:5 / any book /\ - necronomicon / randbook disc:necromancy / staff of death w:5 /\ + necronomicon / randbook disc:necromancy / staff of necromancy w:5 /\ sanguine talisman / macabre finger necklace w:1 /\ sceptre of torment w:1 : local p = "good_item ego:pain w:3" diff --git a/crawl-ref/source/dat/des/sprint/arena_sprint.des b/crawl-ref/source/dat/des/sprint/arena_sprint.des index 078c53e964..1919aa7cc9 100644 --- a/crawl-ref/source/dat/des/sprint/arena_sprint.des +++ b/crawl-ref/source/dat/des/sprint/arena_sprint.des @@ -1096,7 +1096,7 @@ KFEAT: M = jewellery shop type:Timeless suffix:Talismans count:19 greed:7 use_a hive talisman | storm talisman | talisman of death KFEAT: N = weapon shop type:Staff suffix:Store count:9 use_all greed:30 ; \ staff of fire | staff of air | staff of earth | staff of cold |\ - staff of alchemy | staff of death | staff of conjuration + staff of alchemy | staff of necromancy | staff of conjuration KFEAT: Q = weapon shop type:Weapon suffix:Rack count:17 use_all greed:30 ; \ mundane quick blade | mundane demon blade |\ mundane triple sword | mundane broad axe |\ diff --git a/crawl-ref/source/dat/des/variable/float.des b/crawl-ref/source/dat/des/variable/float.des index f0544ee6b0..be73e89238 100644 --- a/crawl-ref/source/dat/des/variable/float.des +++ b/crawl-ref/source/dat/des/variable/float.des @@ -6207,7 +6207,7 @@ KMONS: 3 = salamander / large abomination w:5 KITEM: 1 = manual of fire magic w:5 / manual of necromancy w:5 / \ randbook disc:fire disc2:necromancy spells:scorch \ slevels:8 numspells:4 title:Dead_Stars, \ - staff of fire / staff of death / scroll of immolation q:3 / \ + staff of fire / staff of necromancy / scroll of immolation q:3 / \ scroll of torment q:3 / any weapon ego:flaming / \ any weapon ego:draining : else diff --git a/crawl-ref/source/dat/descript/da/items.txt b/crawl-ref/source/dat/descript/da/items.txt index 809f502270..46d1a36971 100644 --- a/crawl-ref/source/dat/descript/da/items.txt +++ b/crawl-ref/source/dat/descript/da/items.txt @@ -766,7 +766,7 @@ staff of conjuration Denne stav øger brugerens fremmaningers kraft. %%%% -staff of death +staff of necromancy Denne stav øger brugerens nekromantiske besværgelsers kraft og beskytter mod negativ energi. Hvis brugeren er kyndig i bÃ¥de vækkelser og nekromantik vil diff --git a/crawl-ref/source/dat/descript/de/quotes.txt b/crawl-ref/source/dat/descript/de/quotes.txt index f4c7be970f..3774790a9d 100644 --- a/crawl-ref/source/dat/descript/de/quotes.txt +++ b/crawl-ref/source/dat/descript/de/quotes.txt @@ -742,7 +742,7 @@ geleitet mich in das Dorf, in einer Mondlosen Nacht. Wenn du es einen Diener nennst kommst du schnell wie ein Pfeil in die Hölle.â -Mumon Ekai, _The Gateless Gate_, case 44. 1228. %%%% -staff of death +staff of necromancy â'Ich bin Aed Abaid von Ess Ruaid, das heiÃt, der gute Gott der Zauberei der Tuatha Dé Danann und die Ruad Rofhessa und Eochaid Ollathair sind meine drei diff --git a/crawl-ref/source/dat/descript/items.txt b/crawl-ref/source/dat/descript/items.txt index 822794bac9..8c1f99c9a3 100644 --- a/crawl-ref/source/dat/descript/items.txt +++ b/crawl-ref/source/dat/descript/items.txt @@ -1570,7 +1570,7 @@ A staff that increases the power of conjurations cast by its wielder. If the wielder is skilled in Evocations and Conjurations, they can blast those they strike with pure energy. %%%% -staff of death +staff of necromancy A staff that increases the power of necromantic spells cast by its wielder, and protects them from negative energy. If the wielder is skilled in Evocations and diff --git a/crawl-ref/source/dat/descript/quotes.txt b/crawl-ref/source/dat/descript/quotes.txt index a31e023f11..f438a8c306 100644 --- a/crawl-ref/source/dat/descript/quotes.txt +++ b/crawl-ref/source/dat/descript/quotes.txt @@ -1883,7 +1883,7 @@ staff of conjuration <staff> %%%% -staff of death +staff of necromancy â'I am Aed Abaid of Ess Rúaid, that is, the good god of wizardry of the Tuatha Dé Danann, and the Rúad Rofhessa, and Eochaid Ollathair are my three names.â diff --git a/crawl-ref/source/dat/descript/zh/items.txt b/crawl-ref/source/dat/descript/zh/items.txt index a5685c0661..1136a79ca0 100644 --- a/crawl-ref/source/dat/descript/zh/items.txt +++ b/crawl-ref/source/dat/descript/zh/items.txt @@ -1222,7 +1222,7 @@ staff of conjuration å¦æä½¿ç¨è ç²¾éæ¿æ´»æè½åå¡è½éæ³ï¼ä»ä»¬å¯ä»¥ç¨çº¯è½éè½°å»æå»ä¸çäººï¼ é æä¸å¯ææç伤害ã %%%% -staff of death +staff of necromancy è¿æ ¹æ³æè½å¢å¼ºä½¿ç¨è æ½å±æ»çµæ¯çå¨åï¼å¹¶è½å¸®å©å ¶æµå¾¡è´è½éçå½±åã å¦æä½¿ç¨è ç²¾éæ¿æ´»æè½åæ»çµæ¯ï¼å°±è½è®©åå»ççµéæ¿åçæ¥ï¼ diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index 442f94acdd..d8ddf6bcbd 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -2323,7 +2323,7 @@ static const char* _item_ego_desc(special_armour_type ego) return "it protects its wearer from the effects of negative energy."; case SPARM_ARCHMAGI: return "it increases the power of its wearer's magical spells."; - case SPARM_PRESERVATION: + case SPARM_CORROSION_RESISTANCE: return "it protects its wearer from the effects of acid and corrosion."; case SPARM_REFLECTION: return "it reflects blocked missile attacks back in the " @@ -5367,7 +5367,7 @@ static string _monster_staff_damage_string(const monster_info &mi, // From monster::skill const int evo_skill = mi.hd; int staff_skill; - if (staff == STAFF_DEATH) + if (staff == STAFF_NECROMANCY) staff_skill = mi.has_necromancy_spell() ? mi.hd : mi.hd / 2; else staff_skill = mi.is_actual_spellcaster() ? mi.hd : mi.hd / 3; @@ -5379,7 +5379,7 @@ static string _monster_staff_damage_string(const monster_info &mi, : staff == STAFF_COLD ? "cold" : staff == STAFF_AIR ? "elec" : staff == STAFF_EARTH ? "earth" - : staff == STAFF_DEATH ? "drain" + : staff == STAFF_NECROMANCY ? "drain" // pain? : staff == STAFF_ALCHEMY ? "poison" /*staff == STAFF_CONJURATION*/ : "conj"; diff --git a/crawl-ref/source/ghost.cc b/crawl-ref/source/ghost.cc index ced6dc8f4a..ded692f0ae 100644 --- a/crawl-ref/source/ghost.cc +++ b/crawl-ref/source/ghost.cc @@ -497,7 +497,7 @@ void ghost_demon::init_player_ghost() case STAFF_FIRE: brand = SPWPN_FLAMING; break; case STAFF_COLD: brand = SPWPN_FREEZING; break; case STAFF_ALCHEMY: brand = SPWPN_VENOM; break; - case STAFF_DEATH: brand = SPWPN_PAIN; break; + case STAFF_NECROMANCY: brand = SPWPN_PAIN; break; case STAFF_AIR: brand = SPWPN_ELECTROCUTION; break; case STAFF_EARTH: brand = SPWPN_HEAVY; break; default: ; diff --git a/crawl-ref/source/god-item.cc b/crawl-ref/source/god-item.cc index 03901b3967..0f80e157e6 100644 --- a/crawl-ref/source/god-item.cc +++ b/crawl-ref/source/god-item.cc @@ -164,7 +164,7 @@ bool is_evil_item(const item_def& item, bool calc_unid) case OBJ_SCROLLS: return item.sub_type == SCR_TORMENT; case OBJ_STAVES: - return item.sub_type == STAFF_DEATH; + return item.sub_type == STAFF_NECROMANCY; case OBJ_ARMOUR: return get_armour_ego_type(item) == SPARM_DEATH; case OBJ_MISCELLANY: diff --git a/crawl-ref/source/item-name.cc b/crawl-ref/source/item-name.cc index e9e41c21e9..2c4d38d670 100644 --- a/crawl-ref/source/item-name.cc +++ b/crawl-ref/source/item-name.cc @@ -554,7 +554,7 @@ const char* special_armour_type_name(special_armour_type ego, bool terse) #if TAG_MAJOR_VERSION == 34 case SPARM_JUMPING: return "jumping"; #endif - case SPARM_PRESERVATION: return "preservation"; + case SPARM_CORROSION_RESISTANCE: return "corrosion resistance"; case SPARM_REFLECTION: return "reflection"; case SPARM_SPIRIT_SHIELD: return "spirit shield"; case SPARM_HURLING: return "hurling"; @@ -613,7 +613,7 @@ const char* special_armour_type_name(special_armour_type ego, bool terse) #if TAG_MAJOR_VERSION == 34 case SPARM_JUMPING: return "obsolete"; #endif - case SPARM_PRESERVATION: return "rCorr"; + case SPARM_CORROSION_RESISTANCE: return "rCorr"; case SPARM_REFLECTION: return "reflect"; case SPARM_SPIRIT_SHIELD: return "Spirit"; case SPARM_HURLING: return "hurl"; diff --git a/crawl-ref/source/item-prop-enum.h b/crawl-ref/source/item-prop-enum.h index f3f6a4a940..409cef0849 100644 --- a/crawl-ref/source/item-prop-enum.h +++ b/crawl-ref/source/item-prop-enum.h @@ -489,6 +489,9 @@ enum special_armour_type SPARM_FIRE_RESISTANCE, SPARM_COLD_RESISTANCE, SPARM_POISON_RESISTANCE, +#if TAG_MAJOR_VERSION > 34 + SPARM_CORROSION_RESISTANCE, +#endif SPARM_SEE_INVISIBLE, SPARM_INVISIBILITY, SPARM_STRENGTH, @@ -502,7 +505,9 @@ enum special_armour_type SPARM_RESISTANCE, SPARM_POSITIVE_ENERGY, SPARM_ARCHMAGI, - SPARM_PRESERVATION, +#if TAG_MAJOR_VERSION == 34 + SPARM_CORROSION_RESISTANCE, +#endif SPARM_REFLECTION, SPARM_SPIRIT_SHIELD, SPARM_HURLING, @@ -593,7 +598,7 @@ enum stave_type #if TAG_MAJOR_VERSION == 34 STAFF_ENERGY, #endif - STAFF_DEATH, + STAFF_NECROMANCY, STAFF_CONJURATION, #if TAG_MAJOR_VERSION == 34 STAFF_ENCHANTMENT, diff --git a/crawl-ref/source/item-prop.cc b/crawl-ref/source/item-prop.cc index 3f4868527f..9d51f04282 100644 --- a/crawl-ref/source/item-prop.cc +++ b/crawl-ref/source/item-prop.cc @@ -96,15 +96,15 @@ static const vector<ego_weight_tuple> HEAVY_BODY_EGOS = { // Total weight 50 static const vector<ego_weight_tuple> SHIELD_EGOS = { - { SPARM_RESISTANCE, 1 }, - { SPARM_FIRE_RESISTANCE, 4 }, - { SPARM_COLD_RESISTANCE, 4 }, - { SPARM_POISON_RESISTANCE, 4 }, - { SPARM_POSITIVE_ENERGY, 4 }, - { SPARM_NORMAL, 4 }, - { SPARM_PRESERVATION, 4 }, - { SPARM_REFLECTION, 9 }, - { SPARM_PROTECTION, 16 }, + { SPARM_RESISTANCE, 1 }, + { SPARM_FIRE_RESISTANCE, 4 }, + { SPARM_COLD_RESISTANCE, 4 }, + { SPARM_POISON_RESISTANCE, 4 }, + { SPARM_POSITIVE_ENERGY, 4 }, + { SPARM_NORMAL, 4 }, + { SPARM_CORROSION_RESISTANCE, 4 }, + { SPARM_REFLECTION, 9 }, + { SPARM_PROTECTION, 16 }, }; // would be nice to lookup the name from monster_for_armour, but that @@ -172,11 +172,11 @@ static const armour_def Armour_prop[] = { ARM_CLOAK, "cloak", 1, 0, 45, SLOT_CLOAK, SIZE_LITTLE, SIZE_LARGE, true, 0, { - { SPARM_POISON_RESISTANCE, 2 }, - { SPARM_WILLPOWER, 2 }, - { SPARM_STEALTH, 2 }, - { SPARM_PRESERVATION, 2 }, - { SPARM_AIR, 1 }, + { SPARM_POISON_RESISTANCE, 2 }, + { SPARM_WILLPOWER, 2 }, + { SPARM_STEALTH, 2 }, + { SPARM_CORROSION_RESISTANCE, 2 }, + { SPARM_AIR, 1 }, }}, { ARM_SCARF, "scarf", 0, 0, 50, SLOT_CLOAK, SIZE_LITTLE, SIZE_LARGE, true, 0, { @@ -271,25 +271,25 @@ static const armour_def Armour_prop[] = }}, { ARM_KITE_SHIELD, "kite shield", 8, -100, 70, SLOT_OFFHAND, SIZE_SMALL, SIZE_LARGE, true, 0,{ - { SPARM_FIRE_RESISTANCE, 4 }, - { SPARM_COLD_RESISTANCE, 4 }, - { SPARM_POISON_RESISTANCE, 4 }, - { SPARM_POSITIVE_ENERGY, 4 }, - { SPARM_NORMAL, 4 }, - { SPARM_PRESERVATION, 4 }, - { SPARM_REFLECTION, 13 }, - { SPARM_PROTECTION, 13 }, + { SPARM_FIRE_RESISTANCE, 4 }, + { SPARM_COLD_RESISTANCE, 4 }, + { SPARM_POISON_RESISTANCE, 4 }, + { SPARM_POSITIVE_ENERGY, 4 }, + { SPARM_NORMAL, 4 }, + { SPARM_CORROSION_RESISTANCE, 4 }, + { SPARM_REFLECTION, 13 }, + { SPARM_PROTECTION, 13 }, }}, { ARM_TOWER_SHIELD, "tower shield", 13, -150, 80, SLOT_OFFHAND, SIZE_MEDIUM, SIZE_GIANT, true, 0, { - { SPARM_FIRE_RESISTANCE, 3 }, - { SPARM_COLD_RESISTANCE, 3 }, - { SPARM_POISON_RESISTANCE, 3 }, - { SPARM_POSITIVE_ENERGY, 3 }, - { SPARM_PONDEROUSNESS, 3 }, - { SPARM_PRESERVATION, 5 }, - { SPARM_REFLECTION, 5 }, - { SPARM_PROTECTION, 15 }, + { SPARM_FIRE_RESISTANCE, 3 }, + { SPARM_COLD_RESISTANCE, 3 }, + { SPARM_POISON_RESISTANCE, 3 }, + { SPARM_POSITIVE_ENERGY, 3 }, + { SPARM_PONDEROUSNESS, 3 }, + { SPARM_CORROSION_RESISTANCE, 5 }, + { SPARM_REFLECTION, 5 }, + { SPARM_PROTECTION, 15 }, }}, // Following all ARM_ entries for the benefit of util/gather_items @@ -848,7 +848,7 @@ static const staff_def Staff_prop[] = #if TAG_MAJOR_VERSION == 34 { STAFF_ENERGY, "energy" }, #endif - { STAFF_DEATH, "death", SK_NECROMANCY, + { STAFF_NECROMANCY, "necromancy", SK_NECROMANCY, 63, ac_type::normal, BEAM_NEG }, { STAFF_CONJURATION, "conjuration", SK_CONJURATIONS, 50, ac_type::normal, BEAM_MMISSILE }, @@ -2619,7 +2619,7 @@ int get_armour_res_corr(const item_def &arm) ASSERT(arm.base_type == OBJ_ARMOUR); // intrinsic armour abilities - return get_armour_ego_type(arm) == SPARM_PRESERVATION + return get_armour_ego_type(arm) == SPARM_CORROSION_RESISTANCE || armour_type_prop(arm.sub_type, ARMF_RES_CORR); } @@ -2905,7 +2905,7 @@ bool gives_resistance(const item_def &item) || ego == SPARM_POISON_RESISTANCE || ego == SPARM_WILLPOWER || ego == SPARM_RESISTANCE - || ego == SPARM_PRESERVATION + || ego == SPARM_CORROSION_RESISTANCE || ego == SPARM_POSITIVE_ENERGY) { return true; @@ -2917,7 +2917,7 @@ bool gives_resistance(const item_def &item) || item.sub_type == STAFF_COLD || item.sub_type == STAFF_ALCHEMY || item.sub_type == STAFF_AIR - || item.sub_type == STAFF_DEATH) + || item.sub_type == STAFF_NECROMANCY) { return true; } diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index 30c057792c..014bf3cd59 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -805,7 +805,7 @@ bool is_armour_brand_ok(int type, int brand, bool strict) case SPARM_PONDEROUSNESS: return true; - case SPARM_PRESERVATION: + case SPARM_CORROSION_RESISTANCE: case SPARM_AIR: #if TAG_MAJOR_VERSION > 34 return slot == SLOT_CLOAK || slot == SLOT_OFFHAND; diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc index cc2fb1468c..49133edd76 100644 --- a/crawl-ref/source/mapdef.cc +++ b/crawl-ref/source/mapdef.cc @@ -4971,7 +4971,7 @@ int str_to_ego(object_class_type item_type, string ego_str) "resistance", "positive_energy", "archmagi", - "preservation", + "corrosion_resistance", "reflection", "spirit_shield", "hurling", diff --git a/crawl-ref/source/melee-attack.cc b/crawl-ref/source/melee-attack.cc index 39e34bc47c..233b037e17 100644 --- a/crawl-ref/source/melee-attack.cc +++ b/crawl-ref/source/melee-attack.cc @@ -3071,7 +3071,7 @@ string melee_attack::staff_message(stave_type staff, int dam) const defender->name(DESC_THE).c_str(), attack_strength_punctuation(dam).c_str()); - case STAFF_DEATH: + case STAFF_NECROMANCY: return make_stringf( "%s %s as negative energy consumes %s%s", defender->name(DESC_THE).c_str(), @@ -3114,7 +3114,7 @@ bool melee_attack::apply_staff_damage() dam /= 3; if (dam > 0) { - if (staff == STAFF_DEATH) + if (staff == STAFF_NECROMANCY) attacker->god_conduct(DID_EVIL, 4); else if (staff == STAFF_FIRE && defender->is_player()) maybe_melt_player_enchantments(flavour, dam); diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc index 83d0e020f1..145f2d7fc9 100644 --- a/crawl-ref/source/monster.cc +++ b/crawl-ref/source/monster.cc @@ -3893,7 +3893,7 @@ int monster::res_negative_energy(bool intrinsic_only) const u += get_jewellery_life_protection(env.item[jewellery], false); const item_def *w = primary_weapon(); - if (w && w->is_type(OBJ_STAVES, STAFF_DEATH)) + if (w && w->is_type(OBJ_STAVES, STAFF_NECROMANCY)) u++; } @@ -3936,7 +3936,7 @@ int monster::res_corr() const { u += wearing(OBJ_ARMOUR, ARM_ACID_DRAGON_ARMOUR); u += wearing_jewellery(RING_RESIST_CORROSION); - u += wearing_ego(OBJ_ARMOUR, SPARM_PRESERVATION); + u += wearing_ego(OBJ_ARMOUR, SPARM_CORROSION_RESISTANCE); u += scan_artefacts(ARTP_RCORR); } diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 7c6571d7c2..7bed41c5b7 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -1396,7 +1396,7 @@ int player_res_corrosion(bool allow_random, bool temp, bool items) if (you.scan_artefacts(ARTP_RCORR) || you.wearing(OBJ_ARMOUR, ARM_ACID_DRAGON_ARMOUR) || you.wearing_jewellery(RING_RESIST_CORROSION) - || you.wearing_ego(OBJ_ARMOUR, SPARM_PRESERVATION)) + || you.wearing_ego(OBJ_ARMOUR, SPARM_CORROSION_RESISTANCE)) { return 1; } @@ -1536,7 +1536,7 @@ int player_spec_death() { int sd = 0; - sd += you.wearing(OBJ_STAVES, STAFF_DEATH); + sd += you.wearing(OBJ_STAVES, STAFF_NECROMANCY); sd += you.get_mutation_level(MUT_NECRO_ENHANCER); @@ -1705,7 +1705,7 @@ int player_prot_life(bool allow_random, bool temp, bool items) pl++; } - pl += you.wearing(OBJ_STAVES, STAFF_DEATH); + pl += you.wearing(OBJ_STAVES, STAFF_NECROMANCY); } // undead/demonic power diff --git a/crawl-ref/source/rltiles/dc-item.txt b/crawl-ref/source/rltiles/dc-item.txt index 4aa4ad8bcc..07098eca96 100644 --- a/crawl-ref/source/rltiles/dc-item.txt +++ b/crawl-ref/source/rltiles/dc-item.txt @@ -566,7 +566,7 @@ i-stealth BRAND_ARM_STEALTH i-resistance BRAND_ARM_RESISTANCE i-positive-energy BRAND_ARM_POSITIVE_ENERGY i-archmagi BRAND_ARM_ARCHMAGI -i-preservation BRAND_ARM_PRESERVATION +i-corrosion-res BRAND_ARM_CORROSION_RESISTANCE i-reflection BRAND_ARM_REFLECTION i-spirit BRAND_ARM_SPIRIT_SHIELD i-hurling BRAND_ARM_HURLING @@ -1195,7 +1195,7 @@ i-staff_poison STAFF_POISON # start TAG_MAJOR_VERSION == 34 i-staff_energy STAFF_ENERGY # end TAG_MAJOR_VERSION -i-staff_death STAFF_DEATH +i-staff_necromancy STAFF_NECROMANCY i-staff_conjuration STAFF_CONJURATION # start TAG_MAJOR_VERSION == 34 i-staff_enchantment STAFF_ENCHANTMENT diff --git a/crawl-ref/source/rltiles/item/amulet/i-alchemy.png b/crawl-ref/source/rltiles/item/amulet/i-alchemy.png index 68c13a1161..a34a4ff083 100644 Binary files a/crawl-ref/source/rltiles/item/amulet/i-alchemy.png and b/crawl-ref/source/rltiles/item/amulet/i-alchemy.png differ diff --git a/crawl-ref/source/rltiles/item/amulet/i-dissipation.png b/crawl-ref/source/rltiles/item/amulet/i-dissipation.png index d07b3db02e..4cff333e39 100644 Binary files a/crawl-ref/source/rltiles/item/amulet/i-dissipation.png and b/crawl-ref/source/rltiles/item/amulet/i-dissipation.png differ diff --git a/crawl-ref/source/rltiles/item/amulet/i-wildshape.png b/crawl-ref/source/rltiles/item/amulet/i-wildshape.png index 2c2f85974e..518167a72d 100644 Binary files a/crawl-ref/source/rltiles/item/amulet/i-wildshape.png and b/crawl-ref/source/rltiles/item/amulet/i-wildshape.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-command.png b/crawl-ref/source/rltiles/item/armour/brands/i-command.png index b0621be9b9..7d5e3a4164 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-command.png and b/crawl-ref/source/rltiles/item/armour/brands/i-command.png differ diff --git a/crawl-ref/source/rltiles/item/ring/i-r-corrosion.png b/crawl-ref/source/rltiles/item/armour/brands/i-corrosion-res.png similarity index 100% copy from crawl-ref/source/rltiles/item/ring/i-r-corrosion.png copy to crawl-ref/source/rltiles/item/armour/brands/i-corrosion-res.png diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-death.png b/crawl-ref/source/rltiles/item/armour/brands/i-death.png index 3764e1e3fd..7b91a5f1b0 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-death.png and b/crawl-ref/source/rltiles/item/armour/brands/i-death.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-glass.png b/crawl-ref/source/rltiles/item/armour/brands/i-glass.png index ad3a923ef2..ada9ba69e7 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-glass.png and b/crawl-ref/source/rltiles/item/armour/brands/i-glass.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-light.png b/crawl-ref/source/rltiles/item/armour/brands/i-light.png index cdb866d4dd..60b908cbd4 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-light.png and b/crawl-ref/source/rltiles/item/armour/brands/i-light.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-parrying.png b/crawl-ref/source/rltiles/item/armour/brands/i-parrying.png index 0ec8c620b7..6a4c37a08f 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-parrying.png and b/crawl-ref/source/rltiles/item/armour/brands/i-parrying.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-power.png b/crawl-ref/source/rltiles/item/armour/brands/i-power.png new file mode 100644 index 0000000000..8f0e4bee3f Binary files /dev/null and b/crawl-ref/source/rltiles/item/armour/brands/i-power.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-preservation.png b/crawl-ref/source/rltiles/item/armour/brands/i-preservation.png deleted file mode 100644 index 59dab93efc..0000000000 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-preservation.png and /dev/null differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-resonance.png b/crawl-ref/source/rltiles/item/armour/brands/i-resonance.png index 29962c40ec..fc56fe2e9b 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-resonance.png and b/crawl-ref/source/rltiles/item/armour/brands/i-resonance.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-sniping.png b/crawl-ref/source/rltiles/item/armour/brands/i-sniping.png index 09a5c8c856..925e0fcfe0 100644 Binary files a/crawl-ref/source/rltiles/item/armour/brands/i-sniping.png and b/crawl-ref/source/rltiles/item/armour/brands/i-sniping.png differ diff --git a/crawl-ref/source/rltiles/item/armour/brands/i-storms.png b/crawl-ref/source/rltiles/item/armour/brands/i-storms.png new file mode 100644 index 0000000000..0d08e46caf Binary files /dev/null and b/crawl-ref/source/rltiles/item/armour/brands/i-storms.png differ diff --git a/crawl-ref/source/rltiles/item/staff/i-staff_death.png b/crawl-ref/source/rltiles/item/staff/i-staff_necromancy.png similarity index 100% rename from crawl-ref/source/rltiles/item/staff/i-staff_death.png rename to crawl-ref/source/rltiles/item/staff/i-staff_necromancy.png diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc index 9d9ee0a504..ed48ef20e8 100644 --- a/crawl-ref/source/shopping.cc +++ b/crawl-ref/source/shopping.cc @@ -384,7 +384,7 @@ unsigned int item_value(item_def item, bool ident) case SPARM_PROTECTION: case SPARM_HURLING: case SPARM_REPULSION: - case SPARM_PRESERVATION: + case SPARM_CORROSION_RESISTANCE: case SPARM_SHADOWS: case SPARM_RAMPAGING: case SPARM_INFUSION: -- Dungeon Crawl Stone Soup |