Przeglądaj źródła

- Fixed NPC_STOP id value in skill_cast_db
- Bladestop will no longer stop when you push either of the characters around.
- Fixed Enchant Poison having a near 100% chance of poisoning target on attack.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8015 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 19 lat temu
rodzic
commit
cd1b6a71e9
6 zmienionych plików z 15 dodań i 9 usunięć
  1. 5 0
      Changelog-Trunk.txt
  2. 1 1
      db/skill_cast_db.txt
  3. 2 2
      src/map/battle.c
  4. 2 2
      src/map/map.c
  5. 4 3
      src/map/skill.c
  6. 1 1
      src/map/status.c

+ 5 - 0
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]

+ 1 - 1
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

+ 2 - 2
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;

+ 2 - 2
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);

+ 4 - 3
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,

+ 1 - 1
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: