This commit is contained in:
aozhiwei 2024-01-10 18:58:30 +08:00
commit 8801f4c7d1
4 changed files with 25 additions and 9 deletions

View File

@ -373,7 +373,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in
kPropDmgShow, kPropDmgShow,
GetUniId(), GetUniId(),
real_dmg_out, real_dmg_out,
0, dmg_bp,
killer->GetUniId(), killer->GetUniId(),
true); true);
if (IsPlayer()) { if (IsPlayer()) {
@ -383,7 +383,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in
kPropDmgShow, kPropDmgShow,
GetUniId(), GetUniId(),
real_dmg_out, real_dmg_out,
0, dmg_bp,
killer->GetUniId(), killer->GetUniId(),
true); true);
} }
@ -396,7 +396,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in
kPropDmgShow, kPropDmgShow,
GetUniId(), GetUniId(),
real_dmg_out, real_dmg_out,
0, dmg_bp,
killer->AsHero()->master.Get()->GetUniId(), killer->AsHero()->master.Get()->GetUniId(),
true); true);
} }
@ -407,7 +407,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in
kPropDmgShow, kPropDmgShow,
GetUniId(), GetUniId(),
real_dmg_out, real_dmg_out,
0, dmg_bp,
killer->AsHero()->master.Get() ? killer->AsHero()->master.Get() ?
killer->AsHero()->master.Get()->GetUniId() : killer->GetUniId(), killer->AsHero()->master.Get()->GetUniId() : killer->GetUniId(),
true); true);
@ -2326,9 +2326,11 @@ void Human::OnBulletHit(IBullet* bullet)
GetTrigger()->Attacked(bullet->GetSender().Get()); GetTrigger()->Attacked(bullet->GetSender().Get());
if (!dead && (bullet->IsBomb() || bullet->GetSender().Get()->team_id != team_id)) { if (!dead && (bullet->IsBomb() || bullet->GetSender().Get()->team_id != team_id)) {
float finaly_dmg = 0; float finaly_dmg = 0;
int dmg_bp = 0;
if (bullet->GetSkillMeta() && SkillHelper::ProcBulletDmg(bullet, this, finaly_dmg)) { if (bullet->GetSkillMeta() && SkillHelper::ProcBulletDmg(bullet, this, finaly_dmg)) {
} else { } else {
finaly_dmg = bullet->GetSender().Get()->GetNetData()->CalcDmg(this, bullet); finaly_dmg = bullet->GetSender().Get()->GetNetData()->CalcDmg(this, bullet);
int dmg_bp = bullet->GetSender().Get()->GetNetData()->GetDmgBp();
} }
if (bullet->GetSender().Get()->IsHuman()) { if (bullet->GetSender().Get()->IsHuman()) {
bullet->GetSender().Get()->AsHuman()->stats->damage_amount_out += finaly_dmg; bullet->GetSender().Get()->AsHuman()->stats->damage_amount_out += finaly_dmg;
@ -2356,7 +2358,7 @@ void Human::OnBulletHit(IBullet* bullet)
bullet->GetPassenger().Get()->GetName(), bullet->GetPassenger().Get()->GetName(),
dmg_out, dmg_out,
0, 0,
0); dmg_bp);
bullet->GetSender().Get()->GetTrigger()->DmgOut(this, dmg_out); bullet->GetSender().Get()->GetTrigger()->DmgOut(this, dmg_out);
if (bullet->GetSender().Get() && if (bullet->GetSender().Get() &&
!bullet->GetSender().Get()->dead && !bullet->GetSender().Get()->dead &&
@ -2404,7 +2406,7 @@ void Human::OnBulletHit(IBullet* bullet)
bullet->GetSender().Get()->GetName(), bullet->GetSender().Get()->GetName(),
dmg_out, dmg_out,
0, 0,
0); dmg_bp);
#if 0 #if 0
if (bullet->GetSender().Get()->IsEntityType(ET_Hero)) { if (bullet->GetSender().Get()->IsEntityType(ET_Hero)) {
a8::XPrintf("被炮塔打出血 %f %f %f\n", {GetHP(), GetMaxHP(), dmg_out}); a8::XPrintf("被炮塔打出血 %f %f %f\n", {GetHP(), GetMaxHP(), dmg_out});

View File

@ -412,4 +412,14 @@ namespace mt
} }
} }
int Param::GetCritEffect(float E)
{
}
int Param::GetBlockEffect(float E)
{
}
} }

View File

@ -149,6 +149,9 @@ namespace mt
int nature_recover_hp_interval = 1; int nature_recover_hp_interval = 1;
float nature_recover_hp_rate = 0.1f; float nature_recover_hp_rate = 0.1f;
std::vector<float> block_effect_range;
std::vector<float> crit_effect_range;
std::vector<std::shared_ptr<RankMatchConf>> rank_mode_confs; std::vector<std::shared_ptr<RankMatchConf>> rank_mode_confs;
}; };
static void StaticPostInit(); static void StaticPostInit();
@ -162,6 +165,8 @@ namespace mt
static const RankMatchConf* GetRankModeConfByHeroLv(int hero_lv); static const RankMatchConf* GetRankModeConfByHeroLv(int hero_lv);
static const RankMatchConf* GetRankModeConfByRoomType(int room_type); static const RankMatchConf* GetRankModeConfByRoomType(int room_type);
static int RandHeroLv(int room_type); static int RandHeroLv(int room_type);
static int GetCritEffect(float E);
static int GetBlockEffect(float E);
private: private:
static S s_; static S s_;
}; };

View File

@ -2252,9 +2252,8 @@ void Team::FillSMGameOver(cs::SMGameOver& msg)
member->set_sex(hum->sex); member->set_sex(hum->sex);
member->set_hero_id(hum->meta->id()); member->set_hero_id(hum->meta->id());
member->set_dead(hum->dead); member->set_dead(hum->dead);
Skin* skin = hum->GetSkinByIdx(0); if (hum->GetNetData()->GetSkinId() != 0) {
if (skin) { member->set_skin_id(hum->GetNetData()->GetSkinId());
member->set_skin_id(skin->skin_id);
} }
member->set_is_mvp(0); member->set_is_mvp(0);