PDA

View Full Version : Konny's money script



konny
10-03-2007, 11:53
( For previous discussions and AARs see also: http://www.twcenter.net/forums/showthread.php?t=121932 )

This is a money script I have made for EB. The scripted money help for AI factions is raised from 1,200 to 5,000 mne per town, but only when the treasury of that faction is negative.

Example:

monitor_event SettlementTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < 0

console_command add_money egypt, 5000

end_monitor



The idea is to give non-profitable factions more help to 'encourage' their expansion, and to keep the big factions within the limits of their domestic economy.

So far, several players (including me) are running this script permanent and the results seems to be as intended: no 'Grey Death' from the very start, no Germanic superpower by simply holding dozends of remote villages in the Northern Woods etc. The big factions still are far from beeing push-overs and in most of the times Rome, Seleucia, Karthago etc. are still the richest factions, but by their own economy. The game is much more balanced.


Downloadlink:

http://www.totalwar.org/Downloads/Rtw_Uploads/RTWupload/EBBS_SCRIPT.zip

Geoffrey S
10-03-2007, 12:02
I particularly buy into the theory that AI campaignmap stupidity is largely caused by having a huge amount of money and thus making messed up threat assessments. It'd be interesting to know what the EB team makes of this different approach to the money script.

Redmeth
10-03-2007, 13:23
I'd like to state that something similar is used in the EB money script now but it's a part of a more complex mechanism.

This piece of code was in the balanced version of the money script I released with mlp071 but along with other things that would make it too difficult for unexperienced players.

I say this cause I don't want Konny to think we plagiarized his idea when he sees the script in 1.0.

konny
10-03-2007, 17:23
I say this cause I don't want Konny to think we plagiarized his idea when he sees the script in 1.0.

That would be no problem either. But I was anyhow sure that internal the EB team is working on improving that part of the script, espacially since I have learned that there are altered versions of the money script around provided by team members. So, probably EB 1.0 will make my script obsolte; looking foreward to that.

Redmeth
10-03-2007, 17:59
That would be no problem either. But I was anyhow sure that internal the EB team is working on improving that part of the script, espacially since I have learned that there are altered versions of the money script around provided by team members. So, probably EB 1.0 will make my script obsolte; looking foreward to that.

The script was made before I joined the team and hasn't been updated due mostly to lack of time to work solely on it and make it better. I hope the one coming with EB 1.0 will be perfect but that rarely happens so good feedback will be needed from everyone kind enough to provide it.

A Terribly Harmful Name
10-12-2007, 16:18
I really hope no unofficial balance in the script is further needed with EB 1.0, but this needs to be further checked. Looks like we won't, though, but it was a good job, konny, back in the o.81 and 0.7x days when AS was killing everything.

konny
10-12-2007, 23:26
Thanks.

I haven't looked at the new script so far. But if needed (what I don't think) the above modification can be adapted for 1.0 without much work.

konny
10-14-2007, 12:14
Now I had come to review the new money script: it seems to add a little money to the AI factions, but that will be increased through out the game if the AI faction is comparable smaller than the human faction (if I have understood it right). That is fair.The downside is that it also affects factions that have nothing to do with the human faction, eg. makes Saba stronger because your Sweboz empire is expanding. Let's wait and see what it realy does in-game.


Before I made the alternative money script, I came across a similar idea but with trieng to prevent the above effect: Giving money to the AI (or may be even player) factions according to their historical roles. Some examples:

- Give the Ptolemaians extra money for each city AS holds in the Levante, Asia Minor or Africa as long as they are at war with them. That makes them stronger when they seem to lose the war, but gives them nothing when they make peace with their anti-faction.

- Give AS extra money for each of the lesser factions (Pontos, Armenia, Baktria and Parthia) as long as they are not at war with them. Means, as soon as AS is starting to 'eat her children', or when those decide it's time to cut the line, AS will become in trouble. In return those smaller factions will get a lot of help when at war with AS.

- Give Epeiros extra money as long as they at war with Makedonia or AS, Eygpt is at war with either Makedonia or AS, AS and Makedonia are not at war with each other and Alexandria has not been conquered by hostile forces.

- Give the Aedui and the Averni extra money for each the respective other actions holds as long as they are at war with each other. (a little nasty because it might make their war realy endless).


These are some examples. I had not worked it out for all factions. The reasons for dropping the idea was that I am not able to force the AI factions to use the money according to what I have planned them to do. So they might simply use it to go around and conquer endless Eleutheroi towns. But may be it is worth a try?

CountArach
10-14-2007, 12:33
That sounds like a really nice idea actually. I think the AS would really factor in the trade they were capable of.

Davor
10-25-2007, 18:22
Example:

monitor_event SettlementTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < 0

console_command add_money egypt, 5000

end_monitor



Problem with this sort of thinking is that you give a faction the option to make even more troops, so their debt becomes even larger because of greater unit expenses.

Example: If a faction has less than 0 money and negative income on turn 0, and you give them 5000, the next turn the AI could buy units with that money, what results in even more negative income. So after a couple of turns, their negative income could be bigger than those 5000 you give them, resulting over time in a big negative treasury hole.

There is a better way, imo, to tackle this problem. Just make sure to keep their money at 0 if they have negative treasury. The negative side of this is that the EB script doesn't support looping, (to my knowledge), so the script can get really large. (although easy to make if you use for example VB scripts to make the EB script as I have)

Example:
monitor_event SettlementTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < 0

console_command add_money egypt, 100

monitor_event SettlementTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -100
and Treasury > -200

console_command add_money egypt, 200

end_monitor

(EDIT: SettlementTurnStart should be FactionTurnStart here!)
...
until 5000


(you can make the delta(money) bigger/smaller depending on what you can buy with the money. 100 minai is a safe, but results in a big script.

Another thing: giving Epeiros a huge army to start with, which they can not support financially is bad for the AI, historically inaccurate, and beyond the point of EB?

Another thing: trying to control the treasury of AI factions by giving/taking their money through scripts is, I suppose, bad for AI strategy. As far as I recall from some CA member, AI plans it's strategy a couple of rounds in front. Those AI strategies are not saved. So loading a game forces the AI to make a new one. (ever had a AI army besiege a city, then when you reload, the army stops besieging on their next turn although it wouldn't do so if you just continued to play?) Anyhow, with taking/giving money to AI, you even more disrupt it's strategy, I think, because it isn't anticipating the money. That's why I am convinced that regulating money should be made with buildings, or any other in-game way, and not so much with scripting.

Another thing: giving money like this to AI factions makes a whole aspect of the game irrelevant: A big aspect of the game is your possibility to cripple the opponent's economy. So what's the point in besieging their ports or cities, or any other method, if it's irrelevant for their economy?

Conclusion: this way of scripting is bad. And the badness factor depends on how much value you put in these three arguments I have given you. (I may have other too, but these few just came to my mind while I was writing this post) So if you don't care about crippling economy, AI strategies, realism... then your way of scripting is not bad at all.

(Your second Idea about sponsoring historical wars I like a bit more.)

Now don't come saying that this is the only way to make the game challenging, or prevent the AS from taking the whole map, or 'protecting small factions', or whatever else... we all got brains, so try to figure it out without excluding the above arguments, or show they are futile.

Greets
Davor

Leão magno
10-29-2007, 00:21
So konny, any news about your great script? :) :)

konny
10-29-2007, 01:11
I had not went on with this idea. I wanted some more testing what the new EB script is doing. So far I am satisfied: the AI is expanding in a reasonable way and the army are about the size I would expect of their empires; save for the one-town factions with their three full stacks.


But, of course, if you or other players have the impression that the AI needs more, or different, help we can open this one for discussion: who should get how much and under which circumstances?




--------------------------------------------------------

@ Davor

But you do know that the former EB script gave the AI factions 1,600 mne per city and per turn regardless of their treasury? I suppose, not.


Another thing: giving Epeiros a huge army to start with, which they can not support financially is bad for the AI, historically inaccurate, and beyond the point of EB?

That must be another Epeiros you are talking about. I was refering to Pyrrhos' "look-what-fine-toys-I-got-from-Egypt" Epeiros.


Another thing: trying to control the treasury of AI factions by giving/taking their money through scripts is, I suppose, bad for AI strategy.

According to my experince, beeing broken is even worse for the AI strategy. Did you know that the AI isn't able to disband troops?


Conclusion: this way of scripting is bad.

Then you better do not play EB, because it has around 11 MB of such scripting.

Davor
10-29-2007, 01:49
But you do know that the former EB script gave the AI factions 1,600 mne per city and per turn regardless of their treasury? I suppose, not.


I do... that’s why I started this thread https://forums.totalwar.org/vb/showthread.php?t=90571 (here) Giving AI factions more money is no solution imo. I prefer a complete different approach.



That must be another Epeiros you are talking about. I was refering to Pyrrhos' "look-what-fine-toys-I-got-from-Egypt" Epeiros.

And was he broke thereafter?




According to my experince, beeing broken is even worse for the AI strategy. Did you know that the AI isn't able to disband troops?

For that reason I modified you script. I explained why you approach was the same as giving no money at all to the AI. (All you do is increase the zero line with 5000. You don't prevent beeing broke, you postpone it this way!) But if you modify your script to just keep the total treasury at 0 or more, then, after the AI has lost a few troops, he is instantly no longer bankrupt.




Then you better do not play EB, because it has around 11 MB of such scripting.
You show arrogance... I don't know how you come to 11MB. Currently, I am looking at the EBBS_SCRIPT.txt, "Money Assistance" section that's not even half a megabyte. And if you ask me, yes, the current script is bad because of various reasons already given. Luckily, it's the only less good part of this incredibly good mod that I consider as one of the best games (not just mods as this is my first one) I ever played.

konny
10-29-2007, 02:19
And was he broke thereafter?

He was dead thereafter. But he would have been broken if he had given the command of his army to the RTW AI.


For that reason I modified you script. I explained why you approach was the same as giving no money at all to the AI. (All you do is increase the zero line with 5000) But if you modify your script to just keep the total treasury at 0 or more, then, after the AI has lost a few troops, he is instantly no longer bankrupt.

Absolutly not. I am giving the AI 5,000 per town per turn until economy has recovered. The only way for the AI to don't get beyond this point is by not doing anything at all. When the AI has conquered an additional town it will get another 5,000 extra the next turn for that. This, minus the lower upkeep for the casualties, will most likely get their treasury over the green line. And then nothing more is granted. That worked very fine, save for the Nomads, who will never be able to have a running economy in EB and an army that is able to expand against the strong rebell towns.


When you have a broken faction with one stack and the AI gives that stack an illegal target, in terms of pathfinding, and you do not give the AI extra money to raise more units and build another stack, this AI faction will most likely doing nothing at all for most, if not all, of the game. That is/was (since it seemed to have changed) most likely the problem with Getai.

Leão magno
11-07-2007, 03:01
Tried the Konny's Script since the very beginning and I can assure you that it worked pretty much on 8.10v2, think that it is one complicated job to discover how to give the AI just enough resource (money) nothing less, nothing more... in fact the first scripts were not all balanced since the necessities of each faction are different from the beginning, but it already led the AI to some real intelligent behavior.. for example, once I managed to break the Selucid empire in two splinted parts and instead of sending every army they had against me, they dedicated the armies in the smaller of the separated parts of the empire to maintain it and attacked me with the armies on the other part... this led to a much more difficult threat since I could not simply wait to be attacked, destroy everything and then go to conquer cities, I had to really garrison the cities I conquered because I was fighting a real two fronts war against the same enemy! Have never experienced this level of AI without Konny's Script... anyway, the EB 1.0 script is a much better one than the EB 0.81v2 but still needs tweaks, after all, as the EB members always states, EB is a work in progress... but it is a much better one, think we should develop some kind of help when the Faction is already defeated and defending (usually in a poor manner) their last two three cities. I defend this idea because it gets little boring after you destroy the huge stacks and goes for their capital and they have no way to defend themselves... By the way, changing money script also allowed to better diplomacy AI, I experienced that with Konny's Script too, for the first times in years of game play I got Rome to accept, not once but three times a cease fire that really endured, fact is that when the AI got broke and without any army, the preferred to make peace agreements with me... EB 1.0 was launched and I never got that action duplicated to prove the scripts help on it, but I am convinced that it was with the help of Konny's Script that AI got a little bit clever.

konny
11-07-2007, 15:25
Now, after playing EB 1.0 in two longer campaigns (Romani and Sweboz) and comparing the AI behaviour with the two 0.8 campaigns I had played with my script (Pontos and Romani), I must say that the 1.0 AI is more behaving in the way I was used to by the unchanged 0.8 script than under the condition of my money script.

It is again pushing fast into rebell territory, we have the stack spamming again and it is nearly impossible to get a ceasfire from the AI. With the changed money script I was able to get a ceasfire in many occasions, specially when I had done the AI severe damage or it was involved in other wars, too. Also I was able to get, for example, a town in exchange for peace, and had several occasions in which the AI asked for peace itself. I hadn't have anything of the like in EB 1.0. They simply refuse to make peace even when reduced to one town and four units.

I am still open to the point that this might all be by random, but since you are observing the same, and Davor's posts go in the same direction (even though I do not agree with his conclusions), I am more and more convinced that giving the AI scripted money does its behaviour no good. On the other hand, several factions desperatly need money to develop at all - what brings us back to the changed money script: give them who are in need, but nothing more.

On a sidenote: In RTW the AI is given 10,000 extra every turn on VH campaign level and is behaving like on speed. That is coded. Now, the 250,000 € question is: How is it coded?

A) In the way that the AI becomes more agressive when the player selects VH difficult level.
B) In the way that the AI becomes more agressive when it gets extra money every turn.

If I had been a programmer I would have taken (B) because it would also allow me to alter the AI behaviour during the game by script regardless of the chosen level of difficulty. And since the AI is giving extra money on VH you'll have the disered effect there anyway. What could mean that something like the money script unintended might activate the "Terminator Mode" of every factions' AI.



I will implement my previous money script in the new EB script in my running Sweboz campaign and see what's happening. Also, a Casse test or two is needed. On a second step we can look what additions, like the above "warfareres moneyhelp" can be used, too.

Davor
11-16-2007, 01:52
I implemented you idea into my script because i thought you had a point about broke path finding (I myself had carthage 100 years doing nothing, although it had 3 huge armies at the gates of Balthazar (see the picture below). So, I hope you’re right when you say that another stack will be better used). The other good part is the simplicity of your idea, and its objective goal, which is to tackle the path finding problem. So, although I see it as an issue that your script may solve, I don't think it justifies itself against the arguments I have already given concerning game play. (And you haven't given me any reason to think otherwise) So I tried to solve the issue of path finding, but not at the expense of game play. And here is what I have come up to:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Section 4a: Davor's No Negative Treasury Possible
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;----------------------------------------
; This part makes sure romans_julii doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money romans_julii, 500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money romans_julii, 1500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money romans_julii, 2500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money romans_julii, 3500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money romans_julii, 4500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money romans_julii, 5500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money romans_julii, 6500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money romans_julii, 7500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money romans_julii, 8500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money romans_julii, 9500
end_monitor

monitor_event FactionTurnStart FactionType romans_julii
and not FactionIsLocal
and Treasury < -10000
console_command add_money romans_julii, 10500
end_monitor

;----------------------------------------
; This part makes sure romans_scipii doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money romans_scipii, 500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money romans_scipii, 1500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money romans_scipii, 2500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money romans_scipii, 3500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money romans_scipii, 4500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money romans_scipii, 5500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money romans_scipii, 6500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money romans_scipii, 7500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money romans_scipii, 8500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money romans_scipii, 9500
end_monitor

monitor_event FactionTurnStart FactionType romans_scipii
and not FactionIsLocal
and Treasury < -10000
console_command add_money romans_scipii, 10500
end_monitor

;----------------------------------------
; This part makes sure romans_brutii doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money romans_brutii, 500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money romans_brutii, 1500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money romans_brutii, 2500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money romans_brutii, 3500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money romans_brutii, 4500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money romans_brutii, 5500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money romans_brutii, 6500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money romans_brutii, 7500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money romans_brutii, 8500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money romans_brutii, 9500
end_monitor

monitor_event FactionTurnStart FactionType romans_brutii
and not FactionIsLocal
and Treasury < -10000
console_command add_money romans_brutii, 10500
end_monitor

