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); } }
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); } } }
private static double GetModifierCoeficients(int id) { using (var db = new MinionWarsEntities()) { return(db.ModifierCoeficients.Find(id).value); } }
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); } } }
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); } }
public static List <MinionOwnership> GetOwnershipData(int id) { using (var db = new MinionWarsEntities()) { return(db.MinionOwnership.Where(x => x.owner_id == id).ToList()); } }
public static List <Buildings> GetAllBuildings() { using (var db = new MinionWarsEntities()) { return(db.Buildings.ToList()); } }
public static Battlegroup GetPersonalBattlegroup(int id) { using (var db = new MinionWarsEntities()) { return(db.Battlegroup.Find(id)); } }
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(); } } }
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(); } }
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(); } } }
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); } }
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); } }
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; } }
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); } }
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); } }
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); }
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); } } }
public static Users GetUserData(int id) { using (var db = new MinionWarsEntities()) { return(db.Users.Find(id)); } }
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); }
//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); } }
//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); }
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); } }
public static MinionType GetTypeData(int id) { using (var db = new MinionWarsEntities()) { db.Configuration.LazyLoadingEnabled = false; return(db.MinionType.Find(id)); } }
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()); } }
public static Camp GetCampInfo(int camp_id) { using (var db = new MinionWarsEntities()) { db.Configuration.LazyLoadingEnabled = false; return(db.Camp.Find(camp_id)); } }
public static List <Caravan> GetAllActiveGroups() { using (var db = new MinionWarsEntities()) { List <Caravan> carl = db.Caravan.Where(x => x.location != null).ToList(); return(carl); } }
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()); } }
public static AbilityStats GetAbilityData(int id) { using (var db = new MinionWarsEntities()) { db.Configuration.LazyLoadingEnabled = false; return(db.AbilityStats.Find(id)); } }
public static Battlegroup GetBattlegroupData(int id) { using (var db = new MinionWarsEntities()) { db.Configuration.LazyLoadingEnabled = false; return(db.Battlegroup.Find(id)); } }