Jump to content

"If a Smooth Meteor Boulder has not dropped by day 60 the next meteor shower has a 100% chance of dropping it."


Recommended Posts

Is this statement true?

I have day 161 on my world, and there is no Suspicious Boulder in my world, even though I was a witness of a couple of meteor showers AFTER day 60. I even checked with console commands, and it said "0".

Link to comment
Share on other sites

6 minutes ago, Ulisesvolador said:

 

thank you for replying

eh... i guess i will use console commands to spawn it in then... 100 days of it not spawning even though it was guaranteed is overkill and I also probably have a chance that is near 0%...

Link to comment
Share on other sites

That statement is inaccurate.

The way it works is after day 60 if the smooth boulder has not dropped the next moon rock to fall from a meteor is guaranteed to be the smooth boulder.  But moon rocks only have about a 10% chance to fall from a meteor shower, so there is a chance you can go a long time without it if you generated only a few meteor spawners.

Link to comment
Share on other sites

37 minutes ago, Shosuko said:

That statement is inaccurate.

The way it works is after day 60 if the smooth boulder has not dropped the next moon rock to fall from a meteor is guaranteed to be the smooth boulder.  But moon rocks only have about a 10% chance to fall from a meteor shower, so there is a chance you can go a long time without it if you generated only a few meteor spawners.

Can I paste this response into the wiki in a modified way to make it a description of it, instead of the "60 day guarantee" thing?

Link to comment
Share on other sites

1 hour ago, Shosuko said:

The way it works is after day 60 if the smooth boulder has not dropped the next moon rock to fall from a meteor is guaranteed to be the smooth boulder.

I've been looking into this issue and this doesn't seem to be true either.

I know it says that in the code, but I have a save file thanks to @JazzyGames where despite being on day 121, his odds of the orb were zero.

@Reiko24 If you could dm your save file, I could look at what your orb chance is, since you need to make a mod to check what the actual chance is

If you don't want to provide it, I can look into making the mod public, but I need some time since I'm busy atm.

Link to comment
Share on other sites

21 minutes ago, lakhnish said:

I know it says that in the code, but I have a save file thanks to @JazzyGames where despite being on day 121, his odds of the orb were zero.

The day count doesn't increase the chance variable they use, the day count is just part of the conditional, see worldmeteorshower.lua:27-30

What Shosuko says is true!

if _moonrockshell_chance >= 1 or TheWorld.state.cycles >= 60 or math.random() <= _moonrockshell_chance then
    _moonrockshell_chance = 1
    return SpawnPrefab("rock_moon_shell")
end
21 minutes ago, lakhnish said:

since you need to make a mod to check what the actual chance is

Not necessary either! :p The session save files are readable, just Ctrl + F for "moonrockshell_chance" in the latest session.

image.png.9267656177dc50ccd0d44e3fb528a3a8.png There's mine! Very late world of course, Orb's already dropped.

Link to comment
Share on other sites

8 minutes ago, lakhnish said:

@Hornete Can you check this save file then?

I just added this debug command and it was returning zero for me:

 

The chance is indeed zero, but that conditional will always pass true if the worlds days have passed 60.

To explain in detail,
 

if _moonrockshell_chance >= 1 or TheWorld.state.cycles >= 60 or math.random() <= _moonrockshell_chance then

If:

  • The variable _moonrockshell_chance is over or equal to the value 1
  • OR The world is over 60 days
  • OR a random value generated from 0-1 is under or equal to the value stored in _moonrockshell_chance

Since the world is over 60 days old, this condition will pass, and the actual chance variable does not matter.

_moonrockshell_chance is only increased (by 1/3 each time) if a moon boulder tries to spawn. It seems poor Jazzy hasn't gotten a single spawn of even a regular moon boulder, so the Celestial Orb Boulder never was able to replace it!

Link to comment
Share on other sites

17 minutes ago, Hornete said:

The chance is indeed zero, but that conditional will always pass true if the worlds days have passed 60.

Can you walk me through this part that says "this here"?

if _moonrockshell_chance >= 1 or TheWorld.state.cycles >= 60 or math.random() <= _moonrockshell_chance then
    _moonrockshell_chance = 1 --this here
    return SpawnPrefab("rock_moon_shell")
end

I understand the conditionals you wrote.

My question is that when it hits day 60, why does the _moonrockshell_chance say 0 instead of 1?

Should it not be updated?

I also understand that when _moonrockshell_chance hits 1, it's gonna replace a moon meteor with the suspicious boulder if it spawns, with the moon meteor not being guaranteed to spawn.

Link to comment
Share on other sites

2 minutes ago, lakhnish said:

My question is that when it hits day 60, why does the _moonrockshell_chance say 0 instead of 1?

Because that line is only executed when a regular moon rock boulder is about to be replaced by the celestial orb one, a regular moon rock boulder didn't spawn, neither did the replacement happen

Link to comment
Share on other sites

5 minutes ago, _zwb said:

Because that line is only executed when a regular moon rock boulder is about to be replaced by the celestial orb one, a regular moon rock boulder didn't spawn, neither did the replacement happen

So at the end of the day, in regards to OP's post, people are not getting the Celestial Orb to spawn because of the RNG behind meteors deciding it doesn't actually want to give a moon meteor, thus never offering the opportunity for the Orb to spawn.

3 minutes ago, JazzyGames said:

Ya know, 10% seems like a rather small chance for a moonrock boulder, especially if the orb hasn’t spawned by Day 60.

In regards to this, if anyone else would like to clarfiy, is it actually a 10% chance to spawn?

From what I saw, it's a 20% chance for the the meteor to be a large size boulder, then a 15% chance for that large size boulder to be a moon meteor.

Doesn't that make the odds of a moon meteor spawning 3% (20% times 15%) ? And is that per meteor or per meteor shower?

Link to comment
Share on other sites

2 minutes ago, lakhnish said:

Doesn't that make the odds of a moon meteor spawning 3% (20% times 15%) ?

Yes. For each boulder spawned it has a 3% chance to be a moon rock boulder.

4 minutes ago, lakhnish said:

And is that per meteor or per meteor shower?

I don't think there's a limit to how many moon rock boulders can spawn in a meteor shower, but boulders have a certain density limit, no more boulders will spawn if that limit is reached.

Link to comment
Share on other sites

Just now, _zwb said:

Yes. For each boulder spawned it has a 3% chance to be a moon rock boulder.

Thanks.

So another point of clarification, in order for the suspicious boulder to spawn, that moon meteor % chance would be multiplied by whatever _moonrockshell_chance is, right?

Link to comment
Share on other sites

3 minutes ago, lakhnish said:

that moon meteor % chance would be multiplied by whatever _moonrockshell_chance is, right?

If and only if _moonrockshell_chance is less than 1 and world age is less than 60 days. Otherwise it would still be 3% per boulder spawned

Link to comment
Share on other sites

6 minutes ago, _zwb said:

Yes. For each boulder spawned it has a 3% chance to be a moon rock boulder.

Effectively 0.75% if you aren't walking by the meteor fields often, since offscreen modifier halves the chance for both, a meteor becoming large and a moonrock boulder spawning out of a large meteor.

3 minutes ago, lakhnish said:

So another point of clarification, in order for the suspicious boulder to spawn, that moon meteor % chance would be multiplied by whatever _moonrockshell_chance is, right?

Aside from how _moonrockshell_chance is going to be 1 once a large meteor that spawns a moonrock boulder lands if the day is 60+, yes. So the first moonrock boulder that spawns from a large meteor has a 1% chance onscreen or 0.25% chance offscreen.

Link to comment
Share on other sites

@lakhnish

Alright, one more time! A full clarification on meteor showers, beginning to end.

Upon generating a world, you generally can get 2-8 meteor spawners in a world(Possibly more if you get a certain optional biome)

There are three levels a meteor spawner when starting cooldown, which determines severity of meteor showers and cooldowns. Info on those values below

Spoiler
--We'll get back to this value here
METEOR_SHOWER_OFFSCREEN_MOD = .5,

--Meteor shower cooldowns will vary between the time of BASETIME to BASETIME+VARTIME
--So in the case of level 1 meteor shower, 6-10 days before the shower begins.
        METEOR_SHOWER_LVL1_BASETIME = total_day_time*6,
        METEOR_SHOWER_LVL1_VARTIME = total_day_time*4,
        METEOR_SHOWER_LVL2_BASETIME = total_day_time*9,
        METEOR_SHOWER_LVL2_VARTIME = total_day_time*6,
        METEOR_SHOWER_LVL3_BASETIME = total_day_time*12,
        METEOR_SHOWER_LVL3_VARTIME = total_day_time*8,
--Duration of the meteor shower, ranges from DURATION_BASE + DURATIONVAR_MIN to DURATIONVAR_MIN + DURATIONVAR_MAX
--In the case of lvl 1 meteor shower, 10-15 seconds of showering.
        METEOR_SHOWER_LVL1_DURATION_BASE = 5,
        METEOR_SHOWER_LVL1_DURATIONVAR_MIN = 5,
        METEOR_SHOWER_LVL1_DURATIONVAR_MAX = 10,
--Explanatory
        METEOR_SHOWER_LVL1_METEORSPERSEC_MIN = 2,
        METEOR_SHOWER_LVL1_METEORSPERSEC_MAX = 4,
--Range of medium meteors that can spawn during a shower, 1-3 in the case of lvl 1
        METEOR_SHOWER_LVL1_MEDMETEORS_MIN = 1,
        METEOR_SHOWER_LVL1_MEDMETEORS_MAX = 3,
