This commit is contained in:
aozhiwei 2022-10-09 10:26:29 +08:00
parent 8870bfe5f2
commit 2909f844f3
3 changed files with 31 additions and 1 deletions

View File

@ -421,7 +421,7 @@ void Buff::ProcSprint()
[] (const a8::XParams& param)
{
Buff* buff = (Buff*)param.sender.GetUserData();
if (!buff->meta->param3_int_list.empty()) {
if (!buff->meta->param3_int_list.empty() || buff->skill_meta) {
a8::Vec2* pre_pos = (a8::Vec2*)param.param2.GetUserData();
std::map<int, long long>* hited_objects = (std::map<int, long long>*)
param.param1.GetUserData();
@ -449,6 +449,30 @@ void Buff::ProcSprint()
(*hited_objects)[enemy->GetUniId()] = buff->owner->room->GetFrameNo();
for (int buff_id : buff->meta->param3_int_list) {
enemy->TryAddBuff(buff->owner, buff_id);
if (buff->skill_meta) {
switch (buff->skill_meta->GetMagicId()) {
case MAGIC_YMCZ:
{
float dmg = SkillHelper::GetYmczDmg(buff->owner,
enemy,
buff->skill_meta);
if (dmg > 0.0001f) {
enemy->DecHP(
dmg,
buff->owner->GetUniId(),
//buff->owner->name,
"",
0
);
}
}
break;
default:
{
}
break;
}
}
}
}
}

View File

@ -241,3 +241,8 @@ int SkillHelper::GetYmczReserveDistance(const MetaData::Skill* skill_meta)
{
return 0;
}
float SkillHelper::GetYmczDmg(Creature* sender, Creature* target, const MetaData::Skill* skill_meta)
{
return 0;
}

View File

@ -32,6 +32,7 @@ class SkillHelper
//野蛮冲撞
static int GetYmczBuffTime(const MetaData::Skill* skill_meta);
static int GetYmczReserveDistance(const MetaData::Skill* skill_meta);
static float GetYmczDmg(Creature* sender, Creature* target, const MetaData::Skill* skill_meta);
static void ProcBulletHitBuff(Bullet* bullet, Creature* c, int buff_uniid);