Esempio n. 1
0
        public LogModel TryToSpeak(CreateCharacterModel character, CreateCharacterSkills skills, CreateCharacterStats stats)
        {
            Random random = new Random();

            logModel.enemyName    = enemy.Name;
            logModel.enemyMaxHP   = enemy.HPMax;
            logModel.enemyHP      = enemy.HP;
            logModel.Looted       = false;
            logModel.enemyCreated = false;
            logModel.returnModel  = character.Name + " trying to speak with " + enemy.Name + "\n";
            int charSpeak   = random.Next(((stats.Charisma + 2) / (skills.Persuasion + 1)) + (skills.Persuasion + stats.Charisma) * 5);
            int needToSpeak = ((stats.Charisma + 2) / (skills.Persuasion + 1)) + (skills.Persuasion + stats.Charisma) * 4;

            if (charSpeak >= needToSpeak)
            {
                character.isFighting  = false;
                character.Exp        += enemy.ExpGained;
                enemyLooted           = true;
                logModel.returnModel += character.Name + " sayed to " + enemy.Name + " that he don't want to kill somebody, and " + enemy.Name + " just listen, and go away";
            }
            else
            {
                logModel.returnModel += enemy.Name + " didn't listen to " + character.Name + " and still want to kill him";
            }
            return(logModel);
        }
Esempio n. 2
0
        public int SetCharacter(CreateCharacterModel character, CreateCharacterSkills skills, CreateCharacterStats stats)
        {
            var characterRepository = _characterRepository.Get().FirstOrDefault(
                u => u.Name == character.Name);

            int characterId = characterRepository.Id;

            var SkillsTemp = _skillsRepository.Get().FirstOrDefault(u => u.Id == characterId);
            var StatsTemp  = _statsRepository.Get().FirstOrDefault(u => u.Id == characterId);

            character.Aligment   = characterRepository.Aligment;
            character.Background = characterRepository.Background;
            character.Class      = characterRepository.Class;
            character.Race       = characterRepository.Race;

            skills.Acrobatics     = SkillsTemp.Acrobatics;
            skills.AnimalHandling = SkillsTemp.AnimalHandling;
            skills.Athletics      = SkillsTemp.Athletics;
            skills.Medicine       = SkillsTemp.Medicine;
            skills.Persuasion     = SkillsTemp.Persuasion;
            skills.Religion       = SkillsTemp.Religion;
            skills.SleightOfHand  = SkillsTemp.SleightOfHand;
            skills.Stealth        = SkillsTemp.Stealth;
            skills.Survival       = SkillsTemp.Survival;

            stats.Charisma     = StatsTemp.Charisma;
            stats.Constitution = StatsTemp.Constitution;
            stats.Dexterity    = StatsTemp.Dexterity;
            stats.Intelligence = StatsTemp.Intelligence;
            stats.Strength     = StatsTemp.Strength;
            stats.Wisdom       = StatsTemp.Wisdom;
            return(characterId);
        }
Esempio n. 3
0
        public LogModel Loot(CreateCharacterModel character, ICollection <CharacterItem> charInventory)
        {
            List <string> lootedThings = new List <string>();

            foreach (var item in enemyInventory)
            {
                _characterItemRepository.Add(new CharacterItem()
                {
                    ItemId      = item.ItemId,
                    InventoryId = _characterId
                });
                lootedThings.Add(item.ItemOf.Name);
            }
            string returnString = character.Name + " looted from " + enemy.Name + ":";

            enemyLooted = true;
            foreach (var i in lootedThings)
            {
                returnString += (" " + i + ",");
            }

            logModel.enemyName    = enemy.Name;
            logModel.enemyMaxHP   = enemy.HPMax;
            logModel.enemyHP      = enemy.HP;
            logModel.Looted       = true;
            logModel.enemyCreated = false;
            logModel.returnModel  = returnString;

            return(logModel);
        }
