|
@@ -545,7 +545,8 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
|
|
if( sd && !(nk&NK_NO_CARDFIX_ATK) ) {
|
|
|
cardfix = cardfix * (100 + sd->magic_addrace[tstatus->race] + sd->magic_addrace[RC_ALL]) / 100;
|
|
|
if( !(nk&NK_NO_ELEFIX) ) { // Affected by Element modifier bonuses
|
|
|
- cardfix = cardfix * (100 + sd->magic_addele[tstatus->def_ele] + sd->magic_addele[ELE_ALL]) / 100;
|
|
|
+ cardfix = cardfix * (100 + sd->magic_addele[tstatus->def_ele] + sd->magic_addele[ELE_ALL] +
|
|
|
+ sd->magic_addele_script[tstatus->def_ele] + sd->magic_addele_script[ELE_ALL]) / 100;
|
|
|
cardfix = cardfix * (100 + sd->magic_atk_ele[rh_ele] + sd->magic_atk_ele[ELE_ALL]) / 100;
|
|
|
}
|
|
|
cardfix = cardfix * (100 + sd->magic_addsize[tstatus->size] + sd->magic_addsize[SZ_ALL]) / 100;
|
|
@@ -565,7 +566,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
|
|
cardfix = 1000; // reset var for target
|
|
|
|
|
|
if( !(nk&NK_NO_ELEFIX) ) { // Affected by Element modifier bonuses
|
|
|
- int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL];
|
|
|
+ int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[rh_ele] + tsd->subele_script[ELE_ALL];
|
|
|
|
|
|
for( i = 0; ARRAYLENGTH(tsd->subele2) > i && tsd->subele2[i].rate != 0; i++ ) {
|
|
|
if( tsd->subele2[i].ele != rh_ele )
|
|
@@ -748,7 +749,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
|
|
// Affected by target DEF bonuses
|
|
|
else if( tsd && !(nk&NK_NO_CARDFIX_DEF) && !(left&2) ) {
|
|
|
if( !(nk&NK_NO_ELEFIX) ) { // Affected by Element modifier bonuses
|
|
|
- int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL];
|
|
|
+ int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[rh_ele] + tsd->subele_script[ELE_ALL];
|
|
|
|
|
|
for( i = 0; ARRAYLENGTH(tsd->subele2) > i && tsd->subele2[i].rate != 0; i++ ) {
|
|
|
if( tsd->subele2[i].ele != rh_ele )
|
|
@@ -762,7 +763,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
|
|
cardfix = cardfix * (100 - ele_fix) / 100;
|
|
|
|
|
|
if( left&1 && lh_ele != rh_ele ) {
|
|
|
- int ele_fix_lh = tsd->subele[lh_ele] + tsd->subele[ELE_ALL];
|
|
|
+ int ele_fix_lh = tsd->subele[lh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[lh_ele] + tsd->subele_script[ELE_ALL];
|
|
|
|
|
|
for( i = 0; ARRAYLENGTH(tsd->subele2) > i && tsd->subele2[i].rate != 0; i++ ) {
|
|
|
if( tsd->subele2[i].ele != lh_ele )
|
|
@@ -803,7 +804,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
|
|
|
// Affected by target DEF bonuses
|
|
|
if( tsd && !(nk&NK_NO_CARDFIX_DEF) ) {
|
|
|
if( !(nk&NK_NO_ELEFIX) ) { // Affected by Element modifier bonuses
|
|
|
- int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL];
|
|
|
+ int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[rh_ele] + tsd->subele_script[ELE_ALL];
|
|
|
|
|
|
for( i = 0; ARRAYLENGTH(tsd->subele2) > i && tsd->subele2[i].rate != 0; i++ ) {
|
|
|
if( tsd->subele2[i].ele != rh_ele )
|