public Monster(DbMonster monsterInfo) { MonsterBaseResources = monsterInfo.MonsterBaseResources; EquippedItems = null; Id = monsterInfo.Id; Name = monsterInfo.Name; Class = monsterInfo.Class; CalculateResource(); }
private void CreateTestData() { var testRogueDb = new DbPlayerCharacter { Class = new DbGameClass { Skills = new List <Skill> { new Skill { CastTime = 0, Cooldown = 1000, Cost = 20, Id = 1, Name = "Backstab", Effects = new List <Effect> { new DirectDamageEffect { BonusDamage = 2, CritChance = 10, Id = 1, MaxDamage = 0, MinDamage = 0, Type = EffectType.DirectDamage, TargetType = TargetType.Single } } }, new Skill { CastTime = 0, Cooldown = 1000, Cost = 20, Id = 3, Name = "Evade", Effects = new List <Effect> { new DirectThreatEffect() { Id = 3, MinThreat = -10, MaxThreat = -10, Type = EffectType.DirectThreat, TargetType = TargetType.Aoe } } } }, Id = 1, Name = "Rogue", MainStat = StatName.Agility, BaseStats = new BaseStats { Id = 1, BaseAgility = 20, BaseStrength = 10, BaseIntelligence = 10, BaseWisdom = 10, BaseStamina = 20 }, BaseResources = new BaseResources { Id = 1, BaseHealth = 100 } }, EquipedItems = new DbEquipedItems { MainHand = new DbWeapon { EquipSlotType = EquipSlot.MainHand, Id = 1, ItemRarity = ItemRarity.Magic, MaxDamage = 10, MinDamage = 5, Name = "Magic Dagger", SwingSpeed = 1, WeaponEquipType = WeaponEquipType.OneHanded, Stats = new ItemStats { Agility = 10, Id = 1 } } }, Id = 1, Inventory = new DbInventory { Id = 1, Gold = 100 }, Name = "Test Rogue" }; var testRoguePlayer = new Player(testRogueDb); var testRogue = new PlayerObject(testRoguePlayer, true) { CombatConfig = new CombatConfig(testRogueDb.Class.Skills) }; var tesstWarriorDb = new DbPlayerCharacter { Class = new DbGameClass { Skills = new List <Skill> { new Skill { CastTime = 0, Cooldown = 500, Cost = 20, Id = 2, Name = "Taunt", Effects = new List <Effect> { new DirectThreatEffect() { Id = 2, Type = EffectType.DirectThreat, MinThreat = 20, MaxThreat = 20, TargetType = TargetType.Single } } }, new Skill { CastTime = 0, Cooldown = 500, Cost = 20, Id = 3, Name = "Health", Effects = new List <Effect> { new BuffEffect() { Id = 2, Type = EffectType.Buff, Duration = 1000, Stats = new BuffStats { Health = 50 } } } } }, Id = 2, Name = "Warrior", MainStat = StatName.Agility, BaseStats = new BaseStats { Id = 2, BaseAgility = 10, BaseStrength = 20, BaseIntelligence = 10, BaseWisdom = 10, BaseStamina = 20 }, BaseResources = new BaseResources { Id = 2, BaseHealth = 200 } }, EquipedItems = new DbEquipedItems { MainHand = new DbWeapon { EquipSlotType = EquipSlot.MainHand, Id = 2, ItemRarity = ItemRarity.Magic, MaxDamage = 15, MinDamage = 9, Name = "Magic Sword", SwingSpeed = 2, WeaponEquipType = WeaponEquipType.OneHanded, Stats = new ItemStats { Strength = 10, Id = 2 } } }, Id = 2, Inventory = new DbInventory { Id = 2, Gold = 100 }, Name = "Test Warrior" }; var testWarriorPlayer = new Player(tesstWarriorDb); var testWarrior = new PlayerObject(testWarriorPlayer, true) { CombatConfig = new CombatConfig(testWarriorPlayer.Class.Skills) }; var playerList = new List <ICharacterObject> { testWarrior, testRogue }; var playerGroup = new CharacterGroup(playerList, testWarrior); var testOrcPawnDb = new DbMonster { Class = new DbGameClass { Skills = new List <Skill> { new Skill { CastTime = 0, Cooldown = 100000, Cost = 20, Id = 2, Name = "Taunt", Effects = new List <Effect> { new DirectThreatEffect() { Id = 2, Type = EffectType.DirectThreat, MinThreat = 20, MaxThreat = 20, TargetType = TargetType.Single } } } }, Id = 2, Name = "Warrior", MainStat = StatName.Agility, BaseStats = new BaseStats { Id = 2, BaseAgility = 10, BaseStrength = 20, BaseIntelligence = 10, BaseWisdom = 10, BaseStamina = 20 }, BaseResources = new BaseResources { Id = 2, BaseHealth = 200 } }, Id = 3, Inventory = new DbInventory { Id = 3, Gold = 100 }, Name = "Orc Pawn", LootList = new List <PossibleLoot> { new PossibleLoot() }, MonsterType = MonsterType.Common, MonsterBaseResources = new BaseResources { Id = 1, BaseHealth = 300 } }; var testOrcPawnMonster = new Monster(testOrcPawnDb); var testOrcPawn = new MonsterObject(testOrcPawnMonster, false) { CombatConfig = new CombatConfig(testOrcPawnMonster.Class.Skills) }; var monsterList = new List <ICharacterObject> { testOrcPawn }; var monsterGroup = new CharacterGroup(monsterList, testOrcPawn); _testCombat = new Combat(playerGroup, monsterGroup); _testCombat.StartCombat(); }