Linkman226
#anarchy
- Joined
- Sep 14, 2007
- Messages
- 2,493
AIWars - scripting AI war declaration
Barbs - spawning units and cities for the minor players
CityNameManager - naming cities according to Civ/geography
Communications - connects/disconnects contact between players, embassies
Congresses - World Congresses
Conts - settings and global values (constants)
CvEventManager - part of the core game mechanisms
CvGameUtils - also part of the core game mechanisms
CvRFCEventHandler - main hub for Python calls in RFC
CvRFCEventManager - another event management module, not really in use
Plague - plagues?
Religions - spreading of religions, holy shrines
Resources - scripted spreading of Bonuses and terrain
RFCUtils - collection of useful Python code for RFC, shared by several modules
RiseAndFall - central module for main RFC features (like Rise and Fall, secessions, collapse of minor Civs)
Stabilty - calculation and handling of stability, stability based collapse of Civs
StoredData - custom stored data for RFC
UniquePowers - some of the Unique Power code (rest in DLL)
Victory - Unique Historical Victories
tUnitCostModifier = ( #lower the cheaper
)
tResearchModifier = ( #lower the faster
)
tDistanceMaintenanceModifier = ( #lower the better
)
tNumCitiesMaintenanceModifier = ( #lower the better
)
tCivicUpkeepModifier = ( #lower the better
)
tHealthBonusModifier = (
)
tGrowthModifier = ( #lower the faster
)
tUnitProductionModifier = ( #lower the faster
)
tWonderProductionModifier = ( #lower the faster
)
tBuildingProductionModifier = ( #lower the faster
)
tInflationModifier = ( #lower the better
)
tGreatPeopleModifier = ( #lower the faster
)
tCitiesStartEraModifier = ( #higher the better
)
tWarDistanceModifier = ( #higher the closer, lower the further
)
tCityClosenessModifier = ( #higher the closer 7-14
)
tStabilityFoundModifier = ( #higher the more likely to use civic
)
tStabilityConquestModifier = ( #higher the more likely to use civic
)
tStabilityCommerceModifier = ( #higher the more likely to use civic
)
tCommerceGrowthModifier = ( #higher the faster
)
tWorkRateModifier = ( #higher the faster
)
def getStartingTurn(argsList):
return con.tBirth[argsList[0]]
def getSettlersMaps(argsList):
return SettlersMaps.tSettlersMaps[argsList[0]][argsList[1]][argsList[2]]
def getUnitCostModifier(argsList):
return con.tUnitCostModifier[argsList[0]]
def getResearchModifier(argsList):
return con.tResearchModifier[argsList[0]]
def getDistanceMaintenanceModifier(argsList):
return con.tDistanceMaintenanceModifier[argsList[0]]
def getNumCitiesMaintenanceModifier(argsList):
return con.tNumCitiesMaintenanceModifier[argsList[0]]
def getCivicUpkeepModifier(argsList):
return con.tCivicUpkeepModifier[argsList[0]]
def getHealthBonusModifier(argsList):
return con.tHealthBonusModifier[argsList[0]]
def getGrowthModifier(argsList):
return con.tGrowthModifier[argsList[0]]
def getUnitProductionModifier(argsList):
return con.tUnitProductionModifier[argsList[0]]
def getWonderProductionModifier(argsList):
return con.tWonderProductionModifier[argsList[0]]
def getBuildingProductionModifier(argsList):
return con.tBuildingProductionModifier[argsList[0]]
def getInflationModifier(argsList):
return con.tInflationModifier[argsList[0]]
def getGreatPeopleModifier(argsList):
return con.tGreatPeopleModifier[argsList[0]]
def getCitiesStartEraModifier(argsList):
return con.tCitiesStartEraModifier[argsList[0]]
def getWarDistanceModifier(argsList):
return con.tWarDistanceModifier[argsList[0]]
def getCityClosenessModifier(argsList):
return con.tCityClosenessModifier[argsList[0]]
def getStabilityFoundModifier(argsList):
return con.tStabilityFoundModifier[argsList[0]]
def getStabilityConquestModifier(argsList):
return con.tStabilityConquestModifier[argsList[0]]
def getStabilityCommerceModifier(argsList):
return con.tStabilityCommerceModifier[argsList[0]]
def getCommerceGrowthModifier(argsList):
return con.tCommerceGrowthModifier[argsList[0]]
def getWorkRateModifier(argsList):
return con.tWorkRateModifier[argsList[0]]
python array python method c++ method
tUnitCostModifier getUnitCostModifier(argsList): CvHandicapInfo::getUnitCostPercentByID
tResearchModifier getResearchModifier(argsList): CvHandicapInfo::getResearchPercentByID
tDistanceMaintenanceModifier getDistanceMaintenanceModifier(argsList): CvHandicapInfo::getDistanceMaintenancePercentByID
tNumCitiesMaintenanceModifier getNumCitiesMaintenanceModifier(argsList): CvHandicapInfo::getNumCitiesMaintenancePercentByID
tCivicUpkeepModifier getCivicUpkeepModifier(argsList): CvHandicapInfo::getCivicUpkeepPercentByID
tHealthBonusModifier getHealthBonusModifier(argsList): CvHandicapInfo::getHealthBonusByID
tGrowthModifier getGrowthModifier(argsList): CvPlayer::getGrowthThreshold
tUnitProductionModifier getUnitProductionModifier(argsList): CvPlayer::getProductionNeeded(UnitTypes eUnit)
tWonderProductionModifier getWonderProductionModifier(argsList): CvPlayer::getProductionNeeded(BuildingTypes eBuilding)
tBuildingProductionModifier getBuildingProductionModifier(argsList): CvPlayer::getProductionNeeded(BuildingTypes eBuilding)
tInflationModifier getInflationModifier(argsList): CvPlayer::calculateInflationRate
tGreatPeopleModifier getGreatPeopleModifier(argsList): CvPlayer::greatPeopleThreshold
tCitiesStartEraModifier getCitiesStartEraModifier(argsList): CvCity::init
tWarDistanceModifier getWarDistanceModifier(argsList): CvPlayerAI::AI_militaryWeight
tCityClosenessModifier getCityClosenessModifier(argsList): CvPlayerAI::AI_foundValue
tStabilityFoundModifier getStabilityFoundModifier(argsList): CvPlayerAI::AI_civicValue
tStabilityConquestModifier getStabilityConquestModifier(argsList): CvPlayerAI::AI_civicValue
tStabilityCommerceModifier getStabilityCommerceModifier(argsList): CvPlayerAI::AI_civicValue
tCommerceGrowthModifier getCommerceGrowthModifier(argsList): CvCity::doCulture
tWorkRateModifier getWorkRateModifier(argsList): CvUnit::workRate
long result = -1;
CyArgsList argsList;
argsList.add(getID());
gDLL->getPythonIFace()->callFunction(PYScreensModule, "getUnitProductionModifier", argsList.makeFunctionArgs(), &result);
int iResult = (int)result;
if (getID()<NUM_MAJOR_PLAYERS)
iProductionNeeded = iProductionNeeded*result/100;
tUnitProductionModifier = ( #lower the faster
110, #Egypt
105, #India
110, #China
115, #Babylonia
110, #Greece
88, #Persia
110, #Carthage
105, #Rome
93, #Japan
95, #Ethiopia
105, #Maya
85, #Vikings
92, #Arabia
95, #Khmer
95, #Spain
92, #France
95, #England
80, #Germany
85, #Russia
90, #Netherlands
90, #Mali
88, #Turkey
90, #Portugal
105, #Inca
80, #Mongolia
108, #Aztecs
83, #America
200,
200,
150,
150,
140
)
you have more/less of civilizations than you defined in CvDefines.h, if you have more than you have defined you need to increase the array size, if you have less you need to decrease it.I'm trying to figure out why I'm getting this python exception, which occurs at the start of the game just as the main screen comes up:
File "CvWBInterface", line 18, in writeDesc
File "CvWBDesc", line 1545, in write
File "CvWBDesc", line 1193, in write
File "CvWBDesc", line 804, in write
AttributeError: 'NoneType' object has no attribute 'GetType'
line 804 in CvWBDesc says: unitType = gc.getUnitInfo(unit.getUnitType()).getType()
does this mean it can't find the unit type of one of the units on the map?
edit: by elimination I've discovered it was Javelinmen in the starting units in RiseAndFall.py causing the error. they also cause this:
Spoiler :Traceback (most recent call last):
File "CvEventInterface", line 22, in onEvent
File "CvCustomEventManager", line 146, in handleEvent
File "CvCustomEventManager", line 157, in _handleDefaultEvent
File "CvRFCEventHandler", line 91, in onGameStart
File "RiseAndFall", line 330, in setup
File "RiseAndFall", line 1981, in createEarlyStartingUnits
File "RiseAndFall", line 1710, in createStartingUnits
File "RFCUtils", line 567, in makeUnit
RuntimeError: unidentifiable C++ exception
ERR: Python function onEvent failed, module CvEventInterface
which crashes the game on the next turn.
that unit is unchanged from previously working versions, so I'm confused as to where to look for a problem.
In CvDefines.h I only find MAX_CIV_PLAYERS (35). This is the same as Sword of Islam and I have the same number of civs, just changed the names. If this is caused by the number of civs why would it only happen with certain units?