Ninja Skills vs Land Protector (fixes #971)

* Exploding Dragon, Lightning Jolt and Snowflake Draft are now unit skills
-- They no longer can deal damage on Land Protector
-- They will deal damage instantly, regardless of your ASPD
* Exploding Dragon now deals 150%+150%*level damage divided by number of hits, it can no longer damage plants
* Snowflake Draft's freeze base duration is now 2500ms+5000ms*level
* Renewal: Lightning Jolt's AoE is now 3x3 on level 1-2, 5x5 on level 3-4 and 7x7 on level 5
* Pre-Renewal: Cast time of Wind Blade level 8-10 is now 500ms shorter
* Watery Evasion now makes non-Ninja enemies stop when they walk on it and are not knock-back immune
This commit is contained in:
Playtester
2016-02-20 21:41:01 +01:00
parent cac5b3cb1d
commit 8d20393b10
10 changed files with 37 additions and 24 deletions

View File

@@ -886,17 +886,17 @@
//-- NJ_KAENSIN
535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0,0
//-- NJ_BAKUENRYU
536,3000,2000,0,0,0,0
536,3000,2000,0,500,0,0
//-- NJ_HYOUSENSOU
537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0,0
//-- NJ_SUITON
538,3000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
//-- NJ_HYOUSYOURAKU
539,2000:2500:3000:3500:4000,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0
539,2000:2500:3000:3500:4000,2000,0,500,7500:12500:17500:22500:27500,0
//-- NJ_HUUJIN
540,1000:1500:2000:2500:3000:3500:4000:5000:5500:6000,1000,0,0,0,0
540,1000:1500:2000:2500:3000:3500:4000:4500:5000:5500,1000,0,0,0,0
//-- NJ_RAIGEKISAI
541,4000,0,0,0,0,0
541,4000,0,0,500,0,0
//-- NJ_KAMAITACHI
542,4000,0,0,0,0,0
//-- NJ_NEN

View File

@@ -761,12 +761,12 @@
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, NJ_NINPOU,Spirit of the Blade
534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0,0x0, NJ_KOUENKA,Crimson Fire Petal
535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,0,0x0, NJ_KAENSIN,Crimson Fire Formation
536,9,8,1,3,0x2,2,5,3,yes,0,0,0,magic,0,0x0, NJ_BAKUENRYU,Raging Fire Dragon
536,9,8,1,3,0,0,5,-3,yes,0,0,0,magic,0,0x0, NJ_BAKUENRYU,Raging Fire Dragon
537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0,0x0, NJ_HYOUSENSOU,Spear of Ice
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,0x2,3,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
541,9,6,4,4,0x2,2:2:3:3:4,5,1,yes,0,0,0,magic,0,0x0, NJ_RAIGEKISAI,Lightning Strike of Destruction
541,9,6,4,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,0,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,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0,0x0, NJ_ISSEN,Final Strike

View File

@@ -101,7 +101,10 @@
521,0xbe, , 0, 1,1000,enemy, 0x000 //GS_GROUNDDRIFT
527,0xbc, , -1, 0,2000,enemy, 0x018 //NJ_TATAMIGAESHI
535,0xbd, , -1, 0, 100,enemy, 0x8010 //NJ_KAENSIN
536,0x86, , 2, 0,1000,enemy, 0x018 //NJ_BAKUENRYU
538,0xbb, , 1:1:1:2:2:2:3:3:3:4,0,-1,all,0x8010 //NJ_SUITON
539,0x86, , 3, 0,1000,enemy, 0x018 //NJ_HYOUSYOURAKU
541,0x86, , 2:2:3:3:4, 0,1000,enemy, 0x018 //NJ_RAIGEKISAI
670,0xc7, , 1, 5:5:5:5:5:5:5:5:5:13,1000,all,0x008 //NPC_EVILLAND
//706,0xfd, , 0, 0,1000,all, 0x000 //NPC_VENOMFOG

View File

@@ -899,17 +899,17 @@
//-- 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,0,0,0,600
536,2400,2000,0,500,0,0,600
//-- 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,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,400:500:600:700:800
539,1600:2000:2400:2800:3200,2000,0,500,7500:12500:17500:22500:27500,0,400:500:600:700: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,3200,0,0,500,0,0,800
//-- NJ_KAMAITACHI
542,3200,0,0,0,0,0,800
//-- NJ_NEN

View File

@@ -761,12 +761,12 @@
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, NJ_NINPOU,Spirit of the Blade
534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0,0x0, NJ_KOUENKA,Crimson Fire Petal
535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,0,0x0, NJ_KAENSIN,Crimson Fire Formation
536,9,8,1,3,0x2,2,5,3,yes,0,0,0,magic,0,0x0, NJ_BAKUENRYU,Raging Fire Dragon
536,9,8,1,3,0,0,5,-3,yes,0,0,0,magic,0,0x0, NJ_BAKUENRYU,Raging Fire Dragon
537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0,0x0, NJ_HYOUSENSOU,Spear of Ice
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,0x2,3,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
541,9,6,2,4,0x2,2:2:3:3:4,5,1,yes,0,0,0,magic,0,0x0, NJ_RAIGEKISAI,Lightning Strike of Destruction
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,0,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

View File

@@ -102,8 +102,10 @@
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, 0x018 //NJ_BAKUENRYU
538,0xbb, , 1:1:1:2:2:2:3:3:3:4,0,-1,all,0x8010 //NJ_SUITON
541,0x86, , 0, 3:3:4:4:5,1000,enemy, 0x018 //NJ_RAIGEKISAI
539,0x86, , 3, 0,1000,enemy, 0x018 //NJ_HYOUSYOURAKU
541,0x86, , 1:1:2:2:3, 0,1000,enemy, 0x018 //NJ_RAIGEKISAI
670,0xc7, , 1, 5:5:5:5:5:5:5:5:5:13,1000,all,0x008 //NPC_EVILLAND
//706,0xfd, , 0, 0,1000,all, 0x000 //NPC_VENOMFOG

View File

@@ -5745,9 +5745,9 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
skillratio += 10 * sd->spiritcharm;
break;
case NJ_BAKUENRYU:
skillratio += 50 * (skill_lv - 1);
skillratio += 50 + 150 * skill_lv;
if(sd && sd->spiritcharm_type == CHARM_TYPE_FIRE && sd->spiritcharm > 0)
skillratio += 15 * sd->spiritcharm;
skillratio += 45 * sd->spiritcharm;
break;
case NJ_HYOUSENSOU:
#ifdef RENEWAL

View File

@@ -4592,7 +4592,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case RG_RAID:
case HW_NAPALMVULCAN:
case NJ_HUUMA:
case NJ_BAKUENRYU:
case ASC_METEORASSAULT:
case GS_DESPERADO:
case GS_SPREADATTACK:
@@ -4660,7 +4659,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill_area_temp[2] = 0;
switch ( skill_id ) {
case NJ_BAKUENRYU:
case LG_EARTHDRIVE:
case GN_CARTCANNON:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
@@ -4703,6 +4701,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
break;
//Place units around target
case NJ_BAKUENRYU:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill_unitsetting(src, skill_id, skill_lv, bl->x, bl->y, 0);
break;
case WL_COMET:
if(!map_getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR)) // Nothing should happen if the target is on Land Protector
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
@@ -6800,8 +6804,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
skill_castend_damage_id);
break;
case NJ_HYOUSYOURAKU:
case NJ_RAIGEKISAI:
case WZ_FROSTNOVA:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
skill_area_temp[1] = 0;

