UnofficialCrusaderPatch / UnofficialCrusaderPatch2

Unofficial balancing patch installer for Stronghold Crusader 1
MIT License
431 stars 59 forks source link

Add starting troops to the AI parameters in the AIC files #459

Closed ByBurton closed 4 years ago

ByBurton commented 4 years ago

As mentioned in #156 by Juggernaut:

It is stored in a separate array gStartupTroopCount[19][3][20] [StartupTroopGroupType (AIType or 18 + LordType for human)][GameType][StartupTroopType] pgStartupTroopCount = (int*)0x00614358 for v1.3

It would be super useful if those values could be changed for each AI in the ai personality parameters. There would be a few different values for it though. Starting unit types (up to 3 probably?) Starting unit amounts for each type. And all these for each game type (3 game types (or does deathmatch and normal count as the same for troops?) which all have different starting fairness options as well).

Which would mean that we have per fairness level per game type 3 unit types and 3 unit amounts. I have no idea how this could be simplified. (Would be 2 5 6 = 60 parameters if we do not count deathmatch towards it, as it has the same starting units as normal match)

ilosevsrat commented 4 years ago

go Burton go!

ByBurton commented 4 years ago

@ilosevsrat I would prefer it you call me Kimberly :)

Starshine575 commented 4 years ago

@ByBurton That's a great idea 😁

Krarilotus commented 4 years ago

Will this be worked on? I could see myself using this extra start troop setup sheet for just removing start troops at all or giving everyone the same, or removing those, that stay unused (knights that end up as defensive firecampers...) and replace them with something more usefull...

Edit: maybe if you dont want to implement another starttroop sheet, editable to the enduser, it would be enough to have 3 options as AI lord improvements:

LordHansCapon commented 4 years ago

It is quite simple to change starting units in Assembly as I have already done it before, and I could map it all, but I have no idea how to implement it into the AIC. I might look into it thought.

Krarilotus commented 4 years ago

It is quite simple to change starting units in Assembly as I have already done it before, and I could map it all, but I have no idea how to implement it into the AIC. I might look into it thought.

maybe just adding a new sheet for that would be sufficient. That can then add in 2 or 3 types of starting units per character. Easy to read interface and just another document. I dont think we need to put all in one big array. That would not be modular nor readable. And i would suggest putting new modules in new files anyways. We could call it the startingTroops.txt

GRhin commented 4 years ago

Can be closed with new release