Browse Source

GS Skill updates/fixes

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7979 54d463be-8e91-2dee-dedb-b68131a5f0ec
Vicious 19 năm trước cách đây
mục cha
commit
f0d0180409

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ 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/30
+	* GS skill updates/fixes [Vicious]
 	* Force all users offline in sql when char-server starts [Toms]
 2006/07/29
 	* Removed ugly struct cast in login.c [Toms]

+ 2 - 2
db/skill_cast_db.txt

@@ -870,9 +870,9 @@
 //-- GS_GATLINGFEVER
 517,0,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:160000,0
 //-- GS_DUST
-518,0,1000,0,0,0
+518,1000,1000,0,0,0
 //-- GS_FULLBUSTER
-519,0,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0
+519,1000,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0
 //-- GS_SPREADATTACK
 520,0,1000,0,0,0
 //-- GS_GROUNDDRIFT

+ 2 - 0
db/skill_castnodex_db.txt

@@ -18,6 +18,8 @@
 410,1	//WE_CALLBABY
 482,1	//PF_DOUBLECASTING
 462,1 //SL_KAIZEL
+512,1 //GS_TRACKING
+518,1 //GS_DUST
 1014,1	//PR_REDEMPTIO
 10010,3	//GD_BATTLEORDER
 10011,3	//GD_REGENERATION

+ 4 - 4
db/skill_db.txt

@@ -534,13 +534,13 @@
 510,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_SNAKEEYE#Snake Eye#
 511,-3,8,0,0,0,0,10,2,no,0,0,0,weapon,0	//GS_CHAINACTION#Chain Action#
 512,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_TRACKING#Tracking#
-513,-3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_DISARM#Disarm#
+513,7,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_DISARM#Disarm#
 514,3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_PIERCINGSHOT#Piercing Shot#
 515,3,8,1,0,0,0,10,5,no,0,0,0,weapon,0	//GS_RAPIDSHOWER#Rapid Shower#
-516,-5,8,4,0,2,2,10,1,no,0,0,0,weapon,0	//GS_DESPERADO#Desperado#
+516,0,8,4,0,2,2,10,1,no,0,0,0,weapon,0	//GS_DESPERADO#Desperado#
 517,0,6,4,0,1,0,10,1,no,0,0,0,weapon,0	//GS_GATLINGFEVER#Gatling Fever#
-518,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_DUST#Dust#
-519,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_FULLBUSTER#Full Buster#
+518,3,6,1,0,0,0,10,1,no,0,0,0,weapon,5	//GS_DUST#Dust#
+519,3,6,1,0,0,0,10,1,yes,0,0,0,weapon,0	//GS_FULLBUSTER#Full Buster#
 520,3,6,1,0,2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0	//GS_SPREADATTACK#Spread Attack#
 521,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_GROUNDDRIFT#Ground Drift#
 522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_TOBIDOUGU#NJ_TOBIDOUGU#

+ 3 - 3
db/skill_require_db.txt

@@ -394,10 +394,10 @@
 498,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3##
 499,0,0,8,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//HT_POWER##
 //temp plugs
-500,0,0,10,0,0,1,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GLITTERING
+500,0,0,2,0,0,1,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GLITTERING
 501,0,0,10,0,0,0,17:18:19:20:21,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FLING
 502,0,0,10,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_TRIPLEACTION
-503,0,0,10,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_BULLSEYE
+503,0,0,30,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_BULLSEYE
 504,0,0,10,0,0,0,17:18:19:20:21,0,0,none,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_MADNESSCANCEL
 505,0,0,15,0,0,0,17:18:19:20:21,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_ADJUSTMENT
 506,0,0,10,0,0,0,17:18:19:20:21,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_INCREASING
@@ -410,7 +410,7 @@
 516,0,0,32:34:36:38:40:42:44:46:48:50,0,0,0,17,3,10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DESPERADO
 517,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,20,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GATLINGFEVER
 518,0,0,3:6:9:12:15:18:21:24:27:30,0,0,0,19,4,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DUST
-519,0,0,20:25:30:35:40:45:50:55:60:65,0,0,0,19,4,1:2:3:4:5:6:7:8:9:10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FULLBUSTER
+519,0,0,20:25:30:35:40:45:50:55:60:65,0,0,0,19,4,2:2:4:4:6:6:8:8:10:10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FULLBUSTER
 520,0,0,15:20:25:30:35:40:45:50:55:60,0,0,0,19,4,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_SPREADATTACK
 521,0,0,4:8:12:16:20:24:28:32:36:40,0,0,0,21,5,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GROUNDDRIFT
 523,0,0,2,0,0,0,99,6,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_SYURIKEN

+ 4 - 0
src/map/battle.c

@@ -350,6 +350,10 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
 			(flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
 			damage=damage*(100-sc->data[SC_DEFENDER].val2)/100;
 
+		if(sc->data[SC_ADJUSTMENT].timer != -1 &&
+			(flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
+			damage=damage*80/100;
+
 		if(sc->data[SC_FOGWALL].timer != -1) {
 			if(flag&BF_SKILL) //25% reduction
 				damage -= 25*damage/100;

+ 1 - 1
src/map/skill.c

@@ -1358,7 +1358,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv));
 		break;
 	case GS_FULLBUSTER:
-		sc_start(bl,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1));
+		sc_start(src,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1));
 		break;
 	case NJ_HYOUSYOURAKU:
 		sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv));

+ 2 - 2
src/map/status.c

@@ -1992,7 +1992,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
 		status->aspd_rate -= 30*skill;
 	if((skill=pc_checkskill(sd,GS_SINGLEACTION))>0 &&
 		(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))
-		status->aspd_rate -= 5*skill;
+		status->aspd_rate -= (int)((skill+1)/2) * 10;
 	if(pc_isriding(sd))
 		status->aspd_rate += 500-100*pc_checkskill(sd,KN_CAVALIERMASTERY);
 	
@@ -3242,7 +3242,7 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
 	if(sc->data[SC_BLIND].timer != -1)
 		hit -= hit * 25/100;
 	if(sc->data[SC_ADJUSTMENT].timer!=-1)
-		hit += 30;
+		hit -= 30;
 	if(sc->data[SC_INCREASING].timer!=-1)
 		hit += 20; // RockmanEXE; changed based on updated [Reddozen]