Esempio n. 4
0
        private void Button_Add_Click(object sender, RoutedEventArgs e)
        {
            InputBox inputBox = new InputBox();
            BuildCharacterConcept characterConcept = new BuildCharacterConcept();
            CreateCharacterModel  newCharacter     = new CreateCharacterModel();
            CreateCharacterStats  newStats         = new CreateCharacterStats();
            CreateCharacterSkills newSkills        = new CreateCharacterSkills();

            inputBox.ShowDialog();
            characterConcept.ShowDialog();
            if (inputBox.Text.Text == "" || characterConcept.lvRaces.SelectedIndex < 0 || characterConcept.lvClases.SelectedIndex < 0 ||
                characterConcept.lvAlignments.SelectedIndex < 0 || characterConcept.lvBackgrounds.SelectedIndex < 0)
            {
                MessageBox.Show("Error while add character");
            }
            else
            {
                newCharacter.Name       = inputBox.Text.Text;
                newCharacter.Race       = (Races)characterConcept.lvRaces.SelectedIndex;
                newCharacter.Class      = (Clases)characterConcept.lvClases.SelectedIndex;
                newCharacter.Aligment   = (Aligments)characterConcept.lvAlignments.SelectedIndex;
                newCharacter.Background = (Backgrounds)characterConcept.lvBackgrounds.SelectedIndex;
                _characterService.Create(newCharacter, newStats, newSkills, _idUser);
                lvCharacters.Items.Add(newCharacter);
            }
        }
Esempio n. 5
0
        public LogModel CheckSituation(CreateCharacterModel character, ICollection <CharacterItem> charInventory)
        {
            _charInventory = charInventory;
            if (character.Exp >= character.Level * 12.5)
            {
                return(LevelUp(character));
            }
            if (!character.isFighting && character.HP > 1 && enemyLooted)
            {
                return(Walk(character, charInventory));
            }
            else if (character.isFighting)
            {
                return(Fight(character));
            }
            else if (!character.isFighting && !enemyLooted)
            {
                return(Loot(character, charInventory));
            }
            else if (!character.isFighting && character.HP == 1)
            {
                return(GoToCity(character));
            }

            else
            {
                return(Die(character));
            }
        }
Esempio n. 6
0
        public static Boolean CreateCharacterFromRequest(TNLConnection connection, CreateCharacterModel model, out Int64 charCoid)
        {
            var container = AssetManager.AssetContainer;

            charCoid = -1L;

            Byte r, c;
            if (!GetRaceClassByCBID(model.CBid, out r, out c))
                return false;

            var newCharEntry = container.GetNewCharacterDataByRaceClass(r, c);
            if (newCharEntry == null)
                return false;

            var map = MapManager.GetMap((UInt32)newCharEntry.StartTown);
            if (map == null)
                return false;

            charCoid = COIDManager.NextCOID;
            var vehCoid = COIDManager.NextCOID;

            var character = ClonedObjectBase.AllocateNewObjectFromCBID(model.CBid);

            character.InitializeFromCBID(model.CBid, null);

            var charObj = character.GetAsCharacter();
            if (charObj == null)
                return false;

            charObj.SetOwner(connection);
            charObj.InitNewCharacter(model, newCharEntry, map, charCoid, vehCoid);

            var cpacket = new Packet(Opcode.CreateCharacter);

            character.WriteToCreatePacket(cpacket);

            var vehicle = ClonedObjectBase.AllocateNewObjectFromCBID(newCharEntry.Vehicle);

            vehicle.InitializeFromCBID(newCharEntry.Vehicle, null);

            var vehObj = vehicle.GetAsVehicle();
            if (vehObj == null)
                return false;

            vehObj.InitNewVehicle(model, newCharEntry, map, charCoid, vehCoid);

            var vpacket = new Packet(Opcode.CreateVehicle);

            vehObj.WriteToCreatePacket(vpacket);

            connection.SendPacket(cpacket, RPCGuaranteeType.RPCGuaranteedOrdered);
            connection.SendPacket(vpacket, RPCGuaranteeType.RPCGuaranteedOrdered);

            charObj.SaveToDB();
            vehObj.SaveToDB();

            return true;
        }
Esempio n. 7
0
 public LogModel GoToCity(CreateCharacterModel character)
 {
     logModel.enemyName    = enemy.Name;
     logModel.enemyMaxHP   = enemy.HPMax;
     logModel.enemyHP      = enemy.HP;
     logModel.Looted       = false;
     logModel.enemyCreated = false;
     logModel.returnModel  = character.Name + " Going To City";
     return(logModel);
 }
Esempio n. 8
0
 public LogModel Die(CreateCharacterModel character)
 {
     logModel.enemyName    = enemy.Name;
     logModel.enemyMaxHP   = enemy.HPMax;
     logModel.enemyHP      = enemy.HP;
     logModel.Looted       = false;
     logModel.enemyCreated = false;
     logModel.returnModel  = character.Name + " Died";
     return(logModel);
 }