--Range of large meteors that can spawn during a shower, 1-4 in the case of lvl 1
        METEOR_SHOWER_LVL1_LRGMETEORS_MIN = 1,
        METEOR_SHOWER_LVL1_LRGMETEORS_MAX = 4,

        METEOR_SHOWER_LVL2_DURATION_BASE = 5,
        METEOR_SHOWER_LVL2_DURATIONVAR_MIN = 10,
        METEOR_SHOWER_LVL2_DURATIONVAR_MAX = 20,
        METEOR_SHOWER_LVL2_METEORSPERSEC_MIN = 3,
        METEOR_SHOWER_LVL2_METEORSPERSEC_MAX = 7,
        METEOR_SHOWER_LVL2_MEDMETEORS_MIN = 2,
        METEOR_SHOWER_LVL2_MEDMETEORS_MAX = 4,
        METEOR_SHOWER_LVL2_LRGMETEORS_MIN = 2,
        METEOR_SHOWER_LVL2_LRGMETEORS_MAX = 7,

        METEOR_SHOWER_LVL3_DURATION_BASE = 5,
        METEOR_SHOWER_LVL3_DURATIONVAR_MIN = 15,
        METEOR_SHOWER_LVL3_DURATIONVAR_MAX = 30,
        METEOR_SHOWER_LVL3_METEORSPERSEC_MIN = 4,
        METEOR_SHOWER_LVL3_METEORSPERSEC_MAX = 10,
        METEOR_SHOWER_LVL3_MEDMETEORS_MIN = 3,
        METEOR_SHOWER_LVL3_MEDMETEORS_MAX = 6,
        METEOR_SHOWER_LVL3_LRGMETEORS_MIN = 3,
        METEOR_SHOWER_LVL3_LRGMETEORS_MAX = 10,

 


So!

  • Cooldown timer passes (6-10, 9-15, 12-20 days for each respective level)
    • If a player 120 units from the shower entity, the shower will start. (Unit = Wall length! I'd say 120 units is around 3-4 screens)
    • If the above isn't true, it'll retry until a player is near, and keep retrying at least 24 times, 10 seconds per interval (So essentially, it'll wait half a day)
    • If it's retried 24 times, it just does it anyways and activates the shower.
  • Shower starts, yippie!
    • When the shower starts, the level is randomized again (This might honestly be a bug! Not sure! But anyways, it may have had the long lvl 3 cooldown of 12-20 days but switches to a level 1 shower for the actual meteor spawning)
    • Number of large and medium meteors is determined, number of meteors to spawn per second is determined and duration is determined.
      • There is a 20% chance for a meteor to be a large meteor, and provided there's still large meteors remaining to spawn, it'll spawn one
      • Next is the 40% chance for a meteor to be a medium number, and again, provided there's still medium meteors remaining in this shower to spawn, it'll spawn one.
      • Otherwise, it is a small meteor!
    • Now, here's something important to the above stats. If there is not a player within a 90 unit radius to this shower entity, it will skip every other meteor spawn, essentially cutting them in half, AND, a half modifier is applied to the large and medium meteor chances, AND when a large/medium meteor do spawn, the cost for their spawn is increased (E.g. a large meteor requires two on the large meteor counter to be able to spawn, and takes two off the counter when they do spawn)
    • Only large meteors have the ability to potentially spawn a moon boulder, and the chance for that is 15%. Now again, that modifier I mentioned in the point above is also applied here! Meaning it's a 7.5% chance to contain a moon boulder when a player is not near to the shower entity
    • And of course there's the potential block that can happen if there's too many boulders in an area
    • Then insert the potential to still not get the Suspicious Boulder if 60 days haven't passed
    • Small note: Not all large/medium meteors are guaranteed to spawn.
  • And repeat!
    • And cooldown timer starts up again!

TL:DR, the chances are essentially expotentially less when a player isn't near! In full honesty I love the amount of complexity around this mechanic and it's nature, just doesn't work super nicely with the nature of the Celestial Orb :P

Feel free to ask questions.

Link to comment
Share on other sites

16 minutes ago, Hornete said:

In full honesty I love the amount of complexity around this mechanic and it's nature, just doesn't work super nicely with the nature of the Celestial Orb :P

This is all so complicated, so thank you and to everyone for answering!

The RNG of the Celestial Orb is something @V2C had mentioned they were aware about during the last dev stream, so hopefully this thread helps in that regards since right now, the bottleneck to Celestial Champion and thus post lunar rift content is unfortunately the RNG of these meteors :wilson_cry:

Link to comment
Share on other sites

I literally have no Zeb in this 'race' but I've got to say I'm rather impressed with how overly complicated and absurd this whole Orb thing is to warrant such a goose chase. It's kinda funny. 

I really do wonder if it could be dumbed down a notch in some way, shape, or form. Hrm.

Link to comment
Share on other sites

9 hours ago, lakhnish said:

This is all so complicated, so thank you and to everyone for answering!

The RNG of the Celestial Orb is something @V2C had mentioned they were aware about during the last dev stream, so hopefully this thread helps in that regards since right now, the bottleneck to Celestial Champion and thus post lunar rift content is unfortunately the RNG of these meteors :wilson_cry:

Do you still need my savefile after all those discussions? lol

Link to comment
Share on other sites

40 minutes ago, Reiko24 said:

Do you still need my savefile after all those discussions? lol

No, thank you though. 

5 hours ago, HeatAndRun said:

What about the suspicious boulder spawns instantly when the moon storm is active? I saw this idea somewhere in the forum before.

That's what I'm hoping Klei does since that was my suggestion!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...