• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Showing developer posts only. Show all posts in this thread.
Okey guys, i think this is solvable ATM, i just do not get discord running so i can get it explained O;)
post or pmsg me the script will you?
 
The script is 01_scripted_triggers_jobs, these two bits are responsible for the issue:

Code:
is_organic_species = {
    OR = {
        is_species_class = HUM
        is_species_class = MAM
        is_species_class = REP
        is_species_class = AVI
        is_species_class = ART
        is_species_class = MOL
        is_species_class = FUN
        is_species_class = PLANT
    }
}

Code:
is_robotic_species = {
    OR = {
        is_species_class = ROBOT
        is_species_class = MACHINE
    }
}

They're referencing vanilla species_classes explicitly, meaning that modded species_classes (which is pretty much all of the custom species out there since we also can't add new species to existing classes in a clean cross-compatible way) are not considered either organic or robotic unless they're added there... which given that there's hundreds of them, is not feasible and would absolutely murder anyone who would attempt to maintain a unified compatibility patch.

Back around Synthetic Dawn, we had the same issue with traits. To resolve that and avoid the same problem in the future (hello! future here! n_n) Wiz implemented species_archetypes and archetype inheritance.

Ideally, I would love if the archetype system could be reused here since it's worked perfectly so far.
Yeah that part i understood, and i never meddle with how our CD/GC:s has scripted stuff, will ofc bring the issue to them... but what i meant was, if you explain what you want right now and how your current script looks i might be able to help
 
Ah, yeah i totally missunderstood! Sorry for the confusion guys
 
hmmm so the CD:s are discussing the issue atm, i as coder are thinking of an addition to how our databases are treating scripts.
This is just hypothetical atm and i have not yet had time to think out some issues how to achieve proper error reporting nor reloading of dbs:
Vanilla:
Code:
my_db_object = { ... }
File loaded externally:
Code:
my_db_object : overwrite  = { ... } #Clears the object to default before reading it, gives error if no object to overwrite exists
my_db_object : override  = { ... } #Does not clear the object before reading so if the data is appended or overwritten is up to that atribute, gives error if no object to override exists
my_db_object = { ... } #Gives error, already exists.
Any spontaneous feedback?
 
Last edited:
Yep exactly (syntax will prob be closer to my pseudocode because of our parser), but this is just in my mind right now and nothing we currently are doing O;)
Let me get back to you guys regarding the override/overwrite after new years since i am kinda crammed right now with performance improvements O;)
But all suggestions/feedback is appreciated, i would hate developing a modding feature without feedback from modders O;)
 
The overwrite method certainly sounds awesome, though as you says its just spitballing.
Well overwrite you have has it is right now, thats is the default method we are using for db:s. (and also this problem)

Princesses Stabbity's suggestion is certainly workable as a stopgap, a smaller proper fix than developing a whole new override would be to extend the archetypes system.
First off;
The CD:s are fixing/conjuring a fix for this as fast as possible so i think that one will be about within a week or two (will not effect this suggestion whatsoever)
Second:
This is not a new system, just a small addon that will have limited usability but something to expand on, lines of code would be less than 100, proper error reporting excluded O;)
 
Now that it's January (happy new year!) are there any news on either content-level or code-level solutions? n_n
Check the 2.2.3 (or 2.2.4 beta), it should be rewritten to use archetypes just as you guys suggested
 
Okey, so now i am just gonna wait until you guys has reached a conclusion before i summarize and forward this issue O;)
 
I will consult the CD:s and investigate, you guys have fair points O;)
Unfortunate we are kinda swamped right now and as you all know by now is "moddability" usually goes under "QoL" so prio might be kinda low (this is why i encourage modders to apply for beta access when those opportunities are open for public)

//Guraan