summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-11-15 03:32:45 -0200
committershennetsind <ind@henn.et>2013-11-15 03:32:45 -0200
commit1f5161a2bd3c7934373146d8cac3c131536758ba (patch)
treee788177258e61e81b5d20dc7eb43c2d7c6cd8ff5 /src/map/pc.c
parentcdf6dc90768b1b524c78e3a172c7a844dd88a943 (diff)
downloadhercules-1f5161a2bd3c7934373146d8cac3c131536758ba.tar.gz
hercules-1f5161a2bd3c7934373146d8cac3c131536758ba.tar.bz2
hercules-1f5161a2bd3c7934373146d8cac3c131536758ba.tar.xz
hercules-1f5161a2bd3c7934373146d8cac3c131536758ba.zip
Official Item BindOnEquip Support
Implements the 'BindOnEquip' item db field which determines whether the piece of equipment should bind to the character upon being equipped. When a character tries to equip such a item for the first time a dialog shows up asking the character to confirm whether to equip the item or not, and notifying the character that by equipping the item it will become bound to the character, and therefore unable to be used by another character. Special Thanks to Beret for all the information, Haruna for testing. Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index d597ccf9f..317e4e476 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -8707,6 +8707,12 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
return 0;
}
+ /* won't fail from this point onwards */
+ if( id->flag.bindonequip && !sd->status.inventory[n].bound ) {
+ sd->status.inventory[n].bound = (unsigned char)IBT_CHARACTER;
+ clif->notify_bounditem(sd,n);
+ }
+
if(pos == EQP_ACC) { //Accesories should only go in one of the two,
pos = req_pos&EQP_ACC;
if (pos == EQP_ACC) //User specified both slots..