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