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); }
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); }
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); }
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); } }
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)); } }
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; }
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); }
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); }
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); } }
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; }); }
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); }
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)); }
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()); }
// 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 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)); }
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); }
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); } }
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); }
// 创建角色界面数据 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; }
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); }
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(); }
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()); } }
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); }
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); }
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();*/ }