Jump to content

[CK2] Static Portrait Replacer ver. 4.00 [CKII 2.7.1+ Compatible]


Recommended Posts

2 hours ago, ngppgn said:

Actually, simple mods would probably only use a set of 27 portraits. It'd probably be better to supply one such reduced template mod, to disincentivise modders from bloating their mods with unnecessary traits.

That would be nice, 27 seems good, maybe 50 would also be a good number.

Link to comment
  • 3 weeks later...
On 4/30/2018 at 4:21 PM, Abominus said:

That would be nice, 27 seems good, maybe 50 would also be a good number.

 

Yea, let me make a 54 portrait version. That should be a nice amount. I don't want to offer any more download options beyond that to avoid confusion; the mod is confusing for some people already.

 

On 5/1/2018 at 9:05 AM, ngppgn said:

Ok, minor nitpick, but shouldn't the thread title be modofied to reflect it's compatibility woth the current version?

 

I updated it. Ever since your mod code was added, the compatibility of the mod is basically always compatible now, starting with CKII 2.7.1, so I never thought to update the title, lol. It's nice not having to worry about Paradox breaking it, unless something unforeseen happens.

 

Link to comment
  • 1 month later...

I've tried to use the Independent Custom Portraits submod and it doesn't seem to work. I've renamed the INSERTNAME part in every file and still when I try to apply the portrait by console the trait gets applied but the character portrait remains the same. I don't think it's because of Dark World since it's supposed to have a different set of portraits. Besides that I'm not using any mod that has it's own static_portraits file. I've ran out of ideas what might be the problem.

Link to comment
2 hours ago, shadow1234 said:

I've tried to use the Independent Custom Portraits submod and it doesn't seem to work. I've renamed the INSERTNAME part in every file and still when I try to apply the portrait by console the trait gets applied but the character portrait remains the same. I don't think it's because of Dark World since it's supposed to have a different set of portraits. Besides that I'm not using any mod that has it's own static_portraits file. I've ran out of ideas what might be the problem.

I use Independent Custom Portraits in a mod I'm making and it works fine. DWR does not conflict, they work alongside each other just fine.

 

Two instances I noted it will not work are;

 

1. cannot overwrite children portraits, the mechanics of the game just doesn't allow it.

2. I'm not sure exactly why but I made a trait and if a child has this specific trait they do not get a new portrait when reaching adulthood until the trait is removed. The trait is a homemade version of immortal that uses the line immortal = yes. As soon as I remove this trait the npc portrait immediately updates to an adult portrait, either vanilla or the custom ones already applied. Probably because immortal freezes aging.

 

If you are testing with an adult and do not have any special traits like immortal then my guess is there is breakage in either the gfx or the interface files. Without seeing the files though that's the best I got.

Link to comment
15 hours ago, Alaratt said:

I use Independent Custom Portraits in a mod I'm making and it works fine. DWR does not conflict, they work alongside each other just fine.

 

Two instances I noted it will not work are;

 

1. cannot overwrite children portraits, the mechanics of the game just doesn't allow it.

2. I'm not sure exactly why but I made a trait and if a child has this specific trait they do not get a new portrait when reaching adulthood until the trait is removed. The trait is a homemade version of immortal that uses the line immortal = yes. As soon as I remove this trait the npc portrait immediately updates to an adult portrait, either vanilla or the custom ones already applied. Probably because immortal freezes aging.

 

If you are testing with an adult and do not have any special traits like immortal then my guess is there is breakage in either the gfx or the interface files. Without seeing the files though that's the best I got.

By breakage you mean that the gfx files may be in a wrong format or size?

Link to comment
46 minutes ago, shadow1234 said:

By breakage you mean that the gfx files may be in a wrong format or size?

