• Our friends from AlphaCentauri2.info are in need of technical assistance. If you have experience with the LAMP stack and some hours to spare, please help them out and post here.

trying to use a minimalist mod to do big things

on giving it more thought, I do want to make the greater flip optional for human players only...so I'm going to need to alter the code and script a popup.
 
hmmmmmmm....I've tried to get this to work from Baldyr's tutorial but it keeps rejecting it.

Code:
#testpopup, remove when done
		modPopup = PyPopup()
		if isDate(-3990):
				modPopup.setHeaderString("A new civilization is born!")
				modPopup.setBodyString("The Latin citizens of Rome have declared their independence. They lay claim to all of Italy. Will you recognize their sovereignty? Refusal will mean war.")
				modPopup.launch()

of course, once I can get that to properly display, i need to add a YES and a NO button and tie the big spawn to YES and the little spawn to NO. Then I need to run a search of the area first and only display the popup if the human player has a city in the flipzone.

I'm finding the API a little confusing on this.
 
alright, forget that...I'm going to test something I made after reading Kael's tutorial. There's still more I have to do with it first, but here's where I'm at now. I'm going to define one of these for each spawn, so they're easier to call for the actual spawn codes. Basically, "yes" will lead to a full flip and no war, and no will lead to a limited flip and war on start.

Code:
def romePopup(self, argsList):
	iPlayerNum = 0
	for iPlayer in range(gc.getMAX_PLAYERS()):
		player = gc.getPlayer(iPlayer)
		if player.isAlive():
			iPlayerNum = iPlayerNum + 1
			if player.isHuman():
				popupInfo = CyPopupInfo()
				popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON)
				popupInfo.setText(CyTranslator().setText("The Latin citizens of Rome have declared their independence. They lay claim to all of Italy. Will you recognize their sovereignty? Refusal will mean war.",()))
				popupInfo.setData1(iPlayer)
				popupInfo.setOnClickedPythonCallback("classicalButtons")
				popupInfo.addPythonButton(CyTranslator().setText("Yes", ()), "")
				popupInfo.addPythonButton(CyTranslator().setText("No", ()), "")
				popupInfo.addPopup(iPlayer)
 
and this is what I'd put in CvScreensInterface.py

the spawns as I've scripted them (basically...they will need tweaking) will be the result of a "yes" answer. I'll still have to script the "no" answer
Spoiler :

Code:
def classicalButtons(argsList):
	iButtonId = argsList[0]
	iData1 = argsList[1]
	iData2 = argsList[2]
	iData3 = argsList[3]
	iData4 = argsList[4]
	szText = argsList[5]
	bOption1 = argsList[6]
	bOption2 = argsList[7]
	if iButtonId == 0:
		DawnOfTime.classicalSpawn()
	if iButtonId == 1:
		DawnOfTime.classicalWar()

am I cruising for something that works here, or am I totally off base?
 
oh, and I know I have to replace popupInfo.setOnClickedPythonCallback("selectTrait") with something else I just haven't gotten that far yet so I included the one from his example to remind me I have to do it
 
hmmmmmmm....I've tried to get this to work from Baldyr's tutorial but it keeps rejecting it.
Did you import the Popup module?

This doesn't make a whole lot of sense:
def romePopup(self, argsList):
Code:
	iPlayerNum = 0
	for iPlayer in range(gc.getMAX_PLAYERS()):
		player = gc.getPlayer(iPlayer)
		if player.isAlive():
			iPlayerNum = iPlayerNum + 1
			if player.isHuman():
				...
				popupInfo.setData1(iPlayer)
Note that you're getting some values in the argsList tuple - from where? You probably have a player ID in there already, so you basically need to check that. Since you're not using anything else of it you could in fact just pass along the player from the Event Manager:
Code:
def romePopup(self, ePlayer):
    pPlayer = gc.getPlayer(ePlayer)
    if pPlayer.isHuman():
        ...
No need to loop through any players or anything. I haven't looked at CyPopupInfo class myself but I'm assuming you know what you're doing with it?

I don't know what you're doing with CvScreensInterface.py but all these assignment statements aren't really needed as you don't use any of the variables:
Code:
def classicalButtons(argsList):
    iButtonId = argsList[0]
[COLOR="Red"]    iData1 = argsList[1]
    iData2 = argsList[2]
    iData3 = argsList[3]
    iData4 = argsList[4]
    szText = argsList[5]
    bOption1 = argsList[6]
    bOption2 = argsList[7][/COLOR]
And the proper way of doing the conditional statement(s) would involve using a else command for the second condition, as you don't wanna launch both options at once (although they won't in this case):
Code:
    if iButtonId == 0:
        DawnOfTime.classicalSpawn()
    else:
        DawnOfTime.classicalWar()
 
Wasn't the importing of the popup module
from Popup import PyPopup ?
If so, I've got that up top. Perhaps my mistake is that it should have been
from Popup import PyPopup() ?

Well, I found other threads directing me here:
http://forums.civfanatics.com/showthread.php?t=183126&highlight=kael+popup

for a good tutorial on popups with buttons that do things. You can see his explanation for the part you've questioned is the only part that he doesn't explain line by line...he just lumps them all together and says they're for ensuring that only the human player gets the popup (something I definitely want to do, as I'd like the game to continue after the first spawn, lol).

I am sort of confused with the whole button-popup thing as Kael's tutorial seems to be the most extensive but still leaves me in the dark a bit. I even tried looking for things that were simple yes/no dialogues but was a bit confused even then (Kael's tutorial made more sense...just not enough sense).

alright, so it should look more like this:

Spoiler :
Code:
def romePopup(self, argsList):
		pPlayer = gc.getPlayer(ePlayer)
		if player.isHuman():
				popupInfo = CyPopupInfo()
				popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON)
				popupInfo.setText(CyTranslator().setText("The Latin citizens of Rome have declared their independence. They lay claim to all of Italy. Will you recognize their sovereignty? Refusal will mean war.",()))
				popupInfo.setData1(iPlayer)
				popupInfo.setOnClickedPythonCallback("classicalButtons")
				popupInfo.addPythonButton(CyTranslator().setText("Yes", ()), "")
				popupInfo.addPythonButton(CyTranslator().setText("No", ()), "")
				popupInfo.addPopup(iPlayer)



#this goes in my custom CvScreensInterface.py 
def classicalButtons(argsList):
	iButtonId = argsList[0]
	if iButtonId == 0:
		DawnOfTime.classicalSpawn()
	else:
		DawnOfTime.classicalWar()

on an unrelated note...this "the server is busy" is driving me crazy. I know it's because of Civ V, but still...don't they know I'm trying to get a mod done here!? :lol:

On the upside...your time and patience will not be for naught. After looking at it, I do intend to eventually acquire Civ V and start modding all over again! So this is a good project on which to cut my teeth (so to speak).

Traditionally, I'm a late adopter, so it won't be in the near future, but what you're teaching me will be tremendously valuable.

now...back to the related stuff...once I get the popup working I'm going to need to change the spawn coding so that it reads whether or not the human player(s) (multiplayer, remember) will lose cities and only presents the dialogue if they are. I also need for the answer to only affect that human.

As an example, imagine the following: The Celtic human player settles northern Italy and the Greek human player settles Sicily. They both stand to lose a city. The Celtic player allows the flip, while the Greek player refuses. I need the Celts to lose their city and get no war while the Greeks keep their city and go to war.

Right now, the setOwner type flip works by fiat...a civ will even lose its capital if it is in the zone (which is fine), so I don't know how to have one player permit the flip (thus triggering the zone flip) while respecting the other player's right to refuse and keep their city.

But first...let's get this working. I"m going to test what I have posted above. Hopefully, this will function by the end of the day [/wishful thinking]
 
Wasn't the importing of the popup module
from Popup import PyPopup ?
If so, I've got that up top. Perhaps my mistake is that it should have been
from Popup import PyPopup() ?
No, the first import statement should do it. (The second one is invalid.) What was the exception when you copy-pasted from my tutorial? :confused:

If at all possible, I think we should still go with the Popup module (PyPopup class) as its designed to be easier to use. But I'll have to take a closer look at what is there before I advice for or against anything. This is new territory for me also, but we should be able to figure this out anyway. If not, someone with previous experience from this stuff will surely come to the rescue. :king: (Once they are done with playing CivV, that is.)

You can see his explanation for the part you've questioned is the only part that he doesn't explain line by line...he just lumps them all together and says they're for ensuring that only the human player gets the popup (something I definitely want to do, as I'd like the game to continue after the first spawn, lol).
Aha, I though you totally misunderstood how the built-n range() function works. :rolleyes: But looking at the code again, I now realize that it actually has a built in counter for active players. Why I'm not sure, but I don't think you need one.

alright, so it should look more like this:
Sure, except that ePlayer isn't defined anywhere. If you insist on keeping argsList as the argument for the romePopup() function you need to extract the PlayerType value and either assign it to ePlayer - or use it directly in getPlayer() to get the CyPlayer instance.

Can you post the method where you're calling on romePopup from the Event Manager? (Becauce I assume this is where you're getting the argsList from.) Do you understand what the argsList is and how it works, at all?

on an unrelated note...this "the server is busy" is driving me crazy. I know it's because of Civ V, but still...don't they know I'm trying to get a mod done here!? :lol:
Yeah, do you have a Google account? Because we could use the chat function to cover more topics in less time, if you like... (Or I suppose I could get an MSN account... :p)

On the upside...your time and patience will not be for naught. After looking at it, I do intend to eventually acquire Civ V and start modding all over again! So this is a good project on which to cut my teeth (so to speak).
Nooo... And I was actually counting you being around these parts for the long haul, while "everybody" else is abandoning ship. Not you too! :p

On a more serious note, I might join the CivV community once Rhye does a rise and fall type mod for the game. I guess I'll see you there then. But I intend to mod - and play - RFC in the immediate future.

Traditionally, I'm a late adopter, so it won't be in the near future, but what you're teaching me will be tremendously valuable.
Well, I think we're a bit like in that sense. I just started modding CivIV - and now the game gets "canceled"... :p

I'll get back to you with some ideas/pointers for the popup business as soon as I get the time.
 
I have a google, but I'm off to teach for the next five hours or so, so I'll see you later.
 
What about this (cutting out the need for a popup)?

Spoiler :
Code:
def classicalSpawn():
		pRome = cyMap.plot(61, 46)
		pPersia = cyMap.plot(81, 41)
		pJapan = cyMap.plot(115, 46)
		pKorea = cyMap.plot(109, 46)
		iUnhappy = getAngry()
		iPopulation = getPopulation()
#Romans
		if isDate(-770):
				for tCoords in getAdjacentList((61, 46)):
						x, y = tCoords
						pCurrentPlot = cyMap.plot(x, y)
						if pCurrentPlot.isCity():
								pCity = pCurrentPlot.getPlotCity()
								pCity.kill()
				PyPlayer(7).initCity(61, 46)
				pRome.getPlotCity().setPopulation(3)
				pRome.getPlotCity().setCulture(7, 500, True)
				for tCoords in getPlotList((60, 43), (63, 48)):
						x, y = tCoords
						pCurrentPlot = cyMap.plot(x,y)
						if pCurrentPlot.isCity():
								if "(iUnhappy * 3) => iPopulation":
										pCurrentPlot.setOwner(7)
								else:
										return
				PyPlayer(7).initUnit(4, 61, 46, 2)
				PyPlayer(7).initUnit(5, 61, 46, 2)
				PyPlayer(7).initUnit(57, 61, 46, 25)
				romeMessage = "Latin tribes have united and declare their independence. A new civilization is born!"
				CyInterface().addImmediateMessage(romeMessage,"")
				CvUtil.pyPrint(romeMessage)
				if PyPlayer(0).isAlive():
						gc.getTeam(7).declareWar(0, True, -1)
				if PyPlayer(5).isAlive():
						gc.getTeam(7).declareWar(5, True, -1)

I think this should tell it to check the happiness level of any cities it finds and only flip it if the number of unhappy citizens x3 is greater than the number of total citizens (meaning that if the city is more than 1/3 unhappy).

