Modding Help [Tutorial] Genderbent mod

Discussion in 'Mods' started by keodau27, Jun 8, 2018.

  1. keodau27

    keodau27 Subatomic Cosmonaut

    Figure that i should do something to document some stuff i found while doing a genderbent mod. Hopefully this can help anyone who want to make their own mod

    Requirements:
    + Have some basic knowledge about coding first so it will be easier for you to read stuff like this Content Patcher guide ( i will try to insert in some really basic knowledge so it will be easier to understand since i'm a noob too )
    + Know how to unpack data from .xnb files and have an unpack Content folder ready for modding
    + Notepad ++
    + Has an image editor program to do the Character mod

    Part 1: NPCDispositions.yaml (can be found in Content/Data)

    So this file is really important, not only it helps you change the original names of the characters to the one you want but also make the hard-coded part of the game to acknowledge that the character has been changed from female -> male and vice versa

    Firstly let's take a look at the code in the yaml file, i will use Abigail's code as example

    At the end you can see the name "Abigail" is repeated, and that is the display name that will appear in places like under the character's portrait when talking or in the relationship tab.
    So change it to the name you want, i want to change Abigail's name to Abraham so i edit Abigail -> Abraham :

    If you do it right, it will show up ingame like this :
    2018-06-09 00_56_26-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png
    2018-06-09 00_55_03-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png
    Lastly we have the gender part in field 4th ("teen" counts as 0)

    Depend on what you're modding, change it either to male or female. This will help change the romantic relationship status of a character from girlfriend -> boyfriend or wife to husband and vice versa:

    CHANGE.png
    2018-06-09 01_34_35-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png

    This part is also tied in with some hard-coded part of the game so if you do it right some descriptions will automatic change from feminine to masculine pronouns like this :
    2018-06-09 00_55_19-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png

    But the problem is that since the game has recognized the character as the opposite sex, in the wedding scene, the game will automatic grab the wedding sprites for male characters and cause an animation glitch like below, it's because the bachelorettes and bachelors' wedding sprites are in different positions :

    2018-06-07 02_35_43-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png

    To fix this we need to move on to Part 2 but before that we need to change the relationship pronouns in characters who are related to the characters you want to genderbent, for example with Abigail we have her dad, Pierre :

    As you can see in the highlight part, ingame Pierre will sometimes refer to Abigail as "daughter". So we need to change it from "daughter to "son".



    Part 2 : Character mod

    Let's learn a few basic things first before going into the serious stuff :
    sprite.png

    Now onto the next thing, you should remember this because it will be useful for when you need to tamper with the codes later :

    basic.png

    So in order to fix the wedding animation problem we just need to re-position the bachelorettes' sprites into the same way as the bachelor are and vice versa

    edittt.png

    But you may meet a problem like where the positions are already taken by other sprites, so just fix it by switching their places

    switch.png

    With that you will now fix the animation glitch:

    CHANGE4.png

    BUT, by doing this you will cause animation glitch in those events that need those sprites that you switched. In order to fix this we need to do some code editing !


    Part 3 : Codes editing/Dialogue modding


    I hope you already read the Content Patcher guide for this part !
    I chose to use "Fields" when editing the dialogues from events and "Entries" for other random dialogues and description, since the codes for events have a lot of fields and are way longer.

    To begin fixing the animation error, we need to know where the sprites we switched come from which event first. For Emily's, those sprites are from her 6 hearts event, because we switched some sprites which the game uses for the event, it will glitch to the wedding sprites mid event like this
    2018-06-09 22_52_44-Stardew Valley 1.3.15 - running SMAPI 2.6-beta.15 with 13 mods.png
    What you need to know is that all the data for events including animation & dialogues are store in Content/Data/Events, and then it separates into different locations where it will happen, in which case Emily's 6 heart event happen in her & Haley's house, so HaleyHouse.yaml it is

    2018-06-09 23_39_13-Events.png

    This is what it looks like inside, so you need to figure out which codes belongs to which event, Usually the characters who are involved in the events are written in the blue syntax, and you can use Ctrl+F to find a piece of dialogue that is in the event to know which line of code you need.
    2018-06-09 .png

    So to make it easier to read & figure out which field i need to edit, i first select a line of code first then use Ctrl+F
    and set it up like this :
    Usd.png
    Notice that the search mode is in Extended, then i just click Replace all, it will get formatted like this
    If i need to read the name again i can just redo/Ctrl+Z it right back

    2018-06-10 00_09_39-.png

    To know the field number that i need to edit in content.json i just look at the line number in the gray area on the left and then use that number to minus the first field which is on line 26, right at the end of the blue syntax.
    I'm sure there are other way to do all of this but this was i how did it.

    So the animation i need to fix is on line 123, use 123 minus 26 we get 97, that is the field number i need to edit

    asdads.png

    the number 48 49 are the positions of the sprites that i need to edit, because i moved the sprites to position 36 & 37, i will write it in the content.json like so

    adasd.png
    Then the animation problem is fixed ! Do the same things to any animation that you want to edit

    For dialogue mod, t
    hese are all the yaml that you likely need to look through to edit :

    In Content\Characters\Dialogue : To start it's better to go through all the dialogues for characters who are closest/related to your genderbent characters to see if there is anything to fix and then move on to the genderbent characters' dialogues
    In Content\Data :
    EngagementDialogue, ExtraDialogue, mail, NPCDispositions, SecretNotes
    In Content\Data\Events : Depend on the events your characters have, just look through the location's yaml for it
    In Content\Data\Festivals: Same as above
    **Haley has a special dialogue refer to her on the cooking channel so in this case look in Content\Data\TV

    In Content\Strings : the whole schedules folder, StringsFromCSFiles, StringsFromMaps


    Here is a list of pronouns that characters often use to refer to each other for easier searching (remember to search for the names of characters you want to GB too) :
    That's all for this guide ! Happy modding ! Please ask if you still have any question




    ****Because i already done a genderbent mod for Bachelorettes, i have uploaded a content.json with all the edited dialogues (changing all feminine -> masculine pronouns) below, it included a note that list all the custom names i use in my mod for you to edit it easier as well.
    You're welcome to use it for your mod but please inform & credit me before sharing it !!
     

      Attached Files:

      Last edited: Sep 8, 2019
    • keodau27

      keodau27 Subatomic Cosmonaut

      The tutorial is completed ! I tried my best to write it clear and simple, If anyone have any question leave a comment and i will try my best to answer !
       
        stevetony and HopeWasHere like this.
      • stevetony

        stevetony Space Hobo

        cheers! this is super helpful.
         

        Share This Page