1. Please be advised of a few specific rules and guidelines for this section.

RELEASED Elithian Races Mod - A Starbound Expansion 2.3.10

A Starbound expansion mod which adds multiple new races and additional content

  1. MrNeonFrog

    MrNeonFrog Void-Bound Voyager

    Is there any way for a non Avikan to craft Avikan blocks and objects? I play a human and wish to make a desert base and love the aesthetic of their objects and blocks. Anyway to craft them as a Human character?
     
  2. Aegonian

    Aegonian Weight of the Sky

    There is, actually! If you head to the Starfarer's Refuge (you can find a teleporter in any large Avikan settlement), the gunsmith there will offer you a quest called "Avikan Crafting Techniques". Completing that quest will reward you with an Avikan Crafting Guide, which will unlock almost all Avikan crafting recipes when picked up. Any new crafting recipes that get added in later updates can be unlocked by dropping the guide (or placing it in a container), and then picking it up again. And if you ever lose your crafting guide, a new one can be purchased from the Drifter's Emporium so long as you're previously completed the quest.
     
    Roskii Heiral likes this.
  3. rylasasin

    rylasasin Cosmic Narwhal

    So once that comes out, will Lucky Charms Guy (my unofficial name for him) move there too or remain on the Nomada?
     
  4. DinoExplorer2000

    DinoExplorer2000 Scruffy Nerf-Herder

    the "Lucky charm guy" is after what i understand, the Alliance ambassador to the avikan nomada, so i think he stays
     
  5. Aegonian

    Aegonian Weight of the Sky

    She will most likely remain on the Nomada, acting as an ambassador for the Aeginian Federal Union, and she might actually be joined by a few more Aegi and other aliens in the future!
     
    Roskii Heiral likes this.
  6. Ancev Caine

    Ancev Caine Existential Complex

    Time to dig the "Xenos Go Home" signs out of the tent, then.
     
    Aegonian likes this.
  7. Derpmaster75

    Derpmaster75 Intergalactic Tourist

    how do you get inactive droden frames?
     
  8. Aegonian

    Aegonian Weight of the Sky

    They are often sold by Avikan merchants in the underground Avikan settlements. Alternatively, you can also steal them from the same settlements, but purchasing them is the recommended method (you can get an infinite amount of them that way, and you won't anger the colony).
     
  9. cin979

    cin979 Void-Bound Voyager

    I've recently been trying to create a small colour mod for your droden race (personal use only), and am having problems with getting these colours to be recognised in the character creation. My main purpose of it was to bind the colours of the frame showing on the arms and legs to the accent colour, as well as adding a few more colour options to the droden race. I've currently been poking through a few other mods that already achieve this properly, and even after replicating the code, I'm still unable to have it recognise it in-game. Not sure if this is an issue you can fix, or if I'm even allowed to modify you're mod, but any input would be greatly appreciated.

    Great mod btw
     
    Last edited: Aug 15, 2017
  10. Aegonian

    Aegonian Weight of the Sky

    Modifying the mod for personal use is completely fine by me, it's only when the modifications get published somewhere that I'd prefer to give permission beforehand.

    It should be possible to change the way Droden frame colouring works, and there's two main ways to achieve it: edit the humanoid sprites so the metal/grey parts are the same colour as either the primary or the secondary colour, or replace the antenna with a third colour option. For the first method, just recolouring the grey parts of the sprites should be all you need to do. If you'd prefer to be able to colour the grey parts independently, you can replace "altOptionAsFacialMask" with "altOptionAsUndyColor", then add the grey colours to the "undyColor" list. You should probably also clear the "facialMaskGroup" and "facialMask" options, though it might still work fine if you keep those in (never tried this myself, so I'm not sure what the effect of leaving these options in would be).
     
  11. cin979

    cin979 Void-Bound Voyager

    Do you know if it's possible to do that with .patch file?
     
  12. Aegonian

    Aegonian Weight of the Sky

    Yeah, it should be possible to use .patch files to change these values. You can use a "remove" operation to get rid of "altOptionAsFacialMask", then use and "add" operation to add the "altOptionAsUndyColor" option ins its place:
    Code:
    [
      {
        "op" : "remove",
        "path" : "/altOptionAsFacialMask"
      },
      {
        "op" : "add",
        "path" : "/altOptionAsUndyColor",
        "value" : true
      }
    ]
    After that, you should be able to use an "add" or "replace" operation to add the new colours to the "undeyColor" list, after which I think the changes will work as intended.
     
  13. cin979

    cin979 Void-Bound Voyager

    ah okay cool, i'll try that. Thanks for the help man. Would i then just add my colours in under the "undyColor" var? Also if I was to remove the facialMask & facialMaskGroup, would it just be this?

    Code:
    {
      "op" : "remove",
      "path" : "/facialMaskGroup",
    },
    {
      "op" : "remove",
      "path" : "/facialMask"
    },
    
    And this for adding the colours?

    Code:
    {
      "op":"add", 
      "path" : /undyColor", 
      "value" :{ "333333" : "17695f", "616161" : "179282" }
    {
    
     
    Last edited: Aug 16, 2017
  14. Aegonian

    Aegonian Weight of the Sky

    Adjusting the "facialMask" and "facialMaskGroup" needs a bit more code, since there are two of these lines in the original file (one for each gender). I'd also recommend clearing them instead of completely removing them, since removing completely them might cause issues. This patch should do the trick:
    Code:
    [
      {
        "op" : "remove",
        "path" : "/altOptionAsFacialMask"
      },
      {
        "op" : "add",
        "path" : "/altOptionAsUndyColor",
        "value" : true
      },
      {
        "op" : "replace",
        "path" : "/genders/0/facialMaskGroup",
        "value" : ""
      },
      {
        "op" : "replace",
        "path" : "/genders/0/facialMask",
        "value" : []
      },
      {
        "op" : "replace",
        "path" : "/genders/1/facialMaskGroup",
        "value" : ""
      },
      {
        "op" : "replace",
        "path" : "/genders/1/facialMask",
        "value" : []
      },
      {
        "op":"add",
        "path" : "/undyColor",
        "value" : { "333333" : "17695f", "616161" : "179282" }
      }
    ]
    I also recommend checking out this site: JSON Patch online

    It's a website where you can test if your JSON patch works before implementing it in-game, since the game's error logging system for JSON patching isn't always optimal. Paste your .patch data into "Patch", and copy and paste the original JSON config into "Data", then hit Apply Patch to test if the patch works. It'll give you an error if anything goes wrong, and will show exactly where the error is located. Do note that you have to remove any comments (lines starting with //) from both the patch and the original config, since the website doesn't recognize comments and will throw you an error if you leave them in.
     
  15. cin979

    cin979 Void-Bound Voyager

    I hate to pester you for more help, however I've run into another stumbling block and I'm not really sure what to do.

    When I run my current code for the .patch file through that JSON patch tool,

    Code:
    [
    
      {
      "op" : "remove",
      "path" : "/altOptionAsFacialMask"
      },
      {
      "op" : "add",
      "path" : "/altOptionAsUndyColor",
      "value" : true
      },
      {
      "op" : "replace",
      "path" : "/genders/0/facialMaskGroup",
      "value" : ""
      },
      {
      "op" : "replace",
      "path" : "/genders/0/facialMask",
      "value" : []
      },
      {
      "op" : "replace",
      "path" : "/genders/1/facialMaskGroup",
      "value" : ""
      },
      {
      "op" : "replace",
      "path" : "/genders/1/facialMask",
      "value" : []
      },
    
      
    
         {
      "op":"add",
      "path" : "/bodyColor",
      "value" :
      [
      { "42301C" : "227469", "785F40" : "229e8e", "A2825C" : "00cfb4", "CCAA7F" : "82e7da" },
           { "42301C" : "75451c", "785F40" : "b1692a", "A2825C" : "f89e4f", "CCAA7F" : "ffa658" },
           { "42301C" : "285d13", "785F40" : "519834", "A2825C" : "85d366", "CCAA7F" : "9eff78" },
           { "42301C" : "3f2875", "785F40" : "805fce", "A2825C" : "a178ff", "CCAA7F" : "c9b2ff" },
           { "42301C" : "832a1c", "785F40" : "c55442", "A2825C" : "f57966", "CCAA7F" : "ff9b8c" },
           { "42301C" : "b2b2b2", "785F40" : "c5c5c5", "A2825C" : "d2d2d2", "CCAA7F" : "e3e3e3" },
           { "42301C" : "283054", "785F40" : "375aa3", "A2825C" : "5568ca", "CCAA7F" : "869bf0" },
           { "42301C" : "4a2854", "785F40" : "8e37a3", "A2825C" : "b655ca", "CCAA7F" : "e086f0" }
      ]
      },
      
           {
      "op":"add",
      "path" : "/hairColor",
      "value" :
      [
      { "553428" : "227469", "A35638" : "229e8e", "C97354" : "00cfb4", "EFA386" : "82e7da" },
      { "553428" : "285d13", "A35638" : "519834", "C97354" : "85d366", "EFA386" : "9eff78" },
      { "553428" : "3f2875", "A35638" : "805fce", "C97354" : "a178ff", "EFA386" : "c9b2ff" },
      { "553428" : "b2b2b2", "A35638" : "c5c5c5", "C97354" : "d2d2d2", "EFA386" : "e3e3e3" },
      { "553428" : "283054", "A35638" : "375aa3", "C97354" : "5568ca", "EFA386" : "869bf0" },
      { "553428" : "4a2854", "A35638" : "8e37a3", "C97354" : "b655ca", "EFA386" : "e086f0" },
      { "553428" : "412F1D", "A35638" : "775E42", "C97354" : "A0805E", "EFA386" : "CAA881" },
      { "553428" : "5E4536", "A35638" : "A5885E", "C97354" : "C9AC80", "EFA386" : "E9D3AB" },
      { "553428" : "322314", "A35638" : "5C462E", "C97354" : "7B5F42", "EFA386" : "9B7D5C" },
      { "553428" : "323232", "A35638" : "626262", "C97354" : "858585", "EFA386" : "ADADAD" }
      ]
      },
    
           {
      "op":"add",
      "path" : "/undyColor",
      "value" :
      [
      { "333333" : "372513", "616161" : "6b5337" },
               { "333333" : "533b2b", "616161" : "997d53" },
               { "333333" : "271909", "616161" : "513b23" }, 
               { "333333" : "272727", "616161" : "575757" }, 
    
               { "333333" : "491b03", "616161" : "823711" },
               { "333333" : "d53b33", "616161" : "e6655f" },
               { "333333" : "493303", "616161" : "825d11" },
               { "333333" : "333333", "616161" : "616161" },
    
    
               { "333333" : "17695f", "616161" : "179282" },
               { "333333" : "1d5309", "616161" : "458c29" },
               { "333333" : "351d6b", "616161" : "7553c2" },
    
               { "333333" : "adadad", "616161" : "c0c0c0" },
               { "333333" : "1d296b", "616161" : "5362c2" },
               { "333333" : "5f1d6b", "616161" : "b153c2" }
      ]
      }
    
    ]
    
    It seems to be replacing the default colours with the ones I input, despite specifing the "add" operation

    Code:
      "hairColor" : [ {
      "553428" : "227469",
      "A35638" : "229e8e",
      "C97354" : "00cfb4",
      "EFA386" : "82e7da"
      }, {
      "553428" : "285d13",
      "A35638" : "519834",
      "C97354" : "85d366",
      "EFA386" : "9eff78"
      }, {
      "553428" : "3f2875",
      "A35638" : "805fce",
      "C97354" : "a178ff",
      "EFA386" : "c9b2ff"
      }, {
      "553428" : "b2b2b2",
      "A35638" : "c5c5c5",
      "C97354" : "d2d2d2",
      "EFA386" : "e3e3e3"
      }, {
      "553428" : "283054",
      "A35638" : "375aa3",
      "C97354" : "5568ca",
      "EFA386" : "869bf0"
      }, {
      "553428" : "4a2854",
      "A35638" : "8e37a3",
      "C97354" : "b655ca",
      "EFA386" : "e086f0"
      }, {
      "553428" : "412F1D",
      "A35638" : "775E42",
      "C97354" : "A0805E",
      "EFA386" : "CAA881"
      }, {
      "553428" : "5E4536",
      "A35638" : "A5885E",
      "C97354" : "C9AC80",
      "EFA386" : "E9D3AB"
      }, {
      "553428" : "322314",
      "A35638" : "5C462E",
      "C97354" : "7B5F42",
      "EFA386" : "9B7D5C"
      }, {
      "553428" : "323232",
      "A35638" : "626262",
      "C97354" : "858585",
      "EFA386" : "ADADAD"
      } ],
      "altOptionAsUndyColor" : true
    }
    
    And even then it's still not adding the new colours when I try opening the character creation in-game. Any ideas?
     
  16. Aegonian

    Aegonian Weight of the Sky

    My bad, I actually made a small mistake in the code for replacing the undyColors... The right code to use for the undyColors would be this:
    Code:
    [
      {
        "op":"replace",
        "path" : "/undyColor/0",
        "value" : { "333333" : "17695f", "616161" : "179282" }
      },
      {
        "op":"add",
        "path" : "/undyColor/-",
        "value" : { "333333" : "17695f", "616161" : "179282" }
      }
    ]
    The code for adding new hair colours should be this:
    Code:
    [
      {
        "op":"add",
        "path" : "/hairColor/-",
        "value" : { "553428" : "227469", "A35638" : "229e8e", "C97354" : "00cfb4", "EFA386" : "82e7da" }
      },
      {
        "op":"add",
        "path" : "/hairColor/-",
        "value" : { "553428" : "285d13", "A35638" : "519834", "C97354" : "85d366", "EFA386" : "9eff78" }
      }
    ]
    Since we are adding values to an existing list, we can't just use the regular "add" operation. The "undyColor" and "hairColor" values already exist, so simply providing the /undyColor or /hairColor paths will make the patch add your new values directly at that path - effectively replacing whatever was there before. Instead, we have to use the path /undyColor/- to tell the game to add our new values at the end of the existing list. You can use /- to add values to the end of a list, or use /0, /1 etc. for adding it in the first, second etc. position in the list (note that the code sees 0 as the first entry, not 1!). The only downside to this is that every new value has to be added in a separate "add" operation, instead of lumping them all together into a single operation.

    For the undyColor, a "replace" operation should be used first, since there is already a value there (but that value is empty, and so has to be replaced). Using the path /undyColor/0 tells the game to replace the first entry in the list, same as how the "add" operation can add values at specific positions.
     
  17. Victorio_bb

    Victorio_bb Void-Bound Voyager

    Is there away to get the unique armour pieces (thellhunterhelm and exosuit) in game?
     
  18. Aegonian

    Aegonian Weight of the Sky

    Unfortunately, spawning them in is the only way to obtain them right now. Both pieces are planned as future content, but I haven't finalized my plans for implementing them yet.
     
  19. cin979

    cin979 Void-Bound Voyager

    So should the code look something like this?

    Code:
    [
    
    //Setup
      {
      "op" : "remove",
      "path" : "/altOptionAsFacialMask"
      },
      {
      "op" : "add",
      "path" : "/altOptionAsUndyColor",
      "value" : true
      },
      {
      "op" : "replace",
      "path" : "/genders/0/facialMaskGroup",
      "value" : ""
      },
      {
      "op" : "replace",
      "path" : "/genders/0/facialMask",
      "value" : []
      },
      {
      "op" : "replace",
      "path" : "/genders/1/facialMaskGroup",
      "value" : ""
      },
      {
      "op" : "replace",
      "path" : "/genders/1/facialMask",
      "value" : []
      },
      {
      "op" : "replace",
      "path" : "/charGenTextLabels",
      "value" : [ "Paint colour", "Pattern", "N/A", "N/A", "Frame Colour", "Accent colour", "N/A", "N/A", "DRODEN", "Personality" ]
      }
    
    //Colouring
    
      //Body Colouring
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "227469", "785F40" : "229e8e", "A2825C" : "00cfb4", "CCAA7F" : "82e7da" }}, //Cyan
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "75451c", "785F40" : "b1692a", "A2825C" : "f89e4f", "CCAA7F" : "ffa658" }}, //Orange
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "285d13", "785F40" : "519834", "A2825C" : "85d366", "CCAA7F" : "9eff78" }}, //Green
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "3f2875", "785F40" : "805fce", "A2825C" : "a178ff", "CCAA7F" : "c9b2ff" }}, //Purple
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "832a1c", "785F40" : "c55442", "A2825C" : "f57966", "CCAA7F" : "ff9b8c" }}, //Red
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "b2b2b2", "785F40" : "c5c5c5", "A2825C" : "d2d2d2", "CCAA7F" : "e3e3e3" }}, //White
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "283054", "785F40" : "375aa3", "A2825C" : "5568ca", "CCAA7F" : "869bf0" }}, //Blue
         {"op":"add", "path" : "/bodyColor/-", "value" :{ "42301C" : "4a2854", "785F40" : "8e37a3", "A2825C" : "b655ca", "CCAA7F" : "e086f0" }}, //Pink
    
      //Accent
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "227469", "A35638" : "229e8e", "C97354" : "00cfb4", "EFA386" : "82e7da" }}, //Cyan
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "285d13", "A35638" : "519834", "C97354" : "85d366", "EFA386" : "9eff78" }}, //Green
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "3f2875", "A35638" : "805fce", "C97354" : "a178ff", "EFA386" : "c9b2ff" }}, //Purple
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "b2b2b2", "A35638" : "c5c5c5", "C97354" : "d2d2d2", "EFA386" : "e3e3e3" }}, //White
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "283054", "A35638" : "375aa3", "C97354" : "5568ca", "EFA386" : "869bf0" }}, //Blue
         {"op":"add", "path" : "/hairColor/-", "value" :{ "553428" : "4a2854", "A35638" : "8e37a3", "C97354" : "b655ca", "EFA386" : "e086f0" }}, //Pink
    
      //Frame
    
        //Originals
           {"op":"replace", "path" : "/undyColor/0", "value" :{ "333333" : "372513", "616161" : "6b5337" }}, //Brown
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "533b2b", "616161" : "997d53" }}, //Sand
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "271909", "616161" : "513b23" }}, //Dark Brown
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "272727", "616161" : "575757" }}, //Stripped Metal
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "491b03", "616161" : "823711" }}, //Orange
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "d53b33", "616161" : "e6655f" }}, //Red
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "493303", "616161" : "825d11" }}, //Yellow
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "333333", "616161" : "616161" }}, //Black
    
        //Custom
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "17695f", "616161" : "179282" }}, //Cyan
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "1d5309", "616161" : "458c29" }}, //Green
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "351d6b", "616161" : "7553c2" }}, //Purple
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "adadad", "616161" : "c0c0c0" }}, //White
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "1d296b", "616161" : "5362c2" }}, //Blue
           {"op":"add", "path" : "/undyColor/-", "value" :{ "333333" : "5f1d6b", "616161" : "b153c2" }}  //Pink
    
    ]
    
     
    Last edited: Aug 18, 2017
  20. cin979

    cin979 Void-Bound Voyager

    Hm, I just tried running the patch with only the code required to add the body and accent colours, and even then it's still not working. I also tried copying the patched code from that JSON site into the droden.species file and it worked fine. So is there an initialization script or code that I have to input for it to run?
     
    Last edited: Aug 18, 2017

Share This Page