summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/chardump.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-11-16 01:44:48 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-11-16 01:55:19 +0100
commit1e933dd424e0be9b87f38cabc72f8d891b0ce576 (patch)
tree03d7b9be139a2c12891af44be01ee69190f1efde /crawl-ref/source/chardump.cc
parent649b6898685b9fd872e3b3c1a0ba8729f807cac4 (diff)
downloadcrawl-ref-1e933dd424e0be9b87f38cabc72f8d891b0ce576.tar.gz
crawl-ref-1e933dd424e0be9b87f38cabc72f8d891b0ce576.zip
Don't bundle all evokables as "miscelanneous" in action counts.
Diffstat (limited to 'crawl-ref/source/chardump.cc')
-rw-r--r--crawl-ref/source/chardump.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/crawl-ref/source/chardump.cc b/crawl-ref/source/chardump.cc
index 61dad41172..13e6a62074 100644
--- a/crawl-ref/source/chardump.cc
+++ b/crawl-ref/source/chardump.cc
@@ -1203,6 +1203,18 @@ static string _describe_action_subtype(caction_type type, int subtype)
case CACT_ABIL:
return ability_name((ability_type)subtype);
case CACT_EVOKE:
+ if (subtype >= UNRAND_START && subtype <= UNRAND_LAST)
+ return get_unrand_entry(subtype)->name;
+
+ if (subtype >= 1 << 16)
+ {
+ item_def dummy;
+ dummy.base_type = (object_class_type)(subtype >> 16);
+ dummy.sub_type = subtype & 0xffff;
+ dummy.quantity = 1;
+ return dummy.name(DESC_PLAIN, true);
+ }
+
switch ((evoc_type)subtype)
{
case EVOC_WAND:
@@ -1211,8 +1223,12 @@ static string _describe_action_subtype(caction_type type, int subtype)
return "Rod";
case EVOC_DECK:
return "Deck";
+#if TAG_MAJOR_VERSION == 34
case EVOC_MISC:
return "Miscellaneous";
+#endif
+ case EVOC_TOME:
+ return "tome";
default:
return "Error";
}