Exemplo n.º 1
0
        public static Battlegroup AddMinions(int m_id, int count, int type, Battlegroup bg)
        {
            using (var db = new MinionWarsEntities())
            {
                Minion minion = db.Minion.Find(m_id);
                if (minion != null && bg != null)
                {
                    BattlegroupAssignment assignment = new BattlegroupAssignment();

                    assignment.battlegroup_id = bg.id;
                    assignment.minion_id      = minion.id;
                    assignment.group_count    = count;
                    assignment.line           = type;
                    db.BattlegroupAssignment.Add(assignment);

                    /*CalculateAdvancedModifiers(bg, count, minion.passive);
                     *
                     * db.Battlegroup.Attach(bg);
                     * db.Entry(bg).State = System.Data.Entity.EntityState.Modified;*/

                    db.SaveChanges();
                }
                else
                {
                    return(null);
                }

                return(bg);
            }
        }
Exemplo n.º 2
0
        public static ResourceNode generateRandomResource(DbGeography loc)
        {
            using (var db = new MinionWarsEntities())
            {
                List <ResourceNode> list = db.ResourceNode.Where(x => x.location.Distance(loc) <= 250).ToList();
                if (list.Count > 0)
                {
                    return(null);
                }
                else
                {
                    Random r = new Random();
                    List <ResourceType> rtypeList = db.ResourceType.ToList();

                    ResourceNode newRes = new ResourceNode();
                    //var point = string.Format("POINT({1} {0})", latitude, longitude);
                    newRes.location = loc;
                    newRes.rtype_id = r.Next(1, rtypeList.Count);

                    db.ResourceNode.Add(newRes);
                    db.SaveChanges();

                    return(newRes);
                }
            }
        }
Exemplo n.º 3
0
 private static double GetModifierCoeficients(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.ModifierCoeficients.Find(id).value);
     }
 }
Exemplo n.º 4
0
        public static bool RemoveMinions(int a_id)
        {
            using (var db = new MinionWarsEntities())
            {
                BattlegroupAssignment ba = db.BattlegroupAssignment.Find(a_id);
                if (ba != null)
                {
                    MinionOwnership mo = null;
                    Battlegroup     bg = db.Battlegroup.Find(ba.battlegroup_id);
                    mo            = db.MinionOwnership.Where(x => x.minion_id == ba.minion_id && x.owner_id == bg.owner_id).First();
                    mo.available += ba.group_count;

                    db.BattlegroupAssignment.Remove(ba);
                    db.MinionOwnership.Attach(mo);
                    db.Entry(mo).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Exemplo n.º 5
0
 private static DbGeography GetReturnDestination(Battlegroup bg)
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.UserMovementHistory.Where(x => x.users_id == bg.owner_id).OrderByDescending(x => x.occurence).First().location);
     }
 }
Exemplo n.º 6
0
 public static List <MinionOwnership> GetOwnershipData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.MinionOwnership.Where(x => x.owner_id == id).ToList());
     }
 }
Exemplo n.º 7
0
 public static List <Buildings> GetAllBuildings()
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.Buildings.ToList());
     }
 }
Exemplo n.º 8
0
 public static Battlegroup GetPersonalBattlegroup(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.Battlegroup.Find(id));
     }
 }
