public List<Spell> Get2DomainSpellsWithRank(DnDClericDomain domain_1, DnDClericDomain domain_2, int rank) { ListCheck(); List<Spell> result = GetDomainAndRankSpells(domain_1, rank); result.AddRange(GetDomainAndRankSpells(domain_2, rank)); return result; }
public List <Spell> Get2DomainSpellsWithRank(DnDClericDomain domain_1, DnDClericDomain domain_2, int rank) { ListCheck(); List <Spell> result = GetDomainAndRankSpells(domain_1, rank); result.AddRange(GetDomainAndRankSpells(domain_2, rank)); return(result); }
private List <Spell> GetDomainSpells(DnDClericDomain domain) { ListCheck(); List <Spell> result = mSpells.FindAll( delegate(Spell temp) { return(temp.Contains(domain)); }); return(result); }
public bool Contains(DnDClericDomain domain) { foreach (SpellAttribute attribute in mDomains) { if (attribute.attributeValue == (int)domain) { return(true); } } return(false); }
/// <summary> /// Returns the spell's rank. cleric domain is checked before class, /// for best result only provide 1 (one) of these, never both. /// </summary> public int Rank(DnDClericDomain domain = DnDClericDomain.NONE, DnDCharClass charClass = DnDCharClass.NONE) { if (domain != DnDClericDomain.NONE) { for (int rank = 0; rank <= SpellAttribute.MAX_RANK; ++rank) { if (Contains(domain, rank)) { return(rank); } } } if (charClass != DnDCharClass.NONE) { for (int rank = 0; rank <= SpellAttribute.MAX_RANK; ++rank) { if (Contains(charClass, rank)) { return(rank); } } } return(-1); }
private List<Spell> GetDomainAndRankSpells(DnDClericDomain domain, int rank) { ListCheck(); List<Spell> result = mSpells.FindAll( delegate(Spell temp) { return temp.Contains(domain, rank); }); return result; }