Historical Spawn Dates

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
12,731
Location
France
I've extracted the Historical Spawn Dates component of my Dynamic History mod project, and updated it to last G&K patch...

It's now balanced enough to be used for RFC like scenario on any TSL map.

There is one file to edit if you want to change spawning date or add date to custom civs: HistoricalSpawnDates.sql

This version is ready to be used with my G&K City States mod for YnAEMP, and should work fine on the Giant Earth or Large Europe map. I'll suggest the Large Europe for a better experience.

You can change the balance mechanism by editing HSD_Functions.lua and HSD_Defines.lua.

Basically it convert nearby Barbarians to your side, do the same to CS units and even remove the CS if too close of your spawning position.

"Not too close" CS are given a relation bonus.

You get science and culture points based on the average number of techs/policies from other civs. Same for gold, faith, golden age turns and can also get some free Great People based on the average cost of all other civs buildings.

It can be downloaded from CFC File Database.
Use as you want in your own mods, just remember to give credit :D


Installation

- download the civ5mod file to your mod folder (..\My Documents\My Games\Sid Meier's Civilization 5\MODS).
- launch civ5, go to the mods menu, the file should be automatically extracted. Else use 7zip to do a manual extraction
- find the "Historical Spawn Dates" line and activate the mod by checking the button at the end of the line.
- from the mod section, click NEXT, single player and then set up a game
 
Thank you soooo much Gedemon this will be very useful! :)

Is your Dynamic History mod a side project? Because I have heard you mention it a few times.

EDIT quick question is it possible or have you made the ability to respawn civilizations at a certain date (I havn't looked at this code yet)?
 
Is your Dynamic History mod a side project? Because I have heard you mention it a few times.
It's THE project. Every other mods (yes, even the WWII mod) are more or less closely related to this one. Testing this or that...

EDIT quick question is it possible or have you made the ability to respawn civilizations at a certain date (I havn't looked at this code yet)?
Possible. What can't be done is adding new civs during the game, but respawning civs that were present at launch is okay.
 
Couple of things I've noticed whilst playing on your Giant Earth Map:

City states will spawn even if they are turned off, I assume the mod isn't checking that.

Some nations are getting crushed pretty early, like Rome. I am not sure if Greece was just that powerful or what, but by the time I spawned (Vikings) they were taken out way before that. I think maybe an extra settler might help?

With the GEM, 34 civs would be intense (more of a suggestion tbh lol)

Any other suggested mods to use with this?
 
Great! I'm looking forward to the release.

If you want any help in SQL and/or XML I'm in. I know that Lua and C++ are the base of the Project but...
Thanks :)

I will definitly use help when I'll launch it, but don't you have your own project ?

Couple of things I've noticed whilst playing on your Giant Earth Map:

City states will spawn even if they are turned off, I assume the mod isn't checking that.

Some nations are getting crushed pretty early, like Rome. I am not sure if Greece was just that powerful or what, but by the time I spawned (Vikings) they were taken out way before that. I think maybe an extra settler might help?

With the GEM, 34 civs would be intense (more of a suggestion tbh lol)

Any other suggested mods to use with this?
Thanks for the feedback :)

I'll release a first balance fix soon, some initializing functions were not working for the AI.

I'll also update Ynaemp to prevent the CS spawning when they should not.

I've also already added settlers by era in my test version.

It should work with the 34 civs DLL.
 
Thanks :)

I will definitly use help when I'll launch it, but don't you have your own project ?


Thanks for the feedback :)

I'll release a first balance fix soon, some initializing functions were not working for the AI.

I'll also update Ynaemp to prevent the CS spawning when they should not.

I've also already added settlers by era in my test version.

It should work with the 34 civs DLL.

Ah, settlers by test era is a good idea. I'll add that on my next version. I believe both your revolutions mod and your 34 dll no longer work, would be awesome if you updated them ;).

I would also not recommend using tech diffusion with the mod, gives too many free techs.

I am using cultural diffusion, and it's working great, along with emigration.
 
what's the problem with the 34 civs DLL ?

and yes, revolution would need an update for CS initialization, like ynamp.
 
Revolutions apparently makes the game reallly slow (according to its thread).

34 CIV DLL crashes on mod load.
 
ASAP.

but I had a crash just before going to sleep last night, and I want to check first if it was random or mod related before releasing the update...

It was a fun game btw, spawning on the Ynaemp Europe as the Huns and going west with all units converted at start to burn the land of older Greece & Rome... :D
 
Nice ;). I'll probably start another Vikings game when I get home today, the wait for all the turns is pretty intense though lol.

Any news on the revolutions and 34 civ DLL tho?
 
I can't work on 4 mods at the same time, 2 are enough. :D

ynaemp and this one got updated first.

don't excpect anything for the 34 civs DLL, it's a problem with CS mods, no idea what's wrong.

