public int GetSpellLevelNowTriggeredPerEncounterNew(CharacterStats.Class casterClass, int prevLevel, int newLevel) { switch (IEModOptions.PerEncounterSpellsSetting) { case IEModOptions.PerEncounterSpells.NoChange: return(GetSpellLevelNowTriggeredPerEncounterOriginal(casterClass, prevLevel, newLevel)); //default behaviour case IEModOptions.PerEncounterSpells.Levels_9_12: case IEModOptions.PerEncounterSpells.Levels_6_9_12: case IEModOptions.PerEncounterSpells.Levels_8_10_12_14: case IEModOptions.PerEncounterSpells.Levels_6_9_12_14: case IEModOptions.PerEncounterSpells.Levels_6_8_10_12_14: case IEModOptions.PerEncounterSpells.Levels_4_6_8_10_12_14: case IEModOptions.PerEncounterSpells.AllPerEncounter: case IEModOptions.PerEncounterSpells.AllPerRest: if (casterClass == CharacterStats.Class.Priest || casterClass == CharacterStats.Class.Wizard || casterClass == CharacterStats.Class.Druid) { int[] encounterLevel = GetModifiedEncounterData(); for (int j = 0; j < Grimoire.MaxSpellLevel; j++) { if (this.SpellCastMaxLookup(casterClass, newLevel, j + 1) > 0 && encounterLevel[j] > prevLevel && encounterLevel[j] <= newLevel) { return(j + 1); } } } return(0); default: goto case IEModOptions.PerEncounterSpells.NoChange; } }
public void mod_SetButtonsAnticlassSpells(CharacterStats stats) { this.Label = null; int num = 0; foreach (GenericAbility current in stats.Abilities) { if (current is GenericSpell) { CharacterStats.Class spellClass = ((GenericSpell)current).SpellClass; if (spellClass != stats.CharacterClass || !CharacterStats.IsPlayableClass(spellClass)) { if ((stats.CharacterClass == CharacterStats.Class.Wizard || stats.CharacterClass == CharacterStats.Class.Priest || stats.CharacterClass == CharacterStats.Class.Druid || stats.CharacterClass == CharacterStats.Class.Chanter || stats.CharacterClass == CharacterStats.Class.Cipher) && IEModOptions.HideAnticlassSpells) { } else { this.SetButton(num, current.gameObject, UIAbilityBarButtonSet.AbilityButtonAction.CAST_SPELL_ABILITY, current.Icon); num++; } } } } this.HideButtons(num); this.m_DoRefresh = true; }
public int GetSpellLevelNowTriggeredPerEncounterOriginal(CharacterStats.Class casterClass, int prevLevel, int newLevel) { throw new DeadEndException("Can't reach this body"); }