修复技能cd时间问题
This commit is contained in:
parent
e51c3e70d9
commit
c2bee6304b
@ -1095,7 +1095,7 @@ int Human::GetSkillLeftTime()
|
||||
return 0;
|
||||
} else {
|
||||
int passed_time = (room->frameno - last_use_skill_frameno_) * kFRAME_RATE_MS;
|
||||
int skill_left_time = std::max(0, skill_meta_->i->skill_cd() * 1000 - passed_time);
|
||||
int skill_left_time = std::max(0, GetSkillCd() - passed_time);
|
||||
return skill_left_time;
|
||||
}
|
||||
}
|
||||
@ -1104,7 +1104,14 @@ int Human::GetSkillLeftTime()
|
||||
|
||||
int Human::GetSkillCd()
|
||||
{
|
||||
return skill_meta_ ? skill_meta_->i->skill_cd() * 1000 : 0;
|
||||
if (!skill_meta_) {
|
||||
return 0;
|
||||
}
|
||||
if (TankLv() <= 1) {
|
||||
return skill_meta_->i->skill_cd() * 1000;
|
||||
} else {
|
||||
return skill_meta_->i->skill_cd() * 1000 - (TankLv() - 1) * skill_meta_->i->cold_time_up();
|
||||
}
|
||||
}
|
||||
|
||||
void Human::TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type)
|
||||
|
@ -120,6 +120,7 @@ message Skill
|
||||
required int32 skill_target = 8;
|
||||
required string buff_list = 9;
|
||||
required float skill_distance = 10;
|
||||
required int32 cold_time_up = 11;
|
||||
|
||||
optional int32 phase1_time_offset = 20;
|
||||
optional int32 phase1_func = 21;
|
||||
|
Loading…
x
Reference in New Issue
Block a user