Divine Yuri
Never Closes Chrome

Download | Source Code
Alternative Download Available at this time below, but Source Code Below is likely out of Date.
To make a randomized game run the .jar file in the located in the folder.
See below for instructions on where to download it.
Current Version : v0.32 (December 8th, 2015)
Ever wanted to throw reality out the window, and have completely random Unique Components and abilities? This is the mod for you!
I made this after seeing a post on one of Marbozir's videos. Someone was talking about the idea of having a randomized game, and while I thought the idea sounded cool I couldn't think of anyway to do it as just a mod in Civilization 5, but I know exactly how to do it with java. I've had this sitting on my computer for 5 months, and never released it for reasons (mostly writing the post), but now it's here with a few changes since then! Any questions or requests add to the post and I'll get back to you.
What the program does is it creates all the necessary files in a folder by your designated name. This file is the randomized set-up created by the program, and will be the same until you run the program again with the same name.
This mod also has randomized support for :
You will still need the original mods to work with the generated games.
Screenshots :
Spoiler :




FAQ:
- Can you get units of the same class type?
The program is designed to stop Class Types from overlapping. - What if I use modded civs with 3rd, and 4th unique components?
It'll be find as long as the 'number of components' option is low enough that you can give each civ that amount of components.
Requirements:
Civilization 5. It should work with any set of DLC, but I recommend all the DLC for the best experience.
Java
How to create your randomized game :
- Download the Mod above
- Put the [BNW]Randomized Game folder into your mods folder location.
- In this folder there will be a few things. Core, and the .modinfo are the mod part of this for Civilization 5. Random(v01).jar, and the Defines folder are used to create the randomized set-up.
- To create the randomized game just run the .jar file, and you'll get something that looks like this:
Spoiler :![]()
4a. If the .jar doesn't run as executable :Spoiler :
Note : My computer is set to Japan for reasons so the command prompt displays \ as the yen symbol.
![]()
- Click on choose directory, and if you put this in the MODS folder all you'll have to do is go up a directory.
Spoiler :![]()
- Click save to set your mods folder location.
Spoiler :![]()
- Use whatever name you want (changing the name allows you to start a new one without losing your old save.)
- Click run, and now you have a mod with your specified name.
Mod support :
OLD GUIDE:
Spoiler :
Adding mods to this is pretty easy.
Video:
- Go to the destination of the .jar file.
- Go into the defines folder, and there you will find a folder called mods.
- In that folder, and create a folder for the civilization you're looking to add.
- copy the contents of my Burger King civilization.
- You will find 4 files in the folder now :
- Civilizations:
Spoiler :--This will serve as a example for adding mods, or for modders who want their mod to work with this.
CIVILIZATION_BURGER_KING
LEADER_THE_KING- RandomSupport:
Spoiler :--This means nothing right now, but the Activate. Better support later. I might add support to add more to
-- Set true to activate the mod.
-- Mod ID.
false
1bf3a102-8cfa-468f-9255-12e3b31572da
--Name
Burger King
--IGNORE ALL BELOW
--lua?
true
--if lua how do I deal with that?
--Some notes on how this will be handled.
--( # ) # in CHANGE case is to tell how many more lines to read RIGHT AFTER (It'll read comments) the Change.
CHANGE ( 1 )
CIVILIZATION_BURGER_KING = #TARGETCIV#
--If you had a second it would be here not the next line.
--The values you can do is:
--#TARGETLEADER#
--#TARGETUNIT#
--#TARGETBUILDING#
--#TARGETIMPROVEMENT#
--This is for the future though. I want to make it work with lua mods in particular for a lot of the really good civs are lua base.
--Any comments from lua mod makers is great to help me make files that will help make the random process work on the civilizations.- Trait:
Spoiler :TRAIT_THE_KING- Uniques (needs to be 2 in current version.):
Spoiler :UNIT_BK_MECH
UNITCLASS_MECH
BUILDING_BURGER_KING
BUILDINGCLASS_GRANARY- Change the contents to the modded civilization.
- If one of the unique components is a unique improvement use the civilization's name after the improvement.
- If all the contents are correct it should work with any civilization.
Other :
- LUA : Lua based mods are usually connected to the civilization, and so to fix this if the civilization is LUA based add " #Connected# " to the end of the Civilization ID, and add the Trait ID to the end of that. Now the Civilization will always have the same trait.
- Connecting Traits, and unique components: Same as above add #Connected# to the end of the Trait, and add the unique component.
- Run the .jar
- Get the modded Civ's directory.
- Click on Generate
- You're Done!
Though old guide is still needed for : Mods with >1 Civs.This has been addressed for a while now.
To enable the modded civs you just need to go to Defines > Mods > Mod's Folder > ModSupport.txt, and change false to true.Click the Change Mods button, and it'll do the work of changing the ModSupport.txt for you.
What I want to do in the future :
Spoiler :
- Total Random version. Mostly it will change the text and picture of all components, and traits to just be ? marks.
- Random Events and decisions. (Mostly Decisions)
- Add a starting bias fix. Mostly something that will push a civilization towards a certain starting bias based on there Uniques.
- More competitive AI. More to say AI that will take advantage of the new uniques they are given.
- Adding in a Mod Component. Something that will deal with certain problems that exist like only one city for Venice, and The Huns.
- Fix my own civilizations to work with this.
For Modders (Dec 7):
Spoiler :
You still don't really have to do anything, but if you make a lua based mod and it's trait is based off the trait, and not the civilization add a file called: RandomSupport.txt anywhere, and put into it : TraitBasedLua = 'TRUE';
Also if you want a quick way to change the CivID I've created this lua function which will allow you to still use your existing CivID. Just Copy this to the top of your lua, and make your CivID = GetCivilizationByTrait( "TRAIT_ID" )
Code:
function GetCivilizationByTrait( uType )
local civilization = nil
for uniqueTrait in GameInfo.Leader_Traits() do
if ( uniqueTrait.TraitType == uType ) then
local leader = uniqueTrait.LeaderType
for uniqueLeader in GameInfo.Civilization_Leaders() do
if( uniqueLeader.LeaderheadType == leader ) then
local civilizationTXT = uniqueLeader.CivilizationType
for uniqueCivilization in GameInfo.Civilizations() do
if uniqueCivilization.Type == civilizationTXT then
civilization = uniqueCivilization.ID
break
end
end
end
end
end
end
return civilization
end
Also you can make the randomize function to work indefinitely by adding this to the file :
Code:
TraitBasedLua = 'TRUE';
OVERRIDE_AUTO = {
MOD_SUPPORT = {
Civ4Traits = {
LEADER_AKANE = {
Leader = 'LEADER_AKANE';
LeaderTXT = 'Akane ';
};
};
};
CIVILIZATIONS = {
CIVILIZATION = {
Civilization = 'CIVILIZATION_ID';
Leader = 'LEADER_ID';
};
};
COMPONENTS = {
COMPONENT = {
Type = 'TYPE_ID';
Class = 'CLASS_ID';
};
COMPONENT = {
Type = 'TYPE_ID';
Class = 'CLASS_ID';
};
};
TRAITS = {
TRAIT = {
--Required adds to the Pool of traits.
Type = 'TRAIT_KOMI_TOLERANCE';
--Not Required you could just remove this, but will keep these components with the Trait.
--These components ARE counted towards the number of components per Civilization,
--and should be added to normal Components or it won't add the component.
Components = {
COMPONENT = {
Type = '';
Class= '';
};
COMPONENT = {
Type = '';
Class= '';
};
};
--Not Required you could just remove this, but will keep these components with the Trait.
--These components ARE NOT counted towards the number of components per Civilization,
--and should NOT be added to normal Components.
--They are added with the trait to the designated Civilization around the same time.
TraitComponents = {
COMPONENT = {
Type = '';
Class= '';
};
COMPONENT = {
Type = '';
Class= '';
};
};
};
};
};
Known Bugs:
Spoiler :
None atm, but Murphy's Law will find a way.
Updates:
Spoiler :
Update v0.31
- Added the Rejected(Additional) Unique Components mod support. If selected it will add 19 extra components to the pool of possible components when randomizing.
Version 3 :
- Support for Third Unique Components Added
- Support for Fourth Unique Components Added
- The User can change the number of unique components (up to what's available, so the max is 4 with both Unique Components mods, but you're allowed to have 3 components given with all mods.).
- The Auto-Modder has been reworked, and while not perfect yet should work with more mods.
- Auto-Modder now works with mods with multiple civilizations.
- Auto-Modder could possibly work with mods that have NO civilizations just uniques.
- Various "Fixes"(watch it break something else!
) to the Auto Modded Civilizations.
- Only For source : a new function for distributing components that allows any number of combinations (still keeping classes separate).
- Added support for various Mods :
- Culture Diversity - If you use the Cultural Diversity Mod you can now have all civilizations given a Randomized Culture Group.
- Civilization 4 Traits in Civilization 5 - All civilizations will end up with 2 Randomized Traits from this Mod.
- Removed the problems with new Civilizations for the user. Now to add modded civilizations all you have to do is find is directory, and click a button.
Trying to play with reddit's auto-picture system (didn't work) :

Special Thanks :
Calcul8tor, for allowing me to use his mods as examples.