Jump to content

CK2 Modding Quick Question Thread


Recommended Posts

1 hour ago, lockeslylcrit said:

Everything looks ok. Might want to delete the desc and the picture lines though. And the OR is redundant. Other than that, I see absolutely no reason why it wouldn't work.

Thx for the answer.

I was unable to find the problem too so I solved it by completly removing the events (I don't really like this part of modding) and moving all in the 'on_actions' code.

Link to comment

I made a new mod and I can't get the event_window working correctly.

I have the event_narrative_bg .dds  file and the event_narrative_area.dds in the gfx/interface folder and the following script in the interface folder

 

Spoiler

guiTypes = {
    #### NARRATIVE EVENT
    windowType =
    {
        name = "EventWindowNarrative"
        backGround="Background"
        position = { x=-530 y=-385 }    
        size = { x=770 y=620 }
        moveable = 1
        dontRender = ""
        horizontalBorder= ""
        verticalBorder= ""
        fullScreen = no
        Orientation = "CENTER"
        click_to_front = yes
        
        guiButtonType =
        {
            name = "Background"    
            quadTextureSprite ="GFX_event_narrative_area"
        }
        iconType =
        {
            name ="Background_2"
            spriteType = "GFX_event_narrative_bg"
            position = { x= 0 y = 0 }
            Orientation = "UPPER_LEFT"
        }
        iconType =
        {
            name ="event_extension_1"
            spriteType = "GFX_event_narrative_extension"
            position = { x= -99993 y = 719 }
            Orientation = "UPPER_LEFT"
        }
        iconType =
        {
            name ="event_extension_2"
            spriteType = "GFX_event_narrative_extension"
            position = { x= -99993 y = 759 }
            Orientation = "UPPER_LEFT"
        }
        iconType =
        {
            name ="event_extension_3"
            spriteType = "GFX_event_narrative_extension"
            position = { x= -99993 y = 799 }
            Orientation = "UPPER_LEFT"
        }

        iconType =
        {
            name ="event_picture"
            spriteType = "GFX_evt_throne_room"
            position = { x= 562 y = 34 }
            Orientation = "UPPER_LEFT"
        }
        
        ### colored frames.
        iconType =
        {
            name ="event_frame"
            spriteType = "GFX_event_narrative_frame_diplomacy"
            position = { x= 99936 y = 60 }
            Orientation = "UPPER_LEFT"
        }
        
        ### portraits.
        guiButtonType =
        {
            name ="EventWindowMainChar_portrait"
            quadTextureSprite = "GFX_char_75"
            position = { x = 485 y = 34 }
            pdx_tooltip = "CHARACTER_TOOLTIP"
            pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED"
        }
        guiButtonType =
        {
            name = "EventWindowMainChar_portrait_frame"
            quadTextureSprite = "GFX_charframe_75"
            position = { x= 477 y = 25 }
            Orientation = "UPPER_LEFT"
        }
        guiButtonType = {
            name ="EventWindowMainChar_shield"
            quadTextureSprite = "GFX_shield_medium2"
            position = { x= 460 y = 72 }
            Orientation = "UPPER_LEFT"
        }
        iconType =
        {
            name ="EventWindowMainChar_crown"
            spriteType = "GFX_shield_crown_strip_medium2"
            position = { x= 470 y = 56 }
            Orientation = "UPPER_LEFT"
        }
        iconType = {
            name ="EventWindowMainChar_portrait_relation"
            spriteType = "GFX_overlay_char_relation_75"
            position = { x= 537 y = 30 }
            Orientation = "UPPER_LEFT"
        }
        ###
        guiButtonType =
        {
            name ="EventWindowFromChar_portrait"
            quadTextureSprite = "GFX_char_75"
            position = { x = 485 y = 124 }
            pdx_tooltip = "CHARACTER_TOOLTIP"
            pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED"
        }
        guiButtonType =
        {
            name = "EventWindowFromChar_portrait_frame"
            quadTextureSprite = "GFX_charframe_75"
            position = { x= 477 y = 115 }
            Orientation = "UPPER_LEFT"
        }
        guiButtonType = {
            name ="EventWindowFromChar_shield"
            quadTextureSprite = "GFX_shield_medium2"
            position = { x= 460 y = 162 }
            Orientation = "UPPER_LEFT"
        }
        iconType =
        {
            name ="EventWindowFromChar_crown"
            spriteType = "GFX_shield_crown_strip_medium2"
            position = { x= 470 y = 146 }
            Orientation = "UPPER_LEFT"
        }
        iconType = {
            name ="EventWindowFromChar_portrait_relation"
            spriteType = "GFX_overlay_char_relation_75"
            position = { x= 537 y = 120 }
            Orientation = "UPPER_LEFT"
        }
        #####
        
        instantTextBoxType =
        {
            name = "decorative_letter"
            position = { x = 45 y = 29 }
            textureFile = ""
            font = "decorative_color"
            borderSize = {x = 0 y = 0}
            text = ""    
            maxWidth = 75
            maxHeight = 75
            format = left
        }
        
        instantTextBoxType =
        {
            name = "Title"
            position = { x = 119 y = 31 }
            textureFile = ""
            font = "vic_36_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 366
            maxHeight = 40
            fixedsize = yes
            format = left
        }
        
        instantTextBoxType =
        {
            name = "Description_firstpart"
            position = { x = 122 y = 65 }
            textureFile = ""
            font = "vic_18_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"
            maxWidth = 350
            maxHeight = 37
            format = left
        }
        
        instantTextBoxType =
        {
            name = "Description"
            position = { x = 41 y = 101 }
            textureFile = ""
            font = "vic_18_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 435
            maxHeight = 590    
            format = left
            fixedsize = yes
        }
    
        # options:
        guiButtonType = {
            name = "EventOptionButton1"
            position = { x = 542 y = 474 }
            quadTextureSprite ="GFX_event_normal_option"
        }
        instantTextBoxType =
        {
            name = "EventOptionText1"
            position = { x = 555 y = 484 }
            textureFile = ""
            font = "vic_22_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 456
            maxHeight = 32    
            format = left
            fixedsize = yes
            allwaystransparent = yes
        }
        OverlappingElementsBoxType =
        {
            name = "EventOptionPortraits1"
            position = { x = 840 y = 476 }
            size = { x=180 y=40 }
            format = right
            spacing = 0
            Orientation = "UPPER_LEFT"
        }
        OverlappingElementsBoxType = {
            name = "related_traits1"
            position = { x = 830 y = 470 }
            size = { x=195 y=40 }
            format = right
        }
        ###
        guiButtonType = {
            name = "EventOptionButton2"
            position = { x = 542 y = 514 }
            quadTextureSprite ="GFX_event_normal_option"
        }
        instantTextBoxType =
        {
            name = "EventOptionText2"
            position = { x = 555 y = 524 }
            textureFile = ""
            font = "vic_22_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 456
            maxHeight = 32    
            format = left
            fixedsize = yes
        }
        OverlappingElementsBoxType =
        {
            name = "EventOptionPortraits2"
            position = { x = 840 y = 516 }
            size = { x=180 y=40 }
            format = right
            spacing = 0
            Orientation = "UPPER_LEFT"
        }
        OverlappingElementsBoxType = {
            name = "related_traits2"
            position = { x = 820 y = 520 }
            size = { x=195 y=40 }
            format = right
        }
        ###
        guiButtonType = {
            name = "EventOptionButton3"
            position = { x = 542 y = 554 }
            quadTextureSprite ="GFX_event_normal_option"
        }
        instantTextBoxType =
        {
            name = "EventOptionText3"
            position = { x = 555 y = 564 }
            textureFile = ""
            font = "vic_22_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 456
            maxHeight = 32    
            format = left
            fixedsize = yes
        }
        OverlappingElementsBoxType =
        {
            name = "EventOptionPortraits3"
            position = { x = 840 y = 556 }
            size = { x=180 y=40 }
            format = right
            spacing = 0
            Orientation = "UPPER_LEFT"
        }
        OverlappingElementsBoxType = {
            name = "related_traits3"
            position = { x = 820 y = 560 }
            size = { x=195 y=40 }
            format = right
        }
        ###
        guiButtonType = {
            name = "EventOptionButton4"
            position = { x = 542 y = 594 }
            quadTextureSprite ="GFX_event_normal_option"
        }
        instantTextBoxType =
        {
            name = "EventOptionText4"
            position = { x = 555 y = 604 }
            textureFile = ""
            font = "vic_22_black"
            borderSize = {x = 0 y = 0}
            text = "UI_MISSING_TEXT"    
            maxWidth = 456
            maxHeight = 32    
            format = left
            fixedsize = yes
        }
        OverlappingElementsBoxType =
        {
            name = "EventOptionPortraits4"
            position = { x = 840 y = 596 }
            size = { x=180 y=40 }
            format = right
            spacing = 0
            Orientation = "UPPER_LEFT"
        }
        OverlappingElementsBoxType = {
            name = "related_traits4"
            position = { x = 820 y = 600 }
            size = { x=195 y=40 }
            format = right
        }
                    
        instantTextBoxType =
        {
            name = "CountdownText"
            position = { x = -5 y = 565 }
            textureFile = ""
            font = "vic_18_black"
            borderSize = {x = 0 y = 0}
            text = ""
            maxWidth = 456
            maxHeight = 32    
            format = left
            fixedsize = yes
        }
    }
    
}

The problem is that I get the correct double event window but all text, portraits and pictures are on the left page of the  window the right page where normally the pictures show is blank.

I used exactly the same files in my previous mod and there it works well. I am not using any other mods. Is there something I have forgotten to do?

Link to comment
2 hours ago, joemann said:

I made a new mod and I can't get the event_window working correctly.

I have the event_narrative_bg .dds  file and the event_narrative_area.dds in the gfx/interface folder and the following script in the interface folder

 

  Reveal hidden contents

The problem is that I get the correct double event window but all text, portraits and pictures are on the left page of the  window the right page where normally the pictures show is blank.

I used exactly the same files in my previous mod and there it works well. I am not using any other mods. Is there something I have forgotten to do?

Can you provide a screenshot?

 

Did you name the interface file to something that might come last alphabetically (e.g. zzz_my_interface.gui )?

 

Nothing in the script pops out as being wrong at first glance when running it in a compare tool in Notepad++ with Luxuria Fantasia's gui.

Link to comment

Hello. I decided to give CK2 modding a try. I've done EU modding before. Anyways I may end up asking a bunch of questions so thanks for the help in advance!

 

Alright so my question is how do you trigger an event on marriage? 

 

Anyways so I found this. But I can't figure out how it works. It doesn't seem to have a marriage check? Anyways maybe I'm blind sorry.

# On-action event: Zoroastrian Xwedodah marriage
character_event = {
    id = 501
    desc = EVTDESC501
    picture = GFX_evt_marriage_zoroastrian_group
    
    religion = zoroastrian
    
    is_triggered_only = yes
    
    trigger = {
        new_character = { is_close_relative = FROM }
        OR = {
            FROM = { character = ROOT }
            AND = {
                FROM = {
                    dynasty = ROOT
                    is_primary_heir = ROOT
                }
                new_character = {
                    NOT = { character = ROOT }
                }
            }
        }
    }


 

Link to comment

I realize this isn't really a quick question but does anyone have ANY experience with map modding? I've made a few maps without issue for the most part but now I'm trying to make a modified version of the Guardians of Azeroth map JUST for personal use and its not wanting to cooperate all the sudden.

 

 

 


1a.jpg.2eb49f75eedfd1c616894ea319076602.jpg2a.jpg.c2a8b043f0135171569a750775bdb717.jpg
 

 

 

On top of all the land being blackish, I marked where I have my cursor hovering and even though its in the middle of land its showing its ocean and I cant figure out why. I've triple checked the topology index and all land is 96+ (most of it being way higher) and all ocean is 86-

 

The land also blurs really bad the farther you zoom out:

 

 

 


1b.jpg.29d87c350e24b13e9deb6b8e195abe6f.jpg2b.jpg.1517de4255b87ddece0f381efa675a63.jpg
 

 

 

Here's a picture of one of the first couple I did that turned out relatively ok (it still has that blurring problem for some reason but its not nearly as bad).

 

 

 


1c.jpg.f1a3c8a88b12030d90c5035014ed5bd0.jpg2c.jpg.1b1e128f56ad1341b1e4f8f1b0048c6c.jpg
 

 

 

Anyone have any idea what could be causing it to bug out?

 

EDIT: The only notable difference I can think of in the one I'm trying to do now is I made the map 4096x4096.

Link to comment

I'm using part of the old Tosca script. I want the characters selected to family members of the player character.

 

The first choice should be the spouse of the player, the second choice a child.

Spoiler

narrative_event = {    
    id = ETRandom.550
    desc = ETRandom550desc
    picture = manhandled
    title = et_loser_pays
    
    
    is_triggered_only = yes    

        trigger = {
                event_target:et_loser = {
                        is_female = no
                        prisoner = no
                }        
        }
        
    immediate = {
        # Find priority target:
            if = {
                limit = {
                    location = {
                        any_province_character = {     
                                                is_female = yes
                                                age = 14
                                                NOT = { age = 50 }
                                                ai = yes
                                                        
                        }
                    }
                }
                                
                #If there is, we then grab one for the event
                location = {
                    any_province_character = {
                                            limit = {
                                                is_main_spouse = yes
                                                is_female = yes
                                                age = 14
                                                NOT = { age = 18 }                
                                                ai = yes
                                            }
                                    
                                            
                        save_event_target_as = first_choice
                    }
                }
            }
        # Find second choice:
            if = {
                limit = {
                    NOT = { character = event_target:first_choice }
                    location = {
                        any_province_character = {
                            is_female = yes
                            age = 14
                            NOT = { age = 30 }
                            ai = yes
                        }
                    }
                }
                #If there is, we then grab one for the event
                location = {
                    any_province_character = {
                        limit = {
                            NOT = { character = event_target:first_choice }
                            is_child_of = root        
                            is_female = yes
                            age = 14
                            NOT = { age = 30 }
                            ai = yes
                                    
                        }
                        save_event_target_as = second_choice
                    }
                }
            }

The second choice works because is_child_of = root works. However the equivalent condition is_spouse_of = root does not exist so I tried is_main_spouse but according to the wiki and validator this can only have = yes or no. However, it doesn't work. Anybody know what I could use as an alternative?

Link to comment

a question on customizable localisation. If you define a customizable localisation along the following lines

Spoiler

defined_text = {
            name = GetDickSize
            use_first_valid = yes
            
            text = {
                    localisation_key = Horse Dick
                    trigger = {
                        trait = horse_dick
                    }
                    
            }

}

Do you need to define the localisation_key in a separate localisation.csv file?

Link to comment
4 hours ago, joemann said:

I'm using part of the old Tosca script. I want the characters selected to family members of the player character.

 

The first choice should be the spouse of the player, the second choice a child.

  Hide contents

narrative_event = {    
    id = ETRandom.550
    desc = ETRandom550desc
    picture = manhandled
    title = et_loser_pays
    
    
    is_triggered_only = yes    

        trigger = {
                event_target:et_loser = {
                        is_female = no
                        prisoner = no
                }        
        }
        
    immediate = {
        # Find priority target:
            if = {
                limit = {
                    location = {
                        any_province_character = {     
                                                is_female = yes
                                                age = 14
                                                NOT = { age = 50 }
                                                ai = yes
                                                        
                        }
                    }
                }
                                
                #If there is, we then grab one for the event
                location = {
                    any_province_character = {
                                            limit = {
                                                is_main_spouse = yes
                                                is_female = yes
                                                age = 14
                                                NOT = { age = 18 }                
                                                ai = yes
                                            }
                                    
                                            
                        save_event_target_as = first_choice
                    }
                }
            }
        # Find second choice:
            if = {
                limit = {
                    NOT = { character = event_target:first_choice }
                    location = {
                        any_province_character = {
                            is_female = yes
                            age = 14
                            NOT = { age = 30 }
                            ai = yes
                        }
                    }
                }
                #If there is, we then grab one for the event
                location = {
                    any_province_character = {
                        limit = {
                            NOT = { character = event_target:first_choice }
                            is_child_of = root        
                            is_female = yes
                            age = 14
                            NOT = { age = 30 }
                            ai = yes
                                    
                        }
                        save_event_target_as = second_choice
                    }
                }
            }

The second choice works because is_child_of = root works. However the equivalent condition is_spouse_of = root does not exist so I tried is_main_spouse but according to the wiki and validator this can only have = yes or no. However, it doesn't work. Anybody know what I could use as an alternative?

spouse

spouse_even_if_dead

this will scope to the primary spouse according to the wiki

Link to comment

Thanks but I am confused. In my second block where I want to select the child of player I successfully use is_child_of = root. This is a condition according to the wiki.

Spouse or spouse_even_if_dead are scopes. I can't use them in the limit block according to validator. I tried replacing any_province_character (which is also a character scope ) with spouse but that seems to mess things up even more.I know from trying in game that player's spouse is in the location and one of the province characters I just can't pull her out. It's driving me nuts.

Link to comment
2 hours ago, joemann said:

I solved it by using any_spouse as an unnested single scope (deleting the location and any_province_character scopes)

I would have used spouse then added the limits, so your scoping to her then making sure she passes the requirements. Glad you figured it out though

Link to comment
10 hours ago, joemann said:

a question on customizable localisation. If you define a customizable localisation along the following lines

  Hide contents

defined_text = {
            name = GetDickSize
            use_first_valid = yes
            
            text = {
                    localisation_key = Horse Dick
                    trigger = {
                        trait = horse_dick
                    }
                    
            }

}

Do you need to define the localisation_key in a separate localisation.csv file?

Yes

Link to comment

I'm still struggling with my Tosca file.

Spoiler

###  Liege gets surprised by  guards: FROM is the loosing attacker (in the war) ROOT is the victorious defender ########

narrative_event = {
    id = ETRandom.500
    desc = ETRandom500desc
    picture = family_gathering
    title = et_loser_pays
    
    is_triggered_only = yes   # by on_action on_war_lost
            
        
    trigger = {
            FROM = {
                ai = no
                prisoner = no
                in_command = no
                is_adult = yes
            
                location = {                                # scopes to the character's location
                        any_province_character = {        # scopes to all characters in the province
                                            is_female = yes
                                            age = 14
                                            NOT = { age = 50 }
                                            ai = yes
                        }
                }
            }
    }    
    option = {
            name = ETRAN500option
            if = {
                limit = {
                        FROM = {
                            is_female = yes
                        }
                }
                
                FROM = { narrative_event = { id = ETRandom.511 }}
                break = yes                        
            }
            
            if = {
                limit = {
                        FROM = {
                            is_female = no
                        }
                }
                    
                FROM = { narrative_event = { id = ETRandom.550 }}
                        
                break = yes
            }
            
    }        
}

 

The event is triggered by on_action

Spoiler

# Fires in case of an offensive war defeat. FROM is the attacker (who lost) ROOT is the defender
on_war_ended_defeat = {
    events = {
            ETRandom.500
    }
    random_events = {
                    
 
    }
    
}

However, I tried this in game (after losing a war I started) and the event does not trigger upon surrender.

The second problem is that if I trigger the option in the console it fires but the follow up events don't trigger even though all conditions are met. I suppose it is a scope problem but I can't figure it out.

Link to comment

For customizable_localisation.csv files is there a special naming convention or can I just put the localisation_key in any localisation file?

I tried this in a file named customizable_localisation.txt

Spoiler

defined_text = {
            name = GetDickSize
            use_first_valid = yes
            
            text = {
                    localisation_key = Horse_Dick
                    trigger = {
                        trait = horse_dick
                    }
                    
            }   

and this in the file customizable_localisation.csv

Spoiler

#localization keys keep in alphabetical order

Horse_Dick;horse dick;

In the localisation text of the event I use the key as follows

Spoiler

[et_guard.GetFirstName] drops his breeches and pulls out [et_guard.GetHerHis] [et_guard.GetDickSize]

in game the name of the guard and< his> are reproduced but the last command gets a blank.

I'm doing something wrong, but what?

Link to comment
1 hour ago, joemann said:

For customizable_localisation.csv files is there a special naming convention or can I just put the localisation_key in any localisation file?

You can put it in any loc file you want.

 

1 hour ago, joemann said:

Horse_Dick;horse dick;

There's the problem. You need a total of 14 semi-colons and an x. The semi-colons separate the code from the various languages, and the x tells the code that the localisation for that line is done.

Ex:

RETTYPE_CUL_HORSE_TAUR_INFANTRY;Taurtaur Infantry;;;;;;;;;;;;;x
 

2 hours ago, joemann said:

The second problem is that if I trigger the option in the console it fires but the follow up events don't trigger even though all conditions are met. I suppose it is a scope problem but I can't figure it out.

I honestly have no clue. Have you tried capital_scope instead of location in the trigger?

Link to comment

Thanks, didn't know about the number of semi-colons. Corrected it but still get a blank. I am assuming that the structure for the localisation key is as follows [<scope>.GetCustomCommand]

where Get is the "standard" command and CustomCommand is the text defined in localisation.txt file which then pulls the relevant text from the localisation.csv file?

 

In my example it should then be [et_guard.GetDickSize]? However, it doesn't work.

 

I managed to get the event working through a hidden character_event.

Link to comment
On 12/31/2019 at 9:28 PM, Sporticus said:

 

i was trying arumba's winmerge way of merging to mods since GoA replaces a lot of base game folders

 

I found out that the landed titles and offmap powers folder where the reason for the game not passing time so i am leaving them out until i am sure there are no extra issues with the merged mod(s)

 

I am currently trying to get some spawned characters like commander Athena to not die when spawned.

Giving her the same culture and adding them to the dynasty of the ROOT character seems a little cheap since i want the portrait as well.

 

A bit late to the party on this one, (I'm finally up and running again after the catastrophic hard drive failure of my previous 8yo machine.)

 

GoA has a lot of internal code that 'culls' characters who don't meet racial/game rule thresholds. If you want to get spawned characters from other mods working, you'll have to add in code that assigns proper racial traits on their creation. Honestly, it would take quite a bit of work to port things over.

 

For what it's worth, I have been building a smutty submod for GoA from the ground-up as a side project. It's still a little rough around the edges, and I'm trying to get my bearings again so I can finish off the baseline features I want before doing a proper release though.

Link to comment

I have an event that calls several other events (one is a hidden character_event that itself triggers a visible event). Both trigger correctly but not in the order I want.

Spoiler

narrative_event = {
id = ETRandom.552
picture = raping_guard_v
desc = ETRandom552desc
title = et_loser_pays
portrait = event_target:is_rape_victim
is_triggered_only = yes

    immediate = {
        
            event_target:et_guard = {
                                    
                                    set_variable = { which = size_differential_pussy  which = dick_size }
            }
            
                                    
            
                                            
            event_target:is_rape_victim = {
                                        set_variable = { which = size_differential_pussy value = 0 }
                                        change_variable = { which = size_differential_pussy which = event_target:et_guard }
            }
                
    }
    option = {
            name = ETRAN552option
            ai_chance = {
                factor = 0
            }
        
         custom_tooltip = {
                        text = et_evaluate_impact
                        hidden_tooltip = {
                                        event_target:is_rape_victim = {
                                                                pussy_impact_evaluation = yes
                                                                update_pussy = yes
                                                                character_event = { id = ETO.200 } # sexual_pleasure check for woman  # this is a hidden event that itself triggers a visible event
                                                                character_event = { id = ETB.907 } # pregnancy check for woman
                                        }                        
                        }
        }    
        event_target:is_rape_victim = {        
                                    random = {            # there is 5% chance you'll get a memento out of this
                                        chance = 5
                                        add_trait = syphilitic
                                    }
        }                            
            event_target:et_guard = {
                                    add_trait = rapist
                                    character_event = { id = ETO.100 } # sexual_pleasure check for man
            }
            
    
    
            narrative_event = { id = ETRandom.5521 }
    }        
}

event ETO.200 triggers first and calls a "picture_event". I would like the event to pause here so that you can read the event and then click on OK, but it immediately fires event ETRandom.5521 which covers the event window of ETO.200's follow up event. Is there a way of doing this I tried using after = { } for event ETRandom.5521 but it fires anyway.

I was thinking of putting event ETO.200 in an immediate box but kan i do that in an option? ETO.200 requieres that the scripted effects are executed first.

Link to comment

Don't know if this is the right topic, but: could somebody help me with my mods collection? I mean if some mods will not work with each other or one include another, etc. No problems with launching, just to be sure everything works as it should.
May the Emperor protect you.

Spoiler

3.png.de9acbe4ce42dd079f341e0e17a62218.png2.png.3055b96d10a84db9ef070112c8a2966b.png1.png.9762134d125caf2ae0a63d63329dd96e.png

 

Link to comment
On 1/30/2020 at 8:31 AM, joemann said:

I was thinking of putting event ETO.200 in an immediate box but kan i do that in an option? ETO.200 requieres that the scripted effects are executed first.

Put

 

                                        event_target:is_rape_victim = {
                                                                pussy_impact_evaluation = yes
                                                                update_pussy = yes
                                                                character_event = { id = ETO.200 } # sexual_pleasure check for woman  # this is a hidden event that itself triggers a visible event
                                                                character_event = { id = ETB.907 } # pregnancy check for woman
                                        }   

in the immediate block.

 

This way the character events will always happen automatically, while your narrative event still requires input from the player using the option block.

Link to comment

Thanks. It worked. I'm having another problem with the same event chain.

 

Spoiler

narrative_event = {
id = ETRandom.552
picture = raping_guard_v
desc = ETRandom552desc
title = et_loser_pays
portrait = event_target:is_rape_victim
is_triggered_only = yes

    immediate = {
                event_target:is_rape_victim = { save_event_target_as = et_fuckee }
        
            event_target:et_guard = {
                                    
                                    set_variable = { which = size_differential_pussy  which = dick_size }
            }
            
                                    
            
                                            
            event_target:is_rape_victim = {
                                        set_variable = { which = size_differential_pussy value = 0 }
                                        change_variable = { which = size_differential_pussy which = event_target:et_guard }
            }
            
            custom_tooltip = {
                        text = et_evaluate_impact
                        hidden_tooltip = {
                                        event_target:is_rape_victim = {
                                                                pussy_impact_evaluation = yes
                                                                update_pussy = yes                                                                
                                                                character_event = { id = ETB.907 } # pregnancy check for woman
                                        }                        
                        }
            }
            character_event = { id = ETRandom.5521 }
            
                
    }
    option = {
            name = ETRAND552option
            ai_chance = {
                factor = 0
            }                            
            event_target:et_guard = {
                                    add_trait = rapist
                                    character_event = { id = ETO.100 } # sexual_pleasure check for man
            }
            event_target:is_rape_victim = {        
                                    random = {            # there is 5% chance you'll get a memento out of this
                                        chance = 5
                                        add_trait = syphilitic
                                        
                                    }
            character_event = { id = ETO.200 } # sexual_pleasure check for woman                        
            }
            
    
    }
    
            
            
}


character_event = {
id = ETRandom.5521
picture = raging_liege
desc = ETRandom5521desc

is_triggered_only = yes

    immediate = {
            if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_amazing_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_amazing_fuck
                                                        who = event_target:et_guard
                                                }                                                                            
                    }
                    narrative_event = { id = ETRandom.5522 }
            }
            else_if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_great_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_great_fuck
                                                        who = event_target:et_guard
                                                }                                                
                    }
                    narrative_event = { id = ETRandom.5523 }
            }
            else_if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_good_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_good_fuck
                                                        who = event_target:et_guard
                                                }                            
                    }
                    narrative_event = { id = ETRandom.5524 }
            }
            else_if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_indifferent_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_indifferent_fuck
                                                        who = event_target:et_guard
                                                }                            
                    }
                    narrative_event = { id = ETRandom.5525 }
            }
            else_if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_bad_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_bad_fuck
                                                        who = event_target:et_guard
                                                }                            
                    }
                    narrative_event = { id = ETRandom.5526 }
            }
            else_if = {
                    limit = {
                            event_target:is_rape_victim = {
                                                        has_character_flag = et_depressing_sex
                            }
                    }
                    event_target:is_rape_victim = {
                                                opinion = {
                                                        modifier = et_opinion_sexual_disgust
                                                        who = event_target:et_guard
                                                }                            
                    }
                    narrative_event = { id = ETRandom.5527 }
            }    
    }
    option = {
            name = ETRAND5521option
    }        
    
}
narrative_event = {
id = ETRandom.5522
picture = raping_guard_v
desc = ETRandom5522desc
title = et_loser_pays

is_triggered_only = yes

    option = {
            name = ETRAND5522option
            ai_chance = {
                factor = 0
            }                            
            event_target:et_guard = {
                                prestige = 10
            }
            event_target:et_looser = {
                                prestige = -10
                                opinion = {
                                          modifier = et_opinion_rape_slut
                                          who = event_target:is_rape_victim
                                }
                                opinion = {
                                          modifier = et_opinion_humiliated_me
                                          who = event_target:is_rape_victim
                                }
                                opinion = {
                                          modifier = et_opinion_raped_spouse
                                          who = event_target:et_guard
                                }    
            }
            event_target:is_rape_victim = {
                                        prestige = -5                                        
                                        opinion = {
                                          modifier = et_opinion_dominated
                                          who = event_target:et_guard
                                        }
            }                            
            
    }
}

Event .552 and 5521 work fine but 5521 does not fire events .5522 to .5527. I checked that event_target:is_rape_victim has the appropriate flags so the conditions are met. Wat am I doing wrong?

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