Browse Source

Updated Ninja Skills (#4267)

* Fixes #4114.
* kRO Changelog: http://ro.gnjoy.com/news/notice/View.asp?seq=7084
Thanks to @SeravySensei and @Tokeiburu!
Aleos 5 years ago
parent
commit
abec31f320
6 changed files with 40 additions and 23 deletions
  1. 7 7
      db/re/skill_cast_db.txt
  2. 5 5
      db/re/skill_db.txt
  3. 5 5
      db/re/skill_require_db.txt
  4. 0 1
      db/re/skill_unit_db.txt
  5. 18 2
      src/map/battle.cpp
  6. 5 3
      src/map/skill.cpp

+ 7 - 7
db/re/skill_cast_db.txt

@@ -879,15 +879,15 @@
 
 //===== Ninja ==============================
 //-- NJ_KUNAI
-524,0,1000,0,0,0,0,0
+524,0,0,0,0,0,200,0
 //-- NJ_HUUMA
-525,2400,2000,0,100,0,0,600
+525,1000,500,0,100,0,0,500
 //-- NJ_ZENYNAGE
 526,0,5000,0,0,0,0,0
 //-- NJ_TATAMIGAESHI
 527,0,3000,0,3000,3000,0,0
 //-- NJ_KASUMIKIRI
-528,0,1000,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0
+528,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,500,0
 //-- NJ_SHADOWJUMP
 529,0,1000,0,0,0,0,0
 //-- NJ_UTSUSEMI
@@ -899,19 +899,19 @@
 //-- NJ_KAENSIN
 535,4800:4400:4000:3600:3200:2800:2400:2000:1600:1200,1000,0,20000,0,0,1200:1100:1000:900:800:700:600:500:400:300
 //-- NJ_BAKUENRYU
-536,2400,2000,0,100,0,0,600
+536,2000,500,0,100,0,300,800
 //-- NJ_HYOUSENSOU
 537,560:1120:1680:2240:2800:3360:3840:4480:5040:5600,0,0,0,0,0,140:280:420:560:700:840:960:1120:1260:1400
 //-- NJ_SUITON
 538,2400,2000,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,600
 //-- NJ_HYOUSYOURAKU
-539,1600:2000:2400:2800:3200,2000,0,100,7500:12500:17500:22500:27500,0,400:500:600:700:800
+539,1700:1900:2100:2300:2500,500,0,100,7500:12500:17500:22500:27500,300,800
 //-- NJ_HUUJIN
 540,800:1200:1600:2000:2400:2800:3200:3600:4000:4400,1000,0,0,0,0,200:300:400:500:600:700:800:900:1000:1100
 //-- NJ_RAIGEKISAI
-541,3200,0,0,100,0,0,800
+541,1700,0,0,100,0,0,300
 //-- NJ_KAMAITACHI
-542,3200,0,0,0,0,0,800
+542,1200,0,0,0,0,0,300
 //-- NJ_NEN
 543,4000:3200:2400:1600:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200
 //==========================================

+ 5 - 5
db/re/skill_db.txt

@@ -759,12 +759,12 @@
 522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0,0x0,		NJ_TOBIDOUGU,Shuriken Training
 523,9,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0,0x0,	NJ_SYURIKEN,Throw Shuriken
 524,9,8,1,-1,0x40,0,5,3,no,0,0,0,weapon,0,0x0,	NJ_KUNAI,Throw Kunai
-525,9,8,2,-1,0x2,0,5,-3:-3:-4:-4:-5,no,0,0x40000,0,weapon,0,0x0,	NJ_HUUMA,Throw Huuma Shuriken
+525,9,8,1,-1,0x2,1:1:1:2:2,5,-3:-3:-4:-4:-5,no,0,0x40000,0,weapon,0,0x0,	NJ_HUUMA,Throw Huuma Shuriken
 526,9,6,1,0,0x50,0,10,1,no,0,0x18000,0,misc,0,0x0,		NJ_ZENYNAGE,Throw Zeny
 527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,4,0x0,		NJ_TATAMIGAESHI,Improvised Defense
-528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0,	NJ_KASUMIKIRI,Vanishing Slash
+528,-1,6,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0,	NJ_KASUMIKIRI,Vanishing Slash
 529,7:9:11:13:15,6,2,0,0x1,0,5,1,no,0,0,0,none,0,0x4,	NJ_SHADOWJUMP,Shadow Leap
-530,7:9:11:13:15,6,1,-1,0x100,0,5,1,no,0,0,0,weapon,0,0x204,	NJ_KIRIKAGE,Shadow Slash
+530,7:9:11:13:15,6,1,-1,0x100,0,5,-3,no,0,0,0,weapon,0,0x204,	NJ_KIRIKAGE,Shadow Slash
 531,0,6,4,0,0x1,0,5,1,no,0,0,0,none,7,0x0,		NJ_UTSUSEMI,Cicada Skin Sheeding
 532,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0,0x0,	NJ_BUNSINJYUTSU,Mirror Image
 533,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		NJ_NINPOU,Spirit of the Blade
@@ -775,8 +775,8 @@
 538,9,6,2,1,0x1,0,10,1,yes,0,0,0,magic,0,0x1000,	NJ_SUITON,Hidden Water
 539,0,6,4,1,0,0,5,1,yes,0,0,0,magic,0,0x0,		NJ_HYOUSYOURAKU,Ice Meteor
 540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0,0x0,	NJ_HUUJIN,Wind Blade
-541,9,6,2,4,0,0,5,1,yes,0,0,0,magic,0,0x0,	NJ_RAIGEKISAI,Lightning Strike of Destruction
-542,5:6:7:8:9,8,1,4,0,1,5,1,yes,0,0x40000,5:6:7:8:9,magic,0,0x0,	NJ_KAMAITACHI,Kamaitachi
+541,9,6,2,4,0,0,5,-3,yes,0,0,0,magic,0,0x0,	NJ_RAIGEKISAI,Lightning Strike of Destruction
+542,5:6:7:8:9,8,1,4,0,1,5,-5,yes,0,0x40000,5:6:7:8:9,magic,0,0x0,	NJ_KAMAITACHI,Kamaitachi
 543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0,		NJ_NEN,Soul
 544,-5,8,1,0,0x40,0,10,1,no,0,0,0,misc,0,0x0,	NJ_ISSEN,Final Strike
 

+ 5 - 5
db/re/skill_require_db.txt

@@ -507,14 +507,14 @@
 
 //****
 // NJ Ninja
-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,0,0								//NJ_SYURIKEN
-524,0,0,30:25:20:15:10,0,0,0,99,7,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NJ_KUNAI
-525,0,0,20:25:30:35:40,0,0,0,22,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NJ_HUUMA
+523,0,0,5,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,0,0								//NJ_SYURIKEN
+524,0,0,10,0,0,0,99,7,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0								//NJ_KUNAI
+525,0,0,15:20:25:30:35,0,0,0,22,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NJ_HUUMA
 526,0,0,50,0,0,500:1000:1500:2000:2500:3000:3500:4000:4500:5000,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,0,0	//NJ_ZENYNAGE
 527,0,0,15,0,0,0,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,0,0								//NJ_TATAMIGAESHI
-528,0,0,15,0,0,0,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,0,0								//NJ_KASUMIKIRI
+528,0,0,8,0,0,0,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,0,0								//NJ_KASUMIKIRI
 529,0,0,10,0,0,0,99,0,0,none,SC_HIDING,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NJ_SHADOWJUMP
-530,0,0,14:16:18:20:22,0,0,0,99,0,0,none,SC_HIDING,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0			//NJ_KIRIKAGE
+530,0,0,10:11:12:13:14,0,0,0,99,0,0,none,SC_HIDING,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0			//NJ_KIRIKAGE
 531,0,0,12:15:18:21:24,0,0,0,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,0,0					//NJ_UTSUSEMI
 532,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,99,0,0,none,0,0,7524,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_BUNSINJYUTSU
 534,0,0,18:20:22:24:26:28:30:32:34:36,0,0,0,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,0,0	//NJ_KOUENKA

+ 0 - 1
db/re/skill_unit_db.txt

@@ -99,7 +99,6 @@
 488,0xb9,    ,  3, 0,  -1,all,   0x200	//CG_HERMODE
 516,0x86,    ,  3, 0, 100,enemy, 0x000	//GS_DESPERADO
 521,0xbe,    ,  0, 1,1000,enemy, 0x000	//GS_GROUNDDRIFT
-525,0x86,    ,  0, 2,1000,enemy, 0x018	//NJ_HUUMA
 527,0xbc,    , -1, 0,2000,enemy, 0x018	//NJ_TATAMIGAESHI
 535,0xbd,    , -1, 0, 100,enemy, 0x8010	//NJ_KAENSIN
 536,0x86,    ,  2, 0,1000,enemy, 0x010	//NJ_BAKUENRYU

+ 18 - 2
src/map/battle.cpp

@@ -2949,7 +2949,7 @@ static void battle_calc_attack_masteries(struct Damage* wd, struct block_list *s
 			ATK_ADD(wd->masteryAtk, wd->masteryAtk2, ((wd->div_ < 1) ? 1 : wd->div_) * sd->spiritball * 3);
 #endif
 
-		if (skill_id == NJ_SYURIKEN && (skill = pc_checkskill(sd,NJ_TOBIDOUGU)) > 0) {
+		if (skill_id == NJ_SYURIKEN && (skill = pc_checkskill(sd,NJ_TOBIDOUGU)) > 0) { // !TODO: Confirm new mastery formula
 			ATK_ADD(wd->damage, wd->damage2, 3 * skill);
 #ifdef RENEWAL
 			ATK_ADD(wd->masteryAtk, wd->masteryAtk2, 3 * skill);
@@ -3755,7 +3755,11 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			break;
 #endif
 		case NJ_HUUMA:
+#ifdef RENEWAL
+			skillratio += -150 + 250 * skill_lv;
+#else
 			skillratio += 50 + 150 * skill_lv;
+#endif
 			break;
 		case NJ_TATAMIGAESHI:
 			skillratio += 10 * skill_lv;
@@ -3764,14 +3768,22 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 #endif
 			break;
 		case NJ_KASUMIKIRI:
+#ifdef RENEWAL
+			skillratio += 20 * skill_lv;
+#else
 			skillratio += 10 * skill_lv;
+#endif
 			break;
 		case NJ_KIRIKAGE:
+#ifdef RENEWAL
+			skillratio += -50 + 150 * skill_lv;
+#else
 			skillratio += 100 * (skill_lv - 1);
+#endif
 			break;
 #ifdef RENEWAL
 		case NJ_KUNAI:
-			skillratio += 200;
+			skillratio += -100 + 100 * skill_lv;
 			break;
 #endif
 		case KN_CHARGEATK: { // +100% every 3 cells of distance but hard-limited to 500%
@@ -5949,7 +5961,11 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 							skillratio += 25 * sd->spiritcharm;
 						break;
 					case NJ_RAIGEKISAI:
+#ifdef RENEWAL
+						skillratio += 100 * skill_lv;
+#else
 						skillratio += 60 + 40 * skill_lv;
+#endif
 						if(sd && sd->spiritcharm_type == CHARM_TYPE_WIND && sd->spiritcharm > 0)
 							skillratio += 15 * sd->spiritcharm;
 						break;

+ 5 - 3
src/map/skill.cpp

@@ -3525,7 +3525,9 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
 		case WL_COMET:
 		case NPC_COMET:
 		case KO_MUCHANAGE:
+#ifndef RENEWAL
 		case NJ_HUUMA:
+#endif
 			dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,skill_lv,DMG_MULTI_HIT);
 			break;
 		case WL_CHAINLIGHTNING_ATK:
@@ -5121,6 +5123,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 				case SU_SCRATCH:
 					clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
 					break;
+#ifdef RENEWAL
+				case NJ_HUUMA:
+#endif
 				case LG_MOONSLASHER:
 				case MH_XENO_SLASHER:
 					clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, DMG_SKILL);
@@ -11869,9 +11874,6 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
 	case NJ_HYOUSYOURAKU:
 	case NJ_RAIGEKISAI:
 	case NJ_KAMAITACHI:
-#ifdef RENEWAL
-	case NJ_HUUMA:
-#endif
 	case NPC_EVILLAND:
 	case NPC_VENOMFOG:
 	case NPC_ICEMINE: