hhfwo1202 Posted May 10, 2023 Share Posted May 10, 2023 I'm working on a mod that will expand some of the functionality and dialogue options for the companion Cait. I'll be using a combination of vanilla dialogue that I will reuse and xVASynth to create dialogue and my Digital Audio Workstation (DAW) of choice, Reaper, for all of the editing that I'll need to do. I plan to do something similar to this with some of the other companions in the game, but I'm starting with Cait just because she's the one that I personally want to adjust the most. I'm familiar with using the Garden of Eden Creation Kit (GECK) and TESScript for modding Fallout 3 and NV, and also familiar with the Creation Kit for Skyrim and Fallout 4. I'm not too familiar with the Papyrus language used in both games, though from what I've seen of it, it looks similar to TESScript in many ways, and different in many ways as well. One of the things I want to do in this mod is slightly change some of the player actions that Cait will gain or lose Affinity points towards the player with. For example, if the player agrees to help a settlement during their recruitment quests for the Minutemen (the quests with the Editor IDs "MinRecruit00-MinRecruit09" in CK), Cait will dislike that, and I want to change that so that Cait will have no reaction and neither gain or lose affinity as a result. However, I want this to be done only after the player has completed a few speech checks. So, Cait says like "we have to look out for ourselves" and player says like "I have over 20,000 caps, were not exactly strapped for caps", and will get the point. And only after that speech check will the actions that affect Affinity change. From what I've seen, I believe this will involve the "Keywords" that deal with companion Affinity (for Cait, the ones with Editor IDs of CA_CustomEvent_CaitLikes, CA_CustomEvent_CaitDislikes, etc.), and the corresponding Condition Parameters and scripts (like CA_DialogueBump_TopicInfoScript) on the dialogue Topic Info pages that use those Keywords. If I'm missing something there, or if that's just wrong, please let me know and what's correct. So, I'm thinking I would have to create a separate set of Affinity Keywords for Cait, and then assign it as a property to the Affinity scripts (CA_...Scripts) for each dialogue topic I want these changes to apply to. Assuming that all of that is correct and how I should go about doing it, what would I have to do after that to: Make sure that Cait will only use the custom Keywords, and to essentially ignore the vanilla ones? Make sure that this will only happen after the player says a specific dialogue line that will trigger it to happen?Thank you for reading this, and thank you in advance for any information you can give me on how I would go about doing this! Link to comment Share on other sites More sharing options...
LarannKiar Posted May 11, 2023 Share Posted May 11, 2023 If you would like her to have an alternate affinity, you would need to replace a lot of keywords (practically, it requires rebuilding her new affinity with the custom keywords). And a script is also required if you'd like the new affinity to be conditionalized (e.g., affinity bumps based on player actions). Changing her reaction to minutemen quests is much easier because they have a custom affinity keyword. Creation Kit >> Actor >> CompanionCait [FormID: 79429] >> Papyrus Scripts >> CompanionActorScript >> Property Name >> AffinitySettings group >> EventData_Array >> locate "CA__CustomEvent_MinSettlementHelp" >> Struct Variables >> Disposition_Global >> Change "CA_Event_Dislikes" to "CA_Event_Likes", then open "Message_to_Display" >> Change "CA_Cait_Dislikes" to "CA_Cait_Likes". Link to comment Share on other sites More sharing options...
Recommended Posts