using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects { public class 弱驱散特效 : Effect { public override long Id => Skill.Id; public override string Name => Skill.Name; public override string Description => $"弱驱散{TargetDescription}。"; public string TargetDescription { get { if (Skill.SelectAllTeammates) { return "友方全体角色"; } else if (Skill.SelectAllEnemies) { return "敌方全体角色"; } return $"{(Skill.CanSelectTargetCount > 1 ? $"至多 {Skill.CanSelectTargetCount} 个" : "")}目标"; } } public override DispelType DispelType => DispelType.Weak; public 弱驱散特效(Skill skill) : base(skill) { GamingQueue = skill.GamingQueue; } public override void OnSkillCasted(Character caster, List targets, Dictionary others) { Dictionary isTeammateDictionary = GamingQueue?.GetIsTeammateDictionary(caster, targets) ?? []; foreach (Character target in targets) { WriteLine($"[ {caster} ] 弱驱散了 [ {target} ] !"); bool isEnemy = true; if (isTeammateDictionary.TryGetValue(target, out bool value)) { isEnemy = !value; } Dispel(caster, target, isEnemy); } } } }