LUA Help with Uniques

Joined
Feb 24, 2012
Messages
661
Location
Kentucky
I've "borrowed" bits of Lua from several sources to build a Mixtec Civ. But I keep getting this error

Code:
[51851.750] Syntax Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua:253: 'end' expected (to close 'function' at line 211) near '<eof>'
[51851.750] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua.

Here is the Code

Code:
--------------------------------------------------------------
--Culture Equals Bombard
--------------------------------------------------------------
local bMCITY1 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_1
local bMCITY2 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_2
local bMCITY3 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_3
local bMCITY4 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_4
local bMCITY5 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_5
local bMCITY6 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_6
local bMCITY7 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_7
local bMCITY8 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_8
local bMCITY9 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_9
local bMCITY10 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_10

GameEvents.PlayerDoTurn.Add(
function(iPlayer)
	local pPlayer = Players[iPlayer];
	if (pPlayer:IsAlive()) then
		if (pPlayer:GetCivilizationType() == GameInfoTypes.CIVILIZATION_ALGERIA) then
			for pCity in pPlayer:Cities() do
				if (pCity:GetNumBuilding(bMCITY1) > 0) then
					pCity:SetNumRealBuilding(bMCITY1, 0);
				end
				if (pCity:GetNumBuilding(bMCITY2) > 0) then
					pCity:SetNumRealBuilding(bMCITY2, 0);
				end
				if (pCity:GetNumBuilding(bMCITY3) > 0) then
					pCity:SetNumRealBuilding(bMCITY3, 0);
				end
				if (pCity:GetNumBuilding(bMCITY4) > 0) then
					pCity:SetNumRealBuilding(bMCITY4, 0);
				end
				if (pCity:GetNumBuilding(bMCITY5) > 0) then
					pCity:SetNumRealBuilding(bMCITY5, 0);
				end
				if (pCity:GetNumBuilding(bMCITY6) > 0) then
					pCity:SetNumRealBuilding(bMCITY6, 0);
				end
				if (pCity:GetNumBuilding(bMCITY7) > 0) then
					pCity:SetNumRealBuilding(bMCITY7, 0);
				end
				if (pCity:GetNumBuilding(bMCITY8) > 0) then
					pCity:SetNumRealBuilding(bMCITY8, 0);
				end
				if (pCity:GetNumBuilding(bMCITY9) > 0) then
					pCity:SetNumRealBuilding(bMCITY9, 0);
				end
				if (pCity:GetNumBuilding(bMCITY10) > 0) then
					pCity:SetNumRealBuilding(bMCITY10, 0);
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 50) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 100) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 150) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 200) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 250) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 300) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 350) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 400) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 450) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 500) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 10)
				end
			end
		end
	end
end)
---------------------------------
-- Artistic Swords
---------------------------------
local pHappinessPromo = GameInfoTypes.PROMOTION_ROC_MAQUAHUITL;
local DummyBuild = "BUILDING_ROC_MAQUAHUITL"

print ("This is the Rurales Happiness Script");


function GarrisonedArt (iPlayer)
	local pPlayer = Players[iPlayer];
	if (pPlayer:IsAlive()) then
		for pCity in pPlayer:Cities() do
			pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 0)
			local garrisonedUnit = pCity:GetGarrisonedUnit();
			if garrisonedUnit ~= nil then
			if (garrisonedUnit:IsHasPromotion(pHappinessPromo)) then
				pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 1)
			else
				pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 0)
			end
			end
		end
	end
end


GameEvents.PlayerDoTurn.Add(GarrisonedArt);
GameEvents.PlayerCityFounded.Add(GarrisonedArt);
--------------------------------------------------------------------------------------------------------------------------
-- Codex Culture
--------------------------------------------------------------------------------------------------------------------------
local buildingClassCodexID = GameInfoTypes["BUILDINGCLASS_LIBRARY"]
local civilisationID = GameInfoTypes["CIVILIZATION_ROC_MIXTEC"]
local isMixtecCivActive = JFD_IsCivilisationActive(civilisationID)

function JFD_GetNumCodexGreatWorksFilled(playerID)
	local player = Players[playerID]
	local numCodexGreatWorksFilled = 0
	for city in player:Cities() do
		if city:GetNumGreatWorksInBuilding(buildingClassCodexID) > 0 then
			numCodexGreatWorksFilled = numCodexGreatWorksFilled + 1
		end

	return numCodexGreatWorksFilled
end