I was thinking more like you are missing an { or accidently overwrote the _ between INSERTNAME and the rest in the interface file. Or yes, saved it in the wrong format. If the traits are being added but no picture then I am assuming the connection between the traits and the pictures is broken, otherwise you should see the blank version of remedy portraits in-game with the number when you add the trait even if you screwed something up when adding your pictures.

Link to comment
25 minutes ago, Alaratt said:

I was thinking more like you are missing an { or accidently overwrote the _ between INSERTNAME and the rest in the interface file. Or yes, saved it in the wrong format. If the traits are being added but no picture then I am assuming the connection between the traits and the pictures is broken, otherwise you should see the blank version of remedy portraits in-game with the number when you add the trait even if you screwed something up when adding your pictures.

Ok, so I've checked the interface file and discovered that I have to open it with notepad and edit the INSERTNAME parts in it as well... Everything works fine now, the problem was just in my own stupidity. Anyway, thanks for help!

Link to comment
  • 3 weeks later...
On 7/7/2018 at 2:59 PM, Alaratt said:

Probably because immortal freezes aging.

Correct, my portrait system requires a child to reach adulthood to display the portrait, but immortality freezes aging, so if a child becomes immortal, they are essentially never going to get a portrait. Unfortunately, the immortality behavior is hard-coded so I can't adjust it, but let me know if you or anyone else finds a way. Paradox has slowly been opening up their hard-coding over the years, so anything is possible!

 

The work-around to all this is to remove the character's immortality to allow the game to auto-assign them an adulthood DNA portrait, and then reassigning them immortality.

 

In case you're wondering, the Paradox CKII immortality event chain requires a character to be age 16 or higher to receive the event, so by default, it's impossible for a child to become immortal anyways. My guess is Paradox was too embarrassed to lock in characters as permanent children, thus they required age 16 for the adulthood portrait system to take place before they're eligible for immortality.

Link to comment
  • 2 months later...
  • 1 month later...

I have just started with the in_game creation of a character. I would like to add a static portrait and am trying to use this mod. I have a problem in adding the picture I created with GIMP to the empty remedy portrait swapping template. When I drag my custom made portrait into the template it automatically settles into the center circle (no 13) of the template. It is not possible to  move it to another part of the template. When I add a second portrait it also goes into position 13 and overwrites the existing portrait. What am I doing wrong?

 

Link to comment
24 minutes ago, joemann said:

I have just started with the in_game creation of a character. I would like to add a static portrait and am trying to use this mod. I have a problem in adding the picture I created with GIMP to the empty remedy portrait swapping template. When I drag my custom made portrait into the template it automatically settles into the center circle (no 13) of the template. It is not possible to  move it to another part of the template. When I add a second portrait it also goes into position 13 and overwrites the existing portrait. What am I doing wrong?

 

For starters, make sure that you are working with correct layer, though GIMP should automatically put your picture on separate layer and auto select it.

Link to comment
  • 2 weeks later...
On 11/27/2018 at 11:44 AM, joemann said:

I have just started with the in_game creation of a character. I would like to add a static portrait and am trying to use this mod. I have a problem in adding the picture I created with GIMP to the empty remedy portrait swapping template. When I drag my custom made portrait into the template it automatically settles into the center circle (no 13) of the template. It is not possible to  move it to another part of the template. When I add a second portrait it also goes into position 13 and overwrites the existing portrait. What am I doing wrong?

 

I'm not familiar with GIMP, but images you bring into any art-editing program should be able to be dragged anywhere you want. Make sure you have the layer selected that you brought the picture into, otherwise the image won't respond when you attempt to drag it.

Link to comment
  • 4 months later...

So, long-time user of this mod, not sure if anyone's having issues since the 3.1 patch. Portraits no longer apply for me.

 

No other mods, using the independent custom portrait; even without renaming traits/gfx/interface, the traits change the character's clothes but do not overlay a portrait above it.

 

I notice that Dark World Fantasy use MIP maps now for their portraits, for some reason. Is that a change anyone's aware of?

 

EDIT: MIP maps seem to now be required. Easy fix for people updating to 3.1 (or edge case for just me, maybe?): same save options as before (DXT5, ARGB 8bbp interpolated alpha, 2D texture), except instead of "no MIP maps", select "MIP map generation".

 

Hopefully it'll help someone else using this.

Link to comment
  • 3 weeks later...

Baelor The Blessed sister, Rhaena, has the wrong portrait. I think you gave the portrait of Rhaena, Baelor's sister to another Rhaena. There's three with that name. I can send a link for an image of the three sisters with the same art style so it doesn't look out of place with the other sisters portraits. I saw the artwork in the book "The World of Ice & Fire: The Untold History of Westeros and the Game of Thrones", so the artwork is official. Ellyn Reyne, Jeyne Marbrand and Ashara Dayne are also missing portraits. Also, not all of the mistresses of Aegon IV Targaryen have portraits. The sisters of Aegon I have no portraits.

Link to comment
  • 3 weeks later...

I'm here with an update that nobody has asked for, but since I made these for myself I figured I might as well share.

 

 

remedy_portrait_swapping25.dds (625-650) remedy_portrait_swapping24.dds (599-524)

remedy_portrait_swapping23.dds (573-598) remedy_portrait_swapping22.dds (547-572)

remedy_portrait_swapping21.dds (521-546) remedy_portrait_swapping20.dds (495-520)

remedy_portrait_swapping19.dds (469-494) remedy_portrait_swapping18.dds (443-468)

remedy_portrait_swapping17.dds (417-442) remedy_portrait_swapping16.dds (391-416)

remedy_portrait_swapping15.dds (365-390) remedy_portrait_swapping14.dds (339-364)

remedy_portrait_swapping13.dds (313-338) remedy_portrait_swapping12.dds (287-312)

remedy_portrait_swapping11.dds (261-286) remedy_portrait_swapping10.dds (235-260)GRID.thumb.png.f066f5c2af30f25e39919c13fa7eddfa.png

edit: just noticed that I've messed up the numbers on the grid above, uploading a new version soon

edit2: number should be correct now

Link to comment
  • 4 months later...
On 4/28/2019 at 4:24 PM, twgrb1 said:

So, long-time user of this mod, not sure if anyone's having issues since the 3.1 patch. Portraits no longer apply for me.

 

No other mods, using the independent custom portrait; even without renaming traits/gfx/interface, the traits change the character's clothes but do not overlay a portrait above it.

 

I notice that Dark World Fantasy use MIP maps now for their portraits, for some reason. Is that a change anyone's aware of?

 

EDIT: MIP maps seem to now be required. Easy fix for people updating to 3.1 (or edge case for just me, maybe?): same save options as before (DXT5, ARGB 8bbp interpolated alpha, 2D texture), except instead of "no MIP maps", select "MIP map generation".

 

Hopefully it'll help someone else using this.

You sir are a hero. I was about to give up my rias gremory immortal bombshell run because of the portraits not working. Thx.

Link to comment
  • 4 months later...

i'm lazy & using 2 sets of portraits (52) + Sketchy Cheat Menu

so i made this:

Spoiler

\decisions\cheats_menu.txt

Quote

    change_gender = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
        }
        allow = {
            always = yes
        }
        effect = {
            set_gender = opposite
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    new_face = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            NOT = {
                trait = portrait1
                trait = portrait2
                trait = portrait3
                trait = portrait4
                trait = portrait5
                trait = portrait6
                trait = portrait7
                trait = portrait8
                trait = portrait9
                trait = portrait10
                trait = portrait11
                trait = portrait12
                trait = portrait13
                trait = portrait14
                trait = portrait15
                trait = portrait16
                trait = portrait17
                trait = portrait18
                trait = portrait19
                trait = portrait20
                trait = portrait21
                trait = portrait22
                trait = portrait23
                trait = portrait24
                trait = portrait25
                trait = portrait26
                trait = portrait27
                trait = portrait28
                trait = portrait29
                trait = portrait30
                trait = portrait31
                trait = portrait32
                trait = portrait33
                trait = portrait34
                trait = portrait35
                trait = portrait36
                trait = portrait37
                trait = portrait38
                trait = portrait39
                trait = portrait40
                trait = portrait41
                trait = portrait42
                trait = portrait43
                trait = portrait44
                trait = portrait45
                trait = portrait46
                trait = portrait47
                trait = portrait48
                trait = portrait49
                trait = portrait50
                trait = portrait51
                trait = portrait52
            }
        }
        allow = {
            always = yes
        }
        effect = {
                add_trait = portrait1
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    old_face = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            OR = {
                trait = portrait1
                trait = portrait2
                trait = portrait3
                trait = portrait4
                trait = portrait5
                trait = portrait6
                trait = portrait7
                trait = portrait8
                trait = portrait9
                trait = portrait10
                trait = portrait11
                trait = portrait12
                trait = portrait13
                trait = portrait14
                trait = portrait15
                trait = portrait16
                trait = portrait17
                trait = portrait18
                trait = portrait19
                trait = portrait20
                trait = portrait21
                trait = portrait22
                trait = portrait23
                trait = portrait24
                trait = portrait25
                trait = portrait26
                trait = portrait27
                trait = portrait28
                trait = portrait29
                trait = portrait30
                trait = portrait31
                trait = portrait32
                trait = portrait33
                trait = portrait34
                trait = portrait35
                trait = portrait36
                trait = portrait37
                trait = portrait38
                trait = portrait39
                trait = portrait40
                trait = portrait41
                trait = portrait42
                trait = portrait43
                trait = portrait44
                trait = portrait45
                trait = portrait46
                trait = portrait47
                trait = portrait48
                trait = portrait49
                trait = portrait50
                trait = portrait51
                trait = portrait52
            }
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait1
                remove_trait = portrait2
                remove_trait = portrait3
                remove_trait = portrait4
                remove_trait = portrait5
                remove_trait = portrait6
                remove_trait = portrait7
                remove_trait = portrait8
                remove_trait = portrait9
                remove_trait = portrait10
                remove_trait = portrait11
                remove_trait = portrait12
                remove_trait = portrait13
                remove_trait = portrait14
                remove_trait = portrait15
                remove_trait = portrait16
                remove_trait = portrait17
                remove_trait = portrait18
                remove_trait = portrait19
                remove_trait = portrait20
                remove_trait = portrait21
                remove_trait = portrait22
                remove_trait = portrait23
                remove_trait = portrait24
                remove_trait = portrait25
                remove_trait = portrait26
                remove_trait = portrait27
                remove_trait = portrait28
                remove_trait = portrait29
                remove_trait = portrait30
                remove_trait = portrait31
                remove_trait = portrait32
                remove_trait = portrait33
                remove_trait = portrait34
                remove_trait = portrait35
                remove_trait = portrait36
                remove_trait = portrait37
                remove_trait = portrait38
                remove_trait = portrait39
                remove_trait = portrait40
                remove_trait = portrait41
                remove_trait = portrait42
                remove_trait = portrait43
                remove_trait = portrait44
                remove_trait = portrait45
                remove_trait = portrait46
                remove_trait = portrait47
                remove_trait = portrait48
                remove_trait = portrait49
                remove_trait = portrait50
                remove_trait = portrait51
                remove_trait = portrait52
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face1 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait1
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait1
                add_trait = portrait2
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face2 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait2
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait2
                add_trait = portrait3
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face3 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait3
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait3
                add_trait = portrait4
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face4 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait4
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait4
                add_trait = portrait5
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }

    next_face5 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait5
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait5
                add_trait = portrait6
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face6 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait6
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait6
                add_trait = portrait7
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face6 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait6
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait6
                add_trait = portrait7
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face7 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait7
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait7
                add_trait = portrait8
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face8 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait8
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait8
                add_trait = portrait9
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face9 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait9
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait9
                add_trait = portrait10
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face10 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait10
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait10
                add_trait = portrait11
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face11 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait11
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait11
                add_trait = portrait12
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face12 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait12
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait12
                add_trait = portrait13
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face13 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait13
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait13
                add_trait = portrait14
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face14 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait14
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait14
                add_trait = portrait15
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face15 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait15
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait15
                add_trait = portrait16
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face16 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait16
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait16
                add_trait = portrait17
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face17 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait17
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait17
                add_trait = portrait18
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face18 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait18
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait18
                add_trait = portrait19
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face19 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait19
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait19
                add_trait = portrait20
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face20 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait20
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait20
                add_trait = portrait21
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face21 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait21
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait21
                add_trait = portrait22
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face22 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait22
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait22
                add_trait = portrait23
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face23 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait23
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait23
                add_trait = portrait24
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face24 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait24
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait24
                add_trait = portrait25
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face25 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait25
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait25
                add_trait = portrait26
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face26 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait26
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait26
                add_trait = portrait27
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face27 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait27
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait27
                add_trait = portrait28
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face28 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait28
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait28
                add_trait = portrait29
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face29 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait29
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait29
                add_trait = portrait30
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face30 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait30
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait30
                add_trait = portrait31
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face31 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait31
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait31
                add_trait = portrait32
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face32 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait32
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait32
                add_trait = portrait33
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face33 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait33
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait33
                add_trait = portrait34
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face34 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait34
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait34
                add_trait = portrait35
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face35 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait35
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait35
                add_trait = portrait36
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face36 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait36
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait36
                add_trait = portrait37
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face37 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait37
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait37
                add_trait = portrait38
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face38 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait38
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait38
                add_trait = portrait39
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face39 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait39
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait39
                add_trait = portrait40
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face40 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait40
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait40
                add_trait = portrait41
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face41 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait41
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait41
                add_trait = portrait42
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face42 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait42
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait42
                add_trait = portrait43
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face43 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait43
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait43
                add_trait = portrait44
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face44 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait44
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait44
                add_trait = portrait45
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face45 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait45
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait45
                add_trait = portrait46
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face46 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait46
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait46
                add_trait = portrait47
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face47 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait47
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait47
                add_trait = portrait48
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face48 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait48
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait48
                add_trait = portrait49
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face49 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait49
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait49
                add_trait = portrait50
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
    next_face50 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait50
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait50
                add_trait = portrait51
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }
    
        next_face51 = {
        filter = all
        
        from_potential = {
            has_character_flag = cheats_enabled
            ai = no
        }
        potential = {
            ai = yes
            trait = portrait51
        }
        allow = {
            always = yes
        }
        effect = {
                remove_trait = portrait51
                add_trait = portrait52
        }
        revoke_allowed = {
            always = no
        }
        ai_will_do = {
            factor = 0
        }
    }

