Sindusk

[WU] Datamining

Recommended Posts

On 7/2/2016 at 5:19 AM, KyleBooze said:

Blessings of the Dark, is it really the equivalent to Wind of Ages + Circle of Cunning? I'm asking because some years back someone mentioned to me that BotD wasn't as effective as the separate spells, so I'm kinda on the fence.

Yes. They are perfectly identical. 50 BotD is perfectly equivalent to 50 WoA and 50 CoC.

  • Like 2

Share this post


Link to post
Share on other sites
On 6/25/2016 at 8:07 AM, LaRue said:

 

This was covered in a previous topic. See Bdew's posts on this page: 

 

Do other titles give any bonuses? (specifically anyone not mentioned in the past to give a boost to improving i.e. armour smithing titles)

Edited by Kswords

Share this post


Link to post
Share on other sites
15 hours ago, Kswords said:

Do other titles give any bonuses? (specifically anyone not mentioned in the past to give a boost to improving i.e. armour smithing titles)

No. Only armour creation titles.

Share this post


Link to post
Share on other sites

Can you post how the economy of the traders work? How do their pockets get refilled with coin every month? Is there a buy:sell percentage?

Share this post


Link to post
Share on other sites
10 hours ago, MootRed said:

Can you post how the economy of the traders work? How do their pockets get refilled with coin every month? Is there a buy:sell percentage?

It rolls every second a 1/86400 chance to restock the trader with currency. The following conditions must be true in order to do a successful restock:

  • Trader must have under 50 silver of currency in stock.
  • Ratio must be above 0.1.
  • The king's coffer must have at least 2 gold.

For reference, 1/86400 every second equates to 1/1440 per minute, or 1/24 per hour, or roughly one day. Due to the random nature, you cannot determine ahead of time when it restocks. But it should restock, on average, in 1 day.

To further understanding, the value replenished to each trader is equivalent to whatever is inside of the king's coffers divided by the amount of traders in the server:

value = kingsMoney.getMoney() / Shop.getNumTraders();

 

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, Sindusk said:

The king's coffer must have at least 2 gold.

 

Are you sure about this? It could be different on freedom i guess, but on chaos the kings coffers were lower than 80s and we were still getting refills on the traders. I had the title to let me see the traders and king's coffers.

Share this post


Link to post
Share on other sites
28 minutes ago, Nicrolis said:

 

Are you sure about this? It could be different on freedom i guess, but on chaos the kings coffers were lower than 80s and we were still getting refills on the traders. I had the title to let me see the traders and king's coffers.

You are right, I misread that part a bit.

 

The exact line for the code checking if they can restock:

if (value > 0 && myshop != null && myshop.getMoney() < (long)Servers.localServer.getTraderMaxIrons() && (myshop.getSellRatio() > 0.1f || Server.getInstance().isPS()) && (Server.getInstance().isPS() || Servers.localServer.id != 15 || kingsMoney.getMoney() > 2000000)) {

In the final area of the code, you can see that one of the following has to be true:

(Server.getInstance().isPS() || Servers.localServer.id != 15 || kingsMoney.getMoney() > 2000000)

I don't know what isPS() means, but the default is value is "false" so I'll skip that one. On any server that is not id 15, the 2nd check passes. However, on server with ID 15, the kingsMoney.getMoney() > 2 gold must pass in order to succeed.

 

So, without knowing about Wurm's server infrastructure and what servers are what ID, I cannot tell you which one requires 2 gold in the coffer.

  • Like 1

Share this post


Link to post
Share on other sites

any clarification on structure decay? i've noticed strange occurences where some walls synch up and decay at the same time, regardless of arrangement, any insight on both that and how it works in general would be super cool

Share this post


Link to post
Share on other sites
20 minutes ago, Huntar said:

any clarification on structure decay? i've noticed strange occurences where some walls synch up and decay at the same time, regardless of arrangement, any insight on both that and how it works in general would be super cool

Alright, my friend. I've been lazy long enough.

You can read the raw code here. Let's jam, and figure this out in full (and english):

 

You start with "mod" at 1.0. If the wall you are looking at resides in a village and one of the following conditions are true:

If there is less than a month left in upkeep, mod is multiplied by 10.

If the wall resides in a currently active kingdom, or the server is a homeserver, mod is multiplied by 0.5.

If the wall is in a cave (Cave Dwelling), mod is multiplied by 0.75.

 

Now, multiply mod by 86,400. This is how many seconds inbetween each "tick" of damage. For reference, this is 24 hours. If, for example, there is less than a month left in upkeep and it is a homeserver (multiply 1.0 * 10.0 * 0.5), it will take 5 days before it "ticks" damage.

 

Now to calculate damage. In order to start, you need to determine whether or not the owner is inactive. Inactivity is described as one of the following two conditions being true:

  • The owner's character info has been deleted (purged from the database).
  • The owner has not logged in for 84 days (the game's definition of 3 months, since it considers 28 days to be a month).

If the owner is considered inactive, the wall will take an extra 3 (flat) damage on top of normal decay.

Furthermore, if it is on the perimeter of a village, and the owner is both inactive as well as not a citizen of the village upon which perimeter the wall sits, the wall will take a further 3 (flat) extra damage.

 

Finally, the normal decay:

this.setDamage(this.damage + 0.1f * this.getDamageModifier());

The damage modifier can vary. Here are the two values that can be returned:

Stone Buildings

return 100.0f / Math.max(1.0f, this.currentQL * (100.0f - this.damage) / 100.0f) * 0.3f;

Non-Stone Buildings

return 100.0f / Math.max(1.0f, this.currentQL * (100.0f - this.damage) / 100.0f);

Basically, stone buildings decay at 30% of the rate that non-stone buildings do.

 

Hopefully, that gives you all the math and logic you need in order to determine exactly when that next building will decay so you can snatch the rares inside!

  • Like 2

Share this post


Link to post
Share on other sites

Thanks! this helps out quite a bit. Ill pass on the trader stuff to my friend who just got one :P

Share this post


Link to post
Share on other sites

Just to clarify on the trader information:

How much can a trader receive from the kings coffer if it is less than 50silver?

Share this post


Link to post
Share on other sites

Could you check this out? I think there might be a bug in the spawn code.

 

 

Thanks.

Share this post


Link to post
Share on other sites
20 hours ago, MootRed said:

Just to clarify on the trader information:

How much can a trader receive from the kings coffer if it is less than 50silver?

It's based on the amount of traders in the server. The traders will obtain whatever is left in the coffers divided by the amount of traders in that kingdom:

value = (kingsMoney.getMoney() / Shop.getNumTraders());

This value is then modified when it is not a home server, using the following:

value = ((float)value * (1.0f + Zones.getPercentLandForKingdom(this.getKingdomId()) / 100.0f));
value = ((float)value * (1.0f + Items.getBattleCampControl(this.getKingdomId()) / 10.0f));

I hope this is what you were looking for.

 

19 hours ago, Chakron said:

Could you check this out? I think there might be a bug in the spawn code.

 

 

Thanks.

Odd bug you found!

 

I personally wont be able to debug that. It's a really niche thing happening and it's best if the developers take a look at it, not a modder.

  • Like 1

Share this post


Link to post
Share on other sites

Got it, thanks. Do you happen to know which files contain the methods that control creature spawning behavior? I may be able to take a look.

Share this post


Link to post
Share on other sites
7 hours ago, Chakron said:

Got it, thanks. Do you happen to know which files contain the methods that control creature spawning behavior? I may be able to take a look.

I'd take a look at the following method in server\zones\Zone.java:

private final void spawnCreature(int tx, int ty, boolean _spawnKingdom) {

 

Share this post


Link to post
Share on other sites

Any idea what the chances of creating a tundra tile are?

Share this post


Link to post
Share on other sites
11 hours ago, Kswords said:

Any idea what the chances of creating a tundra tile are?

Using Ice Pillar, you get a power of 1-100 on a cast. The game rolls a random value 1-1000, and if your cast power is greater than the value rolled, then it creates a Tundra.

For example, a 50 cast would have a 50/1000 chance of making the tile a Tundra, or 1/20. 100 power is 1/10. 10 power is 1/100.

It's very similar to how Disintegrate works on Reinforced cave walls.

Edited by Sindusk
  • Like 2

Share this post


Link to post
Share on other sites

Yeah, I don't ever want to open the Tile Polling classes ever again. Thanks.

Share this post


Link to post
Share on other sites

Is there a difference between between shield types when it comes to blocking or shield bashing?

Share this post


Link to post
Share on other sites

Sindusk, 

 

This information is amazing and helps me out a lot on a lot of things. Keep up the good work!!

Share this post


Link to post
Share on other sites
On 8/1/2016 at 9:55 PM, Chakron said:

Yeah, I don't ever want to open the Tile Polling classes ever again. Thanks.

Yeah. That's kind of why I nope'd out of your earlier question. I did look around, but not for very long. The polling methods and nearly everything they call are a nightmare.

On 8/2/2016 at 1:39 AM, MootRed said:

Is there a difference between between shield types when it comes to blocking or shield bashing?

I posted some simulations in the OP that have the different shield types compared. In essence, it does not appear to be much difference between the shields in melee block chance. However, smaller shields are much worse at blocking archery, but take less stamina from the user per block. As for shield bashing, it is not a system I looked at heavily. Once I realized that sufficient body control is a massive counter to shield blocking (in PvP), I didn't poke around too much. I may revisit it in the near future and will post further results on the deep mechanics of Shield Bashing.

  • Like 2

Share this post


Link to post
Share on other sites

Any chance I can get the percentage chances of a successful rare roll resulting in a supreme/fantastic item?

Share this post


Link to post
Share on other sites
1 hour ago, williamwierd said:

Any chance I can get the percentage chances of a successful rare roll resulting in a supreme/fantastic item?

 

In page 1 of this thread:

 

On 6/16/2016 at 5:07 AM, Sindusk said:

Upon success, the following occurs:

  • You have a 1/1000 chance of making the item fantastic. If that fails,
  • You have a 1/100 chance of making the item supreme. If that fails,
  • The item is rare. Exception when improving, it appears to roll a 50/50 chance as to whether to make the item rare in the end. This is unconfirmed.

 

From the post:

 

Edited by LaRue

Share this post


Link to post
Share on other sites

Another dataminer came up with slightly different results, but I only heard about it after that post was made:

Quote
  1. every time the player is polled (every second?), 1/3600 chance of opening a rare window with 20+deedbonus second duration
  2. rare items are 2x faster to repair, supreme 3x, fantastic 4x
  3. rare items lose 1/2 as much QL from repairing, supremes lose 1/3 as much, fantastics lose 1/4 as much
  4. chance to turn an item rare when attaching is 1/(total number of components)
  5. when improving deletes the source item (such as consuming a lump or log), 1/100 chance of transferring rarity
  6. 1/5 chance to turn an item rare when improving with a rare roll
  7. 1/25 chance for a rare roll to be supreme
  8. 1/9700 chance for a rare roll to be fantastic
  9. 1/1000 chance of getting a rare bone with a rare dirt

 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now