public static SpellData GetRandomMin(int level) { if (!_setup) { Init(); } return(AbilityFactory.BuildAbility(_spellMinLevels[level].RandomElement(), false).Get <SpellData>()); }
public static SpellData GetRandomMinNoDuplicate(int level, string skill, CharacterNode actor) { if (!_setup) { Init(); } var spellsContainer = actor.Entity.Get <SpellsContainer>(); int chk = 0; while (chk < 10000) { chk++; var template = _spellMinLevels[level].RandomElement(); if (template.Skill == skill && !spellsContainer.HasSpell(template)) { return(AbilityFactory.BuildAbility(template, false).Get <SpellData>()); } } return(null); }