summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-18 14:50:17 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-18 14:50:17 +0000
commitd2ed6a9218ffe6b2cd1889a12e265809f4573ff4 (patch)
tree9ee40c50f4368c3539eb979f9b5d3581255df898 /src
parent6713158b3247af09d6bf036028d94baf1e715525 (diff)
downloadhercules-d2ed6a9218ffe6b2cd1889a12e265809f4573ff4.tar.gz
hercules-d2ed6a9218ffe6b2cd1889a12e265809f4573ff4.tar.bz2
hercules-d2ed6a9218ffe6b2cd1889a12e265809f4573ff4.tar.xz
hercules-d2ed6a9218ffe6b2cd1889a12e265809f4573ff4.zip
- Fixed a crash when trying to extend TK's infinite combo feature.
- Corrected Poison React to counter regardless of distance, and to use the skill's 50+5*lv% counter chance (instead of 100%). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7730 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/status.c1
3 files changed, 5 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index dee87da15..21e23ee0a 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2944,7 +2944,9 @@ int battle_weapon_attack( struct block_list *src,struct block_list *target,
if (tsc) {
if (tsc->data[SC_POISONREACT].timer != -1 &&
- check_distance_bl(src, target, tstatus->rhw.range+1) &&
+ (rand()%100 < tsc->data[SC_POISONREACT].val3
+ || sstatus->def_ele == ELE_POISON) &&
+// check_distance_bl(src, target, tstatus->rhw.range+1) && Doesn't checks range! o.O;
status_check_skilluse(target, src, TF_POISON, 0)
) { //Poison React
if (sstatus->def_ele == ELE_POISON) {
diff --git a/src/map/skill.c b/src/map/skill.c
index d1f2a77fb..18715653e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1910,7 +1910,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
sd->skilllv_old = skilllv;
if (pc_famerank(sd->char_id,MAPID_TAEKWON))
{ //Extend combo time.
- delete_timer(sc->data[SC_COMBO].timer, status_change_timer);
+ delete_timer(sd->sc.data[SC_COMBO].timer, status_change_timer);
sd->sc.data[SC_COMBO].timer = add_timer(
tick+sd->sc.data[SC_COMBO].val4,
status_change_timer, src->id, SC_COMBO);
diff --git a/src/map/status.c b/src/map/status.c
index c37b0c084..fe3f1c05e 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -4669,6 +4669,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
break;
case SC_POISONREACT:
val2=val1/2 + val1%2; // Number of counters [Celest]
+ val3=50 + 5*val1; //Chance to counter. [Skotlex]
break;
case SC_MAGICROD:
val2 = val1*20; //SP gained