;----------------------------------------
; This part makes sure egypt doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money egypt, 500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money egypt, 1500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money egypt, 2500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money egypt, 3500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money egypt, 4500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money egypt, 5500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money egypt, 6500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money egypt, 7500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money egypt, 8500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money egypt, 9500
end_monitor

monitor_event FactionTurnStart FactionType egypt
and not FactionIsLocal
and Treasury < -10000
console_command add_money egypt, 10500
end_monitor

;----------------------------------------
; This part makes sure seleucid doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money seleucid, 500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money seleucid, 1500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money seleucid, 2500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money seleucid, 3500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money seleucid, 4500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money seleucid, 5500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money seleucid, 6500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money seleucid, 7500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money seleucid, 8500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money seleucid, 9500
end_monitor

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
and Treasury < -10000
console_command add_money seleucid, 10500
end_monitor

;----------------------------------------
; This part makes sure carthage doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money carthage, 500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money carthage, 1500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money carthage, 2500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money carthage, 3500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money carthage, 4500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money carthage, 5500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money carthage, 6500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money carthage, 7500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money carthage, 8500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money carthage, 9500
end_monitor

monitor_event FactionTurnStart FactionType carthage
and not FactionIsLocal
and Treasury < -10000
console_command add_money carthage, 10500
end_monitor

;----------------------------------------
; This part makes sure parthia doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money parthia, 500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money parthia, 1500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money parthia, 2500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money parthia, 3500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money parthia, 4500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money parthia, 5500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money parthia, 6500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money parthia, 7500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money parthia, 8500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money parthia, 9500
end_monitor

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
and Treasury < -10000
console_command add_money parthia, 10500
end_monitor

;----------------------------------------
; This part makes sure gauls doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money gauls, 500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money gauls, 1500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money gauls, 2500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money gauls, 3500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money gauls, 4500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money gauls, 5500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money gauls, 6500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money gauls, 7500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money gauls, 8500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money gauls, 9500
end_monitor

monitor_event FactionTurnStart FactionType gauls
and not FactionIsLocal
and Treasury < -10000
console_command add_money gauls, 10500
end_monitor

;----------------------------------------
; This part makes sure germans doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money germans, 500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money germans, 1500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money germans, 2500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money germans, 3500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money germans, 4500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money germans, 5500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money germans, 6500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money germans, 7500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money germans, 8500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money germans, 9500
end_monitor

monitor_event FactionTurnStart FactionType germans
and not FactionIsLocal
and Treasury < -10000
console_command add_money germans, 10500
end_monitor

;----------------------------------------
; This part makes sure britons doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money britons, 500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money britons, 1500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money britons, 2500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money britons, 3500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money britons, 4500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money britons, 5500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money britons, 6500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money britons, 7500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money britons, 8500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money britons, 9500
end_monitor

monitor_event FactionTurnStart FactionType britons
and not FactionIsLocal
and Treasury < -10000
console_command add_money britons, 10500
end_monitor

;----------------------------------------
; This part makes sure greek_cities doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money greek_cities, 500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money greek_cities, 1500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money greek_cities, 2500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money greek_cities, 3500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money greek_cities, 4500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money greek_cities, 5500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money greek_cities, 6500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money greek_cities, 7500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money greek_cities, 8500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money greek_cities, 9500
end_monitor

monitor_event FactionTurnStart FactionType greek_cities
and not FactionIsLocal
and Treasury < -10000
console_command add_money greek_cities, 10500
end_monitor

;----------------------------------------
; This part makes sure macedon doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money macedon, 500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money macedon, 1500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money macedon, 2500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money macedon, 3500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money macedon, 4500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money macedon, 5500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money macedon, 6500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money macedon, 7500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money macedon, 8500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money macedon, 9500
end_monitor

monitor_event FactionTurnStart FactionType macedon
and not FactionIsLocal
and Treasury < -10000
console_command add_money macedon, 10500
end_monitor

;----------------------------------------
; This part makes sure pontus doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money pontus, 500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money pontus, 1500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money pontus, 2500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money pontus, 3500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money pontus, 4500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money pontus, 5500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money pontus, 6500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money pontus, 7500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money pontus, 8500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money pontus, 9500
end_monitor

monitor_event FactionTurnStart FactionType pontus
and not FactionIsLocal
and Treasury < -10000
console_command add_money pontus, 10500
end_monitor

;----------------------------------------
; This part makes sure armenia doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money armenia, 500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money armenia, 1500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money armenia, 2500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money armenia, 3500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money armenia, 4500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money armenia, 5500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money armenia, 6500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money armenia, 7500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money armenia, 8500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money armenia, 9500
end_monitor

monitor_event FactionTurnStart FactionType armenia
and not FactionIsLocal
and Treasury < -10000
console_command add_money armenia, 10500
end_monitor

;----------------------------------------
; This part makes sure dacia doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money dacia, 500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money dacia, 1500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money dacia, 2500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money dacia, 3500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money dacia, 4500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money dacia, 5500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money dacia, 6500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money dacia, 7500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money dacia, 8500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money dacia, 9500
end_monitor

monitor_event FactionTurnStart FactionType dacia
and not FactionIsLocal
and Treasury < -10000
console_command add_money dacia, 10500
end_monitor

;----------------------------------------
; This part makes sure scythia doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money scythia, 500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money scythia, 1500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money scythia, 2500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money scythia, 3500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money scythia, 4500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money scythia, 5500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money scythia, 6500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money scythia, 7500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money scythia, 8500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money scythia, 9500
end_monitor

monitor_event FactionTurnStart FactionType scythia
and not FactionIsLocal
and Treasury < -10000
console_command add_money scythia, 10500
end_monitor

;----------------------------------------
; This part makes sure spain doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money spain, 500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money spain, 1500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money spain, 2500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money spain, 3500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money spain, 4500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money spain, 5500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money spain, 6500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money spain, 7500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money spain, 8500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money spain, 9500
end_monitor

monitor_event FactionTurnStart FactionType spain
and not FactionIsLocal
and Treasury < -10000
console_command add_money spain, 10500
end_monitor

;----------------------------------------
; This part makes sure thrace doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money thrace, 500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money thrace, 1500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money thrace, 2500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money thrace, 3500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money thrace, 4500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money thrace, 5500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money thrace, 6500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money thrace, 7500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money thrace, 8500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money thrace, 9500
end_monitor

monitor_event FactionTurnStart FactionType thrace
and not FactionIsLocal
and Treasury < -10000
console_command add_money thrace, 10500
end_monitor

;----------------------------------------
; This part makes sure numidia doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money numidia, 500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money numidia, 1500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money numidia, 2500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money numidia, 3500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money numidia, 4500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money numidia, 5500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money numidia, 6500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money numidia, 7500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money numidia, 8500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money numidia, 9500
end_monitor

monitor_event FactionTurnStart FactionType numidia
and not FactionIsLocal
and Treasury < -10000
console_command add_money numidia, 10500
end_monitor

;----------------------------------------
; This part makes sure saba doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money saba, 500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money saba, 1500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money saba, 2500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money saba, 3500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money saba, 4500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money saba, 5500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money saba, 6500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money saba, 7500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money saba, 8500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money saba, 9500
end_monitor

monitor_event FactionTurnStart FactionType saba
and not FactionIsLocal
and Treasury < -10000
console_command add_money saba, 10500
end_monitor

;----------------------------------------
; This part makes sure slave doesn't go into red
;----------------------------------------
monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < 0
and Treasury > -1000
console_command add_money slave, 500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -1000
and Treasury > -2000
console_command add_money slave, 1500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -2000
and Treasury > -3000
console_command add_money slave, 2500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -3000
and Treasury > -4000
console_command add_money slave, 3500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -4000
and Treasury > -5000
console_command add_money slave, 4500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -5000
and Treasury > -6000
console_command add_money slave, 5500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -6000
and Treasury > -7000
console_command add_money slave, 6500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -7000
and Treasury > -8000
console_command add_money slave, 7500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -8000
and Treasury > -9000
console_command add_money slave, 8500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -9000
and Treasury > -10000
console_command add_money slave, 9500
end_monitor

monitor_event FactionTurnStart FactionType slave
and not FactionIsLocal
and Treasury < -10000
console_command add_money slave, 10500
end_monitor

