Requests from modders to devs for 1.0 and 1.1

I must be doing something wrong, because I would swear to you that I’ve gotten it while embarking before (because I remember laughing at them being beardless, and having the Emperor’s Epic Beard instead of his clothes)… goes off to try now and get a screenshot if successful

-edit-
Must’ve been before that got fixed. It has been a while since I’ve actually sat and played

2 Likes

Is there any way we can get the ability to specify a non default name generator for a kingdom?

1 Like

I’m not sure if there is a convenient way to do this right now, but having some way to temporarily remove hearthlings from a town and then have them return later in the same state they were in when they left, once some trigger has been satisfied. Similar in a way to triggers/checks for campaign arcs, such as after some time limit, once a resource amount has been reached or another campaign part has been completed etc. I think this would allow for creating some more interesting campaigns or could allow for more complex features later such as sending hearthlings to other towns or dungeons without actually being there.

1 Like

Ah ok, I haven’t played the rabbit campaign at all so wasn’t aware of it, in that case the functionality should already be there. Thanks for letting me know.

@max99x, you had mentioned that there is already a way to give Hearthlings alternate paths from point A to point B using the pathfinder. I’m interested in this kind of scenario:

  1. Hearthling gets an order to do something far away.
  2. There is a transportation method between the hearthling and the destination.
  3. Instead of taking the hearthling directly from A to B, pathfinder sees that taking the transport would be faster, and takes the transport, doing pathfinding to reach the destination from the terminating point of the transport.

How would that be possible? How could the pathfinder “know” that the transport would be more time effective to get to the destination with its use, rather than by foot? Is there some sort of a path-weighing option now (like maybe something that tells hearthlings to use roads when they’re available rather than bare ground)?

Well hearthlings try to path using roads as much as possible. I’d look into how this is done.

I’ve added the biome URI as a class to this settlement selection screen, as you suggest. This is coming in the next release, later today. This screen now also has the starting season selector, so the current override in the Archipelago mod makes it impossible for players to select a season until the mod is updated (hopefully to not need to override it at all).

3 Likes

I hate to bring up App.stonehearthClient.openCrafterMenu again… but could we have an optional parameter for specifying a recipe to select? And same for showCitizenManager: optionally specify a hearthling to select (and by default this could be the selected hearthling, if any). Really for any view we might want to open and immediately show the user a specific part of that view.

2 Likes

Bruno’s suggestion can work in some cases, but it won’t give you a 100% solution because you’d still have to somehow manage “getting on” the transport. If I was to write it as a mod, I would do this at the AI level, not the pathfinder level. Provide a new action that “does” “goto_entity”, and in it write custom logic to find portals/train stations/etc and path between them.

Eh, this one is super easy to do in the mod itself by just getting the view and calling methods on it. In the latest version openCrafterMenu is no longer a thing, and both the workshop and the citizens menu is created and never destroyed (just hidden) for performance reasons, so you generally don’t need to even wait to do it asynchronously.

3 Likes

Interesting. So to determine whether to run this action, I would then take the distance between target entity and the closest exit portal to it, combine that with the closest entrance portal, and see if the distance is less than just going there via a pathfinder. Is it possible to find the length of a calculated path, or are we limited to measuring distances between two points as the crow flies?

You can still select them using [class="stonehearth:biome:temperate"], and even [class="stonehearth:biome:temperate"]:hover.

Pretty much.

Yeah. There’s get_path_length().

4 Likes

Edit: this got implemented

This one is really small:

Add “model_variant”: “female” to female skeletons, and zombies.

This way they can use female clothes. For most mobs this does not matter, but skeletons have different proportions when female.

screenshot%202018_07_14__10_56_47
^ Both using male clothes

I’m trying to remember… Is there a way for modders to specify one or more hearthlings as a class other than a worker on embarkment screen?

For example: Making a kingdom embark with 4 Workers and 1 Footman instead of 5 Workers?

If not I think this would be very beneficial to modders.

1 Like

For edge cases where the talisman isn’t enough and they need a level in say, blacksmith first?

For the edge case that you want to embark with a special class that isn’t available through obtainable job talismans

1 Like

Good idea, would make embarking with a max of one class easier.

Edit: this got implemented

Considering that I already mistakenly bumped the post, let me just move this suggestion to here too:

Just took a look at the Clan Amberstone as kingdom mod and I think we need a way to specify kingdom’s diet so they don’t get their stomachs filled with roasted rabbit jerky…

3 Likes

Could in addition to other traits give them vegetarian.

3 Likes

Edit: this got implemented

Another extremely small change that can make a huge impact, in the HabitatManager add water to this table:

local habitat_types = {
   none      = true,
   occupied  = true,
   plains    = true,
   foothills = true,
   mountains = true,
   water = true,
   forest    = true
}

And a new return ‘water’ for this method:

function HabitatManager:_get_habitat_type(terrain_type, feature_name)
   if terrain_type == 'mountains' then
      return 'mountains'
   end
   if self._landscaper:is_water_feature(feature_name) then
      return 'water'
   end
   if self._landscaper:is_forest_feature(feature_name) then
      return 'forest'
   end
   if feature_name ~= nil then
      return 'occupied'
   end
   if terrain_type == 'plains' then
      return 'plains'
   end
   if terrain_type == 'foothills' then
      return 'foothills'
   end
   log:error('Unable to derive habitat_type')
   return 'none'
end

So we can add landmarks to the water, like this:

screenshot%202018_07_15__16_35_51

13 Likes