public AddBuffSelfBullet(BattleBuffs.IBattleBuff[] battleBuffs, BattleCharacter fromWho, SelfTargetType selfTargetType) { BattleBuffs = battleBuffs; FromWho = fromWho; SelfTargetType = selfTargetType; TargetType = selfTargetType; }
public AttackBulletWithToSelfOrMiss(OpponentTargetType type, SelfTargetType selfTargetType, BattleBuffs.IBattleBuff[] battleBuffs, int harm, bool hitOrMiss, BattleCharacter fromWho) { Type = type; SelfTargetType = selfTargetType; BattleBuffs = battleBuffs; Harm = harm; HitOrMiss = hitOrMiss; FromWho = fromWho; }
public static BattleCharacter[] GetTargetsBySelfTargetType(List <BattleCharacter> team, SelfTargetType selfTargetType, BattleCharacter fromWho) { var characters = team.Where(x => x.KeyStatus == KeyStatus.Alive).ToList(); if (!characters.Any()) { return new BattleCharacter[] { } } ; return(selfTargetType switch { SelfTargetType.Self => characters.Where(x => x == fromWho).ToArray(), SelfTargetType.SelfTeam => characters.ToArray(), SelfTargetType.SelfWeak => characters .OrderBy(x => x.CharacterBattleAttribute.NowHp / x.CharacterBattleAttribute.MaxHp).Take(1) .ToArray(), SelfTargetType.SelfTeamOthers => characters.Where(x => x != fromWho).ToArray(), _ => throw new ArgumentOutOfRangeException(nameof(selfTargetType), selfTargetType, null) });
public HealSelfBullet(BattleCharacter fromWho, SelfTargetType targetType, int heal) { FromWho = fromWho; TargetType = targetType; Heal = heal; }