local buildingCodexFaithID = GameInfoTypes["BUILDING_CODEX_CULTURE"]

function JFD_CodexFaith(playerID)
	 local player = Players[playerID]
	 if (player:IsAlive() and player:GetCivilizationType() == civilisationID) then 
		 local capital = player:GetCapitalCity()
		 if capital then
			local numFaith = JFD_GetNumCodexGreatWorksFilled(playerID)
			capital:SetNumRealBuilding(buildingCodexFaithID, numFaith)
		end
	end
end

if isMixtecCivActive then
	GameEvents.PlayerDoTurn.Add(JFD_CodexFaith)
end
------------------------------------------------------------------------------------------------------------------------
-- JFD_IsCivilisationActive
------------------------------------------------------------------------------------------------------------------------
function JFD_IsCivilisationActive(civilisationID)
	for iSlot = 0, GameDefines.MAX_MAJOR_CIVS-1, 1 do
		local slotStatus = PreGame.GetSlotStatus(iSlot)
		if (slotStatus == SlotStatus["SS_TAKEN"] or slotStatus == SlotStatus["SS_COMPUTER"]) then
			if PreGame.GetCivilization(iSlot) == civilisationID then
				return true
			end
		end
	end

	return false
end

Culture equals Bombard is supposed to spawn buildings in all cities based on Culture rate

Artistic Swords is meant to spawn a building when units with a certain promotion is garrisoned

Codex Culture is supposed to spawn a building when a certain buildings great work slot is filled.

Also, I know nothing about Lua code so I apologize if the answer is simple. Thanks in advance!
 
You don't have enough ends at the function JFD_GetNumCodexGreatWorksFilled
You probably want something like this.

Code:
function JFD_GetNumCodexGreatWorksFilled(playerID)
	local player = Players[playerID]
	local numCodexGreatWorksFilled = 0
	for city in player:Cities() do
		if city:GetNumGreatWorksInBuilding(buildingClassCodexID) > 0 then
			numCodexGreatWorksFilled = numCodexGreatWorksFilled + 1
		end
  end
	return numCodexGreatWorksFilled
end
 
  1. Open the file in ModBuddy and scroll down to line 211. You can also open the file in Notepad++ and I think it gives you a line count as well.
  2. You will find this:
    Code:
    function JFD_GetNumCodexGreatWorksFilled(playerID)
    	local player = Players[playerID]
    	local numCodexGreatWorksFilled = 0
    	for city in player:Cities() do
    		if city:GetNumGreatWorksInBuilding(buildingClassCodexID) > 0 then
    			numCodexGreatWorksFilled = numCodexGreatWorksFilled + 1
    		end
    	[color="red"]end[/color]
    	return numCodexGreatWorksFilled
    [color="green"]end[/color]
    • You are missing a required 'end' (shown in red)
    • This makes the lua-parser interpret the 'end' shown in green as being the one where the 'red' end ought to be, which leads to
    • The lua-parser sees no termination 'end' for the function called JFD_GetNumCodexGreatWorksFilled, and so you get the error you are having.

----------------------------------------------------------------------------------------

I seriously need to read the whole thread, I guess. Already ninja'd.
 
Okay that fixed that. But the abilities still won't fire.

Now I get this.

Code:
[125892.546] Runtime Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua:209: attempt to call global 'JFD_IsCivilisationActive' (a nil value)
[125892.546] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua
.

Updated Code

Code:
--------------------------------------------------------------
--Culture Equals Bombard
--------------------------------------------------------------
local bMCITY1 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_1
local bMCITY2 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_2
local bMCITY3 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_3
local bMCITY4 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_4
local bMCITY5 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_5
local bMCITY6 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_6
local bMCITY7 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_7
local bMCITY8 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_8
local bMCITY9 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_9
local bMCITY10 = GameInfoTypes.BUILDING_MIXTEC_SIEGE_10

