Hello everyone. I would like to start new thread in witcher3 : mods section ( have great idea for mod but need hints where i can find some documentation/methods to overload to change Geralt behaviour during conversations- is this even possible?- i cant find any) but i dont have privileges to do so. Which sorceress i need to bang to get them( can moderator start new topic for me - pretty please)?
Edit: I did read documentation and made through tutorials section - the question about geralt personality perks remain mystery to me - where are these methods hidden?
Thank You kindly! On my way to create a full description post
Post automatically merged:
Post automatically merged:
Hi it is me again!
All right here we go - if You would like to read full description of my predicament please read from LONG STORY otherwise - skip to SHORT STORY to get to the point.
LONG STORY:
Before i start i would like to to tell You that i am neither newbie nor expert when comes to modding. I did few modes in the past - EU2, ES2 recently Stellaris. But there were all "easy" mods , usually step by step repeated after tutorials, or stolen ideas from other mods. However when comes to REDKit i am totally green. Never work in either Unreal or in REDENGINE.
My goal is to create simple mod that is described below in "short story" section. Why? You see when i was playng witcher 3 i very quickly realized that something is wrong - when i was talking with Triss Merigold I have found out that she is scared of me - she was avoiding eye contact with me. I could not tell why at the beginning, only later when Dendalion was avoiding looking into Ciri eyes i realized that game does not divide ppl into "friends" or "foes" - if u are dangerous- everyone in the game will be scared of u, even Your lovers or friends , not just Your enemies. This became my first problem with the game.
The second problem is what your enemies scream during combat. They can be divided into 3 groups:
1) If You follow Ciri path they scream : "Z lewa go zachodź" , "Giń smokobójco chędożony" , "Uciekaj póki masz łeb i jaja" ....
2) If You follow Yeneffer path :"Z prawa go zachodź" , "Giń wiedźmojebco", "No to masz przejebane"....
3) If You play as malevolent trash :" Od tyłu go zachodź" , "Giń skurwysynu", "Kurwi synu", "No to się wjebałeś"...
The issue is - i would like to play 1 or 2 path... but i want to be insulted by phrases from 3 group. This however requires from me to be evil. I am lame player- i always want to play as "good" guy, but i cannot stand when enemies scream at me from 1 or 2 group - it TOTALLY BREAKS MY IMMERSION.
So i realized that i cannot play the way i want unless i either sacrafaice my sanity and became evil(not gonna happen - no no no) ,
or i turn sounds off everytime i fight with humans so that i dont hear their embarasing insults.
To fix it i need simple solution - i need to create 2 geralt personality tables - one for friends - seccond for foes.
SHORT STORY:
I would like to rreate mod that divides ppl Geralt meets in his journey into 2 groups : friends and foes. I would like Geralt to have specyfic personality traits only for friends, oppoiste for enemies,
and some trait the same for both sides(such as "intelligent", "direct").
As it is show on picture below:
As for 2 groups - I would like to add temporary ".txt" file -where all game characcters will be put into FRIENDS group or ENEMIES.
At the 1st iteration it will be hardcoded like that:
If time allows I even though about more ambitious approach - i would like to add to game each time You meet new character a convversation choice- to put characcter into one of the groups. For example first converation with
Examples:
Vesemir in "Bialy Sad" :
1) FRIEND: "I knew I can count on You Vesemir, Thank You for helping me Find Yennefer."
2) FOE : "If You werent here I would probably have found her. You slow me down"
Yennefer:
1) FRIEND: "I was waiting for the moment our paths cross again"
2)FOE: "Yennefer i can see you changed Vilgefortz company for Nilfgardian soldiers. Why i am not suprised?"
Or something like that - it is not final version. This way player would get a chance to put each person in desired group.
Anyway - the questions are:
QUESTION 1 : Is this mod even possible ?
QUESTION 2: How to modify gerlat personality?
QUESTION 3 : What affects geralt personality perks- where are these methods stored ? Need a hint to find these methods - are they even exposed to API? Can modder use them?
QUESTION 4: Can i create 2 instanes of geralt person - one for each group - is there neat trick to do that or will i have to make method to check before every conversation?
Post automatically merged:
Any help would be welcome. Even if this is not possible to do such mod I would like still to recive blunt and honest answer - just the way i play as geralt
I am going to pester u all every week until some modder/developer answers my questions - is it possible to change directly Geralt personality- i am looking for methods like Add_Aggressive_Point_To_Geralt_Personality() or Substract_Dangerous_Point_From_Geralt_Personality() .
Anything beyond standard behaviour. I would like to modulate how Geralt speak/how pppl react to him.
Unfortunately Witcher side of the forums has been rather quiet nowadays (game was released 2015) :/ Other than occasional posts, not much happening here at the moment.
Was expecting that modders/devs would respond if u take into account that REDKIT was released just 2-3 months ago. Strange. Well i guess i need to figure it out for myself if changing personality is even possible. Thx anyway. Topic can be closed.
OK, looks like i either ask wrong questions or missing big picture. I' ll abandon this mod for now and focus on something smalller. Maybe in time i ll find out how to access personality Database.
I know very little about modding in TW3, but I'll respond for the sake of a response. I know that the new REDkit that was released is more robust and allows access to parameters in the game that were not (at least not easily) available before. I don't know the specifics.
In general, though, there will be a number of layers under the hood in order to modify what you're describing. You could probably rig a text box to gain the desired effect, but to have the responses you want to edit actually built in with animated and voiced dialogue, ensure that the selection throws the correct flags for quest and journal updates, and potentially introduces new flags for a reflection of the new reaction and outcomes...you're dealing with an entire suite of different systems that work together.
Scenes are a mixture of animation packages and audio files that must be scheduled by the game to be executed in tandem with one another. (Here, I don't know if they're compressed into singular files per option, if the game fetches the individual video and audio files on each call, or if whole dialogues are compiled into singular files with all options cached in RAM but only executed on player input. No clue.) But however it works, what will need to be done is:
1.) Video asset(s) such as meshes, textures, and shaders need to be attached to an animation package so the model moves and animates correctly. That is then synced with audio files of the voice acting, music, and any sort of camera cuts to switch between characters.
2.) Once the scene is created, it needs to be attached to a journal entry of some sort, which is how the game records and displays the state of a given quest line. This can be tricky if editing something in the middle, as it will affect all other quest flags following. Once a particular flag is thrown, the game needs to know to look for it in the future. (Here, again, no idea exactly which steps are included in the system to ensure nothing is missed.) In essence though, it will look something like this:
Dialogue Options:
Option 1 - Kind
Option 2 - Neutral
Option 3 - Denial
[Option 4] - Gruff <--- This is the option I want to add.
I don't think it would be terribly effective to try to replace, say, Option 3 with with [Option 4]. One of the last things you'll want to do as a mod author is replace existing game files with edits, so those options should remain untouched in the actual game files. What could be done is introducing additional options or hiding existing options without actually touching the vanilla files -- it will all be through the mod.
Next, we have a simple tree for the dialogue, which will look something like this:
IF Option 1 ---> Option 4, 5, or 6
OR
IF Option 2----> Option 7, 5, or 6
OR
IF Option 3 ---> Option 8, 9, or 6
(^ That's one thing Geralt says, one thing the NPC will say back, and the next selection of dialogue options maintaining "6" as "Not interested / End Dialogue.")
IF Option 4 ---> Option 10 or 6
OR
IF Option 5 ---> Option 11 or 6
OR
IF Option 7 ---> Option 12 or 6
OR
IF Option 8 ---> Option 11 or 6
OR
IF Option 9 ---> Option 13 or 6
OR
IF Option 6 ---> END DIALOGUE
(^ That's Geralt's response to the NPC, one thing the NPC will say back, and Geralt's next choices again maintaing "6" to end the dialogue early. Here, we see how the game may merge a couple of options, namely 5 and 8, to result in the same, continuing choices but with slightly different "flavors" of speech, allowing the player to hit the same idea from a different emotional standpoint. But the NPC will respond the same way.)
IF Option 10 ---> Conclusion 1, add quest flag / journal entry 1. END DIALOGUE
OR
IF Option 11 ---> Conclusion 1, add quest flag / journal entry 1. END DIALOGUE
OR
IF Option 12 ---> Option 14 or 6
OR
IF Option 13 ---> Conclusion 2, add quest flag / journal entry 1, fail quest flag / journal entry 1. END DIALOGUE
OR
IF Option 6 ---> END DIALOGUE
(^ Here's another single exchange of one piece of dialogue each, two potential ways of beginning the quest, and one way of saying something that instantly fails the quest and makes it unavailable. We also introduce a variable in Option 12 that would require Geralt to have done something or be carrying a specific item from a past quest, giving him potentially additional insight for the upcoming quest. We also maintain the ability for the player to simply cancel and reset the dialogue in order to come back later with "6".)
IF Option 14 ---> Conclusion 2, add quest flag / journal entry 1 and 2, END DIALOGUE
OR
IF Option 6 ---> END DIALOGUE
(^ And in this last scenario, Geralt has the option of engaging with the quest along with additional hints and info that open up a new potential pathway and understanding of the details or motivations for the quest itself, potentially a different outcome that was reliant on Option 14 being available during this dialogue.)
The most important thing to walk away with is that, in order to avoid conflicts, the flags and journal entries that are thrown here must trigger correctly. If they don't, it could break future parts of the game. Additionally, if the options themselves are edited, it could prevent the game from throwing the correct flag and/or create confusion as the dialogue here may not line up with dialogue later in the quest line.
Hence, to edit in the sort of changes you're discussing, we'd want to create modded dialogue entries that add a new flavor but still keep the entirety of the quest structure intact. I would recreate all of the dialogue options that line up with your vision, edit whatever, then add them as completely separate options that trigger the same flags.
So, let's say that Option 3 is closest to your "enemy response" idea. Modded options shown in yellow with an "m" tag for each possible part:
IF Option 1 ---> Option 4, 5, or 6
OR
IF Option 2----> Option 7, 5, or 6
OR
IF Option 3 ---> Option 8, 9, or 6 ORm
IFm Option 4m ---> Option 8m, 9m, or 6m
IF Option 4 ---> Option 10 or 6
OR
IF Option 5 ---> Option 11 or 6
OR
IF Option 7 ---> Option 12 or 6
OR
IF Option 8 ---> Option 11 or 6
OR
IF Option 9 ---> Option 13 or 6
OR
IF Option 6 ---> END DIALOGUE ORm
IFm Option 8m ---> Option 11m or 6m
ORm
IFm Option 9m ---> Option 13m or 6m
ORm
IFm Option 6m ---> END DIALOGUEm
(^ That's the idea...now skipping to the quest flags: )
...
IF Option 10 ---> Conclusion 1, add quest flag / journal entry 1. END DIALOGUE
OR
IF Option 11 ---> Conclusion 1, add quest flag / journal entry 1. END DIALOGUE
OR
IF Option 12 ---> Option 14 or 6
OR
IF Option 13 ---> Conclusion 2, add quest flag / journal entry 1, fail quest flag / journal entry 1. END DIALOGUE
OR
IF Option 6 ---> END DIALOGUE ORm
IFm Option 11m ---> Conclusion 1m, add quest flag / journal entry 1m. END DIALOGUEm
ORm
IFm Option 12m ---> Option 14m or 6m
ORm
IFm Option 13m ---> Conlusion 2m, add quest flag / journal entry 1m, fall quest flag / journal entry 1m. END DIALOGUEm
ORm
IFm Option 6m ---> END DIALOGUEm
IF Option 14 ---> Conclusion 2, add quest flag / journal entry 1 and 2, END DIALOGUE
OR
IF Option 6 ---> END DIALOGUE ORm
IFm Option 14m ---> Conclusion 2m, add quest flag / journal entry 1m and 2m, END DIALOGUEm
ORm
IFm Option 6m ---> END DIALOGUEm
There's the overall concept of how a mod like you're suggesting would work. Whatever triggers and options are added should be standalone from the existing dialogue options, but still throwing the correct flags at the correct dialogue stages.
It might then be possible to "hide" (HIDEm , so to speak) the existing dialogue options so that they "replace" them in the game without them actually being removed or overwritten in the installation files. Ideally, you'll want to accomplish all of what your mod does in the RAM, not in the actual game files themselves.
Again, NONE of this is actually what it will look like in the REDkit -- none of the terms are going to line up -- none of these things are actual references to the script names as they'll appear in the actual game. It's just the logic of how you'll need to tackle a given dialogue scene to avoid conflicting directly with the vanilla version of the game and leave your mod in a state where it will synergize with other mods. Essentially, if all dialogue changes you make are 100% standalone, executing entirely their own scripts, there's less of a chance for future conflicts arising when they trigger.
Not sure if that helps or not, and there are infinitely more knowledgeable people you can speak to about how the REDkit actually works. It should be possible.
Thx, i ll look into existing dialogues and see if i can change geralt apperance in accordance with new options in dialogue tree. This is connected somehow for that i am sure, i just need to figure it out how it is done. I am kinda sad that i can't directly and in easy way modify vanilla choices (wanted to give new path to existing quests an modify outcome - but now i see it will take more than just adding new paths - in the end i will probably corrput orginal files and breake game ). Ohh well.... Idea forsaken and forgotten then. Thanks again. Topic can be closed.
Well you can. Just not in the original files. You'd simply copy-paste the original script, then edit it the way you want, and save it as a modded file with a different name. The mod would then instruct the game to ignore the vanilla options and replace it with the modded files. (Definitely not as simple as saying it, but you wouldn't need to create everything from scratch or anything.)
Changing Gerlat's appearance would be more complicated. I believe there are several different "Geralt" models that are used for various parts of the game: in-game vs. dialogue vs. cinematic dialogues, etc. In order to have the model completely uniform for a playthrough, you'd need to recreate all of those textures.