private void CheckForWeaponTraining() { if (AdvancedWeaponTraining.WieldsWeaponFromFighterGroup(base.Owner, WeaponTraining)) { int WeaponTrainingValue = AdvancedWeaponTraining.GetWeaponTrainingRank(base.Owner, WeaponTraining); int acBonus = 1; if (WeaponTrainingValue >= 4) { acBonus += 1; } int weaponEnhancementBonus = AdvancedWeaponTraining.GetWeaponEnhancementBonus(base.Owner); acBonus += weaponEnhancementBonus / 2; if (OldValue != acBonus) { Deactivate(); Activate(acBonus); } } else { Deactivate(); } }
private void CheckForWeaponTraining() { if (AdvancedWeaponTraining.WieldsWeaponFromFighterGroup(base.Owner, WeaponTraining)) { int newValue = AdvancedWeaponTraining.GetWeaponTrainingRank(base.Owner, WeaponTraining); if (OldValue != newValue) { Deactivate(); Activate(newValue); } } else { Deactivate(); } }
private void ManageModifier() { if (AdvancedWeaponTraining.WieldsWeaponFromFighterGroup(base.Owner, WeaponTraining)) { int value = AdvancedWeaponTraining.GetWeaponTrainingRank(base.Owner, WeaponTraining); if (Modifier == null || Modifier.ModValue != value) { Deactivate(); Activate(value); } } else { if (Modifier != null) { base.Owner.Stats.SaveReflex.RemoveModifier(Modifier); } } }
private static bool Prefix(BlueprintAbilityResource __instance, UnitDescriptor unit, ref int __result) { if (__instance.GetType() == typeof(WarriorSpiritPoolLogic)) { __result = 0; if (unit.Progression.GetClassLevel(Helpers.fighterClass) >= 5) { int basePool = 1; int weaponTrainingValue = AdvancedWeaponTraining.GetWeaponTrainingRank(unit, ((WarriorSpiritPoolLogic)__instance).WeaponTraining); __result = basePool + weaponTrainingValue; } return(false); } return(true); }