public bool Create(Structures.CreateGuildInfo info, bool save) { //if (_data != null) return false; _members = new List <MemberInfo>(); _allies = new uint[5]; _enemies = new uint[5]; _data = save ? new DbGuild { Id = 0 } : ServerDatabase.Context.Guilds.GetById(info.GuildId); _data.Id = info.GuildId; _data.Name = info.Name; _data.Announce = string.Empty; _data.LeaderId = info.LeaderId; _data.LeaderName = info.LeaderName; _data.Money = info.Money; _data.Amount = 0; //info.DeleteFlag ? 0 : 1; if (save) { ServerDatabase.Context.Guilds.AddOrUpdate(_data); return(true); } return(true); }
/// <summary> /// Creates a new guild with an empty database model. /// </summary> public Guild() : base() { DbGuild = new DbGuild(); // Sets controller Guild = this; }
public static GuildIdentity FromDb(DbAccount acc, DbGuild guild) { return(new GuildIdentity() { _id = guild.Id, _name = guild.Name, _rank = acc.GuildRank }); }
/// <summary> /// Creates a new guild. /// </summary> /// <param name="dbGuild">The database model association with the guild.</param> public Guild(DbGuild dbGuild) : base() { DbGuild = dbGuild; // Sets controller Guild = this; if (DbGuild.HasHouse) { CreateHouse(); } }
public GuildUnit(DbGuild guild) { Id = guild.Id; Name = guild.Name; MasterName = guild.Master.Name; Rank = guild.Rank; Points = guild.Points; #if EP8_V2 || SHAIYA_US Message = Encoding.Unicode.GetBytes(guild.Message); #else Message = Encoding.UTF8.GetBytes(guild.Message); #endif }
public async Task UpdateDbGuild(DbGuild guild) { var con = (MySqlConnection)_baseConnection.Clone(); await con.OpenAsync(); var cmd = con.CreateCommand(); cmd.CommandText = "UPDATE Guilds SET prefix=@Prefix, premium=@Premium WHERE guildId=@Id;"; cmd.Parameters.AddWithValue("Id", guild.GuildId); cmd.Parameters.AddWithValue("Prefix", guild.Prefix); cmd.Parameters.AddWithValue("Premium", guild.Premium); await cmd.ExecuteNonQueryAsync(); DbGuild.GuildCache.AddToCache(guild); }
private async Task <DbGuild> CreateGuild(string name, string message, Character master) { var guild = new DbGuild(name, message, master.Id, master.Country); _database.Guilds.Add(guild); var result = await _database.SaveChangesAsync(); if (result > 0) { return(guild); } else { return(null); } }
public static Guild FromDb(Database db, DbGuild guild) { var members = (from member in guild.Members select db.GetAccount(member) into acc where acc != null orderby acc.GuildRank descending, acc.GuildFame descending, acc.Name ascending select GuildMember.FromDb(acc)).ToList(); return(new Guild() { _id = guild.Id, _name = guild.Name, _currentFame = guild.Fame, _totalFame = guild.TotalFame, _hallType = "Guild Hall " + guild.Level, _members = members }); }
public bool Create(DbGuild res) { if (_data != null) { return(false); } _data = res; if (_data.DeleteFlag) { return(false); } _members = new List <MemberInfo>(); foreach (var info in ServerDatabase.Context.Guilds.GetMemberInfo((int)Id)) { if (info.Rank == GuildRank.DeputyLeader) { DeputyLeaders++; } _members.Add(new MemberInfo(info)); } _allies = new uint[5]; _enemies = new uint[5]; _allies[0] = Ally0; _allies[1] = Ally1; _allies[2] = Ally2; _allies[3] = Ally3; _allies[4] = Ally4; _enemies[0] = Enemy0; _enemies[1] = Enemy1; _enemies[2] = Enemy2; _enemies[3] = Enemy3; _enemies[4] = Enemy4; return(true); }
/// <summary> /// Creates a new <see cref="Structures.Guild"/> from the <paramref name="info"/> provided. /// </summary> /// <returns>The id of the new guild</returns> public static uint CreateGuild(Structures.CreateGuildInfo info) { var dbGuild = new DbGuild { Name = info.Name, Announce = string.Empty, LeaderId = info.LeaderId, LeaderName = info.LeaderName, Money = info.Money }; try { ServerDatabase.Context.Guilds.Add(dbGuild); } catch (Exception) { return(0); } info.GuildId = dbGuild.Id; if (GetGuild(info.GuildId) != null) { return(info.GuildId); } var guild = new Structures.Guild(); if (guild.Create(info, true)) { _guilds.Add(guild.Id, guild); var leader = PlayerManager.GetUser(info.LeaderId); if (leader != null) { leader.GuildAttribute.Rank = GuildRank.GuildLeader; } } return(dbGuild.Id); }
public Player(Client client) : base(client.Character.ObjectType, client.Random) { try { if (client.Account.Admin == true) { Admin = 1; } Achievements = new List <string>(); ActualTask = null; MonsterCaches = new List <MonsterCache>(); Task = null; AccountType = client.Account.AccountType; AccountPerks = new AccountTypePerks(AccountType); AccountLifetime = client.Account.AccountLifetime; IsVip = AccountLifetime != DateTime.MinValue; Client = client; StatsManager = new StatsManager(this, client.Random.CurrentSeed); Name = client.Account.Name; AccountId = client.Account.AccountId; FameCounter = new FameCounter(this); Tokens = client.Account.FortuneTokens; HpPotionPrice = 5; MpPotionPrice = 5; Level = client.Character.Level == 0 ? 1 : client.Character.Level; Experience = client.Character.Experience; ExperienceGoal = GetExpGoal(Level); Stars = AccountType >= (int)Core.config.AccountType.LEGENDS_OF_LOE_ACCOUNT ? 70 : GetStars(); Texture1 = client.Character.Tex1; Texture2 = client.Character.Tex2; Credits = client.Account.Credits; NameChosen = client.Account.NameChosen; CurrentFame = client.Account.Fame; Fame = client.Character.Fame; PetHealing = null; PetAttack = null; if (client.Character.Pet != 0) { PetHealing = new List <List <int> >(); PetAttack = new List <int>(); PetID = client.Character.Pet; Tuple <int, int, double> HPData = PetHPHealing.MinMaxBonus(Resolve((ushort)PetID).ObjectDesc.HPTier, Stars); Tuple <int, int, double> MPData = PetMPHealing.MinMaxBonus(Resolve((ushort)PetID).ObjectDesc.MPTier, Stars); PetHealing.Add(new List <int> { HPData.Item1, HPData.Item2, (int)((HPData.Item3 - 1) * 100) }); PetHealing.Add(new List <int> { MPData.Item1, MPData.Item2, (int)((MPData.Item3 - 1) * 100) }); PetAttack.Add(7750 - Stars * 100); PetAttack.Add(30 + Stars); PetAttack.Add(Resolve((ushort)PetID).ObjectDesc.Projectiles[0].MinDamage); PetAttack.Add(Resolve((ushort)PetID).ObjectDesc.Projectiles[0].MaxDamage); } LootDropBoostTimeLeft = client.Character.LootDropTimer; lootDropBoostFreeTimer = LootDropBoost; LootTierBoostTimeLeft = client.Character.LootTierTimer; lootTierBoostFreeTimer = LootTierBoost; FameGoal = (AccountType >= (int)Core.config.AccountType.LEGENDS_OF_LOE_ACCOUNT) ? 0 : GetFameGoal(FameCounter.ClassStats[ObjectType].BestFame); Glowing = false; DbGuild guild = GameServer.Manager.Database.GetGuild(client.Account.GuildId); if (guild != null) { Guild = GameServer.Manager.Database.GetGuild(client.Account.GuildId).Name; GuildRank = client.Account.GuildRank; } else { Guild = ""; GuildRank = -1; } HP = client.Character.HP <= 0 ? (int)ObjectDesc.MaxHP : client.Character.HP; MP = client.Character.MP; ConditionEffects = 0; OxygenBar = 100; HasBackpack = client.Character.HasBackpack == true; PlayerSkin = Client.Account.OwnedSkins.Contains(Client.Character.Skin) ? Client.Character.Skin : 0; HealthPotions = client.Character.HealthPotions < 0 ? 0 : client.Character.HealthPotions; MagicPotions = client.Character.MagicPotions < 0 ? 0 : client.Character.MagicPotions; try { Locked = client.Account.Database.GetLockeds(client.Account); Ignored = client.Account.Database.GetIgnoreds(client.Account); Muted = client.Account.Muted; } catch (Exception) { } if (HasBackpack) { Item[] inv = client.Character.Items.Select( _ => _ == -1 ? null : (GameServer.Manager.GameData.Items.ContainsKey((ushort)_) ? GameServer.Manager.GameData.Items[(ushort)_] : null)) .ToArray(); Item[] backpack = client.Character.Backpack.Select( _ => _ == -1 ? null : (GameServer.Manager.GameData.Items.ContainsKey((ushort)_) ? GameServer.Manager.GameData.Items[(ushort)_] : null)) .ToArray(); Inventory = inv.Concat(backpack).ToArray(); XElement xElement = GameServer.Manager.GameData.ObjectTypeToElement[ObjectType].Element("SlotTypes"); if (xElement != null) { int[] slotTypes = Utils.FromCommaSepString32( xElement.Value); Array.Resize(ref slotTypes, 20); SlotTypes = slotTypes; } } else { Inventory = client.Character.Items.Select( _ => _ == -1 ? null : (GameServer.Manager.GameData.Items.ContainsKey((ushort)_) ? GameServer.Manager.GameData.Items[(ushort)_] : null)) .ToArray(); XElement xElement = GameServer.Manager.GameData.ObjectTypeToElement[ObjectType].Element("SlotTypes"); if (xElement != null) { SlotTypes = Utils.FromCommaSepString32( xElement.Value); } } Stats = (int[])client.Character.Stats.Clone(); for (var i = 0; i < SlotTypes.Length; i++) { if (SlotTypes[i] == 0) { SlotTypes[i] = 10; } } if (Client.Account.AccountType >= (int)Core.config.AccountType.TUTOR_ACCOUNT) { return; } for (var i = 0; i < 4; i++) { if (Inventory[i]?.SlotType != SlotTypes[i]) { Inventory[i] = null; } } } catch (Exception) { } }
public async Task CreateDbGuild(DbGuild guild) { }
public void SendGuildListAdd(DbGuild guild) => _packetsHelper.SendGuildListAdd(Client, guild);
public void SendGuildJoinResult(bool ok, DbGuild guild) => _packetsHelper.SendGuildJoinResult(Client, ok, guild);