1
This commit is contained in:
parent
08e2e1e119
commit
ac8bb968bf
@ -548,6 +548,17 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet)
|
|||||||
g_calc_dmg_context = {0};
|
g_calc_dmg_context = {0};
|
||||||
g_calc_dmg_context.is_crit = IsCrit(bullet) ? 1 : 0;
|
g_calc_dmg_context.is_crit = IsCrit(bullet) ? 1 : 0;
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
float total_atk = GetTotalAtk(bullet);
|
||||||
|
float normal_dmg = total_atk *
|
||||||
|
(1 - target->GetBattleContext()->GetDef() / (target->GetBattleContext()->GetDef() + 200));
|
||||||
|
if (g_calc_dmg_context.is_crit) {
|
||||||
|
normal_dmg *= 1.5;
|
||||||
|
}
|
||||||
|
float finaly_dmg = normal_dmg;
|
||||||
|
finaly_dmg *= (1 + owner_.Get()->GetAbility()->GetAttrAddition(kHAT_Atk)); //连加
|
||||||
|
finaly_dmg *= target->GetAbility()->GetAttrRuduce(kHAT_Atk); //(1-减免) 连乘
|
||||||
|
#else
|
||||||
float total_atk = GetTotalAtk(bullet);
|
float total_atk = GetTotalAtk(bullet);
|
||||||
if (bullet->GetSkillMeta() && bullet->GetSkillMeta()->_number_meta) {
|
if (bullet->GetSkillMeta() && bullet->GetSkillMeta()->_number_meta) {
|
||||||
switch (bullet->GetSkillMeta()->GetMagicId()) {
|
switch (bullet->GetSkillMeta()->GetMagicId()) {
|
||||||
@ -590,6 +601,7 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet)
|
|||||||
});
|
});
|
||||||
owner_.Get()->SendDebugMsg(data);
|
owner_.Get()->SendDebugMsg(data);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
finaly_dmg = std::max(1.0f, finaly_dmg);
|
finaly_dmg = std::max(1.0f, finaly_dmg);
|
||||||
if (g_calc_dmg_context.is_crit) {
|
if (g_calc_dmg_context.is_crit) {
|
||||||
@ -650,7 +662,7 @@ float BattleDataContext::CalcDmg(Explosion* e)
|
|||||||
|
|
||||||
float BattleDataContext::GetTotalAtk(IBullet* bullet)
|
float BattleDataContext::GetTotalAtk(IBullet* bullet)
|
||||||
{
|
{
|
||||||
float total_atk = (GetHeroTotalAtk() / 100 + 0) * GetWeaponAtk(bullet);
|
float total_atk = (GetHeroTotalAtk() / 100) * GetWeaponAtk(bullet);
|
||||||
return total_atk;
|
return total_atk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3130,8 +3130,8 @@ void Human::ProcGemStoneItem(AddItemDTO& dto)
|
|||||||
gemstone,
|
gemstone,
|
||||||
false);
|
false);
|
||||||
GetAbility()->AddAtkAddition(dto.item_meta->_atk);
|
GetAbility()->AddAtkAddition(dto.item_meta->_atk);
|
||||||
SetMaxHP(GetMaxHP() + dto.item_meta->_max_hp * GetMaxHP());
|
SetMaxHP(GetMaxHP() + dto.item_meta->_max_hp * GetBattleContext()->GetMaxHP());
|
||||||
SetHP(GetHP() + dto.item_meta->_max_hp * GetMaxHP());
|
SetHP(GetHP() + dto.item_meta->_max_hp * GetBattleContext()->GetMaxHP());
|
||||||
room->frame_event.AddPropChg
|
room->frame_event.AddPropChg
|
||||||
(
|
(
|
||||||
GetWeakPtrRef(),
|
GetWeakPtrRef(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user