WB Coding Disabling companion personality clashes and morality objections

正在查看此主题的用户

John25-

Sergeant at Arms
Hi, I am looking for a way to disable some of these. I first changed npc characters in module_scripts.py, but it did nothing. I then disabled them, e.g.
插入代码块:
        #(troop_set_slot, "trp_npc1", slot_troop_morality_type, tmt_egalitarian),  #borcha
        #(troop_set_slot, "trp_npc1", slot_troop_morality_value, 4),  #borcha
        #(troop_set_slot, "trp_npc1", slot_troop_2ary_morality_type, tmt_aristocratic),  #borcha
        #(troop_set_slot, "trp_npc1", slot_troop_2ary_morality_value, -1),
        #(troop_set_slot, "trp_npc1", slot_troop_personalityclash_object, "trp_npc7"),  #borcha - deshavi
        #(troop_set_slot, "trp_npc1", slot_troop_personalityclash2_object, "trp_npc16"),  #borcha - klethi
        #(troop_set_slot, "trp_npc1", slot_troop_personalitymatch_object, "trp_npc2"),  #borcha - marnid
But the conversations still take place, so I disabled them in module_dialogs.py as well, but this is what happens:
70I9V1o.png


Is there a way to disable these dialogs or is it hardcoded?
 
解决方案
Thanks for the piece of advice. I have found the solution, and the issue was actually the post_battle_personality_clash. At the beginning I thought it was the whole complaint system but it was only this piece of coding in module_scripts.py, so here is what I have disabled:
插入代码块:
            (try_begin),
                (gt, "$npc_with_personality_clash_2", 0),
                (try_begin),
                    (eq, "$cheat_mode", 1),
                    (display_message, "str_personality_clash_conversation_begins"),
                (try_end),
             
#                (try_begin),
#                    (main_party_has_troop, "$npc_with_personality_clash_2"),
#                    (assign, "$npc_map_talk_context"...
easiest way: if you want for example disable
(troop_set_slot, "trp_npc1", slot_troop_personalityclash2_object, "trp_npc16"), #borcha - klethi
just replace the troop with one that never is in your party.
(troop_set_slot, "trp_npc1", slot_troop_personalityclash2_object, "trp_dranton"), #borcha - klethi

also (troop_set_slot, "trp_npc1", slot_troop_2ary_morality_value, -1), is already disabled without commenting it.
 
点赞 0
Keep in mind that these are variables set at the beginning of a playthrough, so, if you are changing them and then loading a save, nothing will happen because game_start has already fired. You'll need to re-execute the initialize_npcs script for changes to take effect mid game.
 
点赞 0
don't forget to change
(try_for_range, ":slot_addition", 0, "$number_of_npc_slots"), (store_add, ":slot", ":slot_addition", slot_troop_intro), (store_mul, ":string_addition", ":slot_addition", 16), #tocan: amount of companions (store_add, ":string", "str_npc1_intro", ":string_addition"), (val_add, ":string", ":npc"), (val_sub, ":string", companions_begin), (troop_set_slot, ":npc", ":slot", ":string"), (try_end),
 
点赞 0
I have tried with this change but I still get the conversations. Now instead of complaining about other companions or me they tell their background story
 
点赞 0
keep the order of the companion strings, don't delete or move anything there. if you would add new companions follow the existing string pattern.
and as dstn mentioned, you need to start a new game.

or check the ms of my old mod, i had there definitely over 70 companions ^^
 
点赞 0
Thanks for the piece of advice. I have found the solution, and the issue was actually the post_battle_personality_clash. At the beginning I thought it was the whole complaint system but it was only this piece of coding in module_scripts.py, so here is what I have disabled:
插入代码块:
            (try_begin),
                (gt, "$npc_with_personality_clash_2", 0),
                (try_begin),
                    (eq, "$cheat_mode", 1),
                    (display_message, "str_personality_clash_conversation_begins"),
                (try_end),
             
#                (try_begin),
#                    (main_party_has_troop, "$npc_with_personality_clash_2"),
#                    (assign, "$npc_map_talk_context", slot_troop_personalityclash2_state),
#                    (start_map_conversation, "$npc_with_personality_clash_2"),
#                (else_try),
#                    (assign, "$npc_with_personality_clash_2", 0),
#                (try_end),
            (else_try),
                (gt, "$npc_with_personality_match", 0),
                (try_begin),
                    (eq, "$cheat_mode", 1),
                    (display_message, "str_personality_match_conversation_begins"),
                (try_end),
                             
#                (try_begin),
#                    (main_party_has_troop, "$npc_with_personality_match"),
#                    (assign, "$npc_map_talk_context", slot_troop_personalitymatch_state),
#                    (start_map_conversation, "$npc_with_personality_match"),
#                (else_try),
#                    (assign, "$npc_with_personality_match", 0),
#                (try_end),
            (try_end),

And it works fine now, I don't get that post-battle map conversation

Edit - This can be added to a change in module_scripts.py that will disable complaints:
插入代码块:
      (assign, "$disable_npc_complaints", 1),
 
最后编辑:
点赞 0
解决方案
后退
顶部 底部