summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2014-03-12 18:32:00 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2014-03-12 18:32:00 +0800
commit2f9a514a7118724e2954ac96c67e7396ec61d0b4 (patch)
tree7f0ed9ba8c37de6ca51dac1355d4fed7d383bce2
parent1e9b96f85671b8515a3e962c4640575d95768b09 (diff)
downloadhercules-2f9a514a7118724e2954ac96c67e7396ec61d0b4.tar.gz
hercules-2f9a514a7118724e2954ac96c67e7396ec61d0b4.tar.bz2
hercules-2f9a514a7118724e2954ac96c67e7396ec61d0b4.tar.xz
hercules-2f9a514a7118724e2954ac96c67e7396ec61d0b4.zip
Fixed Bug#8073
-http://hercules.ws/board/tracker/issue-8073-removing-magic-gear-and-cart/?gopid=22195#entry22195 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
-rw-r--r--src/map/clif.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index c61a72597..fc8761087 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -11113,16 +11113,16 @@ void clif_parse_GetItemFromCart(int fd,struct map_session_data *sd)
/// 012a
void clif_parse_RemoveOption(int fd,struct map_session_data *sd)
{
- /**
- * Attempts to remove these options when this function is called (will remove all available)
- **/
-#ifdef NEW_CARTS
- pc->setoption(sd,sd->sc.option&~(OPTION_RIDING|OPTION_FALCON|OPTION_DRAGON|OPTION_MADOGEAR));
- if( sd->sc.data[SC_PUSH_CART] )
+ if( !(sd->sc.option&(OPTION_RIDING|OPTION_FALCON|OPTION_DRAGON|OPTION_MADOGEAR))
+#ifdef NEW_CARTS
+ && sd->sc.data[SC_PUSH_CART] ){
pc->setcart(sd,0);
#else
- pc->setoption(sd,sd->sc.option&~(OPTION_CART|OPTION_RIDING|OPTION_FALCON|OPTION_DRAGON|OPTION_MADOGEAR));
+ ){
+ pc->setoption(sd,sd->sc.option&~OPTION_CART);
#endif
+ }else // priority to remove this option before we can clear cart
+ pc->setoption(sd,sd->sc.option&~(OPTION_RIDING|OPTION_FALCON|OPTION_DRAGON|OPTION_MADOGEAR));
}