Building Wonder unlocks resources/units early? (in XML)

Chysp

Chieftain
Joined
Mar 16, 2013
Messages
67
I'm currently working on a collection of changes to wonders in the game, and I'm trying to get Oxford University to reveal antiquity sites, without the normal civic requirements (Oxford also arrives earlier in the tech tree now).

I've been trying to teach myself over the past couple of days, and have managed to implement a fair few changes - but haven't been able to work this one out... any help would be greatly appreciated!

At the moment, this seems to get rid of antiquity sites on the civic tree altogether...

<Resources>
<Update>
<Where ResourceType="RESOURCE_ANTIQUITY_SITE"/>
<Set PreReqCivic=""/>
<SubjectRequirementSetId>PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY</SubjectRequirementSetId>
</Update>
</Resources>

<Requirements>
<Row> <RequirementId>REQUIRES_PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY</RequirementId>
<RequirementType>REQUIREMENT_PLAYER_HAS_BUILDING</RequirementType>
</Row>
</Requirements>

<RequirementArguments>
<Row>
<RequirementId>REQUIRES_PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY</RequirementId>
<Name>BuildingType</Name>
<Value>BUILDING_OXFORD_UNIVERSITY</Value>
</Row>
</RequirementArguments>

<RequirementSets>
<Row>
<RequirementSetId>PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY_REQUIREMENTS</RequirementSetId>
<RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType>
</Row>
</RequirementSets>

<RequirementSetRequirements>
<Row>
<RequirementSetId>PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY_REQUIREMENTS</RequirementSetId>
<RequirementId>REQUIRES_PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY</RequirementId>
</Row>
</RequirementSetRequirements>
 
Last edited:
Column SubjectRequirementSetId is not valid for game table <Resources>. As soon as the game reads this line of code it ceases to read in anything esle from the same file:
Code:
<SubjectRequirementSetId>PLAYER_HAS_BUILDING_OXFORD_UNIVERSITY</SubjectRequirementSetId>
. The net effect of this is a file that only contains this:
Code:
<GameData>
	<Resources>
		<Update>
			<Where ResourceType="RESOURCE_ANTIQUITY_SITE"/>
			<Set PreReqCivic=""/>
		</Update>
	</Resources>
</GameData>
 
The only game-table for which "SubjectRequirementSetId" is a valid column is table "Modifiers". From the file Firaxis uses to define what is valid for each game-table. The definition of table "Modifiers":
Code:
CREATE TABLE "Modifiers" (
		"ModifierId" TEXT NOT NULL,
		"ModifierType" TEXT NOT NULL,
		"RunOnce" BOOLEAN NOT NULL CHECK (RunOnce IN (0,1)) DEFAULT 0,
		"Permanent" BOOLEAN NOT NULL CHECK (Permanent IN (0,1)) DEFAULT 0,
		"OwnerRequirementSetId" TEXT,
		"SubjectRequirementSetId" TEXT,
		PRIMARY KEY(ModifierId),
		FOREIGN KEY (OwnerRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE,
		FOREIGN KEY (SubjectRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE);
The definition of table "Resources":
Code:
CREATE TABLE "Resources" (
		"ResourceType" TEXT NOT NULL,
		"Name" TEXT NOT NULL,
		"ResourceClassType" TEXT NOT NULL,
		"Happiness" INTEGER NOT NULL DEFAULT 0,
		"NoRiver" BOOLEAN NOT NULL CHECK (NoRiver IN (0,1)) DEFAULT 0,
		"RequiresRiver" BOOLEAN NOT NULL CHECK (RequiresRiver IN (0,1)) DEFAULT 0,
		"Frequency" INTEGER NOT NULL DEFAULT 0,
		"Clumped" BOOLEAN NOT NULL CHECK (Clumped IN (0,1)) DEFAULT 0,
		"PrereqTech" TEXT,
		"PrereqCivic" TEXT,
		"PeakEra" TEXT NOT NULL DEFAULT "NO_ERA",
		"RevealedEra" INTEGER NOT NULL DEFAULT 1,
		"LakeEligible" BOOLEAN NOT NULL CHECK (LakeEligible IN (0,1)) DEFAULT 1,
		PRIMARY KEY(ResourceType),
		FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE,
		FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET NULL ON UPDATE CASCADE,
		FOREIGN KEY (ResourceType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
Both taken from (for windows computers): C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization VI\Base\Assets\Gameplay\Data\Schema/01_GameplaySchema.sql
 
Back
Top Bottom