Athletic vs Riding

Users who are viewing this thread

Just don't swing the weapon. Go with the tip of your sword/polarm/mace to the looters face, chest. Run a circle and do it again and again.

Tipp: you get the best speed bonus when the looters flee. Run ahead of them and do the mechanic. It resolves in 10m speed dmg bonus(depend on gear and movement speed). But it is logical that you have more speed bonus when they flee, cause they don't stop and try to hit you. If you do it right they "run in your sword/polearm/mace :smile:
 
Last edited:
Just don't swing the weapon. Go with the tip of your sword/polarm/mace to the looters face, chest. Run a circle and do it again and again.

Tipp: you get the best speed bonus when the looters flee. Run ahead of them and do the mechanic. It resolves in 10m speed dmg bonus(depend on gear and movement speed). But it is logical that you have more speed bonus when they flee, cause they don't stop and try to hit you. If you do it right they "run in your sword/polearm/mace :smile:
Thanks for the tips, gonna try some tomorrow! Always a dream to get those +hp at the end of the skill tree!
 
I do not usually run after surrendered enemy for there is no renown for those kills it seems. When I hear "run away" I retreat. Ofc it is not the case when leveling not myself but units for they loose all exp they get if you retreat so no retreat in this case if you want them leveling.
 
i think a reason you get more experience on horse back is because your effective damage per second on horse is lower. your maneuverability isn't as good and you can't chop down as many foes in the same time. there's a huge accuracy penalty for shooting on horseback which makes landing a shot harder.
but there are also more opportunities for fighting on foot, like all arena and practice, most of siege and all bandit hideout fights.
 
i think a reason you get more experience on horse back is because your effective damage per second on horse is lower. your maneuverability isn't as good and you can't chop down as many foes in the same time. there's a huge accuracy penalty for shooting on horseback which makes landing a shot harder.
but there are also more opportunities for fighting on foot, like all arena and practice, most of siege and all bandit hideout fights.
That's certainly not the typical M&B experience though, mounted combat is pretty universally encouraged as the most effective and safe way to fight.
As far as HA, if you are still on a horse the penalty goes away and you still get massive riding and bow skill exp per shot.
 
As a modder who actually looked at the game code i can explain why riding levels so damn fast with archery.
Short version: riding skill xp = damage * shot difficulty * shot difficulty.
C#:
    public static void OnCombatHit(
      CharacterObject affectorCharacter,
      CharacterObject affectedCharacter,
      Hero captainHero,
      Hero commander,
      float speedBonusFromMovement,
      float shotDifficulty,
      WeaponComponentData affectorWeapon,
      float hitPointRatio,
      CombatXpModel.MissionTypeEnum missionType,
      bool isAffectorMounted,
      bool isTeamKill,
      bool isAffectorUnderCommand,
      float damageAmount,
      bool isFatal)
    {
      float f = 1f;
      if (isTeamKill)
        return;
      if (affectorCharacter.IsHero)
      {
        Hero heroObject = affectorCharacter.HeroObject;
        int xpAmount;
        Campaign.Current.Models.CombatXpModel.GetXpFromHit(heroObject.CharacterObject, affectedCharacter, heroObject.PartyBelongedTo?.Party, (int) damageAmount, isFatal, missionType, out xpAmount);
        f = (float) xpAmount;
        if (affectorWeapon != null)
        {
          SkillObject skillForWeapon = Campaign.Current.Models.CombatXpModel.GetSkillForWeapon(affectorWeapon);
          float num = skillForWeapon == DefaultSkills.Bow ? 0.5f : 1f;
          if ((double) shotDifficulty > 0.0)
            f += (float) MBMath.Floor(f * num * Campaign.Current.Models.CombatXpModel.GetXpMultiplierFromShotDifficulty(shotDifficulty));
          heroObject.AddSkillXp(skillForWeapon, (float) MBRandom.RoundRandomized(f));
        }
        else
          heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(f));
        if (isAffectorMounted)
        {
          float num1 = 0.1f;
          if ((double) speedBonusFromMovement > 0.0)
            num1 *= 1f + speedBonusFromMovement;
          else if ((double) shotDifficulty - 1.0 > 0.0)
          {
            int num2 = MathF.Round(shotDifficulty - 1f);
            if (num2 > 0)
              num1 += (float) num2;
          }
          if ((double) num1 > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Riding, (float) MBRandom.RoundRandomized(num1 * f));
        }
        else
        {
          float num = 0.2f;
          if ((double) speedBonusFromMovement > 0.0)
            num += 1.5f * speedBonusFromMovement;
          if ((double) num > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(num * f));
        }
      }
      if (commander == null || commander == affectorCharacter.HeroObject || commander.PartyBelongedTo == null)
        return;
      SkillLevelingManager.OnTacticsUsed(commander.PartyBelongedTo, (float) MathF.Ceiling(0.02f * f));
    }
