示例#1
0
        protected override List <string> InternalUse(ColossoFighter User)
        {
            List <string>         log     = new List <string>();
            int                   Power   = (int)(User.ElStats.GetPower(Element) * User.MultiplyBuffs("Power"));
            List <ColossoFighter> targets = GetTarget(User);

            foreach (var t in targets)
            {
                var HPtoHeal = (uint)(HealPower * Power / 100 + t.Stats.MaxHP * Percentage / 100);
                if (HPtoHeal > 0)
                {
                    log.AddRange(t.Heal(HPtoHeal));
                }

                var PPToHeal = (uint)(PPHeal * Power / 100 + t.Stats.MaxPP * PPPercent / 100);
                if (PPToHeal > 0)
                {
                    log.AddRange(t.RestorePP(PPToHeal));
                }

                log.AddRange(Effects.ApplyAll(User, t));

                if (User is PlayerFighter p)
                {
                    p.battleStats.HPhealed += HPtoHeal;
                }
            }
            return(log);
        }
示例#2
0
        protected override List <string> InternalUse(ColossoFighter user)
        {
            var log     = new List <string>();
            var power   = (int)(user.ElStats.GetPower(Element) * user.MultiplyBuffs("Power"));
            var targets = GetTarget(user);

            foreach (var t in targets)
            {
                var hPtoHeal = (uint)(HealPower * power / 100 + t.Stats.MaxHP * Percentage / 100);
                if (hPtoHeal > 0)
                {
                    log.AddRange(t.Heal(hPtoHeal));
                }

                var ppToHeal = (uint)(PpHeal * power / 100 + t.Stats.MaxPP * PpPercent / 100);
                if (ppToHeal > 0)
                {
                    log.AddRange(t.RestorePp(ppToHeal));
                }

                log.AddRange(Effects.ApplyAll(user, t));

                if (user is PlayerFighter p)
                {
                    p.BattleStats.HPhealed += hPtoHeal;
                }
            }

            return(log);
        }
示例#3
0
        protected override List <string> InternalUse(ColossoFighter user)
        {
            List <string> log = new List <string>();
            //Get enemies and targeted enemies
            List <ColossoFighter> targets = GetTarget(user);

            foreach (var t in targets)
            {
                if (PpCost > 1 && user.Enemies.Contains(t) && t.IsImmuneToPsynergy)
                {
                    log.Add($"{t.Name} protects themselves with a magical barrier.");
                    continue;
                }
                log.AddRange(Effects.ApplyAll(user, t));
                if (user is PlayerFighter p)
                {
                    p.BattleStats.Supported++;
                }
            }

            return(log);
        }