예제 #1
0
        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();
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }