diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 4 | ||||
-rw-r--r-- | src/map/skill.c | 2 | ||||
-rw-r--r-- | src/map/status.c | 1 |
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 |