Gold-Fixes: Carousel ohne Einkommensrunde, Streak-Gold nur bei PvP

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
team3
2026-07-23 07:06:16 +02:00
parent f2eafe824d
commit ecf22310b4

View File

@@ -144,11 +144,11 @@ class Game:
is_pvp = rnd["kind"] == "pvp" is_pvp = rnd["kind"] == "pvp"
for p in self._alive(): for p in self._alive():
won = results.get(p.name, False) won = results.get(p.name, False)
# Nur PvP zählt für Streak und Siegbonus; PvE friert die Streak ein. # Nur PvP zählt für Streak, Streak-Gold und Siegbonus.
if is_pvp: if is_pvp:
p.streak = max(p.streak, 0) + 1 if won else min(p.streak, 0) - 1 p.streak = max(p.streak, 0) + 1 if won else min(p.streak, 0) - 1
p.gold += economy.round_income( p.gold += economy.round_income(
p.gold, p.streak, is_pvp and won, rnd["label"], self.cfg p.gold, p.streak if is_pvp else 0, is_pvp and won, rnd["label"], self.cfg
) )
p.level, p.xp = economy.apply_xp( p.level, p.xp = economy.apply_xp(
p.level, p.xp, self.cfg["xp"]["passive_per_round"], self.cfg p.level, p.xp, self.cfg["xp"]["passive_per_round"], self.cfg
@@ -225,11 +225,9 @@ class Game:
self.idx += 1 self.idx += 1
if self.round["kind"] != "carousel": if self.round["kind"] != "carousel":
break break
# Carousel ist keine eigene Einkommensrunde — nur Loot, Unit und XP.
for p in self._alive(): for p in self._alive():
self._carousel(p) self._carousel(p)
p.gold += economy.round_income(
p.gold, p.streak, False, self.round["label"], self.cfg
)
p.level, p.xp = economy.apply_xp( p.level, p.xp = economy.apply_xp(
p.level, p.xp, self.cfg["xp"]["passive_per_round"], self.cfg p.level, p.xp, self.cfg["xp"]["passive_per_round"], self.cfg
) )