public static bool WieldsWeaponFromFighterGroup(UnitDescriptor owner, BlueprintFeature weaponTraining) { WeaponGroupAttackBonus weaponGroupAttackBonus = weaponTraining.GetComponent <WeaponGroupAttackBonus>(); if (weaponGroupAttackBonus != null) { return((owner.Body.PrimaryHand.MaybeWeapon != null && owner.Body.PrimaryHand.MaybeWeapon.Blueprint.FighterGroup == weaponGroupAttackBonus.WeaponGroup) || (owner.Body.SecondaryHand.MaybeWeapon != null && owner.Body.SecondaryHand.MaybeWeapon.Blueprint.FighterGroup == weaponGroupAttackBonus.WeaponGroup)); } WeaponParametersAttackBonus weaponParametersAttackBonus = weaponTraining.GetComponent <WeaponParametersAttackBonus>(); if (weaponParametersAttackBonus != null) { return(weaponParametersAttackBonus.OnlyTwoHanded && owner.Body.PrimaryHand.MaybeWeapon != null && owner.Body.PrimaryHand.MaybeWeapon.Blueprint.IsTwoHanded); } return(false); }
private static String getWeaponTrainingName(BlueprintFeature weaponTraining, bool removeBlanks = false) { String toReturn = ""; WeaponGroupAttackBonus weaponGroupAttackBonus = weaponTraining.GetComponent <WeaponGroupAttackBonus>(); if (weaponGroupAttackBonus != null) { switch (weaponGroupAttackBonus.WeaponGroup) { case WeaponFighterGroup.Axes: toReturn = "Axes"; break; case WeaponFighterGroup.BladesHeavy: toReturn = "Blades, Heavy"; break; case WeaponFighterGroup.BladesLight: toReturn = "Blades, Light"; break; case WeaponFighterGroup.Bows: toReturn = "Bows"; break; case WeaponFighterGroup.Close: toReturn = "Close"; break; case WeaponFighterGroup.Crossbows: toReturn = "Crossbows"; break; case WeaponFighterGroup.Double: toReturn = "Double"; break; case WeaponFighterGroup.Flails: toReturn = "Flails"; break; case WeaponFighterGroup.Hammers: toReturn = "Hammers"; break; case WeaponFighterGroup.Monk: toReturn = "Monk"; break; case WeaponFighterGroup.Natural: toReturn = "Natural"; break; case WeaponFighterGroup.None: toReturn = "Unknown"; break; case WeaponFighterGroup.Polearms: toReturn = "Polearms"; break; case WeaponFighterGroup.Spears: toReturn = "Spears"; break; case WeaponFighterGroup.Thrown: toReturn = "Thrown"; break; } } else { WeaponParametersAttackBonus weaponParametersAttackBonus = weaponTraining.GetComponent <WeaponParametersAttackBonus>(); if (weaponParametersAttackBonus.OnlyTwoHanded) { toReturn = "Two-Handed"; } } if (removeBlanks) { toReturn = toReturn.Trim(); } return(toReturn); }