Exemple #1
0
        private void OnClick_BuyAll(object sender, RoutedEventArgs e)
        {
            GroupedInventoryItem groupedInventoryItem =
                ((FrameworkElement)sender).DataContext as GroupedInventoryItem;

            if (groupedInventoryItem != null)
            {
                if (Session.CurrentPlayer.Gold >= (groupedInventoryItem.Item.Price * groupedInventoryItem.Quantity))
                {
                    Session.CurrentPlayer.SpendGold(groupedInventoryItem.Item.Price * groupedInventoryItem.Quantity);
                    int quantita = groupedInventoryItem.Quantity;
                    while (1 < groupedInventoryItem.Quantity)
                    {
                        Session.CurrentTrader.RemoveItemFromInventory(groupedInventoryItem.Item);
                    }
                    Session.CurrentTrader.RemoveItemFromInventory(groupedInventoryItem.Item);

                    if (groupedInventoryItem.Item.Category == GameItem.ItemCategory.Spell)
                    {
                        Session.CurrentPlayer.AddItemToInventory(SpellFactory.CreateSpell(groupedInventoryItem.Item.ItemTypeID));
                    }
                    else
                    {
                        for (int i = 0; i < quantita; i++)
                        {
                            Session.CurrentPlayer.AddItemToInventory(groupedInventoryItem.Item);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Nemáš dost zlatých.");
                }
            }
        }
Exemple #2
0
        //=====================================================================

        /// <summary>
        /// Private constructor
        /// </summary>
        /// <param name="culture">The language to use for the dictionary</param>
        /// <param name="spellFactory">The spell factory to use when checking words</param>
        /// <param name="dictionaryFile">The dictionary file</param>
        /// <param name="userWordsFile">The user dictionary words file</param>
        /// <param name="serviceProvider">A service provider for interacting with the solution/project</param>
        private GlobalDictionary(CultureInfo culture, SpellFactory spellFactory, string dictionaryFile,
                                 string userWordsFile, IServiceProvider serviceProvider)
        {
            this.culture         = culture;
            this.spellFactory    = spellFactory;
            this.dictionaryFile  = dictionaryFile;
            this.serviceProvider = serviceProvider;

            if (String.IsNullOrWhiteSpace(dictionaryFile))
            {
                throw new ArgumentException("Dictionary filename cannot be null or empty", "dictionaryFile");
            }

            registeredServices = new List <WeakReference>();

            dictionaryWords = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);

            if (String.IsNullOrWhiteSpace(userWordsFile))
            {
                dictionaryWordsFile = Path.Combine(SpellingConfigurationFile.GlobalConfigurationFilePath,
                                                   culture.Name + "_User.dic");
            }
            else
            {
                dictionaryWordsFile = userWordsFile;
            }

            ignoredWords    = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
            recognizedWords = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);

            this.LoadUserDictionaryFile();
        }
Exemple #3
0
        public void SetUp()
        {
            _input       = new MockInput();
            _output      = new MockOutput();
            _menuFactory = new MenuFactory();
            _manager     = new MenuManager(_input, _output, _menuFactory);
            _logger      = new EventLogger();
            _playerOne   = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "swordsman");
            Spell fireSpell = SpellFactory.GetSpell(MagicType.Fire, 1);

            _playerOne.AddSpell(fireSpell);
            _playerOne.SetMana(fireSpell.Cost);

            _playerTwo   = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "mage");
            _playerThree = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "alchemist");
            _playerTeam  = new Team(_manager, _playerOne, _playerTwo, _playerThree);

            _enemyTeam = new Team(_manager, new List <IFighter>
            {
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1)
            });

            _manager.InitializeForBattle(_playerTeam, _enemyTeam);
        }
