public async Task GetRewards(bool setActive = true, Player includeIntoRewards = null) { if (includeIntoRewards != null) { if (!ReactedPlayers.Contains(includeIntoRewards)) { ReactedPlayers.Add(includeIntoRewards); } } if (setActive) { active = true; timer = timerActive - 1; } await Update(); if (setActive) { timer = timerIdle - 1; } }
public async Task Update(bool modifyField = true) { timer++; if (active) { if (timer == timerActive) { Random random = new Random(); timer = 0; active = false; timerActive = getNewTimer(TimerType.active); if (modifyField) { SetupField(); } foreach (Player p in ReactedPlayers) { await Professions.guild.GetUserAsync(p.User.UserID).Result.RemoveRoleAsync(Professions.guild.GetRole(ROLE_ID)); if (Type == SkillField.Mining) { if (p.Character.Skills.Mining.Level >= (Tier - 1) * 10) { p.Character.Skills.Mining.TOTAL_XP += Tier * 50; } } else if (Type == SkillField.WoodCutting) { if (p.Character.Skills.WoodCutting.Level >= (Tier - 1) * 10) { p.Character.Skills.WoodCutting.TOTAL_XP += Tier * 50; } } else if (Type == SkillField.Fishing) { if (p.Character.Skills.Fishing.Level >= (Tier - 1) * 10) { p.Character.Skills.Fishing.TOTAL_XP += Tier * 50; } } if (Rewards != null) { p.Character.Inventory.AddItem(Rewards.PullRandomReward()); } } ReactedPlayers.Clear(); } } else { if (timer == timerIdle) { Random random = new Random(); timer = 0; active = true; timerIdle = getNewTimer(TimerType.idle); if (modifyField) { SetupField(); } } } }