GameEvents.PlayerDoTurn.Add(
function(iPlayer)
	local pPlayer = Players[iPlayer];
	if (pPlayer:IsAlive()) then
		if (pPlayer:GetCivilizationType() == GameInfoTypes.CIVILIZATION_ALGERIA) then
			for pCity in pPlayer:Cities() do
				if (pCity:GetNumBuilding(bMCITY1) > 0) then
					pCity:SetNumRealBuilding(bMCITY1, 0);
				end
				if (pCity:GetNumBuilding(bMCITY2) > 0) then
					pCity:SetNumRealBuilding(bMCITY2, 0);
				end
				if (pCity:GetNumBuilding(bMCITY3) > 0) then
					pCity:SetNumRealBuilding(bMCITY3, 0);
				end
				if (pCity:GetNumBuilding(bMCITY4) > 0) then
					pCity:SetNumRealBuilding(bMCITY4, 0);
				end
				if (pCity:GetNumBuilding(bMCITY5) > 0) then
					pCity:SetNumRealBuilding(bMCITY5, 0);
				end
				if (pCity:GetNumBuilding(bMCITY6) > 0) then
					pCity:SetNumRealBuilding(bMCITY6, 0);
				end
				if (pCity:GetNumBuilding(bMCITY7) > 0) then
					pCity:SetNumRealBuilding(bMCITY7, 0);
				end
				if (pCity:GetNumBuilding(bMCITY8) > 0) then
					pCity:SetNumRealBuilding(bMCITY8, 0);
				end
				if (pCity:GetNumBuilding(bMCITY9) > 0) then
					pCity:SetNumRealBuilding(bMCITY9, 0);
				end
				if (pCity:GetNumBuilding(bMCITY10) > 0) then
					pCity:SetNumRealBuilding(bMCITY10, 0);
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 50) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 100) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 150) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 200) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 250) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 300) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 350) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 400) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 450) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 1)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 0)
				end
				if (pPlayer:GetTotalCulturePerTurn() >= 500) then
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_1"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_2"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_3"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_4"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_5"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_6"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_7"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_8"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_9"], 0)
				pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_MIXTEC_SIEGE_10"], 10)
				end
			end
		end
	end
end)
---------------------------------
-- Artistic Swords
---------------------------------
local pHappinessPromo = GameInfoTypes.PROMOTION_ROC_MAQUAHUITL;
local DummyBuild = "BUILDING_ROC_MAQUAHUITL"

print ("This is the Rurales Happiness Script");


function GarrisonedArt (iPlayer)
	local pPlayer = Players[iPlayer];
	if (pPlayer:IsAlive()) then
		for pCity in pPlayer:Cities() do
			pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 0)
			local garrisonedUnit = pCity:GetGarrisonedUnit();
			if garrisonedUnit ~= nil then
			if (garrisonedUnit:IsHasPromotion(pHappinessPromo)) then
				pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 1)
			else
				pCity:SetNumRealBuilding(GameInfoTypes["" .. DummyBuild .. ""], 0)
			end
			end
		end
	end
end


GameEvents.PlayerDoTurn.Add(GarrisonedArt);
GameEvents.PlayerCityFounded.Add(GarrisonedArt);
--------------------------------------------------------------------------------------------------------------------------
-- Codex Culture
--------------------------------------------------------------------------------------------------------------------------
local buildingClassCodexID = GameInfoTypes["BUILDINGCLASS_LIBRARY"]
local civilisationID = GameInfoTypes["CIVILIZATION_ROC_MIXTEC"]
local isMixtecCivActive = JFD_IsCivilisationActive(civilisationID)

function JFD_GetNumCodexGreatWorksFilled(playerID)
	local player = Players[playerID]
	local numCodexGreatWorksFilled = 0
	for city in player:Cities() do
		if city:GetNumGreatWorksInBuilding(buildingClassCodexID) > 0 then
			numCodexGreatWorksFilled = numCodexGreatWorksFilled + 1
		end
  end
	return numCodexGreatWorksFilled
end

local buildingCodexFaithID = GameInfoTypes["BUILDING_CODEX_CULTURE"]

function JFD_CodexFaith(playerID)
	 local player = Players[playerID]
	 if (player:IsAlive() and player:GetCivilizationType() == civilisationID) then 
		 local capital = player:GetCapitalCity()
		 if capital then
			local numFaith = JFD_GetNumCodexGreatWorksFilled(playerID)
			capital:SetNumRealBuilding(buildingCodexFaithID, numFaith)
		end
	end
end

if isMixtecCivActive then
	GameEvents.PlayerDoTurn.Add(JFD_CodexFaith)
end
------------------------------------------------------------------------------------------------------------------------
-- JFD_IsCivilisationActive
------------------------------------------------------------------------------------------------------------------------
function JFD_IsCivilisationActive(civilisationID)
	for iSlot = 0, GameDefines.MAX_MAJOR_CIVS-1, 1 do
		local slotStatus = PreGame.GetSlotStatus(iSlot)
		if (slotStatus == SlotStatus["SS_TAKEN"] or slotStatus == SlotStatus["SS_COMPUTER"]) then
			if PreGame.GetCivilization(iSlot) == civilisationID then
				return true
			end
		end
	end

	return false
