summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2012-05-13 10:15:07 +0200
committerBardur Arantsson <bardur@scientician.net>2012-05-13 10:15:07 +0200
commit2d57accf3a3c68e7eb41571eadf54ca2c7c4607f (patch)
treeeb7177f4f367cad454921aff4442f7d6dc8908b2 /src
parent6d8f14307f6e9ad22c7b34ad7a7058537cb6b738 (diff)
Lua: Move Demonology wield slot implementation to C
Diffstat (limited to 'src')
-rw-r--r--src/object.pkg5
-rw-r--r--src/object1.c19
2 files changed, 19 insertions, 5 deletions
diff --git a/src/object.pkg b/src/object.pkg
index a89dad9a..1ff281c7 100644
--- a/src/object.pkg
+++ b/src/object.pkg
@@ -835,11 +835,6 @@ static obj_theme lua_obj_theme @ theme_forge;
#define SV_CORPSE_SKULL 4
#define SV_CORPSE_MEAT 5
-/* The "sval" codes for TV_DAEMON_BOOK */
-#define SV_DEMONBLADE 55
-#define SV_DEMONSHIELD 56
-#define SV_DEMONHORN 57
-
/*
* Special Object Flags
*/
diff --git a/src/object1.c b/src/object1.c
index 857deb2c..b834eb91 100644
--- a/src/object1.c
+++ b/src/object1.c
@@ -4145,6 +4145,25 @@ s16b wield_slot_ideal(object_type *o_ptr, bool_ ideal)
}
return -1;
}
+
+ case TV_DAEMON_BOOK:
+ {
+ int slot = -1;
+
+ switch (o_ptr->sval)
+ {
+ case SV_DEMONBLADE : slot = INVEN_WIELD; break;
+ case SV_DEMONSHIELD: slot = INVEN_ARM; break;
+ case SV_DEMONHORN : slot = INVEN_HEAD; break;
+ }
+
+ if ((slot >= 0) && (!ideal))
+ {
+ slot = get_slot(slot);
+ }
+
+ return slot;
+ }
}
/* No slot available */