Updated Ninja Skills (#4267)

* Fixes #4114.
* kRO Changelog: http://ro.gnjoy.com/news/notice/View.asp?seq=7084
Thanks to @SeravySensei and @Tokeiburu!
This commit is contained in:
Aleos
2019-10-21 14:37:32 -04:00
committed by GitHub
parent 24c4c49610
commit abec31f320
6 changed files with 40 additions and 23 deletions

View File

@@ -879,15 +879,15 @@
//===== Ninja ============================== //===== Ninja ==============================
//-- NJ_KUNAI //-- NJ_KUNAI
524,0,1000,0,0,0,0,0 524,0,0,0,0,0,200,0
//-- NJ_HUUMA //-- NJ_HUUMA
525,2400,2000,0,100,0,0,600 525,1000,500,0,100,0,0,500
//-- NJ_ZENYNAGE //-- NJ_ZENYNAGE
526,0,5000,0,0,0,0,0 526,0,5000,0,0,0,0,0
//-- NJ_TATAMIGAESHI //-- NJ_TATAMIGAESHI
527,0,3000,0,3000,3000,0,0 527,0,3000,0,3000,3000,0,0
//-- NJ_KASUMIKIRI //-- 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 //-- NJ_SHADOWJUMP
529,0,1000,0,0,0,0,0 529,0,1000,0,0,0,0,0
//-- NJ_UTSUSEMI //-- NJ_UTSUSEMI
@@ -899,19 +899,19 @@
//-- NJ_KAENSIN //-- 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 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 //-- NJ_BAKUENRYU
536,2400,2000,0,100,0,0,600 536,2000,500,0,100,0,300,800
//-- NJ_HYOUSENSOU //-- 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 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 //-- 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 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 //-- 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 //-- 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 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 //-- NJ_RAIGEKISAI
541,3200,0,0,100,0,0,800 541,1700,0,0,100,0,0,300
//-- NJ_KAMAITACHI //-- NJ_KAMAITACHI
542,3200,0,0,0,0,0,800 542,1200,0,0,0,0,0,300
//-- NJ_NEN //-- NJ_NEN
543,4000:3200:2400:1600:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200 543,4000:3200:2400:1600:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200
//========================================== //==========================================

View File

@@ -759,12 +759,12 @@
522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0,0x0, NJ_TOBIDOUGU,Shuriken Training 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 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 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 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 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 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 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 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 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 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 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 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 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,1,yes,0,0x40000,5:6:7:8:9,magic,0,0x0, NJ_KAMAITACHI,Kamaitachi 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 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 544,-5,8,1,0,0x40,0,10,1,no,0,0,0,misc,0,0x0, NJ_ISSEN,Final Strike

View File

@@ -507,14 +507,14 @@
//**** //****
// NJ Ninja // 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 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,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 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,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 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 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 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 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 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 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 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

View File

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

View File

@@ -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); ATK_ADD(wd->masteryAtk, wd->masteryAtk2, ((wd->div_ < 1) ? 1 : wd->div_) * sd->spiritball * 3);
#endif #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); ATK_ADD(wd->damage, wd->damage2, 3 * skill);
#ifdef RENEWAL #ifdef RENEWAL
ATK_ADD(wd->masteryAtk, wd->masteryAtk2, 3 * skill); 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; break;
#endif #endif
case NJ_HUUMA: case NJ_HUUMA:
#ifdef RENEWAL
skillratio += -150 + 250 * skill_lv;
#else
skillratio += 50 + 150 * skill_lv; skillratio += 50 + 150 * skill_lv;
#endif
break; break;
case NJ_TATAMIGAESHI: case NJ_TATAMIGAESHI:
skillratio += 10 * skill_lv; skillratio += 10 * skill_lv;
@@ -3764,14 +3768,22 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
#endif #endif
break; break;
case NJ_KASUMIKIRI: case NJ_KASUMIKIRI:
#ifdef RENEWAL
skillratio += 20 * skill_lv;
#else
skillratio += 10 * skill_lv; skillratio += 10 * skill_lv;
#endif
break; break;
case NJ_KIRIKAGE: case NJ_KIRIKAGE:
#ifdef RENEWAL
skillratio += -50 + 150 * skill_lv;
#else
skillratio += 100 * (skill_lv - 1); skillratio += 100 * (skill_lv - 1);
#endif
break; break;
#ifdef RENEWAL #ifdef RENEWAL
case NJ_KUNAI: case NJ_KUNAI:
skillratio += 200; skillratio += -100 + 100 * skill_lv;
break; break;
#endif #endif
case KN_CHARGEATK: { // +100% every 3 cells of distance but hard-limited to 500% 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; skillratio += 25 * sd->spiritcharm;
break; break;
case NJ_RAIGEKISAI: case NJ_RAIGEKISAI:
#ifdef RENEWAL
skillratio += 100 * skill_lv;
#else
skillratio += 60 + 40 * skill_lv; skillratio += 60 + 40 * skill_lv;
#endif
if(sd && sd->spiritcharm_type == CHARM_TYPE_WIND && sd->spiritcharm > 0) if(sd && sd->spiritcharm_type == CHARM_TYPE_WIND && sd->spiritcharm > 0)
skillratio += 15 * sd->spiritcharm; skillratio += 15 * sd->spiritcharm;
break; break;

View File

@@ -3525,7 +3525,9 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
case WL_COMET: case WL_COMET:
case NPC_COMET: case NPC_COMET:
case KO_MUCHANAGE: case KO_MUCHANAGE:
#ifndef RENEWAL
case NJ_HUUMA: 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); dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,skill_lv,DMG_MULTI_HIT);
break; break;
case WL_CHAINLIGHTNING_ATK: 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: case SU_SCRATCH:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1); clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
break; break;
#ifdef RENEWAL
case NJ_HUUMA:
#endif
case LG_MOONSLASHER: case LG_MOONSLASHER:
case MH_XENO_SLASHER: case MH_XENO_SLASHER:
clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, DMG_SKILL); 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_HYOUSYOURAKU:
case NJ_RAIGEKISAI: case NJ_RAIGEKISAI:
case NJ_KAMAITACHI: case NJ_KAMAITACHI:
#ifdef RENEWAL
case NJ_HUUMA:
#endif
case NPC_EVILLAND: case NPC_EVILLAND:
case NPC_VENOMFOG: case NPC_VENOMFOG:
case NPC_ICEMINE: case NPC_ICEMINE: