Example #1
0
        public async Task <IActionResult> Edit(int id, Arcana arcana)
        {
            if (id != arcana.arcanaID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(arcana);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ArcanaExists(arcana.arcanaID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(arcana));
        }
Example #2
0
        public List <string[]> DoubleFusionsByArcana(Arcana arcana)
        {
            List <string[]> combinations = new List <string[]>();

            var rowLowerLimit = doubleFusion.GetLowerBound(0);
            var rowUpperLimit = doubleFusion.GetUpperBound(0);

            var colLowerLimit = doubleFusion.GetLowerBound(1);
            var colUpperLimit = doubleFusion.GetUpperBound(1);

            for (int row = rowLowerLimit; row <= rowUpperLimit; row++)
            {
                for (int col = colLowerLimit; col <= colUpperLimit; col++)
                {
                    if (doubleFusion[row, col] == arcana.ToString())
                    {
                        string[] item = new string[] { ((Arcana)row).ToString(), ((Arcana)col).ToString() };

                        if (!item.Contains(arcana.ToString()))
                        {
                            combinations.Add(item);
                        }
                    }
                }
            }

            return(combinations);
        }
Example #3
0
 public MagePath(string name, Arcana a1, Arcana a2, Arcana bad, string atb)
 {
     this.name = name;
     this.arcana1 = a1;
     this.arcana2 = a2;
     this.bad_arcana = bad;
     this.bonus_attribute = atb;
 }
Example #4
0
        public void Bonus_ArcanaSpecified_ShouldWork()
        {
            SetupCharacter();

            Skills arcana = new Arcana(true, true);

            Assert.AreEqual(-5, arcana.Bonus);
            Assert.IsTrue(arcana.Proficiency);
            Assert.IsTrue(arcana.Expertise);
        }
Example #5
0
        public List <string[]> HowDoIFuse(Arcana arcanaToFuse)
        {
            List <string[]> combinations = new List <string[]>();

            combinations.AddRange(fusionUtilities.DoubleFusionsByArcana(arcanaToFuse));

            combinations.AddRange(fusionUtilities.TripleFusionByArcana(arcanaToFuse));

            return(combinations);
        }
        public void ShouldReturnName()
        {
            //assign
            ISkill actualSkillBase = new Arcana();
            //act
            ITextObj name = actualSkillBase.Name();

            //assert
            name.Should().Be(new TextObj("Arcana"));
        }
        public void ShouldReturnWisdomAsBaseAttribute()
        {
            //arrange
            ISkill skill = new Arcana();
            ICharacterAttribute intellegenceAttribute = new IntellegenceAttribute();
            //act
            ICharacterAttribute actualAttribute = skill.BaseAttribute();

            //assert
            actualAttribute.Should().Be(intellegenceAttribute);
        }
Example #8
0
 public Spell(string n, string i, string d, string texpath, Arcana a, Usage u, int l, int m)
 {
     DisplayName  = n;
     InternalName = i;
     Description  = d;
     Arcana       = a;
     Level        = l;
     manaCost     = m;
     Usage        = u;
     tex2dpath    = texpath;
 }
Example #9
0
        public async Task <IActionResult> Create([Bind("arcanaID,Arcananame")] Arcana arcana)
        {
            if (ModelState.IsValid)
            {
                _context.Add(arcana);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(arcana));
        }
Example #10
0
 public int ReturnRequiredLevel(Arcana a)
 {
     if (Arcana == a)
     {
         return(Level - 3);
     }
     if ((int)Arcana == ((int)a - 3) || (int)Arcana == ((int)a - 3))
     {
         return(Level + 1);
     }
     return(Level);
 }
        public void ShouldReturnBonusOfBaseAttribute()
        {
            //arrange
            IntellegenceAttribute intellegenceAttribute = new IntellegenceAttribute(new AttributeScore(14));
            ISkill          arcana        = new Arcana(intellegenceAttribute);
            IAttributeScore expectedScore = new AttributeScore(2);
            //act
            IAttributeScore actualScore = arcana.SkillBonus();

            //assert
            actualScore.Should().Be(expectedScore);
        }
Example #12
0
    public void processSkill(int skillNum)
    {
        Arcana a = nextArcana();

        if (a != null)
        {
            a.attack(monsters[0]);

            //update turn map
            turnSpeeds[next] += a.speed;
            getNext();
        }
    }
Example #13
0
    public static void removePartyMember(int placement)
    {
        if (placement > 3 || party[placement] == null)
        {
            //can't do anything here
            return;
        }
        //otherwise, update the Arcana's vars and remove from party
        Arcana cur = party[placement];

        characterLvls[cur.getId()] = cur.getLevel();
        characterExps[cur.getId()] = cur.getExp();
        party[placement]           = null;
        partySize--;
    }
Example #14
0
    //End reference

    //sets up the Arcana variable for adding a party member
    public static void addPartyMember(int id, int placement)
    {
        if (placement > 3 || party[placement] != null)
        {
            //space occupied, we can't add a party member here
            return;
        }
        //otherwise, we can init an Arcana based on their id and known level and exp
        Arcana toAdd = loadFromId(id);

        toAdd.setLevel(characterLvls[id]);
        toAdd.setExp(characterExps[id]);

        party[placement] = toAdd;
        partySize++;
    }
Example #15
0
        public PlayerCharacter(Game game, int id, string n, int[] hpsp, int[] s, int[] g, string gra, Gender gen, Arcana a)
        {
            Name               = n;
            ID                 = id;
            StatGain           = g;
            Inventory.Capacity = 16;
            Spells.Capacity    = 8;
            //stats
            BattleStats = new BattleStats(null);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Strength, s[0]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Magic, s[1]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Dexterity, s[2]);


            BattleStats.MaxHP = hpsp[0];
            BattleStats.HP    = BattleStats.MaxHP;
            BattleStats.MaxSP = hpsp[1];
            BattleStats.SP    = BattleStats.MaxSP;
            this.Arcana       = a;

            foreach (KeyValuePair <Attributes, int> kvp in BattleStats.baseAttributes)
            {
                BattleStats.Attributes.Add(kvp.Key, kvp.Value);
            }
            BattleStats.baseResistances.Add(DamageTypes.Physical, 0);
            BattleStats.baseResistances.Add(DamageTypes.Fire, 0);
            BattleStats.baseResistances.Add(DamageTypes.Cold, 0);
            BattleStats.baseResistances.Add(DamageTypes.Electricity, 0);
            BattleStats.baseResistances.Add(DamageTypes.Poison, 0);
            BattleStats.baseResistances.Add(DamageTypes.Raw, 0);
            BattleStats.baseResistances.Add(DamageTypes.Light, 100);

            foreach (KeyValuePair <DamageTypes, int> kvp in BattleStats.baseResistances)
            {
                BattleStats.Resistances.Add(kvp.Key, kvp.Value);
            }

            for (int i = 0; i < Equips.Length; i++)
            {
                Equips[i] = null;
            }
            GraphicsFolderName = gra;
            Gender             = gen;
            Level = 1;
            GetLevelUps(game);
        }
Example #16
0
 public override string ToString()
 {
     return(Acrobatics.ToString() + ' ' +
            AnimalHandling.ToString() + ' ' +
            Arcana.ToString() + ' ' +
            Athletics.ToString() + ' ' +
            Deception.ToString() + ' ' +
            History.ToString() + ' ' +
            Insight.ToString() + ' ' +
            Intimidation.ToString() + ' ' +
            Investigation.ToString() + ' ' +
            Medicine.ToString() + ' ' +
            Nature.ToString() + ' ' +
            Perception.ToString() + ' ' +
            Performance.ToString() + ' ' +
            Persusion.ToString() + ' ' +
            Religion.ToString() + ' ' +
            SleightOfHand.ToString() + ' ' +
            Stealth.ToString() + ' ' +
            Survival.ToString());
 }
Example #17
0
        public Tuple<Persona, Persona> GetNextLowestAndNextHighestPersonaByArcana(Arcana arcana, double targetLevel)
        {
            Persona lower = new Persona();
            Persona higher = new Persona();

            lower = GetPersonaList(arcana).Where(o => o.ActualLevel <= targetLevel).OrderByDescending(o => o.ActualLevel).FirstOrDefault();
            if (lower == null)
            {
                lower = GetPersonaList(arcana).OrderBy(o => o.ActualLevel).FirstOrDefault();
            }

            higher = GetPersonaList(arcana).Where(o => o.ActualLevel >= targetLevel).OrderBy(o => o.ActualLevel).FirstOrDefault();
            if (higher == null)
            {
                higher = GetPersonaList(arcana).OrderByDescending(o => o.ActualLevel).FirstOrDefault();
            }

            Tuple<Persona, Persona> result = new Tuple<Persona, Persona>(lower, higher);

            return result;
        }
Example #18
0
    //processes an attack, then proceeds to the next Arcana turn
    public void processAttack()
    {
        Arcana a = nextArcana();

        if (a != null)
        {
            a.attack(monsters[0]);
            //update HP in UI
            e1.transform.GetChild(0).GetComponent <TextMeshPro>().text = "(" + monsters[0].curHP + " / " + monsters[0].totalHP + ")";

            //if all the monsters are dead, finish the combat!
            if (allMonstersDead())
            {
                endCombat();
            }
            else
            {
                //update turn map
                turnSpeeds[next] += a.speed;
                getNext();
            }
        }
    }
Example #19
0
 public List<Persona> GetPersonaList(Arcana arcana)
 {
     return GetPersonaList().Where(o => o.Arcana == arcana).OrderBy(o => o.ActualLevel).ToList<Persona>();
 }
Example #20
0
        public PlayerCharacter(Game game, CharacterSave charsave)
        {
            ID                = charsave.ID;
            BattleStats       = new BattleStats(null);
            Name              = charsave.Name;
            BattleStats.HP    = charsave.HpSp[0];
            BattleStats.MaxHP = charsave.HpSp[1];
            BattleStats.SP    = charsave.HpSp[2];
            BattleStats.MaxSP = charsave.HpSp[3];
            BattleStats.baseAttributes.Add(Magicians.Attributes.Strength, charsave.Stats[0]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Magic, charsave.Stats[1]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Dexterity, charsave.Stats[2]);
            StatGain           = charsave.StatGain.ToArray();
            Inventory.Capacity = 16;
            Spells.Capacity    = 8;
            foreach (KeyValuePair <Attributes, int> kvp in BattleStats.baseAttributes)
            {
                BattleStats.Attributes.Add(kvp.Key, kvp.Value);
            }
            BattleStats.baseResistances.Add(DamageTypes.Physical, 0);
            BattleStats.baseResistances.Add(DamageTypes.Fire, 0);
            BattleStats.baseResistances.Add(DamageTypes.Cold, 0);
            BattleStats.baseResistances.Add(DamageTypes.Electricity, 0);
            BattleStats.baseResistances.Add(DamageTypes.Poison, 0);
            BattleStats.baseResistances.Add(DamageTypes.Raw, 0);
            BattleStats.baseResistances.Add(DamageTypes.Light, 100);

            foreach (KeyValuePair <DamageTypes, int> kvp in BattleStats.baseResistances)
            {
                BattleStats.Resistances.Add(kvp.Key, kvp.Value);
            }
            this.Arcana = charsave.Arcana;
            for (int i = 0; i < charsave.Inventory.Count; i++)
            {
                Inventory.Add(game.Items.Find(p => p.InternalName == charsave.Inventory[i]));
            }
            for (int i = 0; i < charsave.Equips.Length; i++)
            {
                for (int e = 0; e < Inventory.Count; e++)
                {
                    if (Inventory[e].InternalName == charsave.Equips[i])
                    {
                        EquipItem(e);
                    }
                }
            }
            for (int i = 0; i < charsave.Spells.Count; i++)
            {
                for (int x = 0; x < game.Spells.Count; x++)
                {
                    if (game.Spells[x].InternalName == charsave.Spells[i])
                    {
                        LearnSpell(game.Spells[x]);
                        break;
                    }
                }
            }

            Level        = charsave.Level;
            Exp          = charsave.Exp;
            TotalExp     = charsave.TotalExp;
            NextLevelExp = charsave.NextLevelExp;
            BattleStats.RecalculateStats();
            GraphicsFolderName = charsave.SpriteFolder;
            Gender             = charsave.Gender;
            if (Spells.Count > 8)
            {
                Spells.RemoveRange(8, Spells.Count - 8);
            }
            Spells.Capacity = 8;
            GetLevelUps(game);

            LearnableSpellLevels = charsave.LearnLevels;
            if (charsave.LearnSpells != null)
            {
                foreach (string s in charsave.LearnSpells)
                {
                    var spell = game.Spells.Find(spl => spl.InternalName == s);
                    if (spell != null)
                    {
                        LearnableSpells.Add(spell);
                    }
                }
            }
        }
Example #21
0
        //creating characters from an XML element
        public PlayerCharacter(Game game, XElement element)
        {
            ID   = int.Parse(element.Attribute("id").Value);
            Name = element.Attribute("name").Value;
            GraphicsFolderName = element.Attribute("spriteDir").Value;
            Level        = int.Parse(element.Attribute("level").Value);
            Exp          = int.Parse(element.Attribute("exp").Value);
            NextLevelExp = int.Parse(element.Attribute("nextExp").Value);
            TotalExp     = uint.Parse(element.Attribute("totalExp").Value);
            switch (element.Attribute("gender").Value)
            {
            case "Male": Gender = Gender.Male; break;

            case "Female": Gender = Gender.Female; break;
            }
            switch (element.Attribute("arcana").Value)
            {
            case "Light": Arcana = Arcana.Light; break;

            case "Shadow": Arcana = Arcana.Shadow; break;

            case "Fire": Arcana = Arcana.Fire; break;

            case "Water": Arcana = Arcana.Water; break;

            case "Earth": Arcana = Arcana.Earth; break;

            case "Wind": Arcana = Arcana.Wind; break;
            }
            Inventory.Capacity     = 16;
            Spells.Capacity        = 8;
            BattleStats            = new BattleStats(null);
            BattleStats.MaxHP      = int.Parse(element.Attribute("maxHP").Value);
            BattleStats.MaxSP      = int.Parse(element.Attribute("maxSP").Value);
            BattleStats.HP         = int.Parse(element.Attribute("hp").Value);
            BattleStats.SP         = int.Parse(element.Attribute("sp").Value);
            BattleStats.baseArmour = int.Parse(element.Attribute("armour").Value);
            var statEls = element.Element("Stats").Descendants("Stat").ToArray <XElement>();

            BattleStats.baseAttributes.Add(Magicians.Attributes.Strength, int.Parse(statEls[0].Value));
            BattleStats.baseAttributes.Add(Magicians.Attributes.Magic, int.Parse(statEls[1].Value));
            BattleStats.baseAttributes.Add(Magicians.Attributes.Dexterity, int.Parse(statEls[2].Value));
            foreach (KeyValuePair <Attributes, int> kvp in BattleStats.baseAttributes)
            {
                BattleStats.Attributes.Add(kvp.Key, kvp.Value);
            }
            var statGns = element.Element("Gains").Descendants("Gain").ToArray <XElement>();
            var gns     = new List <int>();

            gns.Add(int.Parse(statGns[0].Value));
            gns.Add(int.Parse(statGns[1].Value));
            gns.Add(int.Parse(statGns[2].Value));
            StatGain[0] = gns[0];
            StatGain[1] = gns[1];
            StatGain[2] = gns[2];
            BattleStats.baseResistances.Add(DamageTypes.Physical, 0);
            BattleStats.baseResistances.Add(DamageTypes.Fire, 0);
            BattleStats.baseResistances.Add(DamageTypes.Cold, 0);
            BattleStats.baseResistances.Add(DamageTypes.Electricity, 0);
            BattleStats.baseResistances.Add(DamageTypes.Poison, 0);
            BattleStats.baseResistances.Add(DamageTypes.Raw, 0);
            BattleStats.baseResistances.Add(DamageTypes.Light, 100);
            foreach (KeyValuePair <DamageTypes, int> kvp in BattleStats.baseResistances)
            {
                BattleStats.Resistances.Add(kvp.Key, kvp.Value);
            }
            var items = element.Element("Items").Descendants("Item").ToList();

            for (int i = 0; i < items.Count; i++)
            {
                Inventory.Add(game.Items.Find(p => p.InternalName == items[i].Value));
            }
            var spells = element.Element("Spells").Descendants("Spell").ToList();

            for (int i = 0; i < spells.Count; i++)
            {
                Spells.Add(game.Spells.Find(p => p.InternalName == spells[i].Value));
            }
            Equips = new EquippableItem[4];
            var equipEls = element.Element("Equips").Descendants("Equip").ToArray();

            for (int i = 0; i < equipEls.Length; i++)
            {
                for (int e = 0; e < Inventory.Count; e++)
                {
                    if (Inventory[e].InternalName == equipEls[i].Value)
                    {
                        EquipItem(e);
                    }
                }
            }
            var learnSpells = element.Element("LearnSpells").Descendants("LevelSpell").ToArray();

            for (int i = 0; i < learnSpells.Length; i++)
            {
                var args = learnSpells[i].Value.Split('|');
                LearnableSpellLevels.Add(int.Parse(args[0]));
                LearnableSpells.Add(game.Spells.Find(p => p.InternalName == args[1]));
            }
        }
Example #22
0
        public List<Tuple<Arcana, Arcana>> FusionSearch(Arcana desiredArcana)
        {
            List<Tuple<Arcana, Arcana>> combinations = new List<Tuple<Arcana, Arcana>>();

            combinations.AddRange(fusionArcanaModel.GetDoubleFusionParametersByArcana(desiredArcana));

            combinations.AddRange(fusionArcanaModel.GetTripleFusionParametersByArcana(desiredArcana));

            return combinations;
        }
Example #23
0
        public override void Update(GameTime gameTime)
        {
            var drawVector = new Point(game.GetScreenWidth() / 2 - 350, game.GetScreenHeight() / 2 - 295);

            if (displayTutHighlight)
            {
                if (tutHighlightIncr)
                {
                    highlightAlpha += 0.5f;
                    if (highlightAlpha > 255)
                    {
                        tutHighlightIncr = false;
                    }
                }
                if (!tutHighlightIncr)
                {
                    highlightAlpha -= 0.5f;
                    if (highlightAlpha < 1)
                    {
                        tutHighlightIncr = true;
                    }
                }
            }
            if (canAdvanceToNextStage())
            {
                NextButton.Update(gameTime);
            }
            BackButton.Update(gameTime);
            switch (stage)
            {
            case (Stage.Naming):
            {
                if (nameInputActive)
                {
                    bool capslock = Console.CapsLock;
                    cursorTimer += (float)gameTime.ElapsedGameTime.TotalSeconds;
                    if (cursorTimer > 0.4)
                    {
                        displayCursor = !displayCursor;
                        cursorTimer   = 0;
                    }
                    if (playerName.Length < 10)
                    {
                        foreach (Keys key in keys)
                        {
                            if (game.Input.IsKeyReleased(key))
                            {
                                var s = key.ToString();
                                if (!game.Input.IsKeyPressed(Keys.LeftShift) && !game.Input.IsKeyPressed(Keys.RightShift) && !capslock)
                                {
                                    s = s.ToLower();
                                }
                                playerName = playerName.Insert(cursorPosition, s);
                                cursorPosition++;
                                game.Audio.PlaySound("Type", true);
                                break;
                            }
                        }
                        if (game.Input.IsKeyReleased(Keys.Space))
                        {
                            playerName = playerName.Insert(cursorPosition, " ");
                            cursorPosition++;
                        }
                        if (game.Input.IsKeyReleased(Keys.OemTilde))
                        {
                            playerName = playerName.Insert(cursorPosition, "'");
                            cursorPosition++;
                        }
                    }
                    if (game.Input.IsKeyReleased(Keys.Back) && cursorPosition > 0)
                    {
                        playerName = playerName.Remove(cursorPosition - 1, 1);
                        cursorPosition--;
                    }
                    if (game.Input.IsKeyReleased(Keys.Left) && cursorPosition != 0)
                    {
                        cursorPosition--;
                    }
                    if (game.Input.IsKeyReleased(Keys.Right) && cursorPosition != playerName.Length)
                    {
                        cursorPosition++;
                    }
                }
                var mRectangle = new Rectangle(baseOffset.X + 160, baseOffset.Y + 282, 70, 70);
                var fRectangle = new Rectangle(baseOffset.X + 460, baseOffset.Y + 282, 70, 70);
                if (game.Input.HasMouseClickedOnRectangle(mRectangle))
                {
                    gender = Gender.Male;
                }
                if (game.Input.HasMouseClickedOnRectangle(fRectangle))
                {
                    gender = Gender.Female;
                }
                var nameBarRec = new Rectangle(drawVector.X + 100, drawVector.Y + 132, 500, 68);
                var background = new Rectangle(drawVector.X, drawVector.Y, 600, 470);
                if (game.Input.HasMouseClickedOnRectangle(background))
                {
                    nameInputActive = false;
                }
                if (game.Input.HasMouseClickedOnRectangle(nameBarRec))
                {
                    nameInputActive = true;
                }
                break;
            }

            case (Stage.Arcana):
            {
                for (int i = 0; i < arcanaRecs.Length; i++)
                {
                    if (game.Input.HasMouseClickedOnRectangle(arcanaRecs[i]))
                    {
                        selectedArcana = (Arcana)i;
                    }
                }
                break;
            }

            case (Stage.Attributes):
            {
                drawVector = new Point(game.GetScreenWidth() / 2 - 240, game.GetScreenHeight() / 2 - 230);
                for (int i = 0; i < AttributeButtons.Length; i++)
                {
                    if (AttributeButtons[i].Activated())
                    {
                        switch (i)
                        {
                        case (0): { PlusAttribute(Attributes.Strength); break; }

                        case (1): { MinusAttribute(Attributes.Strength); break; }

                        case (2): { PlusAttribute(Attributes.Magic); break; }

                        case (3): { MinusAttribute(Attributes.Magic); break; }

                        case (4): { PlusAttribute(Attributes.Dexterity); break; }

                        case (5): { MinusAttribute(Attributes.Dexterity); break; }
                        }
                    }
                }
                break;
            }
            }
            drawVector = new Point(game.GetScreenWidth() / 2 - 350, game.GetScreenHeight() / 2 - 295);
            var navigationButtons = new Rectangle[2];

            navigationButtons[0] = new Rectangle(drawVector.X + 565, drawVector.Y + 533, 61, 50);
            navigationButtons[1] = new Rectangle(drawVector.X + 631, drawVector.Y + 533, 61, 50);
            if (game.Input.HasMouseClickedOnRectangle(navigationButtons[0]))
            {
                this.stage--;
            }
            if (game.Input.HasMouseClickedOnRectangle(navigationButtons[1]) && canAdvanceToNextStage())
            {
                if (this.stage == Stage.Finish)
                {
                    CreateMainCharacter();
                    game.CloseUIWindow();
                    game.worldUI.display = false;
                }
                this.stage++;
            }
            if (stage == 0)
            {
                game.BeginSceneChange(Game.GameScenes.MainMenu);
                ((Map)game.Scene).EventManager.Events.Clear();
                game.Audio.SetAmbience("AmbWindOutside", 40);
                game.CloseUIWindow();
                game.worldUI.display = false;
            }
            stage = (Stage)MathHelper.Clamp((int)stage, 1, 5);
        }
        public List<Tuple<Arcana, Arcana>> GetTripleFusionParametersByArcana(Arcana desiredResult)
        {
            List<Tuple<Arcana, Arcana>> combinations = new List<Tuple<Arcana, Arcana>>();

            var rowLowerLimit = tripleFusion.GetLowerBound(0);
            var rowUpperLimit = tripleFusion.GetUpperBound(0);

            var colLowerLimit = tripleFusion.GetLowerBound(1);
            var colUpperLimit = tripleFusion.GetUpperBound(1);

            for (int row = rowLowerLimit; row <= rowUpperLimit; row++)
            {
                for (int col = colLowerLimit; col <= colUpperLimit; col++)
                {
                    if (tripleFusion[row, col] == desiredResult)
                    {
                        Tuple<Arcana, Arcana> item = new Tuple<Arcana, Arcana>((Arcana)row, (Arcana)col);

                        if (!(item.Item1 == desiredResult || item.Item2 == desiredResult))
                        {
                            combinations.Add(item);
                        }
                    }
                }
            }

            return combinations;
        }
 public List <Persona> GetPersonaListByArcana(Arcana arcana)
 {
     return(personaModel.GetPersonaList(arcana));
 }
 public Arcana GetDoubleFusionResultingArcana(Arcana first, Arcana second)
 {
     return doubleFusion[(int)first, (int)second];
 }
Example #27
0
 public List <Persona> GetPersonaList(Arcana arcana)
 {
     return(personaList.Where(o => o.Arcana == arcana).OrderBy(o => o.InitialLevel).ToList <Persona>());
 }
Example #28
0
 /// <inheritdoc/>
 public override bool DoesModelPassFilter(string filter) =>
 Name.Contains(filter, StringComparison.OrdinalIgnoreCase) ||
 Arcana.Contains(filter, StringComparison.OrdinalIgnoreCase) ||
 Level.ToString().Contains(filter) ||
 Stats.DoesModelPassFilter(filter) ||
 ElementAffinities.DoesModelPassFilter(filter);