From: <dil...@us...> - 2013-06-05 07:41:10
|
Revision: 6113 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=6113&view=rev Author: dilvish-fo Date: 2013-06-05 07:41:00 +0000 (Wed, 05 Jun 2013) Log Message: ----------- Added AI helper-tags to species scripts entries; the AI uses these to make better colonization & invasion assessments. Modified Paths: -------------- trunk/FreeOrion/default/AI/ColonisationAI.py trunk/FreeOrion/default/species.txt trunk/FreeOrion/default/universe_tables.txt Property Changed: ---------------- trunk/FreeOrion/default/ Property changes on: trunk/FreeOrion/default ___________________________________________________________________ Added: svn:ignore + sed_example.txt Modified: trunk/FreeOrion/default/AI/ColonisationAI.py =================================================================== --- trunk/FreeOrion/default/AI/ColonisationAI.py 2013-06-05 03:01:31 UTC (rev 6112) +++ trunk/FreeOrion/default/AI/ColonisationAI.py 2013-06-05 07:41:00 UTC (rev 6113) @@ -654,6 +654,25 @@ else: #colonization mission if not species: return 0 + popTagMod = 1.0 + indTagMod = 1.0 + resTagMod = 1.0 + AITags="" + for tag in [tag1 for tag1 in tagList if "AI_TAG" in tag1]: + tagParts = tag.split('_') + tagType = tagParts[3] + AITags += " AI_TAG: %s "%tag + grade = {'NO':0.0, 'BAD':0.5, 'GOOD':1.5, 'GREAT':2.0, 'ULTIMATE':4.0 }.get(tagParts[2], 1.0) + if tagType == "POPULATION": + popTagMod = {'BAD':0.75, 'GOOD':1.25}.get(tagParts[2], 1.0) + elif tagType =="INDUSTRY": + indTagMod = grade + elif tagType =="RESEARCH": + resTagMod = grade + + if AITags != "": + print "Species %s has AITags %s"%(specName, AITags) + retval += fixedRes retval += colonyStarBonus asteroidBonus=0 @@ -761,8 +780,8 @@ if popSizeMod > 0: popSizeMod += conditionalPopSizeMod - popSize = planetSize * popSizeMod - detail.append("baseMaxPop size*psm %d * %d = %d"%(planetSize, popSizeMod, popSize) ) + popSize = planetSize * popSizeMod * popTagMod + detail.append("baseMaxPop size*psm %d * %d * %.2f = %d"%(planetSize, popSizeMod, popTagMod, popSize) ) if "DIM_RIFT_MASTER_SPECIAL" in planet.specials: popSize -= 4 @@ -774,8 +793,8 @@ miningBonus+=1 proSingVal = [0, 4][(len( claimedStars.get(fo.starType.blackHole, [])) > 0)] - basePopInd=0.2 - indMult=1 + basePopInd=0.2 + indMult=1 * max( indTagMod, 0.5*(indTagMod+resTagMod) ) #TODO: repport an actual calc for research value indTechMap={ "GRO_ENERGY_META": 0.5, "PRO_ROBOTIC_PROD":0.4, "PRO_FUSION_GEN": 1.0, Modified: trunk/FreeOrion/default/species.txt =================================================================== --- trunk/FreeOrion/default/species.txt 2013-06-05 03:01:31 UTC (rev 6112) +++ trunk/FreeOrion/default/species.txt 2013-06-05 07:41:00 UTC (rev 6113) @@ -20,7 +20,7 @@ CanProduceShips CanColonize - tags = "LITHIC" + tags = [ "LITHIC" "AI_TAG_BAD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -55,7 +55,7 @@ Native CanProduceShips - tags = "SELF_SUSTAINING" + tags = [ "SELF_SUSTAINING" "AI_TAG_GREAT_INDUSTRY" "AI_TAG_GOOD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -124,7 +124,7 @@ gameplay_description = "SP_BEIGEGOO_GAMEPLAY_DESC" Native - Tags = "ROBOTIC" + Tags = [ "ROBOTIC" "AI_TAG_GOOD_POPULATION" "AI_TAG_GREAT_INDUSTRY" "AI_TAG_NO_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -161,7 +161,7 @@ CanProduceShips CanColonize - tags = "PHOTOTROPHIC" + tags = [ "PHOTOTROPHIC" "AI_TAG_GREAT_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -197,7 +197,7 @@ CanProduceShips CanColonize - tags = "ROBOTIC" + tags = [ "ROBOTIC" "AI_TAG_BAD_INDUSTRY" "AI_TAG_GOOD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -232,7 +232,7 @@ Native CanProduceShips - tags = "PHOTOTROPHIC" + tags = [ "PHOTOTROPHIC" "AI_TAG_NO_INDUSTRY" ] foci = [ /* [[HAS_INDUSTRY_FOCUS]]*/ @@ -340,7 +340,7 @@ CanProduceShips CanColonize - tags = "LITHIC" + tags = [ "LITHIC" "AI_TAG_BAD_RESEARCH" "AI_TAG_ULTIMATE_INDUSTRY" "AI_TAG_BAD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -377,7 +377,7 @@ CanProduceShips CanColonize - tags = "ROBOTIC" + tags = [ "ROBOTIC" "AI_TAG_BAD_INDUSTRY" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -417,7 +417,7 @@ CanProduceShips CanColonize - Tags = "ROBOTIC" + Tags = [ "ROBOTIC" "AI_TAG_BAD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -461,7 +461,7 @@ description = "SP_EXPERIMENTOR_DESC" gameplay_description = "SP_EXPERIMENTOR_GAMEPLAY_DESC" - tags = "SELF_SUSTAINING" + tags = [ "SELF_SUSTAINING" "AI_TAG_NO_INDUSTRY" "AI_TAG_ULTIMATE_RESEARCH" "AI_TAG_GOOD_POPULATION" ] foci = [ /*[[HAS_INDUSTRY_FOCUS]]*/ @@ -497,7 +497,7 @@ gameplay_description = "SP_FIFTYSEVEN_GAMEPLAY_DESC" Native - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_NO_INDUSTRY" "AI_TAG_ULTIMATE_RESEARCH" "AI_TAG_BAD_POPULATION" ] foci = [ /*[[HAS_INDUSTRY_FOCUS]]*/ @@ -532,7 +532,7 @@ //CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_RESEARCH" "AI_TAG_BAD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -570,7 +570,7 @@ CanProduceShips CanColonize - tags = [ "LITHIC" "TELEPATHIC" ] + tags = [ "LITHIC" "TELEPATHIC" "AI_TAG_GOOD_INDUSTRY" "AI_TAG_BAD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -604,7 +604,7 @@ Native CanProduceShips - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_INDUSTRY" "AI_TAG_GOOD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -639,7 +639,7 @@ CanProduceShips CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_GOOD_INDUSTRY" "AI_TAG_GREAT_RESEARCH" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -750,7 +750,7 @@ CanProduceShips CanColonize - tags = "SELF_SUSTAINING" + tags = [ "SELF_SUSTAINING" "AI_TAG_GREAT_INDUSTRY" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -785,7 +785,7 @@ CanProduceShips CanColonize - tags = [ "PHOTOTROPHIC" "TELEPATHIC" ] + tags = [ "PHOTOTROPHIC" "TELEPATHIC" "AI_TAG_BAD_RESEARCH" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -824,7 +824,7 @@ CanProduceShips CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -859,7 +859,7 @@ gameplay_description = "SP_NYMNMN_GAMEPLAY_DESC" Native - tags = "SELF_SUSTAINING" + tags = [ "SELF_SUSTAINING" "AI_TAG_NO_INDUSTRY" "AI_TAG_BAD_POPULATION" ] foci = [ /*[[HAS_INDUSTRY_FOCUS]]*/ @@ -895,7 +895,7 @@ gameplay_description = "SP_OURBOOLS_GAMEPLAY_DESC" Native - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_INDUSTRY" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -932,7 +932,7 @@ //CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_NO_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -965,7 +965,7 @@ gameplay_description = "SP_RAAAGH_GAMEPLAY_DESC" Native - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_INDUSTRY" "AI_TAG_NO_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1001,7 +1001,7 @@ CanProduceShips CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_GREAT_RESEARCH" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1037,7 +1037,7 @@ CanProduceShips CanColonize - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_BAD_INDUSTRY" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1074,7 +1074,7 @@ //CanColonize - Tags = "ROBOTIC" + Tags = [ "ROBOTIC" "AI_TAG_NO_INDUSTRY" "AI_TAG_BAD_RESEARCH" ] foci = [ /*[[HAS_INDUSTRY_FOCUS]]*/ @@ -1109,7 +1109,7 @@ CanProduceShips CanColonize - tags = [ "ORGANIC" "TELEPATHIC" ] + tags = [ "ORGANIC" "TELEPATHIC" "AI_TAG_BAD_INDUSTRY" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1144,7 +1144,7 @@ CanProduceShips CanColonize - tags = [ "ORGANIC" "ROBOTIC" "LITHIC" "PHOTOTROPHIC" "SELF_SUSTAINING" "TELEPATHIC" ] + tags = [ "ORGANIC" "ROBOTIC" "LITHIC" "PHOTOTROPHIC" "SELF_SUSTAINING" "TELEPATHIC" "AI_TAG_GREAT_INDUSTRY" "AI_TAG_GREAT_RESEARCH" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1193,7 +1193,7 @@ CanProduceShips CanColonize - tags = [ "ORGANIC" "TELEPATHIC" ] + tags = [ "ORGANIC" "TELEPATHIC" "AI_TAG_GOOD_INDUSTRY" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1226,7 +1226,7 @@ gameplay_description = "SP_TRENCHERS_GAMEPLAY_DESC" Native - Tags = "ROBOTIC" + Tags = [ "ROBOTIC" "AI_TAG_GOOD_INDUSTRY" "AI_TAG_NO_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1300,7 +1300,7 @@ CanProduceShips CanColonize - tags = "LITHIC" + tags = [ "LITHIC" "AI_TAG_GOOD_INDUSTRY" "AI_TAG_BAD_RESEARCH" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1333,7 +1333,7 @@ gameplay_description = "SP_VOLP_GAMEPLAY_DESC" Native - tags = "LITHIC" + tags = [ "LITHIC" "AI_TAG_GOOD_POPULATION" ] foci = [ [[HAS_INDUSTRY_FOCUS]] @@ -1369,7 +1369,7 @@ gameplay_description = "SP_HIDDENGARDENER_GAMEPLAY_DESC" Native - tags = "ORGANIC" + tags = [ "ORGANIC" "AI_TAG_NO_INDUSTRY" "AI_TAG_NO_RESEARCH" ] foci = [ [[HAS_GROWTH_FOCUS]] Modified: trunk/FreeOrion/default/universe_tables.txt =================================================================== --- trunk/FreeOrion/default/universe_tables.txt 2013-06-05 03:01:31 UTC (rev 6112) +++ trunk/FreeOrion/default/universe_tables.txt 2013-06-05 07:41:00 UTC (rev 6113) @@ -77,9 +77,9 @@ <4x8> UniverseAgeModToStarTypeDist Blue White Yellow Orange Red Neutron Blackhole NoStar NoneUnused 0 0 0 0 0 0 0 0 -Young 10 20 0 0 0 0 0 60 -Mature -5 0 10 20 0 10 10 40 -Ancient -20 -10 0 10 20 20 20 20 +Young 10 20 0 0 0 0 0 50 +Mature -5 0 10 20 0 10 10 30 +Ancient -20 -10 0 10 20 20 20 10 <1x8> BaseStarTypeDist Blue White Yellow Orange Red Neutron Blackhole NoStar |