[WIP] Project Civ: A Quality-Oriented Civ Pack

You don't even have to take a vote, people are crazy about Poland on almost every civ forum. Guaranteed, Poland would get the most "likes" of any civ you'll ever post.

What about the Zulu? That's another idea I'm kicking around.

Also, wrote the greeting for Eannatum that I'm going to try to voice at some point.

"Silim! Eannatum i-men, ensi Lagash-ak, lugal Kiengir-ak. Inim-shar-ga."
"Health! Eannatum be I, city-state-king Lagash's, empire-king Sumerians'. Discuss[cohorsion]"

Translates more properly to something along the lines of "Hail! I am Eannatum, Lord of Lagash, the highest king in this land of civilized kings. Come, let us discuss our business."

I'm no expert in languages that have been dead for 4,000 years though.


I'll probably rewrite it a bit to sound a bit more... Regnal? The Sumerians were known for being rather Laconic in their writing, but they may very well have spoken a different way. The Akkadians, in contrast, were known to use many many many euphemisms to season their language. There was no act that could be written as one word.

For example, Gilgamesh tells the concubine Shamhat to have sex with the wild man Enkidu to civilize him and tear him away from his wildness. But the Akkadians wrote it something along the lines of "Go, Shamhat, and perform for him the task of Womankind!"

By the way, I know exactly how to make the leader music work and to make sound defines and such work... in theory. The problem is, I'd have to have people manually install it as a DLC, and that would suck.
 
CombatBonusVsHigherTech does nothing. I've played around with it and nothing seems to happen. It looks like a tag with no coding behind it to me. You'll have to code functionality into the DLL yourself.

I played a Deity game against Babylon on my test map I made with Sumer's UA set to include BonusVsHigherTech. It works... sort of. It seems to only work in your own territory, and it seems to not kick in until later in the game. It's strange. See the Attachment.

It's also worth noting that I lost the game to a CITY STATE. Ha. To be fair, I had been at war with Babylon since like, 1000 BC. It was in the 1860's by the time I lost.
 

Attachments

  • OVHe8.jpg
    OVHe8.jpg
    384 KB · Views: 160
I played a Deity game against Babylon on my test map I made with Sumer's UA set to include BonusVsHigherTech. It works... sort of. It seems to only work in your own territory, and it seems to not kick in until later in the game. It's strange. See the Attachment.

It's also worth noting that I lost the game to a CITY STATE. Ha. To be fair, I had been at war with Babylon since like, 1000 BC. It was in the 1860's by the time I lost.

Huh, no way. Well, look at the .dll and see what's been coded with bonusvshighertech. Maybe you can fix it.
 
Huh, no way. Well, look at the .dll and see what's been coded with bonusvshighertech. Maybe you can fix it.

you look at it. There's like, nothing there. I think it's all Lua scripting or something that's compiled as a resource with the exe. I have no idea, really. All I know is the DLL code looks more like systems and umbrellas and less like specifics. Of course, I could totally be looking in the wrong place.

Also, that deity game was very telling. Vultures may need a buff. Also, my great people rates kinda sucked. Of course, I was putting all my specialists into an engineer so I could sneak in a wonder here and there.

So yeah, I think I'm gonna give Sumer a healthy buffing, and after that see if I can carve away again. Yeah, it's supposed to be hard, but I felt like I was America or something. No real UUs, No Trait... So yeah, GP Bonus is going up to 20 or 25 I figure. May add in some extra bonuses, and get rid of the great artist. The early culture is nice, but meh. I'll see what I can do.

As for the Vulture, I think I'll give him a combat bonus all the way around instead of just on attack. Considering giving them Amphibious too. Too much?
Let's compare them to other Warrior replacements.

  • Aztec Jaguar
    • 50% :c5strength: Bonus in Jungle
    • Heals 20 Damage if Kills a Unit
  • Polynesian Maori Warrior
    • Reduces Nearby Enemy Unit :c5strength: Combat Strength by 10%
  • Sumerian Vulture
    • 20% :c5strength: Bonus While Attacking Warriors, Swordsmen, and Longswordsmen.


I think Jaguars are the clear winner here. Don't you agree?

So here's my proposed change.

  • Sumerian Vulture
    • 25% :c5strength: Bonus vs. Warriors, Swordsmen, and Longswordsmen.
    • Faster :c5moves: Movement Along River Tiles.




Also, I've gotten Sparta pretty much figured out, I'm just scared to reveal them and get anyone excited until I figure out how to, if possible, make traits from scratch.
 
