Modding Help Crew Member Editing

Discussion in 'Starbound Modding' started by gtarinska, Apr 4, 2021.

  1. gtarinska

    gtarinska Intergalactic Tourist

    Hello everyone.

    I was trying to create a legendary crew member for a mod I'm working on, but when I tried using base files for testing, I couldn't achieve what I was trying to.

    Using base mechanic (npcs/crew/crewmembermechanic.npctype), I tried creating as follows:


    Code:
    {
      "type" : "crewmembermechanic",
      "baseType" : "crewmember",
    
      "scriptConfig" : {
        "behaviorConfig" : {
          "emptyHands" : false
        },
    
        "crew" : {
          "role" : {
            "type" : "mechanic",
            "name" : "Mechanic",
            "field" : "Technical",
            "uniformColorIndex" : 8,
    
            "benefits" : [
              {
                "type" : "ShipUpgradeBenefit",
                "property" : "fuelEfficiency",
                "value" : 100.0
              }
            ]
          }
        },
    
        "dialog" : {
          "crewmember" : {
            "roleDescription" : {
              "default" : {
                "default" : [
                  "I'll keep clearing out the carborator while I'm here. Fuel efficiency is up 100%!"
                ]
              }
            }
          }
        }
      },
    
      "items" : {
        "default" : [
          [0, [
              {
                "chest" : [ { "name" : "protectoratechest" } ],
                "legs" : [ { "name" : "protectoratepants" } ],
                "primary" : [ "npcwrench" ]
              }
            ] ]
        ]
      }
    }
    


    I know that value is a percentual value ranging from 0.0 to 1.0, but I tried compiling it as 1.0 for 100% fuel efficiency and nothing happened. Tried 100.0, but failed too.

    What am I doing wrong? How could I fix that?

    And I'm not testing with any other mod that might mess load order.

    Thanks in advance. ;3
     
  2. Zaakari

    Zaakari Pangalactic Porcupine

    So, a patch file is meant to make changes to an existing file, and, therefore, takes a different form from the original file. There is a nice tutorial about patch files here. The file you made might work if you renamed it to "crewmembermechanic.npctype" (dropping the .patch); this way it would overwrite the original file.

    However, if you want to use a patch file to test your changes, then this is what it should look like:
    Code:
    [
      { "op": "replace",
        "path": "/scriptConfig/crew/role/benefits/0/value",
        "value": 100.0
      }
    ]
     
    Last edited: Apr 4, 2021

Share This Page