1
This commit is contained in:
parent
803f0ae873
commit
96982ddc44
@ -190,25 +190,31 @@ void Room::Init()
|
||||
if (a8::TIMER_EXEC_EVENT == event) {
|
||||
if (!IsGameOver() && !GetVictoryTeam()) {
|
||||
for (size_t i = 0; i < 2; ++i) {
|
||||
Team* team = GetMobaTeamA();
|
||||
if (i == 1) {
|
||||
team = GetMobaTeamB();
|
||||
}
|
||||
auto tuple = GetMapMeta()->GetMobaRoomMeta()->moba_towers.at(i);
|
||||
team->TraverseMembers
|
||||
const auto side = i + 1;
|
||||
auto& tuple = GetMapMeta()->GetMobaRoomMeta()->moba_towers.at(i);
|
||||
TraverseTeams
|
||||
(
|
||||
[&tuple] (Human* hum) -> bool
|
||||
[&tuple, side] (Team* team) -> bool
|
||||
{
|
||||
float distance = hum->GetPos().Distance2D2(std::get<0>(tuple));
|
||||
if (distance < std::get<1>(tuple)) {
|
||||
if (!hum->dead && !hum->poisoning && !hum->downed) {
|
||||
if (hum->GetHP() + 1 < hum->GetMaxHP()) {
|
||||
hum->AddHp(hum->GetMaxHP() *
|
||||
hum->room->GetMapMeta()->GetMobaRoomMeta()->tower_recover_hp_rate());
|
||||
hum->TryAddBuff(hum, kRecoverHpEffectBuffId);
|
||||
}
|
||||
}
|
||||
}
|
||||
team->TraverseMembers
|
||||
(
|
||||
[&tuple, side] (Human* hum) -> bool
|
||||
{
|
||||
if (hum->side != side) {
|
||||
return false;
|
||||
}
|
||||
float distance = hum->GetPos().Distance2D2(std::get<0>(tuple));
|
||||
if (distance < std::get<1>(tuple)) {
|
||||
if (!hum->dead && !hum->poisoning && !hum->downed) {
|
||||
if (hum->GetHP() + 1 < hum->GetMaxHP()) {
|
||||
hum->AddHp(hum->GetMaxHP() *
|
||||
hum->room->GetMapMeta()->GetMobaRoomMeta()->tower_recover_hp_rate());
|
||||
hum->TryAddBuff(hum, kRecoverHpEffectBuffId);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user