Esempio n. 9
0
        private void Button_Dell_Click(object sender, RoutedEventArgs e)
        {
            if (lvCharacters.SelectedIndex >= 0)
            {
                CreateCharacterModel dell = (CreateCharacterModel)lvCharacters.SelectedItem;

                lvCharacters.Items.Remove(lvCharacters.SelectedItem);
                _characterService.Delete(dell, _idUser);
            }
        }
Esempio n. 10
0
 public Task<bool> Create(CreateCharacterModel tModel)
 {
     return Task.Factory.StartNew(
         () =>
             {
                 var vAccountName = mSignInPersistance.AccountName;
                 var vCommand =
                     mCharacterCommandFactory.CreateCreateCharacterCommand(tModel,
                                                                           vAccountName);
                 return vCommand.Execute() == eCharacterCreationStatus.Success;
             });
 }
Esempio n. 11
0
        public LogModel Walk(CreateCharacterModel character, ICollection <CharacterItem> charInventory)
        {
            Random random = new Random();
            int    roll   = random.Next(100);

            if (character.HP <= character.HPMax / 2)
            {
                if (charInventory.FirstOrDefault(x => x.Id == 17) != default)
                {
                    return(Heal(character, charInventory));
                }
            }

            if (roll < 20 && enemy != null)
            {
                return(Pick(character));
            }
            else
            {
                int enemyId = random.Next(_EnemyRepository.Get().Last().Id + 1);
                if (enemyId == 2)
                {
                    enemyId--;
                }
                if (enemyId == 0)
                {
                    enemyId++;
                }
                var EnemyTemp = _EnemyRepository.Get().FirstOrDefault(u => u.Id == enemyId);
                enemyInventory = _enemyInventoryRepository.Get().FirstOrDefault(u => u.Id == enemyId).EnemyItems;
                enemy          = new CreateEnemyModel()
                {
                    ArmorClass  = EnemyTemp.ArmorClass,
                    ExpGained   = EnemyTemp.ExpGained,
                    HP          = EnemyTemp.HP,
                    HPMax       = EnemyTemp.HPMax,
                    Intitiative = EnemyTemp.Intitiative,
                    Name        = EnemyTemp.Name,
                    IsBoss      = EnemyTemp.IsBoss,
                    Speed       = EnemyTemp.Speed
                };
                enemyLooted          = false;
                character.isFighting = true;

                logModel.enemyName    = enemy.Name;
                logModel.enemyMaxHP   = enemy.HPMax;
                logModel.enemyHP      = enemy.HP;
                logModel.Looted       = false;
                logModel.enemyCreated = true;
                logModel.returnModel  = character.Name + " meet " + enemy.Name + " and he look realy agressive";
            }
            return(logModel);
        }
Esempio n. 12
0
        public async Task <IActionResult> AddNewCharacter([FromBody] CreateCharacterModel createModel)
        {
            IEntityCreateResult identity = await _charactersService.CreateCharacterAsync(createModel);

            await _databaseContext.SaveChangesAsync();

            int id = identity.GetId();

            string uri = $"characters/{id}";

            return(Created(uri, id));
        }
Esempio n. 13
0
 public LogModel LevelUp(CreateCharacterModel character)
 {
     logModel.enemyName    = enemy.Name;
     logModel.enemyMaxHP   = enemy.HPMax;
     logModel.enemyHP      = enemy.HP;
     logModel.Looted       = false;
     logModel.enemyCreated = false;
     character.Level++;
     if (character.Level % 5 == 1)
     {
         character.HPMax += character.Exp / 5;
     }
     logModel.returnModel = character.Name + " has level up to " + character.Level;
     return(logModel);
 }
        public void CanExecuteCommand(string tListName, string tName)
        {
            var vDocumentStore = GetEmbeddedDatabase;

            AddAccountToDataStore(vDocumentStore, cUserName, "ABC", "*****@*****.**");
            var vModel = new CreateCharacterModel
                             {
                                 GameName = cGameName,
                                 Name = tName,
                             };

            var vCommand = new CreateCharacterCommand(vDocumentStore, vModel, cUserName);

            Assert.AreEqual(eCharacterCreationStatus.Success, vCommand.Execute());
        }
Esempio n. 15
0
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        m_createCharacterModel = new CreateCharacterModel(this);

        createCharacterView.CreateCharacterController = this;
        createCharacterView.Start();
        createCharacterView.SetPortraitId(m_createCharacterModel.GetPictureId());

        // Fade in the background
        m_readyForInput = false;
        Fader.AttachFaderTo(this.gameObject, Color.black, Fader.eFadeType.fadeIn, 1.0f, () =>
        {
            m_readyForInput = true;
        });
    }
