Exemple #1
0
        public override List <StatPackage> BattleMove(Player player)
        {
            StatPackage response1 = new StatPackage("stab");

            response1.HealthDmg = (int)(0.1 * player.Strength) + (int)(0.1 * player.Precision);
            StatPackage response2 = new StatPackage("incised");

            response2.HealthDmg = (int)(0.1 * player.Strength) + (int)(0.1 * player.Precision);

            StatPackage response3 = new StatPackage("stab");

            response3.HealthDmg = (int)(0.1 * player.Strength) + (int)(0.1 * player.Precision);
            StatPackage response4 = new StatPackage("incised");

            response4.HealthDmg = (int)(0.1 * player.Strength) + (int)(0.1 * player.Precision);

            response1.CustomText = "You use Double Sword Slash! (" + ((int)(0.2 * player.Strength) + (int)(0.2 * player.Precision)) + " stab damage, " + ((int)(0.2 * player.Strength) + (int)(0.2 * player.Precision)) + " incised damage)";
            List <StatPackage> combo = decoratedSkill.BattleMove(player);

            combo.Add(response1);
            combo.Add(response2);
            combo.Add(response3);
            combo.Add(response4);
            return(combo);
        }
Exemple #2
0
        public override List <StatPackage> BattleMove(Engine.CharacterClasses.Player player)
        {
            StatPackage response     = new StatPackage("none");
            int         randomNumber = Index.RNG(0, 3);

            if (randomNumber == 0)//Base Magic
            {
                response.DamageType = "fire";
                response.HealthDmg  = (int)(player.MagicPower * 1.5);
                response.CustomText = "You use Prayer. Base attribute: Magic Power. You attack for (" + (int)(1.5 * player.MagicPower) + " fire damage)";
            }
            else if (randomNumber == 1)//base Precision
            {
                response.DamageType = "stab";
                response.HealthDmg  = (int)(player.Precision * 1.5);
                response.CustomText = "You use Prayer. Base attribute: Precision. You attack for (" + (int)(1.5 * player.Precision) + " stab damage)";
            }
            else//base Strength
            {
                response.DamageType = "incised";
                response.HealthDmg  = (int)(player.Strength * 1.5);
                response.CustomText = "You use Prayer. Base attribute: Strength. You attack for (" + (int)(1.5 * player.Strength) + " incised damage)";
            }
            List <StatPackage> combo = decoratedSkill.BattleMove(player);

            combo.Add(response);
            return(combo);
        }
Exemple #3
0
        public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
        {
            Random rnd = new Random();

            if (pack.CustomText == null)
            {
                switch (rnd.Next(1, 3))
                {
                case 1:
                    pack.DamageType  = "fire";
                    pack.ArmorDmg    = 4;
                    pack.HealthDmg   = 8;
                    pack.CustomText += " A fire briefly blazes out of the can before disappearing into thin air. The can is closed again.";
                    break;

                case 2:
                    pack.DamageType   = "water";
                    pack.PrecisionDmg = 5;
                    pack.HealthDmg    = 10;
                    pack.CustomText  += " A stream of water bursts out of the can and hits the enemy in the face. The can is closed again";
                    break;

                case 3:
                    pack.DamageType  = "earth";
                    pack.StrengthDmg = 6;
                    pack.HealthDmg   = 15;
                    pack.CustomText += " The can shakes and a boulder falls upon the enemy. The can is still closed";
                    break;
                }
            }
            return(pack);
        }
Exemple #4
0
        public override List <StatPackage> BattleMove(Player player)
        {
            var responses = new List <StatPackage>();

            for (int i = 0; i < 5; i++)
            {
                StatPackage response = new StatPackage("incised");
                if (Index.RNG(0, 100) < player.Precision)
                {
                    response.HealthDmg  = (int)(0.2 * player.Strength);
                    response.CustomText = "Fast slash! (" + (int)(0.2 * player.Strength) + " incision damage)";
                }
                else
                {
                    response.HealthDmg  = 0;
                    response.CustomText = "You should be aiming better!";
                }
                responses.Add(response);
            }

            List <StatPackage> combo = decoratedSkill.BattleMove(player);

            combo.AddRange(responses);
            return(combo);
        }
Exemple #5
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "air")
     {
         pack.HealthDmg += pack.HealthDmg / 4;
     }
     return(pack);
 }
Exemple #6
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "wind")
     {
         power += pack.HealthDmg;
     }
     return(pack);
 }
Exemple #7
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "stab" || pack.DamageType == "incised")
     {
         pack.HealthDmg *= (Index.RNG(0, 100) > critChance - 1) ? 1 : 2;
     }
     return(pack);
 }
Exemple #8
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (otherItems.Contains("AntiMagicArmor") == true)
     {
         pack.MagicPowerDmg += Index.RNG(1, 9);
     }
     return(pack);
 }
Exemple #9
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "stab" || pack.DamageType == "incised")
     {
         pack.HealthDmg = 80 * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #10
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "poison")
     {
         pack.HealthDmg = 70 * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #11
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "fire")
     {
         pack.HealthDmg -= pack.HealthDmg / 2;
     }
     return(pack);
 }
Exemple #12
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (DmgTest.Magic(pack.DamageType))
     {
         pack.HealthDmg = 70 * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #13
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "cut" || pack.DamageType == "blunt")
     {
         pack.HealthDmg -= 10;
     }
     return(pack);
 }
Exemple #14
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (otherItems.Contains("Lighting Sword"))
     {
         pack.ArmorDmg -= pack.ArmorDmg / 2;
     }
     return(pack);
 }
Exemple #15
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (Game.Engine.Index.RNG(0, 100) < 20)
     {
         pack.MagicPowerDmg = pack.MagicPowerDmg + (int)(pack.MagicPowerDmg * mgcBoost);
     }
     return(pack);
 }
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "stab" || pack.DamageType == "incised")
     {
         pack.HealthDmg = (int)(pack.HealthDmg * 1.3f);
     }
     return(pack);
 }
Exemple #17
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (otherItems.Contains("item0007") == true)
     {
         pack.StrengthDmg = pack.StrengthDmg + 60;
     }
     return(pack);
 }
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "fire" || pack.DamageType == "water" || pack.DamageType == "air" || pack.DamageType == "earth")
     {
         pack.HealthDmg = 70 * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #19
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.HealthDmg > 0)
     {
         pack.HealthDmg = pack.HealthDmg - 10;
     }
     return(pack);
 }
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "stab" || pack.DamageType == "incised")
     {
         pack.HealthDmg = (100 + berserkerBonus / 4) * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #21
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (DmgTest.Physical(pack.DamageType))
     {
         pack.HealthDmg = (100 + berserkerBonus / 4) * pack.HealthDmg / 100;
     }
     return(pack);
 }
Exemple #22
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (Index.RNG(0, 101) < 30)
     {
         pack.HealthDmg += 50;
     }
     return(pack);
 }
Exemple #23
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.HealthDmg >= safeLevel)
     {
         pack.HealthDmg = pack.HealthDmg * usability / 10;
         usability     += 1;
     }
     return(pack);
 }
Exemple #24
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     centaurWrath = rand.Next(10, 30);
     if (pack.DamageType == "stab" || pack.DamageType == "incised")
     {
         pack.HealthDmg = (100 + centaurWrath / 4) * pack.HealthDmg / 50;
     }
     return(pack);
 }
Exemple #25
0
        public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
        {
            if (pack.DamageType == "fire")
            {
                pack.HealthDmg += fireStoneBonus;
            }

            return(pack);
        }
Exemple #26
0
 public override StatPackage ModifyDefensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "incised")
     {
         pack.HealthDmg = 90 * pack.HealthDmg / 100;
         //Buff incised attacks are reduced by 10%
     }
     return(pack);
 }
Exemple #27
0
        public override List <StatPackage> BattleMove(Player player, List <string> items)
        {
            StatPackage response = new StatPackage(DmgType.Other);

            return(new List <StatPackage>()
            {
                response
            });
        }
Exemple #28
0
        public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
        {
            if (pack.DamageType == "Fire" || pack.DamageType == "Air")
            {
                pack.HealthDmg = (strMod * 4);
            }

            return(pack);
        }
Exemple #29
0
 public override StatPackage ModifyOffensive(StatPackage pack, List <string> otherItems)
 {
     if (pack.DamageType == "fire")
     {
         pack.HealthDmg = 120 * pack.HealthDmg / 100;
         //Buff all fire spells by 20%.
     }
     return(pack);
 }
Exemple #30
0
        public override List <StatPackage> BattleMove(Player player, List <string> items)
        {
            player.BattleBuffArmor += 100; // use BattleBuff[something] for skills which need to buff statistics
            StatPackage response = new StatPackage("Twoja magia laduje zbroje rosnacego kamienia, zwiekszajac pancerz o 100.");

            return(new List <StatPackage>()
            {
                response
            });
        }