public static PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks GetFemale(PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks rank)
        {
            switch (rank)
            {
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Knight:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Lady;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Lady:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Baroness:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Countess:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Dutchess:
                    return rank;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Baron:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Baroness;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Earl:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Countess;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Duke:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Dutchess;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Prince:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Princess;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.King:
                    return PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Queen;
            }
            return rank;
        }
 public Node(Node parentNode, Node goalNode, int gCost, ushort x, ushort y, PhoenixProject.Game.Map Map)
 {
     this.Map = Map;
     this.parentNode = parentNode;
     this._goalNode = goalNode;
     this.gCost = gCost;
     this.x=x;
     this.y=y;
     InitNode();
 }
 public FlowerPacket(PhoenixProject.Game.Features.Flowers.Flowers ClientFlowers)
 {
     Buffer = new byte[68];
     Writer.WriteUInt16(60, 0, Buffer);
     Writer.WriteUInt16(1150, 2, Buffer);
     Writer.WriteUInt32(2, 4, Buffer);
     Writer.WriteUInt32(ClientFlowers.RedRoses, 16, Buffer);
     Writer.WriteUInt32(ClientFlowers.RedRoses2day, 20, Buffer);
     Writer.WriteUInt32(ClientFlowers.Lilies, 24, Buffer);
     Writer.WriteUInt32(ClientFlowers.Lilies2day, 28, Buffer);
     Writer.WriteUInt32(ClientFlowers.Orchads, 32, Buffer);
     Writer.WriteUInt32(ClientFlowers.Orchads2day, 36, Buffer);
     Writer.WriteUInt32(ClientFlowers.Tulips, 40, Buffer);
 }
        public static void LoadArsenal(PhoenixProject.Game.ConquerStructures.Society.Guild Syn)
        {
            Syn.Arsenal = new Arsenal((ushort)Syn.ID);
            MySqlCommand Command = new MySqlCommand(MySqlCommandType.SELECT);
            Command.Select("pt_arsenal").Where("syn_id", Syn.ID).Execute();
            MySqlReader Reader = new MySqlReader(Command);
            while (Reader.Read())
            {
                PhoenixProject.Game.Features.Arsenal_State Arsenal = new PhoenixProject.Game.Features.Arsenal_State();
                Arsenal.ID = (PhoenixProject.Game.Features.Arsenal_ID)Reader.ReadByte("arsenal_id");
                Arsenal.Unlocked = (Reader.ReadByte("arsenal_unlocked") == 1);
                Arsenal.Donation = Reader.ReadUInt32("arsenal_donation");

                if (!Syn.Arsenal.Arsenals.ContainsKey(Arsenal.ID))
                    Syn.Arsenal.Arsenals.Add(Arsenal.ID, Arsenal);
            }
            if (Syn.Arsenal.Arsenals.Count > 0)
            {
                Command = new MySqlCommand(MySqlCommandType.SELECT);
                Command.Select("pt_arsenal_inscribed").Where("syn_id", Syn.ID).Execute();
                Reader = new MySqlReader(Command);
                while (Reader.Read())
                {
                    uint OWNER = Reader.ReadUInt32("uid");
                    string Name = Reader.ReadString("name");
                    uint UID = Reader.ReadUInt32("iten_id");
                    PhoenixProject.Game.Features.Arsenal_ID ID = (PhoenixProject.Game.Features.Arsenal_ID)Reader.ReadByte("iten_atype");
                    if (Syn.Arsenal.Arsenals.ContainsKey(ID))
                    {
                        if (!Syn.Arsenal.Arsenals[ID].Inscribed.ContainsKey(UID))
                        {
                            Syn.Arsenal.Arsenals[ID].Inscribed.Add(UID, new PhoenixProject.Game.Features.Arsenal_Client() { UID = OWNER, Name = Name, iUID = UID });
                        }
                    }
                }
            }
            foreach (PhoenixProject.Game.Features.Arsenal_State astate in Syn.Arsenal.Arsenals.Values)
            {
                foreach (PhoenixProject.Game.Features.Arsenal_Client ac in astate.Inscribed.Values)
                {
                    if (ac.Item == null)
                    {
                        ac.Item = ConquerItemTable.LoadItem(ac.iUID);
                    }
                }
            }
            Reader.Close();
        }
        public static SpawnTable Create(PhoenixProject.Generated.Interfaces.Table table)
        {
            var packet = new SpawnTable();
            packet.Id = table.UID;
            packet.PositionX = table.X;
            packet.PositionY = table.Y;
            packet.Lookface = table.Mesh;
            packet.CurrencyType = table.CurrencyType;
            packet.BetType = table.BetType;
            packet.BetMinimum = table.MinimumBet;
            packet.State = table.State;
            packet.PotAmount = table.CurrentPot;
            packet.TableIndex = (uint)(table.ID - 1);
            packet.PlayerAmount = (byte)(table.Users.Count);

            return packet;
        }
        public static ulong GetMinimumDonation(PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks Rank)
        {
            switch (Rank)
            {
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Knight:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Lady:
                    return 0x1c9c380L;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Baron:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Baroness:
                    return 0x5f5e100L;

                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Earl:
                case PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Countess:
                    return 0xbebc200L;
            }
            return MinimumDonationFor(Rank);
        }
 public bool TryGetValue(uint UID, out PhoenixProject.Interfaces.IConquerItem Info)
 {
     Info = null;
     lock (inventory)
     {
         if (inventory.ContainsKey(UID))
         { return inventory.TryGetValue(UID, out Info); }
         else
             return false;
     }
 }
 public static void AddMentor(Mentor mentor, PhoenixProject.Game.ConquerStructures.Society.Apprentice appr)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
     cmd.Insert("apprentice").Insert("mentorid", mentor.ID).Insert("apprenticeid", appr.ID)
         .Insert("mentorname", mentor.Name).Insert("apprenticename", appr.Name).Insert("enroledate", appr.EnroleDate).Execute();
 }
 public static void SaveApprenticeInfo(PhoenixProject.Game.ConquerStructures.Society.Apprentice app)
 {
     if (app != null)
     {
         MySqlCommand mysqlcmd = new MySqlCommand(MySqlCommandType.UPDATE);
         mysqlcmd.Update("apprentice")
             .Set("Actual_Experience", app.Actual_Experience.ToString())
             .Set("Total_Experience", app.Total_Experience.ToString())
             .Set("Actual_Plus", app.Actual_Plus.ToString())
             .Set("Total_Plus", app.Total_Plus.ToString())
             .Set("Actual_HeavenBlessing", app.Actual_HeavenBlessing.ToString())
             .Set("Total_HeavenBlessing", app.Total_HeavenBlessing.ToString()).Where("ApprenticeID", app.ID).Execute();
     }
 }
        public static void GetNobilityStats(uint Identifier, ulong Donation, ref sbyte Place, ref PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks Rank)
        {
            sbyte place = 0;
            PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks commoner = PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Commoner;
            for (int c = 0; c < 50; c++)
            {

                if (BoardList[c].EntityUID == Identifier)
                {
                    break;
                }
                if (place < 50)
                {
                    place = (sbyte)(place + 1);
                }
            }

            Place = (place < 50) ? place : ((sbyte)(-1));
            if (Donation == 0L)
            {
                Place = -1;
            }
            commoner = GetRanking(Donation, place);
            Rank = commoner;
        }
 public static void DeletVotes(PhoenixProject.Game.ConquerStructures.PlayersVot PlayerVot)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.DELETE).Delete("VoteIp", "ID", PlayerVot.Uid).And("IP", PlayerVot.AdressIp);
     cmd.Execute();
 }
        public static ulong MinimumDonationFor(PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks Rank)
        {
            ulong num = 0L;
            for (int c = 0; c < BoardList.Count; c++)
            {

                sbyte place = 0;
                PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks commoner = PhoenixProject.Network.GamePackets.nobility.NobilityIcon.NobilityRanks.Commoner;
                uint identifier = BoardList[c].EntityUID;
                ulong donation = BoardList[c].Donation;
                GetNobilityStats(identifier, donation, ref place, ref commoner);
                if ((commoner == Rank) && ((donation < num) || (num == 0L)))
                {
                    num = donation;
                }

            }
            return (num + ((ulong)1L));
        }
        public static void GetStats(byte inClass, byte inLevel, PhoenixProject.Client.GameState client)
        {
            string Class = "";
            inClass = (byte)((inClass / 10) * 10);
            switch (inClass)
            {
                case 10: Class = "Trojan"; break;
                case 20: Class = "Warrior"; break;
                case 40: Class = "Archer"; break;
                case 50: Class = "Ninja"; break;
                case 60: Class = "Monk"; break;
                case 70: Class = "Pirate"; break;
                default: Class = "Taoist"; break;
            }
            inLevel = Math.Max((byte)10, inLevel);
            inLevel = Math.Min((byte)120, inLevel);
            string[] Data = null;
            if (Class == "Trojan")
                Data = TrojanStats[inLevel].Split(',');
            else if (Class == "Warrior")
                Data = WarriorStats[inLevel].Split(',');
            else if (Class == "Archer")
                Data = ArcherStats[inLevel].Split(',');
            else if (Class == "Ninja")
                Data = NinjaStats[inLevel].Split(',');
            else if (Class == "Taoist")
                Data = TaoistStats[inLevel].Split(',');
            else if (Class == "Monk")
                Data = MonkStats[inLevel].Split(',');
            else if (Class == "Pirate")
                Data = MonkStats[inLevel].Split(',');

            client.Entity.Strength = Convert.ToUInt16(Data[0]);
            client.Entity.Vitality = Convert.ToUInt16(Data[1]);
            client.Entity.Agility = Convert.ToUInt16(Data[2]);
            client.Entity.Spirit = Convert.ToUInt16(Data[3]);
        }
 public static void SavePlayersVot(PhoenixProject.Game.ConquerStructures.PlayersVot PlayerVot)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
     cmd.Insert("VoteIp").Insert("ID", PlayerVot.Uid).Insert("IP", PlayerVot.AdressIp).Execute();
 }
 void Add(PhoenixProject.Game.Enums.SkillIDs S)
 {
     Interfaces.ISkill New = new Network.GamePackets.Spell(true);
     New.ID = (ushort)S;
     New.Level = 0;
     New.Experience = 0;
     New.PreviousLevel = 0;
     New.Send(_client);
     Addskill.Add(New.ID, New);
 }
        void WontAdd(PhoenixProject.Game.Enums.SkillIDs S)
        {
            Network.GamePackets.Data data = new Data(true);
            data.UID = _client.Entity.UID;
            data.dwParam = (byte)S;
            data.ID = 109;
            data.Send(_client);

            Interfaces.ISkill New = new Network.GamePackets.Spell(true);
            New.ID = (ushort)S;
            New.Level = 0;
            New.Experience = 0;
            New.PreviousLevel = 0;
            RemoveSkill.Add(New.ID, New);
        }
        public static List<Coordonates> FindWay(ushort myX, ushort myY, ushort toX, ushort toY, PhoenixProject.Game.Map map)
        {
            List<Coordonates> SolutionPathList = new List<Coordonates>();

            Node node_goal = new Node(null, null, 1, toX, toY, map);

            Node node_start = new Node(null, node_goal, 1, myX, myY, map);

            SortedCostNodeList OPEN = new SortedCostNodeList();
            SortedCostNodeList CLOSED = new SortedCostNodeList();

            OPEN.push(node_start);
            while (OPEN.Count > 0)
            {
                //if (count == 2000)
                //   break;
                Node node_current = OPEN.pop();

                if (node_current.isMatch(node_goal))
                {
                    node_goal.parentNode = node_current.parentNode;
                    break;
                }

                ArrayList successors = node_current.GetSuccessors();

                foreach (Node node_successor in successors)
                {
                    int oFound = OPEN.IndexOf(node_successor);

                    if (oFound > 0)
                    {
                        Node existing_node = OPEN.NodeAt(oFound);
                        if (existing_node.CompareTo(node_current) <= 0)
                            continue;
                    }

                    int cFound = CLOSED.IndexOf(node_successor);

                    if (cFound > 0)
                    {
                        Node existing_node = CLOSED.NodeAt(cFound);
                        if (existing_node.CompareTo(node_current) <= 0)
                            continue;
                    }

                    if (oFound != -1)
                        OPEN.RemoveAt(oFound);
                    if (cFound != -1)
                        CLOSED.RemoveAt(cFound);

                    OPEN.push(node_successor);

                }
                CLOSED.push(node_current);
            }

            Node p = node_goal;
            while (p != null)
            {
                SolutionPathList.Add(new Coordonates() { X = p.x, Y = p.y });
                p = p.parentNode;
            }

            return SolutionPathList;
        }