This commit is contained in:
aozhiwei 2019-07-06 13:41:53 +08:00
parent 74b425e91f
commit bf6033f55b
2 changed files with 31 additions and 11 deletions

View File

@ -298,6 +298,8 @@ bool Human::IsCollisionInMapService()
}
}
break;
default:
break;
}
}
return false;
@ -638,6 +640,8 @@ bool Human::HasNoDownedTeammate()
void Human::DoSkill()
{
if (skill_meta && GetSkillLeftTime() <= 0) {
}
}
void Human::FindLocation()
@ -666,6 +670,8 @@ void Human::FindLocation()
}
}
break;
default:
break;
}
}
}
@ -798,19 +804,10 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
player_data->set_max_energy_shield(max_energy_shield);
}
#endif
#if 1
if (skill_meta) {
if (last_use_skill_frameno_ == 0) {
player_data->set_skill_left_time(0);
player_data->set_skill_cd_time(skill_meta->i->skill_cd() * 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->skill_cd() * 1000 - passed_time);
player_data->set_skill_left_time(skill_left_time);
player_data->set_skill_cd_time(skill_meta->i->skill_cd() * 1000);
}
player_data->set_skill_left_time(GetSkillLeftTime());
player_data->set_skill_cd_time(GetSkillCd());
}
#endif
}
void Human::FillMFGasData(cs::MFGasData* gas_data)
@ -1223,6 +1220,8 @@ void Human::UpdateAction()
hum->SyncAroundPlayers();
}
break;
default:
break;
}
ResetAction();
}
@ -1289,6 +1288,25 @@ int Human::SkinLv()
return skin.skin_lv;
}
int Human::GetSkillLeftTime()
{
if (skill_meta) {
if (last_use_skill_frameno_ == 0) {
return 0;
} else {
int passed_time = (room->frame_no - last_use_skill_frameno_) * FRAME_RATE_MS;
int skill_left_time = std::max(0, skill_meta->i->skill_cd() * 1000 - passed_time);
return skill_left_time;
}
}
return 0;
}
int Human::GetSkillCd()
{
return skill_meta ? skill_meta->i->skill_cd() * 1000 : 0;
}
void Human::_UpdateMove(int speed)
{
for (int i = 0; i < speed; ++i) {

View File

@ -190,6 +190,8 @@ class Human : public Entity
const Skin& GetSkin();
int SkinId();
int SkinLv();
int GetSkillLeftTime();
int GetSkillCd();
protected:
void _UpdateMove(int speed);