using Cthangover.Core.Characters;
using Cthangover.Core.Relationship;
using Cthangover.Core.Settings;
namespace Cthangover.Core.Relationship
{
///
/// Recruitment condition that gates the "enslave" recruit option
/// behind the slave_master skill. When the player attempts to
/// recruit an NPC, the recruitment system queries all registered
/// implementations; if this condition
/// is present and the player does not have the skill, the enslavement
/// option is hidden or disabled.
///
public class EnslaveCondition : IRecruitCondition
{
///
/// Identifies this condition as the enslavement gate for the
/// recruitment system (maps to enslave option).
///
public string Id => "enslave";
///
/// Determines whether enslavement is available for the given enemy.
/// Checks the runtime skill data for the slave_master skill.
/// The target is provided but not inspected
/// because the condition depends solely on the player's skills.
///
public bool CanRecruit(Character enemy, RuntimeData runtime)
{
return runtime.SkillData.HasSkill("slave_master");
}
}
}