and this \localisation\cheats_menu.csv

Quote

change_gender;Change Gender;;;;;;;;;;;;;x
change_gender_desc;Make them switch gender.;;;;;;;;;;;;;x

new_face;Assign Portrait;;;;;;;;;;;;;x
new_face_desc;Make them look good.;;;;;;;;;;;;;x

old_face;Remove Portrait;;;;;;;;;;;;;x
old_face_desc;Make them look bad again.;;;;;;;;;;;;;x

next_face1;Next Portrait;;;;;;;;;;;;;x
next_face1_desc;Make them look good.;;;;;;;;;;;;;x

next_face2;Next Portrait;;;;;;;;;;;;;x
next_face2_desc;Make them look good.;;;;;;;;;;;;;x

next_face3;Next Portrait;;;;;;;;;;;;;x
next_face3_desc;Make them look good.;;;;;;;;;;;;;x

next_face4;Next Portrait;;;;;;;;;;;;;x
next_face4_desc;Make them look good.;;;;;;;;;;;;;x

next_face5;Next Portrait;;;;;;;;;;;;;x
next_face5_desc;Make them look good.;;;;;;;;;;;;;x

next_face6;Next Portrait;;;;;;;;;;;;;x
next_face6_desc;Make them look good.;;;;;;;;;;;;;x