Yes indeed. The game practically squares the shot difficult resulting in a way too high xp gain for riding.
Also archery levels faster than melee skills because of the extra xp from shot difficulty while melee is based purely on damage.

There is a mod that attempts to rebalance the leveling system and fix issues like these with the creative name of Leveling Rebalance. (Made by me)
 
As a modder who actually looked at the game code i can explain why riding levels so damn fast with archery.
Short version: riding skill xp = damage * shot difficulty * shot difficulty.
C#:
    public static void OnCombatHit(
      CharacterObject affectorCharacter,
      CharacterObject affectedCharacter,
      Hero captainHero,
      Hero commander,
      float speedBonusFromMovement,
      float shotDifficulty,
      WeaponComponentData affectorWeapon,
      float hitPointRatio,
      CombatXpModel.MissionTypeEnum missionType,
      bool isAffectorMounted,
      bool isTeamKill,
      bool isAffectorUnderCommand,
      float damageAmount,
      bool isFatal)
    {
      float f = 1f;
      if (isTeamKill)
        return;
      if (affectorCharacter.IsHero)
      {
        Hero heroObject = affectorCharacter.HeroObject;
        int xpAmount;
        Campaign.Current.Models.CombatXpModel.GetXpFromHit(heroObject.CharacterObject, affectedCharacter, heroObject.PartyBelongedTo?.Party, (int) damageAmount, isFatal, missionType, out xpAmount);
        f = (float) xpAmount;
        if (affectorWeapon != null)
        {
          SkillObject skillForWeapon = Campaign.Current.Models.CombatXpModel.GetSkillForWeapon(affectorWeapon);
          float num = skillForWeapon == DefaultSkills.Bow ? 0.5f : 1f;
          if ((double) shotDifficulty > 0.0)
            f += (float) MBMath.Floor(f * num * Campaign.Current.Models.CombatXpModel.GetXpMultiplierFromShotDifficulty(shotDifficulty));
          heroObject.AddSkillXp(skillForWeapon, (float) MBRandom.RoundRandomized(f));
        }
        else
          heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(f));
        if (isAffectorMounted)
        {
          float num1 = 0.1f;
          if ((double) speedBonusFromMovement > 0.0)
            num1 *= 1f + speedBonusFromMovement;
          else if ((double) shotDifficulty - 1.0 > 0.0)
          {
            int num2 = MathF.Round(shotDifficulty - 1f);
            if (num2 > 0)
              num1 += (float) num2;
          }
          if ((double) num1 > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Riding, (float) MBRandom.RoundRandomized(num1 * f));
        }
        else
        {
          float num = 0.2f;
          if ((double) speedBonusFromMovement > 0.0)
            num += 1.5f * speedBonusFromMovement;
          if ((double) num > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(num * f));
        }
      }
      if (commander == null || commander == affectorCharacter.HeroObject || commander.PartyBelongedTo == null)
        return;
      SkillLevelingManager.OnTacticsUsed(commander.PartyBelongedTo, (float) MathF.Ceiling(0.02f * f));
    }
