[MOD] v41 SVN and GithubDesktop Bugs and Crashes Single player

So special promotionlines needs to have unitcombat requirements removed, and instead those should be on promotions directly?
Spoiler Yeah, like this :
Code:
<PromotionLineInfo>
    <Type>PROMOTIONLINE_MASTER_HUNTER</Type>
    <Description>TXT_KEY_PROMOTIONLINE_MASTER_HUNTER</Description>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionLineInfo>


<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER1</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER1</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>1</iLinePriority>
    <bRiver>1</bRiver>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER2</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER2</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER1</PromotionPrereq>
    <TechPrereq>TECH_TRACKING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>2</iLinePriority>
    <iLevelPrereq>5</iLevelPrereq>
    <bBlitz>1</bBlitz>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter2.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER3</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER3</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER2</PromotionPrereq>
    <TechPrereq>TECH_HUNTING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>3</iLinePriority>
    <iLevelPrereq>10</iLevelPrereq>
    <bEnemyRoute>1</bEnemyRoute>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter3.dds</Button>
</PromotionInfo>
 
Spoiler Yeah, like this :
Code:
<PromotionLineInfo>
    <Type>PROMOTIONLINE_MASTER_HUNTER</Type>
    <Description>TXT_KEY_PROMOTIONLINE_MASTER_HUNTER</Description>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionLineInfo>


<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER1</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER1</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>1</iLinePriority>
    <bRiver>1</bRiver>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER2</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER2</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER1</PromotionPrereq>
    <TechPrereq>TECH_TRACKING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>2</iLinePriority>
    <iLevelPrereq>5</iLevelPrereq>
    <bBlitz>1</bBlitz>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter2.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER3</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER3</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER2</PromotionPrereq>
    <TechPrereq>TECH_HUNTING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>3</iLinePriority>
    <iLevelPrereq>10</iLevelPrereq>
    <bEnemyRoute>1</bEnemyRoute>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter3.dds</Button>
</PromotionInfo>
Right, in this case, because the first one is given for free so as to craft the control to access to those beyond it as well. Of course if we weren't giving the first one for free it would be as easy as domain prereqs/bans on the promoline.
 
Spoiler Yeah, like this :
Code:
<PromotionLineInfo>
    <Type>PROMOTIONLINE_MASTER_HUNTER</Type>
    <Description>TXT_KEY_PROMOTIONLINE_MASTER_HUNTER</Description>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionLineInfo>


<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER1</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER1</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>1</iLinePriority>
    <bRiver>1</bRiver>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter1.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER2</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER2</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER1</PromotionPrereq>
    <TechPrereq>TECH_TRACKING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>2</iLinePriority>
    <iLevelPrereq>5</iLevelPrereq>
    <bBlitz>1</bBlitz>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter2.dds</Button>
</PromotionInfo>
<PromotionInfo>
    <Type>PROMOTION_MASTER_HUNTER3</Type>
    <Description>TXT_KEY_PROMOTION_MASTER_HUNTER3</Description>
    <Sound>AS2D_IF_LEVELUP</Sound>
    <PromotionPrereq>PROMOTION_MASTER_HUNTER2</PromotionPrereq>
    <TechPrereq>TECH_HUNTING</TechPrereq>
    <PromotionLine>PROMOTIONLINE_MASTER_HUNTER</PromotionLine>
    <iLinePriority>3</iLinePriority>
    <iLevelPrereq>10</iLevelPrereq>
    <bEnemyRoute>1</bEnemyRoute>
    <UnitCombats>
        <UnitCombat>
            <UnitCombatType>UNITCOMBAT_HUNTER</UnitCombatType>
            <bUnitCombat>1</bUnitCombat>
        </UnitCombat>
    </UnitCombats>
    <Button>Art/Interface/Buttons/Promotions/Master_hunter3.dds</Button>
</PromotionInfo>
DUH..!!!
 
Right, in this case, because the first one is given for free so as to craft the control to access to those beyond it as well. Of course if we weren't giving the first one for free it would be as easy as domain prereqs/bans on the promoline.
Nope, hunter and master hunter are of the same domain, we would have to add a new unitcombat type that is only used by the master hunter units if we didn't want them to start with the master hunter 1 promo for free.
The problem here was that a regular hunter unit had access to the master hunter promos, they are meant to be unique promos only for the master hunter unit.
 
Nope, hunter and master hunter are of the same domain, we would have to add a new unitcombat type that is only used by the master hunter units if we didn't want them to start with the master hunter 1 promo for free.
I've seen a ton of cultural units (that is, replacements of the same unit type, not a separate unitcombat) simply be given "starts with X_Promotion".
So how's that a problem for Master Hunter to get his own the same way?

Alternatively, just combine "Great Person" and "Hunter" unitcombats to activate "Master Hunter".
 
Nope, hunter and master hunter are of the same domain, we would have to add a new unitcombat type that is only used by the master hunter units if we didn't want them to start with the master hunter 1 promo for free.
The problem here was that a regular hunter unit had access to the master hunter promos, they are meant to be unique promos only for the master hunter unit.
Oh, I see my misunderstanding. A new unitcombat would probably be how I'd tend to want to solve it myself/
 
Again, WHY do you have promo LINES in the first place?
How are they any better?
There are a lot of reasons for this and the way to craft promotion access is possible through old methods but is also more capable of streamlining with promotionlines. Promotionlines started as the way to make it so we don't have to show every individual promotion on a unit so as to help condense the display. It has become far more useful in many other applications, some of which have yet to see the final light of day as a project.
 
There are a lot of reasons for this and the way to craft promotion access is possible through old methods but is also more capable of streamlining with promotionlines. Promotionlines started as the way to make it so we don't have to show every individual promotion on a unit so as to help condense the display. It has become far more useful in many other applications, some of which have yet to see the final light of day as a project.
Do you mean being able to only show "PromoX_LVLx" ("Hunter_2") instead of ALL of them from 1 to Z?
Wasn't this solved looong ago already?
Or is THIS precisely the PROMO LINES mechanic, and I'm just confusing it with something else due to how used I am to it?
Or do you mean something else?
Anyways, I'm surprised this creates so many bugs, really, it's seemingly quite straightforward.
 
Do you mean being able to only show "PromoX_LVLx" ("Hunter_2") instead of ALL of them from 1 to Z?
Wasn't this solved looong ago already?
Or is THIS precisely the PROMO LINES mechanic, and I'm just confusing it with something else due to how used I am to it?
Or do you mean something else?
Anyways, I'm surprised this creates so many bugs, really, it's seemingly quite straightforward.
This is precisely what the promotionlines mechanic gave us the ability to do, but again there is much more it manages.

The bugs aren't caused by promotionlines - they are caused by XML never fully adapted to what it made possible - and then a recent effort to update to some of the innuendos of this mechanism. Largely, it makes things easier and less complicated, but only if you can think of things in a hierarchy of sorts and remember those hierarchies and how they work. Prior to them, we were using a number of tricks that aren't as necessary now as they were - between promotionlines and multiple unitcombats anyhow.

Equipment, Afflictions (critical damage promotions/diseases/poisons), Complex Trait tiers, Statuses, Buildups - all rely a great deal on Promotionlines to organize promotions into hierarchal category lists. It's really unfortunate how much of this is yet not visible still in the game.
 
Nope, hunter and master hunter are of the same domain, we would have to add a new unitcombat type that is only used by the master hunter units if we didn't want them to start with the master hunter 1 promo for free.
The problem here was that a regular hunter unit had access to the master hunter promos, they are meant to be unique promos only for the master hunter unit.
I looked into version of promotions before rework:
Only Master Hunter and Hunting Sight had this special rule of "place it on better units of unitcombat"
Master Sea Hunter was WIP promo, that I removed it - seems like it was meant to be for ships with Hunter unitcombat....

Fix is in SVN now.
 
Last edited:
I looked into version of promotions before rework:
Only Master Hunter and Hunting Sight had this special rule of "place it on better units of unitcombat"
Master Sea Hunter was WIP promo, that I removed it - seems like it was meant to be for ships with Hunter unitcombat....

Fix is in SVN now.
Thanks.
Hunting ships, by the way, is a great idea - so it's kinda sad it's not implemented (yet).
Also would be great to eventually have a Great Fisherman with the same functionality as a Great Farmer, loool.
And a Great Engineer (land and sea) for non-live resources, ya know.
Totally logical.
 
1. Or is THIS precisely the PROMO LINES mechanic, and I'm just confusing it with something else due to how used I am to it?
2. Anyways, I'm surprised this creates so many bugs, really, it's seemingly quite straightforward.
1. Promotionlines is what, among other things, allows promo levels of a single line to be condensed into one promo that in its tooltip show the combined stat of multiple promos from the line.
2. Promotion lines doesn't create any bugs, raxo did when he tweaked the xml for those promotions. Promotionlines has been in C2C for many years, a decade perhaps.
 
Last edited:
1. Promotionlines is what, among other things, allows promo levels of a single line to be condensed into one promo that in its tooltip show the combined stat of multiple promos from the line.
2. Promotion lines doesn't create any bugs, raxo did when he tweaked the xml for those promotions. Promotionlines has been in C2C for many years, a decade perhaps.
Yeah, I got that already.
 
1. Promotionlines is what, among other things, allows promo levels of a single line to be condensed into one promo that in its tooltip show the combined stat of multiple promos from the line.
2. Promotion lines doesn't create any bugs, raxo did when he tweaked the xml for those promotions. Promotionlines has been in C2C for many years, a decade perhaps.
Feels like yesterday I started that project (and Koshling had to jump in and do so much to fix it from the way I originally set it up lol).
 
Back
Top Bottom