This commit is contained in:
aozhiwei 2023-11-03 17:10:22 +08:00
parent 0ca438eead
commit 8f3f141f55
3 changed files with 22 additions and 6 deletions

View File

@ -521,7 +521,7 @@ void Obstacle::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_d
void Skill::FillMFSkill(cs::MFSkill* skill_pb)
{
skill_pb->set_skill_id(meta->skill_id() + level_ - 1);
skill_pb->set_skill_id(GetBaseSkillId());
skill_pb->set_actived(Actived());
skill_pb->set_left_time(GetLeftTime());
skill_pb->set_cd_time(GetCd());

View File

@ -114,11 +114,11 @@ void Skill::NotifySkillState()
{
if (owner->IsHuman() || owner->IsCar()) {
if (GetCurrTimes() < GetMaxTimes()) {
owner->room->frame_event.AddSkillCdChg(owner->AllocWeakPtr(), meta->skill_id(), GetCd());
owner->room->frame_event.AddSkillCdChg(owner->AllocWeakPtr(), GetBaseSkillId(), GetCd());
} else {
owner->room->frame_event.AddSkillCdChg(owner->AllocWeakPtr(), meta->skill_id(), 0);
owner->room->frame_event.AddSkillCdChg(owner->AllocWeakPtr(), GetBaseSkillId(), 0);
}
owner->room->frame_event.AddSkillCurrTimesChg(owner->AllocWeakPtr(), meta->skill_id(), GetCurrTimes());
owner->room->frame_event.AddSkillCurrTimesChg(owner->AllocWeakPtr(), GetBaseSkillId(), GetCurrTimes());
}
}
@ -177,6 +177,7 @@ void Skill::AddMinorMode(
std::function<void(int)> cb
)
{
bool is_player = owner->IsPlayer();
if (!minor_mode_timer_.expired()) {
owner->room->xtimer.Delete(minor_mode_timer_);
}
@ -205,7 +206,7 @@ void Skill::AddMinorMode(
minor_type_,
minor_cd_time_,
minor_cd_time_,
meta->skill_id(),
GetBaseSkillId(),
true
);
NotifySkillState();
@ -220,10 +221,15 @@ void Skill::AddMinorMode(
minor_type_,
minor_cd_time_,
minor_cd_time_,
meta->skill_id(),
GetBaseSkillId(),
true
);
NotifySkillState();
#ifdef DEBUG
if (is_player) {
a8::XPrintf("add minor mode minor_type:%d\n", {minor_type_});
}
#endif
}
}
@ -569,3 +575,12 @@ int Skill::GetSkillId()
{
return meta->skill_id();
}
int Skill::GetBaseSkillId()
{
if (meta->_base_skill_meta) {
return meta->_base_skill_meta->skill_id();
} else {
GetSkillId();
}
}

View File

@ -53,6 +53,7 @@ class Skill
void Reset();
const mt::Skill* GetCurrSkillMeta();
int GetSkillId();
int GetBaseSkillId();
private:
void InitActiveSkill();