Yes indeed. The game practically squares the shot difficult resulting in a way too high xp gain for riding.
Also archery levels faster than melee skills because of the extra xp from shot difficulty while melee is based purely on damage.

There is a mod that attempts to rebalance the leveling system and fix issues like these with the creative name of Leveling Rebalance. (Made by me)

Are there also differences between Crossbows and Bows? IMHO Crossbow skill levels a little bit slower than the Bow skill through use on foot. Or is this result of the fire rate?
 
Are there also differences between Crossbows and Bows? IMHO Crossbow skill levels a little bit slower than the Bow skill through use on foot. Or is this result of the fire rate?
Pulrely because of the rate of fire. Crossbows and javelins actually get twice the shot difficulty bonus compared to bows.
 
So how did those test go? I going to get the thamaskene spathion if it works :smile:
Well it does seem you get more skill from thrusting/piercing attacks, however it's still a absurd amount of stabbing guy in the face to go from 125-150.
Also, thrust attack is more situational then say a crush through over head, so I switched off between to two as if there's too many shield thrusts aren't getting through anywhere but an over head glaive will. I guess I also shot hundreds of people to death on foot though...
Well like I said it does give more skill exp, but athletics is still too slow.
 
Last edited:
My typical engagement of looters to farm athletics - I dismount, throw away any weapon leaving just sword or spear (though 1H is too good with perks in comparison with polearms set I guess) but sheating it having just shield to avoid taking damage from crazy stone trown by looters so I get close to them.

I move to the ride side bypassing first melee units and closing to those rock throwers. When they swtich to melee I throw shield away and strafe to the right to have closest enemy on the side of this group so sudenly I chargé him with piercing attack (thrusting) aiming for head but after hit I immediately fall back to avoid hits from his comrades. Just keeping strafing and attacking closest enemy on the side while kiting the rest.

Becasue I am strafing practically I move in big circle what is good for they wil not switch back to rocks for I am still Quite close to them. If I run away instead of circling some will switch to rocks and that is not much good for healing takes too much time. If they retreat I immediately retreat too to face them again for athletics is bad as it is when they are moving against you but totally bad when they run from you.
 
Well it does seem you get more skill from thrusting/piercing attacks, however it's still a absurd amount of stabbing guy in the face to go from 125-150.
Also, thrust attack is more situational then say a crush through over head, so I switched off between to two as if there's too many shield thrusts aren't getting through anywhere but an over head glaive will. I guess I also shot hundreds of people to death on foot though...
Well like I said it does give more skill exp, but athletics is still too slow.


that's way better then my method to do a huge amount of hideouts. :grin:
 
I crafted for myself a 2h sword. Decent armor, and a shield to get near the looters. I engage always the right flank of looters. Close enough I drop my shield and begin the stabbin/thrusting mechanic with the cycle. At 150 athletics I have mostly 330 dmg if I go for the head. After fighting 2 30er stacks of looters, alone, I get 1 athletic point. If I would swing than I would need 10x 30 looters packs. It's still a long way but atm the most effective way to lvl this skill.
 