Esempio n. 16
0
 public LogModel Heal(CreateCharacterModel character, ICollection <CharacterItem> charInventory)
 {
     logModel.enemyName    = enemy.Name;
     logModel.enemyMaxHP   = enemy.HPMax;
     logModel.enemyHP      = enemy.HP;
     logModel.Looted       = true;
     logModel.enemyCreated = false;
     charInventory.Remove(charInventory.FirstOrDefault(x => x.Id == 17));
     _characterItemRepository.Delete(17);
     character.HP += 50;
     if (character.HP > character.HPMax)
     {
         character.HP = character.HPMax;
     }
     logModel.returnModel = character.Name + " Use Healing Potion";
     return(logModel);
 }
        // POST: api/CharactersAPI
        //[ResponseType(typeof(CreateCharacterModel))]
        public async Task <IActionResult> PostCharacter(CreateCharacterModel createCharacterModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //db.Characters.Add(character);
            //await db.SaveChangesAsync();

            //createCharacterModel.VMEntity.WorldId = createCharacterModel.WorldId;
            db.Entities.Add(createCharacterModel.VMEntity);
            createCharacterModel.VMCharacter.Entity = createCharacterModel.VMEntity;
            db.Characters.Add(createCharacterModel.VMCharacter);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = createCharacterModel.VMCharacter.CharacterId }, createCharacterModel.VMCharacter));
        }
Esempio n. 18
0
        public int Delete(CreateCharacterModel character, int userId)
        {
            int characterId = _characterRepository.Get().FirstOrDefault(
                u => u.Name == character.Name).Id;

            _inventoryRepository.Delete(_inventoryRepository.Get().FirstOrDefault(u => u.Id == characterId).Id);

            _statsRepository.Delete(_statsRepository.Get().FirstOrDefault(
                                        u => u.Id == characterId).Id);

            _skillsRepository.Delete(_skillsRepository.Get().FirstOrDefault(
                                         u => u.Id == characterId).Id);

            _characterRepository.Delete(_characterRepository.Get().FirstOrDefault(
                                            u => u.Name == character.Name).Id);

            return(characterId);
        }
        public void GetAllCharactersForAccountWorksToGetOne(string tName, string tListName)
        {
            var vDocumentStore = GetEmbeddedDatabase;

            AddAccountToDataStore(vDocumentStore, cAccountName, "ABC", "*****@*****.**");

            var vModel = new CreateCharacterModel
            {
                GameName = cGameName,
                Name = tName,
            };

            var vCommand = new CreateCharacterCommand(vDocumentStore, vModel, cAccountName);
            vCommand.Execute();

            var vQuery = new GetAllCharactersForAccountQuery(vDocumentStore, cGameName, cAccountName);
            var vResults = vQuery.Result;

            Assert.AreEqual(1, vResults.Count);
        }
Esempio n. 20
0
        public async Task Adding_New_Character_With_Friends_Should_Add_Character_And_Assing_Friends()
        {
            // Arrange
            _database.Set <Character>().Add(new Character()
            {
                Name = "friend1"
            });
            _database.Set <Character>().Add(new Character()
            {
                Name = "friend2"
            });

            var createModel = new CreateCharacterModel()
            {
                Friends = new List <string>()
                {
                    "friend1", "friend2"
                },
                Name = "sampleCharacter"
            };

            // Act
            int createdCharacterId = (int)(await _charactersController.AddNewCharacter(createModel) as CreatedResult).Value;

            // Assert
            createdCharacterId.Should().BeGreaterThan(0);

            List <CharacterFriend> friendAssignments = _database.Set <CharacterFriend>()
                                                       .Where(x => x.CharacterId == createdCharacterId)
                                                       .ToList();

            friendAssignments.Should().HaveCount(createModel.Friends.Count);

            foreach (CharacterFriend friendAssignment in friendAssignments)
            {
                createModel.Friends.Should().Contain(friendAssignment.Friend.Name);
            }
        }
