* Striking now takes the target's weapon level into account.
* Now displays the proper skill fail message when used on wrong targets.
This commit is contained in:
aleos89 2016-02-17 10:49:18 -05:00
parent cc645c7e00
commit 9f0ae12824
3 changed files with 16 additions and 11 deletions

View File

@ -1175,7 +1175,7 @@
2448,9,6,1,5,0x2,1:1:1:1:2,5,1,yes,0,0,0,magic,0,0x0, SO_POISON_BUSTER,Poison Buster
2449,9,6,2,0,0,0,5,1,yes,0,0,0,magic,0,0x0, SO_PSYCHIC_WAVE,Psychic Wave
2450,9,6,2,5,0,0,5,1,yes,0,0,0,magic,0,0x0, SO_CLOUD_KILL,Cloud Kill
2451,9,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SO_STRIKING,Striking //CHECK Data shows a % for increased successful refine rate. Is this true?
2451,9,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SO_STRIKING,Striking
2452,9,6,2,3,0x1,0,5,1,yes,0,0,0,magic,0,0x0, SO_WARMER,Warmer
2453,9,6,2,0,0x1,0,5,1,yes,0,0,0,magic,0,0x1000, SO_VACUUM_EXTREME,Vacuum Extreme
2454,9,6,1,4,0x2,1:1:2:2:3,5,1,yes,0,0,0,magic,0,0x0, SO_VARETYR_SPEAR,Varetyr Spear

View File

@ -1175,7 +1175,7 @@
2448,9,6,1,5,0x2,1:1:1:1:2,5,1,yes,0,0,0,magic,0,0x0, SO_POISON_BUSTER,Poison Buster
2449,9,6,2,0,0,0,5,1,yes,0,0,0,magic,0,0x0, SO_PSYCHIC_WAVE,Psychic Wave
2450,9,6,2,5,0,0,5,1,yes,0,0,0,magic,0,0x0, SO_CLOUD_KILL,Cloud Kill
2451,9,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SO_STRIKING,Striking //CHECK Data shows a % for increased successful refine rate. Is this true?
2451,9,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SO_STRIKING,Striking
2452,9,6,2,3,0x1,0,5,1,yes,0,0,0,magic,0,0x0, SO_WARMER,Warmer
2453,9,6,2,0,0x1,0,5,1,yes,0,0,0,magic,0,0x1000, SO_VACUUM_EXTREME,Vacuum Extreme
2454,9,6,1,4,0x2,1:1:2:2:3,5,1,yes,0,0,0,magic,0,0x0, SO_VARETYR_SPEAR,Varetyr Spear

View File

@ -6393,16 +6393,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case SO_STRIKING:
if (sd) {
int bonus = 8 + 2 * skill_lv;
bonus += (pc_checkskill(sd, SA_FLAMELAUNCHER)+pc_checkskill(sd, SA_FROSTWEAPON)+pc_checkskill(sd, SA_LIGHTNINGLOADER)+pc_checkskill(sd, SA_SEISMICWEAPON))*5;
if (battle_check_target(src, bl, BCT_SELF|BCT_PARTY) > 0) {
int bonus = 0;
clif_skill_nodamage( src, bl, skill_id, skill_lv,
battle_check_target(src,bl,BCT_PARTY|BCT_SELF)>0 ? //only on self or party member
sc_start2(src,bl, type, 100, skill_lv, bonus, skill_get_time(skill_id,skill_lv)) :
0
);
}
if (dstsd) {
short index = dstsd->equip_index[EQI_HAND_R];
if (index >= 0 && dstsd->inventory_data[index] && dstsd->inventory_data[index]->type == IT_WEAPON)
bonus = (8 + 2 * skill_lv) * dstsd->inventory_data[index]->wlv;
}
if (sd)
bonus += (pc_checkskill(sd, SA_FLAMELAUNCHER) + pc_checkskill(sd, SA_FROSTWEAPON) + pc_checkskill(sd, SA_LIGHTNINGLOADER) + pc_checkskill(sd, SA_SEISMICWEAPON)) * 5;
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start2(src,bl, type, 100, skill_lv, bonus, skill_get_time(skill_id, skill_lv)));
} else if (sd)
clif_skill_fail(sd, skill_id, USESKILL_FAIL_TOTARGET, 0);
break;
case NPC_STOP: