Beispiel #1
0
        public override string Effect(RpgGame game)
        {
            foreach (var enemy in game.Opponents)
            {
                enemy.AddBuff <Buffs.Blinded>(5);
            }

            return($"{game.player} cripples the enemy!");
        }
Beispiel #2
0
        public override string Effect(RpgGame game)
        {
            bool crit = Program.Random.NextDouble() < game.player.CritChance;
            int  dmg  = Entity.ModifiedDamage(game.player.Damage, crit);

            var target = Program.Random.Choose(game.Opponents);

            string effectMessage = game.player.weapon.GetWeapon().AttackEffects(game.player, target);
            int    dealt         = target.Hit(dmg, game.player.DamageType, game.player.MagicType);
            int    heal          = game.IsPvp ? dealt : dealt * 3;

            game.player.Life += heal;
            return($"{this} dealt {dealt} damage to {target}{" (!)".If(crit)} and siphoned {heal} HP!\n{effectMessage}");
        }
Beispiel #3
0
        public override string Effect(RpgGame game)
        {
            int dmg = (game.player.Damage * 0.75).Round();

            var hits = new List <string>(3);

            foreach (var enemy in game.Opponents)
            {
                bool crit  = Program.Random.NextDouble() < game.player.CritChance;
                int  dealt = enemy.Hit(Entity.ModifiedDamage(dmg, crit), game.player.DamageType, game.player.MagicType);
                hits.Add($"{enemy} for {dealt}{"(!)".If(crit)}");
            }

            return($"{game.player} hits {hits.JoinString(", ")}.");
        }
Beispiel #4
0
        public override string Effect(RpgGame game)
        {
            bool crit = Program.Random.NextDouble() < game.player.CritChance;
            int  dmg  = Entity.ModifiedDamage(game.player.Damage * 2, crit);

            if (crit)
            {
                dmg = (dmg * 2.0 / 3.0).Round();       // Crits too OP
            }
            var target = Program.Random.Choose(game.Opponents);

            string effectMessage = game.player.weapon.GetWeapon().AttackEffects(game.player, target);
            int    dealt         = target.Hit(dmg, game.player.DamageType, game.player.MagicType);

            return($"{game.player} hits {target} for {dealt} damage. {"Critical hit!".If(crit)}\n{effectMessage}");
        }
 public override string Effect(RpgGame game)
 {
     game.player.AddBuff <Buffs.Fury>(7);
     return($"{game.player}'s fury makes him a lot stronger!");
 }
Beispiel #6
0
 public override string Effect(RpgGame game)
 {
     game.player.AddBuff <Buffs.CritBuff>(5);
     return($"{game.player} is in deep focus and will crit easily!");
 }
Beispiel #7
0
 /// <summary>The effects this skill has on the game when activated by the player.</summary>
 public abstract string Effect(RpgGame game);
Beispiel #8
0
 public override string Effect(RpgGame game)
 {
     game.player.AddBuff <Buffs.Blocking>(2);
     game.player.AddBuff <Buffs.Immune>(1);
     return($"{game.player} is blocking!");
 }