Exemple #4
0
        bool _gameOver = false; //Pauses the game on death

        public PlayScene(Game game)
        {
            _game = game;

            //Give systems a static PlayScene reference
            GameObject.InitSceneReference(this);
            Ability.InitSceneReference(this);
            Effect.InitSceneReference(this);
            Item.InitItemIdentifications();

            _dungeon        = new Dungeon();
            _gen            = new NewLevelGenerator();
            _gameObjectPool = new GameObjectPool(this);
            _map            = new Map(this);
            _turnCounter    = new TurnCounter(this);
            _specialEffects = new List <int>();

            _currentDepth = 0;
            _maxDepth     = 1;

            _messageQueue = new Queue <string>();

            _panels = new List <Panel>();

            _spellFactory = new SpellFactory();
        }
Exemple #5
0
        public void Setup()
        {
            _fighter = new TestHumanFighter("Hero", 1);
            _fighter.SetHealth(FighterHealth);
            _fighter.SetMana(FighterMana);
            _fighter.SetStrength(FighterAttack);
            _fighter.SetDefense(FighterDefense);
            _fighter.SetSpeed(FighterSpeed);
            _fighter.SetEvade(FighterEvade);
            _fighter.SetLuck(FighterLuck);

            _factoryFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Ted");
            _factoryFighter.AddSpell(SpellFactory.GetSpell(MagicType.Fire, 1));
            _enemy             = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "enemy");
            _armoredEnemy      = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "armored");
            _superArmoredEnemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "super armored");

            _input         = new MockInput();
            _output        = new MockOutput();
            _menuManager   = new TestMenuManager(_input, _output);
            _chanceService = new MockChanceService();

            _battleManager = new TestBattleManager(_chanceService, _input, _output);

            var humanTeam = new Team(_menuManager, _fighter);

            _battleManager.SetHumanTeam(humanTeam);

            var enemyTeam = new Team(_menuManager, _enemy);

            _battleManager.SetEnemyTeam(enemyTeam);

            _battleManager.SetConfig(new BattleManagerBattleConfiguration());
        }
        public void CastEggs_Level2Spells([Range(0, 2)] int level2EggIndex)
        {
            Tuple <MagicType, string> eggCombo = _level2Eggs[level2EggIndex];

            string    spellName = eggCombo.Item2;
            MagicType spellType = eggCombo.Item1;

            Spell spell  = SpellFactory.GetSpell(spellName);
            int   damage = spell.Power + _chicken.MagicStrength;

            _hero.SetMove(_doNothingMove, 4);
            _hero.SetMove(_runawayMove);
            _hero.SetMoveTarget(_hero);

            _sidekick.SetHealth(damage + 1);
            _sidekick.SetMove(_doNothingMove);
            _sidekick.SetMoveTarget(_sidekick);

            int typeIndex = Globals.EggMagicTypes.ToList().IndexOf(spellType);

            _chanceService.PushWhichEventsOccur(typeIndex, typeIndex, (typeIndex + 1) % 3, 1); //the 3 egg types and targetting the sidekick

            _battleManager.SuppressBattleIntroAndOutroMessages();
            _battleManager.Battle(_humanTeam, _enemyTeam);

            var outputs = _output.GetOutputs();

            Assert.AreEqual(5, outputs.Length); // 1 for each egg lay, 1 for actual attack, 1 to output how much damage the fighter took

            Assert.AreEqual(_castPrefix + spellName + "!\n", outputs[3].Message);

            Assert.AreEqual(1, _sidekick.CurrentHealth);
        }