end
 
I'm on my phone, so I can't look at the code very well, but i believe you use the variable JFD_IsCivilisationActive before it is assigned. I don't use lua much, but I think that is what you get when you do something to an unassigned variable. You'll notice that on the first line, right after the file name, is a page number. It isn't always indicative of the actual problem, but it is generally useful.
 
....You'll notice that on the first line, right after the file name, is a page number.
It's actually a line number in the specified file where the error is coming from.
Okay that fixed that. But the abilities still won't fire.

Now I get this.

Code:
[125892.546] Runtime Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua:209: attempt to call global 'JFD_IsCivilisationActive' (a nil value)
[125892.546] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\MixtecFunctions.lua
.
This is because this bit:
Code:
------------------------------------------------------------------------------------------------------------------------
-- JFD_IsCivilisationActive
------------------------------------------------------------------------------------------------------------------------
function JFD_IsCivilisationActive(civilisationID)
	for iSlot = 0, GameDefines.MAX_MAJOR_CIVS-1, 1 do
		local slotStatus = PreGame.GetSlotStatus(iSlot)
		if (slotStatus == SlotStatus["SS_TAKEN"] or slotStatus == SlotStatus["SS_COMPUTER"]) then
			if PreGame.GetCivilization(iSlot) == civilisationID then
				return true
			end
		end
	end

	return false
end
is in the lua-file lower down than the line that refers to it:
Code:
local isMixtecCivActive = JFD_IsCivilisationActive(civilisationID)
Which depending on the exact structure of your lua-code and how things are used within the code can cause problems. As habit, always place the definition of a function higher up in your code than the first place where you reference to it.

------------------------------------------------------------------------------------

This is the definition of a function called "LeesHamburgers"
Code:
function LeesHamburgers(iPlayer)
	print("I will gladly repay you tomorrow for a Cheeseburger today: " .. Players[iPlayer]:GetName())
end
This is a reference to the function(or call for the function to run, depending how you 'grew up' thinking of such things):
Code:
LeesHamburgers(0)
In order for everything to work correctly, I need to structure as this:
Code:
function LeesHamburgers(iPlayer)
	print("I will gladly repay you tomorrow for a Cheeseburger today: " .. Players[iPlayer]:GetName())
end
LeesHamburgers(0)
I do not want to structure as this:
Code:
LeesHamburgers(0)
function LeesHamburgers(iPlayer)
	print("I will gladly repay you tomorrow for a Cheeseburger today: " .. Players[iPlayer]:GetName())
end
 
Thanks for that. That stopped those errors. One last question regarding decisions. I can't get them to show up.

The logs say this

Code:
[164930.328] Runtime Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\Decisions.lua:8: attempt to call global 'HookDecisionCivilizationIcon' (a nil value)
[164930.328] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\Decisions.lua.
[164930.343] Runtime Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\Decisions.lua:8: attempt to call global 'HookDecisionCivilizationIcon' (a nil value)
[164930.343] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua\Decisions.lua.
[164930.500] File Error: C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua/MixtecDecisions.lua
[164930.500] Runtime Error: Error loading C:\Users\Alex\Documents\My Games\Sid Meier's Civilization 5\MODS\Rise of Civilization's Mixtec Civilization (v 1)\Lua/MixtecDecisions.lua.

And the Code

Code:
-- Mixtec Decisions
-------------------------------------------------------------------------------------------------------------------------
-- Mixtec: Advocate torc-wearing
-------------------------------------------------------------------------------------------------------------------------
local Decision_MixtecTemple = {}
    Decision_MixtecTemple.Name = "TXT_KEY_DECISION_ROC_MIXTEC_TEMPLE"
	Decision_MixtecTemple.Desc = "TXT_KEY_DECISION_ROC_MIXTEC_TEMPLE_DESC"
	HookDecisionCivilizationIcon(Decision_MixtecTemple, "CIVILIZATION_ROC_MIXTEC")
	Decision_MixtecTemple.CanFunc = (
	function(pPlayer)
		if pPlayer:GetCivilizationType() ~= GameInfoTypes.CIVILIZATION_ROC_MIXTEC then return false, false end
		if load(pPlayer, "Decision_MixtecTemple") == true then
			Decision_MixtecTemple.Desc = Locale.ConvertTextKey("TXT_KEY_DECISION_ROC_MIXTEC_TEMPLE_ENACTED_DESC")
			return false, false, true
		end
		Decision_MixtecTemple.Desc = Locale.ConvertTextKey("TXT_KEY_DECISION_ROC_MIXTEC_TEMPLE_DESC")

		if (pPlayer:GetNumResourceAvailable(iMagistrate, false) < 2) then return true, false end
		if (pPlayer:GetNumCities() > pPlayer:CountNumBuildings(GameInfoTypes.BUILDING_MARKET)) then return true, false end
		
		return true, true
	end
	)
	
	Decision_MixtecTemple.DoFunc = (
	function(pPlayer)
		pPlayer:ChangeNumResourceTotal(iMagistrate, -2)
		
		pPlayer:SetNumFreePolicies(1)
		pPlayer:SetNumFreePolicies(0)
		pPlayer:SetHasPolicy(GameInfoTypes.POLICY_DECISION_ROC_MIXTEC_TEMPLE, true)		
		
		LuaEvents.MC_Gaul_Decision_MixtecTemple()
		save(pPlayer, "Decision_MixtecTemple", true)
	end
	)
	
Decisions_AddCivilisationSpecific(GameInfoTypes.CIVILIZATION_ROC_MIXTEC, "Decision_MixtecTemple", Decision_MixtecTemple)
--------------------------------------------------------------------------------------------------------------------------
-- Mixtec: Install the tribal king
--------------------------------------------------------------------------------------------------------------------------
local Decisions_MixtecLeader = {}
    Decisions_MixtecLeader.Name = "TXT_KEY_DECISIONS_ROC_MIXTEC_LEADER"
	Decisions_MixtecLeader.Desc = "TXT_KEY_DECISIONS_ROC_MIXTEC_LEADER_DESC"
	HookDecisionCivilizationIcon(Decisions_MixtecLeader, "CIVILIZATION_ROC_MIXTEC")
	Decisions_MixtecLeader.CanFunc = (
	function(pPlayer)
		if pPlayer:GetCivilizationType() ~= GameInfoTypes.CIVILIZATION_ROC_MIXTEC then return false, false end
		if load(pPlayer, "Decisions_MixtecLeader") == true then
			Decisions_MixtecLeader.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_ROC_MIXTEC_LEADER_ENACTED_DESC")
			return false, false, true
		end
		
		local iCost = math.ceil(100 * iMod)
		Decisions_MixtecLeader.Desc = Locale.ConvertTextKey("TXT_KEY_DECISIONS_ROC_MIXTEC_LEADER_DESC", iCost)

		if (pPlayer:GetGold() < iCost) then	return true, false end
		if (pPlayer:GetNumResourceAvailable(iMagistrate, false) < 1) then return true, false end
		if not(Teams[pPlayer:GetTeam()]:IsHasTech(GameInfoTypes.TECH_WRITING)) then return true, false end

		local pPlayerID = pPlayer:GetID()
		local iNumWarsFought = 0
		for iOtherPlayer, pOtherPlayer in pairs(Players) do
			if pPlayerID ~= iOtherPlayer and iOtherPlayer ~= 63 then
				iNumWarsFought = iNumWarsFought + pPlayer:GetNumWarsFought(iOtherPlayer) + pOtherPlayer:GetNumWarsFought(pPlayerID)
			end
		end
		if iNumWarsFought < 1 then return true, false end
		
		return true, true
	end
	)
	
	Decisions_MixtecLeader.DoFunc = (
	function(pPlayer)
	
		local iCost = math.ceil(100 * iMod)
		pPlayer:ChangeGold(-iCost)		
		pPlayer:ChangeNumResourceTotal(iMagistrate, -1)
		pPlayer:SetNumFreePolicies(1)
		pPlayer:SetNumFreePolicies(0)
		pPlayer:SetHasPolicy(GameInfoTypes.POLICY_DECISIONS_ROC_MIXTEC_LEADER, true)
		
		save(pPlayer, "Decisions_MixtecLeader", true)
	end
	)
	
Decisions_AddCivilisationSpecific(GameInfoTypes.CIVILIZATION_ROC_MIXTEC, "Decisions_MixtecLeader", Decisions_MixtecLeader)
 
Oops, I totally meant to say line numbers and not page numbers. You have the same problem as before basically. HookDecisionCivilizationIcon doesn't exist. Are you loading the LUA file which registers it before this one?
 
Top Bottom