Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local civilisationID = GameInfoTypes["CIVILIZATION_MC_TUNIS"]
- local iChivalry = GameInfoTypes["TECH_CHIVALRY"]
- local iReligOrders = GameInfoTypes["TECH_JFD_RELIGIOUS_ORDERS"]
- local iX10GoldMod = GameInfoTypes["BUILDING_MC_TUNIS_FUNDOUQ_GOLD"] -- Multiply gold output by 10]
- local iFaithDummy = GameInfoTypes["BUILDING_MC_TUNIS_SUFI_FAITH"] -- Yields faith per trade route
- local iSufiismID = GameInfoTypes["POLICY_MC_TUNIS_SUFI_RIBAT"] -- Dummy policy that does w/e you want with the UTI
- function GetPlayerMajorityReligion(pPlayer) -- Sukri
- local iMajorityReligion = nil
- for row in GameInfo.Religions() do
- local iReligion = row.ID
- if pPlayer:HasReligionInMostCities(iReligion) then
- iMajorityReligion = iReligion
- break
- end
- end
- return iMajorityReligion
- end
- function C15_GetPlayerReligion(pPlayer)
- if HasStateReligion then
- if pPlayer:HasStateReligion() then
- return pPlayer:GetStateReligion()
- end
- end
- if pPlayer:HasCreatedReligion() then
- return pPlayer:GetReligionCreatedByPlayer() -- This will be different with the CP but I cbf to change it to use SaveUtils and stuff bc that's annoying
- else
- return GetPlayerMajorityReligion(pPlayer)
- end
- end
- --[[function C15_GetEmbassies(playerID)
- local pPlayer = Players[playerID]
- if pPlayer:GetCivilizationType() == civilisationID and load(pPlayer, "Decisions_C15_Tunisia_Embassies") == true then
- local iMod = 0
- local iPlayerReligion = C15_GetPlayerReligion(pPlayer)
- for i = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
- if iPlayerReligion < 1 then break end
- local pOtherPlayer = Players[i]
- if (Teams[pPlayer:GetTeam()]:HasEmbassyAtTeam(pOtherPlayer:GetTeam())) then
- local iOtherReligion = C15_GetPlayerReligion(pOtherPlayer)
- if (iOtherReligion > 0) and (iOtherReligion ~= iPlayerReligion) then
- iMod = iMod + 1
- end
- end
- end
- pPlayer:GetCapitalCity():SetNumRealBuilding(iX10GoldMod, iMod)
- end
- end]]
- function C15_GetEmbassies(pPlayer)
- local iMod = 0
- local iPlayerReligion = C15_GetPlayerReligion(pPlayer)
- if (not iPlayerReligion) then return iMod end
- for i = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
- if iPlayerReligion < 1 then break end
- local pOtherPlayer = Players[i]
- if (Teams[pOtherPlayer:GetTeam()]:HasEmbassyAtTeam(pPlayer:GetTeam())) then
- local iOtherReligion = C15_GetPlayerReligion(pOtherPlayer)
- if (iOtherReligion > 0) and (iOtherReligion ~= iPlayerReligion) then
- iMod = iMod + 1
- end
- end
- end
- return iMod
- end
- local Decisions_C15_Tunisia_Embassies = {}
- Decisions_C15_Tunisia_Embassies.Name = "TXT_KEY_DECISIONS_TUNIS_EMBASSIES"
- Decisions_C15_Tunisia_Embassies.Desc = "TXT_KEY_DECISIONS_TUNIS_EMBASSIES_DESC"
- HookDecisionCivilizationIcon(Decisions_C15_Tunisia_Embassies, "CIVILIZATION_MC_TUNIS")
- Decisions_C15_Tunisia_Embassies.CanFunc = (
- function(pPlayer)
- if pPlayer:GetCivilizationType() ~= civilisationID then return false end
- if load(pPlayer, "Decisions_C15_Tunisia_Embassies") == true then
- Decisions_C15_Tunisia_Embassies.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_TUNIS_EMBASSIES_ENACTED_DESC")
- return false, false, true
- end
- local iTech = iChivalry
- local iNum = C15_GetEmbassies(pPlayer) + 1
- local iGold = iNum * 100 * iMod
- if iReligOrders ~= nil then
- Decisions_C15_Tunisia_Embassies.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_TUNIS_EMBASSIES_DESC_RTP", iGold)
- iTech = iReligOrders
- else
- Decisions_C15_Tunisia_Embassies.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_TUNIS_EMBASSIES_DESC", iGold)
- end
- if pPlayer:GetGold() < iGold then return true, false end
- if pPlayer:GetNumResourceAvailable(iMagistrate, false) < 2 then return true, false end
- if (not Teams[pPlayer:GetTeam()]:IsHasTech(iTech)) then return true, false end
- return true, true
- end
- )
- Decisions_C15_Tunisia_Embassies.DoFunc = (
- function(pPlayer)
- --C15_GetEmbassies(pPlayer:GetID())
- local iNum = C15_GetEmbassies(pPlayer) + 1
- pPlayer:ChangeGold(-iNum * 100 * iMod)
- pPlayer:ChangeNumResourceTotal(iMagistrate, -2)
- pPlayer:GetCapitalCity():SetNumRealBuilding(iX10GoldMod, iNum)
- save(pPlayer, "Decisions_C15_Tunisia_Embassies", true)
- end
- )
- Decisions_C15_Tunisia_Embassies.Monitors = {}
- --Decisions_C15_Tunisia_Embassies.Monitors[GameEvents.PlayerDoTurn] = (C15_GetEmbassies)
- Decisions_C15_Tunisia_Embassies.Monitors[GameEvents.PlayerDoTurn] = (
- function(playerID)
- local pPlayer = Players[playerID]
- if pPlayer:IsAlive() and pPlayer:GetCivilizationType() == civilisationID then
- if load(pPlayer, "Decisions_C15_Tunisia_Embassies") == true then
- pPlayer:GetCapitalCity():SetNumRealBuilding(iX10GoldMod, C15_GetEmbassies(pPlayer))
- end
- end
- end
- )
- Decisions_AddCivilisationSpecific(civilisationID, "Decisions_C15_Tunisia_Embassies", Decisions_C15_Tunisia_Embassies)
- local Decisions_C15_Tunisia_Sufiism = {}
- Decisions_C15_Tunisia_Sufiism.Name = "TXT_KEY_DECISIONS_TUNIS_SUFIISM"
- Decisions_C15_Tunisia_Sufiism.Desc = "TXT_KEY_DECISIONS_TUNIS_SUFIISM_DESC"
- HookDecisionCivilizationIcon(Decisions_C15_Tunisia_Sufiism, "CIVILIZATION_MC_TUNIS")
- Decisions_C15_Tunisia_Sufiism.CanFunc = (
- function(pPlayer)
- if pPlayer:GetCivilizationType() ~= civilisationID then return false end
- if pPlayer:HasPolicy(iSufiismID) then
- Decisions_C15_Tunisia_Sufiism.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_TUNIS_SUFIISM_ENACTED_DESC")
- return false, false, true
- end
- local iGold = 200 * iMod
- local iFaith = 100 * iMod
- Decisions_C15_Tunisia_Sufiism.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_TUNIS_SUFIISM_DESC", iGold, iFaith)
- if C15_GetPlayerReligion(pPlayer) and C15_GetPlayerReligion(pPlayer) < 1 then return true, false end
- if pPlayer:GetNumResourceAvailable(iMagistrate, false) < 1 then return true, false end
- return true, true
- end
- )
- Decisions_C15_Tunisia_Sufiism.DoFunc = (
- function(pPlayer)
- pPlayer:ChangeGold(-200 * iMod)
- pPlayer:ChangeFaith(-100 * iMod)
- pPlayer:ChangeNumResourceTotal(iMagistrate, -1)
- if GrantPolicy then
- pPlayer:GrantPolicy(iSufiismID, true)
- else
- pPlayer:SetNumFreePolicies(1)
- pPlayer:SetNumFreePolicies(0)
- pPlayer:SetHasPolicy(iSufiismID, true)
- end
- end
- )
- Decisions_C15_Tunisia_Sufiism.Monitors = {}
- Decisions_C15_Tunisia_Sufiism.Monitors[GameEvents.PlayerDoTurn] = (
- function(playerID)
- local pPlayer = Players[playerID]
- if pPlayer:IsAlive() and pPlayer:HasPolicy(iSufiismID) then
- local tCities = {}
- for k, v in ipairs(pPlayer:GetTradeRoutes()) do
- if v.FromID == playerID then
- if not tCities[v.FromCity] then
- tCities[v.FromCity] = 1
- else
- tCities[v.FromCity] = tCities[v.FromCity] + 1
- end
- end
- end
- for pCity in pPlayer:Cities() do
- if tCities[pCity] then
- pCity:SetNumRealBuilding(iFaithDummy, tCities[pCity])
- else
- pCity:SetNumRealBuilding(iFaithDummy, 0)
- end
- end
- end
- end
- )
- Decisions_AddCivilisationSpecific(civilisationID, "Decisions_C15_Tunisia_Sufiism", Decisions_C15_Tunisia_Sufiism)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement