1
This commit is contained in:
parent
4515648841
commit
eb67759b5f
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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 {
|
||||
|
||||
}
|
||||
}
|
||||
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 {
|
||||
|
||||
}
|
||||
}
|
||||
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 {
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user