diff options
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 634b04a70..6b46a357e 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1617,6 +1617,7 @@ static struct Damage battle_calc_pc_weapon_attack( int damage,damage2,damage3=0,damage4=0,type,div_,blewcount=skill_get_blewcount(skill_num,skill_lv); int flag,skill,dmg_lv = 0; int t_mode=0,t_race=0,t_size=1,s_race=7,s_ele=0; + int t_race2=0; struct status_change *sc_data,*t_sc_data; short *sc_count; short *option, *opt1, *opt2; @@ -1644,6 +1645,7 @@ static struct Damage battle_calc_pc_weapon_attack( option=status_get_option(src); //��Ƃ��y�R�Ƃ��J�[�g�Ƃ� opt1=status_get_opt1(src); //�Ή��A�����A�X�^���A�����A�È� opt2=status_get_opt2(src); //�ŁA�A���فA�ÈŁH + t_race2=status_get_race2(target); if(skill_num != CR_GRANDCROSS) //�O�����h�N���X�łȂ��Ȃ� sd->state.attack_type = BF_WEAPON; //�U���^�C�v�͕���U�� @@ -2517,17 +2519,20 @@ static struct Damage battle_calc_pc_weapon_attack( cardfix=cardfix*(100+sd->addrace[t_race])/100; // �푰�ɂ��_���[�W�C�� cardfix=cardfix*(100+sd->addele[t_ele])/100; // �����ɂ��_���[�W�C�� cardfix=cardfix*(100+sd->addsize[t_size])/100; // �T�C�Y�ɂ��_���[�W�C�� + cardfix=cardfix*(100+sd->addrace2[t_race2])/100; } else { cardfix=cardfix*(100+sd->addrace[t_race]+sd->addrace_[t_race])/100; // �푰�ɂ��_���[�W�C��(����ɂ��lj�����) cardfix=cardfix*(100+sd->addele[t_ele]+sd->addele_[t_ele])/100; // �����ɂ��_���[�W�C��(����ɂ��lj�����) cardfix=cardfix*(100+sd->addsize[t_size]+sd->addsize_[t_size])/100; // �T�C�Y�ɂ��_���[�W�C��(����ɂ��lj�����) + cardfix=cardfix*(100+sd->addrace2[t_race2]+sd->addrace2_[t_race2])/100; } } else { //�|�� cardfix=cardfix*(100+sd->addrace[t_race]+sd->arrow_addrace[t_race])/100; // �푰�ɂ��_���[�W�C��(�|��ɂ��lj�����) cardfix=cardfix*(100+sd->addele[t_ele]+sd->arrow_addele[t_ele])/100; // �����ɂ��_���[�W�C��(�|��ɂ��lj�����) cardfix=cardfix*(100+sd->addsize[t_size]+sd->arrow_addsize[t_size])/100; // �T�C�Y�ɂ��_���[�W�C��(�|��ɂ��lj�����) + cardfix=cardfix*(100+sd->addrace2[t_race2])/100; } if(t_mode & 0x20) { //�{�X if(!sd->state.arrow_atk) { //�|��U���ȊO�Ȃ� @@ -2567,6 +2572,7 @@ static struct Damage battle_calc_pc_weapon_attack( cardfix=cardfix*(100+sd->addrace_[t_race])/100; // �푰�ɂ��_���[�W�C������ cardfix=cardfix*(100+sd->addele_[t_ele])/100; // �� ���ɂ��_���[�W�C������ cardfix=cardfix*(100+sd->addsize_[t_size])/100; // �T�C�Y�ɂ��_���[�W�C������ + cardfix=cardfix*(100+sd->addrace2_[t_race2])/100; if(t_mode & 0x20) //�{�X cardfix=cardfix*(100+sd->addrace_[10])/100; //�{�X�����X�^�[�ɒlj��_���[�W���� else @@ -2580,8 +2586,8 @@ static struct Damage battle_calc_pc_weapon_attack( } } if(!no_cardfix) - damage2=damage2*cardfix/100; + //�J�[�h��ɂ�鍶��_���[�W���� //�J�[�h�ɂ��_���[�W��������(����)�����܂� @@ -2629,14 +2635,14 @@ static struct Damage battle_calc_pc_weapon_attack( } if(t_sc_data[SC_ASSUMPTIO].timer != -1){ //�A�X���v�e�B�I if(!map[target->m].flag.pvp){ - damage=damage/3; - damage2=damage2/3; - }else{ - damage=damage/2; - damage2=damage2/2; + damage=damage/3; + damage2=damage2/3; + }else{ + damage=damage/2; + damage2=damage2/2; + } } } - } //�ΏۂɃX�e�[�^�X�ُ킪����ꍇ�̃_���[�W���Z���������܂� if(damage < 0) damage = 0; |