1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

UnOfficial Expansion: Rise and Fall of Empires, Alpha Release Soon

Discussion in 'Civ5 - Creation & Customization' started by Genghis.Khan, Nov 26, 2012.

  1. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    I would actually like to add some more: Mughals, Khazars, Nubia, Mali, Kilwa, Sparta, Toscany, Hittites and Sioux could be another nine civilizations. But the main problem is Art: for the current nine civilizations, using adapted Art, the following is still missing:

    Armenia: Unit Icon, Building Icon, Unit Flag, Unit Models
    Israel: Building Icon
    Khmer: Leaderhead, Leader Icon, Building Icon, Unit Icon, Unit Flag, Unit Models, DOM
    Phoenica: Leader Icon, DOM, Map
    Pueblo: Leaderhead, Leader Icon, Building Icon, Unit Icon, Unit Flag, Unit Models, DOM

    ... etc

    Each civilization requires huge amounts of art, and it sometimes does not exist... Btw, Sumer is going to require WOTAW, an alternative download will be posted including Toscany instead of Sumer.

    I am sorry but I don't think I can mantain and create two distinct versions. Maybe in later stages of the Mod it would be possible, but not for the first releases

    wrong thread? cool idea aniway :)
     
  2. mrc2022

    mrc2022 Capitão Rolinho

    Joined:
    Sep 2, 2012
    Messages:
    346
    Gender:
    Male
    Location:
    Portugal
    Wrong thread? I hope not :)
    Thanks, this could be a solo mod but looking at the project it might fit
     
  3. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    does not seem impossible... You can upgrade improvements... with lua into cities, maybe... and the Barbarian civ is coded not to build any buildings... not sure about the technology part, but...

    Anyway, another option is to also use upgrading improvements and make it spawn specific units (based on era) in x turns (based on Game Speed, Difficulty Level, raging barbarians on/off)
     
  4. grinninggamer

    grinninggamer Chieftain

    Joined:
    Jun 1, 2013
    Messages:
    7
    Is the alpha release coming soon or has the September 10th date been pushed back further than a week?
     
  5. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    I am great at failing to keep release date promises. School has started now, and my time for modding has decreased by about 90%. However, I would say 90% of the work is already done. I am not going to release it this weekend, but if the Colony System works well, then in 2-3 weeks it will be out with art (even in not HQ)
     
  6. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
  7. grinninggamer

    grinninggamer Chieftain

    Joined:
    Jun 1, 2013
    Messages:
    7
    Im still here :D
     
  8. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
  9. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    just to make sure I don't lose this file again

    Spoiler :
    Code:
    -- Colonies.lua
    -- Author: Genghis.Khan
    -- Special Thanks: FramedArchitecture, whoward69, Hambil, Irkalla, Gedemon, Putmalk, Machiavelli, LastSword
    -- Version: 3.0
    ------------------------------------------------------------------------------------------------------------
    
    ---------------------------------------------- Global Variables --------------------------------------------
    
    g_RevoltedColonies = {}
    g_ColoniesRevolted1 = {}
    g_ColoniesRevolted2 = {}
    g_ColoniesRevolted3 = {}
    g_ColoniesRevolted4 = {}
    g_ColoniesRevolted5 = {}
    g_Colonies = {}
    g_BarbarianID = 63
    
    ---------------------------------------------- End Global Variables ----------------------------------------
    
    
    function FoundColony()
    	for plotLoop = 0, Map.GetNumPlots() - 1, 1 do
    		local improvementType = plot:GetImprovementType()
    		if ( improvementType == GameInfoTypes["IMPROVEMENT_COLONY"] ) then
    			local iColonyPlotX = pPlot:GetX()
    			local iColonyPlotY = pPlot:GetY()
    			local pColonyPlot = Plot:At(iColonyPlotX, iColonyPlotY)
    			local pColonyOwner = pColonyPlot:GetOwner()
    			if not g_Colonies[pColonyPlot] then
    				table.insert(pColonyPlot, g_Colonies)
    				pColonyOwner:InitCity(iColonyPlotX, iColonyPlotY);
    				local pCity = City.At(iColonyPlotX, iColonyPlotY)
    				pCity:SetPuppet()
    				pCity:SetNumRealBuilding(GameInfoType["BUILDING_COLONY"], 1)
    			end
    		end
    	end
    end
    GameEvents.PlayerDoTurn.Add( FoundColony )
    
    function GetEraModifiersForRevolt(iPlayer)
    	local pPlayerTeam = iPlayer:GetTeam()
    	local pTeamTechs = pPlayerTeam:GetTeamTechs()
    	if ( pPlayerTeam:GetCurrentEra() == GameInfoTypes["ERA_COLONIAL"] ) then
    		local iEraHappinessModifier = 0
    		return iEraHappinessModifier
    	elseif ( pPlayerTeam:GetCurrentEra() == GameInfoTypes["ERA_INDUSTRIAL"] ) then
    		local iEraHappinessModifier = 5
    		return iEraHappinessModifier
    	elseif ( pPlayerTeam:GetCurrentEra() == GameInfoTypes["ERA_MODERN"] ) then
    		local iEraHappinessModifier = 10
    		return iEraHappinessModifier
    	elseif ( pPlayerTeam:GetCurrentEra() == GameInfoTypes["ERA_POSTMODERN"] ) then
    		local iEraHappinessModifier = 15
    		return iEraHappinessModifier
    	elseif ( pPlayerTeam:GetCurrentEra() == GameInfoTypes["ERA_FUTURE"] ) then
    		local iEraHappinessModifier = 20
    		return iEraHappinessModifier
    	end
    end
    	
    function PlayerGetNumColonies(iPlayer)
    	local pPlayer = iPlayer
    	local buildingID = GameInfoTypes["BUILDING_COLONY"]
    	local iNumColonies = 0
    	for pCity in pPlayer:Cities() do
    		if pCity:IsHasBuilding(buildingID) then
    			iNumColonies = iNumColonies + 1
    		end
    	end
    end
    
    function GetOwnerLocalUnitsPower(city)
    	for i = 0, city:GetNumCityPlots() -1 do
    		if city:GetCityIndexPlot(i) ~= nil then
    			local iPlot = city:GetCityIndexPlot(i);
    			local iCityOwner = city:GetOwner()
    			if Map.PlotDistance(iPlot:GetX(), iPlot:GetY(), city:GetX(), city:GetY()) < 3 then
    				local iUnitPower = iPlot:GetUnitPower(iCityOwner)
    				return iUnitPower
    			end
    		end
    	end
    end
    
    function CalculatePublicOrderForRevolt(city) 
    	local pOnwer = city:GetOwner()
    	local pTeam = pOwner:GetTeam()
    	local pTeamTechs = pTeam:GetTeamTechs()
    	local iOwnerLocalPower = GetOwnerLocalUnitsPower(city)
    	if pTeamTechs:HasTech(GameInfoTypes["TECH_MOBILE_TACTICS"] then
    		return iOwnerLocalUnitsPower / 90
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_PLASTICS"] then
    		return iOwnerLocalUnitsPower / 70
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_REPLACEABLE_PARTS"] then
    		return iOwnerLocalUnitsPower / 50
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_RIFLING"] then
    		return iOwnerLocalUnitsPower / 34
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_FLINTLOCK"] then
    		return iOwnerLocalUnitsPower / 30
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_CHEMISTRY"] then
    		return iOwnerLocalUnitsPower / 27
    	end
    	elseif pTeamTechs:HasTech(GameInfoTypes["TECH_GUNPOWDER"] then
    		return iOwnerLocalUnitsPower / 24
    	end
    	end
    end
    
    function GetRevoltedUnitsPower(iPlayer) 
    local pTeam = iPlayer:GetTeam()
    local teamTechs = pTeam:GetTeamTechs()
    	if Game.GetHandicapType() == 0 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 50	
    		 end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 34	
    		 end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 24	
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 16
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 11
    		 
    	elseif Game.GetHandicapType() == 1 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 70	
    		 end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 50
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 34	 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 24
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 16
    	elseif Game.GetHandicapType() == 2 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 100
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 68
    		
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 48
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 32
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 22
    		 end	
    	elseif Game.GetHandicapType() == 3 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 140
    		 end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 100
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 68
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 48
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 32
    		 
    	elseif Game.GetHandicapType() == 4 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 190
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 134
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 92
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 62
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 43
    		 
    		end
    	elseif Game.GetHandicapType() == 5 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 250
    		 end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 170
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 118
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 92
    		 
    		elseif  teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 64
    		 
    	elseif Game.GetHandicapType() == 6 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 340
    		 
    		end
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 240
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 168
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 116
    		 	
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 88
    		 
    	elseif Game.GetHandicapType() == 7 then
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    			return 430
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    			return 330
    		
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID )
    			return 234	
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    			return 150
    		 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    			return 106
    		 end
    end
    
    function Shuffle(t) -- by Gedemon
      local n = #t
     
      while n >= 2 do
        -- n is now the last pertinent index
        local k = math.random(n) -- 1 <= k <= n
        -- Quick swap
        t[n], t[k] = t[k], t[n]
        n = n - 1
      end
     
      return t
    end
    
    function RebelUnitsToSpawnSettler(iPlayer)
    	local pTeam = iPlayer:GetTeam()
    	local teamTechs = pTeam:GetTeamTechs()
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    				return GameInfo.Units.UNIT_GREAT_WAR_INFANTRY.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    				return GameInfo.Units.UNIT_RIFLEMAN.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID ) then
    				return GameInfo.Units.UNIT_MUSKETMAN.ID 
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    				return GameInfo.Units.UNIT_PIKEMAN.ID
    		elseif    teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    				return GameInfo.Units.UNIT_SPEARMEN.ID
    		else    
    				return GameInfo.Units.UNIT_WARRIOR.ID
    		end
    end
    
    function RebelUnitsToSpawnPrince(iPlayer)
    	local pTeam = iPlayer:GetTeam()
    	local teamTechs = pTeam:GetTeamTechs()
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    				return GameInfo.Units.UNIT_INFANTRY.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    				return GameInfo.Units.UNIT_GREAT_WAR_INFANTRY.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID ) then
    				return GameInfo.Units.UNIT_RIFLEMAN.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    				return GameInfo.Units.UNIT_MUSKETMAN.ID 
    		elseif    teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    				return GameInfo.Units.UNIT_PIKEMAN.ID
    		else    
    				return GameInfo.Units.UNIT_SPEARMEN.ID
    		end
    end
    
    function RebelUnitsToSpawnEmperor(iPlayer)
    	local pTeam = iPlayer:GetTeam()
    	local teamTechs = pTeam:GetTeamTechs()
    		if teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
    				return GameInfo.Units.UNIT_MECHANIZED_INFANTRY.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
    				return GameInfo.Units.UNIT_INFANTRY.ID
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID ) then
    				return GameInfo.Units.UNIT_GREAT_WAR_INFANTRY.ID	
    		elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
    				return GameInfo.Units.UNIT_RIFLEMAN.ID	
    		elseif    teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
    				return GameInfo.Units.UNIT_MUSKETMAN.ID 	
    		else    
    				return GameInfo.Units.UNIT_PIKEMAN.ID
    		end
    end
    
    function ColonyIsRevolted(city)
    	for i = 0, city:GetNumCityPlots() -1 do
    		if city:GetCityIndexPlot(i) ~= nil then
    			local iPlot = city:GetCityIndexPlot(i);
    			local iCityOwner = city:GetOwner()
    			if Map.PlotDistance(iPlot:GetX(), iPlot:GetY(), city:GetX(), city:GetY()) < 2 then
    				local iBarbUnitPower = iPlot:GetUnitPower(g_BarbarianID)
    				if iBarbUnitPower > 0 then
    					return 1
    				end
    				else 
    					if g_RevoltedColonies[city] then
    						table.remove(city, g_RevoltedColonies)
    						table.insert(city, g_ColoniesRevolted1)
    					end
    				end
    			end
    		end
    end
    
    function GetNumColonyRevolts(city)
    	if not g_ColoniesRevolted1[city] and not g_ColoniesRevolted2[city] and not g_ColoniesRevolted3[city] and not g_ColoniesRevolted4[city] and not g_ColoniesRevolted5[city] then
    		return 0
    	elseif g_ColoniesRevolted1[city] then
    		return 1
    	elseif g_ColoniesRevolted2[city] then
    		return 2
    	elseif g_ColoniesRevolted3[city] then
    		return 3
    	elseif g_ColoniesRevolted4[city] then
    		return 4
    	elseif g_ColoniesRevolted5[city] then
    		return 5
    	end
    end
    
    function SpawnRevoltedUnits(city)
    	for i = 0, city:GetNumCityPlots() -1 do
    		if city:GetCityIndexPlot(i) ~= nil then
    			local iPlot = city:GetCityIndexPlot(i);
    			local iOwner = city:GetOwner()
    			if Map.PlotDistance(iPlot:GetX(), iPlot:GetY(), city:GetX(), city:GetY()) < 3 then
    			local plotNumUnits = plot:GetNumUnits()
    				if not (iPlot:IsWater()) and not (plotNumUnits > 3) and not iPlot:GetUnitPower(iOnwer) then
    				local freePlots = {}
    				table.insert(iPlot, freePlots)
    				Shuffle(freePlots)
    				for n, plot in pairs(freePlots) do
    					if Game.GetHandicapType() == 0 then
    						Player[g_BarbarianID]:InitUnit(freeUnitSettler, iPlot:GetX(), iPlot:GetY())	
    					elseif Game.GetHandicapType() == 1 then
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY()) 
    					elseif Game.GetHandicapType() == 2 then
    						Player[g_BarbarianID]:InitUnit(freeUnitSettler, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitSettler, iPlot:GetX(), iPlot:GetY())
    					elseif Game.GetHandicapType() == 3 then
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    					elseif Game.GetHandicapType() == 4 then
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitSettler, iPlot:GetX(), iPlot:GetY())
    					elseif Game.GetHandicapType() == 5 then
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    					elseif Game.GetHandicapType() == 6 then
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())	
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    					elseif Game.GetHandicapType() == 7 then
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())	
    						Player[g_BarbarianID]:InitUnit(freeUnitEmperor, iPlot:GetX(), iPlot:GetY())
    						Player[g_BarbarianID]:InitUnit(freeUnitPrince, iPlot:GetX(), iPlot:GetY())
    					end
    				end
    			end
    		end
    	end
    end 
    end
    				
    function RevoltColony(iPlayer) 
    	for plotLoop = 0, Map.GetNumPlots() - 1, 1 do
    		local improvementType = plot:GetImprovementType()
    			if ( improvementType == GameInfoTypes["IMPROVEMENT_COLONY"] ) then
    				local iColonyPlotX = pPlot:GetX()
    				local iColonyPlotY = pPlot:GetY()
    				local pColonyPlot = PlotAt:(iColonyPlotX, iColonyPlotY)
    				local iImprovementOwner = pColonyPlot:GetOwner()
    				local iEraModifier = GetEraModifiersForRevolt(iImprovementOwner) -- Colonial: 5; Industrial: 10; Modern: 15; Atomic: 20;
    				local pColonyCity = City:At(iColonyPlotX, iColonyPlotY)
    				local iHandicapRevoltModifier = (3 * Game:GetHandicapType())   -- Deity = 21; Prince = 12
    				local iNumColonies = PlayerGetNumColonies(iImprovementOwner)
    				local iNumColoniesModifier = (iNumColonies + 3) * iNumColonies) -- 4*1 = 4; 5*2= 10; 6*3= 18; 7*4= 28
    				local iColonyHappinessModifier = pColonyCity:GetLocalHappiness()
    				print(" .. iColonyHappinessModifier .. ")
    				local iPublicOrderPoints = CalculatePublicOrderForRevolt(pColonyCity)
    				print("PublicOrder is" ..iPublicOrderPoints.. "for the city of" ..iCityName .. "!")
    				local iCityName = pColonyCity:GetName()
    				local iOurUnitsPower = GetRevoltedUnitsPower(iImprovementOwner)
    				local iOurUnitsPowerConverted = (iOurUnitsPower * 1.75) 
    				local iNumRevoltsModifier = GetNumColonyRevolts(pColonyCity) * 25 --2nd revolt required + 25 points
    				local iRevoltCounter = ((iHandicapRevoltModifier + iEraModifier + iNumColoniesModifier + iColonyHappinessModifier - iPublicOrderPoints - iNumRevoltsModifier) 
    				if (math.random(0, 55) + iRevoltCounter) == 100 and not iOwnerLocalUnitsPower > iOurUnitsPowerConverted
    					if not g_RevoltedColonies[pColonyCity] then
    						SpawnRevoltedUnits(pColonyCity)
    						iImprovementOwner:AddNotification(NotificationTypes.NOTIFICATION_WONDER_COMPLETED_ACTIVE_PLAYER, .. iCityName .. ' has revolted! Rebel units will spawn near the revolted Colony and attemp to reclaim those lands! ') 
    						table.insert(pColonyCity, g_RevoltedColonies)
    						if not g_ColoniesRevolted1[pColonyCity] and not g_ColoniesRevolted2[pColonyCity] and not g_ColoniesRevolted3[pColonyCity] and not g_ColoniesRevolted4[pColonyCity] and not g_ColoniesRevolted5[pColonyCity] then
    							table.insert(pColonyCity, g_ColoniesRevolted1)
    						elseif g_ColoniesRevolted1[pColonyCity] then
    							table.remove(pColonyCity, g_ColoniesRevolted1)
    							table.insert(pColonyCity, g_ColoniesRevolted2)
    						elseif g_ColoniesRevolted2[pColonyCity] then
    							table.remove(pColonyCity, g_ColoniesRevolted2)
    							table.insert(pColonyCity, g_ColoniesRevolted3)
    						elseif g_ColoniesRevolted3[pColonyCity] then
    							table.remove(pColonyCity, g_ColoniesRevolted3)
    							table.insert(pColonyCity, g_ColoniesRevolted4)
    						elseif g_ColoniesRevolted4[pColonyCity] then
    							table.remove(pColonyCity, g_ColoniesRevolted4)
    							table.insert(pColonyCity, g_ColoniesRevolted5)
    						end
    					end
    				end
    			end
    		end
    	end
    GameEvents.PlayerDoTurn.Add( RevoltColony );
     
  10. d3athbyn1ght

    d3athbyn1ght Chieftain

    Joined:
    Sep 16, 2013
    Messages:
    33
    hello Genghis, I know you are working hard on this and all. But, do you have any beta downloads to share to test it out? Or will you just release it as a whole when it is done
     
  11. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    I will run a series of tests in the colonies system tomorrow. I just have to compile the .dll and run a test game. If it runs OK, then I'll post an Alpha version of the Colonies system. Abou the rest, well, some work to be done on Units, Buildings, PrereqTechs in the Tech Tree, Civilizations and Wonders... Taxes only in Beta, probably. I hope I can release Colonies and have Armenia as a separate download.
     
  12. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    [Alpha] Colonies Test:

    [DLL] NOT WORKING (Reason: Probably not being loaded correctly.)
    [Lua] NOT WORKING (Reason: Probably not being loaded correctly.)
    [XML] WORKING (Being Loaded Correctly, loads with no errors.)


    Will try to change some stuff and try again
     
  13. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
  14. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    Wonders

    Isthar Gate - requires History. +2 :c5culture: per every Defensive Building in your Empire. +1 :c5faith: per Great Work of Art in your Empire. Contains a Great Work of Art Slot. Provides free Walls in the city in which it is built.

    Hollywood - requires Movie Camera. +1 :c5gold: Gold per Great Work in your Empire. +1 Tourism per each Great Work in this City. Contains slots for 2 Great Works of Music.

    Empire State Building - requires Eletricity. + 50% :c5citizen: faster Growth Rate in this City. Provides a free Scryscraper in the City in which it is built. (1)

    Sagrada Familia - requires Telecommunications. +2 :c5faith:, +1 :c5culture:, +1 :c5happy: and +1 Tourism per each Religious Building in your Empire. Contains Slots for 1 Great Work of Art.

    Tower of Belém - requires Cartography. 3 free Caravels appear near this city. Naval Units in this city have +1 :c5moves: Sight.

    Westminster Abbey - requires Music. +2 :c5faith: per Great Work of Music and +1 and Culture Tourism per Monastery in your Empire. Contains 1 Great Work of Music Slot. Provides a free Monastery in this City.

    Shwedagon Paya - requires Aesthetics. +2 :c5faith: and +2 :c5culture: per each source of Gold, Gems and Silver worked by this City. +3 :c5faith: per each Aesthetics Policy adopted. Artists in this City generate one extra :c5faith: faith.

    St. Peter's Basilica - requires Architecture. +10% :c5faith: in this city per each Piety Policy adopted.

    Pantheon - requires Engineering. +2 :c5faith:, +2 :c5culture: and +1 :c5happy: per each Foreign Religion in your Empire. Provides a free Shrine in every City. (2)


    Notes:

    (1) Negative Health Effects
    (2) Foreign Religion is a Religion that differs from the Empire-wide adopted Religion
     
  15. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    Cities
    Spoiler :
    Cities have less defensive strength and gain slightly less new strength with new
    Cities now only loss 10 per cent of the population when captured
    Captured Cities now only lose 30 per cent of their styrength
    Cities now heal more slowly

    Happiness Mechanincs
    Spoiler :
    Reduced growth penalty when unhappy.
    Reduced production penalty when very unhappy

    Gold
    Spoiler :
    Updgrading units is now fifty per cent cheaper

    Units
    Spoiler :
    Units are fifty per cent cheaper
    Settler has now 3 moves
    Atomic Bomb and Nuclear Missile Rnage increased (2)

    Research Agreements
    Spoiler :
    Research Agreements have now effect in 15 turns

    Puppets
    Spoiler :
    Puppets now generate more culture and science

    Policies
    Spoiler :
    First Policy cost reduced to 20. Therefore every policy is now slightly cheaper

    Starting Locations
    Spoiler :
    Players will now only start in locations with six or more land tiles
    Starting locations will now include more production tiles

    Resources
    Spoiler :
    Strategic Resources are now likely to spread in quantityy of 6

    3UPT

    AI Changes

    Spoiler :
    AI is less likely to hate warmongers
    AI is more likely to rushbuy units and buildings
    AI now is more likely to defend their land with more units
    AI should now have more units in their capital city
    AI now has less chance to form permanent wars
    AI now values much more the policies you chose (Autocracy, Freedom and Order)
    AI now values less gold per turn
    AI is now more likely to build cities on resource tiles
    AI now values hills more
    AI is now more likely to accept Peace Deals
    AI is now much more likely to accept Cooperation in War


    Specialists
    Spoiler :
    Specialists have extra yield

    City States
    Spoiler :
    Enchanced Influence Gained by Trade Missions (50)

    Promotions
    Spoiler :
    Instant Heal now grants you more health

    Barbarians
    Spoiler :
    Increased Max XP Gained from Barbarians (30)

    Culture
    Spoiler :
    Faster Culture Growth
    New Cities now increase less cost of acquiring future policies

    Diplomatic VC
    Spoiler :
    Owning the UN grants you now 2 extra votes

    Religion
    Spoiler :
    Great Prophets spam since you acquire 150 faith and have greater chance of spamming once you get 150 faith
    Pantheons now only increase costs by 3 faith

    Score Calculation
    Spoiler :
    Technologies Score Value Increased (6)
     
  16. d3athbyn1ght

    d3athbyn1ght Chieftain

    Joined:
    Sep 16, 2013
    Messages:
    33
    wow great job, looking foward to this!
     
  17. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
  18. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    Belém Tower

    Adds the Belém Tower as a Wonder in Sid Meier's Civilization V. Compatible with [civ5] Vannila, [GandK] Gods and Kings and Brave New World.

    The Belém Tower (or Tower of St. Vincent) was built from lioz limestone and is composed of a bastion and the 10 foot four storey tower. The iconic Tower was commissioned by King John II to be part of a defense system at the entrance of the Tagus river and a ceremonial gateway to Lisbon. Additionally, the Belém Tower is one of the most iconic buildings of the Portuguese Discoveries.

    Ingame the Belém Tower requires Astronomy and upon completing it 3 free Caravels appear near this city. Naval Units in the City in which the Belém Tower is built have +1 :c5moves: Sight.

    Please report any bugs or suggestions at the Development Thread

    Download
     
  19. lp_04

    lp_04 Prince

    Joined:
    Sep 2, 2012
    Messages:
    336
    Location:
    Leiria, Portugal
    It could give some great admirals (1 or 2) instead of the caravels, and/or develop the defense of the city.

    I was looking for this for a long time, I will try this modcomp right now
     
  20. Genghis.Khan

    Genghis.Khan Person

    Joined:
    Jun 9, 2012
    Messages:
    934
    Location:
    Somewhere
    Belém Tower

    Update to version 2

    Changes:
    Spoiler :
    Removed the 1 :c5moves: Sight Bonus to Naval Units
    Added a 50% Homeland :c5strength: Defense Bonus for Naval Units
    Upon completing the Belém Tower 2 Caravels and 1 Great Admiral are now spawned instead of 3 Caravels


    BugFixes:
    Spoiler :
    Fixed the Wonder Completion Screen Quote Bug


     

Share This Page