Unless I'm totally wrong.

This way, both the human and the AI will have a chance to keep their cities if they can keep them happy enough.

Of course, class is going to start and I'm no longer home, so it'll be about four or five hours until I can test it...
 
:lol: By them I'm sound asleep, and will only be online for some 15 minutes when I get up for work - which is usually about the same time you close shop for the day.

Lets just pick this up over then weekend then?

By the way, I looked at the various classes in the API and quickly came to the conclusion that CyPopupInfo indeed is exactly what you need. (PyPopup is just a wrapper for CyPopup, and we don't need that for this particular task. You could still use either one for a welcome screen though.)

And the tutorial is also pretty straight forward, so there should be no problems. So just holler once you get stuck and I'll try to explain what's happening. Remember to include all your code and any exceptions that you get.
 
Some pointers:
Code:
def classicalSpawn():
...
		iUnhappy = getAngry()
		iPopulation = getPopulation()
#Romans
		if isDate(-770):
				...
				for tCoords in getPlotList((60, 43), (63, 48)):
						x, y = tCoords
						pCurrentPlot = cyMap.plot(x,y)
						if pCurrentPlot.isCity():
								if "(iUnhappy * 3) => iPopulation":
										pCurrentPlot.setOwner(7)
								else:
										return
Move the variable assignments down to the actual code dealing with the cities. Because you need a CyCity instance to use the methods that are return the actual values (I'm not sure how to get the number of unhappy citizens in a city though...) so you basically do this:
Code:
				for tCoords in getPlotList((60, 43), (63, 48)):
						x, y = tCoords
						pCurrentPlot = cyMap.plot(x,y)
						pPotentialCity = pCurrentPlot.getPlotCity()
						if pPotentialCity != None:
								iUnhappy = pPotentialCity.getAngry() # or whatever you need to do to get the value
								iPopulation = pPotentialCity.getPopulation()
								if iUnhappy * 3 >= iPopulation:
										pCurrentPlot.setOwner(7)
So you almost got it right - you had the right idea. I changed the first if statement around a bit, since you need to get a CyCity instance eventually. But the other way (with CyPlot.isCity() to check if there is a city first) is probably more proper. So you could use either one or experiment with this some more if you like.

Another idea could be to use CyCity.happyLevel() and build a condition around whatever it returns. My guess is that its a integer value - positive for a happy city and negative for an unhappy one - but that's only a guess. You could simply require the level to be whatever you think is sufficient:
Code:
if pPotentialCity.happyLevel() < 0:
As an example.
 
Regarding the Popups, I just now realized what the CyTranslator class does: It fetches text from the various language tags in the XML. So unless you're defining your strings in the XML - and supplying actual translations for them - you don't need to use the CyTranslator.setText() method - at all. Just use a simple string as a argument. This will make things appear much simpler over-all.
Code:
def romePopup([COLOR="Red"]ePlayer[/COLOR]):
		pPlayer = gc.getPlayer(ePlayer)
		if [COLOR="Red"]pPlayer[/COLOR].isHuman():
				popupInfo = CyPopupInfo()
				popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON)
				popupInfo.setText("The Latin citizens of Rome have declared their independence. They lay claim to all of Italy. Will you recognize their sovereignty? Refusal will mean war.")
				popupInfo.setData1([COLOR="Red"]ePlayer[/COLOR])
				popupInfo.setOnClickedPythonCallback("classicalButtons")
				popupInfo.addPythonButton("Yes", "")
				popupInfo.addPythonButton("No", "")
				popupInfo.addPopup([COLOR="Red"]ePlayer[/COLOR])
Also, don't forget the argsList/iPlayer/ePlayer thing. You have to decide what you wanna use to identify the player.

I deleted the self argument from the function also. Or have you started defining your own classes? :eek:
 
I "cheated" and looked up the method for fetching the value for iUnhappy in PyHelpers:
Code:
	def getAngryPopulation(self):
		"int - Angry Population"
		return self.city.[B]angryPopulation(0)[/B]
	
	def getHappyPopulation(self):
		"int - Happy Population"
		return self.city.[B]happyLevel()[/B]
		
	def getUnhappyPopulation(self):
		"int - Unhappy Population"
		return self.city.[B]unhappyLevel(0)[/B]
These 3 CyCity methods should give you all the values you'd possible need for you condition. The current setup would then be:
Code:
iUnhappy = pPotentialCity.unhappyLevel(0)
The argument seems to be some sort of modifier and should probably be zero by default...
 
alright, this works perfectly. Now I've got to get the holy city thing working. I'll play with that after dinner.

Also, I may swap out the koreans for another early african civ. As it is, the Egyptians really have little competition. I'm thinking perhaps Nubia early on (as early as is practicable, perhaps right from the start) and agressive spawns of zulu barbarian units (perhaps 9 units every fifty years) in the south.
 
I'd also like to put in a timed respawn chance for certain civs. Basically, it's designed to spawn a single unit for a dead civ and then attempt a zone flip based on happiness (like the original zone flips).

The code below is supposed to spawn a nonsense unit on a mountain or water tile and then attempt the flip. I intend the flip to "take" only if there are any cities in the zone with greater than 1/3 unhappiness. If no cities meet the requirements, the old civ won't respawn. I also want to give them reasonable techs for their era and set peace between them and everyone else.

Do you see any problems with the following code?
 
Spoiler :
Code:
def civRespawn:
#Egypt 1805
		if isDate(1800):
				if not PyPlayer(1).isAlive():
						PyPlayer(1).initUnit(5, 71, 34, 1)
						for tCoords in getPlotList((66, 34), (71, 39)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(1)
												PyPlayer(1).initUnit(42, 71, 36, 5)
						egyptRespawnMessage = "Led by Muhammad Ali, Egyptian nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(egyptRespawnMessage,"")
						CvUtil.pyPrint(egyptRespawnMessage)
						if PyPlayer(0).isAlive():
								gc.getTeam(1).makePeace(0)
						if PyPlayer(2).isAlive():
								gc.getTeam(1).makePeace(2)
						if PyPlayer(3).isAlive():
								gc.getTeam(1).makePeace(3)
						if PyPlayer(4).isAlive():
								gc.getTeam(1).makePeace(4)
						if PyPlayer(5).isAlive():
								gc.getTeam(1).makePeace(5)
						if PyPlayer(6).isAlive():
								gc.getTeam(1).makePeace(6)
						if PyPlayer(7).isAlive():
								gc.getTeam(1).makePeace(7)
						if PyPlayer(8).isAlive():
								gc.getTeam(1).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(1).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(1).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(1).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(1).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(1).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(1).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(1).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(1).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(1).makePeace(17)
						gc.getTeam(1).setHasTech(1, false, 1, false, false)
						gc.getTeam(1).setHasTech(2, false, 1, false, false)
						gc.getTeam(1).setHasTech(3, false, 1, false, false)
						gc.getTeam(1).setHasTech(4, false, 1, false, false)
						gc.getTeam(1).setHasTech(5, false, 1, false, false)
						gc.getTeam(1).setHasTech(6, false, 1, false, false)
						gc.getTeam(1).setHasTech(7, false, 1, false, false)
						gc.getTeam(1).setHasTech(8, false, 1, false, false)
						gc.getTeam(1).setHasTech(9, false, 1, false, false)
						gc.getTeam(1).setHasTech(10, false, 1, false, false)
						gc.getTeam(1).setHasTech(11, false, 1, false, false)
						gc.getTeam(1).setHasTech(12, false, 1, false, false)
						gc.getTeam(1).setHasTech(13, false, 1, false, false)
						gc.getTeam(1).setHasTech(14, false, 1, false, false)
						gc.getTeam(1).setHasTech(15, false, 1, false, false)
						gc.getTeam(1).setHasTech(16, false, 1, false, false)
						gc.getTeam(1).setHasTech(17, false, 1, false, false)
						gc.getTeam(1).setHasTech(18, false, 1, false, false)
						gc.getTeam(1).setHasTech(19, false, 1, false, false)
						gc.getTeam(1).setHasTech(20, false, 1, false, false)
						gc.getTeam(1).setHasTech(21, false, 1, false, false)
						gc.getTeam(1).setHasTech(22, false, 1, false, false)
						gc.getTeam(1).setHasTech(23, false, 1, false, false)
						gc.getTeam(1).setHasTech(24, false, 1, false, false)
						gc.getTeam(1).setHasTech(25, false, 1, false, false)
						gc.getTeam(1).setHasTech(26, false, 1, false, false)
						gc.getTeam(1).setHasTech(27, false, 1, false, false)
						gc.getTeam(1).setHasTech(28, false, 1, false, false)
						gc.getTeam(1).setHasTech(29, false, 1, false, false)
						gc.getTeam(1).setHasTech(30, false, 1, false, false)
						gc.getTeam(1).setHasTech(31, false, 1, false, false)
						gc.getTeam(1).setHasTech(32, false, 1, false, false)
						gc.getTeam(1).setHasTech(33, false, 1, false, false)
						gc.getTeam(1).setHasTech(34, false, 1, false, false)
						gc.getTeam(1).setHasTech(35, false, 1, false, false)
						gc.getTeam(1).setHasTech(36, false, 1, false, false)
						gc.getTeam(1).setHasTech(37, false, 1, false, false)
						gc.getTeam(1).setHasTech(38, false, 1, false, false)
						gc.getTeam(1).setHasTech(39, false, 1, false, false)
						gc.getTeam(1).setHasTech(40, false, 1, false, false)
						gc.getTeam(1).setHasTech(41, false, 1, false, false)
						gc.getTeam(1).setHasTech(42, false, 1, false, false)
						gc.getTeam(1).setHasTech(43, false, 1, false, false)
						gc.getTeam(1).setHasTech(44, false, 1, false, false)
						gc.getTeam(1).setHasTech(45, false, 1, false, false)
						gc.getTeam(1).setHasTech(46, false, 1, false, false)
						gc.getTeam(1).setHasTech(47, false, 1, false, false)
						gc.getTeam(1).setHasTech(59, false, 1, false, false)
						gc.getTeam(1).setHasTech(60, false, 1, false, false)
						gc.getTeam(1).setHasTech(61, false, 1, false, false)
						gc.getTeam(1).setHasTech(62, false, 1, false, false)
						gc.getTeam(1).setHasTech(63, false, 1, false, false)
						gc.getTeam(1).setHasTech(64, false, 1, false, false)
						gc.getTeam(1).setHasTech(65, false, 1, false, false)
						gc.getTeam(1).setHasTech(66, false, 1, false, false)
						gc.getTeam(1).setHasTech(67, false, 1, false, false)
						gc.getTeam(1).setHasTech(68, false, 1, false, false)
						gc.getTeam(1).setHasTech(69, false, 1, false, false)
						gc.getTeam(1).setHasTech(70, false, 1, false, false)
						gc.getTeam(1).setHasTech(71, false, 1, false, false)
						gc.getTeam(1).setHasTech(72, false, 1, false, false)
						gc.getTeam(1).setHasTech(73, false, 1, false, false)
#Greeks 1821
		if isDate(1820):
				if not PyPlayer(5).isAlive():
						PyPlayer(5).initUnit(5, 66, 45, 1)
						for tCoords in getPlotList((64, 41), (69, 44)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(5)
												PyPlayer(5).initUnit(46, 66, 42, 5)
						greeceRespawnMessage = "Led by Alexander Ypsilantis, Greek nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(greeceRespawnMessage,"")
						CvUtil.pyPrint(greeceRespawnMessage)
						if PyPlayer(0).isAlive():
								gc.getTeam(1).makePeace(0)
						if PyPlayer(1).isAlive():
								gc.getTeam(1).makePeace(1)
						if PyPlayer(2).isAlive():
								gc.getTeam(1).makePeace(2)
						if PyPlayer(3).isAlive():
								gc.getTeam(1).makePeace(3)
						if PyPlayer(4).isAlive():
								gc.getTeam(1).makePeace(4)
						if PyPlayer(6).isAlive():
								gc.getTeam(1).makePeace(6)
						if PyPlayer(7).isAlive():
								gc.getTeam(1).makePeace(7)
						if PyPlayer(8).isAlive():
								gc.getTeam(1).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(1).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(1).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(1).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(1).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(1).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(1).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(1).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(1).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(1).makePeace(17)
						gc.getTeam(5).setHasTech(1, false, 5, false, false)
						gc.getTeam(5).setHasTech(2, false, 5, false, false)
						gc.getTeam(5).setHasTech(3, false, 5, false, false)
						gc.getTeam(5).setHasTech(4, false, 5, false, false)
						gc.getTeam(5).setHasTech(5, false, 5, false, false)
						gc.getTeam(5).setHasTech(6, false, 5, false, false)
						gc.getTeam(5).setHasTech(7, false, 5, false, false)
						gc.getTeam(5).setHasTech(8, false, 5, false, false)
						gc.getTeam(5).setHasTech(9, false, 5, false, false)
						gc.getTeam(5).setHasTech(10, false, 5, false, false)
						gc.getTeam(5).setHasTech(11, false, 5, false, false)
						gc.getTeam(5).setHasTech(12, false, 5, false, false)
						gc.getTeam(5).setHasTech(13, false, 5, false, false)
						gc.getTeam(5).setHasTech(14, false, 5, false, false)
						gc.getTeam(5).setHasTech(15, false, 5, false, false)
						gc.getTeam(5).setHasTech(16, false, 5, false, false)
						gc.getTeam(5).setHasTech(17, false, 5, false, false)
						gc.getTeam(5).setHasTech(18, false, 5, false, false)
						gc.getTeam(5).setHasTech(19, false, 5, false, false)
						gc.getTeam(5).setHasTech(20, false, 5, false, false)
						gc.getTeam(5).setHasTech(21, false, 5, false, false)
						gc.getTeam(5).setHasTech(22, false, 5, false, false)
						gc.getTeam(5).setHasTech(23, false, 5, false, false)
						gc.getTeam(5).setHasTech(24, false, 5, false, false)
						gc.getTeam(5).setHasTech(25, false, 5, false, false)
						gc.getTeam(5).setHasTech(26, false, 5, false, false)
						gc.getTeam(5).setHasTech(27, false, 5, false, false)
						gc.getTeam(5).setHasTech(28, false, 5, false, false)
						gc.getTeam(5).setHasTech(29, false, 5, false, false)
						gc.getTeam(5).setHasTech(30, false, 5, false, false)
						gc.getTeam(5).setHasTech(31, false, 5, false, false)
						gc.getTeam(5).setHasTech(32, false, 5, false, false)
						gc.getTeam(5).setHasTech(33, false, 5, false, false)
						gc.getTeam(5).setHasTech(34, false, 5, false, false)
						gc.getTeam(5).setHasTech(35, false, 5, false, false)
						gc.getTeam(5).setHasTech(36, false, 5, false, false)
						gc.getTeam(5).setHasTech(37, false, 5, false, false)
						gc.getTeam(5).setHasTech(38, false, 5, false, false)
						gc.getTeam(5).setHasTech(39, false, 5, false, false)
						gc.getTeam(5).setHasTech(40, false, 5, false, false)
						gc.getTeam(5).setHasTech(41, false, 5, false, false)
						gc.getTeam(5).setHasTech(42, false, 5, false, false)
						gc.getTeam(5).setHasTech(43, false, 5, false, false)
						gc.getTeam(5).setHasTech(44, false, 5, false, false)
						gc.getTeam(5).setHasTech(45, false, 5, false, false)
						gc.getTeam(5).setHasTech(46, false, 5, false, false)
						gc.getTeam(5).setHasTech(47, false, 5, false, false)
						gc.getTeam(5).setHasTech(59, false, 5, false, false)
						gc.getTeam(5).setHasTech(60, false, 5, false, false)
						gc.getTeam(5).setHasTech(61, false, 5, false, false)
						gc.getTeam(5).setHasTech(62, false, 5, false, false)
						gc.getTeam(5).setHasTech(63, false, 5, false, false)
						gc.getTeam(5).setHasTech(64, false, 5, false, false)
						gc.getTeam(5).setHasTech(65, false, 5, false, false)
						gc.getTeam(5).setHasTech(66, false, 5, false, false)
						gc.getTeam(5).setHasTech(67, false, 5, false, false)
						gc.getTeam(5).setHasTech(68, false, 5, false, false)
						gc.getTeam(5).setHasTech(69, false, 5, false, false)
						gc.getTeam(5).setHasTech(70, false, 5, false, false)
						gc.getTeam(5).setHasTech(71, false, 5, false, false)
						gc.getTeam(5).setHasTech(72, false, 5, false, false)
						gc.getTeam(5).setHasTech(73, false, 5, false, false)
#Romans 1861  unit
		if isDate(1860):
				if not PyPlayer(7).isAlive():
						PyPlayer(7).initUnit(5, 60, 49, 1)
						for tCoords in getPlotList((64, 41), (69, 44)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(7)
												PyPlayer(7).initUnit(46, 61, 46, 5)
						romeRespawnMessage = "Under the leadership of Giuseppe Garibaldi, Italian nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(romeRespawnMessage,"")
						CvUtil.pyPrint(romeRespawnMessage)
						if PyPlayer(0).isAlive():
								gc.getTeam(1).makePeace(0)
						if PyPlayer(1).isAlive():
								gc.getTeam(1).makePeace(1)
						if PyPlayer(2).isAlive():
								gc.getTeam(1).makePeace(2)
						if PyPlayer(3).isAlive():
								gc.getTeam(1).makePeace(3)
						if PyPlayer(4).isAlive():
								gc.getTeam(1).makePeace(4)
						if PyPlayer(5).isAlive():
								gc.getTeam(1).makePeace(5)
						if PyPlayer(6).isAlive():
								gc.getTeam(1).makePeace(6)
						if PyPlayer(8).isAlive():
								gc.getTeam(1).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(1).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(1).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(1).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(1).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(1).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(1).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(1).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(1).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(1).makePeace(17)
						gc.getTeam(7).setHasTech(1, false, 7, false, false)
						gc.getTeam(7).setHasTech(2, false, 7, false, false)
						gc.getTeam(7).setHasTech(3, false, 7, false, false)
						gc.getTeam(7).setHasTech(4, false, 7, false, false)
						gc.getTeam(7).setHasTech(5, false, 7, false, false)
						gc.getTeam(7).setHasTech(6, false, 7, false, false)
						gc.getTeam(7).setHasTech(7, false, 7, false, false)
						gc.getTeam(7).setHasTech(8, false, 7, false, false)
						gc.getTeam(7).setHasTech(9, false, 7, false, false)
						gc.getTeam(7).setHasTech(10, false, 7, false, false)
						gc.getTeam(7).setHasTech(11, false, 7, false, false)
						gc.getTeam(7).setHasTech(12, false, 7, false, false)
						gc.getTeam(7).setHasTech(13, false, 7, false, false)
						gc.getTeam(7).setHasTech(14, false, 7, false, false)
						gc.getTeam(7).setHasTech(15, false, 7, false, false)
						gc.getTeam(7).setHasTech(16, false, 7, false, false)
						gc.getTeam(7).setHasTech(17, false, 7, false, false)
						gc.getTeam(7).setHasTech(18, false, 7, false, false)
						gc.getTeam(7).setHasTech(19, false, 7, false, false)
						gc.getTeam(7).setHasTech(20, false, 7, false, false)
						gc.getTeam(7).setHasTech(21, false, 7, false, false)
						gc.getTeam(7).setHasTech(22, false, 7, false, false)
						gc.getTeam(7).setHasTech(23, false, 7, false, false)
						gc.getTeam(7).setHasTech(24, false, 7, false, false)
						gc.getTeam(7).setHasTech(25, false, 7, false, false)
						gc.getTeam(7).setHasTech(26, false, 7, false, false)
						gc.getTeam(7).setHasTech(27, false, 7, false, false)
						gc.getTeam(7).setHasTech(28, false, 7, false, false)
						gc.getTeam(7).setHasTech(29, false, 7, false, false)
						gc.getTeam(7).setHasTech(30, false, 7, false, false)
						gc.getTeam(7).setHasTech(31, false, 7, false, false)
						gc.getTeam(7).setHasTech(32, false, 7, false, false)
						gc.getTeam(7).setHasTech(33, false, 7, false, false)
						gc.getTeam(7).setHasTech(34, false, 7, false, false)
						gc.getTeam(7).setHasTech(35, false, 7, false, false)
						gc.getTeam(7).setHasTech(36, false, 7, false, false)
						gc.getTeam(7).setHasTech(37, false, 7, false, false)
						gc.getTeam(7).setHasTech(38, false, 7, false, false)
						gc.getTeam(7).setHasTech(39, false, 7, false, false)
						gc.getTeam(7).setHasTech(40, false, 7, false, false)
						gc.getTeam(7).setHasTech(41, false, 7, false, false)
						gc.getTeam(7).setHasTech(42, false, 7, false, false)
						gc.getTeam(7).setHasTech(43, false, 7, false, false)
						gc.getTeam(7).setHasTech(44, false, 7, false, false)
						gc.getTeam(7).setHasTech(45, false, 7, false, false)
						gc.getTeam(7).setHasTech(46, false, 7, false, false)
						gc.getTeam(7).setHasTech(47, false, 7, false, false)
						gc.getTeam(7).setHasTech(59, false, 7, false, false)
						gc.getTeam(7).setHasTech(60, false, 7, false, false)
						gc.getTeam(7).setHasTech(61, false, 7, false, false)
						gc.getTeam(7).setHasTech(62, false, 7, false, false)
						gc.getTeam(7).setHasTech(63, false, 7, false, false)
						gc.getTeam(7).setHasTech(64, false, 7, false, false)
						gc.getTeam(7).setHasTech(65, false, 7, false, false)
						gc.getTeam(7).setHasTech(66, false, 7, false, false)
						gc.getTeam(7).setHasTech(67, false, 7, false, false)
						gc.getTeam(7).setHasTech(68, false, 7, false, false)
						gc.getTeam(7).setHasTech(69, false, 7, false, false)
						gc.getTeam(7).setHasTech(70, false, 7, false, false)
						gc.getTeam(7).setHasTech(71, false, 7, false, false)
						gc.getTeam(7).setHasTech(72, false, 7, false, false)
						gc.getTeam(7).setHasTech(73, false, 7, false, false)
#Celts 1916   
		if isDate(1915):
				if not PyPlayer(0).isAlive():
						PyPlayer(0).initUnit(89, 49, 55, 1)
						for tCoords in getPlotList((48, 53), (52, 58)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(0)
												PyPlayer(0).initUnit(46, 51, 54, 5)
						irelandRespawnMessage = "Under the leadership of Michael Collins, Irish nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(irelandRespawnMessage,"")
						CvUtil.pyPrint(irelandRespawnMessage)
						if PyPlayer(1).isAlive():
								gc.getTeam(1).makePeace(1)
						if PyPlayer(2).isAlive():
								gc.getTeam(1).makePeace(2)
						if PyPlayer(3).isAlive():
								gc.getTeam(1).makePeace(3)
						if PyPlayer(4).isAlive():
								gc.getTeam(1).makePeace(4)
						if PyPlayer(5).isAlive():
								gc.getTeam(1).makePeace(5)
						if PyPlayer(6).isAlive():
								gc.getTeam(1).makePeace(6)
						if PyPlayer(7).isAlive():
								gc.getTeam(1).makePeace(7)
						if PyPlayer(8).isAlive():
								gc.getTeam(1).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(1).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(1).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(1).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(1).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(1).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(1).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(1).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(1).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(1).makePeace(17)
						gc.getTeam(0).setHasTech(1, false, 0, false, false)
						gc.getTeam(0).setHasTech(2, false, 0, false, false)
						gc.getTeam(0).setHasTech(3, false, 0, false, false)
						gc.getTeam(0).setHasTech(4, false, 0, false, false)
						gc.getTeam(0).setHasTech(5, false, 0, false, false)
						gc.getTeam(0).setHasTech(6, false, 0, false, false)
						gc.getTeam(0).setHasTech(7, false, 0, false, false)
						gc.getTeam(0).setHasTech(8, false, 0, false, false)
						gc.getTeam(0).setHasTech(9, false, 0, false, false)
						gc.getTeam(0).setHasTech(10, false, 0, false, false)
						gc.getTeam(0).setHasTech(11, false, 0, false, false)
						gc.getTeam(0).setHasTech(12, false, 0, false, false)
						gc.getTeam(0).setHasTech(13, false, 0, false, false)
						gc.getTeam(0).setHasTech(14, false, 0, false, false)
						gc.getTeam(0).setHasTech(15, false, 0, false, false)
						gc.getTeam(0).setHasTech(16, false, 0, false, false)
						gc.getTeam(0).setHasTech(17, false, 0, false, false)
						gc.getTeam(0).setHasTech(18, false, 0, false, false)
						gc.getTeam(0).setHasTech(19, false, 0, false, false)
						gc.getTeam(0).setHasTech(20, false, 0, false, false)
						gc.getTeam(0).setHasTech(21, false, 0, false, false)
						gc.getTeam(0).setHasTech(22, false, 0, false, false)
						gc.getTeam(0).setHasTech(23, false, 0, false, false)
						gc.getTeam(0).setHasTech(24, false, 0, false, false)
						gc.getTeam(0).setHasTech(25, false, 0, false, false)
						gc.getTeam(0).setHasTech(26, false, 0, false, false)
						gc.getTeam(0).setHasTech(27, false, 0, false, false)
						gc.getTeam(0).setHasTech(28, false, 0, false, false)
						gc.getTeam(0).setHasTech(29, false, 0, false, false)
						gc.getTeam(0).setHasTech(30, false, 0, false, false)
						gc.getTeam(0).setHasTech(31, false, 0, false, false)
						gc.getTeam(0).setHasTech(32, false, 0, false, false)
						gc.getTeam(0).setHasTech(33, false, 0, false, false)
						gc.getTeam(0).setHasTech(34, false, 0, false, false)
						gc.getTeam(0).setHasTech(82, false, 0, false, false)
						gc.getTeam(0).setHasTech(48, false, 0, false, false)
#India 1947 
		if isDate(1945):
				if not PyPlayer(3).isAlive():
						PyPlayer(3).initUnit(5, 97, 39, 1)
						for tCoords in getPlotList((86, 29), (97, 40)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(3)
												PyPlayer(3).initUnit(46, 91, 41, 5)
						indiaRespawnMessage = "Under the leadership of Mohandas Gandhi, Indian nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(indiaRespawnMessage,"")
						CvUtil.pyPrint(indiaRespawnMessage)
						if PyPlayer(0).isAlive():
								gc.getTeam(3).makePeace(0)
						if PyPlayer(1).isAlive():
								gc.getTeam(3).makePeace(1)
						if PyPlayer(2).isAlive():
								gc.getTeam(3).makePeace(2)
						if PyPlayer(4).isAlive():
								gc.getTeam(3).makePeace(4)
						if PyPlayer(5).isAlive():
								gc.getTeam(3).makePeace(5)
						if PyPlayer(6).isAlive():
								gc.getTeam(3).makePeace(6)
						if PyPlayer(7).isAlive():
								gc.getTeam(3).makePeace(7)
						if PyPlayer(8).isAlive():
								gc.getTeam(3).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(3).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(3).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(3).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(3).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(3).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(3).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(3).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(3).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(3).makePeace(17)
						gc.getTeam(3).setHasTech(1, false, 3, false, false)
						gc.getTeam(3).setHasTech(2, false, 3, false, false)
						gc.getTeam(3).setHasTech(23, false, 3, false, false)
						gc.getTeam(3).setHasTech(24, false, 3, false, false)
						gc.getTeam(3).setHasTech(25, false, 3, false, false)
						gc.getTeam(3).setHasTech(26, false, 3, false, false)
						gc.getTeam(3).setHasTech(27, false, 3, false, false)
						gc.getTeam(3).setHasTech(28, false, 3, false, false)
						gc.getTeam(3).setHasTech(29, false, 3, false, false)
						gc.getTeam(3).setHasTech(30, false, 3, false, false)
						gc.getTeam(3).setHasTech(31, false, 3, false, false)
						gc.getTeam(3).setHasTech(32, false, 3, false, false)
						gc.getTeam(3).setHasTech(33, false, 3, false, false)
						gc.getTeam(3).setHasTech(34, false, 3, false, false)
						gc.getTeam(3).setHasTech(35, false, 3, false, false)
						gc.getTeam(3).setHasTech(36, false, 3, false, false)
						gc.getTeam(3).setHasTech(37, false, 3, false, false)
						gc.getTeam(3).setHasTech(38, false, 3, false, false)
						gc.getTeam(3).setHasTech(39, false, 3, false, false)
						gc.getTeam(3).setHasTech(40, false, 3, false, false)
						gc.getTeam(3).setHasTech(41, false, 3, false, false)
						gc.getTeam(3).setHasTech(42, false, 3, false, false)
						gc.getTeam(3).setHasTech(43, false, 3, false, false)
						gc.getTeam(3).setHasTech(44, false, 3, false, false)
						gc.getTeam(3).setHasTech(45, false, 3, false, false)
						gc.getTeam(3).setHasTech(46, false, 3, false, false)
						gc.getTeam(3).setHasTech(47, false, 3, false, false)
						gc.getTeam(3).setHasTech(59, false, 3, false, false)
						gc.getTeam(3).setHasTech(60, false, 3, false, false)
						gc.getTeam(3).setHasTech(61, false, 3, false, false)
						gc.getTeam(3).setHasTech(62, false, 3, false, false)
						gc.getTeam(3).setHasTech(63, false, 3, false, false)
						gc.getTeam(3).setHasTech(64, false, 3, false, false)
						gc.getTeam(3).setHasTech(65, false, 3, false, false)
						gc.getTeam(3).setHasTech(66, false, 3, false, false)
						gc.getTeam(3).setHasTech(67, false, 3, false, false)
						gc.getTeam(3).setHasTech(68, false, 3, false, false)
						gc.getTeam(3).setHasTech(69, false, 3, false, false)
						gc.getTeam(3).setHasTech(70, false, 3, false, false)
						gc.getTeam(3).setHasTech(71, false, 3, false, false)
						gc.getTeam(3).setHasTech(72, false, 3, false, false)
						gc.getTeam(3).setHasTech(73, false, 3, false, false)
						gc.getTeam(3).setHasTech(76, false, 3, false, false)
						gc.getTeam(3).setHasTech(82, false, 3, false, false)
						gc.getTeam(3).setHasTech(48, false, 3, false, false)
#Hebrews 1948  
		if isDate(1945):
				if not PyPlayer(6).isAlive():
						PyPlayer(6).initUnit(5, 72, 42, 1)
						for tCoords in getPlotList((72, 39), (74, 42)):
								x, y = tCoords
								pCurrentPlot = cyMap.plot(x,y)
								pPotentialCity = pCurrentPlot.getPlotCity()
								iUnhappy = pPotentialCity.unhappyLevel(0)
								if pPotentialCity != None:
										iPopulation = pPotentialCity.getPopulation()
										if iUnhappy * 3 >= iPopulation:
												pCurrentPlot.setOwner(6)
												PyPlayer(6).initUnit(46, 73, 40, 5)
						israelRespawnMessage = "Under the leadership of Yitzhak Sadeh, Hebrew nationalists attempt to throw off foreign domination."
						CyInterface().addImmediateMessage(israelRespawnMessage,"")
						CvUtil.pyPrint(israelRespawnMessage)
						if PyPlayer(0).isAlive():
								gc.getTeam(6).makePeace(0)
						if PyPlayer(1).isAlive():
								gc.getTeam(6).makePeace(1)
						if PyPlayer(2).isAlive():
								gc.getTeam(6).makePeace(2)
						if PyPlayer(3).isAlive():
								gc.getTeam(6).makePeace(3)
						if PyPlayer(4).isAlive():
								gc.getTeam(6).makePeace(4)
						if PyPlayer(5).isAlive():
								gc.getTeam(6).makePeace(5)
						if PyPlayer(7).isAlive():
								gc.getTeam(6).makePeace(7)
						if PyPlayer(8).isAlive():
								gc.getTeam(6).makePeace(8)
						if PyPlayer(9).isAlive():
								gc.getTeam(6).makePeace(9)
						if PyPlayer(10).isAlive():
								gc.getTeam(6).makePeace(10)
						if PyPlayer(11).isAlive():
								gc.getTeam(6).makePeace(11)
						if PyPlayer(12).isAlive():
								gc.getTeam(6).makePeace(12)
						if PyPlayer(13).isAlive():
								gc.getTeam(6).makePeace(13)
						if PyPlayer(14).isAlive():
								gc.getTeam(6).makePeace(14)
						if PyPlayer(15).isAlive():
								gc.getTeam(6).makePeace(15)
						if PyPlayer(16).isAlive():
								gc.getTeam(6).makePeace(16)
						if PyPlayer(17).isAlive():
								gc.getTeam(6).makePeace(17)
						gc.getTeam(6).setHasTech(1, false, 6, false, false)
						gc.getTeam(6).setHasTech(2, false, 6, false, false)
						gc.getTeam(6).setHasTech(3, false, 6, false, false)
						gc.getTeam(6).setHasTech(4, false, 6, false, false)
						gc.getTeam(6).setHasTech(5, false, 6, false, false)
						gc.getTeam(6).setHasTech(6, false, 6, false, false)
						gc.getTeam(6).setHasTech(7, false, 6, false, false)
						gc.getTeam(6).setHasTech(8, false, 6, false, false)
						gc.getTeam(6).setHasTech(9, false, 6, false, false)
						gc.getTeam(6).setHasTech(10, false, 6, false, false)
						gc.getTeam(6).setHasTech(11, false, 6, false, false)
						gc.getTeam(6).setHasTech(12, false, 6, false, false)
						gc.getTeam(6).setHasTech(13, false, 6, false, false)
						gc.getTeam(6).setHasTech(14, false, 6, false, false)
						gc.getTeam(6).setHasTech(15, false, 6, false, false)
						gc.getTeam(6).setHasTech(16, false, 6, false, false)
						gc.getTeam(6).setHasTech(17, false, 6, false, false)
						gc.getTeam(6).setHasTech(18, false, 6, false, false)
						gc.getTeam(6).setHasTech(19, false, 6, false, false)
						gc.getTeam(6).setHasTech(20, false, 6, false, false)
						gc.getTeam(6).setHasTech(21, false, 6, false, false)
						gc.getTeam(6).setHasTech(22, false, 6, false, false)
						gc.getTeam(6).setHasTech(23, false, 6, false, false)
						gc.getTeam(6).setHasTech(24, false, 6, false, false)
						gc.getTeam(6).setHasTech(25, false, 6, false, false)
						gc.getTeam(6).setHasTech(26, false, 6, false, false)
						gc.getTeam(6).setHasTech(27, false, 6, false, false)
						gc.getTeam(6).setHasTech(28, false, 6, false, false)
						gc.getTeam(6).setHasTech(29, false, 6, false, false)
						gc.getTeam(6).setHasTech(30, false, 6, false, false)
						gc.getTeam(6).setHasTech(31, false, 6, false, false)
						gc.getTeam(6).setHasTech(32, false, 6, false, false)
						gc.getTeam(6).setHasTech(33, false, 6, false, false)
						gc.getTeam(6).setHasTech(34, false, 6, false, false)
						gc.getTeam(6).setHasTech(35, false, 6, false, false)
						gc.getTeam(6).setHasTech(36, false, 6, false, false)
						gc.getTeam(6).setHasTech(37, false, 6, false, false)
						gc.getTeam(6).setHasTech(38, false, 6, false, false)
						gc.getTeam(6).setHasTech(39, false, 6, false, false)
						gc.getTeam(6).setHasTech(40, false, 6, false, false)
 
according to my tests, once I cleaned up the typos, that works like a charm... Now I just need to do the onTechAcquired:Astronomy colony spawns and the holy city moving thing and I should be all done!
 
Back
Top Bottom