Blacksmith skill update (fixes #912)

* Power-Thrust will no longer affects players that don't have a weapon equipped
* If weapon requirements on Adrenaline Rush or Power-Thrust are not met, the target will no longer display the buff animation
* Party members now only gain +5% ATK from Power-Thrust on all skill levels
* Hilt binding now increases the duration of Adrenaline Rush, Power-Thrust and Power Maximize for all party members as long as the caster has learned it
This commit is contained in:
Playtester 2016-01-22 22:57:21 +01:00
parent 994b406575
commit e12fb643de
4 changed files with 19 additions and 16 deletions

View File

@ -139,7 +139,7 @@
110,0,0,10,0,0,0,1:2:6:7:8,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 //BS_HAMMERFALL
111,0,0,20:23:26:29:32,0,0,0,6:7:8,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 //BS_ADRENALINE
112,0,0,18:16:14:12: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,0,0 //BS_WEAPONPERFECT
113,0,0,18:16:14:12: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,0,0 //BS_OVERTHRUST
113,0,0,18:16:14:12:10,0,0,0,1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23,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 //BS_OVERTHRUST
114,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,0,0 //BS_MAXIMIZE
//****

View File

@ -139,7 +139,7 @@
110,0,0,10,0,0,0,1:2:6:7:8,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 //BS_HAMMERFALL
111,0,0,20:23:26:29:32,0,0,0,6:7:8,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 //BS_ADRENALINE
112,0,0,18:16:14:12: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,0,0 //BS_WEAPONPERFECT
113,0,0,18:16:14:12: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,0,0 //BS_OVERTHRUST
113,0,0,18:16:14:12:10,0,0,0,1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23,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 //BS_OVERTHRUST
114,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,0,0 //BS_MAXIMIZE
//****

View File

@ -6806,8 +6806,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case BS_WEAPONPERFECT:
case BS_OVERTHRUST:
if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) {
clif_skill_nodamage(bl,bl,skill_id,skill_lv,
sc_start2(src,bl,type,100,skill_lv,(src == bl)? 1:0,skill_get_time(skill_id,skill_lv)));
int weapontype = skill_get_weapontype(skill_id);
if (!weapontype || pc_check_weapontype(dstsd, weapontype)) {
clif_skill_nodamage(bl, bl, skill_id, skill_lv,
sc_start2(src, bl, type, 100, skill_lv, (src == bl) ? 1 : 0, skill_get_time(skill_id, skill_lv)));
}
} else if (sd) {
party_foreachsamemap(skill_area_sub,
sd,skill_get_splash(skill_id, skill_lv),

View File

@ -7902,8 +7902,6 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
return 0; // Overthrust and Overthrust Max cannot be used on Mado Gear [Ind]
break;
case SC_ADRENALINE:
if(sd && !pc_check_weapontype(sd,skill_get_weapontype(BS_ADRENALINE)))
return 0;
if (sc->data[SC_QUAGMIRE] ||
sc->data[SC_DECREASEAGI] ||
sc->data[SC_ADORAMUS] ||
@ -7912,8 +7910,6 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
return 0;
break;
case SC_ADRENALINE2:
if(sd && !pc_check_weapontype(sd,skill_get_weapontype(BS_ADRENALINE2)))
return 0;
if (sc->data[SC_QUAGMIRE] ||
sc->data[SC_DECREASEAGI] ||
sc->data[SC_ADORAMUS]
@ -9304,17 +9300,21 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
val2 = 20*val1; // Power increase
break;
case SC_OVERTHRUST:
// val2 holds if it was casted on self, or is bonus received from others
val3 = 5*val1; // Power increase
if(sd && pc_checkskill(sd,BS_HILTBINDING)>0)
tick += tick / 10;
break;
case SC_ADRENALINE2:
case SC_ADRENALINE:
val3 = (val2) ? 300 : 200; // aspd increase
case SC_WEAPONPERFECTION:
if(sd && pc_checkskill(sd,BS_HILTBINDING)>0)
tick += tick / 10;
{
struct map_session_data * s_sd = BL_CAST(BL_PC, src);
if (type == SC_OVERTHRUST) {
// val2 holds if it was casted on self, or is bonus received from others
val3 = (val2) ? 5 * val1 : 5; // Power increase
}
else if (type == SC_ADRENALINE2 || type == SC_ADRENALINE) {
val3 = (val2) ? 300 : 200; // Aspd increase
}
if (s_sd && pc_checkskill(s_sd, BS_HILTBINDING) > 0)
tick += tick / 10; //If caster has Hilt Binding, duration increases by 10%
}
break;
case SC_CONCENTRATION:
val2 = 5*val1; // Batk/Watk Increase