public D100Result ConductMovementCheck(string skill) { D100Result result = null; //the skill will always be in here, but just in case... var skillInList = MovementSkills.Where(x => x.Name == skill).FirstOrDefault(); if (skillInList != null) { result = skillInList.ConductCheck(); } return(result); }
public TrinityPower GetMovementPower(Vector3 destination) { if (Core.Grids.CanRayCast(destination)) { foreach (var skill in MovementSkills.Where(s => s.CanCast())) { var settings = GetSettingsForSkill(skill); if (AllowedToUse(settings, skill)) { return(ToMovementPower(skill, destination)); } } } return(Walk(destination)); }