summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-07 19:42:47 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-07 19:42:47 +0000
commit79b7a40abaf1b4855cd3c828d96f61dd71750814 (patch)
tree12b89028afd37ff8900606207be5ad0e631569d6
parent7332d10a5961e767091639e9666e2594834fc4d1 (diff)
downloadhercules-79b7a40abaf1b4855cd3c828d96f61dd71750814.tar.gz
hercules-79b7a40abaf1b4855cd3c828d96f61dd71750814.tar.bz2
hercules-79b7a40abaf1b4855cd3c828d96f61dd71750814.tar.xz
hercules-79b7a40abaf1b4855cd3c828d96f61dd71750814.zip
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7575 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/status.c6
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.