Race specific worker tools?

easy question, probably less easy sollution:
workers somehow use a hammer, a pickaxe, AND an axe.
if one would want to give them race-specific tools for those jobs.

how would one go about it?

ive seen a hammer and pickaxe in the worker description so i can probably change those relatively easilly, but i dont currently understand where the axe comes from. does anyone have any idea?

1 Like

From the effect (animation)

The hammer and pickaxe are randomly picked in their worker_description, but animations can use other items.

and i take it every item picks its own animation so a custom axe would be literal hell to implement?

No, it is the other way around. You have the animation for chopping trees and that effect file loads not only the animation, but also sounds and items. You then set what item the animation will use, and as long as the item “fits” like the others, the animation will play fine. For example, you can make a new axe and change the chopping animations to load your new axe instead of the default.

{
   "type" : "effect",
   "tracks": {
      "animation": {
         "type": "animation_effect",
         "start_time": 0,
         "animation": "chop.json",
         "loop": true
      },
      "grab_axe" : {
         "type": "attach_item_effect",
         "start_time": 0,
         "end_time": 0,
         "item": "stonehearth:worker_axe",
         "bone": "mainHand"
      },
      "sound": {
         "type": "sound_effect",
         "duration": 1000,
         "start_time": 200,
         "min_distance": 20,
         "falloff" : 7,
         "volume": 65,
         "track" : {
            "type": "one_of",
            "items": [
               "stonehearth:sounds:axe_chopping_sound_01",
               "stonehearth:sounds:axe_chopping_sound_02",
               "stonehearth:sounds:axe_chopping_sound_03"
            ]    
         }
      },
      "scattering": {
         "type": "cubemitter",
         "start_time" : 200,
         "end_time" : 300,
         "cubemitter": "particles/leaves/leafsplosion.cubemitter.json",
         "transforms": {
            "x":0.0,
            "y":6.0,
            "z":-4.0,
            "rx":90,
            "ry":0,
            "rz":0
         }
      }
   }
}

Change “item”: “stonehearth:worker_axe”, to whatever item you want

ah its one of those! (fiddled with those lately for my hot spring and smoking fireplace)
that helps a bunch :smiley:

hmm now just to see how i can just change one of those files for my nordlings… i think i can cook something up for that, thanks bruno!

-searches + note to self
this is to be found in
stonehearth\data\rigs\entities\humans\effects\chop.json

you might be able to override the models from a mod inside your mod that only loads when you choose your nordlings but i’m still trying to figure out some things about that
or just mixinto them
i believe @BrunoSupremo has something like that in his archipielago

I’ve got that in my nordlingmod too for the ui, I just don’t know what happens if you use it on something that’s visable to more than one player :confused:

1 Like