;----------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Section 4b: Konny's per city boost
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;----------------------------------------
; This part makes sure romans_julii gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType romans_julii
and not FactionIsLocal
and not I_FactionBesieged romans_julii
and Treasury < 0
console_command add_money romans_julii, 500
end_monitor

;----------------------------------------
; This part makes sure romans_scipii gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType romans_scipii
and not FactionIsLocal
and not I_FactionBesieged romans_scipii
and Treasury < 0
console_command add_money romans_scipii, 500
end_monitor

;----------------------------------------
; This part makes sure romans_brutii gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType romans_brutii
and not FactionIsLocal
and not I_FactionBesieged romans_brutii
and Treasury < 0
console_command add_money romans_brutii, 500
end_monitor

;----------------------------------------
; This part makes sure egypt gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType egypt
and not FactionIsLocal
and not I_FactionBesieged egypt
and Treasury < 0
console_command add_money egypt, 500
end_monitor

;----------------------------------------
; This part makes sure seleucid gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType seleucid
and not FactionIsLocal
and not I_FactionBesieged seleucid
and Treasury < 0
console_command add_money seleucid, 500
end_monitor

;----------------------------------------
; This part makes sure carthage gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType carthage
and not FactionIsLocal
and not I_FactionBesieged carthage
and Treasury < 0
console_command add_money carthage, 500
end_monitor

;----------------------------------------
; This part makes sure parthia gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType parthia
and not FactionIsLocal
and not I_FactionBesieged parthia
and Treasury < 0
console_command add_money parthia, 500
end_monitor

;----------------------------------------
; This part makes sure gauls gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType gauls
and not FactionIsLocal
and not I_FactionBesieged gauls
and Treasury < 0
console_command add_money gauls, 500
end_monitor

;----------------------------------------
; This part makes sure germans gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType germans
and not FactionIsLocal
and not I_FactionBesieged germans
and Treasury < 0
console_command add_money germans, 500
end_monitor

;----------------------------------------
; This part makes sure britons gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType britons
and not FactionIsLocal
and not I_FactionBesieged britons
and Treasury < 0
console_command add_money britons, 500
end_monitor

;----------------------------------------
; This part makes sure greek_cities gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType greek_cities
and not FactionIsLocal
and not I_FactionBesieged greek_cities
and Treasury < 0
console_command add_money greek_cities, 500
end_monitor

;----------------------------------------
; This part makes sure macedon gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType macedon
and not FactionIsLocal
and not I_FactionBesieged macedon
and Treasury < 0
console_command add_money macedon, 500
end_monitor

;----------------------------------------
; This part makes sure pontus gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType pontus
and not FactionIsLocal
and not I_FactionBesieged pontus
and Treasury < 0
console_command add_money pontus, 500
end_monitor

;----------------------------------------
; This part makes sure armenia gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType armenia
and not FactionIsLocal
and not I_FactionBesieged armenia
and Treasury < 0
console_command add_money armenia, 500
end_monitor

;----------------------------------------
; This part makes sure dacia gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType dacia
and not FactionIsLocal
and not I_FactionBesieged dacia
and Treasury < 0
console_command add_money dacia, 500
end_monitor

;----------------------------------------
; This part makes sure scythia gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType scythia
and not FactionIsLocal
and not I_FactionBesieged scythia
and Treasury < 0
console_command add_money scythia, 500
end_monitor

;----------------------------------------
; This part makes sure spain gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType spain
and not FactionIsLocal
and not I_FactionBesieged spain
and Treasury < 0
console_command add_money spain, 500
end_monitor

;----------------------------------------
; This part makes sure thrace gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType thrace
and not FactionIsLocal
and not I_FactionBesieged thrace
and Treasury < 0
console_command add_money thrace, 500
end_monitor

;----------------------------------------
; This part makes sure numidia gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType numidia
and not FactionIsLocal
and not I_FactionBesieged numidia
and Treasury < 0
console_command add_money numidia, 500
end_monitor

;----------------------------------------
; This part makes sure saba gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType saba
and not FactionIsLocal
and not I_FactionBesieged saba
and Treasury < 0
console_command add_money saba, 500
end_monitor

;----------------------------------------
; This part makes sure slave gets a little boost
;----------------------------------------
monitor_event SettlementTurnStart FactionType slave
and not FactionIsLocal
and not I_FactionBesieged slave
and Treasury < 0
console_command add_money slave, 500
end_monitor

;----------------------------------------

The idea remains simple: only help the AI when in need, and don't let it go too much into red, because it's too stupid to recover itself.

now, the RTW engine seems to be triggering first the SettlementTurnStart, then FactionTurnStart, (I may be wrong on this) so, if ‘Konny's part’ isn't enough to take the faction out of red and give it a little boost, ‘my part’ is going to 'level' the treasury to approximately zero. Anyway, this situation shouldn't occur if you’re right, and ‘konny’s part’ truly helps the AI to recover from bad path finding.

I think that the best way to tackle this money problem is to set yourself an objective goal, and try to reach it, without affecting any other aspect of the game. It’s very hard to come to a consensus when dealing with subjective opinions. That’s why I also think the 1.0 EB script is bad. It does a lot of ‘leveling’, but you can criticize it on every part. Codes like these


monitor_event SettlementTurnStart FactionType seleucid
and not FactionIsLocal
and I_NumberOfSettlements seleucid < 25
and I_NumberOfSettlements seleucid > 15
and I_TurnNumber < 81
and Treasury < 150000
aren’t going anywhere imo… (why 81, why 150000, why 25 and 15… what’s the LOGIC behind?) So, when dealing with this issue, I like to circumvent subjectiveness as much as I can.

This way there will also be no 1-city factions with 3 full stacks ... if they can't compete, they should not stand the bigger factions in their way.

NOTE1: I have included the vbscript which I used to generate this script part. I will not support it, nor will I comment on it in this thread.



Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2
Const filepath = ".\sample.txt" '"R:\Game Files\Rome - Total War EB 0.81a\EB\Data\scripts\show_me\sample.txt"
Dim factions : factions = array("romans_julii","romans_scipii","romans_brutii","egypt","seleucid","carthage","parthia","gauls","germans","britons","greek_cities","macedon","pontus","armenia","dacia","scythia","spain","thrace","numidia","saba","slave")
Dim moneysplits : moneysplits = array(0,-1000,-2000,-3000,-4000,-5000,-6000,-7000,-8000,-9000,-10000)
Const moneysplitdiff = 1000

Dim file
If not fso.FileExists(filepath) then fso.CreateTextFile(filepath)
Set file = fso.OpenTextFile(Filepath, ForWriting)
Dim factinon, moneysplit

' here begins the iterated code

file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline(";Section 4a: Davor's No Negative Treasury Possible")
file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline("")
file.writeline(";----------------------------------------")
for each faction in factions
file.writeline("; This part makes sure " & faction & " doesn't go into red")
file.writeline(";----------------------------------------")
for each moneysplit in moneysplits
file.writeline("monitor_event FactionTurnStart FactionType " & faction)
file.writeline("and not FactionIsLocal")
file.writeline("and Treasury < " & moneysplit)
if NOT moneysplit = -10000 then file.writeline("and Treasury > " & moneysplit-moneysplitdiff) 'this if-statement makes sure that beyond -10000, the faction will always get money.
file.writeline("console_command add_money " & faction & ", " & abs(moneysplit - moneysplitdiff/2))

file.writeline("end_monitor")
file.writeline("")
next
file.writeline(";----------------------------------------")
next



file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline(";Section 4b: Konny's per city boost")
file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline("")
file.writeline(";----------------------------------------")
for each faction in factions
file.writeline("; This part makes sure " & faction & " gets a little boost")
file.writeline(";----------------------------------------")

file.writeline("monitor_event SettlementTurnStart FactionType " & faction)
file.writeline("and not FactionIsLocal")
file.writeline("and not I_FactionBesieged " & faction)
file.writeline("and Treasury < " & "0")
file.writeline("console_command add_money " & faction & ", " & abs(500))
file.writeline("end_monitor")

file.writeline("")
file.writeline(";----------------------------------------")
next

NOTE2: I doubt there is a "terminator mode". I think it has to do with a more aggressive diplomacy on H/VH. I don't think any developer made it clear about RTW, but you can always look at other TW series. Here are some references I had concerning difficulty:

RTW:
------------------------------------------------------------------------------------
Strategically, the harder the difficulty, the more aggressive will the AI be towards you. You will get harder to sign diplomatic deals, and they will hate you more and longer (as if they could actually stop) and it is said that they also get bonus money (though this I personally don't know about) the harder the campaign difficulty. The eleutheroi may even send units to take your villages in VH, as opposed to N.

EB recommends VH because it makes eleutheroi villages act more like independant cities, as they are supposed to, but it's really a matter of personal taste. (https://forums.totalwar.org/vb/showthread.php?t=93693)

I miss something, TW gurus ?
-------
Question #10 - What do the difficulty ratings do?

Answer #10 - Welcome to the forums!

We don't know a great deal exactly about difficulty levels in M2TW, but we can extrapolate from STW, MTW and RTW.

Traditionally, on VH Battle Difficulty, AI units get +7 attack and +7 morale. On H Battle Difficulty, the AI gets +4 attack and +4 morale. Some people say that one of the devs said that in M2TW the AI only gets a morale bonus on VH or H. Be that as it may...

The AI is not supposed to be any smarter or more aggressive on VH or H than on Medium. But, the AI does behave differently... Why? Because the AI has higher morale - so it knows it can use weaker units to attack units it could not normally attack. The AI is also less likely to rout because of fear caused by elephants, fire or any of the other morale-lowering factors.

On Campaign Difficulty - on VH the AI traditionally got 10000 gold per turn as a bonus. I think it was 5000/turn on Hard. This makes it very hard to bankrupt the AI, even if you blockade all the ports and etc. Some people say that this is no longer the case in M2TW, but I have not been able to verify this.

The AI also traditionally got bonuses to settlement order - so AI cities are less likely to revolt, even with 10 super spies in them.

The AI also gets advantages in auto-resolve - very substantial ones - as can often be seen in naval battles.

The AI traditionally is not supposed to be any smarter on VH or H, but once again it acts differently... Why? Because the AI has more money, it can be more flexible and more aggressive. It can afford huge armies, it can afford spies, assassins and mercenaries - so it uses them. It also tends to leave its cities with tiny garrisons, because they are not needed to maintain order. The AI also tends to attack you more often on VH, because the Auto-Calc odds look to be in its favor more. But, since a good human player can almost always win on the Battlefield (even on VH Battle Difficulty), this can get the AI into a lot of trouble. Once again, some people say that one of the devs says the AI is "smarter" on VH, but I have not been able to verify this.

On the lower difficulty settings, the human player gets the advantages the AI would get on Hard or VH.

I think VH/H or VH/M is the best way to play the game.

Edit - Peacemaker EAF92 says:

"Some say the AI gets a higher moral and fatigue bonus. Perhaps this is true, but I do not see any of this. In previous titles this painfully obvious and this was why I never went onto Very Hard, but MTWII is different.

All it really does is RESTRICT Moral and Fatigue to very realistic levels for BOTH sides. So it`s much more stringent. So you can`t over push your men or they`ll tire quickly and rout sooner. That`s it.

The Dev Blog also mentions this ground-breaking change from RTW.

I have found Peasants are easy to rout, while tougher soldiers take longer, but nothing to tell me that the AI has any extra bonus, just longer battles of rout and counter rout.

This is not confirmed, but from viewing the forums and my own experience the AI seems to do things better on this level. Siege attacks, field attacks, etc though the `do-nothing` bug still blows it at times. "
http://shoguntotalwar.yuku.com/forum/viewtopic/id/629


M2TW:
-----------------------------------------------------------------
Campaign Difficulty :

- Relations between nations vary significantly. On Medium difficulty, relations with factions you are not allied or at war with will shift towards neutral ("don't know 'em, don't care about 'em"), while on Easy they shift towards Perfect, and on Hard/Very Hard they shift towards Abysmal, sharply so in the case of VH.
Since relations affect AI decisions somewhat, this means that while on Easy you'll mostly be left alone, on VH you'll most likely be attacked by everyone.

- Agent efficiency varies. On Medium, your agents (that is, priests + merchants + diplos + princesses + spies + assassins) and enemy agents have the exact same chances. On Easy, your guys are better than those of the AI. On H and VH, your guys have significant penalties to their success rates, and I believe on VH enemy agents also have bonuses against you, which can be a pain in the case of Inquisitors for instance.

- AI factions may or may not have a cash boost on H and VH. I heard both claims, and while I haven't seen anything about it in the game's .txt files, it's possible.


Battlemap difficulty :
- Morale and Fatigue are progressively more important to the player, depending on diff setting. On Easy you can pretty much run your guys all over the place, in the snow, uphill both ways, all the while being charged in the back by Darth Vader, and your boys won't falter nor wheeze. On VH, you have the same morale and fatigue values the computer has.

- Cleverer AI : it's been said that the AI makes less mistakes on VH, handles it's forces better etc..., but I'm inclined to believe it's not the case. The battlefield AI is in a moddable .xml file, and there's precious little about difficulty in it (in fact, the only variable that changes based on difficulty is called "retreat-analyser". May dictate at which time the computer will throw in the towel I suppose ?)

- No effect on stats. The AI soldiers are not wargods on VH, nor are they wimps on Easy - your guys and his are equivalent no matter the difficulty.

NOTE3: Think it's best played on medium strategy difficulty, because of more realistic diplomacy.

NOTE4: Someone has any other ideas about circumstances in which the faction should NOT be given extra money when it's broke, besides when it besieged?

https://img221.imageshack.us/img221/1051/128oq5.th.png (https://img221.imageshack.us/my.php?image=128oq5.png)

konny
11-16-2007, 13:26
I implemented you idea into my script because i thought you had a point about broke path finding (I myself had carthage 100 years doing nothing, although it had 3 huge armies at the gates of Balthazar (see the picture below). So, I hope you’re right when you say that another stack will be better used).

I can't credit myself for that. There is a thread here on the org or over on the TWC were someone else had made lengthy tests with simple four-towns maps and discovered that problems with LOS, 90&#176; or more degree bents, or exact diagonale paths might lead to pathfinding problems that makes a stack pinned until it is given a new destination by the AI. In some cases it can lead to a stack pinned for the entire game. Therefore the AI always needs at least one more stack to expand at all.

I think that was the problem with the complete static Getai in EB 0.8, as well as it is responisble for the Greek army that is pinned permanent on Crete in EB 1.0 without taking the town. My own test have shown "phases awake" and "phases asleep" of the AI factions. I think these are related to the above problem.


The idea behind my money script is to don't give the AI factions any financial help in the first place and/but to help poorer factions out that had run in this pathfinding problem with their starting armies (even though I didn't knew that pathfinding was the reason behind the pinned stacks when I started with the work on this script). The AI is spending the extra money always on new units, as far as I have seen. And that is intended, because new armies might lead to new strategical sitatuions that might lead to new, more legally, targets for the pinned stacks.



aren’t going anywhere imo… (why 81, why 150000, why 25 and 15… what’s the LOGIC behind?)

Yes, in this case especially the 150,000 doesn't seem to make much sense. With the EB money script I see hughe factions like AS either be millionairs or be broken throughout the entire game.

The reason is once again the tendency of the AI to use extra money to raise new units. When these are not crushed in one of the next turns, for example by the human faction beeing at war with this faction, they'll produce a rapid growing depth that will lead to the faction never reach the 150,000.

BTW, with my script I can't recall to have ever seen one of the factions that don't get money help run into the minus, as long as they don't lose important cities.


NOTE2: I doubt there is a "terminator mode". I think it has to do with a more aggressive diplomacy on H/VH. (...) NOTE3: Think it's best played on medium strategy difficulty, because of more realistic diplomacy.

That was an idea, for what I had no prove either - on the other hand, only a developer can answer. I would recommend M/M difficulty for EB (together with my money script) too. Playing on H or VH and use "forced diplomacy" doesn't make any sense at all.


NOTE4: Someone has any other ideas about circumstances in which the faction should NOT be given extra money when it's broke, besides when it besieged?

There are some tests on the victory conditions in BI in another thread. May be, these will lead to a new set of circumstances. For example, assinging this and that town as VC to a faction and help them out only as long as they don't have conquered them. That would make sense if we are able to direct or force the AI to these towns, what seems to be possible at least with the BI.exe.

Davor
11-16-2007, 18:56
The AI is spending the extra money always on new units, as far as I have seen. I think it also has to do with this 'spoil' below, but you’re probably aware of it already.
These control a set of AI production personalities, which contribute a bias towards building and training (but not retraining or repairing). This bias is fairly small compared to game-generated factors such as "the enemy is attacking me with lots of cavalry, build me some spearmen". Explaining the weighting system which drives the production AI in full is beyond the scope of this document as it would take several days to write.

So in short, the building construction personalities are these: (ranked highest to lowest - therother)

balanced - biases towards growth, taxable income, trade level bonuses (roads), walls and xp bonus buildings

religious - biases towards growth, loyalty, taxable income, farming, walls and law

trader - biases towards growth, trade level, trade base, weapon upgrades, games, races and xp bonus buildings

comfort - biases towards growth, farming, games, races, xp bonus and happiness

bureaucrat - biases towards taxable income, growth, pop health, trade, walls, improved bodyguards and law

craftsman - biases towards walls, races, taxable income, weapon upgrades, xp bonuses, mines, health and growth

sailor - biases towards sea trade, taxable income, walls, growth, trade

fortified - biases towards walls, taxable income, growth, loyalty, defenses, bodyguards and law

These biases are towards building properties, rather than buildings themselves. The game does not know what a "Blacksmith" is, for example, it only knows that it is a building which provides a weapon upgrade, and hence a Craftsman AI would be more likely to build it than another AI personality type.

These are then combined with a troop production personality, as follows:

smith - exactly level

mao - biased towards mass troops, light infantry

genghis - biased towards missile cavalry and light cavalry

stalin - biased towards heavy infantry, mass troops and artillery

napoleon - biased towards a mix of light and heavy infantry, light cavalry

henry - biased towards heavy and light cavalry, missile infantry

Caesar - biased towards heavy infantry, light cavalry, siege artillery

The same system as for the buildings applies. Troop category and class are combined at the time the unit database is loaded to give a unit production type, and the likelihood of the AI choosing to produce a given unit type which can be produced is then modified by the unit type weighting. There is also a random element in the choosing of which building or troop type to produce next, so the effect of the bias is a statistical thing. Another factor that is applied over the top which may obscure the bias is a tendency towards producing troop mixtures (according to what is already in the garrison) and a weighting according to unit strength.

The two sets of types can be freely combined; for example, although Fortified Caesar does not appear in the list of options currently used by the vanilla RTW game, it is a valid combination.



BTW, with my script I can't recall to have ever seen one of the factions that don't get money help run into the minus, as long as they don't lose important cities. You want to say that with your script a faction never got in red? Your sentence seems to imply the opposite: AI is smart enough, as long as it doesn’t lose important cities, to run a positive treasury?


Absolutly not. I am giving the AI 5,000 per town per turn until economy has recovered. The only way for the AI to don't get beyond this point is by not doing anything at all. When the AI has conquered an additional town it will get another 5,000 extra the next turn for that. This, minus the lower upkeep for the casualties, will most likely get their treasury over the green line. 5000 seems too much money per turn/per town to me. Imagine SA with 20 towns going slightly (-100) into red. This would give them a 100.000 minae boost. At least, this is how I understood your script, partly because I understood you this way, and partly because of my wrong interpretation of the RTW money counting.

The fact is that SA, in the described situation, would not get 100.000 minae from your script, but only 4900. I don't know if you are aware of this, but I wasn't. If you weren't, here is why: After you click the end turn button, the engine runs the moves of all other factions. After that, the script is run. I first thought that variable 'treasury' is held fixed, and the '#settlements'*5000 minae is added, but this isn't true. The variable 'treasury' is updated constantly during scriptrun after each event, and the SettlementTurnStart-event occurs '#settlements' times... dumb me. So your script keeps the treasury of a faction that is predicted to go in red, between 0-4999 minae, as long it has enough towns to compensate for the expenses. (having 3 towns means that the faction can pile up a credit of 15000 and still be able to have positive income,... now this seems a bit too much for mee, so I changed it to 1000 in my script (not adjusted in the above post), without any strong reason though.)

NOTE1: maybe increasing the average unrest for the player-cities could also increase the overall difficulty of the game as the player would have to leave more troops in cities when campaigning.

konny
11-17-2007, 01:36
I think it also has to do with this 'spoil' below, but you’re probably aware of it already.

I don't think so because ASFAIK these settings only effect the priority of the next building (eg. first market place, second temple) or unit (first horse archer next spearmen) to be bought by the AI and not the tendency to either spend the last mne on a market place or a squadron of horse archers.


You want to say that with your script a faction never got in red? Your sentence seems to imply the opposite: AI is smart enough, as long as it doesn’t lose important cities, to run a positive treasury?

That seems to be true for the factions that do not get money help at all and by this are not objects of the script (Rome, AS, Karthage etc). So, it doesn't have anything to do with my script, but shows that the AI is able to deal with the thougher economy in EB; provided it is running a faction that is about stable in economics when the game starts.

The help is for those factions that are either for some time in trouble or won't ever recover at all (for example the Arverni and Aedui, who never have a balanced economy when run by the AI).


5000 seems too much money per turn/per town to me. Imagine SA with 20 towns going slightly (-100) into red. This would give them a 100.000 minae boost. At least, this is how I understood your script, partly because I understood you this way, and partly because of my wrong interpretation of the RTW money counting.

Yes, and that is the trick: they don't get more money (this turn) if the money help has brought them into the green on any settlement turn start. I was certain that the programm works this way, because the AI will check its towns only once per turn; and when it constructs new buildings or raises new units the treasury must always be updated before the next settlement's turn starts.

I was on the other hand concerned that the AI is now able to spend the 5,000 on every town; but no: the AI isn't able to (or seems not to be) spend more money than it has.


The 5,000 are not a number proved by hard scholary examinations and scientific proofed tests. It was about the first number that came to my mind when I thought on a summ that could help the one-town factions out of the debth. It is about the negative you'll make every turn with factions like Sweboz, Pontos or Hay when you don't do anything.



NOTE1: maybe increasing the average unrest for the player-cities could also increase the overall difficulty of the game as the player would have to leave more troops in cities when campaigning.

May be.

On the other hand, troop numbers are not the problem of the AI but the usage of troops. May be the tests with the Alex.exe in other thread will show some improved battlefield a stratmap behaviour of the AI?

Callicles
11-17-2007, 02:37
So the conclusions are that Konny's script may be superior to the EB 1.0 ai in terms of diplomacy and dealing with the static armies like the Getai and the Greeks on Crete.

If that is true, has Konny released a version for 1.0?

konny
11-17-2007, 03:03
Oh, I hadn't uploaded the new script. Will do so ASAP. (you can do it manuell by simply replacing the code for the money help in the new script with my modifications for EB 0.8 - it is the same).


So the conclusions are that Konny's script may be superior to the EB 1.0 ai in terms of diplomacy and dealing with the static armies like the Getai and the Greeks on Crete.

Diplomacy might be, at least members who use this script report a slightly improved diplomacy. But the script does nothing to the pinned stacks. It only helps the faction, more than the original script, to raise a second stack.

For the Greek stack on Crete, the only thing that can be done for it is to move it to the mainland. It seems that the AI is always assinging it a target that it cannot reach (so,never the town on Crete itself). The same is with the Epeirote near Pella. In, I would say, 7 out of 10 campaigns the AI does not use this stack to siege Pella in turn 1 but moves it away.

Callicles
11-17-2007, 03:38
I didn't realize it was the same as the script for EB .8. Your script made the difference in .80; I'm sure I'll love playing 1.0 with it. Thanks.

Davor
11-17-2007, 16:39
So the conclusions are that Konny's script may be superior to the EB 1.0 ai in terms of diplomacy and dealing with the static armies like the Getai and the Greeks on Crete.[
/QUOTE]

Whether the current script is bad depends on what you expect of the game. If you just want to fight stack after stack, then the 1.0 script is better. But this script also makes allot of game aspects irrelevant, like diplomacy, economy penalties by besieging cities or trade routes or shipyards..., rational warfare, and so on. Now, Konny's script simplicity deals with many of them, but has some shortcomings. I found some time to play with the script, so I'll sum up my findings here, and also make some definite adjustments to my script, as I will not be able to work on it in the following months.

[QUOTE=Konny]
... if you or other players have the impression that the AI needs more, or different, help we can open this one for discussion: who should get how much and under which circumstances?

So here it comes:

NO1: as you said it yourself


So far I am satisfied: the AI is expanding in a reasonable way and the army are about the size I would expect of their empires; save for the one-town factions with their three full stacks.

'the one-town 3 stack problem' is possible with your script, and I assume that’s not what you want. (at least that’s not what I want) The problem is those 5000 you give. Example: 1 city faction that is in red will get every turn 0-4999 minae. That is enough money to build and support a big army. So their credit will be increased my 5000. Eventually, they will start to lose money, as explained in my previous critical posts. Now, imo, this 5000 in your script should be reduced. But if one reduces it, then the whole aspect of 'restoring their economy' is lost. Solution: With my adjusted script above I replaced 5000 with 500. But this doesn't do anything much. It just keeps their economy static at 0-499 minae, provided they have enough cities to support their expenses. But this is what my part of the script already does.
What one could do to solve all this is to make something like this:
monitor_event SettlementTurnStart FactionType X
and not I_FactionBesieged X
and Treasury < 2000
console_command add_money slave, 500
end_monitor
This code will keep, provided the faction has enough cities, the treasury between 2000-2499 in my script. 'the one-town 3 stack problem' will be solved because the faction, provided it is not besieged, will only have 500 extra to spend for troops, in contrast to your 5000.

NO2: 5000 is too much for other seasons too, imo, as already described in previous post. "having 3 towns means that the faction can pile up a credit of 15000 and still be able to have positive income,... " If it has even more cities, their credit can become astronomical... With my adjusted script, this pilled up credit will only be 1500 for 3 cities, what seems to be more reasonable.

NO3: Konny's script makes the game aspect of besieging irrelevant in certain circumstances. For example, If I attack a big city of a faction, and by my act, let them go in red, they will get a 0-4999 minae boost their next turn. So there is no point in trying to cripple some faction's economy. I have addressed this issue by making sure that a faction will, provided it has enough cities, get 2000-2499 minae in their next turn, as long as it is not being besieged.

Why give them some money if they are below 2000? Well, 2000 seems to me a value that can be used for something, for example, buy levy troops, or some minor building.

All these issues could be made obsolete if, imo, the one that makes the EB money scripts would talk a bit more with the one that sets up the starting troops and the unit recruitment/support costs. If every faction started with a positive economy, which is the main problem here if you ask me, there would be much less money tweaking needed. EB started out as a 'reality' mod, and the 'fun factor' being considered secondary... these days, it tends to be the opposite (reason being it's increased popularity?)

So I'll post here this time only the vbscript code because it's much more conveniently arranged than the EB script (and I don't want to spam the forum more than I already did)

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2
Const filepath = ".\sample.txt" '"R:\Game Files\Rome - Total War EB 0.81a\EB\Data\scripts\show_me\sample.txt"
Dim factions : factions = array("romans_julii","romans_scipii","romans_brutii","egypt","seleucid","carthage","parthia","gauls","germans","britons","greek_cities","macedon","pontus","armenia","dacia","scythia","spain","thrace","numidia","saba","slave")
Dim moneysplits : moneysplits = array(0,-1000,-2000,-3000,-4000,-5000,-6000,-7000,-8000,-9000,-10000)
Const moneysplitdiff = 1000

Dim file
If not fso.FileExists(filepath) then fso.CreateTextFile(filepath)
Set file = fso.OpenTextFile(Filepath, ForWriting)
Dim factinon, moneysplit

' here begins the iterated code

file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline(";Section 4a: Davor's No Negative Treasury Possible")
file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline("")
file.writeline(";----------------------------------------")
for each faction in factions
file.writeline("; This part makes sure " & faction & " doesn't go into red")
file.writeline(";----------------------------------------")
for each moneysplit in moneysplits
file.writeline("monitor_event FactionTurnStart FactionType " & faction)
file.writeline("and not FactionIsLocal")
file.writeline("and Treasury < " & moneysplit)
if NOT moneysplit = -10000 then file.writeline("and Treasury > " & moneysplit-moneysplitdiff) 'this if-statement makes sure that beyond -10000, the faction will always get money.
file.writeline("console_command add_money " & faction & ", " & abs(moneysplit - moneysplitdiff/2))

file.writeline("end_monitor")
file.writeline("")
next
file.writeline(";----------------------------------------")
next



file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline(";Section 4b: Konny's per city boost")
file.writeline(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
file.writeline("")
file.writeline(";----------------------------------------")
for each faction in factions
file.writeline("; This part makes sure " & faction & " gets a little boost")
file.writeline(";----------------------------------------")

file.writeline("monitor_event SettlementTurnStart FactionType " & faction)
file.writeline("and not FactionIsLocal")
file.writeline("and not I_FactionBesieged " & faction)
file.writeline("and Treasury < " & "2000")
file.writeline("console_command add_money " & faction & ", " & abs(500))
file.writeline("end_monitor")

file.writeline("")
file.writeline(";----------------------------------------")
next

Copy it in a text file, rename the txt extension to vbs, double-click, and the 'sample.txt' code should be made in the same folder. You only need a windows machine for it to run.

For those that want to test scripts and don't want to click on the 'end turn' constantly, I’ll include here the VB6 code (Yes, I know, VB6 is old ... but I had a code sample, and didn’t want to convert it to VB.NET... so you need VB6 to run it.) Make a form, timer1 and timer2, set their interval to 1000ms, copy the code in the form and it should work. It just clicks on ‘accept husband’ and ‘next turn’ every 80 sec. I use this command to start EB for testing: “RomeTW.exe" -mod:eb -nm -show_err -ne -na


Option Explicit
'USER VARS-----------------------------------------
Const what As String = "EB" 'keuze uit EB, Acrobat,...
Const A4 As Integer = 118 'hoeveel sec voor scannen van A4 nodig
Const EBTurnlength As Integer = 85
'--------------------------------------------------


Private Type POINTAPI
x As Long
y As Long
End Type

Private Type POINTAPI_
x As Long
y As Long
End Type
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI_) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As INPUT_TYPE, ByVal cbSize As Long) As Long
'FOR KEYBOARD STATE KEYS
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer


Private Enum MouseClick 'Set the constants of the mouse buttons
MOUSEEVENTF_LEFTDOWN = &H2
MOUSEEVENTF_LEFTUP = &H4
MOUSEEVENTF_RIGHTDOWN = &H8
MOUSEEVENTF_RIGHTUP = &H10
MOUSEEVENTF_MIDDLEDOWN = &H20
MOUSEEVENTF_MIDDLEUP = &H40
End Enum

Private Const INPUT_MOUSE = 0
Private Const INPUT_KEYBOARD = 1
Private Const INPUT_HARDWARE = 2

Private Type MOUSEINPUT
dx As Long
dy As Long
mouseData As Long
dwFlags As Long
dwtime As Long
dwExtraInfo As Long
End Type

'This is for Keyboard input keys
Private Type KEYBDINPUT
wVk As Integer
wScan As Integer
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type

Private Type INPUT_TYPE
dwType As Long
xi(0 To 23) As Byte
End Type

Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2

Dim tp_X As Single, tp_Y As Single
Dim ClkIndex As Integer
Dim OpCtWin As Integer
Dim SecCounter As Integer

Private Sub VirtualClickMouse(Optional ButtonPressed As MouseClick, Optional ButtonRelease As MouseClick, Optional xval As Integer, Optional yval As Integer)

Dim intX As Integer
Dim inputevents(0 To 1) As INPUT_TYPE ' holds information about each event
Dim mouseevent As MOUSEINPUT ' temporarily hold mouse input info

If xval = Null Then xval = 0
If yval = Null Then yval = 0

' Load the information needed to synthesize pressing the mouse button.
mouseevent.dx = xval ' no horizontal movement
mouseevent.dy = yval ' no vertical movement
mouseevent.mouseData = 0 ' not needed
mouseevent.dwFlags = ButtonPressed ' button down
mouseevent.dwtime = 0 ' use the default
mouseevent.dwExtraInfo = 0 ' not needed
' Copy the structure into the input array's buffer.
inputevents(0).dwType = INPUT_MOUSE ' mouse input
CopyMemory inputevents(0).xi(0), mouseevent, Len(mouseevent)

' Do the same as above, but for releasing the mouse button.
mouseevent.dx = 0 ' no horizontal movement
mouseevent.dy = 0 ' no vertical movement
mouseevent.mouseData = 0 ' not needed
mouseevent.dwFlags = ButtonRelease ' button up
mouseevent.dwtime = 0 ' use the default
mouseevent.dwExtraInfo = 0 ' not needed
' Copy the structure into the input array's buffer.
inputevents(1).dwType = INPUT_MOUSE ' mouse input
CopyMemory inputevents(1).xi(0), mouseevent, Len(mouseevent)

' Now that all the information for the 2 input events has been placed
' into the array, finally send it into the input stream.
intX = SendInput(2, inputevents(0), Len(inputevents(0))) ' place the mevents into the stream

End Sub



Private Sub Timer1_Timer()
Dim pt As POINTAPI_
Dim aantalsec As Integer

If what = "EB" Then aantalsec = EBTurnlength
If what = "Acrobat" Then aantalsec = A4

SecCounter = SecCounter + 1

If what = "EB" Then
If SecCounter = aantalsec - 3 Then
Call GetCursorPos(pt)
VirtualClickMouse , , 490 - pt.x, 510 - pt.y 'mary the dude coordinates
End If

If SecCounter = aantalsec - 2 Then
VirtualClickMouse MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP 'mary the dude
End If

If SecCounter = aantalsec - 1 Then
Call GetCursorPos(pt)
VirtualClickMouse , , 986 - pt.x, 736 - pt.y 'end turn cordinates
End If

If SecCounter = aantalsec Then
SecCounter = 0
VirtualClickMouse MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP 'end the turn
End If
End If

If what = "Acrobat" Then
If SecCounter = aantalsec Then
SetCursorPos 395, 347
VirtualClickMouse MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP
End If

If SecCounter = aantalsec + 1 Then
SecCounter = 0
SetCursorPos 540, 430
VirtualClickMouse MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP
End If


End If
End Sub

Private Sub Timer2_Timer()

Timer2.Enabled = False
End Sub


That’s it... as I already said; I will not be able to make any lengthy posts in the following months, because of other responsibilities. I will keep an eye on this thread though. You can use everything I have posted as you wish. I consider it as my little input in the community.

konny
11-18-2007, 12:39
'the one-town 3 stack problem' is possible with your script, and I assume that’s not what you want. (at least that’s not what I want) The problem is those 5000 you give.

That is in fact intended. The idea is to boost the very small factions, in particular those around the Seleucid Empire, that they will not become a push over but have the chance to become quite powerfull, even when run by the AI. Another experince was playing the Arverni: When the Gaulls don't get massive help by the script they'll never have the economic means to be a challange to the Romans, Sweboz or whoever has those lands on his list.


I have addressed this issue by making sure that a faction will, provided it has enough cities, get 2000-2499 minae in their next turn, as long as it is not being besieged.

And that is different to my approach: I don't want to support the big factions but the small ones. When you don't give them a hughe summ for every town, only the big ones are able to really profit from the script. On the other, it had turned out that the big factions, with 5 or more towns from the start, usually never need economic help throughout the game.


If every faction started with a positive economy, which is the main problem here if you ask me, there would be much less money tweaking needed.

That is another problem, too. I had thought of reducing the starting armies down to a level that can be supported by the early economy, but stopped when it turned out that factions like Pontos or the Sweboz wouldn't start without any units all, because they even can't support the wages for the FM.

A sollution could be to raise the starting economy by raising the population of several cities and adding more economic buildings, especially mines, to these towns, and several others that the AI loves to attack in the first turn when playing these factions. I think that is definitly worth a consideration. It requires some tweaks to descr_strat, so isn't much to difficult.

Decimus Attius Arbiter
11-21-2007, 19:07
About the bug fix to the ebbs script. Will I lose the fixes if I copy your money script over it?

Callicles
11-23-2007, 03:04
I copied Konny's changes into the EBBS file with the bug fixes. I haven't noticed a problem yet, but I'm only to 229.

Decimus Attius Arbiter
11-25-2007, 19:20
It would be nice to have a copy of the money parts of the script to paste in. Playing the Grey Death and hate being on top of the anthill that is the Ptolemies.

konny
11-26-2007, 01:42
It is in the download link. That is the old (EB 0.8) script. Just delete the part "city income bonus", or what it is excactly called, in the EB 1.0 and copy the respective part of my money script in the place. I will wait before I upload the new version until the official EB 1.1 is out, since now everyone is useing different bugfixed that were released for EB 1.0

Decimus Attius Arbiter
11-27-2007, 18:01
Thanks, I am going to try it out.

Ymarsakar
12-25-2007, 07:32
konny, why not give factions like pontus an initial mnai influx so that the economy doesn't go negative for a few turns?

konny
12-25-2007, 10:20
They do get itin EB. The problem is that these factions (Getai, Pontos, Armenia) often do anything for a very long time. If we want them to have the money do economicly survive that time they may be need a million of mne. That would seriously unbalance the game if they decide to go on campaign on turn #1 (and sometimes they do).

Ymarsakar
12-25-2007, 15:06
I'm not sure how many smaller factions are in view here, but I remember that the Sweboz and Saka Rauka, and some others, would get mnai bonuses from devastating an enemy tile. Could increasing that or adding it to factions help out those smaller factions in the beginning?

konny
12-25-2007, 15:57
I don't think so because for that they have to enter hostile territory first - and that's the point where they always fail.

Danzifuge
03-09-2008, 01:11
A sollution could be to raise the starting economy by raising the population of several cities and adding more economic buildings, especially mines, to these towns, and several others that the AI loves to attack in the first turn when playing these factions. I think that is definitly worth a consideration. It requires some tweaks to descr_strat, so isn't much to difficult.
i am all for this. i would touch it, but god knows what would happen if doubled or tripled the populations of all towns and cities. squalor levels and public order would probably be insane. would require too much editing of the infrastructure and as i have little to no understanding of the mechanics of city levels, i'm not gonna even try.

even doubled or tripled these population sizes don't make much sense. in all historical accuracy, rome had near 160,000 people around the beginning of this timeline. city levels and mechanics would have to be restructured, of course. i wish the numbers representative of units were more realistic too. without actually increasing the representative number of men on the battlefield could these numbers be increased? of course, the kill rate would have to be increased. i'd probably piss myself the first time i saw 50 men killed in ten seconds

konny
03-09-2008, 12:22
i am all for this. i would touch it, but god knows what would happen if doubled or tripled the populations of all towns and cities. squalor levels and public order would probably be insane. would require too much editing of the infrastructure and as i have little to no understanding of the mechanics of city levels, i'm not gonna even try.

You can also raise the basic farm level of the provinces. It is at 1 or 2 in EB, but was up to 10 in RTW. That would add more money from farming and give you a rapid growth.


even doubled or tripled these population sizes don't make much sense. in all historical accuracy, rome had near 160,000 people around the beginning of this timeline. city levels and mechanics would have to be restructured, of course. i wish the numbers representative of units were more realistic too.

The numbers in RTW are bit problematic. What does the population represent?

The total number of the people in a province? Certainly not, because you can draft all of them to your army.

The total number of male fit for military service? No, because all seem to pay taxes, but there should to be a number of people to poor to add to your economy but can be drafted. The same would be for slaves.

The number of male fit for miliary service and wealthy enough to pay taxes? Most likely, but where are the rest of the people, that a) can pay taxes but do not serve and b) do not pay taxes but can fight?

The same is for the troop numbers. Due to limitations of the engine, and the fact that very small units don't make sense because of the 20-units limit in an army, numbers have to be the way they are. So, a regiment of phalanx pikemen is only a bit larger than a cohort of Legionars, even though it should be ten times larger.

There is no way around it by modding because that's the engine.

craziii
04-01-2008, 00:48
is this mod still needed with EB 1.0???

Danzifuge
04-01-2008, 18:01
You can also raise the basic farm level of the provinces. It is at 1 or 2 in EB, but was up to 10 in RTW. That would add more money from farming and give you a rapid growth.

what file and what lines?

konny
04-02-2008, 10:48
[....]\Data\world\maps\base
DESCR_REGIONS.txt

It is the last number of the entry of each province (usually a "1" or "2")