コード例 #1
0
        private TrinityPower ToPower(ValidatedSkill s)
        {
            var onSelf = !s.Skill.IsDamaging;
            var power  = new TrinityPower
            {
                SNOPower       = s.Skill.SNOPower,
                IsCastOnSelf   = onSelf,
                MinimumRange   = Math.Max(5f, s.Settings.CastRange),
                TargetAcdId    = onSelf ? s.Target.AcdId : -1,
                TargetPosition = onSelf ? Player.Position : s.Target.Position,
            };

            return(power);
        }
コード例 #2
0
        private ValidatedSkill ValidateSkill(SkillSettings settings, Predicate <SkillSettings> condition = null)
        {
            var skill = settings.Skill;

            if (skill == null)
            {
                return(null);
            }

            if (!skill.CanCast())
            {
                return(null);
            }

            if (condition != null && !condition(settings))
            {
                return(null);
            }

            if (!AllowedToUse(settings, skill))
            {
                return(null);
            }

            var target = GetTarget(settings);

            if (target == null)
            {
                return(null);
            }

            var result = new ValidatedSkill
            {
                Skill    = skill,
                Settings = settings,
                Target   = target,
            };

            return(result);
        }
コード例 #3
0
 private bool TryValidateSkill(SkillSettings skillSettings, out ValidatedSkill validatedSkill)
 {
     return((validatedSkill = ValidateSkill(skillSettings)) != null);
 }