summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt5
-rw-r--r--db/skill_cast_db.txt2
-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
6 files changed, 15 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 9cbe0737b..0af81eb68 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,11 @@ 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/07/31
+ * Fixed NPC_STOP id value in skill_cast_db [Skotlex]
+ * Bladestop will no longer stop when you push either of the characters
+ around. [Skotlex]
+ * Fixed Enchant Poison having a near 100% chance of poisoning target on
+ attack. [Skotlex]
* Little fix on duel [Toms]
* Added possibility to restrict duel usage to same map [Toms]
* Merged mpeg's fix on ninja skills [Toms]
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index 477244469..20d532e2f 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -534,7 +534,7 @@
//-- NPC_DARKGRANDNESS
339,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
//-- NPC_STOP
-340,0,0,0,10000,0
+342,0,0,0,10000,0
//-- NPC_POWERUP
349,0,0,0,60000:120000:180000:240000:300000,0
//-- NPC_AGIUP
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: