diff --git a/src/map/status.cpp b/src/map/status.cpp index 3c3361d21b..fd5f3445e7 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -4503,15 +4503,19 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) skill = skill * 4; sd->right_weapon.addrace[RC_DRAGON]+=skill; - sd->left_weapon.addrace[RC_DRAGON]+=skill; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addrace[RC_DRAGON] += skill; + } sd->indexed_bonus.magic_addrace[RC_DRAGON]+=dragon_matk; sd->indexed_bonus.subrace[RC_DRAGON]+=skill; } if ((skill = pc_checkskill(sd, AB_EUCHARISTICA)) > 0) { sd->right_weapon.addrace[RC_DEMON] += skill; sd->right_weapon.addele[ELE_DARK] += skill; - sd->left_weapon.addrace[RC_DEMON] += skill; - sd->left_weapon.addele[ELE_DARK] += skill; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addrace[RC_DEMON] += skill; + sd->left_weapon.addele[ELE_DARK] += skill; + } sd->indexed_bonus.magic_addrace[RC_DEMON] += skill; sd->indexed_bonus.magic_addele[ELE_DARK] += skill; sd->indexed_bonus.subrace[RC_DEMON] += skill; @@ -4535,8 +4539,10 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) sd->right_weapon.addrace[RC_UNDEAD] += race_atk[skill - 1]; sd->right_weapon.addrace[RC_DEMON] += race_atk[skill - 1]; - sd->left_weapon.addrace[RC_UNDEAD] += race_atk[skill - 1]; - sd->left_weapon.addrace[RC_DEMON] += race_atk[skill - 1]; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addrace[RC_UNDEAD] += race_atk[skill - 1]; + sd->left_weapon.addrace[RC_DEMON] += race_atk[skill - 1]; + } sd->indexed_bonus.subrace[RC_UNDEAD] += race_def[skill - 1]; sd->indexed_bonus.subrace[RC_DEMON] += race_def[skill - 1]; } @@ -4550,7 +4556,9 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) for( uint8 size = SZ_SMALL; size < SZ_MAX; size++ ){ sd->right_weapon.addsize[size] += attack_bonus[size][skill - 1]; - sd->left_weapon.addsize[size] += attack_bonus[size][skill - 1]; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addsize[size] += attack_bonus[size][skill - 1]; + } } } if ((skill = pc_checkskill(sd, CD_FIDUS_ANIMUS)) > 0) { @@ -4580,7 +4588,9 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) for( uint8 size = SZ_SMALL; size < SZ_MAX; size++ ){ sd->right_weapon.addsize[size] += attack_bonus[size][skill - 1]; - sd->left_weapon.addsize[size] += attack_bonus[size][skill - 1]; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addsize[size] += attack_bonus[size][skill - 1]; + } } } if ((skill = pc_checkskill(sd, ABC_MAGIC_SWORD_M)) > 0 && (sd->status.weapon == W_DAGGER || sd->status.weapon == W_1HSWORD || sd->status.weapon == W_DOUBLE_DD || sd->status.weapon == W_DOUBLE_SS || sd->status.weapon == W_DOUBLE_DS || sd->status.weapon == W_DOUBLE_DA || sd->status.weapon == W_DOUBLE_SA)) { @@ -4627,8 +4637,10 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) i = sc->getSCE(SC_BASILICA)->val1 * 5; sd->right_weapon.addele[ELE_DARK] += i; sd->right_weapon.addele[ELE_UNDEAD] += i; - sd->left_weapon.addele[ELE_DARK] += i; - sd->left_weapon.addele[ELE_UNDEAD] += i; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addele[ELE_DARK] += i; + sd->left_weapon.addele[ELE_UNDEAD] += i; + } sd->indexed_bonus.magic_atk_ele[ELE_HOLY] += sc->getSCE(SC_BASILICA)->val1 * 3; } if (sc->getSCE(SC_FIREWEAPON)) @@ -4647,8 +4659,10 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt) if (sc->getSCE(SC_GEFFEN_MAGIC1)) { sd->right_weapon.addrace[RC_PLAYER_HUMAN] += sc->getSCE(SC_GEFFEN_MAGIC1)->val1; sd->right_weapon.addrace[RC_DEMIHUMAN] += sc->getSCE(SC_GEFFEN_MAGIC1)->val1; - sd->left_weapon.addrace[RC_PLAYER_HUMAN] += sc->getSCE(SC_GEFFEN_MAGIC1)->val1; - sd->left_weapon.addrace[RC_DEMIHUMAN] += sc->getSCE(SC_GEFFEN_MAGIC1)->val1; + if( !battle_config.left_cardfix_to_right ){ + sd->left_weapon.addrace[RC_PLAYER_HUMAN] += sc->getSCE( SC_GEFFEN_MAGIC1 )->val1; + sd->left_weapon.addrace[RC_DEMIHUMAN] += sc->getSCE( SC_GEFFEN_MAGIC1 )->val1; + } } if (sc->getSCE(SC_GEFFEN_MAGIC2)) { sd->indexed_bonus.magic_addrace[RC_PLAYER_HUMAN] += sc->getSCE(SC_GEFFEN_MAGIC2)->val1;