Exemplo n.º 9
0
        public static void IncreaseExperience(int id, int amount)
        {
            using (var db = new MinionWarsEntities())
            {
                Users user = db.Users.Find(id);
                ModifierCoeficients maxLvl = db.ModifierCoeficients.Find(22);

                if (user.lvl == Convert.ToInt32(maxLvl.value))
                {
                    return;
                }
                else
                {
                    user.experience += amount;
                    ModifierCoeficients threshold = db.ModifierCoeficients.Find(21);
                    if (user.experience > Convert.ToInt32(threshold.value))
                    {
                        user.experience -= Convert.ToInt32(threshold.value);
                        user.lvl++;
                        if (user.points == null)
                        {
                            user.points = 0;
                        }
                        else
                        {
                            user.points++;
                        }
                    }

                    db.Users.Attach(user);
                    db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }
        }
Exemplo n.º 10
0
        public static void AwardMinions(int user_id, int minion_id, int amount)
        {
            using (var db = new MinionWarsEntities())
            {
                MinionOwnership        mo   = null;
                List <MinionOwnership> list = db.MinionOwnership.Where(x => x.owner_id == user_id && x.minion_id == minion_id).ToList();
                if (list.Count > 0)
                {
                    mo              = list.First();
                    mo.group_count += amount;
                    mo.available   += amount;

                    db.MinionOwnership.Attach(mo);
                    db.Entry(mo).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    mo             = new MinionOwnership();
                    mo.group_count = 10;
                    mo.available   = 10;
                    mo.owner_id    = user_id;
                    mo.minion_id   = minion_id;

                    db.MinionOwnership.Add(mo);
                }

                db.SaveChanges();
            }
        }
Exemplo n.º 11
0
        public static void UpdateUserPosition(int user_id, double longitude, double latitude)
        {
            using (var db = new MinionWarsEntities())
            {
                Users user = null;
                user = db.Users.Find(user_id);

                if (user != null)
                {
                    if (user.location != null)
                    {
                        UserMovementHistory newMovement = new UserMovementHistory();
                        newMovement.users_id            = user_id;
                        newMovement.occurence           = DateTime.Now;
                        newMovement.location            = user.location;
                        newMovement.activity_saturation = 1;
                        newMovement.event_saturation    = 0;
                        db.UserMovementHistory.Add(newMovement);
                    }

                    var point = string.Format("POINT({1} {0})", latitude, longitude);
                    user.location = DbGeography.FromText(point);
                    db.Users.Attach(user);
                    db.Entry(user).State = System.Data.Entity.EntityState.Modified;

                    db.SaveChanges();
                }
            }
        }
Exemplo n.º 12
0
        public static List <Trading> CheckTradingPost(int camp_id)
        {
            using (var db = new MinionWarsEntities())
            {
                List <Trading>         tradingList = null;
                bool                   exists      = false;
                List <UtilityBuilding> ubl         = db.UtilityBuilding.Where(x => x.camp_id == camp_id).ToList();
                foreach (UtilityBuilding ub in ubl)
                {
                    if (ub.type == 15)
                    {
                        exists = true;
                    }
                }

                if (exists)
                {
                    tradingList = new List <Trading>();
                    db.Configuration.LazyLoadingEnabled = false;
                    tradingList = db.Trading.Where(x => x.camp_id == camp_id).ToList();
                    foreach (Trading t in tradingList)
                    {
                        t.Users             = db.Users.Find(t.owner_id);
                        t.Minion            = db.Minion.Find(t.minion_id);
                        t.Minion.MinionType = db.MinionType.Find(t.Minion.mtype_id);
                    }
                }

                return(tradingList);
            }
        }
Exemplo n.º 13
0
        public static bool ApplyMinionCosts(int user_id, int amount)
        {
            using (var db = new MinionWarsEntities())
            {
                List <UserTreasury> utl = db.UserTreasury.Where(x => x.user_id == user_id).ToList();
                foreach (UserTreasury ut in utl)
                {
                    ResourceType rt = db.ResourceType.Find(ut.res_id);
                    if (rt.category.Equals("food"))
                    {
                        if (ut.amount < amount * 20)
                        {
                            return(false);
                        }
                        else
                        {
                            ut.amount -= amount * 20;
                            db.UserTreasury.Attach(ut);
                            db.Entry(ut).State = System.Data.Entity.EntityState.Modified;
                        }
                    }
                }

                db.SaveChanges();

                return(true);
            }
        }
Exemplo n.º 14
0
        private static void CalculateStatsByType(Minion m)
        {
            using (var db = new MinionWarsEntities())
            {
                int strMod = 0;
                int dexMod = 0;
                int vitMod = 0;

                int powMod = 0;
                int cdMod  = 0;
                int durMod = 0;

                //get from db
                MinionType mtype = db.MinionType.Find(m.mtype_id);
                strMod += mtype.str_modifier;
                dexMod += mtype.dex_modifier;
                vitMod += mtype.vit_modifier;

                powMod += mtype.pow_modifier;
                cdMod  += mtype.cd_modifier;
                durMod += mtype.dur_modifier;

                m.strength  += strMod;
                m.dexterity += dexMod;
                m.vitality  += vitMod;

                m.power    += powMod;
                m.cooldown += cdMod;
                m.duration += durMod;
            }
        }
Exemplo n.º 15
0
        public static bool ApplyCampCost(int user_id)
        {
            using (var db = new MinionWarsEntities())
            {
                List <CostObject>   col = GetCampCosts();
                List <UserTreasury> utl = db.UserTreasury.Where(x => x.user_id == user_id).ToList();
                foreach (CostObject co in col)
                {
                    UserTreasury ut = utl.Where(x => x.res_id == co.cost.r_id).First();
                    if (co.cost.amount.Value > ut.amount)
                    {
                        return(false);
                    }
                    else
                    {
                        ut.amount -= co.cost.amount.Value;
                        db.UserTreasury.Attach(ut);
                        db.Entry(ut).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                db.SaveChanges();

                return(true);
            }
        }
Exemplo n.º 16
0
        public static bool ApplyBuildingCosts(int b_id, int user_id)
        {
            using (var db = new MinionWarsEntities())
            {
                List <CostsBuilding> cbl = db.CostsBuilding.Where(x => x.b_id == b_id).ToList();
                List <UserTreasury>  utl = db.UserTreasury.Where(x => x.user_id == user_id).ToList();
                foreach (CostsBuilding cb in cbl)
                {
                    UserTreasury ut = utl.Where(x => x.res_id == cb.r_id).First();
                    if (cb.amount.Value > ut.amount)
                    {
                        return(false);
                    }
                    else
                    {
                        ut.amount -= cb.amount.Value;
                        db.UserTreasury.Attach(ut);
                        db.Entry(ut).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                db.SaveChanges();

                return(true);
            }
        }
Exemplo n.º 17
0
        public static bool AddToTradingPost(int mo_id, int amount, int camp_id)
        {
            using (var db = new MinionWarsEntities())
            {
                MinionOwnership mo = db.MinionOwnership.Find(mo_id);
                if (mo.available < amount)
                {
                    return(false);
                }
                else
                {
                    Trading trade = new Trading();
                    trade.camp_id   = camp_id;
                    trade.owner_id  = mo.owner_id;
                    trade.amount    = amount;
                    trade.minion_id = mo.minion_id;

                    mo.group_count -= amount;
                    mo.available   -= amount;

                    db.Trading.Add(trade);
                    db.MinionOwnership.Attach(mo);
                    db.Entry(mo).State = System.Data.Entity.EntityState.Modified;

                    db.SaveChanges();
                }
            }

            return(true);
        }
Exemplo n.º 18
0
        public static Users LoginUser(string username, string password)
        {
            string hash = CreateMD5(password);

            using (var db = new MinionWarsEntities())
            {
                List <Users> user = db.Users.Where(x => x.username.Equals(username)).ToList();
                if (user.Count == 1)
                {
                    if (user.First().pass.Equals(hash))
                    {
                        user.First().online = 1;
                        db.Users.Attach(user.First());
                        db.Entry(user.First()).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        return(user.First());
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
        }
Exemplo n.º 19
0
 public static Users GetUserData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         return(db.Users.Find(id));
     }
 }
Exemplo n.º 20
0
        public static bool BuildMinions(int ob_id, int user_id, int amount)
        {
            using (var db = new MinionWarsEntities())
            {
                OffensiveBuilding ob = db.OffensiveBuilding.Find(ob_id);

                List <MinionOwnership> mol = db.MinionOwnership.Where(x => x.owner_id == user_id && x.minion_id == ob.minion_id).ToList();
                if (mol.Count > 0)
                {
                    bool check = CostManager.ApplyMinionCosts(user_id, amount);
                    if (check)
                    {
                        MinionOwnership mo = mol.First();
                        mo.group_count += amount;
                        mo.available   += amount;
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Exemplo n.º 21
0
        //ability calculations
        private static Ability GetAttackStats(Ability a, GroupCombatStats gcs, int attackDesignation)
        {
            using (var db = new MinionWarsEntities())
            {
                AbilityStats ast = db.AbilityStats.Find(attackDesignation);
                a.name              = ast.name;
                a.power             = ast.power;
                a.cooldown          = 0; // ast.cooldown;
                a.remainingCooldown = 0; // ast.cooldown;

                int powerModifier = 0;

                if (attackDesignation == 1)
                {
                    powerModifier = gcs.strength;
                }
                else
                {
                    powerModifier = gcs.dexterity;
                }

                a.power += powerModifier;

                return(a);
            }
        }
Exemplo n.º 22
0
        //static MinionWarsEntities db = new MinionWarsEntities();

        public static Orders GiveNewOrders(Battlegroup bg, string orders, DbGeography destination)
        {
            Orders o = new Orders();

            o.name      = orders;
            o.desc_text = "test";
            //o.lastMovement = DateTime.Now;

            if (destination != null)
            {
                o.location = destination;
            }
            else
            {
                o.location   = GiveRandomDestination(bg, 250);
                o.directions = Geolocations.Geolocations.GetNewDirections(bg.location, o);
            }

            using (var db = new MinionWarsEntities())
            {
                db.Orders.Add(o);
                db.SaveChanges();
            }

            //ContinueOrders(bg, o);

            return(o);
        }
Exemplo n.º 23
0
        public static List <Camp> GetUserCamps(int id)
        {
            using (var db = new MinionWarsEntities())
            {
                db.Configuration.LazyLoadingEnabled = false;
                List <Camp> list = db.Camp.Where(x => x.owner_id == id).ToList();
                foreach (Camp c in list)
                {
                    c.ResourceBuilding  = db.ResourceBuilding.Where(x => x.camp_id == c.id).ToList();
                    c.OffensiveBuilding = db.OffensiveBuilding.Where(x => x.camp_id == c.id).ToList();
                    foreach (OffensiveBuilding ob in c.OffensiveBuilding)
                    {
                        if (ob.minion_id != null)
                        {
                            ob.Minion            = db.Minion.Find(ob.minion_id);
                            ob.Minion.MinionType = db.MinionType.Find(ob.Minion.mtype_id);
                        }
                        else
                        {
                            ob.Minion = null;
                        }
                    }

                    c.DefensiveBuilding = db.DefensiveBuilding.Where(x => x.camp_id == c.id).ToList();
                    c.UtilityBuilding   = db.UtilityBuilding.Where(x => x.camp_id == c.id).ToList();
                }
                return(list);
            }
        }
Exemplo n.º 24
0
 public static MinionType GetTypeData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.MinionType.Find(id));
     }
 }
Exemplo n.º 25
0
 public static List <BattlegroupAssignment> GetAssignmentData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.BattlegroupAssignment.Where(x => x.battlegroup_id == id).ToList());
     }
 }
Exemplo n.º 26
0
 public static Camp GetCampInfo(int camp_id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.Camp.Find(camp_id));
     }
 }
Exemplo n.º 27
0
 public static List <Caravan> GetAllActiveGroups()
 {
     using (var db = new MinionWarsEntities())
     {
         List <Caravan> carl = db.Caravan.Where(x => x.location != null).ToList();
         return(carl);
     }
 }
Exemplo n.º 28
0
 public static List <Battlegroup> GetRemoteBattlegroups(int id, int personal_id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.Battlegroup.Where(x => x.owner_id == id && x.type != 1).ToList());
     }
 }
Exemplo n.º 29
0
 public static AbilityStats GetAbilityData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.AbilityStats.Find(id));
     }
 }
Exemplo n.º 30
0
 public static Battlegroup GetBattlegroupData(int id)
 {
     using (var db = new MinionWarsEntities())
     {
         db.Configuration.LazyLoadingEnabled = false;
         return(db.Battlegroup.Find(id));
     }
 }