| General | Hosted Sites | Civ5 | CivRev | Civ4Col | Civ4 | Civ3 | Civ2 | Civ1 | Misc | Marketplace |
![]() |
|
|
Welcome to Civilization Fanatics' Center. You are currently viewing our site as a guest which gives you limited access to our site features. By joining our free community, you will be able to participate in the discussions, search the forum, send private messages, vote in polls, upload your own screenshots to the gallery, and access many other special features. Registration is fast, simple and absolutely free, so sign up today! If you have any problems with the registration process or your account login, please contact support. |
|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
Deity
Join Date: Sep 2007
Posts: 4,878
|
Spawning with a great general?
I know Rhye isn't going to change his mod anymore, but has anybody wondered why later civs like America and Turkey (and also for later civs in very low likeness RAND) don't get great generals to counter the super-experienced troops that olders civs get? In that way you can give some leeway to the player (or AI) which units they want to promote to maximize their efficiency conquering their own lands.
Some might disagree with this, but America would not have been possible without Washington, and I mean the general, not the President.
__________________
Ferengi Rule of Acquisition no. 34: War is good for business... only from a distance, the closer to the front lines, the less profitable it gets. |
|
|
|
|
|
#2 |
|
#occupywallstreet
Join Date: Sep 2007
Posts: 1,753
|
Turkey's powerful enough.
__________________
Spoiler for Old Projects:
|
|
|
|
|
|
#3 |
|
Deity
Join Date: Nov 2009
Posts: 2,164
|
I also don't think Turkey needs a Great General due to their technological superioty, but America would definetly need all the help it can get; maybe even two Great Generals. It is very annoying that United States constantly lose their first wars and capitulate to a European power. I would like to see them taking over the whole continent, including California, which they only get via congress nowadays.
|
|
|
|
|
|
#4 |
|
Deity
Join Date: Sep 2007
Posts: 4,878
|
Actually, I mean Turkey for the 3000 BC start. If Persia or Babylonia are very strong, sometimes they don't expand at all.
And Arabia in the 3000 BC start can actually use a GG too--otherwise they just turtle in Jerusalem and the Arabian peninsula and there's absolutely no production there with bad commerce.
__________________
Ferengi Rule of Acquisition no. 34: War is good for business... only from a distance, the closer to the front lines, the less profitable it gets. |
|
|
|
|
|
#5 |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
In my Russia scenario, I actually considered having the Russians only spawn with a Great General.
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
|
|
|
|
|
|
#6 |
|
TXT_KEY_CUSTOM_USER_TITLE
|
I think America should get a Great General. Scripted, of course, to be named George Washington, for obvious reasons. So should the Mongols. They should get Genghis Khan. In fact, I like the idea of several civs receiving Great Generals at pre-scripted points to encourage expansion. Perhaps that way we could encourage Rome to actually expand in a decent manner. Yes, I know that that would trigger collapse if it expanded realistically, which is exactly my point.
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 |
|
|
|
|
|
#7 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
Spoiler:
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
Last edited by Baldyr; Jun 30, 2010 at 10:29 PM. Reason: corrected code |
|
|
|
|
|
|
#8 |
|
TXT_KEY_CUSTOM_USER_TITLE
|
You should go into sales. You're quite the peddler of your own merchandise.
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 |
|
|
|
|
|
#9 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
Not buying, then? ![]() edit: But seriously, if someone specifies exactly what should go into a Great General Spawn mod-mod I could just make it for you. Then it would be a question of downloading and installing, not learning to use anything or editing any files. Because you still want to use this, right? (I just think its a neat idea, easy enough to do and why not do instead of just talking about it?)
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
Last edited by Baldyr; Jun 30, 2010 at 02:43 PM. |
|
|
|
|
|
|
#10 | |
|
TXT_KEY_CUSTOM_USER_TITLE
|
Quote:
Spoiler:
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 Last edited by astrognash; Jun 30, 2010 at 05:22 PM. |
|
|
|
|
|
|
#11 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
Either change all instances of eCarthage to the integer value 6, use Rhye's constant con.iCarthage, or define the variable eCarthage as either of these (eCarthage = 6, alternatively eCarthage = con.iCarthage) at the beginning of the script. Other than that, I see you've been copy-pasting methods from the API, which can be a good idea I guess. But once you get familiar with this you could actually omit arguments that you're not changing. Also, the application will recognize arguments as long as you use them them in the correct order. So this script would do the same thing: Code:
Trigger(con.iRome).turn(126).check(None).war(con.iCarthage,False).treaty(con.iCarthage,False)
Trigger(con.iRome).turn(127).check(None).war(con.iCarthage).units(60,40,con.iGreatGeneral).flag("Scipio Africanus",True)
Trigger(con.iRome).turn(127).check(None).war(con.iCarthage).units(60,40,con.iRomePraetorian,3)
Trigger(con.iRome).turn(127).check(None).war(con.iCarthage).units(60,40,con.iGalley,2)
Without complaining about your actual design work; what you've done should work (although its always advisable to test things) - but there is a more elegant way of doing the same thing: Code:
punicWar="The First Punic War has broken out!"
Trigger(con.iRome).label("Punic War").turn(126).check(None).war(con.iCarthage,False).treaty(con.iCarthage,False).message(punicWar)
Trigger(con.iRome).fired("Punic War").turn(127).check(None).valid(bLand=False).units(60,40,con.iGalley,2).units(60,40,con.iRomePraetorian,3).units(60,40,con.iGreatGeneral).flag("Scipio Africanus",True)
If all Actions would have been fired on the same turn, then everything could have been entered on the same line. This would have been more efficient (as there would be less Triggers to process) but quite cumbersome to edit, but there is another way of doing it with variable assignment. (Not covered in the documentation.)Code:
# initialize the Trigger and add label
EventPunicWar = Trigger(con.iRome).label("The Punic War")
# add Conditions
EventPunicWar.turn(126).check(None).valid().war(con.iCarthage,False)
# add first set of Actions
EventPunicWar.treaty(con.iCarthage,False).message("The First Punic War has broken out!").popup(True)
# add unit spawns
EventPunicWar.units(60,40,con.iGalley,2).units(60,40,con.iRomePraetorian,3).units(60,40,con.iGreatGeneral).flag("Scipio Africanus",True)
Testing it all is the hard work. You might also start a new thread about you Punic War scenario.
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
Last edited by Baldyr; Jun 30, 2010 at 10:31 PM. |
|
|
|
|
|
|
#12 |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Oh, I realized I've omitted an argument from the flag() methods in this thread.
I've corrected the above posts.
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
|
|
|
|
|
|
#13 |
|
Emperor
Join Date: Nov 2004
Location: Noviomagus, Batavia
Posts: 1,168
|
Great generals at spawn are a great idea for these civs:
- Mongolia starts with Genghis Khan - Turkey starts Osman I - America starts with George Washington In that same mod, you also could have the additional mid-game spawns of: - Napoleon in France around 1800 AD - Erwin Rommel in Germany around 1940 AD - Dwight D. Eisenhower in America around 1940 AD Special great general: Gandhi - Enemy units disappear at cost of 1 population in nearby city.
|
|
|
|
|
|
#14 |
|
TXT_KEY_CUSTOM_USER_TITLE
|
Thanks! Although I don't think I'll make a whole thread unless PyScenario starts working with RFCMarathon, which is much better suited to this type of thing. As is, I think I'll work it into a much broader Military Campaigns Scenario, creating not just Scipio Africanus, but Alexander the Great, Napoleon Bonaparte, and others.
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 Last edited by astrognash; Jul 01, 2010 at 11:07 AM. |
|
|
|
|
|
#15 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
![]() RFC Marathon will probably become the next "version" of RFC anyway, so any future version of PyScenario will be built around it. I could of course adopt the current beta-version to RFCM, but then I'd have to do it every time any of them are updated. So I think it'll be better to wait for a "definitive" version for both projects. But I don't think it would be hard to port PyScenario to RFCM anyway, so you never know... ![]() Your own scenario script won't become obsolete however, so whatever you design today will (with a change or two) work with any future version also.
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
|
|
|
|
|
|
|
#16 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
If I do a proper modmod, there will also be text messages heralding the coming of these great generals.
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
|
|
|
|
|
|
|
#17 |
|
TXT_KEY_CUSTOM_USER_TITLE
|
Hmmm... I'm working on spawning Alexander. There would appear to be a problem with my code, though. The message fires correctly, but then Alexander never spawned.
Code:
Trigger(con.iGreece).turn(117).check(None).units(66,44,con.iGreekPhalanx,2).units(66,44,con.iGreatGeneral).flag("Alexander the Great",True)
Trigger(con.iGreece).turn(117).check(None).message("Alexander the Great has formed an army in Pella!").popup(True)
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 |
|
|
|
|
|
#18 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
Try again and be observant. Hopefully we can figure this thing out.Two things, though: You don't need two separate Triggers for this event. Just add the message() and popup() methods to the first one. (Both Triggers have identical Conditions anyway.) This also prevents a "split event" (even if this shouldn't be possible in the first place). It is always advisable to include a valid() Condition to any spawn. Because otherwise there could be unforeseen outcomes, like an enemy unit blocking the tile or the target tile being the wrong type of tile (Peak, Water or Marsh). Code:
Trigger(con.iGreece).turn(117).check(None).valid().units(66,44,con.iGreekPhalanx,2).units(66,44,con.iGreatGeneral).flag("Alexander the Great",True).message("Alexander the Great has formed an army in Pella!").popup()
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
Last edited by Baldyr; Jul 01, 2010 at 03:47 PM. |
|
|
|
|
|
|
#19 |
|
TXT_KEY_CUSTOM_USER_TITLE
|
Huh. It's still not working. I wonder, could it be because I'm playing as Rome, not Greece?
__________________
Be the change that you want to see in the world.~Mohandas Gandhi My Political Compass Economic Left/Right: -5.27 Social Libertarian/Authoritarian: -3.54 |
|
|
|
|
|
#20 | |
|
"Hit It"
Join Date: Dec 2009
Location: Sweden
Posts: 5,530
|
Quote:
How do you know that the units haven't spawned if you're not playing Greece? Because the AI could have moved - or even disbanded - them before you could check.A tip, by the way, is to enable cheat mode an reveal the whole map (ctrl + z). Then you can actually see everything, peek into cities, get debug info on everything, and so on. But you might still miss some action that takes place between turns. ![]() Other than that, I'll have to test your script myself with Rome. Because I noted that you are using the setting bHuman=None in check() - and this option is actually a rather new feature. (It should simply make the Condition not care about whether or not the target player is human.) It is possible that I made an error somewhere in code... edit: Another idea for the cause: If Greece isn't alive on turn 117, then the check() Condition would prevent the Trigger from firing (as bDead=False). This would however not explain how one Trigger with identical Conditions can fire - but not the other one...
__________________
How to Make a Python Mod - Python modding tutorial CivIV Python Class Reference - modding Python API How to Think Like a Computer Scientist - online Python textbook CivPlayer - Python scripting tool Spoiler:
Last edited by Baldyr; Jul 01, 2010 at 03:50 PM. |
|
|
|
|
![]() |
| Bookmarks |
|
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to use the Great General | Dr Yes | Civ4 - Strategy & Tips | 11 | Feb 03, 2010 04:53 AM |
| Spawning a Military Great Leader on an Archipelago Map | Spoonwood | Civ3 - Strategy & Tips | 1 | Jan 28, 2010 08:01 PM |
| The Great general | df1_2 | Civ4 - General Discussions | 30 | Oct 06, 2006 12:15 PM |
| Great Wall Q and Great General Q | Shhh | Civ4 - General Discussions | 21 | Sep 16, 2006 07:29 AM |
| Great General-New Great Leader Type | Nightfa11 | Civ4 - Creation & Customization | 10 | Nov 10, 2005 02:08 PM |