using System; using UnityEngine; // Shared types used by combat/effect/skill systems public enum Selector { Self, AllAllies, AllAlliesExceptSelf, AdjacentAllies, CurrentEnemies, AllEntities } public enum EffectType { DamageSingleEnemy, DamageOverTimeEnemy, HealSingleEnemy, HealOverTimeEnemy, DamageSingleAlly, DamageOverTimeAlly, HealSingleSelf, HealOverTimeSelf, HealGroupSingle, HealGroupOverTime, BuffDuration, DebuffDuration, IncreaseManaOverTime, ReduceEnemyHealOverTime, ScoreMultiplier, AddScore, IncreaseMaxHP, DecreaseMaxHP, IncreaseMaxMana, DecreaseMaxMana, IncreaseScoreEfficiency, DecreaseScoreEfficiency, // New: modify damage resistance (0-1). Amount interpreted as additive delta (e.g. 0.2 to add 20% resistance) IncreaseDamageResistance, DecreaseDamageResistance, IncreaseAttack, DecreaseAttack, RedirectNextDamageToSelf } public interface ICombatant { void ReceiveDamage(float amount, GameObject source); void ReceiveHeal(float amount, GameObject source); void ApplyBuff(Buff buff, GameObject source); void RemoveBuff(string buffId); }