Code:
// Trait (player level) bonus against higher tech units
		iTempModifier = GET_PLAYER(getOwner()).GetPlayerTraits()->GetCombatBonusVsHigherTech();
		if(iTempModifier > 0)
		{
			// Only applies defending friendly territory
			if(pBattlePlot->getOwner() == getOwner())
			{
				// Check tech levels too
				UnitTypes eMyUnitType = getUnitType();
				if(pOtherUnit && pOtherUnit->IsHigherTechThan(eMyUnitType))
				{
					iModifier += iTempModifier;
				}
			}
		}

So it checks that the combat is in their own territory. Now it does something else to check if it is attacking a higher tech unit.

Code:
bool CvUnit::IsHigherTechThan(UnitTypes otherUnit) const
{
	int iMyTechCost = 0;
	int iOtherTechCost = 0;

	TechTypes eMyTech = (TechTypes)getUnitInfo().GetPrereqAndTech();
	if(eMyTech != NO_TECH)
	{
		CvTechEntry* pEntry = GC.GetGameTechs()->GetEntry(eMyTech);
		if(pEntry)
		{
			iMyTechCost = pEntry->GetResearchCost();
		}
	}

	CvUnitEntry* pUnitEntry = GC.GetGameUnits()->GetEntry(otherUnit);
	if(pUnitEntry)
	{
		TechTypes eOtherTech = (TechTypes)pUnitEntry->GetPrereqAndTech();
		if(eOtherTech != NO_TECH)
		{
			CvTechEntry* pEntry = GC.GetGameTechs()->GetEntry(eOtherTech);
			if(pEntry)
			{
				iOtherTechCost = pEntry->GetResearchCost();
			}
		}
	}

	return iMyTechCost > iOtherTechCost;
}

I'm not certain what it does, but it looks like it checks the research cost of the tech that unlocks your unit and if it less than the research cost of the tech that unlocks the enemy unit then it returns false (i.e. your unit is not higher tech than the other unit). Else, it returns true. (It also returns false when research cost is equal). If the unit is not unlocked by a tech, then "tech cost", so to speak, is considered to be 0.

<BonusVsHigherTech>, in other words, should be working against units in friendly territory that have a higher "tech cost". I must never have tried it out in friendly territory myself.
 
Code:
// Trait (player level) bonus against higher tech units
		iTempModifier = GET_PLAYER(getOwner()).GetPlayerTraits()->GetCombatBonusVsHigherTech();
		if(iTempModifier > 0)
		{
			// Only applies defending friendly territory
			if(pBattlePlot->getOwner() == getOwner())
			{
				// Check tech levels too
				UnitTypes eMyUnitType = getUnitType();
				if(pOtherUnit && pOtherUnit->IsHigherTechThan(eMyUnitType))
				{
					iModifier += iTempModifier;
				}
			}
		}

So it checks that the combat is in their own territory. Now it does something else to check if it is attacking a higher tech unit.

Code:
bool CvUnit::IsHigherTechThan(UnitTypes otherUnit) const
{
	int iMyTechCost = 0;
	int iOtherTechCost = 0;

	TechTypes eMyTech = (TechTypes)getUnitInfo().GetPrereqAndTech();
	if(eMyTech != NO_TECH)
	{
		CvTechEntry* pEntry = GC.GetGameTechs()->GetEntry(eMyTech);
		if(pEntry)
		{
			iMyTechCost = pEntry->GetResearchCost();
		}
	}

	CvUnitEntry* pUnitEntry = GC.GetGameUnits()->GetEntry(otherUnit);
	if(pUnitEntry)
	{
		TechTypes eOtherTech = (TechTypes)pUnitEntry->GetPrereqAndTech();
		if(eOtherTech != NO_TECH)
		{
			CvTechEntry* pEntry = GC.GetGameTechs()->GetEntry(eOtherTech);
			if(pEntry)
			{
				iOtherTechCost = pEntry->GetResearchCost();
			}
		}
	}

	return iMyTechCost > iOtherTechCost;
}

I'm not certain what it does, but it looks like it checks the research cost of the tech that unlocks your unit and if it less than the research cost of the tech that unlocks the enemy unit then it returns false (i.e. your unit is not higher tech than the other unit). Else, it returns true. (It also returns false when research cost is equal). If the unit is not unlocked by a tech, then "tech cost", so to speak, is considered to be 0.

<BonusVsHigherTech>, in other words, should be working against units in friendly territory that have a higher "tech cost". I must never have tried it out in friendly territory myself.