next_face7;Next Portrait;;;;;;;;;;;;;x
next_face7_desc;Make them look good.;;;;;;;;;;;;;x

next_face8;Next Portrait;;;;;;;;;;;;;x
next_face8_desc;Make them look good.;;;;;;;;;;;;;x

next_face9;Next Portrait;;;;;;;;;;;;;x
next_face9_desc;Make them look good.;;;;;;;;;;;;;x

next_face10;Next Portrait;;;;;;;;;;;;;x
next_face10_desc;Make them look good.;;;;;;;;;;;;;x

next_face11;Next Portrait;;;;;;;;;;;;;x
next_face11_desc;Make them look good.;;;;;;;;;;;;;x

next_face12;Next Portrait;;;;;;;;;;;;;x
next_face12_desc;Make them look good.;;;;;;;;;;;;;x

next_face12;Next Portrait;;;;;;;;;;;;;x
next_face12_desc;Make them look good.;;;;;;;;;;;;;x

next_face13;Next Portrait;;;;;;;;;;;;;x
next_face13_desc;Make them look good.;;;;;;;;;;;;;x

next_face14;Next Portrait;;;;;;;;;;;;;x
next_face14_desc;Make them look good.;;;;;;;;;;;;;x

next_face15;Next Portrait;;;;;;;;;;;;;x
next_face15_desc;Make them look good.;;;;;;;;;;;;;x

