Bladeren bron

nj/gs work by RockmanEXE and red_sun

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5573 54d463be-8e91-2dee-dedb-b68131a5f0ec
Vicious 19 jaren geleden
bovenliggende
commit
d6f096d89d
3 gewijzigde bestanden met toevoegingen van 23 en 14 verwijderingen
  1. 3 3
      db/skill_db.txt
  2. 18 10
      src/map/skill.c
  3. 2 1
      src/map/status.c

+ 3 - 3
db/skill_db.txt

@@ -536,11 +536,11 @@
 513,-5,6,1,-1,0,0,5,1,no,0,0,0,weapon,0	//GS_DISARM#Disarm#
 514,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//GS_PIERCINGSHOT#Piercing Shot#
 515,-5,8,1,-1,0,0,10,5,no,0,0,0,weapon,0	//GS_RAPIDSHOWER#Rapid Shower#
-516,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//GS_DESPERADO#Desperado#
+516,-5,8,4,-1,2,3,10,7,no,0,0,0,weapon,0	//GS_DESPERADO#Desperado#
 517,0,6,4,0,1,0,5,1,no,0,0,0,weapon,0	//GS_GATLINGFEVER#Gatling Fever#
 518,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//GS_DUST#Dust#
 519,-5,6,1,-1,0,0,5,1,no,0,0,0,weapon,0	//GS_FULLBUSTER#Full Buster#
-520,-5,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//GS_SPREADATTACK#Spread Attack#
+520,-5,6,4,-1,2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0	//GS_SPREADATTACK#Spread Attack#
 521,-5,6,1,-1,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#
 523,9,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//NJ_SYURIKEN#NJ_SYURIKEN#
@@ -550,7 +550,7 @@
 527,0,6,4,3,0,0,5,1,no,0,0,0,weapon,0	//NJ_TATAMIGAESHI#NJ_TATAMIGAESHI#
 528,1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//NJ_KASUMIKIRI#NJ_KASUMIKIRI#
 529,1,6,4,0,1,0,5,1,no,0,0,0,none,0	//NJ_SHADOWJUMP#NJ_SHADOWJUMP#
-530,1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0	//NJ_KIRIKAGE#NJ_KIRIKAGE#
+530,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0	//NJ_KIRIKAGE#NJ_KIRIKAGE#
 531,0,6,4,0,1,0,5,1,no,0,0,0,none,0	//NJ_UTSUSEMI#NJ_UTSUSEMI#
 532,0,6,4,0,1,0,10,1,no,0,0,0,none,0	//NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU#
 533,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//NJ_NINPOU#NJ_NINPOU#

+ 18 - 10
src/map/skill.c

@@ -3117,16 +3117,17 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
 				skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
 		break;
 	case GS_DESPERADO:
-		clif_skill_nodamage(src,bl,skillid,skilllv,1);
-		map_foreachinrange(skill_attack_area, src,
-			skill_get_splash(skillid, skilllv), BL_CHAR,
-			BF_WEAPON, src, src, skillid, skilllv, tick, flag, BCT_ENEMY);	
-		break;
 	case GS_SPREADATTACK:
-		map_foreachinrange(skill_area_sub, bl,
-			skill_get_splash(skillid, skilllv),BL_CHAR,
-			src,skillid,skilllv,tick, flag|BCT_ENEMY|1,
-			skill_castend_damage_id);
+		if(flag&1)
+			skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
+		else {
+			//If we get here, someone changed it to be a enemy targetted skill,
+			//so treat it as such.
+			map_foreachinrange(skill_area_sub, bl,
+				skill_get_splash(skillid, skilllv),BL_CHAR,
+				src,skillid,skilllv,tick, flag|BCT_ENEMY|1,
+				skill_castend_damage_id);
+		}
 		break;
 	case NJ_ZENYNAGE:
 		skill_attack(BF_MISC,src,src,bl,skillid,skilllv,tick,flag);
@@ -3136,7 +3137,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
 		sc_start(src,SC_HIDING,100,skilllv,skill_get_time(skillid,skilllv));
 		break;
 	case NJ_KIRIKAGE:
-		status_change_end(src, SC_HIDING, -1);	// ƒnƒCƒfƒBƒ“ƒO‰ð?œ
+		status_change_end(src, SC_HIDING, -1);
 		skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
 		break;
 	case NJ_KOUENKA:
@@ -5686,6 +5687,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 				pc_delspiritball(sd,1,0);
 		}
 		break;
+	case GS_DESPERADO:
+	case GS_SPREADATTACK:
+		map_foreachinrange(skill_area_sub, src,
+			skill_get_splash(skillid, skilllv),BL_CHAR,
+			src,skillid,skilllv,tick, flag|BCT_ENEMY|1,
+			skill_castend_damage_id);
+		break;
 	case GS_MADNESSCANCEL:
 	case GS_ADJUSTMENT:
 	case GS_INCREASING:

+ 2 - 1
src/map/status.c

@@ -449,7 +449,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
 	if (sc && sc->option)
 	{
 		if (sc->option&OPTION_HIDE && skill_num != TF_HIDING && skill_num != AS_GRIMTOOTH
-			&& skill_num != RG_BACKSTAP && skill_num != RG_RAID)
+			&& skill_num != RG_BACKSTAP && skill_num != RG_RAID && skill_num != NJ_SHADOWJUMP
+			&& skill_num != NJ_KIRIKAGE)
 			return 0;
 //		if (sc->option&OPTION_CLOAK && skill_num == TF_HIDING)
 //			return 0; //Latest reports indicate Hiding is usable while Cloaking. [Skotlex]