This commit is contained in:
aozhiwei 2022-10-09 11:19:33 +08:00
parent 4515648841
commit eb67759b5f
6 changed files with 35 additions and 32 deletions

View File

@ -729,3 +729,8 @@ int BattleDataContext::GetReloadTime(Creature* c, Weapon* weapon)
auto p = GetWeaponByUniId(weapon->weapon_uniid);
return p ? p->GetReloadTime() : weapon->meta->i->reload_time();
}
float BattleDataContext::GetExtRecoverHp()
{
return 0;
}

View File

@ -70,6 +70,7 @@ struct BattleDataContext
int GetFireRate(Creature* c, Weapon* weapon);
int GetReloadTime(Creature* c, Weapon* weapon);
float GetHeroTotalAtk();
float GetExtRecoverHp();
private:
void Clear();

View File

@ -1000,39 +1000,27 @@ void Buff::ProcMachineGun()
caster_.Get()->need_sync_active_player = true;
caster_.Get()->UpdateCharImage(__FILE__, __LINE__, __func__);
}
if (skill_meta) {
if (skill_meta && skill_meta->number_meta) {
switch (skill_meta->GetMagicId()) {
case MAGIC_HLYZ:
{
if (meta->i->buff_id() == 208011) {
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
} else {
}
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
}
break;
case MAGIC_HJHX:
{
if (meta->i->buff_id() == 202012) {
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
} else {
}
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
}
break;
case MAGIC_FG:
{
if (meta->i->buff_id() == 204011) {
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
} else {
}
owner->room->xtimer.ModifyTimer
(remover_timer,
skill_meta->number_meta->int_time / FRAME_RATE_MS);
}
break;
default:

View File

@ -1392,7 +1392,7 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
a8::XPrintf("old_pos:%f,%f", {GetPos().x, GetPos().y});
#endif
#if 1
_UpdateMove(CurrentSkill()->meta->number_meta->int_range);
_UpdateMove(SkillHelper::GetSjydhxForthDistance(CurrentSkill()->meta));
#else
_UpdateMove(phase->param1.GetInt());
#endif
@ -1407,7 +1407,7 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
(
SMT_BLINK,
#if 1
CurrentSkill()->meta->number_meta->float_time * 1000,
SkillHelper::GetSjydhxForthDistance(CurrentSkill()->meta) * 1000,
#else
phase->param2.GetInt() * 1000,
#endif

View File

@ -157,11 +157,6 @@ void SkillHelper::GetMagicIdAndBaseSkillId(int skill_id, int& magic_id, int& bas
}
}
int SkillHelper::GetAxxfDmg(const MetaData::Skill* skill_meta)
{
return 0;
}
int SkillHelper::GetCmxdDmg(const MetaData::Skill* skill_meta)
{
return 0;
@ -229,7 +224,21 @@ void SkillHelper::ProcBulletHitBuff(Bullet* bullet, Creature* c, int buff_uniid)
float SkillHelper::GetSjydhxRecoverHp(Creature* c, const MetaData::Skill* skill_meta)
{
return 0;
float hp =
(skill_meta->number_meta->float_ratio +
skill_meta->number_meta->float_ratio * c->GetBattleContext()->GetHeroTotalAtk()) *
(1 + c->GetBattleContext()->GetExtRecoverHp());
return hp;
}
float SkillHelper::GetSjydhxForthDistance(const MetaData::Skill* skill_meta)
{
return skill_meta && skill_meta->number_meta ? skill_meta->number_meta->int_range : 0;
}
float SkillHelper::GetSjydhxBackTime(const MetaData::Skill* skill_meta)
{
return skill_meta && skill_meta->number_meta ? skill_meta->number_meta->float_time : 0;
}
int SkillHelper::GetYmczBuffTime(const MetaData::Skill* skill_meta)

View File

@ -15,10 +15,10 @@ class SkillHelper
static void GetMagicIdAndBaseSkillId(int skill_id, int& magic_id, int& base_skill_id);
//爱心香风
static int GetAxxfDmg(const MetaData::Skill* skill_meta);
//瞬间移动回血
static float GetSjydhxRecoverHp(Creature* c, const MetaData::Skill* skill_meta);
static float GetSjydhxForthDistance(const MetaData::Skill* skill_meta);
static float GetSjydhxBackTime(const MetaData::Skill* skill_meta);
//此面向敌
static int GetCmxdDmg(const MetaData::Skill* skill_meta);
static int GetCmxdDistance(const MetaData::Skill* skill_meta);