Yeah, some sort of graphical interface would of course be ideal!My little concern is that it might be still hard for most non-computer science people.
Maybe a development tool can make it easier.
Do your worst! Unfortunately I don't know how to make something like that myself, but I have considered trying to (eventually) make something like this that can be used in game. Like the World Builder or the Mercenaries window.I'm thinking of making one when I got some free time, but I'll first need to read your intro.
edit: The lag issue is resolved from beta version 1.010 and onward. Rhye's original Python code is still about 2,5 times faster than the corresponding PyScenario script though - but its only a matter of milliseconds and the average time for checking all Triggers in between turns only add up to about 1/100 second (as long as no Triggers actually fire). I've calculated that 1000 Triggers could be checked in about 1/10 second, by the way, which is still hardly noticeable.It was while simulating the turns not loading the game and yes I had both files I will enable debugging.
Thank you for your kind words! Take a look at the beta release thread if you dare to try this out at this early stage. (I would of course offer up any support you would need. If you describe - in detail - what events you'd like I could create some example code for you to get you started.)I must admit I am a little intimidated by this "mod", but at the same time very excited at the possibilities. I have absolutely no programming experience, and in fact this is the only PC game I've ever played (I'm a history/anthropology student and I'm hooked). I'm confident I can learn to use this from your tutorial, but it is a lot to digest having no programming experience. PyScenario really opens up a lot of possibilities though; I can preset the little changes I've always wanted (like a spawned Kiev, and even Copenhagen). Thanks for making these types of things possible for the rank and file; you are a true hero of the proletariat!!
Not directly, no. I considered it at first but opted for a different approach:In the "flip" trigger, is there a way so that the flip is actually a conquest? (i.e: city conquered rather than peacefully change hands)
Yeah, you are absolutely correct. This has been on my to-do list all along. Any specific suggestions/requests as to in-game text messages?I guess some "actions" to display messages or choices would be useful - by that, a player can know why some events have happened and what exaclty happened.
Ok, I thought about this further and would like to propose the treaty() method:Do you actually need something like a war() method, you think? It could be used for more than just flipping, of course... The guess the trick is to also make vassals join in any wars - or should that be determined by a setting (set by default)? Maybe include open borders options in the same method? (Is there a better name than war() for a generic diplo method?) Any other ideas?
I'll have to look into what stability penalties already are in place. I think we'll have to revisit this topic when I get around to it.The reason I asked about conquests was for stability. If I let AI Arabia have an empire stretching from the middle east to Casablanca, it would dominate everything and also be stable... unless the flips across Africa were a result of conquest, in which case stability problems came earlier.
What is an issue right now, is that once a AI Civ loses half of its cities at once, there is an inevitable collapse down the line. I'll fix this in the next update though. Also, losing cities to flips causes instability, and this is also a cause for the odd collapse. I'll have to come back to this however.A way to make it so the flips cause some stability issues whilst not guaranteeing any results would be nice - this way we're not being too deterministic but as a "general" trend, we can get the AI to use this land for a change
I don't think this idea, while good, is something that fits into the scope of PyScenario. It would rather make a nice modmod (or mod component) in itself! You could develop the idea further and post as a suggestion in a new thread.I like the idea of messages too. Would it be a bad idea in your opinion if messages like "<civ name> has discovered the new world" as soon as a certain civ settles first in the Americas? I'm assuming in history, tales of such a discovery would have gone around the world? It would add to the immersion imo, and add the feeling of a "race" to certain things
Trigger(iJapan).check().turn(181,226,10,-1).once().city(116,47,"Edo").buildings(lJapanBuildings).culture(10).garrison(eType=iArcher,iNum=1)
What about a stability() method, then? It could be used to add or subtract stability points as you see fit! Then it would only be a matter of figuring out the exact right amount of Arabian instability.I was more thinking stability penalty (or at least some sort of eventual problems) for civs that receive these free cities. After all I'd be giving Arabia a bit of a boost, we can't give them this without a price, right?
Yes, because a new random number between 0 and 9 will be generated each turn inside the interval (181-226) and if that number happens to be zero, then the Condition will be met. This will happen about 1/10 of the time. So the city should spawn about turn 190, in average, but it might also not spawn at all. (Even if this is very unlikely with a 46 turn interval! )I've been trying the random turns idea to spawn cities:
...
Am I right in assuming the condition isn't fulfilled every ten turns, but more that it has a ~10% chance of occuring every turn?
You have grasped the concept, but the once() method is really not necessary when using the city() Action in any Trigger. Because this is one of the methods that will ever only fire once. (This is mentioned briefly in the documentation but I haven't specified which exact methods it concerns. In the future I might add this information.)I figure I need the "once()" condition so that the game doesn't try to spawn Edo again if it has already done so. Is this correct?
#Vikings
Trigger(iVikings).tech(eEra=con.iRenaissance).name("Stockholm","Birka")
Trigger(iVikings).tech(eEra=con.iRenaissance).name("Kjøbmandehavn","Roskilde")
It seems to be correctly formatted, but I wouldn't know what exactly the rest of your script looks like. I actually think this is my the code I supplied for you myself when I converted your scenario into a PyScenario script, right? It worked when I tried it back then, but something could of course be off now...Bug found, these lines didn't work as planned when the Vikings entered the Renaissance:
Did I screw something up at some point?Code:#Vikings Trigger(iVikings).tech(eEra=con.iRenaissance).name("Stockholm","Birka") Trigger(iVikings).tech(eEra=con.iRenaissance).name("Kjøbmandehavn","Roskilde")