Example #1
0
 public static void Fish(OnMessageReceivedArgs e, string[] SegmentedMessage)
 {
     if (!Drops.IsLive())
     {
         return;
     }
     if (SegmentedMessage.Length == 1)
     {
         int Cost = int.Parse(Shared.ConfigHandler.Config["Fish"]["Cost"]["Viewer"].ToString());
         if (e.ChatMessage.IsSubscriber)
         {
             Cost = int.Parse(Shared.ConfigHandler.Config["Fish"]["Cost"]["Subscriber"].ToString());
         }
         if (Fishermen.Contains(e.ChatMessage.UserId))
         {
             MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Fish"]["AlreadyFishing"].ToString(), null); return;
         }
         if (Shared.Data.Accounts.GetBalance(e.ChatMessage.UserId, Shared.IDType.Twitch) < Cost)
         {
             MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["NotEnough"].ToString(), null); return;
         }
         int TotalChance = 0;
         foreach (Newtonsoft.Json.Linq.JToken Item in Shared.ConfigHandler.Config["Fish"]["Items"])
         {
             TotalChance += int.Parse(Item["Chance"].ToString());
         }
         int ChosenI = random.Next(0, TotalChance + 1); Newtonsoft.Json.Linq.JToken ChosenItem = new Newtonsoft.Json.Linq.JObject();
         foreach (Newtonsoft.Json.Linq.JToken Item in Shared.ConfigHandler.Config["Fish"]["Items"])
         {
             ChosenI -= int.Parse(Item["Chance"].ToString());
             if (ChosenI <= 0)
             {
                 ChosenItem = Item; break;
             }
         }
         int MinTime  = int.Parse(Shared.ConfigHandler.Config["Fish"]["MinTime"].ToString());
         int MaxTime  = int.Parse(Shared.ConfigHandler.Config["Fish"]["MaxTime"].ToString());
         int WaitTime = random.Next(MinTime, MaxTime);
         MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Fish"]["GoneFishing"].ToString(), null);
         Fishermen.Add(e.ChatMessage.UserId);
         Shared.Data.Accounts.TakeUser(e.ChatMessage.UserId, Shared.IDType.Twitch, Cost);
         new Thread(() => Fishing(e, WaitTime, ChosenItem)).Start();
     }
 }