Which source did you find that in? Units or something? But yeah, it doesn't give a bonus just for the enemy having more techs, it gives you a bonus against a unit in your territory that is higher tech. So it's a pretty useless trait, I see why they scrapped it for Ethiopia.

Code:
bool CvUnit::IsHigherTechLvl(const CvUnit* pOtherUnit) const
{
	int iMyTechLvl = 0;
	int iOtherTechLvl = 0;

        CvPlayer& kPlayer = GET_PLAYER(getOwner());
	iMyTechLvl = kPlayer.GetScoreFromTechs();

        CvPlayer& kOtherPlayer = GET_PLAYER(pOtherUnit->getOwner());
	iOtherTechLvl = kOtherPlayer.GetScoreFromTechs();

	return iMyTechLvl >= iOtherTechLvl;
}

Scavenged Ethiopia's trait. Looks alright to me. Upon looking through the code I found that tech score was linear, so I'll just go with it.

Now what do I do with it? :p

Not sure how I make it available to XML, and not sure how I get those arguments to the function.
 
It's not that useless of a trait for turtling, but in general, it's not that interesting.

Well, you don't make that function available to the XML. The XML only populates the database. To make it do stuff in game, you can just make a .lua function that calls that function whenever you need to, or if you change stuff that the C++ code already uses for whatever tag then you don't really have to do anything, pretty sure.
 
It's not that useless of a trait for turtling, but in general, it's not that interesting.

Well, you don't make that function available to the XML. The XML only populates the database. To make it do stuff in game, you can just make a .lua function that calls that function whenever you need to, or if you change stuff that the C++ code already uses for whatever tag then you don't really have to do anything, pretty sure.

The thing is, the bonus doesn't even apply unless it's a higher unit than you can have. The enemy unit is going to kick your ass anyway, just kick it less.
 
Request/Idea

Portugal
Leader: D. João (or John) II, the Perfect Prince; Henrique (Henry), the Navigator; D. Afonso Henriques
Trait: Treaty Of Tordesilhas - +3 Gold From Sea Routes, +1 Sight to Every Naval Unit. Free Harbors upon Researching Compass/ Naval Units are 25% Cheaper
Unique Unit: Nau/Carrack (Replaces Caravel - Vannila/Galeass - G&K) +1 Movement and +2 strenght. When disembarks upgrades into a settler. or
Unique Unit: Bandeirante (Replaces Musketman) Ignores Movemnt cost in forest. -2 Strenght. May settle cities on a different continent. may build mines, plantations and trading posts. or
Unique Building: Feitoria (Replaces Market)May be only built in coastal cities. +2 gold per luxury resource. +2 Defense.

Have lots of assets including my own DOM text
 
Why Portugal?

Portuguese were great explorers, started a New Age by the Conquest of Ceuta in 1415 (The Age of Discovery). Caravels were originaly produced by the Portuguese. Portugal became one of the richest countries in the world with the Discovery of the Sea Route to India n 1498, an reached as far as Japan in 1537. I think about Portugal in Civ as a Sea- Loving, Religious, Wide, Peacefull Civ.

The Trait

In 1394 Portugal signed the Treaty of Tordesilhas a Treaty wich granted Portugal the rights of exploring half of the world (thanks to portuguese cartogrophers the best part). The +1 Sight represents portuguese cartography and the extra gold from sea routes, those such as the Sea Route to India. The Free Harbors Represent the concern of portuguese people of conect their colonies to their country. The cheaper naval units represent the Pinhal of Leiria, wich provided the wood to Portugal build the boats
 
Portugal kinda clashes with an idea I had for another civ...

But it all breaks down to who you guys want to see more:

Portugal?

Or the Phoenicians?

I can always use my OTHER idea for the Phoenicians, that is, have them be a happiness/luxury based civ that has access to things that no one else can get their hands on (Murex, for example)

I definitely think the Portuguese are relevant, though.

Also, I have to find fault with you on your leader choice, I think Manuel the Fortunate was probably the greatest Portuguese leader. It was under his reign that Portugal became a runaway civ.

None of those unique units are easy to do by any means, but they are surely doable, perhaps without even so much as touching the DLL. I think the hard part is going to be figuring out if they're on a different continent or not.

Also, I think the Settler thing is kinda broken. It's like, hey, I can just create settlers while still getting food and stuff. Upgrade my longswordsman? Settler. You know? Having to trade off population for that extra city is kinda the whole deal with Settlers.

Let's work on their stuff, okay? I'm not saying the idea behind your traits are bollocks, but the traits themselves are definitely broken.

The Unique Ability is definitely solid though.


