diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/status.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index c5fc31863..2597bc998 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 bce2fd246..4b8a9f9f2 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. |