Last edited:
As a modder who actually looked at the game code i can explain why riding levels so damn fast with archery.
Short version: riding skill xp = damage * shot difficulty * shot difficulty.
C#:
    public static void OnCombatHit(
      CharacterObject affectorCharacter,
      CharacterObject affectedCharacter,
      Hero captainHero,
      Hero commander,
      float speedBonusFromMovement,
      float shotDifficulty,
      WeaponComponentData affectorWeapon,
      float hitPointRatio,
      CombatXpModel.MissionTypeEnum missionType,
      bool isAffectorMounted,
      bool isTeamKill,
      bool isAffectorUnderCommand,
      float damageAmount,
      bool isFatal)
    {
      float f = 1f;
      if (isTeamKill)
        return;
      if (affectorCharacter.IsHero)
      {
        Hero heroObject = affectorCharacter.HeroObject;
        int xpAmount;
        Campaign.Current.Models.CombatXpModel.GetXpFromHit(heroObject.CharacterObject, affectedCharacter, heroObject.PartyBelongedTo?.Party, (int) damageAmount, isFatal, missionType, out xpAmount);
        f = (float) xpAmount;
        if (affectorWeapon != null)
        {
          SkillObject skillForWeapon = Campaign.Current.Models.CombatXpModel.GetSkillForWeapon(affectorWeapon);
          float num = skillForWeapon == DefaultSkills.Bow ? 0.5f : 1f;
          if ((double) shotDifficulty > 0.0)
            f += (float) MBMath.Floor(f * num * Campaign.Current.Models.CombatXpModel.GetXpMultiplierFromShotDifficulty(shotDifficulty));
          heroObject.AddSkillXp(skillForWeapon, (float) MBRandom.RoundRandomized(f));
        }
        else
          heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(f));
        if (isAffectorMounted)
        {
          float num1 = 0.1f;
          if ((double) speedBonusFromMovement > 0.0)
            num1 *= 1f + speedBonusFromMovement;
          else if ((double) shotDifficulty - 1.0 > 0.0)
          {
            int num2 = MathF.Round(shotDifficulty - 1f);
            if (num2 > 0)
              num1 += (float) num2;
          }
          if ((double) num1 > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Riding, (float) MBRandom.RoundRandomized(num1 * f));
        }
        else
        {
          float num = 0.2f;
          if ((double) speedBonusFromMovement > 0.0)
            num += 1.5f * speedBonusFromMovement;
          if ((double) num > 0.0)
            heroObject.AddSkillXp(DefaultSkills.Athletics, (float) MBRandom.RoundRandomized(num * f));
        }
      }
      if (commander == null || commander == affectorCharacter.HeroObject || commander.PartyBelongedTo == null)
        return;
      SkillLevelingManager.OnTacticsUsed(commander.PartyBelongedTo, (float) MathF.Ceiling(0.02f * f));
    }
Yes indeed. The game practically squares the shot difficult resulting in a way too high xp gain for riding.
Also archery levels faster than melee skills because of the extra xp from shot difficulty while melee is based purely on damage.

There is a mod that attempts to rebalance the leveling system and fix issues like these with the creative name of Leveling Rebalance. (Made by me)
Can't use mods on the betas.
I'm fine with fast leveling or riding and archery, I want TW to give the same formula to athletics too so it's as fast as riding.
I'd actually prefer it be like warband when I just kill dudes for exp and make choice as to what I want to improve.
Most skills are so slow to raise that the entire world will be mine long before they get to 200.
 
Can't use mods on the betas.
I'm fine with fast leveling or riding and archery, I want TW to give the same formula to athletics too so it's as fast as riding.
I'd actually prefer it be like warband when I just kill dudes for exp and make choice as to what I want to improve.
Most skills are so slow to raise that the entire world will be mine long before they get to 200.
My mod is compatible with beta 1.5.3.
It fixes all the issues you mentioned like the slow leveling of athletics and allows the player to reach skill level 300 within a sensible timeframe by changing the xp required to level up from a exponential function to a linear one.
 
As a modder who actually looked at the game code i can explain why riding levels so damn fast with archery.
Short version: riding skill xp = damage * shot difficulty * shot difficulty.
Hey, I've two questions about what you posted here !
First, I'm very interested into looking at the core working, so I'd like to know, where (and how) did you get this code ? Which file is it nested in, and what do I need to be able to extract it ?
Second, I admit that even after looking at it extensively, I don't see where the shot difficulty is squared. It's used to give a bonus amount to the weapon skill, and it's used to give a bonus to riding skill if the shot was made while being stationary, but that's all I managed to see.

The difference seems to me that shooting while mounted add experience to bow/crossbow AND riding, while shooting from foot add experience only to bow/crossbow, but that's something you already pointed.
 
Last edited:
Back
Top Bottom