Revised Roman Empire

Slaves are better represented by Barbarians in my humble opinion (Rome din't go to war with minor civs because of Spartacus).
I'm still working on it (the scenario sports a somewhat large Custom module... :rolleyes:) but you might be right. The potential problem is however that Barbarians is a very special Civ. I fear that unit behavior would also be different... :p

BTW: Mine triggers are longer :P Though, the long messages beats everything.
Yeah, that's a pretty long line of code. :p But you're actually doing it right by not dividing the methods over several Triggers, because its the number of Triggers that add to the between-game-turns lag, not their content. (Well, placing Condition methods in some order or another will also determine how many Conditions will actually be checked on a given turn - as the code stops checking further Conditions once one fails.)

You actually shouldn't be entering (long) string values into the Trigger line. Assign the string value to a variable instead, and use that. This is what I did with the string assigned to the value slaves:
Code:
slaves = "Escaped gladiator slaves are gathering a rebel army and taking to the hills!"
Look at my code again and find the message() method. Not so complicated, right?
 
so...I just lost all the work I did this week because my hard disk died in combat ._.
OMG! :eek: This is terrible news!

I'm releasing my backup copy but it has only the AI improvement part...
I'm looking at your script and thought I'd give you some basic pointers:

You should try to minimize the amount of Triggers as each one will eat up system resources. So instead of this:
Code:
Trigger(30).year(-400).once().city(52, 44, "Numantia")#Numantia
Trigger(30).year(-400).once().garrison((52, 44), 28,2)#Numantia garrison
You can just do this:
Code:
Trigger(30).year(-400).city(52, 44, "Numantia").garrison(eType=28,iNum=2)#Numantia with garrison
I also deleted the once() method since it does nothing with a city() method. And I deleted the tCoords tuple form the garrison() method as the target plot was already defined in the city() method.

It can also be noted that whenever you use the turn() or the year() method with only one argument (one single turn or year) the code that the once() method brings to the Trigger is activated by default. (Its a feature I've added to speed things up.) So you could just take those away without thinking twice about it.

But as I believe I've said before, you should always use once() - when in doubt. :goodjob:

And it is also possible to spawn several different unit types with one single Trigger - even on different locations! :eek: So this:
Code:
#Claudio
Trigger(7).year(44).once().check(False,False).units(53, 54,4,1)#Britannia
Trigger(7).year(44).once().check(False,False).units(53, 54,29,1)
Trigger(7).year(44).once().check(False,False).units(58, 38,29,5)#Legions Carthage
...could be concatenated into this:
Code:
Trigger(7).year(44).once().check(False,False).units(53, 54,4,1).units(53, 54,29,1).units(58, 38,29,5) #Claudio
1/3 the number of Triggers is 1/3 the lag in between turns! :eek:

And likewise:
Code:
#First Triumvirate
Trigger(7).year(-53).once().check(False,False).treaty(5,False)
Trigger(7).year(-53).once().check(False,False).units(73, 39,29,5)#Crasso conquers Palestina 
Trigger(7).year(-53).once().check(False,False).target((72,38),(73,42)).flip(bMinorsOnly=False).buildings(60,67,3,37)#Crasso vs Parts dies in battle
Code:
#First Triumvirate
Trigger(7).year(-53).check(False,False).treaty(5,False).units(73, 39,29,5).target((72,38),(73,42)).flip(bMinorsOnly=False).buildings(60,67,3,37)
oh...and the fall of the empire part doesn't work very well...the byzantine empire(greece) doesn't respawn i don't know why :( (i solved this problem before but i can't remember how)
What are you doing currently? (Script, please.) Try to awaken the Civ first with a unit spawn or the like, and only then flip the cities. It should work.

I might just make a real respawn method for you one of these days, but I can't promise when I will have the time to get around to it.
 
Anyway, the scenario just now seems similar to extended flip modmod (or whatever the name of mod which makes cities to flip to historical owners before player spawn). I agree that the word "scenario" means that some things are predetermined but I think it's a bit too much.

It's not like the extended flip modmod because even if you play a civilization that spawns before romans you'll see them expand and conquer all the mediterranean (in realistic historical dates)...though I admit that now it's a bit too predetermined I can't make rome conquer all the mediterran without flips because it keeps disbanding the legions that i give to it

This is the code for the fall
Code:
#Fall of the roman empire
Trigger(28).year(410).fired("RomeisPlayer",False).target((51,45),(56,51)).flip(bMinorsOnly=False)#Sack of rome Goths conquer Gaul cities
Trigger(28).year(410).fired("RomeisPlayer",False).once().units(57, 48,30,5)#Goth troops
Trigger(28).year(410).fired("RomeisPlayer",False).once().units(57, 46,30,5)
Trigger(28).year(429).fired("RomeisPlayer",False).target((51,36),(61,39)).flip(bMinorsOnly=False)#Vandals in Carthage
Trigger(28).year(429).fired("RomeisPlayer",False).once().units(58, 39,30,8)
Trigger(4).year(395).once().fired("RomeisPlayer",False).check(bHuman=False,bDead=True).target((64,35),(73,47)).flip(bMinorsOnly=False).buildings(60,67,3,37)#Byzantine Empire
Trigger(4).year(395).once().fired("RomeisPlayer",False).check(False,False).target(68,45).buildings(0)#Constantinopolis capital city
Trigger(4).year(395).name("Constantinopolis", "Byzantion", (68,45))
Trigger(4).year(395).fired("RomeisPlayer",False).check(False,False).stability(30)
Trigger(4).year(395).fired("RomeisPlayer",False).once().check(False,False).units(68,45,29,10)
Trigger(4).year(395).fired("RomeisPlayer",False).once().check(False,False).units(73, 38,29,6)#Legions Egypt
Trigger(4).year(395).fired("RomeisPlayer",False).once().check(False,False).units(69, 33,29,6)#Legions Jerusalem
Trigger(7).year(410).check(False,False).stability(-20)
Trigger(7).year(476).check(False,False).collapse()
 
This is the code for the fall
I don't see anything irregular and my best idea is still that you "awaken" the Greeks by first spawning them a unit. Or perhaps spawn Constantinople on top of Byzantion? (Without a valid() Condition a new city will replace the any city that is in the way.)
 
Back
Top Bottom