Exemple #7
0
 public DancerBoss(FighterClass fighterClass, int level, IChanceService chanceService)
     : base("",
            level,
            LevelUpManager.GetHealthByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetManaByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetStrengthByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetDefenseByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetSpeedByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetEvadeByLevel <DancerBoss>(level, fighterClass),
            LevelUpManager.GetLuckByLevel <DancerBoss>(level, fighterClass),
            chanceService,
            SpellFactory.GetSpellsByLevel <DancerBoss>(level, fighterClass: fighterClass)
            , MoveFactory.GetMovesByLevel <DancerBoss>(level, fighterClass: fighterClass))
 {
     if (fighterClass == FighterClass.BossDancerKiki)
     {
         BaseName = "Kiki";
     }
     else if (fighterClass == FighterClass.BossDancerRiki)
     {
         BaseName = "Riki";
     }
     else
     {
         throw new ArgumentOutOfRangeException(nameof(fighterClass), "DancerBoss class can only be initialized with Kiki or Riki fighter class!");
     }
 }
        void TryCastPush(JToken parsed)
        {
            if (Entity.SpellCooldowns.ContainsKey(SpellFactory.PUSH_INDEX))
            {
                return;
            }

            var currWorld = Program.State.World;
            var currEnt   = currWorld.GetByID(Entity.ID);

            if (!ManaCheck(currEnt, SpellFactory.PUSH_MANA))
            {
                return;
            }
            Entity targetEnt;

            if (!TryGetTargetFromPosition(parsed[2], currWorld, out targetEnt))
            {
                return;
            }
            if (targetEnt.Team == currEnt.Team)
            {
                return;
            }
            if (!SpellFactory.CheckRange(currEnt, targetEnt, SpellFactory.PUSH_RANGE))
            {
                return;
            }

            var mut = new EntityCastSpellMutation(Entity.ID, SpellFactory.CreatePush(targetEnt.ID));

            Program.QueuedMutations[mut.Time].Enqueue(mut);
            _CastingSpell = true;
            UpdateVelocity();
        }
        void TryCastHealingStrike(JToken parsed)
        {
            if (Entity.SpellCooldowns.ContainsKey(SpellFactory.HEALING_STRIKE_INDEX))
            {
                return;
            }

            var currWorld = Program.State.World;
            var currEnt   = currWorld.GetByID(Entity.ID);

            if (!ManaCheck(currEnt, SpellFactory.HEALING_STRIKE_MANA))
            {
                return;
            }
            Vector2 target = new Vector2((float)parsed[2]["x"], (float)parsed[2]["y"]);
            var     mind   = Polygon2.MinDistance(currEnt.Attributes.Bounds, currEnt.Location, target);

            if (mind != null && mind.Item2 > SpellFactory.HEALING_STRIKE_RANGE)
            {
                return;
            }

            var mut = new EntityCastSpellMutation(Entity.ID, SpellFactory.CreateHealingStrike(target));

            Program.QueuedMutations[mut.Time].Enqueue(mut);
            _CastingSpell = true;
            UpdateVelocity();
        }
        public void CastEggs_ChaosEgg()
        {
            Spell spell  = SpellFactory.GetSpell("chaos egg");
            int   damage = spell.Power + _chicken.MagicStrength;

            _hero.SetHealth(damage + 1);
            _hero.SetMove(_doNothingMove, 4);
            _hero.SetMove(_runawayMove);
            _hero.SetMoveTarget(_hero);

            _sidekick.SetHealth(damage + 1);
            _sidekick.SetMove(_doNothingMove);
            _sidekick.SetMoveTarget(_sidekick);

            _chanceService.PushWhichEventsOccur(0, 1, 2);

            BattleManagerBattleConfiguration config = new BattleManagerBattleConfiguration
            {
                ShowIntroAndOutroMessages = false
            };

            _battleManager.Battle(_humanTeam, _enemyTeam, config: config);

            var outputs = _output.GetOutputs();

            Assert.AreEqual(7, outputs.Length); // 1 for each egg lay, 1 for actual attack, 3 to output how much damage each fighter took

            Assert.AreEqual($"{_castPrefix}chaos egg!\n", outputs[3].Message);

            Assert.AreEqual(1, _hero.CurrentHealth);
            Assert.AreEqual(1, _sidekick.CurrentHealth);
            Assert.AreEqual(_chicken.MaxHealth - damage, _chicken.CurrentHealth);
        }
Exemple #11
0
 private void InitPropertyDescription()
 {
     if (SpellID > 0)
     {
         CharacterSpell characterSpell = SpellFactory.CreateCharacterSpell((ECharacterSpell)SpellID);
         if (characterSpell != null)
         {
             GameConfig game = ConfigManager.Instance.Game;
             Single     p_magicFactor;
             if (ScrollTier == 1)
             {
                 p_magicFactor = game.ScrollNoviceMagicFactor;
             }
             else if (ScrollTier == 2)
             {
                 p_magicFactor = game.ScrollExpertMagicFactor;
             }
             else if (ScrollTier == 3)
             {
                 p_magicFactor = game.ScrollMasterMagicFactor;
             }
             else
             {
                 p_magicFactor = game.ScrollGrandmasterMagicFactor;
             }
             m_properties["SCROLL_EFFECT"]            = characterSpell.NameKey;
             m_properties["SCROLL_SPELL_DESCRIPTION"] = characterSpell.GetDescription(p_magicFactor);
         }
     }
 }
Exemple #12
0
        public HumanFighter(string name, int level, List <Spell> spells = null, List <SpecialMove> specialMoves = null)
            : base(name
                   , level
                   , LevelUpManager.GetHealthByLevel(level)
                   , LevelUpManager.GetManaByLevel(level)
                   , LevelUpManager.GetStrengthByLevel(level)
                   , LevelUpManager.GetDefenseByLevel(level)
                   , LevelUpManager.GetSpeedByLevel(level)
                   , LevelUpManager.GetEvadeByLevel(level)
                   , LevelUpManager.GetLuckByLevel(level)
                   , SpellFactory.GetSpellsByLevel <HumanFighter>(level)
                   , MoveFactory.GetMovesByLevel <HumanFighter>(level)
                   )
        {
            if (spells != null)
            {
                Spells.AddRange(spells);
            }

            if (specialMoves != null)
            {
                SpecialMoves.AddRange(specialMoves);
            }

            _extraSpecialMoves = new List <BattleMove>();
            CurrentExp         = LevelUpManager.GetExpForLevel(level);
            _expToNextLevel    = LevelUpManager.GetExpForLevel(level + 1);
        }
 public SpellWrapper(UnitySpellData spellData)
 {
     this.spellData   = spellData;
     spellsDictionary = new Dictionary <int, ISpellController>();
     spellFactory     = new SpellFactory(spellData);
     localSpells      = new List <ISpellController>();
     onlineSpells     = new List <ISpellController>();
 }
 // Use this for initialization
 void Start()
 {
     curFactory                = new HealFactory();
     spellDamage               = -1;
     spellQueueBox.color       = new Color(1, 1, 0);
     spellQueueText.text       = "";
     personsRemainingText.text = personsRemaining.ToString();
 }
Exemple #15
0
        public void Execute(LivingEntity actor, LivingEntity target)
        {
            string actorName  = (actor is Player) ? "Ty" : $" {actor.Name.ToLower()}";
            string targetName = (target is Player) ? "se" : $" {target.Name.ToLower()}";

            ReportResult($"{actorName} si {targetName} naučil nové kouzlo.");
            target.AddItemToInventory(SpellFactory.CreateSpell(_spellID));
        }
 public BattleObjectFactory(Vector <BattleObject> map, Engine.BattleEngine battleEngine)
 {
     _map             = map;
     _buildingFactory = new BuildingFactory(this, battleEngine);
     _unitFactory     = new UnitFactory(this, battleEngine);
     _bulletFactory   = new BulletFactory(this, battleEngine);
     _spellFactory    = new SpellFactory(this, battleEngine);
     _damageFactory   = new DamageFactory(this, battleEngine);
 }
        public void SetUp()
        {
            _menuInput   = new MockInput();
            _menuOutput  = new MockOutput();
            _menuManager = new TestMenuManager(_menuInput, _menuOutput);

            _player = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            Spell fireball   = SpellFactory.GetSpell(MagicType.Fire, 1);
            Spell earthSpell = SpellFactory.GetSpell(MagicType.Earth, 1);

            _player.AddSpell(fireball);
            _player.AddSpell(earthSpell);
            _player.SetMana(fireball.Cost);

            _playerTeam = new Team(_menuManager, _player);
            _enemyTeam  = new Team(_menuManager, (EnemyFighter)FighterFactory.GetFighter(FighterType.Goblin, 1));

            _menu = (Menu)Globals.MenuFactory.GetMenu(MenuType.ChooseAttackTypeMenu, _menuInput, _menuOutput);
            _menu.Build(_player, _playerTeam, _enemyTeam, null);

            _fullSpellMenuPrompt = new List <string>
            {
                $"Which spell would you like to cast?\n{_player.DisplayName} currently has {_player.CurrentMana} / {_player.MaxMana} Mana\n",
            };

            var spellMenu = (SpellSelectionMenu)Globals.MenuFactory.GetMenu(MenuType.ChooseSpellMenu);

            spellMenu.Build(_player, _playerTeam, _enemyTeam, null);

            var spellMenuActions = spellMenu.MenuActions;

            for (var i = 0; i < spellMenuActions.Count; ++i)
            {
                _fullSpellMenuPrompt.Add((i + 1) + ". " + spellMenuActions[i].DisplayText + "\n");
            }

            _fullSpellMenuPrompt.Add(StatusPrompt);
            _fullSpellMenuPrompt.Add(HelpPrompt);

            _fullMenuPrompt = new List <string>
            {
                "How would you like to fight?\n",
                "1. attack\n",
                "2. magic\n",
                StatusPrompt,
                HelpPrompt
            };

            _fullTargetMenuPrompt = new List <string>
            {
                "Who will you target for this action?\n",
                "1. " + _enemyTeam.Fighters[0].DisplayName + "\n",
                StatusPrompt,
                BackPrompt,
                HelpPrompt
            };
        }
