Advertisement
Guest User

Untitled

a guest
Aug 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.69 KB | None | 0 0
  1. local civilizationID = GameInfoTypes["CIVILIZATION_OCP_CHAGOS"]
  2. local mathCeil = math.ceil
  3. local ChagosDecisionID = GameInfoTypes.BUILDING_OCP_CHAGOS_DECISIONS_1
  4. local ChagosDecision2ID = GameInfoTypes.BUILDING_OCP_CHAGOS_DECISIONS_2
  5. local MoraleID = GameInfoTypes.PROMOTION_MORALE
  6. local KaluID = GameInfoTypes.BUILDING_OCP_KALU_MAKER
  7. local atomicID = GameInfoTypes.ERA_POSTMODERN
  8. local informationID = GameInfoTypes.ERA_FUTURE
  9. -------------------------------------------------------------------------------------------------------------------------
  10. -- Chagos: Promote chagossian cuisine
  11. -------------------------------------------------------------------------------------------------------------------------
  12. local Decisions_OCP_Chagos_Cuisine = {}
  13.     Decisions_OCP_Chagos_Cuisine.Name = "TXT_KEY_DECISIONS_OCP_CHAGOS_CUISINE"
  14.     Decisions_OCP_Chagos_Cuisine.Desc = "TXT_KEY_DECISIONS_OCP_CHAGOS_CUISINE_DESC"
  15.     HookDecisionCivilizationIcon(Decisions_OCP_Chagos_Cuisine, "CIVILIZATION_OCP_CHAGOS")
  16.     Decisions_OCP_Chagos_Cuisine.CanFunc = (
  17.     function(player)
  18.         if player:GetCivilizationType() ~= civilizationID then return false, false end
  19.         if load(player, "Decisions_OCP_Chagos_Cuisine") == true then
  20.             Decisions_OCP_Chagos_Cuisine.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_OCP_CHAGOS_CUISINE_ENACTED_DESC")
  21.             return false, false, true
  22.         end
  23.         local goldCost = mathCeil(500*iMod)
  24.         if player:GetGold() < goldCost then return true, false end
  25.         local capital = player:GetCapitalCity()
  26.         if capital:CountNumWaterPlots() == 0 then return true, false end
  27.         local currentEra = player:GetCurrentEra()
  28.         if currentEra ~= (atomicID or informationID) then return true, false end
  29.         Decisions_OCP_Chagos_Cuisine.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_OCP_CHAGOS_CUISINE_DESC", goldCost)
  30.         return true, true
  31.     end
  32.     )
  33.    
  34.     Decisions_OCP_Chagos_Cuisine.DoFunc = (
  35.     function(player)
  36.         local goldCost = mathCeil(500*iMod)
  37.         player:ChangeGold(-goldCost)
  38.         local plot = Map.GetPlot();
  39.         local ownerID = plot:GetOwner()
  40.         if ownerID > -1 then
  41.            local owner = Players[ownerID]
  42.            if owner:GetCivilizationType() == civilizationID then
  43.               if plot:IsAdjacentToShallowWater() then
  44.                  local unit = Plot:GetUnit()
  45.                        unit:SetHasPromotion(MoraleID, true)
  46.               else
  47.                        unit:SetHasPromotion(MoraleID, false)
  48.               end
  49.           end
  50.         end
  51.         for city in player:Cities() do
  52.             if city:IsHasBuilding(KaluID, true) then
  53.                city:SetNumRealBuilding(ChagosDecisionID, true)
  54.                local waterplots = city:CountNumWaterPlots()
  55.                city:ChangeFood(waterplots)
  56.             end
  57.         end        
  58.         save(player, "Decisions_OCP_Chagos_Cuisine", true)
  59.     end
  60.     )
  61.    
  62. Decisions_AddCivilisationSpecific(civilizationID, "Decisions_OCP_Chagos_Cuisine", Decisions_OCP_Chagos_Cuisine)
  63. -------------------------------------------------------------------------------------------------------------------------
  64. -- Chagos: Pursue for international recognition
  65. -------------------------------------------------------------------------------------------------------------------------
  66. local Decisions_OCP_Chagos_Recognition = {}
  67.       Decisions_OCP_Chagos_Recognition.Name = "TXT_KEY_DECISIONS_OCP_CHAGOS_RECOGNITION"
  68.       Decisions_OCP_Chagos_Recognition.Desc = "TXT_KEY_DECISIONS_OCP_CHAGOS_RECOGNITION_DESC"
  69.       HookDecisionCivilizationIcon(Decisions_OCP_Chagos_Recognition, "CIVILIZATION_OCP_CHAGOS")
  70.       Decisions_OCP_Chagos_Recognition.CanFunc = (
  71.       function(player)
  72.       if player:GetCivilizationType() ~= civilizationID then return false, false end
  73.         if load(player, "Decisions_OCP_Chagos_Recognition") == true then
  74.             Decisions_OCP_Chagos_Recognition.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_OCP_CHAGOS_RECOGNITION_ENACTED_DESC")
  75.             return false, false, true
  76.         end
  77.         local goldCost = mathCeil(400*iMod)
  78.         if player:GetGold() < goldCost then return true, false end
  79.         local league = Game.GetActiveLeague()
  80.         if league:IsUnitedNations() then return true, false end
  81.         local era = player:GetCurrentEra()
  82.         if era ~= informationID then return true, false end
  83.         return true, true
  84.     end
  85.     )
  86.    
  87.     Decisions_OCP_Chagos_Recognition.DoFunc = (
  88.     function(player)
  89.     local goldCost = mathCeil(400*iMod)
  90.     player:ChangeGold(-goldCost)
  91.     player:ChangeJONSCulturePerTurnFromMinorCivs(capital:GetNumGreatPeople())
  92.     local capital = player:GetCapitalCity()
  93.     local league = Game.GetActiveLeague()
  94.     if league:IsInSession() then
  95.           capital:SetNumRealBuilding(ChagosDecision2ID, 1)
  96.     else
  97.           capital:SetNumRealBuilding(ChagosDecision2ID, 0)
  98.     end
  99.     save(player, "Decisions_OCP_Chagos_Recognition", true)
  100.     end
  101.     )
  102.  
  103. Decisions_AddCivilisationSpecific(civilizationID, "Decisions_OCP_Chagos_Recognition", Decisions_OCP_Chagos_Recognition)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement