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));
 }
Ejemplo n.º 2
0
        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));
            }
        }