1.4 slavery bug

Report any problems with the mod here

1.4 slavery bug

PostPosted by kaxa80 » Mon Apr 03, 2017 17:04

So since last version every time you enslave someone, be it someone from your realm or not, you incur tyranny. I don't believe this is an intended feature right?
kaxa80
 
Posts: 103
Joined: Thu Oct 22, 2015 10:10

Re: 1.4 slavery bug

PostPosted by Soulbourne » Mon Apr 03, 2017 17:41

Isn't tyranny from enslavement the same as tyranny from execution? So foriegn enemies and such shouldn't incur tyranny, but random guys you have no reason to act against would?
Soulbourne
 
Posts: 343
Joined: Tue Apr 07, 2015 01:30

Re: 1.4 slavery bug

PostPosted by knuckey » Wed Apr 05, 2017 17:56

Tyranny from enslaving someone only occurs if they are your subject. Do you have a save where this is not the case?
User avatar
knuckey
Site Admin
 
Posts: 5458
Joined: Fri Feb 10, 2012 23:21

Re: 1.4 slavery bug

PostPosted by mrbaatezu » Fri Apr 14, 2017 15:05

I had the same problem. This is happening because the enslave prisoner decision is applying the "enslave_effect" and moving the newly made slave to your court before it checks if the action would incur tyranny. However, since by then the slave is technically your vassal already, then the tyranny penalty will always apply.

Code: Select all

effect = {
         FROM = { save_event_target_as = enslaver }
         enslave_effect = yes  ## NO NO.
         opinion = { who = FROM modifier = opinion_enslaved_me }
         if = { #If is my subject this is tyrannical
            limit = {
               OR = {
                  is_liege_or_above = FROM
                  liege_before_war = { character = FROM }
                  any_liege = { liege_before_war = { character = FROM } }
                  AND = { #Junior triarchs
                     FROM = { has_minor_title = title_triarch }
                     any_liege = {
                        is_merchant_republic = yes
                        is_vassal_or_below = FROM
                     }
                  }
               }
               NAND = { #does not apply to escaped slaves
                  has_character_flag = escaped_slave
                  trait = former_slave
               }
            }
            FROM = {
               change_variable = { which = "tyrant" value = 5 }
               hidden_tooltip = { character_event = { id = maintenance.1 } }#tyrant trait
            }
         }

    [etc...]



If you can't wait for a bug fix, moving the "enslave_effect = yes" line after the if "#If is my subject this is tyrannical" clause in the "enslave_prisoner" decision in the slavery_decisions.txt file should solve your problem. Like so:
Code: Select all
effect = {
         FROM = { save_event_target_as = enslaver }      
         opinion = { who = FROM modifier = opinion_enslaved_me }
         if = { #If is my subject this is tyrannical
            limit = {
               OR = {
                  is_liege_or_above = FROM
                  liege_before_war = { character = FROM }
                  any_liege = { liege_before_war = { character = FROM } }
                  AND = { #Junior triarchs
                     FROM = { has_minor_title = title_triarch }
                     any_liege = {
                        is_merchant_republic = yes
                        is_vassal_or_below = FROM
                     }
                  }
               }
               NAND = { #does not apply to escaped slaves
                  has_character_flag = escaped_slave
                  trait = former_slave
               }
            }
            FROM = {
               change_variable = { which = "tyrant" value = 5 }
               hidden_tooltip = { character_event = { id = maintenance.1 } }#tyrant trait
            }
         }
         enslave_effect = yes  ## fixed!

    [etc...]
mrbaatezu
 
Posts: 1
Joined: Wed Oct 28, 2015 10:37

Re: 1.4 slavery bug

PostPosted by knuckey » Mon Apr 17, 2017 10:20

I see the problem now, thanks for explaining it!
User avatar
knuckey
Site Admin
 
Posts: 5458
Joined: Fri Feb 10, 2012 23:21

Re: 1.4 slavery bug

PostPosted by kaxa80 » Fri May 05, 2017 10:40

mrbaatezu wrote:I had the same problem. This is happening because the enslave prisoner decision is applying the "enslave_effect" and moving the newly made slave to your court before it checks if the action would incur tyranny. However, since by then the slave is technically your vassal already, then the tyranny penalty will always apply.

Code: Select all

effect = {
         FROM = { save_event_target_as = enslaver }
         enslave_effect = yes  ## NO NO.
         opinion = { who = FROM modifier = opinion_enslaved_me }
         if = { #If is my subject this is tyrannical
            limit = {
               OR = {
                  is_liege_or_above = FROM
                  liege_before_war = { character = FROM }
                  any_liege = { liege_before_war = { character = FROM } }
                  AND = { #Junior triarchs
                     FROM = { has_minor_title = title_triarch }
                     any_liege = {
                        is_merchant_republic = yes
                        is_vassal_or_below = FROM
                     }
                  }
               }
               NAND = { #does not apply to escaped slaves
                  has_character_flag = escaped_slave
                  trait = former_slave
               }
            }
            FROM = {
               change_variable = { which = "tyrant" value = 5 }
               hidden_tooltip = { character_event = { id = maintenance.1 } }#tyrant trait
            }
         }

    [etc...]



If you can't wait for a bug fix, moving the "enslave_effect = yes" line after the if "#If is my subject this is tyrannical" clause in the "enslave_prisoner" decision in the slavery_decisions.txt file should solve your problem. Like so:
Code: Select all
effect = {
         FROM = { save_event_target_as = enslaver }      
         opinion = { who = FROM modifier = opinion_enslaved_me }
         if = { #If is my subject this is tyrannical
            limit = {
               OR = {
                  is_liege_or_above = FROM
                  liege_before_war = { character = FROM }
                  any_liege = { liege_before_war = { character = FROM } }
                  AND = { #Junior triarchs
                     FROM = { has_minor_title = title_triarch }
                     any_liege = {
                        is_merchant_republic = yes
                        is_vassal_or_below = FROM
                     }
                  }
               }
               NAND = { #does not apply to escaped slaves
                  has_character_flag = escaped_slave
                  trait = former_slave
               }
            }
            FROM = {
               change_variable = { which = "tyrant" value = 5 }
               hidden_tooltip = { character_event = { id = maintenance.1 } }#tyrant trait
            }
         }
         enslave_effect = yes  ## fixed!

    [etc...]


Thanks for the detailed instructions!
kaxa80
 
Posts: 103
Joined: Thu Oct 22, 2015 10:10

Re: 1.4 slavery bug

PostPosted by descuar » Fri May 05, 2017 12:10

You saved Slaver's Bay economy! :lol: :lol:

Thank you very much
descuar
 
Posts: 4
Joined: Wed Jan 11, 2017 15:50


Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 1 guest