From 354c1e73bbc7bc831851c66aa8bb5abfc1eee2f6 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 7 Jul 2006 19:42:47 +0000 Subject: [PATCH] - Status_calc_bl will no longer stop you from attacking/walking when the mode is changed unless the new mode no longer includes "can-attack"/"can-move" respectively. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7575 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ src/map/status.c | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index c5fc31863a..2597bc9984 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/07/07 + * Status_calc_bl will no longer stop you from attacking/walking when the + mode is changed unless the new mode no longer includes + "can-attack"/"can-move" respectively. [Skotlex] * Should have fixed clif_item_sub to properly store pet egg/armor data. There should be no more "random refine levels" bugs related to these. [Skotlex] diff --git a/src/map/status.c b/src/map/status.c index bce2fd2468..4b8a9f9f2b 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2648,8 +2648,10 @@ void status_calc_bl(struct block_list *bl, unsigned long flag) { status->mode = status_calc_mode(bl, sc, b_status->mode); //Since mode changed, reset their state. - unit_stop_attack(bl); - unit_stop_walking(bl,0); + if (!(status->mode&MD_CANATTACK)) + unit_stop_attack(bl); + if (!(status->mode&MD_CANMOVE)) + unit_stop_walking(bl,0); } // No status changes alter these yet.