For their icon, I'm going to go with a gold armillary on a hunter background. I'll try red and green and see how it works, even though the colours SHOULD be light blue on white. I like green and gold because it can represent both Portugal and Brazil.
 
Manuel, the Fortunate was a great leader, but "The Fortunate" means "The Lucky". He does not represent the Portuguese Civilization

He is becalled the Lucky for his rise to king (he was a King´s Cousin) but also for the Discovery of The Sea Route to India and of Brasil, who happened during his reign but where not his merit

John II has along with Henry, The Navigator the merit of the Discoveries, and John was a better King than Manuel, and signed the Treaty of Tordesilhas and Actually Started the Discoveries in Ceuta 1415
 
Manuel, the Fortunate was a great leader, but "The Fortunate" means "The Lucky". He does not represent the Portuguese Civilization

He is becalled the Lucky for his rise to king (he was a King´s Cousin) but also for the Discovery of The Sea Route to India and of Brasil, who happened during his reign but where not his merit

John II has along with Henry, The Navigator the merit of the Discoveries, and John was a better King than Manuel, and signed the Treaty of Tordesilhas and Actually Started the Discoveries in Ceuta 1415

If you want to play that game... No king conquered anything, their soldiers did. Napoleon wasn't a great leader, his people did all the work.

But I will grant you your point about Manuel. João II did sign the treaty, so I figure he would fit in with the trait. Also, João put the aristocracy in check, one house of which planned against him with Isabella. For this, he dismantled that house and took all their lands (and therefore power.)

Also, he thought his own cousin was conspiring against him, so he called him up and when his cousin got there, he stabbed him to death. Manly as hell.

In short, he basically took the power away from the aristocracy and consolidated it into the throne, which, at the time, was where it belonged.

He also came to the throne of a bankrupt Portugal, and by the time he left the throne, the Real was the strongest currency in the European world; No doubt due to his economic reforms and his kingdom's financial gains from exploration.

It also helps that this guy looks so archetypically Portuguese.

Also, here's my progress on the civ icon. Do you get a decent sensation of depth from it?

zuRyx.png
 
It actually does.

Its whose Icon?

It's the civ icon for Portugal. It still needs a lot of work, like finishing the actual logo. I picked green and gold because...

It's not currently used.
It represents Portugal.
It can represent Brazil as well.

Also, about the Unique Unit, I'm fairly decided upon the Nau. I want to give it bonuses to exploring and such. I also want to give it a defensive bonus against melee units. The deck of a Nau rose quite a bit higher than other ships like the Caravel, so they were damn near impossible to board unless another Nau was boarding it.

Nau
  • Can Enter Rival Territory
  • Bonus :c5strength: Melee Strength (lost with upgrade)
  • +1 :c5moves: Movement (lost with upgrade)
  • Replaces Frigate (?)
 
Do Not Replace Frigate.

The +1 Movement seems kinda broken, Naus were large ships.
The Ability makes sense thought I would prefer a settling ability if you do not choose the bandeirante as UU2

And Frigate Replacement? I Think Galeass/Caravel would be more apropriate.

Besides The Portuguese Icon... Il like the idea of th eportuguese shield but i would add the blue cross.
 
Do Not Replace Frigate.

The +1 Movement seems kinda broken, Naus were large ships.
The Ability makes sense thought I would prefer a settling ability if you do not choose the bandeirante as UU2

And Frigate Replacement? I Think Galeass/Caravel would be more apropriate.

Besides The Portuguese Icon... Il like the idea of th eportuguese shield but i would add the blue cross.

I'll probably make it a Caravel replacement. If I do, the +1 movement is gone though. The reason I gave that is that frigates are too slow to be exploring ships. But Caravel has the perfect speed.

The reason I'm avoiding the historically correct symbolism is because it isn't readily identifiable to the broad audience. "Oh hey, look, it's Finland! Why is Lisbon its capital?" I'm sure people will see the Armillary and think "Oh hey it's that thing from the Portuguese flag."

Also, if I give it the ability to settle, I'm going to have to uh, make it stop food production. Serious gameplay concerns with that. Either that, or have it produce a city in Anarchy? Hell, I don't know. That's a tough thing to balance.

Also, I finished the logo. Time to turn it into an icon. I'm not as happy with it as I thought I'd be.

qo1Nl.png
 
Right about a lot of things

But 1) When referring to the shield I was refering to the armillary (didn´t knew the english word for that)

I assume you're Portuguese? Your English is fairly decent for someone whose native language is Portuguese. Not sure why, but the Portuguese and Brazilians I meet, maaaan.

Also, bam.

oOkbo.png
 
Back
Top Bottom