Exemple #1
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     if (currentPlayer.MagicPower == 0)
     {
         currentPlayer.HealthBuff += HpMod;
     }
 }
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
        // this factory produces skills from HolySpells directory
        public Skill CreateSkill(Engine.CharacterClasses.Player player)
        {
            List <Skill> playerSkills = player.ListOfSkills;
            Skill        known        = CheckContent(playerSkills);

            if (known == null)
            {
                Excommunication s1 = new Excommunication();
                IceSpike        s2 = new IceSpike();
                Prayer          s3 = new Prayer();

                List <Skill> tmp = new List <Skill>();
                if (s1.MinimumLevel <= player.Level)
                {
                    tmp.Add(s1);
                }
                if (s2.MinimumLevel <= player.Level)
                {
                    tmp.Add(s2);
                }
                if (s3.MinimumLevel <= player.Level)
                {
                    tmp.Add(s3);
                }
                if (tmp.Count == 0)
                {
                    return(null);
                }
                return(tmp[Index.RNG(0, tmp.Count)]);
            }
            else if (known.decoratedSkill == null)
            {
                ExcommunicationDecorator s1  = new ExcommunicationDecorator(known);
                IceSpikeDecorator        s2  = new IceSpikeDecorator(known);
                PrayerDecorator          s3  = new PrayerDecorator(known);
                List <Skill>             tmp = new List <Skill>();
                if (s1.MinimumLevel <= player.Level)
                {
                    tmp.Add(s1);
                }
                if (s2.MinimumLevel <= player.Level)
                {
                    tmp.Add(s2);
                }
                if (s3.MinimumLevel <= player.Level)
                {
                    tmp.Add(s3);
                }
                if (tmp.Count == 0)
                {
                    return(null);
                }
                return(tmp[Index.RNG(0, tmp.Count)]);
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     if (currentPlayer.Strength >= 25)
     {
         currentPlayer.ArmorBuff += ArMod + (currentPlayer.Strength - 25) / 2;
         //If player is tough enough, he can use large bardiche to defend himself.
     }
 }
Exemple #5
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.HealthBuff     += (int)(currentPlayer.Health * boost);
     currentPlayer.ArmorBuff      += (int)(currentPlayer.Armor * boost);
     currentPlayer.PrecisionBuff  += (int)(currentPlayer.Precision * boost);
     currentPlayer.MagicPowerBuff += (int)(currentPlayer.MagicPower * boost);
     currentPlayer.StaminaBuff    += (int)(currentPlayer.Stamina * boost);
 }
Exemple #6
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     if (currentPlayer.Health <= 50)
     {
         if (currentPlayer.Gold >= 200)
         {
             currentPlayer.Gold   -= 200;
             currentPlayer.Stamina = 0;
         }
     }
 }
Exemple #7
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     if ((currentPlayer.StrengthBuff + currentPlayer.StaminaBuff + currentPlayer.PrecisionBuff + currentPlayer.HealthBuff + currentPlayer.ArmorBuff) / 5 < 80)
     {
         currentPlayer.StrengthBuff += StrMod + 5;
     }
     currentPlayer.StaminaBuff   += StaMod + 5;
     currentPlayer.PrecisionBuff += PrMod + 5;
     currentPlayer.HealthBuff    += HpMod + 5;
     currentPlayer.ArmorBuff     += ArMod + 5;
 }
Exemple #8
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     foreach (string i in otherItems)
     {
         currentPlayer.HealthBuff     += HpMod;
         currentPlayer.StrengthBuff   += StrMod;
         currentPlayer.ArmorBuff      += ArMod;
         currentPlayer.PrecisionBuff  += PrMod;
         currentPlayer.MagicPowerBuff += MgcMod;
         currentPlayer.StaminaBuff    += StaMod;
         if (i == "OsirisEye")
         {
             currentPlayer.StrengthBuff = currentPlayer.Strength + StrMod * 150 / 100;
         }
     }
 }
Exemple #9
0
        public override List <StatPackage> BattleMove(Engine.CharacterClasses.Player player)
        {
            int         randomNumber = Index.RNG(0, 3);
            StatPackage response     = new StatPackage("water");

            if (randomNumber == 0)
            {
                response.HealthDmg  = 2 * player.MagicPower;
                response.CustomText = "You use Ice Spike! (" + 2 * player.MagicPower + ") water  damage. ";
            }
            else
            {
                response.DamageType = "none";
                response.CustomText = "You use Ice Spike, but you miss!";
            }
            return(new List <StatPackage> {
                response
            });
        }
        public override List <StatPackage> BattleMove(Engine.CharacterClasses.Player player)
        {
            List <int> myList = new List <int>(); // using a list of all player statistics

            myList.Add(player.MagicPower);
            myList.Add(player.Strength);
            myList.Add(player.Precision);
            myList.Add(player.Stamina);
            myList.Add(player.Health);
            myList.Add(player.Armor);
            myList.Sort();//sorting the list
            StatPackage response     = new StatPackage("air");
            int         randomNumber = Index.RNG(0, 3);

            if (randomNumber == 0)//Strongest stat
            {
                response.MagicPowerDmg = (int)(myList[myList.Count - 1] * 0.5);
                response.CustomText    = "You use Excommunication and decrease your enemies magic power by " + (int)(myList[myList.Count - 1] * 0.5);
            }
            else if (randomNumber == 1)//weakest
            {
                int i = 0;
                while (myList[i] == 0)//first stat that is not equal to 0 will be used
                {
                    i++;
                }

                response.MagicPowerDmg = (int)(myList[i] * 0.5);
                response.CustomText    = "You use Excommunication and decrease your enemies magic power by " + (int)(myList[myList.Count - 1] * 0.5);
            }
            else    //miss
            {
                response.DamageType    = "none";
                response.MagicPowerDmg = 0;
                response.CustomText    = "You try to use Excommunication, but you miss!";
            }

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

            combo.Add(response);
            return(combo);
        }
Exemple #11
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     safeLevel = currentPlayer.Health;
 }
Exemple #12
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.Health         += 10 * currentPlayer.Level;
     currentPlayer.MagicPowerBuff += MgcMod;
 }
Exemple #13
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.StrengthBuff += StrMod + currentPlayer.Strength;
 }
Exemple #14
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.MagicPowerBuff += MgcMod + currentPlayer.Strength / 5;
 }
Exemple #15
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.StaminaBuff = currentPlayer.Stamina / 5;
 }
Exemple #16
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.ArmorBuff += ArMod;
 }
Exemple #17
0
 public override void ApplyBuffs(Engine.CharacterClasses.Player currentPlayer, List <string> otherItems)
 {
     currentPlayer.HealthBuff  += HpMod;
     currentPlayer.StaminaBuff += StaMod;
 }