next_face16;Next Portrait;;;;;;;;;;;;;x
next_face16_desc;Make them look good.;;;;;;;;;;;;;x

next_face17;Next Portrait;;;;;;;;;;;;;x
next_face17_desc;Make them look good.;;;;;;;;;;;;;x

next_face18;Next Portrait;;;;;;;;;;;;;x
next_face18_desc;Make them look good.;;;;;;;;;;;;;x

next_face19;Next Portrait;;;;;;;;;;;;;x
next_face19_desc;Make them look good.;;;;;;;;;;;;;x

next_face20;Next Portrait;;;;;;;;;;;;;x
next_face20_desc;Make them look good.;;;;;;;;;;;;;x

next_face21;Next Portrait;;;;;;;;;;;;;x
next_face21_desc;Make them look good.;;;;;;;;;;;;;x

next_face22;Next Portrait;;;;;;;;;;;;;x
next_face22_desc;Make them look good.;;;;;;;;;;;;;x

next_face23;Next Portrait;;;;;;;;;;;;;x
next_face23_desc;Make them look good.;;;;;;;;;;;;;x

next_face24;Next Portrait;;;;;;;;;;;;;x
next_face24_desc;Make them look good.;;;;;;;;;;;;;x

next_face25;Next Portrait;;;;;;;;;;;;;x
next_face25_desc;Make them look good.;;;;;;;;;;;;;x

next_face26;Next Portrait;;;;;;;;;;;;;x
next_face26_desc;Make them look good.;;;;;;;;;;;;;x

next_face27;Next Portrait;;;;;;;;;;;;;x
next_face27_desc;Make them look good.;;;;;;;;;;;;;x

next_face28;Next Portrait;;;;;;;;;;;;;x
next_face28_desc;Make them look good.;;;;;;;;;;;;;x

next_face29;Next Portrait;;;;;;;;;;;;;x
next_face29_desc;Make them look good.;;;;;;;;;;;;;x

next_face30;Next Portrait;;;;;;;;;;;;;x
next_face30_desc;Make them look good.;;;;;;;;;;;;;x

next_face31;Next Portrait;;;;;;;;;;;;;x
next_face31_desc;Make them look good.;;;;;;;;;;;;;x

next_face32;Next Portrait;;;;;;;;;;;;;x
next_face32_desc;Make them look good.;;;;;;;;;;;;;x

next_face33;Next Portrait;;;;;;;;;;;;;x
next_face33_desc;Make them look good.;;;;;;;;;;;;;x

next_face34;Next Portrait;;;;;;;;;;;;;x
next_face34_desc;Make them look good.;;;;;;;;;;;;;x

next_face35;Next Portrait;;;;;;;;;;;;;x
next_face35_desc;Make them look good.;;;;;;;;;;;;;x

next_face36;Next Portrait;;;;;;;;;;;;;x
next_face36_desc;Make them look good.;;;;;;;;;;;;;x

next_face37;Next Portrait;;;;;;;;;;;;;x
next_face37_desc;Make them look good.;;;;;;;;;;;;;x

next_face38;Next Portrait;;;;;;;;;;;;;x
next_face38_desc;Make them look good.;;;;;;;;;;;;;x

next_face39;Next Portrait;;;;;;;;;;;;;x
next_face39_desc;Make them look good.;;;;;;;;;;;;;x

next_face40;Next Portrait;;;;;;;;;;;;;x
next_face40_desc;Make them look good.;;;;;;;;;;;;;x

next_face41;Next Portrait;;;;;;;;;;;;;x
next_face41_desc;Make them look good.;;;;;;;;;;;;;x

next_face42;Next Portrait;;;;;;;;;;;;;x
next_face42_desc;Make them look good.;;;;;;;;;;;;;x

next_face43;Next Portrait;;;;;;;;;;;;;x
next_face43_desc;Make them look good.;;;;;;;;;;;;;x

next_face44;Next Portrait;;;;;;;;;;;;;x
next_face44_desc;Make them look good.;;;;;;;;;;;;;x

next_face45;Next Portrait;;;;;;;;;;;;;x
next_face45_desc;Make them look good.;;;;;;;;;;;;;x

next_face46;Next Portrait;;;;;;;;;;;;;x
next_face46_desc;Make them look good.;;;;;;;;;;;;;x

next_face47;Next Portrait;;;;;;;;;;;;;x
next_face47_desc;Make them look good.;;;;;;;;;;;;;x

next_face48;Next Portrait;;;;;;;;;;;;;x
next_face48_desc;Make them look good.;;;;;;;;;;;;;x

next_face49;Next Portrait;;;;;;;;;;;;;x
next_face49_desc;Make them look good.;;;;;;;;;;;;;x

next_face50;Next Portrait;;;;;;;;;;;;;x
next_face50_desc;Make them look good.;;;;;;;;;;;;;x

next_face51;Next Portrait;;;;;;;;;;;;;x
next_face51_desc;Make them look good.;;;;;;;;;;;;;x

 

image.png.389757cfacdd4f911d9d1986b658db53.png

Link to comment
  • 1 month later...
  • 3 months later...
  • 1 year later...

Hello and thank you very much for your work !

 

I wanted to use the Independent Custom Portraits to merge different portraits mod from here (Cheri, Maximus, dark world etc). I'm not sure how to make it work, thought. I was thinking about replacing the INSERTNAME.dds files with other .dds file I like. Doesn't seem to work properly, and only some portraits are kept (not those from Independent Custom Portraits mod). Any idea on how to solve this issue? Would be amazing to have a mix of every portrait mod :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use