Esempio n. 21
0
    private void InitModel(object viewModel)
    {
        if (viewModel == null || !(viewModel is CreateCharacterModel))
        {
            return;
        }
        m_CreateCharacterModel = (CreateCharacterModel)viewModel;
        for (int i = 0; i < m_CreateCharacterModel.createCharacterViewModels.Count; i++)
        {
            Dropdown.OptionData op = new Dropdown.OptionData();
            op.text = m_CreateCharacterModel.createCharacterViewModels[i].raceName;
            RocaOneType.options.Add(op);
            RocaTwoType.options.Add(op);
            RocaThreeType.options.Add(op);
        }

        OnRocaTypeValueChanged(0);

        PlayerNameIsRepeatOrNull.gameObject.SetActive(false);
        CharacterOneIsRepeatOrNull.gameObject.SetActive(false);
        CharacterTwoIsRepeatOrNull.gameObject.SetActive(false);
        CharacterThreeIsRepeatOrNull.gameObject.SetActive(false);
    }
Esempio n. 22
0
        //  创建角色界面数据
        private void SetCreateCharacterModel()
        {
            if (createCharacterModel == null)
            {
                createCharacterModel = new CreateCharacterModel();
            }

            if (createCharacterModel.createCharacterViewModels == null)
            {
                createCharacterModel.createCharacterViewModels = new List <CreateCharacterModel.CreateCharacterViewModel>();
            }

            //初始化所有职业数据
            for (int i = 0; i < TestStaticData.Instance.RaceDatas.Count; i++)
            {
                // 数据赋值
                CreateCharacterModel.CreateCharacterViewModel rocal = new CreateCharacterModel.CreateCharacterViewModel();
                rocal.raceID         = TestStaticData.Instance.RaceDatas[i].ID;
                rocal.raceName       = TestStaticData.Instance.RaceDatas[i].Name;
                rocal.raceDes        = TestStaticData.Instance.RaceDatas[i].Describe;
                rocal.initCon        = TestStaticData.Instance.RaceDatas[i].InitCon;
                rocal.initDex        = TestStaticData.Instance.RaceDatas[i].InitDex;
                rocal.initPow        = TestStaticData.Instance.RaceDatas[i].InitPow;
                rocal.initHP         = TestStaticData.Instance.RaceDatas[i].InitHP;
                rocal.growthCon      = TestStaticData.Instance.RaceDatas[i].ConGrowth;
                rocal.growthDex      = TestStaticData.Instance.RaceDatas[i].DexGrowth;
                rocal.growthPow      = TestStaticData.Instance.RaceDatas[i].PowGrowth;
                rocal.growthHP       = TestStaticData.Instance.RaceDatas[i].HPGrowth;
                rocal.raceAbilityOne = TestStaticData.Instance.RaceDatas[i].AbilityOneID;
                rocal.raceAbilityTwo = TestStaticData.Instance.RaceDatas[i].AbilityTwoID;
                createCharacterModel.createCharacterViewModels.Add(rocal);
            }

            //初始化所有委托
            createCharacterModel.CreateCharacterCallback = Create;
            createCharacterModel.NameIsRepeatCallback    = CheckNameRepeat;
        }
Esempio n. 23
0
        public LogModel Pick(CreateCharacterModel character)
        {
            logModel.enemyName    = enemy.Name;
            logModel.enemyMaxHP   = enemy.HPMax;
            logModel.enemyHP      = enemy.HP;
            logModel.Looted       = true;
            logModel.enemyCreated = false;



            Item   pickedItem = new Item();
            Random rnd        = new Random();
            int    roll       = rnd.Next(100);

            if (roll >= 10 && roll < 35)
            {
                pickedItem = _ItemRepository.Get().FirstOrDefault(x => x.Id == 17);
            }
            else if (roll >= 35)
            {
                pickedItem = _ItemRepository.Get().FirstOrDefault(x => x.Id == 1);
            }
            else
            {
                roll = rnd.Next(_ItemRepository.Get().Last().Id + 1);
            }

            _characterItemRepository.Add(new CharacterItem()
            {
                ItemId      = pickedItem.Id,
                InventoryId = _characterId
            });

            logModel.returnModel = character.Name + " found " + pickedItem.Name + " on the way";

            return(logModel);
        }
