Class: DefaultCombatXPModel
DLL: Talesworld CampaignSystem.dll
Feel free to change numbers
public override void GetXpFromHit(CharacterObject attackerTroop, CharacterObject captain, CharacterObject attackedTroop, PartyBase party, int damage, bool isFatal, CombatXpModel.MissionTypeEnum missionType, out int xpAmount)
{
int num = attackedTroop.MaxHitPoints();
float troopPowerBasedOnContext;
bla
Here:
----------------------------------------------------------
float num2 = 0.4f * ((troopPowerBasedOnContext + 0.5f) * (float)(Math.Min(damage, num) + (isFatal ? num : 0)));
num2 *= ((missionType == CombatXpModel.MissionTypeEnum.NoXp) ? 0f : ((missionType == CombatXpModel.MissionTypeEnum.PracticeFight) ? 0.0625f : ((missionType == CombatXpModel.MissionTypeEnum.Tournament) ? 0.33f : ((missionType == CombatXpModel.MissionTypeEnum.SimulationBattle) ? 0.9f : ((missionType == CombatXpModel.MissionTypeEnum.Battle) ? 1f : 1f)))));
---------------------------------------------------------------------------------------
ExplainedNumber explainedNumber = new ExplainedNumber(num2, false, null);
if (party != null)
{
this.GetBattleXpBonusFromPerks(party, ref explainedNumber, attackerTroop);
}
if (captain != null && captain.IsHero && captain.GetPerkValue(DefaultPerks.Leadership.InspiringLeader))
{
explainedNumber.AddFactor(DefaultPerks.Leadership.InspiringLeader.SecondaryBonus, DefaultPerks.Leadership.InspiringLeader.Name);
}
xpAmount = MathF.Round(explainedNumber.ResultNumber);
}