• In anticipation of the possible announcement of Civilization 7, we have decided to already create the Civ7 forum. For more info please check the forum here .

Artifact acquisition rate?

ggmoyang

King
Joined
Aug 25, 2011
Messages
993
Location
Rep. of Korea
From Artifacts.lua : it uses ArtifactAcquisitionRate according to the artifact type and roll, and if player didn't got artifact it adds AcquisitionRateChange to ArtifactAcquisitionRate.

But... what is defined in Artifacts.xml is BaseAcquisitionRate and ArtifactAcquisitionRate. There should be a function for ArtifactAcquisitionRate since Artifacts.lua don't have line for Xenoanthopology too. (which is ArtifactAcquisitionRateModifier 20)


So, maybe it's in dll? Unfortunately I don't know how to read it... (nor open it)
 
Yeah I tried changing a few things in the lua about artifacts, but seemingly there's still a fixed limit on how many artifacts you can get. I'm incredibly frustrated as I love the whole artifact thing.
 
Yeah I've tried setting the acquisition rate of Old Earth and Alien artifacts to 99 and 1 respectively, and it doesn't seem to make a jot of difference. On the other hand, I've been mucking around doing my testing on a bunch of difficulty levels, and anecdotally I seem to get a TONNE more artifacts on the lower levels. So I suspect that there's something else hidden there.

Similarly, trying to change the expedition rewards (to reduce the amount of free affinity) seems to result in either the lua not loading (if I try to overwrite the lua script) or the entire XML file not loading if I try to point the PlotBonus to a different script.

Might just be that I'm hopeless, but it seems like there's something strange going on with artifacts and expeditions.
 
Yes, seems like that function is handled internally. player:GetArtifactAcquisitionRate(artifactCategoryType) most certainly calls a function that takes all the modifiers into account and then gives out the final number.

Not sure where exactly the problem is though, the XML-Table works just fine.
If you change the XML like this...

Code:
	<ArtifactCategories>
		<Update>
			<Where Type="ARTIFACT_CATEGORY_OLD_EARTH"/>
			<Set BaseAcquisitionRate="100"
				 AcquisitionRateChange="0"/>
		</Update>
	</ArtifactCategories>
...then Resource Pods give an Old Earth Artifact 100% of the time. So it works exactly as one would expect - the first number is the percent chance at the very beginning of the game, the second number is some sort of modifier that reduces the chance - haven't done some long-time testing to see the actual numbers, but I'd assume it's just a %-decrease of the base-Rate (So if the BaseAcquisitionRate is 40 and AcquisitionRateChange is 25, then the new AcquisitionRate after getting the first Artifact is 30 - then 22.5 and so on). More testing would need to be done to verify what effect Modifiers like Xenoanthopology have to find out the actual math behind it. Of course that could easily be done with simple print-statements.

Either way, the Lua doesn't force you to use those internal Calculations. This part here...

Code:
	local recieveArtifactRoll : number = Game.Rand(100, "rolling to recieve Old Earth Artifact"); 
	if(recieveArtifactRoll <= acquisitionRate) then
(Did you note the spelling error? "recieve"? :p)

...can just be edited to use your own method. But of course that doesn't tell us anything about the current system and would go offtopic.

/edit:
Oh, and the AcquisitionRate is also increased if you have a chance to get an Artifact but don't get it. So the whole process is somewhat normalized.
 
Top Bottom