Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Lua
- local iCiv = GameInfoTypes.CIVILIZATION_RCUMANIA;
- local buildingCumanPuppetCheck = GameInfoTypes.BUILDING_RCUMAN_PUPPET_CHECK;
- local buildingCumanTourismFromGarrisons = GameInfoTypes.BUILDING_RCUMAN_TOURISM_GARRISON;
- local buildingCumanPastureXP = GameInfoTypes.BUILDING_RCUMAN_PASTURE_XP;
- local buildingHappinessGarrison = GameInfoTypes.BUILDING_RCUMAN_HAPPINESS_GARRISON;
- local unitHappinessGarrisonID = GameInfoTypes.PROMOTION_RCUMAN_HAPPINESS_GARRISON;
- local CumanPastureTourismBuilding = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM;
- local CumanPastureTourism = {};
- CumanPastureTourism[1] = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM_16;
- CumanPastureTourism[2] = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM_8;
- CumanPastureTourism[3] = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM_4;
- CumanPastureTourism[4] = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM_2;
- CumanPastureTourism[5] = GameInfoTypes.BUILDING_RCUMAN_PASTURE_TOURISM_1;
- function GPuz_CityCheck(iPlayer, iCityX, iCityY)
- local pPlayer = Players[iPlayer];
- if pPlayer:IsAlive() and pPlayer:GetCivilizationType() == iCiv then
- local pPlot = Map.GetPlot(iCityX, iCityY);
- local pCity = pPlot:GetPlotCity();
- pCity:SetNumRealBuilding(buildingCumanPuppetCheck, 1);
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_CityCheck)
- function GPuz_PuppetCheck(iPlayer)
- local pPlayer = Players[iPlayer];
- if pPlayer:IsAlive() and pPlayer:GetCivilizationType() == iCiv then
- for pCity in pPlayer:Cities() do
- if not pCity:IsPuppet() then
- pCity:SetNumRealBuilding(buildingCumanPuppetCheck, 0);
- end
- end
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_PuppetCheck)
- function GPuz_HappinessFromGarrisons(playerID)
- local player = Players[playerID]
- if player:IsAlive() then
- for city in player:Cities() do
- local cityPlot = city:Plot()
- local horseGarrison = false
- for unitID = 0, cityPlot:GetNumUnits() - 1, 1 do
- if (cityPlot and cityPlot:GetUnit(unitID):IsHasPromotion(unitHappinessGarrisonID) and city:IsHasBuilding(buildingCumanPuppetCheck)) then
- horseGarrison = true
- break
- end
- end
- if horseGarrison and city:IsHasBuilding(buildingCumanPuppetCheck) then
- if (not city:IsHasBuilding(buildingHappinessGarrison)) then
- city:SetNumRealBuilding(buildingHappinessGarrison, 1)
- end
- else
- if city:IsHasBuilding(buildingHappinessGarrison) then
- city:SetNumRealBuilding(buildingHappinessGarrison, 0)
- end
- end
- end
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_HappinessFromGarrisons)
- function GPuz_TourismFromGarrisons(playerID)
- local pPlayer = Players[playerID]
- if pPlayer:GetCivilizationType() == iCiv then
- if player:IsAlive() then
- for city in player:Cities() do
- local cityPlot = city:Plot()
- local unitGarrison = false
- for unitID = 0, cityPlot:GetNumUnits() - 1, 1 do
- if (cityPlot and cityPlot:GetUnit() and city:IsHasBuilding(buildingCumanPuppetCheck)) then
- unitGarrison = true
- break
- end
- end
- if unitGarrison and city:IsHasBuilding(buildingCumanPuppetCheck) then
- if (not city:IsHasBuilding(buildingCumanTourismFromGarrisons)) then
- city:SetNumRealBuilding(buildingCumanTourismFromGarrisons, 1)
- end
- else
- if city:IsHasBuilding(buildingCumanTourismFromGarrisons) then
- city:SetNumRealBuilding(buildingCumanTourismFromGarrisons, 0)
- end
- end
- end
- end
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_TourismFromGarrisons)
- function pastureBonus(iPlayer)
- local pPlayer = Players[iPlayer]
- if pPlayer:GetCivilizationType() == iCiv then
- for pCity in pPlayer:Cities() do
- local iNumPlots = pCity:GetNumCityPlots()
- for i = 0, iNumPlots - 1 do
- local workedPastures = 0
- local pPlot = pCity:GetCityIndexPlot(i)
- if pCity:IsWorkingPlot(pPlot) and pPlot:GetImprovementType() == ImprovementTypes.IMPROVEMENT_PASTURE then
- workedPastures = workedPastures + 1
- end
- end
- end
- end
- end
- function GPuz_ExperiencePastures(playerID)
- local player = Players[playerID]
- if (player:IsAlive() and player:GetCivilizationType() == iCiv) then
- for city in player:Cities() do
- pastureBonus(iPlayer)
- city:SetNumRealBuilding(buildingCumanPastureXP, workedPastures)
- end
- end
- end
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_ExperiencePastures)
- function GPuz_CumanTourismPastures(iPlayer)
- local pPlayer = Players[iPlayer];
- if pPlayer:IsAlive() and pPlayer:GetCivilizationType() == iCiv then
- pastureBonus(iPlayer)
- for pCity in pPlayer:Cities() do
- for i = 1, 5 do
- if workedPastures > 0 then
- if workedPastures >= math.pow(2, 5 - i) then
- pCity:SetNumRealBuilding(CumanPastureTourism[i], 1);
- workedPastures = workedPastures - math.pow(2, 5 - i);
- else
- pCity:SetNumRealBuilding(CumanPastureTourism[i], 0);
- end
- else
- pCity:SetNumRealBuilding(CumanPastureTourism[i], 0);
- end
- end
- end
- end
- end
- GameEvents.PlayerDoTurn.Add(GPuz_CumanTourismPastures)
- Dummy buildings XML
- -<GameData>
- -<Buildings>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_1</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_1</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_2</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_2</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_4</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_4</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_8</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_8</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_16</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_16</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_TOURISM_32</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_32</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_CHIVALRY</EnhancedYieldTech>
- <TechEnhancedTourism>1</TechEnhancedTourism>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PASTURE_XP</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PASTURE_XP</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_PUPPET_CHECK</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_PUPPET_CHECK</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_HAPPINESS_GARRISON</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_HAPPINESS_GARRISON</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <Happiness>2</Happiness>
- </Row>
- -<Row>
- <Type>BUILDING_RCUMAN_TOURISM_GARRISON</Type>
- <BuildingClass>BUILDINGCLASS_RCUMAN_TOURISM_GARRISON</BuildingClass>
- <Cost>-1</Cost>
- <FaithCost>-1</FaithCost>
- <PrereqTech>NULL</PrereqTech>
- <GreatWorkCount>-1</GreatWorkCount>
- <ArtDefineTag>NONE</ArtDefineTag>
- <MinAreaSize>-1</MinAreaSize>
- <NeverCapture>true</NeverCapture>
- <HurryCostModifier>-1</HurryCostModifier>
- <PortraitIndex>0</PortraitIndex>
- <IconAtlas>CIV_COLOR_ATLAS</IconAtlas>
- <EnhancedYieldTech>TECH_AGRICULTURE</EnhancedYieldTech>
- <TechEnhancedTourism>2</TechEnhancedTourism>
- </Row>
- </Buildings>
- -<BuildingClasses>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_1</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_1</DefaultBuilding>
- <Description>Tourism 1</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_2</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_2</DefaultBuilding>
- <Description>Tourism 2</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_4</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_4</DefaultBuilding>
- <Description>Tourism 4</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_8</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_8</DefaultBuilding>
- <Description>Tourism 8</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_16</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_16</DefaultBuilding>
- <Description>Tourism 16</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_TOURISM_32</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_TOURISM_32</DefaultBuilding>
- <Description>Tourism 32</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PASTURE_XP</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PASTURE_XP</DefaultBuilding>
- <Description>Pasture XP</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_PUPPET_CHECK</Type>
- <DefaultBuilding>BUILDING_RCUMAN_PUPPET_CHECK</DefaultBuilding>
- <Description>Puppet Check</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_HAPPINESS_GARRISON</Type>
- <DefaultBuilding>BUILDING_RCUMAN_HAPPINESS_GARRISON</DefaultBuilding>
- <Description>Happiness Garrison</Description>
- </Row>
- -
- -<Row>
- <Type>BUILDINGCLASS_RCUMAN_TOURISM_GARRISON</Type>
- <DefaultBuilding>BUILDING_RCUMAN_TOURISM_GARRISON</DefaultBuilding>
- <Description>Tourism Garrison</Description>
- </Row>
- </BuildingClasses>
- -
- -<Building_DomainFreeExperiences>
- -
- -<Row>
- <BuildingType>BUILDING_RCUMAN_PASTURE_XP</BuildingType>
- <DomainType>DOMAIN_LAND</DomainType>
- <Experience>3</Experience>
- </Row>
- -
- -<Row>
- <BuildingType>BUILDING_RCUMAN_PASTURE_XP</BuildingType>
- <DomainType>DOMAIN_SEA</DomainType>
- <Experience>3</Experience>
- </Row>
- -
- -<Row>
- <BuildingType>BUILDING_RCUMAN_PASTURE_XP</BuildingType>
- <DomainType>DOMAIN_AIR</DomainType>
- <Experience>3</Experience>
- </Row>
- </Building_DomainFreeExperiences>
- </GameData>
- Promotions xml
- -<GameData>
- -<UnitPromotions>
- -
- -<Row>
- <Type>PROMOTION_RCUMAN_HAPPINESS_GARRISON</Type>
- <Description>TXT_KEY_PROMOTION_RCUMAN_HAPPINESS_GARRISON</Description>
- <Help>TXT_KEY_PROMOTION_RCUMAN_HAPPINESS_GARRISON_HELP</Help>
- <Sound>AS2D_IF_LEVELUP</Sound>
- <CannotBeChosen>true</CannotBeChosen>
- <OrderPriority>1</OrderPriority>
- <PortraitIndex>59</PortraitIndex>
- <IconAtlas>ABILITY_ATLAS</IconAtlas>
- <PediaType>PEDIA_ATTRIBUTES</PediaType>
- <PediaEntry>TXT_KEY_PROMOTION_RCUMAN_HAPPINESS_GARRISON</PediaEntry>
- </Row>
- </UnitPromotions>
- -<Language_en_US>
- -
- -<Row Tag="TXT_KEY_PROMOTION_RCUMAN_HAPPINESS_GARRISON">
- <Text>Mamluk Dynasty</Text>
- <Gender>neuter:an</Gender>
- </Row>
- - -
- -<Row Tag="TXT_KEY_PROMOTION_RCUMAN_HAPPINESS_GARRISON_HELP">
- <Text>Yields 2 happiness if garrisoned in a puppet city</Text>
- </Row>
- </Language_en_US>
- </GameData>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement