[MODMOD] PTSD v.2.6.x for We The People 4.1 - NEW: More or Less More or Less!

I'm working on rebalancing the prices of goods. I haven't touched any of those values yet, I'm still wrapping my head around those formulas, but another question I have is about the stock amounts you added. Do those affect prices at all? How do those fluctuate (besides me buying/selling)? What controls how they grow or shrink?

Another wishlist item would be that if you sell Europe a lot of tobacco, it'd be great to see the stock of cigars to start to rise.
Yeah, I am not sure those formulas make much sense... surely there is a more straightforward way.

It is the same with my stock replenishment speed formulas, really. The higher the original stock, the faster it replenishes, with a 3-sided randomizer thrown in there.

I have been waiting for my brain to work (it rarely does) to come up with something better; but maybe you are the one with the brains for the job.

I have almost gotten a prototype done for the manufactured goods sale embargo (or whatever it should be called). I'll post a version along with a rush materials bugfix, so you can perhaps build upon it, since I am not sure how it should be balanced with other aspects of the game to reach the envisioned 'fun' level.
Civ4ScreenShot0234.JPG

It will include
Code:
<Define>
    <DefineName>EUROPE_SALE_EMBARGO_PERCENT</DefineName>
    <iDefineIntVal>0</iDefineIntVal>
</Define>

where you can set the value to 100 in order to get all the manufactured goods (except rope, sails, guns, blades, cannons, powder) to be blocked at the start of the game.
 
It will include
Code:
<Define>
    <DefineName>EUROPE_SALE_EMBARGO_PERCENT</DefineName>
    <iDefineIntVal>0</iDefineIntVal>
</Define>

where you can set the value to 100 in order to get all the manufactured goods (except rope, sails, guns, blades, cannons, powder) to be blocked at the start of the game.

If the value is 50, does it randomly pick half the goods to be blocked? How does that work?
 
Like this? Doesn't do any difference. Rush button is still greyed out.

<Define>
<DefineName>ENABLE_RUSH_BUILDING_MATERIALS</DefineName>
<iDefineIntVal>1</iDefineIntVal>
</Define>
</Civ4Defines>
Posted a bugfix, though I have a nagging fear that it may not be savegame compatible; since I also snuck in the stuff I was working on.
 
Cool, I like that. Does the AI buy/sell goods overseas at all? Or do things just auto sell from a custom house mechanic?
They sell overseas.

Posted the update. The base value to lift the embargo can be changed on line 104 in Assets/Python/Screens/CvEuropeScreen.py
That value (currently 2) x storage capacity per cargo slot x buy price = the cost of lifting an embargo.

I only changed point number 3 on your list so far. Please send me what you cook together int the xml and it will hopefully become clearer to me exactly what needs to be done, so I don't do a bunch of unnecessary changes.

The Europe stock does not affect prices but, as I said, I want to improve it. I definitely am moving towards some kind of punishment or even storage cap for flooding a market with the same resource, and I have thought about creating a connection between raw resource influx and production in Europe.
 
I only changed point number 3 on your list so far. Please send me what you cook together int the xml and it will hopefully become clearer to me exactly what needs to be done, so I don't do a bunch of unnecessary changes.
Ok, great. I'm working on points 1, 2 & 7. I need to do some more testing & tinkering before I share.
 
Ok, great. I'm working on points 1, 2 & 7. I need to do some more testing & tinkering before I share.
Me too, obviously, since I forgot about Africa and the AI for some reason. I came across a crash later on in the game.

So I am setting the Africa blocked yields to a random roll different to the European ones, which might not make sense in regard to what you were thinking, but that is what it is for now. The AI will not get any embargos for now either.
 
Ok, great. I'm working on points 1, 2 & 7. I need to do some more testing & tinkering before I share.
Posted an update.

So I am trying to wrap my mind around the thinking about the embargos... What would inspire you to pay the 5K to lift one? Compared to just, like you said, sail to Port Royal, or trade with the natives? Are the sell prices in Europe and Africa going to be alot higher? Should there be a cap on how much Port Royal and the Natives or other colonial powers are willing to stock? I was heading down the latter rabbit hole, but thought maybe I should check before I do.
 
Posted an update.

So I am trying to wrap my mind around the thinking about the embargos... What would inspire you to pay the 5K to lift one? Compared to just, like you said, sail to Port Royal, or trade with the natives? Are the sell prices in Europe and Africa going to be alot higher? Should there be a cap on how much Port Royal and the Natives or other colonial powers are willing to stock? I was heading down the latter rabbit hole, but thought maybe I should check before I do.
Very good question. I suppose 5K is too high, but yea, I think some limits on trading with others could make sense. Though the fact that smuggling ships are, initially, hard to come by, and only have two cargo holds is already a limiting factor. Natives have limited gold and can lock you out for driving a hard bargain. As for other colonial powers, limiting your colonies from trading with rival powers was definitely a huge part of mercantilism, so banning that or sharply limiting it would make a lot of sense.

