Need Help: Barbarians

Sarke

Warlord
Joined
Jun 1, 2006
Messages
101
Location
Long Beach, CA, USA
First off thanks at looking at my help thread :)

Here is what i'm trying to do:

1.) Remove the players ability to create settlers (done)
2.) Set Barbarians so that they spawn on turn 1
3.) Do one of the following: Start the map with Barbarian cities spawned across the landscape OR Set barbarians so they spawn settlers only OUTSIDE of cities

Basicly the idea is that I want the player to not be able to make new cities but instead have to conquor them from barbarians. Because the player starts with 5 strong units to help him accomplish this the cities need to be built on the first or second turn.

My question is: How do I accomplish something to this effect- been trying for 3 days with nothing working the way I want it to.

Additionally how can I set it so that players start with a City instead of a settler?

Thanks a ton!

-S
 
What you are talking about doing is basically the 'Barbarians' scenario from Warlords - have you studied the code related to the Barbarian AI and game setup there? Probably contains everything you need.
 
What you are talking about doing is basically the 'Barbarians' scenario from Warlords - have you studied the code related to the Barbarian AI and game setup there? Probably contains everything you need.

good point... didnt think of that...thanks for the tip :)


So far I have determined the following:

I need to do something in cveventmanager.py

The function I need to call I belive is

'GameStart' : self.onGameStart,

Now to figure out how to make it spawn cities :\

Barbarians uses the AI Autoplay.... The problem with doing this in my situation is that the actual AI players would take turns.... I would have to set it to spawn all the players after the autoplay and the barbarians might not leave enough space for cities to do this.

Ok I think I know what to do...at least basicly.... however I still need to figure out how to do a call for "on game start" -- anyone know?

def onGameStart(self, argsList):
'Create a popup message at the start of the game'
popup = PyPopup.PyPopup()
popup.setBodyString( 'Hello World' )
popup.launch()
return

Thats a workable example apparently.... yet when I make a new .py file it isn't read by the game even with proper includes...hmmmm....
 
Do you have the latest patches? the version 1.61 patch for Civ4 comes with the custom game starting option "Require Complete Kills", in which you must destroy all cities AND units to eliminate a civilization. Using this, you could remove a civilization's settler starting unit and give them a few military units without causing them to be eliminated automatically.
Also, and I have tested the following: If you delete your settler at the start of a game, your civ remains alive anyways. You'll just be a warrior, scout, and whatever you get from tribal villages for the entire game, unable to research or upgrade or build unless you somehow manage to capture a city from an enemy.
 
Like the ideas you have. Want to tweak a bit with barbarians to. Like them.

What I want: I want to give an improved Keshik (very high withdrawl change, 6 movement) to the barbarians.
 
You should also take a look at Kael's assimilation mod component. In that, there is a challenge mode, where the barbarians start with one city per civ in the game. Maybe you can get some hints off it.
 
Back
Top Bottom