summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-03 20:52:31 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-03 20:52:31 +0000
commit610430033b7529776cdbd59cb9327fab3252309f (patch)
treef65eb189da2183b407c93af632eea91322349c46
parent6076bb0e708d2603f636e58211838c02b0c301c6 (diff)
downloadhercules-610430033b7529776cdbd59cb9327fab3252309f.tar.gz
hercules-610430033b7529776cdbd59cb9327fab3252309f.tar.bz2
hercules-610430033b7529776cdbd59cb9327fab3252309f.tar.xz
hercules-610430033b7529776cdbd59cb9327fab3252309f.zip
- SC_AUTOCOUNTER now only blocks all attacks/skills when the flag is 0 (attempt to use skill)
- Autocounter triggers are now checked against flag 1 (cast-end) rather than 0. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5893 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/status.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index ad17dd2ef..56e9972bc 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,7 @@ 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/04/03
+ * Fixed Auto-counter. [Skotlex]
* Modified Rude-Attacked behaviour so that such skills only triggers when
the rude-attacked count is greater than 3. [Skotlex]
* Added config setting slaves_inherit_mode to determine whether slaves take
diff --git a/src/map/battle.c b/src/map/battle.c
index caa05e2ff..278ecc1db 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3014,7 +3014,7 @@ int battle_weapon_attack( struct block_list *src,struct block_list *target,
{
if(tsc->data[SC_AUTOCOUNTER].timer != -1 &&
(!sc || sc->data[SC_AUTOCOUNTER].timer == -1) &&
- status_check_skilluse(target, src, KN_AUTOCOUNTER, 0)
+ status_check_skilluse(target, src, KN_AUTOCOUNTER, 1)
) {
int dir = map_calc_dir(target,src->x,src->y);
int t_dir = unit_getdir(target);
diff --git a/src/map/status.c b/src/map/status.c
index 312b6a6f1..7df40765c 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -405,7 +405,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
{
if (
(sc->data[SC_TRICKDEAD].timer != -1 && skill_num != NV_TRICKDEAD)
- || sc->data[SC_AUTOCOUNTER].timer != -1
+ || (sc->data[SC_AUTOCOUNTER].timer != -1 && !flag)
|| (sc->data[SC_GOSPEL].timer != -1 && sc->data[SC_GOSPEL].val4 == BCT_SELF && skill_num != PA_GOSPEL)
|| (sc->data[SC_GRAVITATION].timer != -1 && sc->data[SC_GRAVITATION].val3 == BCT_SELF && skill_num != HW_GRAVITATION)
)