public bool FlipCoin(long userId, out bool ifHaveEnoufMoney)
        {
            Random random = new Random();

            person           = _modelPerson.GetPerson(userId);
            ifHaveEnoufMoney = true;
            if (person.gold < flipCoinCost)
            {
                ifHaveEnoufMoney = false;
                return(false);
            }

            if (new Random().Next(0, flipCoinCost) > (flipCoinCost / 2))
            {
                person.gold -= flipCoinCost;
                _modelPerson.Update(person);
                return(false);
            }
            else
            {
                person.gold += flipCoinCost;
                _modelPerson.Update(person);
                return(true);
            }
        }
Exemple #2
0
        //Create a guild if person have 1000 gold && lvl >= 15.
        public Guild GuildCreate(long idperson, string name, out bool lvlIsSmal, out bool notEnouthGold)
        {
            Person person = modelPerson.GetPerson(idperson);

            lvlIsSmal     = (person.lvl < 15) ? true : false;
            notEnouthGold = (person.gold <= 1000) ? true : false;
            if (lvlIsSmal || notEnouthGold)
            {
                return(null);
            }
            Guild guild = new Guild(person.personNick, name)
            {
                fraction = person.fraction.GetValueOrDefault()
            };

            crudguild.Create(guild);
            guild = crudguild.GetObjects().Where(x => x.name == guild.name).FirstOrDefault();
            if (guild == null)
            {
                return(null);
            }
            person.gold   -= 1000;
            person.guild   = guild;
            person.guildId = guild.id;
            modelPerson.Update(person);
            return(guild);
        }
        private void SetGoldForWiner(double moneyForLvl, Inventory[] items, List <Person> winer, List <Guild> guilds)
        {
            foreach (Person person in winer)
            {
                person.exp  += _modelPerson.AddToPersonExp(person.lvl, person.GetMultiplierExp()) * 2;
                person.gold += Convert.ToInt32(person.lvl * moneyForLvl - person.lvl * moneyForLvl * 0.1);
                SetGuildGold(ref guilds, person.guild.id, Convert.ToInt32(person.lvl * moneyForLvl * 0.1));
                _modelPerson.Update(person);
            }

            if (items != null)
            {
                foreach (Inventory item in items)
                {
                    Random random = new Random();
                    int    number = random.Next(0, winer.Count());
                    Person person = winer[number];
                    _modelPerson.AddItemToPerson(person.id, item.id);
                    winer.Remove(person);
                }
            }
        }