More Wonders

Would you be willing to make the script? I'd love to see this effect in game... (if not on the Pantheon, then the Terra Cotta Army, or maybe something else).
I have a script for that already, made it for my Zulu UA. I'll dig it up and adapt it a bit. I do think 10 GA points per kill is too much though; 5 would still be powerful. Guess it depends on difficulty too; on the higher end the AI has tons of units you can "harvest".
 
Here you go:
Spoiler :
Code:
-- BuildingCombatGoldenAges
-- Author: Moriboe
--------------------------------------------------------------

print("Loaded building combat golden ages")

function BuildingCombatGoldenAges(iPlayer, iKilledPlayer)
	local winner = Players[iPlayer];
	if not IsPlayerMajor(winner) or winner:IsGoldenAge() then
		return;
	end
	local loser = Players[iKilledPlayer];
	if not loser:IsBarbarian() then
		local gaPoints = CalculateCombatGoldenAgePoints(winner);
		if gaPoints > 0 then
			winner:ChangeGoldenAgeProgressMeter(gaPoints);
			if iPlayer == Game:GetActivePlayer() then
				UpdateGoldenAgeData(winner);
			end
		end
	end
end
GameEvents.UnitKilledInCombat.Add(BuildingCombatGoldenAges);


function CalculateCombatGoldenAgePoints(player)
	local gaPoints = 0;
	for pCity in player:Cities() do
		for row in GameInfo.Building_CombatGoldenAges() do
			local buildingID = GameInfo.Buildings[row.BuildingType].ID;
			if pCity:IsHasBuilding(buildingID) then
				gaPoints = gaPoints + row.GoldenAgePoints;
			end
		end
	end
	return gaPoints;
end


function IsPlayerMajor(player)
	return player:GetID() < GameDefines.MAX_MAJOR_CIVS;
end


-- copied from TopPanel.lua
function UpdateGoldenAgeData(pPlayer)
	local strGoldenAgeStr;
	
	if (Game.IsOption(GameOptionTypes.GAMEOPTION_NO_HAPPINESS)) then
		strGoldenAgeStr = Locale.ConvertTextKey("TXT_KEY_TOP_PANEL_GOLDEN_AGES_OFF");
	else
		if (pPlayer:GetGoldenAgeTurns() > 0) then
			strGoldenAgeStr = string.format(Locale.ToUpper(Locale.ConvertTextKey("TXT_KEY_GOLDEN_AGE_ANNOUNCE")) .. " (%i)", pPlayer:GetGoldenAgeTurns());
		else
			strGoldenAgeStr = string.format("%i/%i", pPlayer:GetGoldenAgeProgressMeter(), pPlayer:GetGoldenAgeProgressThreshold());
		end
	
		strGoldenAgeStr = "[ICON_GOLDEN_AGE][COLOR:255:255:255:255]" .. strGoldenAgeStr .. "[/COLOR]";
	end

	Controls.GoldenAgeString:SetText(strGoldenAgeStr);
end
And the xml:
Spoiler :
Code:
<GameData>
	<Table name="Building_CombatGoldenAges">
		<Column name="BuildingType" type="text" reference="Buildings(Type)"/>
		<Column name="GoldenAgePoints" type="integer" default="5"/>
	</Table>

	<Building_CombatGoldenAges>
		<Row>
			<BuildingType>BUILDING_PANTHEON</BuildingType>
		</Row>
	</Building_CombatGoldenAges>
</GameData>
One minor problem is that the GA meter is not updated until the next turn. The last function in the lua file used to do that iirc, but it no longer has an effect :confused:
 
Don't know if its been suggested (if it has I'm sorry for not reading all the posts!), but how about the Docks of Carthage?

They were a pretty impressive architectural feat at the time and really confirmed Carthage's wealth and naval power. In game they could give a substantial boost to trade income and ship construction speed perhaps, as it was divided into a military and commercial harbour.

 
A wonder I'm sure no one has suggested yet: Masada. It's important enough to world history to be recognized by UNESCO; given the events and buildings in the Masada complex, I suggest a modest empire-wide boost to both Defense and Faith (say, +10%) and the appearance of a Great General. Of course, Masada would have to be built in a desert with mountains nearby; does Civ 5 have a way to include both restrictions?


Edited to add: A player-friend offsite suggested an additional restriction--requiring Walls in all cities before Masada is built.
 
Ekmek, couldn't you get away with using the Oracle for the under construction model?

On another note I think it would be really cool that instead of having a city graphic for wonders that the wonder creates a special Wonder Great Person that then builds a Wonder tile imp. So you can place the Wonder where you want (and its bigger)

i.e. you build the pyramids and part of its xml is that it creates the unit "Pyramid builder" then you move that unit and its like a great person but can only build the tile imp. And it builds the tile imp. You'd probably have to make it so that all wonder tile imps add culture or something (but the city keeps the effect as usual)
 
Don't know if its been suggested (if it has I'm sorry for not reading all the posts!), but how about the Docks of Carthage?

They were a pretty impressive architectural feat at the time and really confirmed Carthage's wealth and naval power. In game they could give a substantial boost to trade income and ship construction speed perhaps, as it was divided into a military and commercial harbour.

Yeah, they're definately worthy of inclusion - I was thinking including them as the Great Cothon, similar to Rhye's and Fall for Civ 4.

A wonder I'm sure no one has suggested yet: Masada. It's important enough to world history to be recognized by UNESCO; given the events and buildings in the Masada complex, I suggest a modest empire-wide boost to both Defense and Faith (say, +10%) and the appearance of a Great General. Of course, Masada would have to be built in a desert with mountains nearby; does Civ 5 have a way to include both restrictions?


