diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 4 | ||||
-rw-r--r-- | src/map/map.c | 4 | ||||
-rw-r--r-- | src/map/skill.c | 7 | ||||
-rw-r--r-- | src/map/status.c | 2 |
4 files changed, 9 insertions, 8 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 27b718bc9..c7f200e8a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1585,8 +1585,8 @@ static struct Damage battle_calc_weapon_attack( skillratio += 150 +50*sc->data[SC_EDP].val1; } switch (skill_num) { - case AS_SONICBLOW: - if (sc && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_ASSASIN) + case AS_SONICBLOW: //EDP will not stack with Soul Link bonus. + if (sc && sc->data[SC_EDP].timer == -1 && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_ASSASIN) skillratio += (map_flag_gvg(src->m))?25:100; //+25% dmg on woe/+100% dmg on nonwoe if(sd && pc_checkskill(sd,AS_SONICACCEL)>0) skillratio += 10; diff --git a/src/map/map.c b/src/map/map.c index d217f0b35..2e198bb0d 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -498,8 +498,8 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick) { status_change_end(bl, SC_CLOSECONFINE, -1); if (sc->data[SC_CLOSECONFINE2].timer != -1) status_change_end(bl, SC_CLOSECONFINE2, -1); - if (sc->data[SC_BLADESTOP].timer != -1) - status_change_end(bl, SC_BLADESTOP, -1); +// if (sc->data[SC_BLADESTOP].timer != -1) //Won't stop when you are knocked away, go figure... +// status_change_end(bl, SC_BLADESTOP, -1); } } if (moveblock) map_delblock_sub(bl,0); diff --git a/src/map/skill.c b/src/map/skill.c index d64997c71..de7dc85ab 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1085,9 +1085,10 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int if (sc && sc->count) { // Enchant Poison gives a chance to poison attacked enemies - if(sc->data[SC_ENCPOISON].timer != -1) - sc_start(bl,SC_POISON,10*sc->data[SC_ENCPOISON].val2,sc->data[SC_ENCPOISON].val1, - skill_get_time2(AS_ENCHANTPOISON,sc->data[SC_ENCPOISON].val1)); + if(sc->data[SC_ENCPOISON].timer != -1) //Don't use sc_start since chance comes in 1/10000 rate. + status_change_start(bl,SC_POISON,sc->data[SC_ENCPOISON].val2, + sc->data[SC_ENCPOISON].val1,0,0,0, + skill_get_time2(AS_ENCHANTPOISON,sc->data[SC_ENCPOISON].val1),0); // Enchant Deadly Poison gives a chance to deadly poison attacked enemies if(sc->data[SC_EDP].timer != -1) sc_start4(bl,SC_DPOISON,sc->data[SC_EDP].val2, diff --git a/src/map/status.c b/src/map/status.c index 1a3ca25ec..90fe8a87b 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4704,7 +4704,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val val2 = 5; //Lasts 5 hits break; case SC_ENCPOISON: - val2= 25+5*val1; //Poisoning Chance (2.5+5%) + val2= 250+50*val1; //Poisoning Chance (2.5+0.5%) in 1/10000 rate case SC_ASPERSIO: case SC_FIREWEAPON: case SC_WATERWEAPON: |