public static bool HasValidWeapon(Pawn pawn) { var primaryWeaponVerb = FireProperties.GetEquippedWeaponVerb(pawn); if (primaryWeaponVerb?.verbProps?.defaultProjectile?.projectile == null) { return(false); } if (primaryWeaponVerb.verbProps.defaultProjectile.projectile.explosionRadius > 0.2f) { // Can't handle explosive projectiles yet return(false); } // TODO check if projectile is flyOverhead return(true); }
public static float GetEquippedWeaponRange(Pawn pawn) { var primaryWeaponVerb = FireProperties.GetEquippedWeaponVerb(pawn); return(primaryWeaponVerb?.verbProps.range ?? 0); }