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