Esempio n. 24
0
        public MainWindow(CreateCharacterModel character, string username)
        {
            _character               = character;
            _characterService        = new CharacterService(_context);
            _characterRepository     = new CharacterRepository(_context);
            _skillsRepository        = new CharacterSkillsRepository(_context);
            _statsRepository         = new CharacterStatsRepository(_context);
            _inventoryRepository     = new CharacterInventoryRepository(_context);
            _characterItemRepository = new CharacterItemRepository(_context);
            InitializeComponent();
            CreateCharacterSkills skills = new CreateCharacterSkills();
            CreateCharacterStats  stats  = new CreateCharacterStats();

            int characterId = _characterService.SetCharacter(character, skills, stats);

            _characterId = characterId;
            var charInventory = _inventoryRepository.Get().FirstOrDefault(u => u.Id == characterId).CharacterItems;

            _charInventory = charInventory;

            //this.DataContext = character;
            userName.Text      = username;
            characterName.Text = character.Name;
            classNlevel.Text   = character.Class.ToString() + " " + character.Level.ToString();
            race.Text          = character.Race.ToString();
            aligment.Text      = character.Aligment.ToString();
            background.Text    = character.Background.ToString();
            armorClassNum.Text = character.ArmorClass.ToString();
            initiativeNum.Text = character.Intitiative.ToString();
            healthPoints.Text  = character.HP.ToString() + "/" + character.HPMax.ToString();
            speedNum.Text      = character.Speed.ToString();
            experiencePt.Text  = character.Exp.ToString();

            acrobatics.Text     = "Acrobatics    " + skills.Acrobatics.ToString();
            animalHandling.Text = "Animal Handling    " + skills.AnimalHandling.ToString();
            athletics.Text      = "Athletics    " + skills.Athletics.ToString();
            medicine.Text       = "Medicine    " + skills.Medicine.ToString();
            persuasion.Text     = "Persuasion    " + skills.Persuasion.ToString();
            religion.Text       = "Religion    " + skills.Religion.ToString();
            sleightOfHand.Text  = "Sleight of hand    " + skills.SleightOfHand.ToString();
            stealth.Text        = "Stealth    " + skills.Stealth.ToString();
            survival.Text       = "Survival    " + skills.Survival.ToString();

            charismaNum.Text     = stats.Charisma.ToString();
            constitutionNum.Text = stats.Constitution.ToString();
            dexterityNum.Text    = stats.Dexterity.ToString();
            intelligenceNum.Text = stats.Intelligence.ToString();
            strengthNum.Text     = stats.Strength.ToString();
            wisdomNum.Text       = stats.Wisdom.ToString();

            coins.Text = "Coins: " + character.Coins.ToString();

            setEquipment();
            setInventory();

            timer          = new DispatcherTimer();
            timer.Tick    += Timer_Tick;
            timer.Interval = new TimeSpan(0, 0, 1);
            timer.Start();

            BackgroundWorker worker = new BackgroundWorker();

            worker.WorkerReportsProgress = true;
            worker.DoWork          += worker_DoWork;
            worker.ProgressChanged += worker_ProgressChanged;

            worker.RunWorkerAsync();
        }
Esempio n. 25
0
        public void InitNewVehicle(CreateCharacterModel model, ConfigNewCharacter newCharEntry, SectorMap map, Int64 charCoid, Int64 vehicleCoid)
        {
            SetCOID(vehicleCoid);

            CoidCurrentOwner = charCoid;
            Position = new Vector3(map.MapEntry.EntryX, map.MapEntry.EntryY, map.MapEntry.EntryZ);
            Rotation = new Vector4(0.0f, 0.0f, 0.0f, 1.0f);
            Velocity = new Vector3();
            AngularVelocity = new Vector3();
            VehicleName = model.VehicleName;

            Trim = model.VehicleTrim;
            PrimaryColor = model.VehiclePrimaryColor;
            SecondaryColor = model.SecondaryColor;

            var armor = AllocateNewObjectFromCBID(newCharEntry.Armor);
            if (armor != null)
            {
                armor.SetCOID(CoidManager.NextCOID);
                armor.InitializeFromCBID(newCharEntry.Armor, map);
                armor.InitializeBaseData();

                SetArmorEquipped(armor.GetAsArmor());
            }

            var wheelSet = AllocateNewObjectFromCBID(model.CBidWheelset);
            if (wheelSet != null)
            {
                wheelSet.SetCOID(CoidManager.NextCOID);
                wheelSet.InitializeFromCBID(model.CBidWheelset, map);
                wheelSet.InitializeBaseData();

                SetWheelSet(wheelSet.GetAsWheelSet());
            }

            var powerPlant = AllocateNewObjectFromCBID(newCharEntry.PowerPlant);
            if (powerPlant != null)
            {
                powerPlant.SetCOID(CoidManager.NextCOID);
                powerPlant.InitializeFromCBID(newCharEntry.PowerPlant, map);
                powerPlant.InitializeBaseData();

                SetPowerPlant(powerPlant.GetAsPowerPlant());
            }

            var raceItem = AllocateNewObjectFromCBID(newCharEntry.RaceItem);
            if (raceItem != null)
            {
                raceItem.SetCOID(CoidManager.NextCOID);
                raceItem.InitializeFromCBID(newCharEntry.RaceItem, map);
                raceItem.InitializeBaseData();

                SetRaceItem(raceItem.GetAsSimpleObject());
            }

            var turret = AllocateNewObjectFromCBID(newCharEntry.Weapon);
            if (turret != null)
            {
                turret.SetCOID(CoidManager.NextCOID);
                turret.InitializeFromCBID(newCharEntry.Weapon, map);
                turret.InitializeBaseData();

                AddWeapon(1, turret.GetAsWeapon());
            }
        }
