Sunday, May 14, 2017

Crusader Kings 2 - Society Modification

Crusader Kings 2 Society Modification
5/13/2017

I thought it might be cool to make my own mod for Crusader Kings 2, a society. Theme Botany. I will try to create a society that can collect a plant or artifact from a county to add to their collection. I guess this could be duplicated for any type of county collecting of whatever item.

To start:
https://www.youtube.com/watch?v=WGwCoFX1nn0
This guide tells you how to make a mod shell so you don't ruin your game. Step 1. Must do. If you follow its instructions, if the game start up screen you should be able to check your mod in the mod categories, even though there is nothing in it. It worked for me!



I named my mod folder:
...Documents\Paradox Interactive\Crusader Kings II\mod\BotanicalSociety_TMCcustom

From this location:
C:\Program Files (x86)\Steam\steamapps\common\Crusader Kings II
I copied the following folders:
localisation
interface
gfx
decisions
events
common
to the following folder:
...Documents\Paradox Interactive\Crusader Kings II\mod\BotanicalSociety_TMCcustom
 This was a lot of files so it took a few moments. This copies everything I think I will need and now I can edit the files in this folder and not ruin my original game.

I went into:
...Documents\Paradox Interactive\Crusader Kings II\mod\BotanicalSociety_TMCcustom\common\societies

I searched for the Hermetic society. I then copied it, pasted it on top of the file, then changed Hermetic with Botanistic.



