diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-05-13 10:15:07 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-05-13 10:15:07 +0200 |
commit | 2d57accf3a3c68e7eb41571eadf54ca2c7c4607f (patch) | |
tree | eb7177f4f367cad454921aff4442f7d6dc8908b2 /src | |
parent | 6d8f14307f6e9ad22c7b34ad7a7058537cb6b738 (diff) |
Lua: Move Demonology wield slot implementation to C
Diffstat (limited to 'src')
-rw-r--r-- | src/object.pkg | 5 | ||||
-rw-r--r-- | src/object1.c | 19 |
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 */ |