Edited to add: A player-friend offsite suggested an additional restriction--requiring Walls in all cities before Masada is built.

Again, I love the suggestion - cheers! It's indeed possible to have desert and mountain restrictions, although I won't have the walls suggestion, as that's mainly something for national wonders.
 
Here you go:
Spoiler :
Code:
-- BuildingCombatGoldenAges
-- Author: Moriboe
--------------------------------------------------------------

print("Loaded building combat golden ages")

function BuildingCombatGoldenAges(iPlayer, iKilledPlayer)
	local winner = Players[iPlayer];
	if not IsPlayerMajor(winner) or winner:IsGoldenAge() then
		return;
	end
	local loser = Players[iKilledPlayer];
	if not loser:IsBarbarian() then
		local gaPoints = CalculateCombatGoldenAgePoints(winner);
		if gaPoints > 0 then
			winner:ChangeGoldenAgeProgressMeter(gaPoints);
			if iPlayer == Game:GetActivePlayer() then
				UpdateGoldenAgeData(winner);
			end
		end
	end
end
GameEvents.UnitKilledInCombat.Add(BuildingCombatGoldenAges);


function CalculateCombatGoldenAgePoints(player)
	local gaPoints = 0;
	for pCity in player:Cities() do
		for row in GameInfo.Building_CombatGoldenAges() do
			local buildingID = GameInfo.Buildings[row.BuildingType].ID;
			if pCity:IsHasBuilding(buildingID) then
				gaPoints = gaPoints + row.GoldenAgePoints;
			end
		end
	end
	return gaPoints;
end


function IsPlayerMajor(player)
	return player:GetID() < GameDefines.MAX_MAJOR_CIVS;
end


-- copied from TopPanel.lua
function UpdateGoldenAgeData(pPlayer)
	local strGoldenAgeStr;
	
	if (Game.IsOption(GameOptionTypes.GAMEOPTION_NO_HAPPINESS)) then
		strGoldenAgeStr = Locale.ConvertTextKey("TXT_KEY_TOP_PANEL_GOLDEN_AGES_OFF");
	else
		if (pPlayer:GetGoldenAgeTurns() > 0) then
			strGoldenAgeStr = string.format(Locale.ToUpper(Locale.ConvertTextKey("TXT_KEY_GOLDEN_AGE_ANNOUNCE")) .. " (%i)", pPlayer:GetGoldenAgeTurns());
		else
			strGoldenAgeStr = string.format("%i/%i", pPlayer:GetGoldenAgeProgressMeter(), pPlayer:GetGoldenAgeProgressThreshold());
		end
	
		strGoldenAgeStr = "[ICON_GOLDEN_AGE][COLOR:255:255:255:255]" .. strGoldenAgeStr .. "[/COLOR]";
	end

	Controls.GoldenAgeString:SetText(strGoldenAgeStr);
end
And the xml:
Spoiler :
Code:
<GameData>
	<Table name="Building_CombatGoldenAges">
		<Column name="BuildingType" type="text" reference="Buildings(Type)"/>
		<Column name="GoldenAgePoints" type="integer" default="5"/>
	</Table>

	<Building_CombatGoldenAges>
		<Row>
			<BuildingType>BUILDING_PANTHEON</BuildingType>
		</Row>
	</Building_CombatGoldenAges>
</GameData>
One minor problem is that the GA meter is not updated until the next turn. The last function in the lua file used to do that iirc, but it no longer has an effect :confused:

¡Excelente! Will you be updating the Pantheon, Pouakai? I'd do it myself but I've no idea how to deal with LUA (especially since I'm stuck with notepad)...
 
Banaue Rice Terraces

The Banaue Rice Terraces of Ifugao Province, Philippines are a series of Rice Terraces carved into the hillsides.They were first carved in the first century CE, and have since expanded across the region to the point where the length of terraces would reach half way around the Earth. The terraces are irrigated by an intricate system developed by the ancient culture from the rainforests higher up the slopes. Ingame, the Banaue Rice Terraces provide two sources of the Rice luxury resource and +4 :c5food: Food, while it requires The Wheel. The Banaue Rice Terraces can be downloaded from either Steam Workshop or the CivFanatics Download Database, page Here

Spoiler Screenshots :






 
That's a cool wonder, although Rice as a luxury resource is a little strange, because it's such a staple food. Did those Rice Terraces produce other resources that count as luxuries?
 
[OFFTOPIC]I don't see that as really possible right now. It worked in Civ4 because of the use of Health and gaining Health from improved resources. Without a mechanism like Health Bonus resources are just improvable tile features. So I can understand why Rice is a Luxury, and that Rice is better a Bonus. It just can't be done without looking a fancy way of adding more to the base yield of the wonder.[/OFFTOPIC]
 
Yay, only a week till Dhanteras ;)
 
Hi Pouakai

Did you ever see my Post about a flavor bug in Gate of the Sun wonder?

Spoiler :
Gate of the Sun wonder seems like a fun addition that I'm gonna try out. Looking at the files however I noticed that it has the flavor tags FLAVOR_CULTURE and FLAVOR_WONDER. Perhaps the former should be FLAVOR_RELIGION instead as it produces faith and not culture?


\Skodkim
 
Abraj Al Bait Towers changes RESOURCE_JEWELERY, which is a typo. It should be RESOURCE_JEWELRY. Also, Mount Rushmore, Empire State and Sagrada all list MaxStartEra as ERA_ATOMIC. There is no such era. It is called ERA_POSTMODERN.
 
Wrong. There is a mod called "Food Economy" (a very old mod which hopefully has a CFC version) that allows bonus resource trading.

...which was broken when it was first made and does not have a G&K version.
 
Top Bottom