public static void ConsumeHiveNode(int user_id, int node_id) { using (var db = new MinionWarsEntities()) { HiveNode node = db.HiveNode.Find(node_id); RewardGenerator.AwardMinions(user_id, node.minion_id, 10); db.HiveNode.Remove(node); db.SaveChanges(); } }
public static bool BuyMinions(int trade_id, int user_id) { using (var db = new MinionWarsEntities()) { Trading trade = db.Trading.Find(trade_id); bool check = CostManager.ApplyMinionCosts(user_id, trade.amount); if (check) { RewardGenerator.AwardMinions(user_id, trade.minion_id, trade.amount); db.Trading.Remove(trade); db.SaveChanges(); } } return(true); }
private static CombatLog PerformCombat(BattleGroupEntity bge1, BattleGroupEntity bge2) { CombatLog log = new CombatLog(); bool combatEnd = false; while (!combatEnd) { //turn start TurnStartCountAdjustement(bge1); TurnStartCountAdjustement(bge2); //front CalculateLinePerformance(bge1.frontline, bge2); CalculateLinePerformance(bge2.frontline, bge1); //back CalculateLinePerformance(bge1.backline, bge2); CalculateLinePerformance(bge2.backline, bge1); //support CalculateLinePerformance(bge1.supportline, bge2); CalculateLinePerformance(bge2.supportline, bge1); if (CheckIfGroupIsDead(bge1)) { combatEnd = true; log.winner = bge2.bg; log.loser = bge1.bg; } else if (CheckIfGroupIsDead(bge2)) { combatEnd = true; log.winner = bge1.bg; log.loser = bge2.bg; } } log.SaveLog(); RewardGenerator.CombatReward(log); return(log); }