View File

@@ -8876,6 +8876,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
val3 = 50;
val2 = 3*((val1+1)/3);
if (val1 > 4) val2--;
//Suiton is a special case, stop effect is forced and only happens when target enters it
if (!unit_blown_immune(bl, 0x1))
unit_stop_walking(bl, 9);
break;
case SC_ONEHAND:
case SC_TWOHANDQUICKEN:

View File

@@ -1236,6 +1236,7 @@ int unit_warp(struct block_list *bl,short m,short x,short y,clr_type type)
* &0x2: Force the unit to move one cell if it hasn't yet
* &0x4: Enable moving to the next cell when unit was already half-way there
* (may cause on-touch/place side-effects, such as a scripted map change)
* &0x8: Force stop moving, even if walktimer is currently INVALID_TIMER
* @return Success(1); Failed(0);
*/
int unit_stop_walking(struct block_list *bl,int type)
@@ -1248,15 +1249,17 @@ int unit_stop_walking(struct block_list *bl,int type)
ud = unit_bl2ud(bl);
if(!ud || ud->walktimer == INVALID_TIMER)
if(!ud || (!(type&0x08) && ud->walktimer == INVALID_TIMER))
return 0;
// NOTE: We are using timer data after deleting it because we know the
// delete_timer function does not mess with it. If the function's
// behaviour changes in the future, this code could break!
td = get_timer(ud->walktimer);
delete_timer(ud->walktimer, unit_walktoxy_timer);
ud->walktimer = INVALID_TIMER;
if (ud->walktimer != INVALID_TIMER) {
td = get_timer(ud->walktimer);
delete_timer(ud->walktimer, unit_walktoxy_timer);
ud->walktimer = INVALID_TIMER;
}
ud->state.change_walk_target = 0;
tick = gettick();