Requesting following features

don't miss the end of the last post.
I don't need anything translated, but I'm trying to make all Python code ready for translations - for when you get around to it.

are we going to make it so that the rebels are non-contactable but are NOT always at war with everybody and when they respawn their diplomacy is reset? and will I need to do anything to the WBS to encorporate this?
How will one declare war on someone who isn't contactable? (By moving units into their territory, I guess...)

Since the rebel Civs are only spawning when the Rebellion module calls for them to do so, I can easily reset all diplomacy on the "spawn event". I trust you will remind me if I manage to forget about this.

It just dawned on me that there is a setPlayerAlive event callback to the Event Manager. I'll look into hooking this up with resetting diplomacy, then.

could Asaf make a feature that could do this?
I don't think there need to be anything done in the SDK for resetting diplomacy, at least.
 
yer movement into territory.

is it possible to have them non-contactable but at peace with all but their conterpart?
 
right we have a big problem... I filled the WBS to the max (all 17 teams filled so therefore missing slaves and byzantium) and it worked untill I tried to go into worldbuilder where it crashed... It may be because there are 8 civs using the SAME leader at the same time... I will have to change their leaders. But if it still deosn't work what should we do? If it fails over 17 teams instead, what will we do then? do the civs have to be in the WBS and can they be paired up another way? we have to start preparing for these problems now...
 
is it possible to have them non-contactable but at peace with all but their conterpart?
This is a prototype for the functionality you requested:
Spoiler :
Code:
def resetMinorCiv(ePlayer, bAlive):
        if not bAlive: return
        pCivPlayer = instance(ePlayer)
        pPlayer = pCivPlayer.get(CyPlayer)
        if not pPlayer.isMinorCiv(): return
        pPlayer.killAllDeals()
        pTeam = pCivPlayer.get(CyTeam)
        for eRivalTeam in CivPlayer.getPlayers(True, teamID):
                if eRivalTeam == pCivPlayer.get(teamID): continue
                elif ( eRivalTeam == pCivPlayer.get(teamID) - iNumMajorPlayers
                       and not pTeam.isAtWar(eRivalTeam) ):
                        pTeam.declareWar(eRivalTeam, False, -1)
                elif pTeam.isAtWar(eRivalTeam):
                        pTeam.makePeace(eRivalTeam)
This is however not good sample code for learning anything as it relies heavily on my CivPlayer module/class. A CivPlayer instance is basically wrapper for player/team ID's and objects. An array of CivPlayer instances for all players is created on initialization of the module, and you can fetch one of these with the instance() function. (The argument is the player ID or the player's index number.)

By calling the CivPlayer.get() method on the CivPlayer instance you can fetch any of the available values: PlayerType, CyPlayer instance, TeamType, CyTeam instance or a PyPlayer instance (from PyHelpers). This is basically for convenience - my convenience. Otherwise I would have to keep calling the methods CyGlobalContext.getPlayer(), CyGlobalContext.getTeam() and CyPlayer.getTeam() continuously in every single module that is part of your mod. I'm basically done with this kind of repetition. :rolleyes:

Also, the CivPlayer.getPlayers() class method is used to loop through all CivPlayer intances. The first parameter used here is True and refers to a major-players-only setting (so the loop is excluding all minor players - for speed purposes mainly). The second parameter tells the method to supply the for in loop with TeamType values (teamID's).

What the code does, is that it firstly kills all diplomatic deals in effect for the minor Civ. Then it loops through all major player rivals and cancels all wars with their teams. And once the loop hits the minor Civs major counterpart the code makes the player's team declares war on it.
 
right we have a big problem... I filled the WBS to the max (all 17 teams filled so therefore missing slaves and byzantium) and it worked untill I tried to go into worldbuilder where it crashed... It may be because there are 8 civs using the SAME leader at the same time... I will have to change their leaders. But if it still deosn't work what should we do? If it fails over 17 teams instead, what will we do then? do the civs have to be in the WBS and can they be paired up another way? we have to start preparing for these problems now...
I have no idea what is causing this, but I bet its not using the same leader, at least. It could be any number of things or setting you've made. Debugging is hard. :(

Try starting over with just a bare-bones WBS, with basically no content what-so-ever. If you can get it to work with more than 18 players/teams, then its something else entirely...

I'm not aware of any 18 player limit in BtS in any case. And if there is such a thing, Asaf would be able to increase this value to whatever in his next DLL release. (He has promised to update this coming week anyway.) So I thing this issue will be solved in one way or another.

edit: Aha, the problem isn't having more than 18 players at all, but rather that the minor players you did add are crashing the World Builder. This is probably caused by some error in your WBS, but you don't actually need the WB for editing the WBS... I don't see the problem, really.

edit: Since the WB is mostly Python anyway (isn't it?) you should probably be on the look for Python exceptions. Have you checked the error logs?
 
how are they crashing it?! I have not done anything to those 2 since they were put in... And can I ask how you know of this? BTW: the rebels have been currently set as playable. I am still changing the leaders though and then I will look for those lovely exeptions... I do use the worldbuilder alot though. I use for all sorts of things including to see if things work in a much easier fashion
 
could it be that they are not last in the list? the Iberians and the Colonies were left at positions 8 + 9 and the 8 rebels put after it in order of the original civs...
 
how are they crashing it?! I have not done anything to those 2 since they were put in... And can I ask how you know of this? BTW: the rebels have been currently set as playable. I am still changing the leaders though and then I will look for those lovely exeptions... I do use the worldbuilder alot though. I use for all sorts of things including to see if things work in a much easier fashion
I'm not sure what you mean, but chances are that you made an error somewhere. Now, these things can be very hard to spot, so I can only wish you good luck with the bug-hunt. :p

Have you tried accessing the WB without the updated WBS? Because it could be something else than the most recent additions that are causing the crash. Just so that you know where to start looking.

And I fully understand how frustrating this is. If you can't find anything causing the crash in the WBS, you could try posting the whole thing on the main modding forum. Hopefully some seasoned WBS modder will be able to spot the problem. (It may be something either of us have ever even heard of, so looking for the problem might turn out to be a waste of time.)
 
could it be that they are not last in the list? the Iberians and the Colonies were left at positions 8 + 9 and the 8 rebels put after it in order of the original civs...
I don't think that the order of appearance matters - its all the same to the game engine/WB. Look for errors in your WB edits. Something that isn't making sense.
 
normal WB works with the other senario because I used VERY recently (as in changed nothing since) to test Asaf's Ethnic Buildings... It MUST be the new WBS I made (copy + paste all the new into a Jamie's Rome 1.32 just incase something like this happened.) I will post it here in this thread as well.

Spoiler :

Code:
Version=11
BeginGame
	Era=ERA_ANCIENT
	Speed=GAMESPEED_NORMAL
	Calendar=CALENDAR_DEFAULT
	Victory=VICTORY_TIME
	Victory=VICTORY_CONQUEST
	Victory=VICTORY_DOMINATION
	Victory=VICTORY_CULTURAL
	Victory=VICTORY_DIPLOMATIC
	GameTurn=0
	MaxTurns=500
	MaxCityElimination=0
	NumAdvancedStartPoints=600
	TargetScore=0
	StartYear=-4000
	Description=
	ModPath=
EndGame
BeginTeam
	TeamID=0
	Tech=TECH_FISHING
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_MINING
	ContactWithTeam=0
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=1
	Tech=TECH_FISHING
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_HUNTING
	Tech=TECH_MINING
	ContactWithTeam=1
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=2
	Tech=TECH_MYSTICISM
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_HUNTING
	Tech=TECH_MINING
	ContactWithTeam=2
	ContactWithTeam=7
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=3
	Tech=TECH_MYSTICISM
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_HUNTING
	Tech=TECH_MINING
	ContactWithTeam=3
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=4
	Tech=TECH_FISHING
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_MINING
	ContactWithTeam=4
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=5
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_MINING
	ContactWithTeam=5
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=6
	Tech=TECH_FISHING
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_HUNTING
	Tech=TECH_MINING
	ContactWithTeam=6
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=7
	Tech=TECH_FISHING
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_HUNTING
	Tech=TECH_MINING
	ContactWithTeam=2
	ContactWithTeam=7
	ContactWithTeam=8
	ContactWithTeam=9
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=8
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_MINING
	ContactWithTeam=0
	ContactWithTeam=1
	ContactWithTeam=2
	ContactWithTeam=3
	ContactWithTeam=4
	ContactWithTeam=5
	ContactWithTeam=6
	ContactWithTeam=7
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=10
	ContactWithTeam=11
	ContactWithTeam=12
	ContactWithTeam=13
	ContactWithTeam=14
	ContactWithTeam=15
	ContactWithTeam=16
	ContactWithTeam=17
	AtWar=0
	AtWar=1
	AtWar=2
	AtWar=3
	AtWar=4
	AtWar=5
	AtWar=6
	AtWar=7
	AtWar=9
	AtWar=10
	AtWar=11
	AtWar=12
	AtWar=13
	AtWar=14
	AtWar=15
	AtWar=16
	AtWar=17
	RevealMap=0
EndTeam
BeginTeam
	TeamID=9
	Tech=TECH_THE_WHEEL
	Tech=TECH_AGRICULTURE
	Tech=TECH_MINING
	ContactWithTeam=0
	ContactWithTeam=1
	ContactWithTeam=2
	ContactWithTeam=3
	ContactWithTeam=4
	ContactWithTeam=5
	ContactWithTeam=6
	ContactWithTeam=7
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=10
	ContactWithTeam=11
	ContactWithTeam=12
	ContactWithTeam=13
	ContactWithTeam=14
	ContactWithTeam=15
	ContactWithTeam=16
	ContactWithTeam=17
	AtWar=0
	AtWar=1
	AtWar=2
	AtWar=3
	AtWar=4
	AtWar=5
	AtWar=6
	AtWar=7
	AtWar=8
	AtWar=10
	AtWar=11
	AtWar=12
	AtWar=13
	AtWar=14
	AtWar=15
	AtWar=16
	AtWar=17
	RevealMap=0
EndTeam
BeginTeam
	TeamID=10
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=10
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=11
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=11
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=12
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=12
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=13
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=13
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=14
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=14
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=15
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=15
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=16
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=16
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginTeam
	TeamID=17
	ContactWithTeam=8
	ContactWithTeam=9
	ContactWithTeam=17
	AtWar=8
	AtWar=9
	RevealMap=0
EndTeam
BeginPlayer
	Team=0
	LeaderType=LEADER_AUGUSTUS
	LeaderName=Augustus Caesar
	CivDesc=TXT_KEY_CIV_ROME_DESC
	CivShortDesc=TXT_KEY_CIV_ROME_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_ROME_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Laurels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_ROME
	Color=PLAYERCOLOR_DARK_PURPLE
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=12, StartingY=25
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=1
	LeaderType=LEADER_ALEXANDER
	LeaderName=TXT_KEY_LEADER_ALEXANDER
	CivDesc=TXT_KEY_CIV_GREECE_DESC
	CivShortDesc=TXT_KEY_CIV_GREECE_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_GREECE_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Helmet.dds
	WhiteFlag=0
	CivType=CIVILIZATION_GREECE
	Color=PLAYERCOLOR_LIGHT_BLUE
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=60, StartingY=11
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=2
	LeaderType=LEADER_BOUDICA
	LeaderName=TXT_KEY_LEADER_BOUDICA
	CivDesc=TXT_KEY_CIV_BRITON_DESC
	CivShortDesc=TXT_KEY_CIV_BRITON_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_BRITON_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_CelticCross.dds
	WhiteFlag=0
	CivType=CIVILIZATION_BRITON
	Color=PLAYERCOLOR_BLUE
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=34, StartingY=39
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=3
	LeaderType=LEADER_BRENNUS
	LeaderName=TXT_KEY_LEADER_BRENNUS
	CivDesc=TXT_KEY_CIV_GAUL_DESC
	CivShortDesc=TXT_KEY_CIV_GAUL_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_GAUL_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_CelticCross.dds
	WhiteFlag=0
	CivType=CIVILIZATION_GAUL
	Color=PLAYERCOLOR_WALES
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=10, StartingY=38
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=4
	LeaderType=LEADER_HANNIBAL
	LeaderName=TXT_KEY_LEADER_HANNIBAL
	CivDesc=TXT_KEY_CIV_CARTHAGE_DESC
	CivShortDesc=TXT_KEY_CIV_CARTHAGE_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_CARTHAGE_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Carthage.dds
	WhiteFlag=0
	CivType=CIVILIZATION_CARTHAGE
	Color=PLAYERCOLOR_ORANGE
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=53, StartingY=12
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=5
	LeaderType=LEADER_RAMESSES
	LeaderName=TXT_KEY_LEADER_RAMESSES
	CivDesc=TXT_KEY_CIV_EGYPT_DESC
	CivShortDesc=TXT_KEY_CIV_EGYPT_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_EGYPT_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_EyeOfRa.dds
	WhiteFlag=0
	CivType=CIVILIZATION_EGYPT
	Color=PLAYERCOLOR_YELLOW
	ArtStyle=ARTSTYLE_MIDDLE_EAST
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=34, StartingY=20
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=6
	LeaderType=LEADER_RAGNAR
	LeaderName=TXT_KEY_LEADER_CLOVIS
	CivDesc=TXT_KEY_CIV_GERMANIA_DESC
	CivShortDesc=TXT_KEY_CIV_GERMANIA_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_GERMANIA_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Viking.dds
	WhiteFlag=0
	CivType=CIVILIZATION_GERMANIA
	Color=PLAYERCOLOR_GERMANIA
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=73, StartingY=21
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=7
	LeaderType=LEADER_ERP
	LeaderName=TXT_KEY_LEADER_ERP
	CivDesc=TXT_KEY_CIV_PICTS_TWO_DESC
	CivShortDesc=TXT_KEY_CIV_PICTS_TWO_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_PICTS_TWO_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Viking.dds
	WhiteFlag=0
	CivType=CIVILIZATION_PICTS
	Color=PLAYERCOLOR_PICT
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StartingX=43, StartingY=13
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=8
	LeaderType=LEADER_SALADIN
	LeaderName=TXT_KEY_LEADER_VIRIATHUS
	CivDesc=TXT_KEY_CIV_IBERIA_DESC
	CivShortDesc=TXT_KEY_CIV_IBERIA_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_IBERIA_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Castle.dds
	WhiteFlag=0
	CivType=CIVILIZATION_INDEPENDENT
	Color=PLAYERCOLOR_PICT_2
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=0
	MinorNationStatus=1
	StartingGold=0
	StartingX=22, StartingY=40
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=9
	LeaderType=LEADER_SELEUCUS
	LeaderName=TXT_KEY_LEADER_PERICLES
	CivDesc=TXT_KEY_CIV_COLONIES_DESC
	CivShortDesc=TXT_KEY_CIV_COLONIES_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_COLONIES_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Helmet.dds
	WhiteFlag=0
	CivType=CIVILIZATION_INDEPENDENT_II
	Color=PLAYERCOLOR_DARK_BLUE
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=0
	MinorNationStatus=1
	StartingGold=0
	StartingX=23, StartingY=17
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=10
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_ITALIAN_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_ITALIAN_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_ITALIAN_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_ItalianRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_ITALIAN_REBELS
	Color=PLAYERCOLOR_ITALIAN_REBELS
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=11
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_HELLENIC_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_HELLENIC_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_HELLENIC_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_HellenicRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_HELLENIC_REBELS
	Color=PLAYERCOLOR_HELLENIC_REBELS
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=12
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_BRYTHON_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_BRYTHON_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_BRYTHON_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_BrythonRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_BRYTHON_REBELS
	Color=PLAYERCOLOR_BRYTHON_REBELS
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=13
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_GALLIC_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_GALLIC_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_GALLIC_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_GallicRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_GALLIC_REBELS
	Color=PLAYERCOLOR_GALLIC_REBELS
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=14
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_NUMIDIAN_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_NUMIDIAN_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_NUMIDIAN_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_NumidianRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_NUMIDIAN_REBELS
	Color=PLAYERCOLOR_NUMIDIAN_REBELS
	ArtStyle=ARTSTYLE_GRECO_ROMAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=15
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_NUBIAN_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_NUBIAN_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_NUBIAN_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_Scimitar.dds
	WhiteFlag=0
	CivType=CIVILIZATION_NUBIAN_REBELS
	Color=PLAYERCOLOR_NUBIAN_REBELS
	ArtStyle=ARTSTYLE_MIDDLE_EAST
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=16
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_GERMANIC_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_GERMANIC_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_GERMANIC_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_GermanicRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_GERMANIC_REBELS
	Color=PLAYERCOLOR_GERMANIC_REBELS
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
BeginPlayer
	Team=17
	LeaderType=LEADER_REBEL
	LeaderName=TXT_KEY_LEADER_REBEL
	CivDesc=TXT_KEY_CIV_PICTISH_REBELS_DESC
	CivShortDesc=TXT_KEY_CIV_PICTISH_REBELS_SHORT_DESC
	CivAdjective=TXT_KEY_CIV_PICTISH_REBELS_ADJECTIVE
	FlagDecal=Art/Interface/TeamColor/FlagDECAL_PictishRebels.dds
	WhiteFlag=0
	CivType=CIVILIZATION_PICTISH_REBELS
	Color=PLAYERCOLOR_PICTISH_REBELS
	ArtStyle=ARTSTYLE_EUROPEAN
	PlayableCiv=1
	MinorNationStatus=0
	StartingGold=0
	StateReligion=
	StartingEra=ERA_ANCIENT
	RandomStartLocation=false
	CivicOption=CIVICOPTION_GOVERNMENT, Civic=CIVIC_DESPOTISM
	CivicOption=CIVICOPTION_LEGAL, Civic=CIVIC_BARBARISM
	CivicOption=CIVICOPTION_LABOR, Civic=CIVIC_TRIBALISM
	CivicOption=CIVICOPTION_ECONOMY, Civic=CIVIC_DECENTRALIZATION
	CivicOption=CIVICOPTION_RELIGION, Civic=CIVIC_PAGANISM
	Handicap=HANDICAP_NOBLE
EndPlayer
 
It could possibly be some issue with having defined players that are counted as being alive as default, but when the WB is trying to access their units/cities/whatever it crashes - since none is to be found. If you can access the Python console you would be able to check this with:
Code:
print gc.getPlayer(10).isAlive()
If the message is printed out as True, then player 10 is alive and not dead. Then we need to kill it off on initialization. But one thing at a time...
 
wait a minute... I did edit one thing and I completly forgot...

check out the difference between 0 - 9 and then 10... notice anything? You should... I removed the rebels spawn co-ordinates:

Missing
StateReligion=
StartingEra=ERA_ANCIENT
RandomStartLocation=false

compared to the normal:

StartingX=22, StartingY=40
StateReligion=
StartingEra=ERA_ANCIENT
RandomStartLocation=false


I didn't think it would cause a problem... it can be added back in and due to them being defaultly set as having no units to spawn with what so ever they should not appear...

you think that is it?
 
Actually there is a hard-coded limit of 18 players in the DLL.
It shouldn't be a problem to change it, though. IIRC changing it to another value will not cause any problems (it was done in several mods) but I will have to compile it.
I'll add it when I next update the DLL.

Any preferred new limit?
 
25 (just to be on the safe side just incase 5 new civs appear from somewhere...)
 
You can't exclude anything from being faulty at this point, like the (presumably) new Rebel leader. Have you checked if that works with the original WBS version?

You basically need to go back to the last working WBS and test every new feature, one at a time. Only when one thing works do you move on the the next.

There are new flags and new civilizations defined in the XML. Each one could cause an issue.
 
Actually there is a hard-coded limit of 18 players in the DLL.
Does raising the limit also mean that one needs to include empty entries for the unused player/team slots in the WBS?
 
presumably yes, if there are unused ones all the time then they must always be defined
 
If there indeed is an issue with the dead minor Civs being in the WBS from start - without any hardware to call their own - then it could be possible to rectify the situation by giving all of them one unit in some tile outside of the playable portion of the scenario map. Then, on the GameStart event callback we use CyPlayer.killUnits() on all the rebel players. This should update their status to being dead. Now the WB should have no issues with "alive" players having no units.

But check the alive status of those players before I start working on this. (If you can't access the console, then we could add some debug print-outs in CvEventManager.)
Spoiler :
Code:
	def onGameStart(self, argsList):
		'Called at the start of the game'

		[B]for ePlayer in range(gc.getMAX_CIV_PLAYERS()):
			print "player " + str(ePlayer) + "'s alive status: " + str(gc.getPlayer(ePlayer).isAlive())[/B]
 
The standard senario works but even after re-adding the coordinates back into the WBS the new one still doesn't work... I will try the leader next... IF it still doesn't work we will ping a warrior for the rebels into the ocean that is russia.

remember they are playable... ah... maybee the problem is that a playable civ is dead from the start...


BTW: no exceptions
 
Does raising the limit also mean that one needs to include empty entries for the unused player/team slots in the WBS?

I don't know for sure, but I'm guessing you don't.

There is solver's DLL for 34/50 civs somewhere. Maybe download it, create and save a map in the world builder and see what you get?
 
Back
Top Bottom