but Ynaemp update may fix Revolutions. what's the problem with it exactly ?
 
According to your revolutions thread, it's making it painfully slow.

Cs mods you say for 34 civ dll? It crashes when no other mods are enabled.


Just want to thank you again for the mods, got me back into CiV.
 
for Revolutions, the actual version was not slower than diffusion on my pc, I think it's a patch of the game that has introduced that problem later, I'll need to test it.

the 34 civ dll doesn't work alone, it needs ynaemp at least.

anyway, I thought you were talking of incompatibility with the mod this thread is dedicated to, if it's not the case, please use the corresponding threads of the other mods.
 
for Revolutions, the actual version was not slower than diffusion on my pc, I think it's a patch of the game that has introduced that problem later, I'll need to test it.

the 34 civ dll doesn't work alone, it needs ynaemp at least.

anyway, I thought you were talking of incompatibility with the mod this thread is dedicated to, if it's not the case, please use the corresponding threads of the other mods.

So diffusion is what slows it down? O ok, that's not too bad then, I noticed a bit of slowing down after turn 300 or so but nothing too bad. I do have a decent rig though, so it might not be as bad for me.

Idk about the 34 Civs, Ill post in that thread/

Sorry about the mix up, I'll post in the other ones from now on ;).
 
I know its kinda hard to ask for help when ive changed the code myself but I've made it so the units will spawn differently according to each civ rather then era (for major civs, minor civ units still spawn by era).

It's really odd because it works for every nation accept for one specific nation (this being England) it crashes. However if I delete England and put in someone else it still crashes for that nation but the other 6 civilizations work fine. It crashes when it is their turn to spawn and the last firetuner line reads "Search for Nearby City-States etc...". I understand this is really vague and if you don't have the time to help its alright.

I posted this part of the code since I thought it was revelant because after each turn im getting "WARNING: CivID is nil for GetCivIDFromPlayerID".

Spoiler :
Code:
function SpawnInitialUnits(playerID, startX, startY)
	Dprint ("-------------------------------------")
	Dprint ("Spawning initial units for " .. tostring(Players[playerID]:GetName()))
	local civID = GetCivIDFromPlayerID(playerID, true)
	local spawnList = g_SpawnList[civID]
	for i, unitType in pairs(spawnList) do
		Players[playerID]:InitUnit(unitType, startX, startY)
	end
end

anyways, thanks!
 
I'll implement something like that using sql/xml to control this mod from another for specific unit spawning / bonus.

about your problem, try to add a print statement in the for ... do ... end loop for unit spawning, I'd like to know if it crashes when they spawn or later when the game tries to teleport them to respect the 1upt rule.
 
I'll implement something like that using sql/xml to control this mod from another for specific unit spawning / bonus.

about your problem, try to add a print statement in the for ... do ... end loop for unit spawning, I'd like to know if it crashes when they spawn or later when the game tries to teleport them to respect the 1upt rule.

This is what you wanted?

Spoiler :
Code:
function SpawnInitialUnits(playerID, startX, startY)
	Dprint ("-------------------------------------")
	Dprint ("Spawning initial units for " .. tostring(Players[playerID]:GetName()))
	local civID = GetCivIDFromPlayerID(playerID, true)
	local spawnList = g_SpawnList[civID]
	for i, unitType in pairs(spawnList) do
		Dprint ("-------------------------------------")
		Dprint ("Spawnlist in Pairs is operating!")
		Players[playerID]:InitUnit(unitType, startX, startY)
	end
end

And then got this...

Spoiler :
Code:
[10394.268] HSD_Main: -------------------------------------
[10394.268] HSD_Main: Looking for civs to wake up...
[10394.268] HSD_Main: - trying to wake up Elizabeth
[10394.268] HSD_Main: -------------------------------------
[10394.268] HSD_Main: Spawning initial units for Elizabeth
[10394.268] HSD_Main: -------------------------------------
[10394.284] HSD_Main: Spawnlist in Pairs is operating!
[10394.284] HSD_Main: -------------------------------------
[10394.284] HSD_Main: Spawnlist in Pairs is operating!
[10394.284] HSD_Main: -------------------------------------
[10394.284] HSD_Main: Spawnlist in Pairs is operating!
[10394.284] HSD_Main: -------------------------------------
[10394.284] HSD_Main: Spawnlist in Pairs is operating!
[10394.284] HSD_Main: -------------------------------------
[10394.299] HSD_Main: Spawnlist in Pairs is operating!
[10394.299] HSD_Main: -------------------------------------
[10394.299] HSD_Main: Search for nearby Barbarians to convert for Elizabeth
[10394.299] HSD_Main: -------------------------------------
[10394.299] HSD_Main: Search for nearby City State to convert for Elizabeth

After that last line in crashes and thanks again for the help. I suppose I could wait for you to implement this but I want to get better at LUA:).
 
Back
Top Bottom