Beispiel #1
0
 public static Character Player_Login(string userId, string userPass)
 {
     int user_Index = database.do_Login(userId, userPass);
     if (user_Index != -1)
     {
         _player = database.do_LoadCharacter(user_Index);
         return _player;
     }
     return null;
 }
Beispiel #2
0
        public void Start_Combat(Monster _mob, Character _char, Weapon _weap, RichTextBox myLabel)
        {
            this.mob = _mob;
            this.player = _char;
            this.Weapon_Min_Damage = _weap.Min_Damage;
            this.Weapon_Max_Damage = _weap.Max_Damage;
            rtBox = myLabel;

            //Player Attack Mob
            int tempIncDmg = 0;
            tempIncDmg = Damage_Dealt();
            mob.CurrentHP -= tempIncDmg;

            DamageOutPut("Damage Dealt : " + tempIncDmg.ToString() + "\r\n", 0);

            if (mob.CurrentHP > 0 && _roundNumber != MAX_ROUND)
            {
                _roundNumber++;
            }
            else if (mob.CurrentHP <= 0)
            {
                DamageOutPut("You killed : " + mob.Name + " in " + _roundNumber.ToString() + " round(s)" + "\r\n", 4);
                WinLose = true;
                InCombat = false;
                _roundNumber = 0;
                return;
            }

            //Mob Attack player
            int tempOutDmg = 0;
            tempOutDmg = Damage_Taken();
            player.Player_Current_Health -= tempOutDmg;

            DamageOutPut("Damage Taken : " + tempOutDmg.ToString() + "\r\n", 1);

            if (player.Player_Current_Health > 0 && _roundNumber != MAX_ROUND)
            {
                _roundNumber++;
            }
            else if (player.Player_Current_Health <= 0)
            {
                DamageOutPut("You were killed by " + mob.Name + "\r\n", 5);
                WinLose = false;
                InCombat = false;
                _roundNumber = 0;
                return;
            }
            DamageOutPut("Round : " + _roundNumber.ToString() + "\r\n", 2);
        }