Exemple #18
0
 public CastMonsterSpellInteraction(SpawnCommand p_command, Int32 p_parentID, Int32 p_commandIndex) : base(p_command, p_parentID, p_commandIndex)
 {
     m_parent            = Grid.FindInteractiveObject(m_parentID);
     m_interactiveObject = Grid.FindInteractiveObject(m_targetSpawnID);
     CreateDummyMonster();
     m_spell = SpellFactory.CreateMonsterSpell((EMonsterSpell)m_spellID, String.Empty, 1);
     m_spell.MonsterMagicPower         = m_magicFactor;
     m_dummyMonsterHandler.CastedSpell = m_spell;
 }
Exemple #19
0
        public override WordCorrectness IsCorrect(string word)
        {
            // Check the spelling.
            SpellFactory checker   = Plugin.SpellEngine["en_US"];
            bool         isCorrect = checker.Spell(word);

            return(isCorrect
                                ? WordCorrectness.Correct
                                : WordCorrectness.Incorrect);
        }
        public void TestGetSpellMethod_Level2([Values(MagicType.Fire, MagicType.Water, MagicType.Wind, MagicType.Earth)] MagicType type)
        {
            var ret      = SpellFactory.GetSpell(type, 2);
            var expected = _level2SpellCombos.First(sc => sc.Item1 == type);

            Assert.AreEqual(5, ret.Cost);
            Assert.AreEqual(type, ret.ElementalType);
            Assert.AreEqual(3, ret.Power);
            Assert.AreEqual(expected.Item2, ret.Description);
        }
Exemple #21
0
        //=====================================================================

        /// <inheritdoc />
        public void Dispose()
        {
            if (spellFactory != null)
            {
                spellFactory.Dispose();
                spellFactory = null;

                registeredServices.Clear();
            }
        }
Exemple #22
0
        //=====================================================================

        /// <summary>
        /// Private constructor
        /// </summary>
        /// <param name="culture">The language to use for the dictionary</param>
        /// <param name="spellFactory">The spell factory to use when checking words</param>
        private GlobalDictionary(CultureInfo culture, SpellFactory spellFactory)
        {
            this.Language     = culture;
            this.spellFactory = spellFactory;

            ignoredWords     = new HashSet <string>(StringComparer.OrdinalIgnoreCase);
            ignoredWordsFile = Path.Combine(SpellCheckerConfiguration.ConfigurationFilePath,
                                            culture.Name + "_Ignored.dic");

            this.LoadIgnoredWordsFile();
        }
