Tried google but found only threads where this topic was unanswered. I'm working on a custom race (Fizarians) and I would love some guidance to how I can add this. Also I might consider to give them custom furniture you can craft. What I wonder is if it is possible to like add a new sort of furniture type that can attract my race to colony deeds and like, And how to even make them NPC's that can do that at all.
You should start by looking at how the game does it for its own races. 90% of the time, just copy what the game already does will get you what you want. The game is the best resource for examples on how to do things.
<race>Description race = race name as per species file. Follow format of other races in existing objects. Remember always patch when editing existing files.
If you're on Windows, you could try this tool to create description patches for objects. Make sure you read the description on the main page if you're planning to use it. https://github.com/Silverfeelin/Starbound-AddASpeciesDescription
Going by the title of this thread, you will have to patch it into the converse.config in the dialogs folder. Before you do anything, You have to know about a particularly annoying bug with the way the dialog options are currently handled by the game. If you try to create custom lines for when you species interact with npcs of any species, their "generic" dialog options will override the custom lines. so you have to use a patch that moves all the "generic" options to the "default" option, I've included the patch I use in my modpack if you want an example. Code: [ //This makes the mod compatible with the other mods, like my modpack, that also moves //the "generic" options to the "default" options. The "test" operator just makes sure //it hasn't been moved yet by checking if the element exists. //Note: //The inverse isn't necessary in this case since it it's set to false by default, //but specifying it makes it easier to when you go back to check how things works in the future. [ { "op" : "test", "path" : "/converse/apex/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/apex/generic", "path" : "/converse/apex/default" } ], [ { "op" : "test", "path" : "/converse/hylotl/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/hylotl/generic", "path" : "/converse/hylotl/default" } ], [ { "op" : "test", "path" : "/converse/avian/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/avian/generic", "path" : "/converse/avian/default" } ], [ { "op" : "test", "path" : "/converse/human/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/human/generic", "path" : "/converse/human/default" } ], [ { "op" : "test", "path" : "/converse/floran/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/floran/generic", "path" : "/converse/floran/default" } ], [ { "op" : "test", "path" : "/converse/glitch/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/glitch/generic", "path" : "/converse/glitch/default" } ], [ { "op" : "test", "path" : "/converse/novakid/generic", "inverse" : false }, { "op" : "move", "from" : "/converse/novakid/generic", "path" : "/converse/novakid/default" }, ] ] As for the attracting race specific tenants, you can also specify that by making custom tenants that are of your modded species, to make it easier for your users to get your race specifically, i recommend adding 0.1 to the vanilla race specific tenant priorities, but keep in mind that doing so will also override the tenant priority making it so that instead of creating a pool only your species will be able to spawn even if there is some furniture that is related to an other species. And if you want to do it to the max, you will also want to create a version of each type of tenants that spawns your race. To make sure your tenants are spawning, your objects will need to include a colony tag that is unique to your mod, for species related tag, the convention is to make the tag the name of your race. I've included an example from my modpack. Code: { "name": "chef_ponex", //by convention, [tenant type]_[species] "priority": 4, //Base Priority for species specific "colonyTagCriteria": { "light" : 1, "door" : 1, "ponex" : 8, //this means that a total of 8 blocks have to be occupied by one or many //objects that has the colony tag "ponex" "cooking" : 8 }, "tenants": [ { "spawn": "npc", "species": ["ponex"],//here you set what kind of species the tenant will be. "type": "chefmerchanttenant", //this is the npctype id that the tenant will be, //the default tenants are of type "generictenant" "overrides": { } } ], "rent": { "periodRange" : [900.0, 1800.0], // this is the rent when paid with pixels, so if your species //is greedy or charitable you can reflect it here "pool" : "merchantGift" //This is the treasure pool used for the rent items, //You can create one or use a pre existing one, they are all in the treasure folder } }
Thanks for your replies. Will look into it. I'm working on the new Fizarian race mod, which are mammalian species with a reptile appearance on their body shape. And I really want to do it well with this.