/// <summary> /// Crate PlayerInfoModel from Monster /// </summary> /// <param name="data"></param> public PlayerInfoModel(MonsterModel data) { PlayerType = data.PlayerType; Guid = data.Guid; Alive = data.Alive; ExperienceTotal = data.ExperienceTotal; ExperienceRemaining = data.ExperienceRemaining; Level = data.Level; Name = data.Name; Description = data.Description; Speed = data.GetSpeed(); ImageURI = data.ImageURI; MaxHealth = data.GetMaxHealthTotal; CurrentHealth = data.GetCurrentHealthTotal; MonsterTypeEnum = data.MonsterTypeEnum; CharacterTypeEnum = data.CharacterTypeEnum; // Set the Base Attributes Speed = data.Speed; Range = data.Range; Defense = data.Defense; Attack = data.Attack; MaxHealth = data.MaxHealth; CurrentHealth = data.CurrentHealth; // Set the strings for the items Head = data.Head; Necklace = data.Necklace; PrimaryHand = data.PrimaryHand; OffHand = data.OffHand; RightFinger = data.RightFinger; LeftFinger = data.LeftFinger; Feet = data.Feet; UniqueDropItem = data.UniqueDropItem; Difficulty = data.Difficulty; // Give the copy a differet quid, so it can be used in the battles as a copy Guid = System.Guid.NewGuid().ToString(); // Set amount to give to be 1 below max for that level. var LevelData = LevelTableHelper.LevelDetailsList.ElementAtOrDefault(Level + 1) ?? LevelTableHelper.LevelDetailsList.Last(); ExperienceRemaining = LevelData.Experience - 1; SpecificMonsterTypeEnum = data.SpecificMonsterTypeEnum; /* * TODO: Team, this is needed to keep the UT passing for the base game, your game does not need to use it. */ // Add some base Abilities foreach (var item in AbilityEnumHelper.GetListOthers) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } EngineGameSpecialAbility = AbilityEnum.None; TileImageURI = data.TileImageURI; }
/// <summary> /// Crate PlayerInfoModel from Monster /// </summary> /// <param name="data"></param> public PlayerInfoModel(MonsterModel data) { PlayerType = data.PlayerType; Guid = data.Guid; Alive = data.Alive; ExperienceTotal = data.ExperienceTotal; ExperienceRemaining = data.ExperienceRemaining; Level = data.Level; Name = data.Name; Description = data.Description; Speed = data.GetSpeed(); ImageURI = data.ImageURI; MaxHealth = data.GetMaxHealthTotal; CurrentHealth = data.GetCurrentHealthTotal; // Set the Base Attributes Speed = data.Speed; Range = data.Range; Defense = data.Defense; Attack = data.Attack; SpecialAttack = data.SpecialAttack; MaxHealth = data.MaxHealth; CurrentHealth = data.CurrentHealth; // Set the strings for the items Head = data.Head; Necklass = data.Necklass; PrimaryHand = data.PrimaryHand; OffHand = data.OffHand; RightFinger = data.RightFinger; LeftFinger = data.LeftFinger; Feet = data.Feet; UniqueItem = data.UniqueItem; Difficulty = data.Difficulty; MonsterType = data.MonsterType; // Give the copy a differet quid, so it can be used in the battles as a copy Guid = System.Guid.NewGuid().ToString(); // Set amount to give to be 1 below max for that level. ExperienceRemaining = LevelTableHelper.LevelDetailsList[Level + 1].Experience - 1; // Adding abilities for monsters, why not, they work hard for a living foreach (var item in AbilityEnumHelper.GetListOthers) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } }
/// <summary> /// Create PlayerInfoModel from character /// </summary> /// <param name="data"></param> public PlayerInfoModel(CharacterModel data) { PlayerType = data.PlayerType; Guid = data.Guid; Alive = data.Alive; ExperienceTotal = data.ExperienceTotal; ExperienceRemaining = data.ExperienceRemaining; Level = data.Level; Name = data.Name; Description = data.Description; // Set the Base Attributes Speed = data.Speed; Range = data.Range; Defense = data.Defense; Attack = data.Attack; MaxHealth = data.MaxHealth; CurrentHealth = data.CurrentHealth; ImageURI = data.ImageURI; // Set the strings for the items Head = data.Head; Necklass = data.Necklass; PrimaryHand = data.PrimaryHand; OffHand = data.OffHand; RightFinger = data.RightFinger; LeftFinger = data.LeftFinger; Feet = data.Feet; UniqueItem = data.UniqueItem; Difficulty = data.Difficulty; Job = data.Job; // Give the copy a differet quid, so it can be used in the battles as a copy Guid = System.Guid.NewGuid().ToString(); // Set current experience to be 1 above minimum. ExperienceTotal = LevelTableHelper.LevelDetailsList[Level - 1].Experience + 1; // TODO: Mike, Refactor this, so it is in a helper, and call it on level up as well. switch (Job) { case CharacterJobEnum.Cleric: foreach (var item in AbilityEnumHelper.GetListCleric) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } break; case CharacterJobEnum.Fighter: foreach (var item in AbilityEnumHelper.GetListFighter) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } break; default: foreach (var item in AbilityEnumHelper.GetListOthers) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } break; } }
/// <summary> /// Create PlayerInfoModel from character /// </summary> /// <param name="data"></param> public PlayerInfoModel(CharacterModel data) { PlayerType = data.PlayerType; Guid = data.Guid; Alive = data.Alive; ExperienceTotal = data.ExperienceTotal; ExperienceRemaining = data.ExperienceRemaining; Level = data.Level; Name = data.Name; Description = data.Description; MonsterTypeEnum = data.MonsterTypeEnum; CharacterTypeEnum = data.CharacterTypeEnum; // Set the Base Attributes Speed = data.Speed; Range = data.Range; Defense = data.Defense; Attack = data.Attack; MaxHealth = data.MaxHealth; CurrentHealth = data.CurrentHealth; ImageURI = data.ImageURI; // Set the strings for the items Head = data.Head; Necklace = data.Necklace; PrimaryHand = data.PrimaryHand; OffHand = data.OffHand; RightFinger = data.RightFinger; LeftFinger = data.LeftFinger; Feet = data.Feet; Difficulty = data.Difficulty; // Give the copy a differet quid, so it can be used in the battles as a copy Guid = System.Guid.NewGuid().ToString(); // Set current experience to be 1 above minimum. ExperienceTotal = LevelTableHelper.LevelDetailsList[Level - 1].Experience + 1; AbilityTracker.Add(data.SpecialAbility, Constants.SpecialAbilityUsePerRound); EngineGameSpecialAbility = data.SpecialAbility; AbilityUsedInCurrentRound = false; GPA = data.GPA; AbilityUsedInCurrentRound = data.AbilityUsedInCurrentRound; Graduated = data.Graduated; SpecificCharacterTypeEnum = data.SpecificCharacterTypeEnum; FiveMinuteBreaks = 0; // start this at 0 WantsToRest = false; // default to false SlippedNumTimes = 0; // start this at 0 TileImageURI = data.TileImageURI; /* * TODO: Team, this is needed to keep the UT passing for the base game, your game does not need to use it. */ // Add some base Abilities foreach (var item in AbilityEnumHelper.GetListOthers) { AbilityTracker.Add(AbilityEnumHelper.ConvertStringToEnum(item), Level); } }