1
This commit is contained in:
parent
1148c5f79d
commit
057259ce1e
@ -30,12 +30,14 @@ void DiveBuff::Activate()
|
|||||||
true);
|
true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
float dmg_out = 0.0f;
|
||||||
hum->DecHP(mt::Param::s().dive_hp_consume,
|
hum->DecHP(mt::Param::s().dive_hp_consume,
|
||||||
VP_Water,
|
VP_Water,
|
||||||
"water",
|
"water",
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
"water");
|
"water",
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&xtimer_attacher
|
&xtimer_attacher
|
||||||
|
@ -36,13 +36,15 @@ void OnceChgAttrBuff::InternalProcOnceChgAttr()
|
|||||||
if (meta->_buff_param3 > 0) {
|
if (meta->_buff_param3 > 0) {
|
||||||
owner->AddHp(meta->_buff_param3);
|
owner->AddHp(meta->_buff_param3);
|
||||||
} else if (meta->_buff_param3 < 0) {
|
} else if (meta->_buff_param3 < 0) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
owner->over_delay_time = 100;
|
owner->over_delay_time = 100;
|
||||||
owner->DecHP(std::abs(meta->_buff_param3),
|
owner->DecHP(std::abs(meta->_buff_param3),
|
||||||
VP_Buff,
|
VP_Buff,
|
||||||
"",
|
"",
|
||||||
meta->buff_id(),
|
meta->buff_id(),
|
||||||
real_killer_id,
|
real_killer_id,
|
||||||
real_killer_name);
|
real_killer_name,
|
||||||
|
dmg_out);
|
||||||
owner->over_delay_time = 0;
|
owner->over_delay_time = 0;
|
||||||
}
|
}
|
||||||
} else if (meta->_int_buff_param2 == 2) {
|
} else if (meta->_int_buff_param2 == 2) {
|
||||||
@ -51,13 +53,15 @@ void OnceChgAttrBuff::InternalProcOnceChgAttr()
|
|||||||
if (chg_hp > 0.0001f) {
|
if (chg_hp > 0.0001f) {
|
||||||
owner->AddHp(chg_hp);
|
owner->AddHp(chg_hp);
|
||||||
} else if (chg_hp < 0.0001f) {
|
} else if (chg_hp < 0.0001f) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
owner->over_delay_time = 100;
|
owner->over_delay_time = 100;
|
||||||
owner->DecHP(std::abs(chg_hp),
|
owner->DecHP(std::abs(chg_hp),
|
||||||
VP_Buff,
|
VP_Buff,
|
||||||
"",
|
"",
|
||||||
meta->buff_id(),
|
meta->buff_id(),
|
||||||
real_killer_id,
|
real_killer_id,
|
||||||
real_killer_name);
|
real_killer_name,
|
||||||
|
dmg_out);
|
||||||
owner->over_delay_time = 0;
|
owner->over_delay_time = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,14 +148,15 @@ void SprintBuff::OnEnemyHit(Creature* enemy)
|
|||||||
enemy,
|
enemy,
|
||||||
skill_meta);
|
skill_meta);
|
||||||
if (dmg > 0.0001f) {
|
if (dmg > 0.0001f) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
enemy->DecHP(
|
enemy->DecHP(
|
||||||
dmg,
|
dmg,
|
||||||
owner->GetUniId(),
|
owner->GetUniId(),
|
||||||
owner->GetName(),
|
owner->GetName(),
|
||||||
0,
|
0,
|
||||||
owner->GetUniId(),
|
owner->GetUniId(),
|
||||||
owner->GetName()
|
owner->GetName(),
|
||||||
);
|
dmg_out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -284,13 +284,14 @@ void Car::OnBulletHit(IBullet* bullet)
|
|||||||
MustBeAddBuff(bullet->GetSender().Get(), bullet->GetBulletMeta()->buffid());
|
MustBeAddBuff(bullet->GetSender().Get(), bullet->GetBulletMeta()->buffid());
|
||||||
}
|
}
|
||||||
if (!bullet->IsPreBattleBullet()) {
|
if (!bullet->IsPreBattleBullet()) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName(),
|
bullet->GetSender().Get()->GetName(),
|
||||||
bullet->GetGunMeta()->id(),
|
bullet->GetGunMeta()->id(),
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName()
|
bullet->GetSender().Get()->GetName(),
|
||||||
);
|
dmg_out);
|
||||||
}
|
}
|
||||||
if (bullet->GetBulletMeta()->_buff_meta) {
|
if (bullet->GetBulletMeta()->_buff_meta) {
|
||||||
MustBeAddBuff(this, bullet->GetBulletMeta()->buffid());
|
MustBeAddBuff(this, bullet->GetBulletMeta()->buffid());
|
||||||
@ -320,18 +321,22 @@ void Car::OnExplosionHit(Explosion* e)
|
|||||||
real_killer_name = e->GetSender().Get()->GetName();
|
real_killer_name = e->GetSender().Get()->GetName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float dmg_out = 0.0f;
|
||||||
float finaly_dmg = GetBattleContext()->CalcDmg(e);
|
float finaly_dmg = GetBattleContext()->CalcDmg(e);
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
VP_Explosion,
|
VP_Explosion,
|
||||||
"",
|
"",
|
||||||
e->GetExplosionEffect(),
|
e->GetExplosionEffect(),
|
||||||
real_killer_id,
|
real_killer_id,
|
||||||
real_killer_name);
|
real_killer_name,
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Car::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
void Car::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
int real_killer_id, const std::string& real_killer_name)
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out)
|
||||||
{
|
{
|
||||||
|
real_dmg_out = 0.0f;
|
||||||
if (dec_hp < 0.001f) {
|
if (dec_hp < 0.001f) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -35,8 +35,10 @@ class Car : public Creature
|
|||||||
bool HasPassenter() { return !passengers_.empty();};
|
bool HasPassenter() { return !passengers_.empty();};
|
||||||
virtual float GetRadius() override;
|
virtual float GetRadius() override;
|
||||||
virtual float GetSpeed() override;
|
virtual float GetSpeed() override;
|
||||||
virtual void DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
virtual void DecHP(float dec_hp,
|
||||||
int real_killer_id, const std::string& real_killer_name) override;
|
int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out) override;
|
||||||
virtual void SendDebugMsg(const std::string& debug_msg) override;
|
virtual void SendDebugMsg(const std::string& debug_msg) override;
|
||||||
virtual void SetAttackDir(const glm::vec3& attack_dir) override;
|
virtual void SetAttackDir(const glm::vec3& attack_dir) override;
|
||||||
virtual void DropItems(Obstacle* obstacle) override;
|
virtual void DropItems(Obstacle* obstacle) override;
|
||||||
|
@ -1154,9 +1154,11 @@ void Creature::UpdatePoisoning()
|
|||||||
} else {
|
} else {
|
||||||
dmg = std::max(1.0f, dmg);
|
dmg = std::max(1.0f, dmg);
|
||||||
}
|
}
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(dmg, VP_Gas, TEXT("battle_server_killer_gas", "毒圈"), VW_Gas,
|
DecHP(dmg, VP_Gas, TEXT("battle_server_killer_gas", "毒圈"), VW_Gas,
|
||||||
VP_Gas,
|
VP_Gas,
|
||||||
TEXT("battle_server_killer_gas", "毒圈"));
|
TEXT("battle_server_killer_gas", "毒圈"),
|
||||||
|
dmg_out);
|
||||||
if (dead) {
|
if (dead) {
|
||||||
poisoning_time = 0;
|
poisoning_time = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -191,8 +191,10 @@ class Creature : public MoveableEntity
|
|||||||
Human* AsHuman() { return IsHuman() ? (Human*)this : nullptr; };
|
Human* AsHuman() { return IsHuman() ? (Human*)this : nullptr; };
|
||||||
Player* AsPlayer() { return IsPlayer() ? (Player*)this : nullptr; };
|
Player* AsPlayer() { return IsPlayer() ? (Player*)this : nullptr; };
|
||||||
Car* AsCar() { return IsCar() ? (Car*)this : nullptr; };
|
Car* AsCar() { return IsCar() ? (Car*)this : nullptr; };
|
||||||
virtual void DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
virtual void DecHP(float dec_hp, int killer_id,
|
||||||
int real_killer_id, const std::string& real_killer_name) {};
|
const std::string& killer_name, int weapon_id,
|
||||||
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out) {};
|
||||||
void AddHp(float hp);
|
void AddHp(float hp);
|
||||||
void SetHP(float hp);
|
void SetHP(float hp);
|
||||||
void SetMaxHP(float max_hp);
|
void SetMaxHP(float max_hp);
|
||||||
|
@ -93,13 +93,15 @@ void Hero::OnExplosionHit(Explosion* e)
|
|||||||
}
|
}
|
||||||
|
|
||||||
RemoveBuffByEffectId(kBET_PeaceMode);
|
RemoveBuffByEffectId(kBET_PeaceMode);
|
||||||
|
float dmg_out = 0.0f;
|
||||||
float finaly_dmg = GetBattleContext()->CalcDmg(e);
|
float finaly_dmg = GetBattleContext()->CalcDmg(e);
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
VP_Explosion,
|
VP_Explosion,
|
||||||
"",
|
"",
|
||||||
e->GetExplosionEffect(),
|
e->GetExplosionEffect(),
|
||||||
real_killer_id,
|
real_killer_id,
|
||||||
real_killer_name);
|
real_killer_name,
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Hero::OnBulletHit(IBullet* bullet)
|
void Hero::OnBulletHit(IBullet* bullet)
|
||||||
@ -122,12 +124,14 @@ void Hero::OnBulletHit(IBullet* bullet)
|
|||||||
MustBeAddBuff(bullet->GetSender().Get(), bullet->GetBulletMeta()->buffid());
|
MustBeAddBuff(bullet->GetSender().Get(), bullet->GetBulletMeta()->buffid());
|
||||||
}
|
}
|
||||||
if (!bullet->IsPreBattleBullet()) {
|
if (!bullet->IsPreBattleBullet()) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName(),
|
bullet->GetSender().Get()->GetName(),
|
||||||
bullet->GetGunMeta()->id(),
|
bullet->GetGunMeta()->id(),
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName());
|
bullet->GetSender().Get()->GetName(),
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -164,8 +168,10 @@ void Hero::DetachFromMaster()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Hero::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
void Hero::DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
int real_killer_id, const std::string& real_killer_name)
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out)
|
||||||
{
|
{
|
||||||
|
real_dmg_out = 0.0f;
|
||||||
if (!room->BattleStarted()) {
|
if (!room->BattleStarted()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -24,8 +24,10 @@ public:
|
|||||||
virtual void OnExplosionHit(Explosion* e) override;
|
virtual void OnExplosionHit(Explosion* e) override;
|
||||||
virtual void OnBulletHit(IBullet* bullet) override;
|
virtual void OnBulletHit(IBullet* bullet) override;
|
||||||
virtual void Update(int delta_time) override;
|
virtual void Update(int delta_time) override;
|
||||||
virtual void DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
virtual void DecHP(float dec_hp,
|
||||||
int real_killer_id, const std::string& real_killer_name) override;
|
int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out) override;
|
||||||
virtual std::string GetName() override;
|
virtual std::string GetName() override;
|
||||||
virtual void DropItems(Obstacle* obstacle) override;
|
virtual void DropItems(Obstacle* obstacle) override;
|
||||||
virtual const mt::Hero* GetHeroMeta() override { return meta; };
|
virtual const mt::Hero* GetHeroMeta() override { return meta; };
|
||||||
|
@ -652,8 +652,10 @@ 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,
|
||||||
int real_killer_id, const std::string& real_killer_name)
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out)
|
||||||
{
|
{
|
||||||
|
real_dmg_out = 0.0f;
|
||||||
if (!room->BattleStarted()) {
|
if (!room->BattleStarted()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -745,9 +747,11 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, i
|
|||||||
info->real_killer_id, info->real_killer_name);
|
info->real_killer_id, info->real_killer_name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
float dmg_out = 0.0f;
|
||||||
int dec_hp = mt::Param::GetIntParam("downed_dec_hp");
|
int dec_hp = mt::Param::GetIntParam("downed_dec_hp");
|
||||||
DecHP(dec_hp, info->killer_id, info->killer_name, info->weapon_id,
|
DecHP(dec_hp, info->killer_id, info->killer_name, info->weapon_id,
|
||||||
info->real_killer_id, info->real_killer_name);
|
info->real_killer_id, info->real_killer_name,
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&xtimer_attacher);
|
&xtimer_attacher);
|
||||||
@ -2457,13 +2461,14 @@ void Human::OnBulletHit(IBullet* bullet)
|
|||||||
}
|
}
|
||||||
if (bullet->GetSender().Get() && bullet->GetSender().Get()->IsCar() && bullet->GetPassenger().Get()) {
|
if (bullet->GetSender().Get() && bullet->GetSender().Get()->IsCar() && bullet->GetPassenger().Get()) {
|
||||||
if (!bullet->IsPreBattleBullet()) {
|
if (!bullet->IsPreBattleBullet()) {
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
bullet->GetPassenger().Get()->GetUniId(),
|
bullet->GetPassenger().Get()->GetUniId(),
|
||||||
bullet->GetPassenger().Get()->GetName(),
|
bullet->GetPassenger().Get()->GetName(),
|
||||||
bullet->GetGunMeta()->id(),
|
bullet->GetGunMeta()->id(),
|
||||||
bullet->GetPassenger().Get()->GetUniId(),
|
bullet->GetPassenger().Get()->GetUniId(),
|
||||||
bullet->GetPassenger().Get()->GetName()
|
bullet->GetPassenger().Get()->GetName(),
|
||||||
);
|
dmg_out);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!bullet->IsPreBattleBullet()) {
|
if (!bullet->IsPreBattleBullet()) {
|
||||||
@ -2471,13 +2476,14 @@ void Human::OnBulletHit(IBullet* bullet)
|
|||||||
bullet->GetSender().Get()->AsHuman()->stats.IncWeaponDamageOut
|
bullet->GetSender().Get()->AsHuman()->stats.IncWeaponDamageOut
|
||||||
(bullet->GetGunMeta()->id(), finaly_dmg);
|
(bullet->GetGunMeta()->id(), finaly_dmg);
|
||||||
}
|
}
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName(),
|
bullet->GetSender().Get()->GetName(),
|
||||||
bullet->GetGunMeta()->id(),
|
bullet->GetGunMeta()->id(),
|
||||||
bullet->GetSender().Get()->GetUniId(),
|
bullet->GetSender().Get()->GetUniId(),
|
||||||
bullet->GetSender().Get()->GetName()
|
bullet->GetSender().Get()->GetName(),
|
||||||
);
|
dmg_out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2515,12 +2521,14 @@ void Human::OnExplosionHit(Explosion* e)
|
|||||||
#else
|
#else
|
||||||
if (e->GetSender().Get()) {
|
if (e->GetSender().Get()) {
|
||||||
#endif
|
#endif
|
||||||
|
float dmg_out = 0.0f;
|
||||||
DecHP(finaly_dmg,
|
DecHP(finaly_dmg,
|
||||||
VP_Explosion,
|
VP_Explosion,
|
||||||
"",
|
"",
|
||||||
e->GetExplosionEffect(),
|
e->GetExplosionEffect(),
|
||||||
real_killer_id,
|
real_killer_id,
|
||||||
real_killer_name);
|
real_killer_name,
|
||||||
|
dmg_out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,8 +299,10 @@ class Human : public Creature
|
|||||||
void CarShot(const glm::vec3& target_dir);
|
void CarShot(const glm::vec3& target_dir);
|
||||||
void BeKill(int killer_id, const std::string& killer_name, int weapon_id,
|
void BeKill(int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
int real_killer_id, const std::string& real_killer_name);
|
int real_killer_id, const std::string& real_killer_name);
|
||||||
virtual void DecHP(float dec_hp, int killer_id, const std::string& killer_name, int weapon_id,
|
virtual void DecHP(float dec_hp,
|
||||||
int real_killer_id, const std::string& real_killer_name) override;
|
int killer_id, const std::string& killer_name, int weapon_id,
|
||||||
|
int real_killer_id, const std::string& real_killer_name,
|
||||||
|
float& real_dmg_out) override;
|
||||||
virtual void AddToNewObjects(Entity* entity) override;
|
virtual void AddToNewObjects(Entity* entity) override;
|
||||||
virtual void AddToPartObjects(Entity* entity) override;
|
virtual void AddToPartObjects(Entity* entity) override;
|
||||||
virtual void AddToImageObjects(Creature* c) override;
|
virtual void AddToImageObjects(Creature* c) override;
|
||||||
|
@ -859,13 +859,14 @@ void RoomObstacle::ActiveMedicalStation()
|
|||||||
float damage = SkillHelper::GetYlzDamage(master.Get(),
|
float damage = SkillHelper::GetYlzDamage(master.Get(),
|
||||||
c,
|
c,
|
||||||
skill_meta);
|
skill_meta);
|
||||||
|
float dmg_out = 0.0f;
|
||||||
c->DecHP(damage,
|
c->DecHP(damage,
|
||||||
master.Get()->GetUniId(),
|
master.Get()->GetUniId(),
|
||||||
master.Get()->GetName(),
|
master.Get()->GetName(),
|
||||||
VP_Buff,
|
VP_Buff,
|
||||||
master.Get()->GetUniId(),
|
master.Get()->GetUniId(),
|
||||||
master.Get()->GetName()
|
master.Get()->GetName(),
|
||||||
);
|
dmg_out);
|
||||||
|
|
||||||
for (int buff_id : meta->_buff_list) {
|
for (int buff_id : meta->_buff_list) {
|
||||||
c->TryAddBuff(master.Get(),
|
c->TryAddBuff(master.Get(),
|
||||||
|
@ -456,12 +456,14 @@ void Skill::Proc30401MAO()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
float dmg = SkillHelper::GetSwzbDmg(sender.Get(), skill_meta);
|
float dmg = SkillHelper::GetSwzbDmg(sender.Get(), skill_meta);
|
||||||
|
float dmg_out = 0.0f;
|
||||||
c->DecHP(dmg,
|
c->DecHP(dmg,
|
||||||
VP_Explosion,
|
VP_Explosion,
|
||||||
"",
|
"",
|
||||||
SkillHelper::GetSwzbEffect(skill_meta),
|
SkillHelper::GetSwzbEffect(skill_meta),
|
||||||
sender.Get()->GetUniId(),
|
sender.Get()->GetUniId(),
|
||||||
sender.Get()->GetName());
|
sender.Get()->GetName(),
|
||||||
|
dmg_out);
|
||||||
glm::vec3 dir = sender.Get()->GetAttackDir();
|
glm::vec3 dir = sender.Get()->GetAttackDir();
|
||||||
if (!GlmHelper::IsZero(dir)) {
|
if (!GlmHelper::IsZero(dir)) {
|
||||||
// 999
|
// 999
|
||||||
@ -601,12 +603,14 @@ void Skill::Proc30501TZ()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
float dmg = SkillHelper::GetCmxdDmg(sender.Get(), skill_meta);
|
float dmg = SkillHelper::GetCmxdDmg(sender.Get(), skill_meta);
|
||||||
|
float dmg_out = 0.0f;
|
||||||
c->DecHP(dmg,
|
c->DecHP(dmg,
|
||||||
VP_Explosion,
|
VP_Explosion,
|
||||||
"",
|
"",
|
||||||
SkillHelper::GetCmxdExplosion(skill_meta),
|
SkillHelper::GetCmxdExplosion(skill_meta),
|
||||||
sender.Get()->GetUniId(),
|
sender.Get()->GetUniId(),
|
||||||
sender.Get()->GetName());
|
sender.Get()->GetName(),
|
||||||
|
dmg_out);
|
||||||
glm::vec3 dir = sender.Get()->GetAttackDir();
|
glm::vec3 dir = sender.Get()->GetAttackDir();
|
||||||
if (!GlmHelper::IsZero(dir)) {
|
if (!GlmHelper::IsZero(dir)) {
|
||||||
glm::vec3 target_pos = c->GetPos().ToGlmVec3() +
|
glm::vec3 target_pos = c->GetPos().ToGlmVec3() +
|
||||||
|
@ -485,3 +485,8 @@ void Trigger::Attacked(Creature* sender)
|
|||||||
{
|
{
|
||||||
DispatchEvent(kAttacked, {sender});
|
DispatchEvent(kAttacked, {sender});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Trigger::DmgOut(Creature* target, float dmg)
|
||||||
|
{
|
||||||
|
DispatchEvent(kDmgOutEvent, {target, dmg});
|
||||||
|
}
|
||||||
|
@ -34,6 +34,7 @@ enum EventId_e
|
|||||||
kSkillBulletPreCreateEvent,
|
kSkillBulletPreCreateEvent,
|
||||||
kUseSkillEvent,
|
kUseSkillEvent,
|
||||||
kTriggerBulletHitBuffEvent,
|
kTriggerBulletHitBuffEvent,
|
||||||
|
kDmgOutEvent,
|
||||||
kAttacked
|
kAttacked
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -72,6 +73,7 @@ public:
|
|||||||
void FlyHookDestory();
|
void FlyHookDestory();
|
||||||
void BulletHitBuff(Bullet* bullet);
|
void BulletHitBuff(Bullet* bullet);
|
||||||
void Attacked(Creature* sender);
|
void Attacked(Creature* sender);
|
||||||
|
void DmgOut(Creature* target, float dmg);
|
||||||
|
|
||||||
std::weak_ptr<EventHandlerPtr> AddListener(int event_id, a8::CommonCbProc cb);
|
std::weak_ptr<EventHandlerPtr> AddListener(int event_id, a8::CommonCbProc cb);
|
||||||
void RemoveEventHandler(std::weak_ptr<EventHandlerPtr> handler_ptr);
|
void RemoveEventHandler(std::weak_ptr<EventHandlerPtr> handler_ptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user