in the DefaultPartySpeedCalculatingModel class its this
int num4 = mobileParty.MemberRoster.TotalManCount + additionalTroopOnFootCount + additionalTroopOnHorseCount;
=> mobileParty is an object from Partybase class
=>MemberRoster creates an object of TroopRoster class
=>TroopRoster has the "method" TotalManCount
float herdingModifier = this.GetHerdingModifier(num4, num3) ==> calls the Method "GetHerdingModifier" and give this Method the Parameters (num4=1 and num3=1 e.g.)
private float GetHerdingModifier(int totalMenCount, int herdSize) ===>>Method with Parameters. These Parameters get the values of the "call" . They can also be named e.g. private float GetHerdingModifier(int mami, int papi) it doesnt have any impact. But than the writing would be:
if(papi==0)
{
return -0.8f
}