Beispiel #3
0
 public void doMyLogin()
 {
     try
     {
         _player = World.Player_Login(unameBox.Text, pwordBox.Text);
         if (_player != null && _player.Character_Name != "NOCHAR")
         {
             tabControl1.TabPages.Insert(1, mainUIPage);
             Moveto(World.LocationByID(World.LOCATION_INDEX_HOME));
             tabControl1.TabPages.Remove(logintabPage);
             tabControl1.SelectedTab = mainUIPage;
         }
     #if DEVELOPMENT
         else if (_player.Character_Name == "NOCHAR")
         {
             tabControl1.TabPages.Insert(1, selcrePage);
             tabControl1.TabPages.Remove(logintabPage);
             tabControl1.SelectedTab = selcrePage;
         }
     #endif
         else if (_player == null)
         {
             MessageBox.Show("SMain : Could not find Character!");
             logging.Logging("SMain : Could not find character!");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("SMain : " + ex.ToString());
         logging.Logging(String.Format("SMain {0}", ex));
     }
 }
Beispiel #4
0
 public void RemoveItemFromInventory(Character player, Item itemstoRemove, int howMany)
 {
     foreach(Inventory ii in player.Inventory)
     {
         //check if player has item in inventory
         if (ii.Details.Index == itemstoRemove.Index)
         {
             //check if quantity more or equal to how many to remove
             if (ii.Quantity > howMany)
             {
                 //remove howmany from item quantity
                 ii.Quantity = ii.Quantity - howMany;
                 return;
             }
             else if (ii.Quantity == howMany)
             {
                 player.Inventory.Remove(ii);
             }
         }
     }
 }
Beispiel #5
0
 public void RemoveItemFromInventory(Character player, Item itemtoRemove)
 {
     foreach(Inventory ii in player.Inventory)
     {
         if (ii.Details.Index == itemtoRemove.Index)
         {
             //if 1 or more
             if (ii.Quantity > 0)
             {
                 ii.Quantity--;
                 if (ii.Quantity == 0)
                     player.Inventory.Remove(ii);
                 return;
             }
             else
             {
                 player.Inventory.Remove(ii);
             }
         }
     }
 }
Beispiel #6
0
        public void AddItemToInventory(Character player, Item itemstoAdd, int howMany)
        {
            bool foundItem = false;

            foreach (Inventory ii in player.Inventory)
            {
                if (ii.Details.Index == itemstoAdd.Index)
                {
                    foundItem = true;
                    ii.Quantity = ii.Quantity + howMany;
                }
                // If not currently in inventory add it.
            }
            int itemCount = Inventory.Count;
            if (!foundItem)
                player.Inventory.Add(new Inventory(itemstoAdd, howMany, itemCount + 1));
        }
Beispiel #7
0
        public Character do_Load_Inventory(Character player, int charIdx)
        {
            /*
                        TODO:
                        Get default item values.
                        Compare default item values with values from dev_char_inventory.
                        If there's a difference, change the item values according to the values set in dev_char_inventory.
                        Add the modified item to players inventory.
            */
            player.Inventory = new List<Inventory>();
            string sql = "SELECT * FROM dev_char_inventory WHERE a_char_idx=" + charIdx + ";";
            logging.Logging(String.Format("DBManager : Loading Player {0} Inventory items", _Player.Character_Name));
            if (charIdx > 0)
            {
                command = new MySqlCommand(sql, connection);
                reader = command.ExecuteReader();
                if (reader != null)
                {
                    while (reader.Read())
                    {
                        Char_Index = Convert.ToInt32(reader["a_char_idx"]);
                        Item_Index = Convert.ToInt32(reader["a_item_idx"]);
                        Item_Type = Convert.ToInt32(reader["a_item_type"]);
                        Item_Quantity = Convert.ToInt32(reader["a_quantity"]);
                        Item_Upgrade_Type = Convert.ToInt32(reader["a_upgradeType"]);
                        Item_Name = reader["a_name"].ToString();
                        Item_Name_Plurel = reader["a_name_long"].ToString();
                        Item_Plus = Convert.ToInt32(reader["a_plus"]);
                        Item_Star = Convert.ToInt32(reader["a_star"]);
                        Item_Grade = reader["a_grade"].ToString();
                        CanUpgrade = Convert.ToBoolean(reader["a_canUpgrade"]);
                        if (item_Type == 1)
                        {
                            Item_Min_Damage = Convert.ToInt32(reader["a_minDmg"]);
                            Item_Max_Damage = Convert.ToInt32(reader["a_maxDmg"]);
                            Weapon weapon = new Weapon(Item_Index,Item_Name,Item_Name_Plurel,Item_Upgrade_Type,Item_Type,Item_Plus,
                                Item_Star,Item_Grade,Item_Min_Damage,Item_Max_Damage, CanUpgrade);
                            player.AddItemToInventory(player, weapon);
                        }
                        else if (Item_Type == 9)
                        {
                            Amount_To_Heal = Convert.ToInt32(reader["a_amountHeal"]);
                            Potions potion = new Potions(Item_Index, Item_Name, Item_Name_Plurel, Item_Upgrade_Type,
                                Item_Type, Item_Plus, Item_Star, Item_Grade, Amount_To_Heal);
                            player.AddItemToInventory(player, potion);
                        }
                        //Standard Item
                        else if (Item_Type < 0)
                        {
                            logging.Logging(String.Format("DBManager cannot find item type {0}", Item_Type));
                            return null;
                        }

                    }
                    reader.Close();
                    return player;
                }
                return null;
            }
            return null;
        }
Beispiel #8
0
 public Character do_LoadCharacter(int userIdx)
 {
     logging.Logging(String.Format("DBManager : Loading Character for User : {0}", userIdx));
     string sql = "SELECT * FROM dev_character WHERE a_user_idx='" + userIdx + "';";
     if (_Player == null)
     {
         command = new MySqlCommand(sql, connection);
         reader = command.ExecuteReader();
         if (reader != null)
         {
             while (reader.Read())
             {
                 if (userIdx == Convert.ToInt32(reader["a_user_idx"]))
                 {
                     Char_Index = Convert.ToInt32(reader["a_char_idx"]);
                     User_Index = Convert.ToInt32(reader["a_user_idx"]);
                     Player_Name = reader["a_char_name"].ToString();
                     Player_Gold = Convert.ToInt32(reader["a_gold"]);
                     Player_Exp = Convert.ToInt32(reader["a_currentEXP"]);
                     Player_Level = Convert.ToInt32(reader["a_level"]);
                     Player_CurrentHP = Convert.ToInt32(reader["a_currentHP"]);
                     Player_Max_HP = Convert.ToInt32(reader["a_maxHP"]);
                     Player_Str = Convert.ToInt32(reader["a_str"]);
                     Player_Vit = Convert.ToInt32(reader["a_vit"]);
                     Player_Int = Convert.ToInt32(reader["a_int"]);
                     Player_Wis = Convert.ToInt32(reader["a_wis"]);
                     Player_Dex = Convert.ToInt32(reader["a_dex"]);
                     Player_Char = Convert.ToInt32(reader["a_char"]);
                     Character_Slot = Convert.ToInt32(reader["a_char_slot"]);
                     _Player = new Character(User_Index,Player_Name,Char_Index,Player_Gold, player_Exp, Player_Level,
                         Player_CurrentHP, Player_Max_HP, Player_Str, Player_Vit, Player_Int, Player_Wis, Player_Dex, Player_Char, null);
                     _Player.Inventory = null;
                     _Player.Character_Index = Char_Index;
                     _Player.Character_Name = Player_Name;
                     _Player.Gold = Player_Gold;
                     _Player.Level_Level = Player_Level;
                     _Player.Player_Char = Player_Char;
                     _Player.Player_Current_Health = Player_CurrentHP;
                     _Player.Player_Dex = Player_Dex;
                     _Player.Player_Exp = Player_Exp;
                     _Player.Player_Int = Player_Int;
                     _Player.Player_Str = Player_Str;
                     _Player.Player_Vit = Player_Vit;
                     _Player.Player_Wis = Player_Wis;
                     _Player.User_Index = User_Index;
                     if (_Player.Inventory == null)
                     {
                         reader.Close();
                         _Player = do_Load_Inventory(_Player, Char_Index);
                         return _Player;
                     }
                     else
                     {
                         reader.Close();
                         logging.Logging(String.Format("DBManager : Character {0} Loaded for user {0}", Player_Name, userIdx));
                         return _Player;
                     }
                 }
                 else
                 {
                     logging.Logging(String.Format("DBManager : Unable to load character for user {0}", userIdx));
                     reader.Close();
                     return null;
                 }
             }
         }
         logging.Logging(String.Format("DBManager : No characters connected to account"));
         _Player = new Character(-1, "NOCHAR", -1, -1, -1, -1,
                                 -1, -1, -1, -1, -1, -1, -1, -1, null);
         return _Player;
     }
     return null;
 }