添加能量护盾
This commit is contained in:
parent
7086ba3ce7
commit
78d30f79e5
@ -51,4 +51,5 @@ void Hero::FillMFObjectFull(cs::MFObjectFull* full_data)
|
|||||||
|
|
||||||
skin.ToPB(p->mutable_skin());
|
skin.ToPB(p->mutable_skin());
|
||||||
weapon.ToPB(p->mutable_weapon());
|
weapon.ToPB(p->mutable_weapon());
|
||||||
|
p->set_energy_shield(energy_shield);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ class Hero : public Entity
|
|||||||
|
|
||||||
Tank skin;
|
Tank skin;
|
||||||
Weapon weapon;
|
Weapon weapon;
|
||||||
|
int energy_shield = 0;
|
||||||
|
|
||||||
Hero();
|
Hero();
|
||||||
virtual ~Hero() override;
|
virtual ~Hero() override;
|
||||||
|
@ -120,6 +120,8 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
|
|||||||
#if 0
|
#if 0
|
||||||
p->set_downed(downed);
|
p->set_downed(downed);
|
||||||
#endif
|
#endif
|
||||||
|
p->set_energy_shield(energy_shield);
|
||||||
|
p->set_max_energy_shield(max_energy_shield);
|
||||||
p->set_disconnected(disconnected);
|
p->set_disconnected(disconnected);
|
||||||
tank_.ToPB(p->mutable_skin());
|
tank_.ToPB(p->mutable_skin());
|
||||||
if (tankskin.skin_id != 0) {
|
if (tankskin.skin_id != 0) {
|
||||||
@ -483,7 +485,9 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id)
|
|||||||
|
|
||||||
void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id)
|
void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id)
|
||||||
{
|
{
|
||||||
{
|
if (energy_shield > 0.001f) {
|
||||||
|
energy_shield = std::max(0.0f, energy_shield - dec_hp);
|
||||||
|
} else {
|
||||||
float old_health = GetHP();
|
float old_health = GetHP();
|
||||||
ability.hp = std::max(0.0f, GetHP() - dec_hp);
|
ability.hp = std::max(0.0f, GetHP() - dec_hp);
|
||||||
if (GetHP() - old_health > 0.001f) {
|
if (GetHP() - old_health > 0.001f) {
|
||||||
@ -738,12 +742,8 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
|
|||||||
for (auto& num : inventory_) {
|
for (auto& num : inventory_) {
|
||||||
player_data->add_inventory(num);
|
player_data->add_inventory(num);
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
player_data->set_energy_shield(energy_shield);
|
player_data->set_energy_shield(energy_shield);
|
||||||
{
|
|
||||||
player_data->set_max_energy_shield(max_energy_shield);
|
player_data->set_max_energy_shield(max_energy_shield);
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (skill_meta_) {
|
if (skill_meta_) {
|
||||||
player_data->set_skill_left_time(GetSkillLeftTime());
|
player_data->set_skill_left_time(GetSkillLeftTime());
|
||||||
player_data->set_skill_cd_time(GetSkillCd());
|
player_data->set_skill_cd_time(GetSkillCd());
|
||||||
|
@ -69,6 +69,9 @@ class Human : public Entity
|
|||||||
|
|
||||||
int curr_scope_idx = 0;
|
int curr_scope_idx = 0;
|
||||||
|
|
||||||
|
int energy_shield = 0;
|
||||||
|
int max_energy_shield = 0;
|
||||||
|
|
||||||
bool need_sync_team_data = false;
|
bool need_sync_team_data = false;
|
||||||
bool need_sync_teammate_data = false;
|
bool need_sync_teammate_data = false;
|
||||||
bool need_sync_active_player = false;
|
bool need_sync_active_player = false;
|
||||||
|
@ -47,6 +47,7 @@ void Player::Initialize()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
driver_meta_ = MetaMgr::Instance()->GetDriver(driver.driver_id);
|
driver_meta_ = MetaMgr::Instance()->GetDriver(driver.driver_id);
|
||||||
|
max_energy_shield = energy_shield;
|
||||||
RecalcBaseAttr();
|
RecalcBaseAttr();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
|
|||||||
hum->auto_fill = msg.auto_fill();
|
hum->auto_fill = msg.auto_fill();
|
||||||
hum->use_touch = msg.use_touch();
|
hum->use_touch = msg.use_touch();
|
||||||
hum->avatar_url = msg.avatar_url();
|
hum->avatar_url = msg.avatar_url();
|
||||||
|
hum->energy_shield = msg.energy_shield();
|
||||||
hum->create_tick = a8::XGetTickCount();
|
hum->create_tick = a8::XGetTickCount();
|
||||||
hum->account_registertime = f8::ExtractRegisterTimeFromSessionId(msg.session_id());
|
hum->account_registertime = f8::ExtractRegisterTimeFromSessionId(msg.session_id());
|
||||||
for (auto& weapon : msg.weapons()) {
|
for (auto& weapon : msg.weapons()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user