I think for our initial testing we just lower the embargo lifting price (I think the formula you had earlier was better than a flat fee), and limit trade with other colonial powers and see whether any modifications to native or port royal trading are needed later.
 
Me too, obviously, since I forgot about Africa and the AI for some reason. I came across a crash later on in the game.

So I am setting the Africa blocked yields to a random roll different to the European ones, which might not make sense in regard to what you were thinking, but that is what it is for now. The AI will not get any embargos for now either.
Hmmm, I'm actually not sure about blocking Africa. A big part of my objective for these mercantilism changes is to boost the triangle trade. So buying finished goods in Europe and selling them in Africa is an important part of it. But then, of course, you could easily just sell goods you made yourself in Africa instead of buying in Europe.

I suppose the other way to model this would be to just make the difference between buy & sell prices in Europe more extreme for manufactured goods. With my repricing things I've been widening the gap between buy & sell for all goods, and especially for manufactured goods, but I could push it further to just make it unprofitable. That would be effective, but it would just look weird to sell cigars for less than tobacco. I dunno.
 
Hmmm, I'm actually not sure about blocking Africa. A big part of my objective for these mercantilism changes is to boost the triangle trade. So buying finished goods in Europe and selling them in Africa is an important part of it. But then, of course, you could easily just sell goods you made yourself in Africa instead of buying in Europe.

I suppose the other way to model this would be to just make the difference between buy & sell prices in Europe more extreme for manufactured goods. With my repricing things I've been widening the gap between buy & sell for all goods, and especially for manufactured goods, but I could push it further to just make it unprofitable. That would be effective, but it would just look weird to sell cigars for less than tobacco. I dunno.
No, I don't really want to lose triangle trade as it was either; though I think the Europe embargos should be kept and set at something like double the sell price from everywhere else, so that it gives you nice lure to look forward to. Then let the king come and semi-randomly put the embargo back again if the market is flooded (perhaps if above 3 times the cargo slot storage capacity).

The sell block isn't working in the most recent version. You can sell, in spite of the apparent embargos. I broke it by fixing the AI, I--the zero I--guess. I have fixed it and the AI should be able to handle it; but you might as well keep on playing with that version and honor the European blocks and perhaps disregard the African ones, until we are clear that they should be gone.
 
Hmmm, I'm actually not sure about blocking Africa. A big part of my objective for these mercantilism changes is to boost the triangle trade. So buying finished goods in Europe and selling them in Africa is an important part of it. But then, of course, you could easily just sell goods you made yourself in Africa instead of buying in Europe.

I suppose the other way to model this would be to just make the difference between buy & sell prices in Europe more extreme for manufactured goods. With my repricing things I've been widening the gap between buy & sell for all goods, and especially for manufactured goods, but I could push it further to just make it unprofitable. That would be effective, but it would just look weird to sell cigars for less than tobacco. I dunno.
I guess doubling Europe sell prices won't work unless we also double the Africa prices, and then we are back at square 0. There is
EUROPE_MARKET_CORRELATION_PERCENT in GlobalDefinesAlt which will cause the prices to drop when flooding a market with a yield. Maybe keeping it a bit higher is good enough. Once the prices have tanked and the Natives have run out of money, we have no choice but to crawl to the king and pay him to lift an embargo here or there.
 
Using the new version of the mod, there are a number of native villages that show this weird text:
View attachment 709090

Also, the boycotts don't seem to be working. Or do I need to activate it in the xml?
Hmm... I am not seeing that, but there is something wrong with the tooltip hover over help box that shows the health etc. of villages, which I have been meaning to correct... It might be related.

Let me send you my fixes after a quick test.

I have changed the Europe stock mechanism to somewhat cause it to consume raw materials and use them the add to the corresponding produced goods at a rate of 6 per turn.
 
p
Using the new version of the mod, there are a number of native villages that show this weird text:
View attachment 709090

Also, the boycotts don't seem to be working. Or do I need to activate it in the xml?
Posted an update

Changing the cost of lifting an embargo it is now on line 105 in Assets/Python/Screens/CvEuropeScreen.py
Basically it is a fraction of the boycott removal cost, so right now it is the boycott lift cost divided by 20, making for an average of 400 gold to lift the embargo for most goods. Thus a lower value for iEmbargo will make for a higher lift Embargo cost.
 
I guess doubling Europe sell prices won't work unless we also double the Africa prices, and then we are back at square 0. There is
EUROPE_MARKET_CORRELATION_PERCENT in GlobalDefinesAlt which will cause the prices to drop when flooding a market with a yield. Maybe keeping it a bit higher is good enough. Once the prices have tanked and the Natives have run out of money, we have no choice but to crawl to the king and pay him to lift an embargo here or there.
Do you know how that market correlation works? It seems that prices aren’t really based on specific goods. Like if I flood the market with furs, the price of cotton and tobacco drops also. Is that correct?

It’d be great if the prices were based on supply and demand for individual goods, not “the market” overall. Keying it off of the stock amount would be perfect.
 
Do you know how that market correlation works? It seems that prices aren’t really based on specific goods. Like if I flood the market with furs, the price of cotton and tobacco drops also. Is that correct?

It’d be great if the prices were based on supply and demand for individual goods, not “the market” overall. Keying it off of the stock amount would be perfect.
It is all so confusing to me, but it does not seem to be affecting any other yields than the one sold.

It is renamed Mercantile Percent in the code.
It is then smashed together with Yield Bought Total, so that Yield Bought Total ends up a meager percentage of itself, nothing total about it whatsoever.
Yield Bought Total is then included in the formula that I tried to explain last week.

Could you give an example of the perfect supply and demand based system in Europe? I need some kind of mental-picture-priming to wrap my brain around how to set it up. I am a 'can only steer a moving vessel' kind of person, so I need something to work with to get myself reacting and adjusting or there is just nothing up there. I throw formulas, values and numbers at the wall hoping that something sensible comes out of my own reaction to it.
 
It is all so confusing to me, but it does not seem to be affecting any other yields than the one sold.

It is renamed Mercantile Percent in the code.
It is then smashed together with Yield Bought Total, so that Yield Bought Total ends up a meager percentage of itself, nothing total about it whatsoever.
Yield Bought Total is then included in the formula that I tried to explain last week.

Could you give an example of the perfect supply and demand based system in Europe? I need some kind of mental-picture-priming to wrap my brain around how to set it up. I am a 'can only steer a moving vessel' kind of person, so I need something to work with to get myself reacting and adjusting or there is just nothing up there. I throw formulas, values and numbers at the wall hoping that something sensible comes out of my own reaction to it.

I really like the 'can only steer a moving vessel' expression. I am often the same way, I'm going to borrow that.

I have thoughts on the perfect supply & demand system, but I'd like to better understand what is currently happening so hopefully we can tap into that instead of reinventing things from scratch. Based on what you said above, I think this is the current formula:

Code:
YieldBoughtTotal
-------------------------------   = X
iPriceChangeThreshold

X + iBuyPriceLow + RANDBETWEEN(iBuyPriceHigh,(iBuyPriceLow + 1)) = Y

((iPriceCorrectionPercent * Y) - iBuyPriceLow) > RANDBETWEEN(1,100) = Price Change

I did more testing using the base WTP mod. I was wrong, the price of individual goods does change more if you sell that specific good. But there is quite a bit of overall change. In my test, over the course of 260 turns I sold 9,600 fur, 6,000 silver and 6,000 exotic wood. I bought 6,000 tools and 3,000 everyday clothes.

After all that, 13 goods increased in price from turn 1 (all increased by 1), 16 goods stayed (or went back to) the same price they started with, and 70 goods dropped in price.

Of those 70, 17 only dropped by 1. 30 dropped by 2. 17 dropped by 3, and 6 dropped by 4 or more with a drop of 7 from silver being the largest. Note that the iPriceCorrectionPercent value for all goods is 1 except gold & gems (where it is 0) and silver (where it is 5). 19 goods dropped to their minimum.

Strangely, after buying 10 galleons full of tools it had no impact on the price of tools whatsoever.

I also did a trial where I traded absolutely nothing for 260 turns, just hit enter. In that trial, 13 goods increased in price (all increased by 1), 38 goods stayed the same, and 48 decreased in price. Of those that dropped in price, 37 dropped by just 1, and 11 dropped by 2.

For these tests I removed all AI players, so there was no bleed over effect of the AI trades.

I guess doubling Europe sell prices won't work unless we also double the Africa prices, and then we are back at square 0. There is
EUROPE_MARKET_CORRELATION_PERCENT in GlobalDefinesAlt which will cause the prices to drop when flooding a market with a yield. Maybe keeping it a bit higher is good enough. Once the prices have tanked and the Natives have run out of money, we have no choice but to crawl to the king and pay him to lift an embargo here or there.

I found a comment from ray on Discord about this, he said that each European port for each player is separate from the others, but the EUROPE_MARKET_CORRELATION_PERCENT value is how the different markets affect each other. I'm not sure where that value is called, and how it is factored into the above formula, but it seems like a good thing that each port is separate, but can affect each other's prices a bit.

Other questions I have. Where is the Dutch mercantilism trade factored in? There is something in Global Defines linking the price of a raw good to the manufactured good, when does that enter the equation? The above formula results in a "price change" but what decides whether it changes the price up or down? Also, the numerator in that equation is goods sold (to Europe) is there nothing that considers goods bought in Europe?
 
Last edited:
Top Bottom