--------------------------------------------------------------
-- Variables
--------------------------------------------------------------
local promotionSogaImtiID = GameInfoTypes["PROMOTION_SENSHI_SOGA_IMTI"]
local promotionSogaImtiStrengthID = GameInfoTypes["PROMOTION_SENSHI_SOGA_IMTI_STRENGTH"]
local buildingFalaTeleID = GameInfoTypes["BUILDING_SENSHI_FALA_TELE"]
local buildingFalaTeleWaterConnectionID = GameInfoTypes["BUILDING_SENSHI_FALA_TELE_WATER_CONNECTION"]
local buildingFalaTeleFoodID = GameInfoTypes["BUILDING_SENSHI_FALA_TELE_FOOD"]
--------------------------------------------------------------
-- GPuz_Samoa_Saga_imti
--------------------------------------------------------------
function GPuz_Samoa_Saga_imti(playerID, unitID)
local player = Players[playerID]
if player:IsAlive() then
if unit:IsHasPromotion(promotionSogaImtiID) then
local plot = unit:GetPlot()
if plot:IsFreshWater() then
unit:SetHasPromotion(promotionSogaImtiStrengthID, true)
elseif unit:IsHasPromotion(promotionSogaImtiStrengthID) then
unit:SetHasPromotion(promotionSogaImtiStrengthID, false)
end
end
end
end
GameEvents.UnitSetXY.Add(GPuz_Samoa_Saga_imti)
--------------------------------------------------------------
-- GPuz_Samoa_Fala_Tele
--------------------------------------------------------------
function GPuz_Samoa_Fala_Tele(playerID)
local player = Players[playerID]
for city in player:Cities() do
if city:IsHasBuilding() then
if not player:IsCapitalConnectedToCity(city) then
if city:IsHasBuilding(buildingFalaTeleWaterConnectionID) then
city:SetNumRealBuilding(buildingFalaTeleFoodID, 0)
else
city:SetNumRealBuilding(buildingFalaTeleWaterConnectionID, 1)
city:SetNumRealBuilding(buildingFalaTeleFoodID, 0)
end
elseif not player:IsHasBuilding(buildingFalaTeleWaterConnectionID) then
city:SetNumRealBuilding(buildingFalaTeleFoodID, 1)
elseif city:IsHasBuilding(buildingFalaTeleFoodID) then
city:SetNumRealBuilding(buildingFalaTeleFoodID, 0)
end
end
end
end
GameEvents.PlayerDoTurn.Add(GPuz_Samoa_Fala_Tele)