// Assets/_Project/Scripts/Gameplay/EnemyAbilities/NoBountyAbilityDefinition.cs using UnityEngine; using TD.Core; namespace TD.Gameplay.EnemyAbilities { /// /// Killing these enemies pays little or nothing. The wave gets no harder to survive — it gets /// harder to profit from. /// /// /// Attacks the economy, not the maze. Every other card makes a wave more dangerous; /// this one makes clearing it worthless, which compounds instead across cycles — a wave that /// pays nothing on cycle 1 also pays nothing on cycles 2 and 3, so the players who voted it in /// are choosing to be poorer for the rest of the phase. That slow squeeze is the point, and /// it's why the card reads as mild and isn't. /// /// Wave-completion and no-leak bonuses are untouched — those are paid per player by /// WaveManager, not per kill, so a wave carrying this still rewards clearing it. /// [CreateAssetMenu(fileName = "NoBountyAbility", menuName = "TD/Enemy Abilities/No Bounty")] public class NoBountyAbilityDefinition : EnemyAbilityDefinition { public override EnemyAbilityKind Kind => EnemyAbilityKind.NoBounty; [Header("Bounty")] [Tooltip("Fraction of the normal kill bounty these enemies still pay. 0 = nothing at all.")] [Range(0f, 1f)] public float BountyMultiplier = 0f; public override int ServerModifyKillReward(EnemyAbility instance, int reward) => Mathf.FloorToInt(reward * BountyMultiplier); } }