This commit is contained in:
aozhiwei 2023-02-16 19:36:09 +08:00
parent e372d674a4
commit ea3af8ab67
5 changed files with 29 additions and 7 deletions

View File

@ -2686,10 +2686,26 @@ void Creature::CheckBulletHitHoldShield(IBullet* bullet, bool& eat)
void Creature::AddEnergyShield(int value)
{
energy_shield = value;
max_energy_shield = value;
room->frame_event.AddPropChg
(
GetWeakPtrRef(),
kPropEnergyShield,
energy_shield,
max_energy_shield,
true);
}
void Creature::ClearEnergyShield()
{
energy_shield = 0;
max_energy_shield = 0;
room->frame_event.AddPropChg
(
GetWeakPtrRef(),
kPropEnergyShield,
energy_shield,
max_energy_shield,
true);
}

View File

@ -88,6 +88,8 @@ class Creature : public MoveableEntity
int power_idx = -1;
std::function<void(Buff*)> on_add_buff;
int over_delay_time = 0;
int energy_shield = 0;
int max_energy_shield = 0;
Weapon second_weapon;
Position context_pos;

View File

@ -694,7 +694,13 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, i
float old_hp = GetHP();
if (energy_shield > 0.001f) {
energy_shield = std::max(0.0f, energy_shield - dec_hp);
SyncAroundPlayers(__FILE__, __LINE__, __func__);
room->frame_event.AddPropChg
(
GetWeakPtrRef(),
kPropEnergyShield,
energy_shield,
max_energy_shield,
true);
} else {
float old_health = GetHP();
float new_health = std::max(0.0f, GetHP() - dec_hp);

View File

@ -221,8 +221,6 @@ class Human : public Creature
int backpack = 0;
int helmet = 0;
int chest = 0;
int energy_shield = 0;
int max_energy_shield = 0;
int vip = 0;
long long join_frameno = 0;
long long enable_frameno = 0;

View File

@ -181,8 +181,8 @@ message MFVec3
valule:
value3: (value3==0 || value3==null不用传)
property_type: 40
valule:
value2: max护盾值
property_subtype:
value: max护盾值
*/
message MFPropertyChg
{