Exemple #23
0
    private void InitializeSpellData()
    {
        JArray data = JArray.Parse(spellJson.text);

        foreach (var spell in data)
        {
            var spellResult = SpellFactory.GetSpell(spell);

            spellData.Add(spellResult.name, spellResult);
        }
    }
Exemple #24
0
 public void LoadResources()
 {
     SpellFactory.LoadSpells();
     AfflictionFactory.LoadAfflictions();
     RaceFactory.LoadTemplates();
     CharacterFactory.LoadCharacters();
     ArcheTypeFactory.LoadArcheTypes();
     SkillsetFactory.LoadSkillsets();
     SignatureSpellFactory.LoadSignatureSpells();
     NormalAttackFactory.LoadNormalAttacks();
     Party.Reset();
 }
Exemple #25
0
    public void ShowCurrentPreviewSpell(EnumElement?currentSelectedElement)
    {
        if (currentSelectedElement == null)
        {
            PreviewSpells.ForEach(p => p.Disable());
            return;
        }

        var type = SpellFactory.GetPreviewSpellType(Element, currentSelectedElement.Value);

        PreviewSpells.FirstOrDefault(p => p.Type == type).Enable();
    }
Exemple #26
0
        protected override void DoExecute()
        {
            CharacterSpell characterSpell = SpellFactory.CreateCharacterSpell((ECharacterSpell)m_spellID);

            if (characterSpell != null)
            {
                characterSpell.CastSpellByInteractiveObject(m_magicFactor);
                FinishExecution();
                return;
            }
            throw new Exception("Invalid spell ID " + m_spellID);
        }
    public override void cast(Champion champOwner)
    {
        SpellData spell = new SpellFactory().getSpell("abiScry");

        spell.champTag = champOwner.tag;
        GameObject.Find("Canvas").transform.Find("ScryCard").gameObject.GetComponent <GuiCardData>().cData  = champOwner.deck[0];
        GameObject.Find("Canvas").transform.Find("ScryCard").gameObject.GetComponent <GuiCardData> ().spell = true;
        GameObject.Find("Canvas").transform.Find("ScryCard").gameObject.SetActive(true);

        GameObject.Find("SpellManager").GetComponent <SpellManager> ().spell = spell;
        champOwner.photonView.RPC("setBusy", PhotonTargets.MasterClient, true);
    }
Exemple #28
0
 public void Setup()
 {
     _fighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Ted");
     _enemy   = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "enemy");
     _logger  = new EventLogger();
     _logger.SubscribeAll(_fighter);
     _logger.SubscribeAll(_enemy);
     _fireballSpell = SpellFactory.GetSpell(MagicType.Fire, 1);
     _fighter.AddSpell(_fireballSpell);
     _fighter.SetMana(_fireballSpell.Cost);
     _logger.ClearLogs();
 }
Exemple #29
0
 // Update is called once per frame
 void Update()
 {
     if (player.Minion && Input.GetKeyDown(KeyCode.Return))
     {
         var inputValue = ic.GetInputValue().Split(' ');
         Debug.Log(string.Format("Getted input value {0}", inputValue));
         Spell spell = SpellFactory.GetSpell(inputValue[0].ToLower());
         if (inputValue.Length >= 2)
         {
             spell?.Cast(player.Minion, inputValue[1].ToUpper());
         }
     }
 }
Exemple #30
0
 public Ogre(int level, IChanceService chanceService)
     : base("Ogre",
            level,
            LevelUpManager.GetHealthByLevel <Ogre>(level),
            LevelUpManager.GetManaByLevel <Ogre>(level),
            LevelUpManager.GetStrengthByLevel <Ogre>(level),
            LevelUpManager.GetDefenseByLevel <Ogre>(level),
            LevelUpManager.GetSpeedByLevel <Ogre>(level),
            LevelUpManager.GetEvadeByLevel <Ogre>(level),
            LevelUpManager.GetLuckByLevel <Ogre>(level),
            chanceService,
            SpellFactory.GetSpellsByLevel <Ogre>(level)
            , MoveFactory.GetMovesByLevel <Ogre>(level))
 {
 }