first-roguelike-elements #3

Merged
ian merged 7 commits from first-roguelike-elements into main 2026-06-23 20:39:28 -07:00
2 changed files with 11 additions and 5 deletions
Showing only changes of commit 8f394e1d92 - Show all commits

View file

@ -226,7 +226,6 @@ namespace TD.Combat
private PlayerBuffManager GetOwnerBuffManager() private PlayerBuffManager GetOwnerBuffManager()
{ {
if (buffManagerResolved) return ownerBuffManager; if (buffManagerResolved) return ownerBuffManager;
buffManagerResolved = true;
var slot = towerInstance.Owner; var slot = towerInstance.Owner;
if (slot == PlayerSlot.None) return null; if (slot == PlayerSlot.None) return null;
@ -235,6 +234,7 @@ namespace TD.Combat
if (matchState == null) return null; if (matchState == null) return null;
ownerBuffManager = matchState.GetComponent<PlayerBuffManager>(); ownerBuffManager = matchState.GetComponent<PlayerBuffManager>();
buffManagerResolved = true;
return ownerBuffManager; return ownerBuffManager;
} }
@ -434,7 +434,10 @@ namespace TD.Combat
private void HitEnemy(in CombatProfile p, EnemyHealth target, PlayerSlot owner) private void HitEnemy(in CombatProfile p, EnemyHealth target, PlayerSlot owner)
{ {
float effectiveDamage = p.Damage * GetOwnerBuffManager()?.GetMultiplier(BuffStat.Damage) ?? 1f; var multiplier = GetOwnerBuffManager()?.GetMultiplier(BuffStat.Damage) ?? 1f;
float effectiveDamage = p.Damage * multiplier;
Debug.Log("multiplier: " + multiplier);
Debug.Log("Effective damage: " + effectiveDamage);
target.TakeDamage(effectiveDamage, p.DamageType, owner); target.TakeDamage(effectiveDamage, p.DamageType, owner);
ApplyStatusEffect(p, target, owner); ApplyStatusEffect(p, target, owner);
} }
@ -478,7 +481,7 @@ namespace TD.Combat
* (GetOwnerBuffManager()?.GetMultiplier(BuffStat.Damage) ?? 1f); * (GetOwnerBuffManager()?.GetMultiplier(BuffStat.Damage) ?? 1f);
proj.InitializeServer( proj.InitializeServer(
target, target,
p.Damage, effectiveDamage,
p.DamageType, p.DamageType,
p.TargetType, p.TargetType,
p.SplashRadius, p.SplashRadius,

View file

@ -964,9 +964,12 @@ namespace TD.UI
private VisualElement CreateBuffMenuButton(Key hotkey) private VisualElement CreateBuffMenuButton(Key hotkey)
{ {
// Key.None so HandleHotkeys doesn't register B here — BuilderInputController
// already fires ToggleBuffMenu on B globally. Registering it in both places
// causes a double-toggle on the same frame when the builder is selected.
return CreateActionButton( return CreateActionButton(
costText: "Buffs", costText: "Buffs [B]",
hotkey: hotkey, hotkey: Key.None,
onClick: () => ToggleBuffMenu()); onClick: () => ToggleBuffMenu());
} }