Help with LUA GetDiploModifier

Padre19

Warlord
Joined
Oct 4, 2016
Messages
247
Location
Usa
What's wrong here !?


function PadreDiploReligion (iDiploModifier, iFromPlayer, iToPlayer)
local iFromPlayerID = Players[iFromPlayer]
local iToPlayerID = Players[iToPlayer]
local WonderTemplar = GameInfoTypes["BUILDING_KNIGHTS_TEMPLAR"]
local iModifier = 0
if (iDiploModifier == GameInfoTypes.DIPLOMODIFIER_RELIGION) and Game.GetCurrentEra() > GameInfoTypes.ERA_CLASSICAL and (not PadreTechTemplarSec(iFromPlayer)) then
if iToPlayerID:GetMajorityReligion() ~= iFromPlayerID:GetMajorityReligion() then
local FromFolow = iFromPlayerID:GetTotalFaithPerTurn()
local ToFolow = iToPlayerID:GetTotalFaithPerTurn()
if (ToFolow - FromFolow) > 0 then
iModifier = iModifier + (((ToFolow/FromFolow) - 1 )*20)
elseif iToPlayerID:HasWonder(WonderTemplar) then
iModifier = iModifier * 1.25
end
end
end
return iModifier
end

GameEvents.GetDiploModifier.Add(PadreDiploReligion)


function PadreTechTemplarSec(playerID)
local pPlayer = Players[playerID];
local pTeam = Teams[pPlayer:GetTeam()]
local pTechTemplar = GameInfo.Technologies["TECH_GUNPOWDER"].ID
if pTeam:IsHasTech(pTechTemplar)
then
return true
end
return false
end
 
Last edited:
This variant works. Who is interested.


function PadreDiploReligion (iDiploModifier, iFromPlayer, iToPlayer)
local iFromPlayerID = Players[iFromPlayer]
local iToPlayerID = Players[iToPlayer]
local WonderTemplar = GameInfoTypes["BUILDING_KNIGHTS_TEMPLAR"]
local iModifier = 0
if (iDiploModifier == GameInfoTypes.DIPLOMODIFIER_RELIGION) and Game.GetCurrentEra() > GameInfoTypes.ERA_CLASSICAL and (not PadreTechTemplarSec(iFromPlayer)) then
if (iToPlayerID:GetMajorityReligion() ~= iFromPlayerID:GetMajorityReligion()) and (iToPlayerID:GetMajorityReligion() > 0) and (iFromPlayerID:GetMajorityReligion() > 0) then
local FromFolow = Game.GetNumCitiesFollowing(iFromPlayerID:GetMajorityReligion())
local ToFolow = Game.GetNumCitiesFollowing(iToPlayerID:GetMajorityReligion())
if (ToFolow - FromFolow) > 0 then
iModifier = iModifier + ((ToFolow - FromFolow)*1.5)
elseif iToPlayerID:HasWonder(WonderTemplar) or iFromPlayerID:HasWonder(WonderTemplar) then
iModifier = iModifier * 1.25
end
end
end
return iModifier
end

GameEvents.GetDiploModifier.Add(PadreDiploReligion)


function PadreTechTemplarSec(playerID)
local pPlayer = Players[playerID];
local pTeam = Teams[pPlayer:GetTeam()]
local pTechTemplar = GameInfo.Technologies["TECH_GUNPOWDER"].ID
if pTeam:IsHasTech(pTechTemplar)
then
return true
end
return false
end
 
Back
Top Bottom