private void add_new_character()
        {
            // Race
            var selected_race   = Race.current_race;
            // Class
            var selected_class  = Classe.current_class;
            var selected_multiclass = new multiclass();
            //selected_multiclass.level_class = new List<Tuple<uint, complete_class>>(new Tuple<uint, complete_class>(1, selected_class))

            character new_character = new character()
            {
                account = this.account,
                /*race = selected_race,
                classes = selected_multiclass*/
            };
            /*{
                name            = ,
                avatar          = ,
                account         = this.account,

                race            = selected_race,
                classes         = selected_multiclass,
                stats           = ,
                gifts           = ,
                skills          = ,

                languages       = ,
                aptitudes       = ,
                inventory       = ,
                effects         = ,
                deity           = ,

                sex             = ,
                background      = ,
                personnality    = ,
                hair            = ,
                eyes            = ,
                skin            = ,
                height          = ,
                weight          = ,
                age             = ,
                height_category = ,       
        };*/

            client.CharacterCreate(new_character);
        }
Example #2
0
        public multiclass GetMulticlass(uint id_character)
        {
            var multiclass = new multiclass();
            if (id_character <= 0)
                return multiclass;
            multiclass.id_character = id_character;

            var query = @"Select multiclasses.class,
                        multiclasses.level
                        from dnd.multiclasses
                        where dnd.multiclasses.`character` = " + id_character+";";

            var classes = new List<Tuple<uint, uint>>();
            if (OpenConnection())
            {
                using (MySqlCommand cmd = new MySqlCommand(query, connection))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    if (dataReader.HasRows)
                    {
                        while (dataReader.Read())
                        {
                            classes.Add(new Tuple<uint, uint>(
                                dataReader.GetUInt16("level"),
                                dataReader.GetUInt16("class")
                            ));
                        }
                    }
                    dataReader.Close();
                }
                this.CloseConnection();
            }

            multiclass.level_class = new List<Tuple<uint, complete_class, template>>();
            foreach (var c in classes)
            {
                // A multiclass is defined by a list of a level, a class and the corresponding template
                multiclass.level_class.Add(new Tuple<uint, complete_class, template>(
                    c.Item1,
                    GetClass(c.Item2),
                    GetClassTemplate(c.Item2, c.Item1)
                ));
            }
            return multiclass;
        }