summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/map.c4
-rw-r--r--src/map/skill.c7
-rw-r--r--src/map/status.c2
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: