Disabling companion personality clashes and morality objections

Users who are viewing this thread

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.
Code:
        #(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?
 
Solution
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:
Code:
            (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.
 
Upvote 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.
 
Upvote 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),
 
Upvote 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 ^^
 
Upvote 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:
Code:
            (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:
Code:
      (assign, "$disable_npc_complaints", 1),
 
Last edited:
Upvote 0
Solution
Back
Top Bottom