1
This commit is contained in:
parent
d79b1d0d0b
commit
5f46eb1289
@ -902,3 +902,13 @@ float BattleDataContext::GetRescueTimePct()
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
float BattleDataContext::GetDrugTimePct()
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
float BattleDataContext::GetDrugEfficacyPct()
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
@ -64,6 +64,8 @@ struct BattleDataContext
|
||||
float GetBrainLifePct();
|
||||
float GetSkillCdPct();
|
||||
float GetRescueTimePct();
|
||||
float GetDrugTimePct();
|
||||
float GetDrugEfficacyPct();
|
||||
|
||||
void SetReviveCoin(int num);
|
||||
int GetReviveCoin();
|
||||
|
@ -1767,19 +1767,16 @@ void Human::ProcUseItemAction()
|
||||
case IS_HEALTHKIT:
|
||||
{
|
||||
+stats->use_medicine_times;
|
||||
float heal = std::get<1>(item_meta->_heal);
|
||||
switch (std::get<0>(item_meta->_heal)) {
|
||||
case 1:
|
||||
{
|
||||
#if 1
|
||||
AddHp(std::get<1>(item_meta->_heal));
|
||||
#else
|
||||
AddHp(std::<>item_meta->heal() * (1 + GetAbility()->GetAttrRate(kHAT_DrugEfficacy)));
|
||||
#endif
|
||||
AddHp(heal * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal) * GetMaxHP());
|
||||
AddHp((heal * GetMaxHP()) * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -1813,15 +1810,16 @@ void Human::ProcUseItemAction()
|
||||
[this, item_meta] (int event, const a8::Args* args)
|
||||
{
|
||||
if (a8::TIMER_EXEC_EVENT == event) {
|
||||
float heal = std::get<1>(item_meta->_heal);
|
||||
switch (std::get<0>(item_meta->_heal)) {
|
||||
case 1:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal));
|
||||
AddHp(heal * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal) * GetMaxHP());
|
||||
AddHp((heal * GetMaxHP()) * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -1837,15 +1835,16 @@ void Human::ProcUseItemAction()
|
||||
},
|
||||
&xtimer_attacher);
|
||||
}
|
||||
float heal = std::get<1>(item_meta->_heal);
|
||||
switch (std::get<0>(item_meta->_heal)) {
|
||||
case 1:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal));
|
||||
AddHp(heal * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal) * GetMaxHP());
|
||||
AddHp((heal * GetMaxHP()) * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -1872,15 +1871,16 @@ void Human::ProcUseItemAction()
|
||||
RemoveBuffById(kDownBuffId);
|
||||
}
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
float heal = std::get<1>(item_meta->_heal);
|
||||
switch (std::get<0>(item_meta->_heal)) {
|
||||
case 1:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal));
|
||||
AddHp(heal * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
AddHp(std::get<1>(item_meta->_heal) * GetMaxHP());
|
||||
AddHp((heal * GetMaxHP()) * (1.0f + GetBattleContext()->GetDrugEfficacyPct()));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -464,8 +464,7 @@ void Player::UpdateUseItemIdx()
|
||||
#if 0
|
||||
GetTrigger()->UseItemAction(use_item_idx);
|
||||
#endif
|
||||
use_time *= 1 - GetAbility()->GetAttrRate(kHAT_DrugTime);
|
||||
use_time -= GetAbility()->GetAttrAbs(kHAT_DrugTime);
|
||||
use_time *= 1.0f + GetBattleContext()->GetDrugTimePct();
|
||||
use_time = std::max(1, use_time);
|
||||
StartAction(
|
||||
AT_UseItem,
|
||||
|
Loading…
x
Reference in New Issue
Block a user