Esempio n. 26
0
        public int Create(CreateCharacterModel character, CreateCharacterStats stats, CreateCharacterSkills skills, int userId)
        {
            Random random = new Random();

            character.HPMax       = random.Next(30, 150);
            character.HP          = character.HPMax;
            character.Intitiative = random.Next(-6, 10);
            character.Speed       = random.Next(50);
            character.ArmorClass  = random.Next(40);
            character.Coins       = 0;
            character.Level       = 1;
            character.Exp         = 0;
            character.isFighting  = false;

            stats.Charisma     = random.Next(-4, 7);
            stats.Constitution = random.Next(-4, 7);
            stats.Dexterity    = random.Next(-4, 7);
            stats.Intelligence = random.Next(-4, 7);
            stats.Strength     = random.Next(-4, 7);
            stats.Wisdom       = random.Next(-4, 7);

            skills.Acrobatics     = random.Next(-2, 5);
            skills.AnimalHandling = random.Next(-2, 5);
            skills.Athletics      = random.Next(-2, 5);
            skills.Medicine       = random.Next(-2, 5);
            skills.Persuasion     = random.Next(-2, 5);
            skills.Religion       = random.Next(-2, 5);
            skills.SleightOfHand  = random.Next(-2, 5);
            skills.Stealth        = random.Next(-2, 5);
            skills.Survival       = random.Next(-2, 5);

            _characterRepository.Add(new Character()
            {
                Name        = character.Name,
                HPMax       = character.HPMax,
                HP          = character.HP,
                Race        = character.Race,
                Class       = character.Class,
                Aligment    = character.Aligment,
                Background  = character.Background,
                Intitiative = character.Intitiative,
                Speed       = character.Speed,
                ArmorClass  = character.ArmorClass,
                Coins       = character.Coins,
                Level       = character.Level,
                Exp         = character.Exp,
                UserId      = userId
            });

            _skillsRepository.Add(new CharacterSkills()
            {
                Id = _characterRepository.Get().FirstOrDefault(
                    u => u.Name == character.Name).Id,
                Acrobatics     = skills.Acrobatics,
                AnimalHandling = skills.AnimalHandling,
                Athletics      = skills.Athletics,
                Medicine       = skills.Medicine,
                Persuasion     = skills.Persuasion,
                Religion       = skills.Religion,
                SleightOfHand  = skills.SleightOfHand,
                Stealth        = skills.Stealth,
                Survival       = skills.Survival
            });
            _statsRepository.Add(new CharacterStats()
            {
                Id = _characterRepository.Get().FirstOrDefault(
                    u => u.Name == character.Name).Id,
                Charisma     = stats.Charisma,
                Constitution = stats.Constitution,
                Dexterity    = stats.Dexterity,
                Intelligence = stats.Intelligence,
                Strength     = stats.Strength,
                Wisdom       = stats.Wisdom
            });
            _inventoryRepository.Add(new CharacterInventory()
            {
                Id = _characterRepository.Get().FirstOrDefault(
                    u => u.Name == character.Name).Id,
            });
            for (int i = 1; i <= 7; i++)
            {
                _characterItemRepository.Add(new CharacterItem()
                {
                    ItemId      = i,
                    InventoryId = _characterRepository.Get().FirstOrDefault(
                        u => u.Name == character.Name).Id
                });
            }


            return(_characterRepository.Get().FirstOrDefault(
                       u => u.Name == character.Name).Id);
        }
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        m_createCharacterModel = new CreateCharacterModel(this);

        createCharacterView.CreateCharacterController = this;
        createCharacterView.Start();
        createCharacterView.SetPortraitId(m_createCharacterModel.GetPictureId());

        // Fade in the background
        m_readyForInput = false;
        Fader.AttachFaderTo(this.gameObject, Color.black, Fader.eFadeType.fadeIn, 1.0f, () =>
        {
            m_readyForInput = true;
        });
    }
        public void CharacterIsInDatabase(string tListName, string tName)
        {
            var vDocumentStore = GetEmbeddedDatabase;

            AddAccountToDataStore(vDocumentStore, cUserName, "ABC", "*****@*****.**");
            var vModel = new CreateCharacterModel
                             {
                                 GameName = cGameName,
                                 Name = tName,
                             };

            var vCommand = new CreateCharacterCommand(vDocumentStore, vModel, cUserName);

            Assert.AreEqual(eCharacterCreationStatus.Success, vCommand.Execute());

            using (var vSession = vDocumentStore.OpenSession())
            {
                Assert.IsNotNull(
                    vSession.Load<Character>(cGameName + "/Characters/" + cUserName + "/" + tName));
            }
        }
 public CreateCharacterPresenter(params object[] param) : base(param)
 {
     model = new CreateCharacterModel(param);
 }
