Interfaces/IInstigator.cs
/// <summary>
/// Interface for components that have an instigator (the entity that caused them to exist or act).
/// This allows the damage system to properly attribute damage to the original source rather than the immediate cause.
/// For example, a projectile would return the PlayerData of who fired it, not the projectile itself.
/// </summary>
public interface IInstigator
{
	/// <summary>
	/// The PlayerData of the entity that instigated this object's creation or action.
	/// This is used for damage attribution, kill tracking, and friendly fire checks.
	/// </summary>
	PlayerData Instigator { get; }
}