Jump to content

event chain gets stuck


joemann

Recommended Posts

I  am modding the DWR event chain which cycles the slave through training. For some reason I can't figure out, the cycle stops at Pleasure Slave training 2. The problem must be in the added narrative events , probably in .412 ( although this one does trigger correctly) since the warrior slave cycle (which does not have them yet) goes all the way to the end.

 

# .410 Slave evaluation check to see if the training advances (slave )
character_event = {
    id = RSLS.410
    is_triggered_only = yes
    hide_window = yes
    
    immediate = {    
        if = {
            limit = {
                has_character_modifier = rsl_slave_pleasure_3
            }
            random_list = {
                80 = {  # Successfully finished training
                    remove_character_modifier = rsl_slave_pleasure_3
                    add_character_modifier = { name = rsl_slave_pleasure_complete duration = -1 }
                    clr_character_flag = rsl_slave_training_in_progress
                    remove_trait = broken_in
                    remove_trait = slave
                    add_trait = trained_pleasure_slave
                    if = {
                        limit = {
                            is_female = yes # Female specific
                        }
                        host = { narrative_event = { id = RSLS.43 }} # we describe the effect of the training
                    }
                    if = {
                        limit = {
                            is_female = no # Male specific
                        }
                         host = { narrative_event = { id = RSLS.91 }} # We notify the slaver that the training cycle has completed.
                    }
                }
                20 = {  # Failed to advance in training
                    character_event = { id = RSLS.400 } # We cycle the slave through training again
                }
            }
        }
        if = {
            limit = {
                has_character_modifier = rsl_slave_pleasure_2
            }
            random_list = {
                80 = {  # Successfully finished training
                    remove_character_modifier = rsl_slave_pleasure_2
                    add_character_modifier = { name = rsl_slave_pleasure_3 duration = -1 }
                    host = {narrative_event = { id = RSLS.42 }} # We get slave_pleasure_2 training
                }
                20 = {  # Failed to advance in training
                    character_event = { id = RSLS.400 } # We cycle the slave through training again
                }
            }
        }
        if = {
            limit = {
                has_character_modifier = rsl_slave_pleasure_1
            }
            random_list = {
                80 = {  # Successfully finished training    
                    remove_character_modifier = rsl_slave_pleasure_1
                    add_character_modifier = { name = rsl_slave_pleasure_2 duration = -1 }
                    host = {narrative_event = { id = RSLS.41 }} # We get slave_pleasure_1 training
                }
                20 = {  # Failed to advance in training
                    character_event = { id = RSLS.400 } # We cycle the slave through training again
                }
            }
        }
    }
}

# Pleasure Slave training level 1 411
narrative_event = {
    id = RSLS.41
    desc = RSLS411
    picture = GFX_evt_rsl.trainsex1
    title = rsl_pleasure_slave_training_1

    is_triggered_only = yes

    option = {
        name = rsl_option_further
        narrative_event = { id = RSLS.412 }
    }
}
# Pleasure Slave training level 1 412
narrative_event = {
    id = RSLS.412
    desc = RSLS412
    picture = GFX_evt_rsl.trainsex2
    title = rsl_pleasure_slave_training_1

    is_triggered_only = yes
    
    option = {
            name = rsl_option1
            event_target:rls_slave_target = {character_event = { id = RSLS.400 }} # We cycle the slave through training again up for level 2                    
                
            
    }
}
# Pleasure Slave training level 2 42
narrative_event = {
    id = RSLS.42
    desc = RSLS421
    picture = GFX_evt_rsl.trainsex3
    title = rsl_pleasure_slave_training_2

    is_triggered_only = yes
    
    option = {
            name = rsl_option1
            event_target:rls_slave_target = {character_event = { id = RSLS.400 }} # We cycle the slave through training again up for level 3
            
    }
}

# Pleasure Slave training level 3 43
narrative_event = {
    id = RSLS.43
    desc = RSLS431
    picture = GFX_evt_rsl.trainsex3
    title = rsl_pleasure_slave_training_3

    is_triggered_only = yes
    
    option = {
            name = rsl_option1
            event_target:rls_slave_target = { narrative_event = { id = RSLS.90 }} # We notify the slaver that the training cycle has completed.                                               
                
            
    }
}

 

The third <if>  block is executed but then it stalls. I thought it might be a scope issue so I added the  event_target commands ( by the way do I need to redefine the event_target in each new event or does it carry over from previous events) but that does not change anything. Validator does not come up with any errors.

 

Would much appreciate any help.

 

 

Link to comment

Event targets will persist through any events called by the current event, and any events called by those events, etc.

RSLS.43 is in host scope, so this:

Quote

event_target:rls_slave_target = { narrative_event = { id = RSLS.90 }} # We notify the slaver that the training cycle has completed.

should probably be just

narrative_event = { id = RSLS.90 } # We notify the slaver that the training cycle has completed.

Link to comment

Thanks for your answer. The problem arises earlier in the chain. I think at the level of the last line of event.412. When I play the event in console mode with the Window_hidden off

an empty  character_event screen pops up ( event .400 ) which blocks the rest of the chain. Event .400 itself works perfectly well itself, but not in combination with the command sent to it by event.412. Could a scope error provoke that?

Link to comment
1 hour ago, joemann said:

Thanks for your answer. The problem arises earlier in the chain. I think at the level of the last line of event.412. When I play the event in console mode with the Window_hidden off

an empty  character_event screen pops up ( event .400 ) which blocks the rest of the chain. Event .400 itself works perfectly well itself, but not in combination with the command sent to it by event.412. Could a scope error provoke that?

Hidden events don't need options, but ig you unhid them for debugging you' be well advised to add a dummy option to not get stuck.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • 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