###BOTANISTIC ORDER###
Botanistic = {
    primary_attribute = learning
    society_ranks_gfx = generic_ranks
    opinion_to_other_members = +10
    opinion_per_rank_above = +5
    sound = hermetic_society_interface
    non_interference = {
        always = yes
    }
   
    active = {
        has_dlc = "Mystics"
    }
    indestructible = yes
   
    can_join_society = {
        hidden_trigger = {
            NAND = {
                ai = yes
                is_society_rank_full = {
                    society = Botanistic
                    rank = 1
                }
            }
            OR = {
                is_landed = yes
                is_patrician = yes
            }
        }
        learning = 10
        OR = {
            religion_group = christian
            religion_group = muslim
            religion_group = jewish_group
            religion_group = zoroastrian_group
            custom_tooltip = {
                text = zunist_hermetic_join_tooltip
                hidden_trigger = {
                    OR = {
                        religion = zun_pagan                   
                        religion = zun_pagan_reformed
                    }
                }
            }
            religion = hellenic_pagan
        }
        NOR = {
            is_nomadic = yes
            is_tribal = yes
        }
        hidden_trigger = { mercenary = no }
        age = 16
        hidden_trigger = {
            NOT = { has_character_flag = society_join_block }
        }
    }

    show_society = {
        OR = {
            religion_group = christian
            religion_group = muslim
            religion_group = jewish_group
            religion_group = zoroastrian_group
            religion = zun_pagan
            religion = zun_pagan_reformed
            religion = hellenic_pagan
        }
    }
   
    potential = {
        NOR = {
            is_nomadic = yes
            is_tribal = yes
        }
        age = 16
        #If something else is added here, it could break apprenticeship. Create an event if they can get kicked out. title_Botanistic_apprentice
    }
   
    society_rank = {
        level = 1
        limit = 200
        startup_limit = 10
        modifier = {
            church_opinion = -10
            #economy_techpoints = 0.05
        }
        decisions = {
            Botanistic_write_theory_paper # Enables you to write a theorem paper that, if approved, gives you society power
        }
    }
   
    society_rank = {
        level = 2
        limit = 100
        startup_limit = 6
        modifier = {
            learning = 1
            church_opinion = -10
        }
        decisions = {
            Botanistic_perform_scrying # Enables you to perform a scrying and gain an omen
            brew_happiness_potion # Enables you to brew a potion
        }
    }
   
    society_rank = {
        level = 3
        limit = 50
        startup_limit = 4
        modifier = {
            learning = 2
            church_opinion = -10
        }
        decisions = {
            Botanistic_make_horoscope # Enables you to "predict" your children's future
        }
    }

    society_rank = {
        level = 4
        limit = 20
        startup_limit = 2
        modifier = {
            learning = 3
            church_opinion = -10
        }
        decisions = {
            choose_hermetic_art # Enables you to pick/change your lifestyle trait
            Botanistic_write_magnum_opus # Write an enciphered book of lore (artifact)
        }
    }
   
    plots = {
    }
   
    monthly_currency_gain = {
        name = currency_name_Botanistic
       
        per_attribute = {
            name = learning
            value = 0.5
        }
        has_trait = {
            value = 2
            trait = diligent
        }
        has_trait = {
            value = 1
            trait = scholar
        }
        has_trait = {
            value = 1
            trait = mystic
        }
        has_trait = {
            value = 1
            trait = erudite
        }
        has_trait = {
            value = 1
            trait = stubborn
        }
        has_trait = {
            value = 1
            trait = patient
        }
        has_trait = {
            value = 1
            trait = genius
        }
        has_trait = {
            value = 1
            trait = quick
        }
        has_trait = {
            value = 1
            trait = shrewd
        }
        has_trait = {
            value = 1
            trait = just
        }
        society_rank = {
            rank = 4
            value = 10
        }
    }

    member_score_per_attribute = 3
    member_score_per_rank = 100

    member_score = {
        value = 10

        modifier = {
            factor = 2
            trait = diligent
        }
        modifier = {
            factor = 1.5
            trait = scholar
        }
        modifier = {
            factor = 1.5
            trait = mystic
        }
        modifier = {
            factor = 1.5
            trait = erudite
        }
        modifier = {
            factor = 1.5
            trait = stubborn
        }
        modifier = {
            factor = 1.5
            trait = patient
        }
        modifier = {
            factor = 1.5
            OR = {
                trait = genius
                trait = quick
                trait = shrewd
            }
        }
        modifier = {
            factor = 1.5
            trait = just
        }
    }
   
    startup_populate = {
        trigger = {
            ai = yes
            controls_religion = no
            age = 16
            is_in_society = no
            is_dumb_trigger = no
            OR = {
                NOT = { is_priest = yes }
                OR = {
                    trait = mystic
                    trait = scholar
                    trait = cynical
                }
            }
            OR = {
                AND = {
                    is_landed = yes
                    OR = {
                        learning = 14
                        trait = scholar
                        trait = faqih
                        trait = erudite
                        trait = genius
                        trait = mystic
                    }
                }
                AND = {
                    learning = 18
                    OR = {
                        trait = scholar
                        trait = faqih
                        trait = erudite
                        trait = genius
                        trait = mystic
                        learning = 20
                    }
                }
            }
            OR = {
                religion_group = christian
                religion_group = muslim
                religion_group = jewish_group
                religion_group = zoroastrian_group
                religion = zun_pagan
                religion = zun_pagan_reformed
                religion = hellenic_pagan
            }
        }
    }
}


Saved it all. Then I checked it out in game. Seems it worked! I saw the society. They even put a lot of priests into it. When I click join society, I can't. This will be a long road to follow.




Note I put the curser to see the rank of the society members. This was my next goal.

I subscribed to the the_great_trade_league by Maal mod from the Steam Workshop. From there I looked at his files.

At this location:
...Documents\Paradox Interactive\Crusader Kings II\mod\BotanicalSociety_TMCcustom\localisation
I copied from the the_great_trade_league by Maal mod left only a few lines of the csv file. Yes now I am using excel rather than just Notepad++.



Rough picture, but good for the speed I made it. Pay attention to the Botanistic_Rank_1_male areas. I did not modify the female versions yet. So I modified the male ranks to Gardener, Farmer, Botanist, Curator. Yes I spelled it wrong in the file.

I pasted this excel csv file into:
...Documents\Paradox Interactive\Crusader Kings II\mod\BotanicalSociety_TMCcustom\localisation

Then I ran the game.



This changed the name of the ranks. I still cant do anything with the society. I just made a shell of The Botanical Society in the game. I then named the ranks of the society. I can't join it. The society copies much of the Hermitic society. This isn't a functional mod, but it did change a few things. Took a few hours, but through looking at the work of others, I figured out what I could.

Do what you can with this, maybe I will do more later.

Have a nice day! Comment if you want!