Tree of Savior Forum

Meet-up the GM!

It happens because RNG in tos sucks. They probably implemented custom algorithm on top of default VC++ rng and now it spits out numbers depending on time you roll it ( like if u kill mob in a specific timeframe, you will get drop). If u farmed a lot u might noticed that u get few drops in a row and then nothing till next few drops, interval and drop window width depend on item droprate. Easier to check it with 0.02% drops, if u get one, expect to get next one in 20-30 minutes, along with golden fish and jackpot( silver/blue/gold) mob appearance. Also it applies on anvil upgrades and cube opening.

Anyway no sense in asking GM’s/dev team since they don’t give a slighest F even considering that a LOT of people i know left game because they felt UNREWARDED for ALL THE TIME AND EFFORT, like doing a shtton of challenges and raids and getting mostly dust, And even if they buy a recipe they want, they end with +5-7 with 0 pot left.

As for me, i’ve been farming for a month few hrs daily and didn’t get a single looting chance equip / primus rod/staff i wanted lol. (618 looting chance on board)

Funny part is that i feel like i got more primus stuff while been farming w/o any looting chance.

1 Like

I’m pretty sure that’s false.

And this isn’t 100% reproducible. Source: I’m a nerd and I used to farm stuff 10-14 hours a day during DPK that had other % mats to drop as well.

Altho you can have some predictable things, it’s most likely not bound to time frames.

Not to say about how PRNG from rand() works, after a certain number of generations. They could have long periods that repeats after X time if you consider the same rand() and seed being called for the entire servers.

You’re supposed to reroll item stats to get looting chance gear. You probably won’t get a perfect set from drops unless you invest months into it. Currently at 878, waiting a friend to pay me a Lv7 White Gem to finish my set at 908 LC.

This is probably because it’s a common error of people going back to town when on 100% weight. If you discard items or have higher weight you’ll get more Primus in the long run compared to low looting chance.

Looting chance is like having more tickets to a lottery, doesn’t necessarily means you’ll get the good prizes with less tries.

Not holding breath intensifies

Well, i’m aware we have lil bit different points of view on how rng in tos works :> Not going to argue

Sure, for example, i’ve rerolled boots with 3 purple lines more than 50 times and never got a LC line on them, even with low value. lv7 White gems layin in storage waiting for 100+ LC gear :sob:

EDIT: months? Uh, we’re not only players, we have life, work etc. Noone ever will stay in game which offers only daily routine. People get bored easily and if u farm for a month and don’t get anything valueable, that demotivates.

Well i feed all blue stuff to gems, so it’s not because going back to town. But i agree, long run gives more primus stuff because u don’t miss drop window while stayin in town. =)

About the weight and to discard, I think that can help but I usually get Primus before that. When I discard I usually find more one blue gear after several minutes.

Nevertheless, I already got days which I got 7 albums in less than an hour, and trying to to do the same thing other days and I didn’t get even one album some days and only in one day I got two. My point here is simply that the drop sometimes works very differently, for me it’s not pseudo random, it is something even more strange that @Tessellated tried to explain.

@greyhiem What people from Korea think that random drops search as Primus amor or Primus weapon or albums work? Does people have a theory about it? Is there any hint to optimize the chances? Also, does people over there had the experience that got less things after wearing a good set of looting chance gears (not always but sometimes) ?

Yeah i didn’t say, drop windows move. I didn’t test it with albums droprate, but for gems/red-blue orbs/golden anvils/coins, any 0.02%, drop window moves 5hrs backwards every 2 days. I got hours when u don’t get a single album too, but if u farm during drop window u’ll get drop every X minutes, so u probably farmed at wrong hours.

EDIT: Yay! After more than a month of farming i got primus rod!

Not a surprise, sh1tty stats. (well int isn’t that bad, but only one line is meh)
Maybe next month i’ll get another one with good stats (no)
That’s what i call a demotivating experience.

EDIT2: sure ended with +5 0pot left. instadust.

Congratulations for the drop. About the lines , yeah :confused: . I think the lines might be effected by same mechanics, maybe not the same window but something related. I have this theory and some experiment with blue gears. I noticed that some times 20 items all get one or two lines and some times the percentage of items with more lines are a lot of more often.

In other words, now I save my goods to identify in a batch , for example many Primus top to be identified together.

I also started to sell unidentified items so people could do that too

That’s why you’re supposed to use the Dust you get. Dust along with the NPC for stat reroll exists for a reason.

I got lucky on boots (first stat reroll) and gloves (3rd or 4th) I think, spent over 25m rerolling pants and bought a 4-purple top which I rerolled 4 or 5 times until completing my set.

110+ (even 100+) is just as rare as the op weapons with good matching stats. You’re not supposed to farm all 4 parts with 110+ LC by killing monsters. You should either reroll the set or buy it from other players.

There’s no drop window. Try farming for 6-8 hours. Some times you’ll get more drops after 20-30 minutes, sometimes instantly. And other times you’ll get 1 drop after 30 minutes and spend another 1-2 hours with not drops at all.

As much as I agree that it’s predictable and that their RNG system isn’t the best, claiming it’s 100% bound to time must result in 100% reproducible scenario, which doesn’t happen.