Esempio n. 30
0
        public LogModel Fight(CreateCharacterModel character)
        {
            logModel.enemyName    = enemy.Name;
            logModel.enemyMaxHP   = enemy.HPMax;
            logModel.enemyHP      = enemy.HP;
            logModel.Looted       = false;
            logModel.enemyCreated = false;

            if (character.HP <= 0 || enemy.HP <= 0)
            {
                character.isFighting = false;
                if (enemy.HP <= 0 && character.HP > 0)
                {
                    character.Exp       += enemy.ExpGained;
                    logModel.returnModel = character.Name + " killed " + enemy.Name;
                    return(logModel);
                }
                return(Die(character));
            }
            Random random = new Random();
            CreateCharacterSkills skills = new CreateCharacterSkills();
            CreateCharacterStats  stats  = new CreateCharacterStats();

            _characterId = SetCharacter(character, skills, stats);
            int WeaponId = 0;

            foreach (var item in _charInventory)
            {
                if (item.ItemOf.TypeOfItem == typeOfItem.Weapon && item.isDressed == true)
                {
                    WeaponId = item.ItemId;
                }
            }
            var charWeapon = _charInventory.FirstOrDefault(u => u.ItemId == WeaponId)?.ItemOf;

            int charPower = skills.SleightOfHand * 2 + stats.Strength;

            if (charPower <= 0)
            {
                charPower = 1;
            }

            int charEloquence = skills.Persuasion * 2 + stats.Charisma;

            if (charEloquence <= 0)
            {
                charEloquence = 1;
            }

            int sleightOfHand = random.Next(charPower);
            int persuasion    = random.Next(charEloquence);


            // change strength and another, to more stuff
            int charInit = random.Next(character.Intitiative, 11);
            int charHit  = (stats.Strength / skills.SleightOfHand) + (skills.SleightOfHand + stats.Strength) * 3 + charWeapon.equipmentBonus + character.Speed / 8;

            int charArm  = random.Next(character.ArmorClass / 3 + stats.Constitution);
            int enemInit = random.Next(enemy.Intitiative, 11);
            int enemyHit = random.Next((enemy.HPMax + enemy.HP) / 4 + enemy.Speed / 9);
            int enemyArm = random.Next(enemy.ArmorClass);

            if (charHit <= 0)
            {
                charHit = 1;
            }
            else
            {
                charHit = random.Next(charHit);
            }



            if (charInit < enemInit)
            {
                if (enemyHit > charArm)
                {
                    character.HP        -= enemyHit;
                    logModel.returnModel = enemy.Name + " hit " + character.Name + " by " + enemyHit.ToString();
                }
                else
                {
                    logModel.returnModel = enemy.Name + " tryed to attack but " + character.Name + "'s determination is stronger";
                }
            }
            else
            {
                if (persuasion > sleightOfHand && enemy.HP == enemy.HPMax)
                {
                    return(TryToSpeak(character, skills, stats));
                }
                if (charHit > enemyArm)
                {
                    enemy.HP            -= charHit;
                    logModel.enemyHP     = enemy.HP;
                    logModel.returnModel = character.Name + " hit " + enemy.Name + " by " + charHit.ToString();
                }
                else
                {
                    logModel.returnModel = character.Name + " just started to attack and his " + charWeapon.Name + " flew out of hand";
                }
            }
            return(logModel);

            /*if (character.HP > 0)
             *  return Walk();
             * else return Die();*/
        }