Undead are a thing that exsist?

Title: I have never not once had a skeleton or any undead spawn

Summary: This is weird. I did not realize it was a thing that was happening for a very long time, as it, in fact, was a thing that was not happening. Unless I’m just dumb and you don’t get undead spawn in the desert, in which case please, don’t even bother responding to this, just delete it. But yeah, I’ve gotten undead spawn when I had frostfall downloaded and never had them spawn before, or any time after getting rid of the mod. Now, I haven’t played at all with the Ascendancy(spelling??) which makes me wonder, and I am getting normal goblin spawns, so I mean… I don’t know.

Steps to reproduce:

  1. Start a new game in normal mode in the desert

Expected Results: Expected nightly visits from skeletor

Actual Results: an acute lack of dead people

Notes: I’m serious, if this is another, “Oh look, Sheep didn’t do any research again” scenario, and undead just don’t spawn in the desert, just delete this. Please lord, just give this post a mercy kill, for my sake.

Attachments:

Version Number and Mods in use:

latest, no mods

System Information:

windows 10, intel HD, laptop panel

1 Like

Undead spawn normally for me.

@Sickjin I just want to ask right quick, do you play with the desert biome?

Yes, I’ve played both, and get skeletons in both.

I have been playing the Ascendancy in the forest, and I have yet to really have anything other than goblins and goblin wolves spawn. In one game I had a single skeleton spawn, but it was early and I’d forgotten to actually promote anyone to footman yet, so I quit and reloaded a previous save and haven’t seen anything other than goblins since.

So either it’s completely random and I haven’t had anything other than goblins spawn, OR once you get one kind of hostile tribe in the area that’s the only one you get? I’m not sure, so some clarification from a mod or dev could help explain what’s going on and why you and I have never seen 'em :wink:

i believe thats the case, the “encounters” are all random, so my guess is that @sheepasaurusrex is just getting really unlucky (or lucky if you dont want undead) rolls for the undead encounters.

however, i could be wrong, so i’ll page @yshan and @sdee, though it might be awhile before they respond as i believe they’re still on (well deserved) holidays until after new years…

1 Like

Thanks @8bitcrab; I can tell spawning is random (if you unload & reload a game, you won’t have the same hostiles spawn) but the actual mechanics of what spawns escape me :slight_smile:

I can’t speak for @sheepasaurusrex but I would LOVE something other than goblins, lol, they’re getting boring…

Alright, digging into the code again!

First, in the rayya’s children mod we have the manifest.json which has the following:

"mixintos" :  {
      "stonehearth:data:gm_index" : "rayyas_children:data:gm_index", 
   },

gm is the game master, and it looks like we are taking the Rayya’s Children game master and adding it to the default Stonehearth game master. The only encounter defined by the RC mod is the traders, to it appears that RC should see the same encounters as Ascendency.

Looking now at the Stonehearth game master, we have 4 types of “campaigns”: trader, goblin war, game events, and ambient threats. Trader and goblin war are self-explanatory, game events is simply the repeating daily report, so ambient threats is what we are interested in.

The ambient threats campaign first waits for day 2, then spawns 2 new arcs: generate_daily_threat, and wait_for_middle_worth. Generate daily threat then calls randomize_daily_threat every 24 hours.

randomize_daily_threat.json:

{
   "type" : "encounter",
   "encounter_type" : "random_out_edge",

   "in_edge"  : "randomize_daily_threat",

   "random_out_edge_info" :  {
      "out_edges" : {
         "nighttime_undead" : {
            "weight" : 12
         }, 
         "goblin_thief_camp" : {
            "weight" : 4
         },
         "none" : {
            "weight" : "4 - difficulty"
         }
      }
   }
}

So, it would appear that nighttime_undead is 3 times as likely to occur as a goblin_thief_camp, and there is also the chance that nothing occurs.

nighttime_undead.json waits until night, then spawns undead_raid.

undead_raid.json:

{
   "type": "encounter",
   "encounter_type": "create_mission",
   "rarity": "common",
   "in_edge": "undead_raid",
   "out_edge": "wait_for_dawn",
   "create_mission_info": {
      "spawn_range": {
         "min": 50,
         "max": 160
      },
      "mission": {
         "npc_player_id": "undead",
         "ctx_entity_registration_path": "undead_raid.raiders",
         "role": "pillage",
         "offset": {
            "x": 0,
            "y": 0,
            "z": 0
         },
         "pillage_radius": {
            "min": 0,
            "max": 50
         },
         "sighted_bulletin": {
            "title": "i18n(stonehearth:data.gm.campaigns.ambient_threats.undead_raid.mission.sighted_bulletin.title)"
         },
         "members": {
            "zombies": {
               "from_population": {
                  "role": "zombie",
                  "location": {
                     "x": 0,
                     "z": 0
                  },
                  "min": 0,
                  "max": 1,
                  "range": 20,
                  "scale_with_run": {
                     "encounter_cap": 1
                  }
               },
               "equipment": {
                  "weapon": [
                     "stonehearth:weapons:jagged_cleaver"
                  ]
               },
               "attributes": {
                  "max_health": "50 + 20 * difficulty",
                  "muscle": "20 + 13 * difficulty"
               },
               "loot_drops": {
                  "items": [
                     {
                        "uri": "",
                        "weight": 10
                     },
                     {
                        "uri": "stonehearth:refined:thread",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:cloth_bolt",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:leather_bolt",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:tin_ingot",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:iron_ingot",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:gold_ingot",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:silver_ingot",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:steel_ingot",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:refined:bronze_ingot",
                        "weight": 5
                     }
                  ]
               }
            },
            "skeletons": {
               "from_population": {
                  "role": "skeleton",
                  "location": {
                     "x": 3,
                     "z": 3
                  },
                  "min": 1,
                  "max": 2,
                  "range": 20,
                  "scale_with_run": {
                     "encounter_cap": 1
                  }
               },
               "equipment": {
                  "weapon": [
                     "stonehearth:weapons:stone_maul",
                     "stonehearth:weapons:iron_mace"
                  ]
               },
               "attributes": {
                  "max_health": "50 + 20 * difficulty",
                  "muscle": "20 + 13 * difficulty"
               },
               "loot_drops": {
                  "items": [
                     {
                        "uri": "",
                        "weight": 10
                     },
                     {
                        "uri": "stonehearth:resources:iron:ore",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:resources:copper:ore",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:resources:gold:ore",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:resources:silver:ore",
                        "weight": 5
                     },
                     {
                        "uri": "stonehearth:resources:tin:ore",
                        "weight": 5
                     }
                  ]
               }
            }
         }
      }
   }
}

It looks like they spawn 50 to 160 blocks away, and have pillage_radius of 0 :arrow_right: 50. So it might be possible that they are spawning and you don’t see them, but you should still received the notice that undead have been sighted.

Do you have debug tools installed in your game? You could take a look at the campaign browser to see what it shows, or upload your save where this is happening and I can take a look myself…

3 Likes

Oh awesome, thank you for the in-depth explanation! I was looking at the debug tools yesterday, I’ll have to go ahead and install and give it a look.

1 Like

This is super cool to see how this stuff all works, thanks for all the details! :grin:

I don’t have debug tools installed I don’t think, and I’m not sure I can really upload a specific save, as its just kind of been happening (not happening?) generally, over all of my saves, apart from frostfeast. The undead spawn in frostfeast were scripted based on the church of plenty visits, weren’t they? Like, you’d be attacked by skeletons if you didnt donate? At least, I think that’s how it worked… Not sure.

But yeah, I’m thinking that @8BitCrab might be right here, and that this is just a really weird random number thing. RNJesus doesn’t like the undead I guess.

@Froggy and @RepeatPan can confirm, but it doesn’t look like Frostfeast touched the ambient threats arc at all. It did modify the goblin war arc to make the goblins Frostfeast fanatics, but that is about it…

I don’t understand how random number generation works and I never will :weary:

@jomaxro is correct, Frostfeast did not touch the vanilla encounters majorly, with the exception of making everything “more festive”. Undead were not touched at all as far as I know.

The Church of Plenty are those poor can’t-be-beaten-down good guys. The most they would do is write you a very strong worded letter with a “please consider donating the next time” at the end. At least, that’s the way I see them. Unleashing the dead wouldn’t quite fit.

I can’t imagine how to incorporate the undead for Frostfeast at all, to be honest…

perhaps frostfeast and candledark got mixed up here…?

Considering this statement:

I don’t think there is any mod confusion. I think @sheepasaurusrex just has really, really bad (or good) luck with the random campaigns!

1 Like

By some bizzare twist of coincidental fate, I was getting undead every time I failed to meat the requirements. I just figured that it wasn’t the church sicking the undead on me, it was like, the people that died due to my selfish actions or something.

Is that too dark? Thats pretty dark, haha.

Nope, no mod confusion I don’t think, I’ve never played Candledark. I guess it is just weird luck I guess. I wouldn’t mind a little extra challenge from the skeletons, but hey, why look a gift horse in the mouth, eh? :grin:

2 Likes

Update, I’m finally getting skeleton spawns! It killed my trapper.

im not happy about this, go away again :stuck_out_tongue:

3 Likes