On top of that adding hour-based requires necessarily adding more code and make things more complex. Which I doubt they’d do.

Yeah. It’s definitely PRNG though.

You have to remember some things though. Using rand(), if they still use it (very likely), there are some factor such as their method not having an even distribution, known stuff from rand() that can sometimes generate a chain of numbers within the same range.

There are many ways to explain why you when you get a Weapon drop -> then Primus it might happen again. Adding a complex system on top of PRNG doesn’t seem the most reasonable one and adding to this it’s not really reproducible.

For example, by generating more and more numbers (many players online doing stuff that gets random numbers) the algorithm could be reaching the end of the period and repeating results. ( ? Not sure how long would be needed for this to happen, but could be an explanation for why similar drops are observed on different days.)

There are probably other valid explanations than to claim IMC intentionally and explicit coded a time-based random system on top of an existing PRNG.

Especially when for event items IMC clearly simply uses IMCRandom(l, r) along with ifs - afaik not using any time related functions/variables.

Example for Gold Coins from market event:

    local rand = IMCRandom(1, 100)
    local monIES = GetClass('Monster', argObj.ClassName)
    if self.Lv < 300 then
        return
    end
    if self.Lv >= 300 and rand <= 3 then 

Roll 1, 2 and 3 = drop coin.
Roll 4 to 100 = no drop.

I’m pretty sure they’d add the same time-related drop system to event items if there was one.

The stats on something like a rod are a minor benefit compared to the base ATK boost.

Regardless, farming for one specific weapon type is always going to be difficult. You’re supposed to farm for any primus and then trade/sell to obtain the one you do want. Welcome to an MMORPG.

This is no different for Masinios recipes.

It’s called RNG.

2 Likes

I didn’t say they did it intentionally, but sayin their implementation results in that.
Another explanation may be a bunch of necrobots does most rng calls and push it, but it doesn’t explain why same rarity drops occur at same time windows 2 days in a row and then occur 5hrs earlier next 2 days etc

And anyway, we don’t know extact code of “IMCRandom(x,y)” function for example.

Actually as a thauma i want to see int+spr 40+ on rod and same on sub-wep/shield.
I’d like to see you trying to trade any primus on nearly dead fedimian server. you probably have more chances to drop’n’roll desired stuff than trade it.

This seems pretty much said as “they did it by their own will”:

But whatever :v

Also, you were saying about this in the past about it being 4 hours each day. lol

Could be simply number of players, bots, the server you are (there are 3 servers you could be on). Each channel server probably has their separate seed and state.

Altho we do know it’s used for client-side code and server-side code. As well on other servers. Highly unlikely for it to be using time-related variables.

Get a 3-stats one and reroll with Dust. Like with looting chance.

According to the following thread, the population on Fedimian is not as bad as you claim, at least compared to Klaipeda. On Klaipeda I have no issues getting Primus weapons of any type through the market or otherwise.

Rods can roll up to 72 of each stat for Primus. If you only wanted 40, you could get this on a regular Raffye or a Berthas. Either way, this combination is difficult to obtain on a Primus because of its value and specific nature. Daggers are rarer but no different.

Lastly, if you were trying to be so optimal, you would not be trying to roll this stat combination on a weapon. Skull Smasher is far better for Thaumaturge buffs and much easier to obtain, you just need to weapon swap.

2 Likes

Yeah it’s 4-4,5hrs drop window and it moves 5hrs backwards. Works for 0,02% drop for more than a month.

Channel-independent feature, tested with friends.

Then the drop system is probably on the main server, no biggie.

repeats, this can happen with plain rand() usage

You could be actually, somehow, finding a time with a chain of a range X of values and finding an estimate for when the generator reaches the end of period and repeat numbers and reach that same chain of a range X.

Which would be, most likely, affected by each server (machine) reboots or the game servers restarts.

This behavior is too stable for plain rand(). It should depend on amount of calls and appear at different times, but it dosn’t.

Probably because all combat stuff happens on channel-specific server while drops and other few ones happens on main servers.

My point isn’t to say that you’re wrong, that you’re not getting the drops you’re getting.

My point is simply: It’s really very unlikely for something like that to be implemented by anyone, ever, lol. There must be another reason for why that happen, and most of other possibilities makes more sense.

Well, actually only one explanation comes to mind: calling srand() before each rand() call.
But it’s so retarded i doubt any developer will make this kind of mistake.

Uh, if i’ll defeat my laziness, i’ll make a drop journal and register every rare drop during whole month. Just for statistics.

Nope. That would actually cause way too many double drops (if the seed is based on seconds, even if ms).

The behavior would be far different.

I don’t think their system is so simple. I would have place some feature toggle to control the amount of drop and any other thing. Also, I would be on server side (discarding any related possible thing IMHO) and each “server” is actually a channel, which is isolated for scalability.

In other words, I think they have intended to increase to please us. Probably they still have some sort of counter of time played on map and monsters killed. I would go further, that would be the investment they are doing for trying to improve the economy with some limits.

By the way, to reroll you need to destroy many Primus/raid , for me is not easy to do that