This commit is contained in:
aozhiwei 2019-04-28 16:04:50 +08:00
parent acc552b9e8
commit 1b7064b92a

View File

@ -580,7 +580,7 @@ void Human::DoSkill()
if (skill_meta && skill_meta->i->condition() == SC_Active) {
int passed_time = (room->frame_no - last_use_skill_frameno_) * FRAME_RATE_MS;
int skill_left_time = std::max(0, skill_meta->i->last_time() * 1000 - passed_time);
if (skill_left_time <= 0) {
if (skill_left_time <= 0 || last_use_skill_frameno_ == 0) {
skill_xtimer_attacher_.ClearTimerList();
switch (skill_meta->i->type()) {
case ST_Hide:
@ -938,10 +938,15 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
#endif
#if 1
if (skill_meta) {
int passed_time = (room->frame_no - last_use_skill_frameno_) * FRAME_RATE_MS;
int skill_left_time = std::max(0, skill_meta->i->cd_time() * 1000 - passed_time);
player_data->set_skill_left_time(skill_left_time);
player_data->set_skill_cd_time(skill_meta->i->cd_time() * 1000);
if (last_use_skill_frameno_ == 0) {
player_data->set_skill_left_time(0);
player_data->set_skill_cd_time(skill_meta->i->cd_time() * 1000);
} else {
int passed_time = (room->frame_no - last_use_skill_frameno_) * FRAME_RATE_MS;
int skill_left_time = std::max(0, skill_meta->i->cd_time() * 1000 - passed_time);
player_data->set_skill_left_time(skill_left_time);
player_data->set_skill_cd_time(skill_meta->i->cd_time() * 1000);
}
}
#endif
FillBodyState(player_data->mutable_states());