public override bool ShouldSkip(Pawn pawn, bool forced = false) { if (CompatibilityUtility.IsGuest(pawn)) { return(true); } if (forced) { return(pawn.WorkTagIsDisabled(WorkTags.Violent)); } return(CombatTrainingTracker.ShouldSkipCombatTraining(pawn)); }
public void LearnAttackSkill() { Verb verbToUse = pawn.jobs.curJob.verbToUse; float xp = CalculateXp(verbToUse, pawn); if (verbToUse.verbProps.IsMeleeAttack) { pawn.skills.Learn(SkillDefOf.Melee, xp); CombatTrainingTracker.TrackPawnMeleeSkill(pawn, pawn.skills.GetSkill(SkillDefOf.Melee)); } else { pawn.skills.Learn(SkillDefOf.Shooting, xp); CombatTrainingTracker.TrackPawnShootingSkill(pawn, pawn.skills.GetSkill(SkillDefOf.Shooting)); } }