修复技能cd时间问题

This commit is contained in:
aozhiwei 2019-07-25 09:44:52 +08:00
parent e51c3e70d9
commit c2bee6304b
2 changed files with 10 additions and 2 deletions

View File

@ -1095,7 +1095,7 @@ int Human::GetSkillLeftTime()
return 0; return 0;
} else { } else {
int passed_time = (room->frameno - last_use_skill_frameno_) * kFRAME_RATE_MS; 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; return skill_left_time;
} }
} }
@ -1104,7 +1104,14 @@ int Human::GetSkillLeftTime()
int Human::GetSkillCd() 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) void Human::TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type)

View File

@ -120,6 +120,7 @@ message Skill
required int32 skill_target = 8; required int32 skill_target = 8;
required string buff_list = 9; required string buff_list = 9;
required float skill_distance = 10; required float skill_distance = 10;
required int32 cold_time_up = 11;
optional int32 phase1_time_offset = 20; optional int32 phase1_time_offset = 20;
optional int32 phase1_func = 21; optional int32 phase1_func = 21;