Example #1
0
 public static void AddComBatBuff(BuffOption buff)
 {
     if (!CombatBuffs.ContainsKey(buff.id))
     {
         CombatBuffs.Add(buff.id, buff);
     }
 }
Example #2
0
        public static BuffOption[] getRandomBuff(int count)
        {
            List <BuffOption> list       = Enumerable.ToList(CommonBuffs.Values);
            List <BuffOption> returnList = new List <BuffOption>();

            while (returnList.Count < 3)
            {
                BuffOption item = list[rand.Next(list.Count)];

                if (item != null && !returnList.Contains(item))
                {
                    returnList.Add(item);
                }
            }
            return(returnList.ToArray());
        }
Example #3
0
        public static bool buffPlayer(BuffOption buff)
        {
            List <StardewValley.Buff> Duppiclates = Game1.buffsDisplay.otherBuffs.Where(b => b.source == buff.displayName).ToList();

            if (Duppiclates.Count() > 0)
            {
                BNC_Core.Logger.Log("Found Duplicates", StardewModdingAPI.LogLevel.Debug);

                foreach (StardewValley.Buff buffitem in Game1.buffsDisplay.otherBuffs.ToArray())
                {
                    if (buffitem.source == buff.displayName)
                    {
                        buff.CombineBuffs(buffitem);
                        Game1.buffsDisplay.otherBuffs.Remove(buffitem);
                    }
                }
            }


            Buff buffselected = new Buff(buff.farming, buff.fishing, buff.mining, 0, 0, buff.foraging, buff.crafting, buff.maxStamina, buff.magneticRadius, buff.speed, buff.defense, buff.attack, buff.duration, buff.displayName, buff.displayName);

            if (buff.color != Color.White)
            {
                buffselected.glow = buff.color;
            }

            Game1.buffsDisplay.addOtherBuff(buffselected);

            if (buff.Equals(CommonBuffs["potato"]))
            {
                if (Game1.player.Stamina > Game1.player.MaxStamina)
                {
                    Game1.player.Stamina = Game1.player.MaxStamina;
                }
            }

            Game1.addHUDMessage(new HUDMessage(buff.shortdesc, buff.isBuff ? 4 : 3));

            return(true);
        }
Example #4
0
        public static void buffPlayer(BuffOption buff)
        {
            Buff buffselected = new Buff(buff.farming, buff.fishing, buff.mining, 0, 0, buff.foraging, buff.crafting, buff.maxStamina, buff.magneticRadius, buff.speed, buff.defense, buff.attack, buff.duration, buff.displayName, buff.displayName);

            buffselected.source = buff.displayName;

            if (buff.color != Color.White)
            {
                buffselected.glow = buff.color;
            }

            Game1.buffsDisplay.addOtherBuff(buffselected);

            if (buff.Equals(CommonBuffs["potato"]))
            {
                if (Game1.player.Stamina > Game1.player.MaxStamina)
                {
                    Game1.player.Stamina = Game1.player.MaxStamina;
                }
            }

            Game1.addHUDMessage(new HUDMessage(buff.shortdesc, buff.isBuff ? 4 : 3));
        }
Example #5
0
        public static void UpdateDay()
        {
            if (BNC_Core.BNCSave.nextBuffDate <= -1)
            {
                int[] Min_Max = Config.getBuffMinMax();
                BNC_Core.BNCSave.nextBuffDate = setNextBuffDay(Min_Max[0], Min_Max[1]);
            }
            if (BNC_Core.BNCSave.nextBuffDate-- == 0)
            {
                BuffOption[] buffs = getRandomBuff(3);

                if (Config.ShowDebug())
                {
                    foreach (BuffOption buff in buffs)
                    {
                        BNC_Core.Logger.Log($"buff selecting from {buff.displayName}");
                    }
                }

                if (TwitchIntergration.isConnected())
                {
                    TwitchIntergration.StartBuffPoll(buffs);
                }
                else
                {
                    BuffOption selected = buffs[rand.Next(buffs.Count() - 1)];
                    if (Config.ShowDebug())
                    {
                        BNC_Core.Logger.Log($"Selected {selected.displayName}");
                    }
                    buffPlayer(selected);
                    int[] Min_Max = Config.getBuffMinMax();
                    BNC_Core.BNCSave.nextBuffDate = setNextBuffDay(Min_Max[0], Min_Max[1]);
                }
            }
        }
Example #6
0
 public static void AddBuffToQueue(BuffOption buff)
 {
     queuedBuff.Add(buff);
 }
Example #7
0
        public override ActionResponse Handle()
        {
            BuffOption buff = new BuffOption(id, Name);

            //If not Default
            if (Duration != 1200 && Duration > 0 && Duration < 5000)
            {
                buff.setDuration(Duration);
            }

            buff.addShortDesc(ShortDesc);

            if (Attack != 0)
            {
                buff.add_attack(Attack);
            }

            if (Defense != 0)
            {
                buff.add_defense(Defense);
            }

            if (Farming != 0)
            {
                buff.add_farming(Farming);
            }

            if (Foraging != 0)
            {
                buff.add_foraging(Foraging);
            }

            if (MaxStamina != 0)
            {
                buff.add_maxStamina(MaxStamina);
            }

            if (Speed != 0)
            {
                buff.add_speed(Speed);
            }

            if (Luck != 0)
            {
                buff.add_luck(Luck);
            }

            if (MagneticRadius != 0)
            {
                buff.add_magneticRadius(MagneticRadius);
            }

            if (Mining != 0)
            {
                buff.add_mining(Mining);
            }

            if (Glowing == 1)
            {
                var prop = typeof(Color).GetProperty(GlowingColor);
                if (prop != null)
                {
                    buff.setGlow((Color)prop.GetValue(GlowingColor));
                }
                else
                {
                    buff.setGlow(Color.LightBlue);
                }
            }

            if (buff == null)
            {
                BNC_Core.Logger.Log($"Could not find buff type of: {id}", StardewModdingAPI.LogLevel.Error);
                return(ActionResponse.Done);
            }
            else
            {
                BuffManager.AddBuffToQueue(buff);
                return(ActionResponse.Done);
            }
        }