• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

MemeWizard

Second Lieutenant
26 Badges
Dec 18, 2016
140
20
  • Surviving Mars
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Federations
  • Crusader Kings III
  • Age of Wonders III
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II
  • Warlock: Master of the Arcane
One line summary of your issue
[3.1 KKAD] heavy_cavalry unit modifiers don't work for modded special units

Game Version
3.1 KKAD

What expansions do you have installed?
All of the above

Do you have mods enabled?
Yes

Please explain your issue is in as much detail as possible.
3.0 changelog:
Code:
Added command modifiers "light_cavalry", "knights", "archers", "pikemen", "actual_light_infantry", and "actual_heavy_infantry", which boost those specific units

Actually, these modifiers boost not only those specific units, but also special units, that based on those units, excluding knights special units.

Light cavalry gets bonuses from "light_cavalry" and "cavalry"
Special units based on light cavalry (horse archers, for example) gets bonuses from "light_cavalry" and "cavalry"
Heavy cavalry gets bonuses from "knights" and "cavalry"
Any special units based on heavy cavalry don't gets bonuses from "knights" and "cavalry"

Do you have mods enabled? / No

In vanilla everything works as it should - elephants do not receive bonuses from "cavalry" and "knights" modifiers, but

Do you have mods enabled? / Yes

Any special units that were added by the modification and based on knights, will also not receive bonuses from "cavalry" and "knights" modifiers

Steps to reproduce the issue.
Any special units that are based on knights will not receive bonuses from "knights" and "cavalry" modifiers
You can create a new special unit or change the base type of an existing one to verify this
You can change camel_cavalry base_type to heavy_cavalry and camel_cavalry special unit will not get bonuses from "cavalry" and "knights" modifiers (See MOD_1 and MOD_2
Attached Files)

Upload Attachment
 

Attachments

  • ck2_14.png
    ck2_14.png
    2,1 MB · Views: 5
  • ck2_1.png
    ck2_1.png
    2,2 MB · Views: 5
  • ck2_2.png
    ck2_2.png
    2,2 MB · Views: 5
  • ck2_4.png
    ck2_4.png
    2,2 MB · Views: 5
  • MOD_1.png
    MOD_1.png
    2,2 MB · Views: 6
  • MOD_2.png
    MOD_2.png
    2,2 MB · Views: 3
Last edited:
Upvote 0
Any special units based on heavy cavalry don't gets bonuses from "knights" and "cavalry"

Do you have mods enabled? / No

In vanilla everything works as it should - elephants do not receive bonuses from "cavalry" and "knights" modifiers, but

Do you have mods enabled? / Yes

Any special units that were added by the modification and based on knights, will also not receive bonuses from "cavalry" and "knights" modifiers

You can change camel_cavalry base_type to heavy_cavalry and camel_cavalry special unit will not get bonuses from "cavalry" and "knights" modifiers

If I had to guess, I'd say it's related to this:

[With v 2.1] War Elephants were given "base_type = heavy_cavalry" [in the special troops file]. The intention seems to have been to make them a form of Heavy Cavalry, but Heavy Cavalry aren't called "heavy_cavalry" but "knights" (at least in the combat tactics file), so my interpretation is that this was an error (similar to a later error that will pop up in an update to the combat tactics file). It remains "unfixed" in v 2.8.x. This error is good in that it prevents War Elephants from firing Heavy Cavalry tactics, but it's bad in that it seems to mess up calculations of a flank's composition.

The patch notes [for v 2.4] mention having "fixed a minor error in the tactics script", which I assume refers to Feint, which had been affected by an error in its bonuses and penalties section that referred to the Heavy Cavalry unit as "heavy_cavalry" instead of "knights". This error had existed since 2.2.1. Compare it to the "base_type = heavy_cavalry" error for War Elephants in the special_troops file, which has existed since 2.1.x.