Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7983 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
2c88556eb7
commit
d05578fe70
@ -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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/07/30
|
2006/07/30
|
||||||
|
* Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE [Toms]
|
||||||
* Added bNoMiscDamage setting so you can specify misc-damage blocking from
|
* Added bNoMiscDamage setting so you can specify misc-damage blocking from
|
||||||
skills. Modified battle_calc_damage so that even Pressure and similar
|
skills. Modified battle_calc_damage so that even Pressure and similar
|
||||||
skills will be affected by this setting. [Skotlex]
|
skills will be affected by this setting. [Skotlex]
|
||||||
|
@ -142,7 +142,7 @@
|
|||||||
644,Gift_Box,Gift Box,2,2,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_GiftBox),1; },{},{}
|
644,Gift_Box,Gift Box,2,2,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_GiftBox),1; },{},{}
|
||||||
// ASPD Potions
|
// ASPD Potions
|
||||||
645,Concentration_Potion,Concentration Potion,2,800,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ASPDPOTION0,1800000,0; },{},{}
|
645,Concentration_Potion,Concentration Potion,2,800,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ASPDPOTION0,1800000,0; },{},{}
|
||||||
656,Awakening_Potion,Awakening Potion,2,1500,,150,,,,,0x00E7DEEF,7,2,,,40,,,{ sc_end SC_Sleep; sc_start SC_ASPDPOTION1,1800000,0; },{},{}
|
656,Awakening_Potion,Awakening Potion,2,1500,,150,,,,,0x03E7DEEF,7,2,,,40,,,{ sc_end SC_Sleep; sc_start SC_ASPDPOTION1,1800000,0; },{},{}
|
||||||
657,Berserk_Potion,Berserk Potion,2,3000,,200,,,,,0x00E646A6,7,2,,,85,,,{ sc_start SC_ASPDPOTION2,1800000,0; },{},{}
|
657,Berserk_Potion,Berserk Potion,2,3000,,200,,,,,0x00E646A6,7,2,,,85,,,{ sc_start SC_ASPDPOTION2,1800000,0; },{},{}
|
||||||
658,Tribal_Solidarity,Tribal Solidarity,2,1000,,500,,,,,0xFFFFFFFF,7,2,,,,,,{ guildgetexp rand(600000,1200000); },{},{}
|
658,Tribal_Solidarity,Tribal Solidarity,2,1000,,500,,,,,0xFFFFFFFF,7,2,,,,,,{ guildgetexp rand(600000,1200000); },{},{}
|
||||||
// New Pet Tames
|
// New Pet Tames
|
||||||
|
@ -447,11 +447,11 @@
|
|||||||
283,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
|
283,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
|
||||||
|
|
||||||
//-- SA_VOLCANO
|
//-- SA_VOLCANO
|
||||||
285,5000,0,0,60000:120000:180000:240000:300000,0
|
285,5000,0,0,60000:120000:180000:240000:300000,60000:120000:180000:240000:300000
|
||||||
//-- SA_DELUGE
|
//-- SA_DELUGE
|
||||||
286,5000,0,0,60000:120000:180000:240000:300000,0
|
286,5000,0,0,60000:120000:180000:240000:300000,60000:120000:180000:240000:300000
|
||||||
//-- SA_VIOLENTGALE
|
//-- SA_VIOLENTGALE
|
||||||
287,5000,0,0,60000:120000:180000:240000:300000,0
|
287,5000,0,0,60000:120000:180000:240000:300000,60000:120000:180000:240000:300000
|
||||||
//-- SA_LANDPROTECTOR
|
//-- SA_LANDPROTECTOR
|
||||||
288,5000,0,0,120000:165000:210000:245000:300000,0
|
288,5000,0,0,120000:165000:210000:245000:300000,0
|
||||||
//-- SA_DISPELL
|
//-- SA_DISPELL
|
||||||
@ -881,7 +881,7 @@
|
|||||||
|
|
||||||
|
|
||||||
//===== Ninja ==============================
|
//===== Ninja ==============================
|
||||||
//-- NJ_HUUMA // Unknown delay. temp value (taken from jA)
|
//-- NJ_HUUMA // Unknown casting time. temp value (taken from jA)
|
||||||
525,1000,0,0,0,0
|
525,1000,0,0,0,0
|
||||||
//-- NJ_ZENYNAGE
|
//-- NJ_ZENYNAGE
|
||||||
526,0,5000,0,0,0
|
526,0,5000,0,0,0
|
||||||
|
@ -557,7 +557,7 @@
|
|||||||
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU#
|
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU#
|
||||||
534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //NJ_KOUENKA#NJ_KOUENKA#
|
534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //NJ_KOUENKA#NJ_KOUENKA#
|
||||||
535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,0 //NJ_KAENSIN#NJ_KAENSIN#
|
535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,0 //NJ_KAENSIN#NJ_KAENSIN#
|
||||||
536,9,8,1,3,2,1,5,3,yes,0,0,0,magic,0 //NJ_BAKUENRYU#NJ_BAKUENRYU#
|
536,9,8,1,3,2,1,5,-3,yes,0,0,0,magic,0 //NJ_BAKUENRYU#NJ_BAKUENRYU#
|
||||||
537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0 //NJ_HYOUSENSOU#NJ_HYOUSENSOU#
|
537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0 //NJ_HYOUSENSOU#NJ_HYOUSENSOU#
|
||||||
538,9,6,2,0,1,0,10,1,yes,0,0,0,magic,0 //NJ_SUITON#NJ_SUITON#
|
538,9,6,2,0,1,0,10,1,yes,0,0,0,magic,0 //NJ_SUITON#NJ_SUITON#
|
||||||
539,0,6,4,1,1,0,5,1,yes,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
|
539,0,6,4,1,1,0,5,1,yes,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
|
||||||
|
@ -416,13 +416,13 @@
|
|||||||
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
|
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
|
||||||
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 //NJ_KUNAI
|
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 //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 //NJ_HUUMA
|
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 //NJ_HUUMA
|
||||||
526,0,0,50,0,0,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,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 //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 //NJ_ZENYNAGE
|
||||||
527,0,0,40,0,0,0,0,0,0,none,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,40,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 //NJ_TATAMIGAESHI
|
||||||
528,0,0,10:12:14:16:18:20:22:24:26:28,0,0,0,0,0,0,none,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,10:12:14:16:18:20:22:24:26:28,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 //NJ_KASUMIKIRI
|
||||||
529,0,0,40,0,0,0,0,0,0,hiding,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,40,0,0,0,99,0,0,hiding,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,0,0,0,hiding,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,14:16:18:20:22,0,0,0,99,0,0,hiding,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,0,0,0,none,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 //NJ_UTSUSEMI
|
||||||
532,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,0,0,0,none,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_BUNSINJYUTSU
|
||||||
533,0,0,10,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 //NJ_NINPOU
|
533,0,0,10,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 //NJ_NINPOU
|
||||||
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 //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 //NJ_KOUENKA
|
||||||
535,0,0,25,0,0,0,99,0,0,none,0,7521,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KAENSIN
|
535,0,0,25,0,0,0,99,0,0,none,0,7521,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KAENSIN
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
527,0xba, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
|
527,0xba, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
|
||||||
535,0xbd, , 2, 0, 100,enemy, 0x008 //NJ_KAENSIN
|
535,0xbd, , 2, 0, 100,enemy, 0x008 //NJ_KAENSIN
|
||||||
541,0x86,,0,2:2:3:3:4,1000,enemy,0x000 //NJ_RAIGEKISAI
|
541,0x86,,0,2:2:3:3:4,1000,enemy,0x000 //NJ_RAIGEKISAI
|
||||||
538,0xbb,,1:1:1:2:2:2:3:3:3:4,0,-1,all,0x010 //NJ_SUITON
|
538,0xbb,,1:1:1:2:2:2:3:3:3:4,0,-1,all,0x002 //NJ_SUITON
|
||||||
516,0xbc, , 0, 3, 100,enemy, 0x000 //GS_DESPERADO
|
516,0xbc, , 0, 3, 100,enemy, 0x000 //GS_DESPERADO
|
||||||
521,0xc2, , 0, 1,1000,enemy, 0x006 //GS_GROUNDDRIFT
|
521,0xc2, , 0, 1,1000,enemy, 0x006 //GS_GROUNDDRIFT
|
||||||
539,0x86, , 0, 3,1000,enemy, 0x008 //NJ_HYOUSYOURAKU
|
539,0x86, , 0, 3,1000,enemy, 0x000 //NJ_HYOUSYOURAKU
|
||||||
|
@ -2323,7 +2323,7 @@ struct Damage battle_calc_magic_attack(
|
|||||||
skillratio -= 10;
|
skillratio -= 10;
|
||||||
break;
|
break;
|
||||||
case NJ_BAKUENRYU:
|
case NJ_BAKUENRYU:
|
||||||
skillratio += 50*(skill_lv-1);
|
skillratio += 150 + 150*skill_lv; // It has to be MATK +(150+150*SkillLV)% so 1000% at lvl 5, not 900%. Damage is not increased by hits.
|
||||||
break;
|
break;
|
||||||
case NJ_HYOUSENSOU:
|
case NJ_HYOUSENSOU:
|
||||||
skillratio -= 30;
|
skillratio -= 30;
|
||||||
@ -2331,13 +2331,13 @@ struct Damage battle_calc_magic_attack(
|
|||||||
skillratio += sc->data[SC_SUITON].val4;
|
skillratio += sc->data[SC_SUITON].val4;
|
||||||
break;
|
break;
|
||||||
case NJ_HYOUSYOURAKU:
|
case NJ_HYOUSYOURAKU:
|
||||||
skillratio += 50*skill_lv;
|
skillratio += 100+50*skill_lv; // correct formula (MATK + 350% = 450% at level 5) (kRO and unofficial descriptions)
|
||||||
break;
|
break;
|
||||||
case NJ_RAIGEKISAI:
|
case NJ_RAIGEKISAI:
|
||||||
skillratio += 60 + 40*skill_lv;
|
skillratio += 160 + 40*skill_lv; // idem
|
||||||
break;
|
break;
|
||||||
case NJ_KAMAITACHI:
|
case NJ_KAMAITACHI:
|
||||||
skillratio += 100*skill_lv;
|
skillratio += 100 + 100*skill_lv; // idem
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2603,9 +2603,10 @@ struct Damage battle_calc_misc_attack(
|
|||||||
if (tsd) md.damage>>=1;
|
if (tsd) md.damage>>=1;
|
||||||
break;
|
break;
|
||||||
case NJ_ZENYNAGE:
|
case NJ_ZENYNAGE:
|
||||||
md.damage = skill_get_zeny(skill_num ,skill_lv)/2;
|
md.damage = skill_get_zeny(skill_num ,skill_lv);
|
||||||
if (!md.damage) md.damage = 2;
|
if (!md.damage) md.damage = 2;
|
||||||
md.damage = md.damage + rand()%md.damage;
|
md.damage = md.damage + rand()%md.damage;
|
||||||
|
|
||||||
if(is_boss(target))
|
if(is_boss(target))
|
||||||
md.damage=md.damage*60/100;
|
md.damage=md.damage*60/100;
|
||||||
break;
|
break;
|
||||||
@ -2695,7 +2696,12 @@ struct Damage battle_calc_misc_attack(
|
|||||||
if (map_flag_gvg(target->m))
|
if (map_flag_gvg(target->m))
|
||||||
md.damage=battle_calc_gvg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag);
|
md.damage=battle_calc_gvg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag);
|
||||||
|
|
||||||
if ( sd && md.damage && skill_num == NJ_ZENYNAGE ) pc_payzeny(sd, md.damage); // conso zenys at the end of the calculation I think
|
if ( sd && md.damage && skill_num == NJ_ZENYNAGE )
|
||||||
|
{
|
||||||
|
if ( md.damage > sd->status.zeny )
|
||||||
|
md.damage=sd->status.zeny;
|
||||||
|
pc_payzeny(sd, md.damage);
|
||||||
|
}
|
||||||
|
|
||||||
return md;
|
return md;
|
||||||
}
|
}
|
||||||
|
@ -2748,7 +2748,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|||||||
//line of sight between caster and target.
|
//line of sight between caster and target.
|
||||||
map_foreachinpath (skill_attack_area,src->m,src->x,src->y,bl->x,bl->y,
|
map_foreachinpath (skill_attack_area,src->m,src->x,src->y,bl->x,bl->y,
|
||||||
skill_get_splash(skillid, skilllv),BL_CHAR,
|
skill_get_splash(skillid, skilllv),BL_CHAR,
|
||||||
BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY);
|
BF_MAGIC,src,src,skillid,skilllv,tick,flag,BCT_ENEMY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MO_INVESTIGATE:
|
case MO_INVESTIGATE:
|
||||||
@ -2836,7 +2836,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|||||||
case MC_CARTREVOLUTION:
|
case MC_CARTREVOLUTION:
|
||||||
case NPC_SPLASHATTACK:
|
case NPC_SPLASHATTACK:
|
||||||
case AC_SHOWER: //Targetted skill implementation.
|
case AC_SHOWER: //Targetted skill implementation.
|
||||||
case NJ_BAKUENRYU:
|
|
||||||
if(flag&1){
|
if(flag&1){
|
||||||
if(bl->id!=skill_area_temp[1]){
|
if(bl->id!=skill_area_temp[1]){
|
||||||
skill_attack(skill_get_type(skillid),src,src,bl,skillid,skilllv,tick,
|
skill_attack(skill_get_type(skillid),src,src,bl,skillid,skilllv,tick,
|
||||||
@ -3183,6 +3182,21 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|||||||
skill_castend_damage_id);
|
skill_castend_damage_id);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case NJ_BAKUENRYU:
|
||||||
|
if (flag & 1) {
|
||||||
|
skill_attack(BF_MAGIC, src, src, bl, skillid, skilllv, tick, skill_area_temp[0]);
|
||||||
|
} else {
|
||||||
|
clif_skill_nodamage(src,bl,skillid,skilllv,1);
|
||||||
|
skill_area_temp[0] = 0;
|
||||||
|
map_foreachinrange(skill_area_sub, bl,
|
||||||
|
skill_get_splash(skillid, skilllv), BL_CHAR,
|
||||||
|
src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count);
|
||||||
|
map_foreachinrange(skill_area_sub, bl,
|
||||||
|
skill_get_splash(skillid, skilllv), BL_CHAR,
|
||||||
|
src, skillid, skilllv, tick, BCT_ENEMY|1,
|
||||||
|
skill_castend_damage_id);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case NJ_KASUMIKIRI:
|
case NJ_KASUMIKIRI:
|
||||||
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
||||||
sc_start(src,SC_HIDING,100,skilllv,skill_get_time(skillid,skilllv));
|
sc_start(src,SC_HIDING,100,skilllv,skill_get_time(skillid,skilllv));
|
||||||
@ -6055,10 +6069,12 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
|
|||||||
case DC_FORTUNEKISS:
|
case DC_FORTUNEKISS:
|
||||||
case DC_SERVICEFORYOU:
|
case DC_SERVICEFORYOU:
|
||||||
case GS_DESPERADO:
|
case GS_DESPERADO:
|
||||||
case NJ_SUITON:
|
|
||||||
case NJ_KAENSIN:
|
case NJ_KAENSIN:
|
||||||
|
case NJ_BAKUENRYU:
|
||||||
|
case NJ_SUITON:
|
||||||
case NJ_HYOUSYOURAKU:
|
case NJ_HYOUSYOURAKU:
|
||||||
case NJ_RAIGEKISAI:
|
case NJ_RAIGEKISAI:
|
||||||
|
case NJ_KAMAITACHI:
|
||||||
flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
|
flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
|
||||||
case GS_GROUNDDRIFT: //Ammo should be deleted right away.
|
case GS_GROUNDDRIFT: //Ammo should be deleted right away.
|
||||||
skill_unitsetting(src,skillid,skilllv,x,y,0);
|
skill_unitsetting(src,skillid,skilllv,x,y,0);
|
||||||
|
@ -2967,7 +2967,7 @@ static unsigned short status_calc_agi(struct block_list *bl, struct status_chang
|
|||||||
agi -= 2 + sc->data[SC_DECREASEAGI].val1;
|
agi -= 2 + sc->data[SC_DECREASEAGI].val1;
|
||||||
if(sc->data[SC_QUAGMIRE].timer!=-1)
|
if(sc->data[SC_QUAGMIRE].timer!=-1)
|
||||||
agi -= sc->data[SC_QUAGMIRE].val2;
|
agi -= sc->data[SC_QUAGMIRE].val2;
|
||||||
if(sc->data[SC_SUITON].timer!=-1)
|
if(sc->data[SC_SUITON].timer!=-1 && sc->data[SC_SUITON].val3) // does not affect players when not in PVP nor WoE. Does not affect Ninjas.
|
||||||
agi -= sc->data[SC_SUITON].val2;
|
agi -= sc->data[SC_SUITON].val2;
|
||||||
if(sc->data[SC_MARIONETTE].timer!=-1)
|
if(sc->data[SC_MARIONETTE].timer!=-1)
|
||||||
agi -= (sc->data[SC_MARIONETTE].val3>>8)&0xFF;
|
agi -= (sc->data[SC_MARIONETTE].val3>>8)&0xFF;
|
||||||
@ -4765,8 +4765,12 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
val2 = 0; //Agi penalty
|
val2 = 0; //Agi penalty
|
||||||
val3 = 0; //Walk speed penalty
|
val3 = 0; //Walk speed penalty
|
||||||
val4 = 2*val1; //NJ_HYOUSENSOU damage bonus.
|
val4 = 2*val1; //NJ_HYOUSENSOU damage bonus.
|
||||||
if (status_get_class(bl) != JOB_NINJA && !map_flag_vs(bl->m)) {
|
|
||||||
|
if (status_get_class(bl) == JOB_NINJA || ( bl->type == BL_PC && !map_flag_vs(bl->m)) )
|
||||||
|
break;
|
||||||
|
else {
|
||||||
val3 = 50;
|
val3 = 50;
|
||||||
|
|
||||||
switch ((val1+1)/3) {
|
switch ((val1+1)/3) {
|
||||||
case 3:
|
case 3:
|
||||||
val2 = 8;
|
val2 = 8;
|
||||||
@ -4784,7 +4788,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
val2 = 3*((val1+1)/3);
|
val2 = 3*((val1+1)/3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
break;
|
break;
|
||||||
case SC_ONEHAND:
|
case SC_ONEHAND:
|
||||||
case SC_TWOHANDQUICKEN:
|
case SC_TWOHANDQUICKEN:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user