Sindusk

[WU] Datamining

Recommended Posts

i heard alignment has some effects on combat, could you confirm this and how does it affect a player if its really low or capped

Share this post


Link to post
Share on other sites
On 11/10/2016 at 9:44 AM, Davih said:

If you are creating an item, you succeed.

 

On 11/10/2016 at 9:44 AM, Davih said:

The item is rare.

 

this isn't the case anymore wasn't it changed so that the chance to make a rare on creation takes into account All items that are part of the whole?  IE if it takes 1000 items and you add 1 rare on successful creation even with a successful roll it's now 1 outta 1000 chance to be rare?  or say 5 pieces, it's now 1 outta 5 chance to be rare.  So even if combining two pieces it's still 50 / 50 chance?

 

 

Share this post


Link to post
Share on other sites
On 11/11/2016 at 8:21 PM, Stormblade said:

 

 

this isn't the case anymore wasn't it changed so that the chance to make a rare on creation takes into account All items that are part of the whole?  IE if it takes 1000 items and you add 1 rare on successful creation even with a successful roll it's now 1 outta 1000 chance to be rare?  or say 5 pieces, it's now 1 outta 5 chance to be rare.  So even if combining two pieces it's still 50 / 50 chance?

 

 

I agree, that wasn't my quote though : D

Share this post


Link to post
Share on other sites
On 11/10/2016 at 5:17 PM, Brash_Endeavors said:

 

which sounds like they wanted to leave the door open "in case" other colors at some point had special bonuses? Like, maybe not Bloodbay + Piebald/pinto but coded for potential future colors, which might or not have special bonuses?  of course it would be hilarious if we discovered the basic grey color had some special property that no one ever noticed. Like finding water ^_^ which Rolf had mentioned in some videos that some horses could do.

 

Can a horse carry *multiple color traits* even if only ONE is physically visible at a time? I have actually suspected they might, and that bolded section makes me wonder more. I sometimes have a foal that "seems" to inherit a grandparents coloration even though that did not seem logical.  If not, why check BOTH for ebony to exist -AND- that no other trait also exists? Wouldn;t the mere fact that ebony existed mean no other color trait was possible?

 

Colors are inherited like other traits, so horses can definitely have more than one at a time. The resulting horse color depends on where those traits fall on a sort of hierarchy. For example, a horse with the "brown" trait and the "white" trait is brown, and a horse with the "jet black" trait needs to have no other color traits in order to be jet black, because it's at the bottom of the list.

Share this post


Link to post
Share on other sites
On 11/11/2016 at 2:21 PM, Stormblade said:

this isn't the case anymore wasn't it changed so that the chance to make a rare on creation takes into account All items that are part of the whole?  IE if it takes 1000 items and you add 1 rare on successful creation even with a successful roll it's now 1 outta 1000 chance to be rare?  or say 5 pieces, it's now 1 outta 5 chance to be rare.  So even if combining two pieces it's still 50 / 50 chance?

 

For simple items (i.e. ones with no "continue" action), if you succeed with a drumroll it's rare.

 

For complex items (i.e. ones with a "continue" action, more than 2 parts), if you succeed at attaching a part or starting the item, and get a drumroll or use a rare part, you have a chance to rare the item equal to 1 in (number of parts the item has total). For example, a forge has 22 parts, so using a rare brick on it, or starting it with a rare brick, or getting a moment of inspiration when starting or continuing it, gives you a 1 in 22 chance to make it rare.

 

The change was that starting complex items used to work differently; starting a complex item with rare parts wouldn't give any additional chance for rarity at all, and getting a rare window moment of inspiration when starting would guarantee a rare, like with simple items. Continuing, as far as I know, has not been changed.

Share this post


Link to post
Share on other sites

Alright just to re-iterate and provide sources for my statements about rarity. Here's what happens when you improve: It does a 1/5 chance to make the rarity of the action (the drumroll) the rarity that it will apply to the item. It is locked behind the "power > 0" check further down the line. So you must win the 1/5 chance to actually apply the rarity, and then you must actually improve the item (not damage it) for it to apply.

                byte rarity = target.getRarity();
                if (act.getRarity() > rarity && Server.rand.nextInt(5) == 0) {
                    rarity = act.getRarity();
                }
...
                if (power > 0.0) {
...
                    Item toRarify = target;
...
                    if (rarity > toRarify.getRarity()) {
                        toRarify.setRarity(rarity);
...
                    }
...
                }

So that's improvement only. Now let's move on to item creation. This part is easy because there's only one line that matters. That's this one:

newItem = ItemFactory.createItem(t, Math.max(1.0f, itq), material, act.getRarity(), performer.getName());

It passes in the rarity of the action itself as the rarity of the new item. That means whenever you have a drumroll, it takes the rarity of the action you just did and applies it to the item. There's no alternative.

 

But I guess what isn't mentioned so far is the actual rarity itself. Well, here's the whole function:

    @Override
    public byte getRarity() {
        int rarity = 0;
        if (Servers.isThisATestServer() && this.nextActionRarity != 0) {
            rarity = this.nextActionRarity;
            this.nextActionRarity = 0;
        } else if (this.windowOfCreation > 0) {
            this.windowOfCreation = 0;
            float faintChance = 1.0f;
            int supPremModifier = 0;
            if (this.isPaying()) {
                faintChance = 1.03f;
                supPremModifier = 3;
            }
            if (Server.rand.nextFloat() * 10000.0f <= faintChance) {
                rarity = 3;
            } else if (Server.rand.nextInt(100) <= 0 + supPremModifier) {
                rarity = 2;
            } else if (Server.rand.nextBoolean()) {
                rarity = 1;
            }
        }
        return (byte)rarity;
    }

To read it out and put in laymen's terms:

  • The first block checks to see if it's a test server. If it is, then it applies the next action rarity to the action. We'll ignore this for now since we're not talking about test servers.
  • It then asks if windowofcreation > 0. Every second, the player has a 1/3600 chance to get a rarity window. The length of the window is 20-30 seconds depending on deed enchant bonus and other things, but for the sake of continuing, this only checks to see if you have it. When you do, this basically triggers the "drumroll" effect.
  • It creates a new variable called faintChance with a value of 1.0.
  • It creates another new variable called supPremModifier with a value of 0.
  • If isPaying() check is done to see if the player has premium time. If the player has premium, it does the following:
    • faintChance is increased to 1.03
    • supPremModifier is increased to 3.
  • Now it checks the rolls:
    • The first check creates a random floating-point value from 0-10,000. If the value is less than or equal to faintChance (1.03 if premium, 1.0 if not), then the action is fantastic. This results in a 1.03/10,000 chance to perform a fantastic action for premium/WU players.
    • The second check creates a random integer from 0-99. If the value is less than or equal to 0 + supPremModifier (3 if premium, 0 if not), then the action is supreme. This results in a 1/100 chance for a supreme action for non-premium players, and a 1/25 chance for a supreme action when you're a premium player. This is where I went wrong in my last pass on this check, and I stand corrected.
    • The final check rolls true or false. Basically a 50/50. If it passes, the action is rare. If not, the rarity window is "wasted" and the window closes without a rare chance.
  • It then returns the rarity that was obtained to the function that asked for it.

So all in all, the new facts remain as follows:

 

Fantastic Action: 1.03/10,000 (0.0103% chance)

Supreme Action: 4/100 (4% chance)

Rare Action: 1/2 (50% chance)

 

That should pretty well clarify how rarity rolls work, I would think. For all you technically-correct people out there, I know that the chances above are not actually correct due to how the statement is made. But for the sake of making the information easy to digest from the general playerbase, please do not make it a technical statistics problem!

Edited by Sindusk

Share this post


Link to post
Share on other sites

Way back when seals and crabs were introduced there was a mention of it taking a certain tile or combination of two for a chance to spawn. It would be nice to know what all animals like best for spawning so that we can avoid destroying a good spot or can make some for various creatures.

 

  • Like 1

Share this post


Link to post
Share on other sites

Is there anyway we can get a list of every effect each characteristic has? I've always been really curious about this.

  • Like 1

Share this post


Link to post
Share on other sites
On 16.06.2016 at 1:33 PM, Sindusk said:

Normalize: CR must be between 1 and 100. If it is lower than 1, it will be 1. If it is higher than 100, it will be 100.

Does this apply to mobs, uniques and such or only players?

Share this post


Link to post
Share on other sites

Ah, what a long week for me. Very busy at work. Sorry for the delayed response. All I can say is TGIF. Let's get right into it, shall we?

 

On 11/15/2016 at 7:23 AM, zorako said:

Way back when seals and crabs were introduced there was a mention of it taking a certain tile or combination of two for a chance to spawn. It would be nice to know what all animals like best for spawning so that we can avoid destroying a good spot or can make some for various creatures.

 

Here's a formatted list of the spawn table.
Disclaimer: These are natural spawns only, and some of the spawns have a higher "spawn amount" than others. For example, when Bison spawn, they are coded to spawn in a herd of 10 at a time.
Furthermore, these results are not going to relay exactly where mobs appear on the map. The overworld is affected far more by dens & animal lairs than by natural spawns. Lava Spiders in a forest? Chances are, it's because there's a den.

Grass

  • Cow - 1
  • Wild Cat - 2
  • Dog - 3
  • Hen - 1
  • Rooster - 1
  • Calf - 1
  • Bull - 1
  • Pheasant - 1
  • Horse - 2
  • Sheep - 3
  • Ram - 1


Beach (Sand, Low Elevation)

  • Crab - 8
  • Tortoise - 1
  • Crawler - 1
  • Uttacha - 1


Rock Side (Rock, Low Elevation)

  • Seal - 1
  • Uttacha - 1


Mycelium

  • Spider - 4
  • Rat - 2
  • Dog - 1
  • Wolf - 1
  • Hell Horse - 1
  • Hell Hound - 1
  • Sol Demon - 1
  • Crawler - 1


Marsh

  • Rat - 2
  • Anaconda - 1
  • Nogump - 1
  • Sol Demon - 1


Steppe

  • Pheasant - 1
  • Horse - 4
  • Wild Cat - 1
  • Hell Horse - 1
  • Bison - 1
  • Sheep - 1
  • Ram - 1
  • Drake Spirit - 1
  • Eagle Spirit - 1


Tree

  • Pig - 1
  • Wolf - 1
  • Brown Bear - 1
  • Hell Hound - 1
  • Pheasant - 1
  • Deer - 1
  • Spider - 2
  • Troll - 1
  • Mountain Lion - 1
  • Sol Demon - 1
  • Crawler - 1


Sand

  • Crocodile - 10
  • Scorpion - 10
  • Hell Scorpion - 1
  • Anaconda - 1


Clay

  • Crocodile - 10
  • Anaconda - 1


Cave

  • Black Bear - 4
  • Rat - 2
  • Cave Bug - 5
  • Spider - 2
  • Lava Spider - 2
  • Lava Fiend - 2
  • Mountain Lion - 1


Lava (Ground)

  • Lava Spider - 10
  • Lava Fiend - 10


Lava (Cave)

  • Lava Fiend - 10

On 11/17/2016 at 3:45 PM, Tauceti said:

Is there anyway we can get a list of every effect each characteristic has? I've always been really curious about this.

This would require a ton of investigation into the code, but I'll see what I can do. I still don't grasp everything that each stat does, because there is several ways in the code of calling each one, which makes things very complicated.

8 hours ago, zigozag said:

Does this apply to mobs, uniques and such or only players?

This applies to all mobs and players, including uniques. For example, champion red dragons will hit a whole lot harder, but their CR will remain basically unchanged, meaning you'll hit them just as frequently as a normal one.

Share this post


Link to post
Share on other sites

It's worth noting that seals have a "beach animal" flag that is supposed to restrict their movement, or do something else. I'm honestly not sure what the actual effect is in practice.

Share this post


Link to post
Share on other sites

Question concerning botanizing for Woad and getting the modified by buff.

 

From what I can tell in Herb and ModifiedBy is that we would need at least a 11x11 area with no trees and we'd only be able to forage that center tile to get the buff. To put it another way, a player needs a 5 tile radius around the botanic tile to get the buff. I think bushes in the no tree zone are okay.

 

The game checks three areas for a tree and if it finds a normal tree (any tree that isn't enchanted) the bonus is denied. The three areas are: a 3x3 area, a 5x5 area and finally an 11x11 area.

Share this post


Link to post
Share on other sites

Has anyone figured out how rite of spring works?

How does it "recharge"?How much does a prayer add? How much does a sermon add? Does the number of followers affect the effectiveness of the sermon recharging the RoS counter? Does time take away the charge or does waiting longer naturally increase the RoS charge?

What determines how much "power" (prayer+sermons+anything else) is required for the RoS to be available to cast? Does the number of people on a server affect it? If so, how? Is it the most people in the last week? Month? Since the last cast? Does it only count Vyn followers or is everyone included?

Can you spam prayers? Or is it only the 5 daily prayers that count?

Share this post


Link to post
Share on other sites
On 11/22/2016 at 7:15 PM, Hailene said:

Has anyone figured out how rite of spring works?

How does it "recharge"?How much does a prayer add? How much does a sermon add? Does the number of followers affect the effectiveness of the sermon recharging the RoS counter? Does time take away the charge or does waiting longer naturally increase the RoS charge?

What determines how much "power" (prayer+sermons+anything else) is required for the RoS to be available to cast? Does the number of people on a server affect it? If so, how? Is it the most people in the last week? Month? Since the last cast? Does it only count Vyn followers or is everyone included?

Can you spam prayers? Or is it only the 5 daily prayers that count?

It sounds like you understand it, but for those who do not: Deity Favor - this value is charged by prayers and sermons. From the code, sermons add (number of atendees + rarity of altar) to the value. So 8 atendees and a supreme altar would give 10 favor, in this case. Prays increase deity favor by 1, and it does not matter whether or not you gain faith or not (praying more than 5 times a day for adding more favor is possible).

 

For requirements to cast, it requires 1000 deity favor per active follower. Active Follower - a count of players who follow the deity, who have logged in within the past 7 days. Beyond that, it requires an amount of 1/15th of current premium players from your kingdom to be within 40 tiles of the cast. If there's 300 premium players in your kingdom, then you need 20 of them to show up to the cast, whether they're linking or not. Once all these conditions are met, you can cast the Rite of Spring, but it will remove current deity favor equivalent to the amount required (1000 * active followers).

 

Hope that's what you were looking for. As a side note and self promotion, I am back to actively interacting with Wurm. I'm currently running and modding Wyvern Reborn. That said, I will try to respond to this thread more often than before, so keep the questions rolling in and I'll do my best to answer when I'm taking a break from coding.

 

Evidence

 

From MethodsReligion.holdSermon()

deity.setFavor(deity.getFavor() + numsTouched + altar.getRarity());

From MethodsReligion.pray()

performer.getDeity().increaseFavor();

From Deity class

    public void increaseFavor() {
        this.setFavor(this.favor + 1);
    }

From RiteOfSpring.precondition()

    boolean precondition(Skill castSkill, Creature performer, Item target) {
        if (performer.getDeity() != null) {
            if (performer.getDeity().getFavor() < 1000 * performer.getDeity().getActiveFollowers()) {
                performer.getCommunicator().sendNormalServerMessage(performer.getDeity().getName() + " cannot grant that power right now.", 3);
                return false;
            }
            if (target.getBless() == performer.getDeity() && target.isDomainItem()) {
                return true;
            }
            int prems = Players.getPremiumPlayersFromKingdom(performer.getKingdomId());
            int nums = 0;
            for (Player p : Players.getInstance().getPlayers()) {
                if (!p.isPaying() || !p.isWithinDistanceTo(performer, 40.0f)) continue;
                ++nums;
            }
            if (nums < Math.max(1, prems / 15)) {
                performer.getCommunicator().sendNormalServerMessage("Make sure there are at least " + Math.max(1, prems / 15) + " premium players in the vicinity.", 3);
                return false;
            }
        }
        performer.getCommunicator().sendNormalServerMessage("You need cast this spell on your altar.", 3);
        return false;
    }
Edited by Sindusk
  • Like 1

Share this post


Link to post
Share on other sites

Awesome work. Thanks!

 

I'll make sure to spam prayers then. Jesus, 1000 prayers per active player....

Share this post


Link to post
Share on other sites

I get conflicting information on whether some of the newer clothing items are actually considered "armor" or are cosmetic only.

Do the following items give any protection in combat, if so are they identical to normal cloth armor? or are they all cosmetic only:

  • Green Cloth Tunic (I will assume new red-green-black clothing -shirt-sleeves-pants- all follows same rules)
  • Bear helm (Open submenu "Create > armour"  .. cept it has no armor value?)
  • Adventurer's hat (leather but gives zero protects?)
  • All Wool hats (Forester, Squire, Peasant)
  • Plain White Sleeves & Pants (might have armor as seems to be designated as directly belonging with Cloth Shirt)
  • Kingdom talbard (I assume purely cosmetic but as long as we are checking, who knows in Wurm ..)

 

 

 

Edited by Brash_Endeavors
  • Like 1

Share this post


Link to post
Share on other sites

Whats the formula for enchanting items (with CoC, WoA, etc).

 

I know that channeling and alignment are important but what is the actual formula?

Share this post


Link to post
Share on other sites
On 11/24/2016 at 6:33 AM, Brash_Endeavors said:

I get conflicting information on whether some of the newer clothing items are actually considered "armor" or are cosmetic only.

Do the following items give any protection in combat, if so are they identical to normal cloth armor? or are they all cosmetic only:

  • Green Cloth Tunic (I will assume new red-green-black clothing -shirt-sleeves-pants- all follows same rules)
  • Bear helm (Open submenu "Create > armour"  .. cept it has no armor value?)
  • Adventurer's hat (leather but gives zero protects?)
  • All Wool hats (Forester, Squire, Peasant)
  • Plain White Sleeves & Pants (might have armor as seems to be designated as directly belonging with Cloth Shirt)
  • Kingdom talbard (I assume purely cosmetic but as long as we are checking, who knows in Wurm ..)

 

 

 

 

I was able to get confirmation a while back that the NEW new cloth items do, in fact, give protection (new sleeves, shirts, tunics, and pants, basically). This should be reflected in the wiki.

Regarding the wool hats and other headgear, like bear helms, I was not.

 

I'm pretty sure kingdom tabards are strictly cosmetic and always have been, especially since they never take damage in combat.

 

Now masks, on the other hand... I have no clue. They do take damage in combat, though.

Share this post


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

 

I was able to get confirmation a while back that the NEW new cloth items do, in fact, give protection (new sleeves, shirts, tunics, and pants, basically). This should be reflected in the wiki.

Regarding the wool hats and other headgear, like bear helms, I was not.

 

I'm pretty sure kingdom tabards are strictly cosmetic and always have been, especially since they never take damage in combat.

 

Now masks, on the other hand... I have no clue. They do take damage in combat, though.

 

Thanks!! 

Edited by Brash_Endeavors

Share this post


Link to post
Share on other sites

Skill Difficulty & Dependency information

 

Skill Difficulty

Every skill in Wurm has its own "difficulty" acting as a multiplier to how difficult it is to raise. The term "difficulty" here is fairly misleading, as it is a completely separate concept from the difficulty of an action. It doesn't influence how often you get skill ticks, or the results of your skill checks, or anything like that. All it does is affect how much skill you get. For example, a skill with skill difficulty 8000 will get you skill just as often as a skill with skill difficulty 4000, assuming the same actions, but you'll only get half as much skill each time. This is why, for example, weaponsmithing takes so long to raise; with a difficulty of 20,000, each skill tick is only one fifth the size of most crafting skills, which tend to have a difficulty of 4000.

 

Skill Dependencies

Skills in Wurm also tend to have "dependencies", which are skills that are also raised when training the skill in question. Any dependencies of those dependencies can also be raised. For example, when raising Weapon Smithing, Smithing can also be raised, as well as Body Control, and since Body Control has Body as a dependency, Body may be raised as well.

 

Creation-Only Skills

In the list below, I've made special note of skills that can only be raised by creating items via the crafting interface. Creating items gives much less skill (in fact, roughly 1/3 the skill) than most other actions you would use to grind skill levels, so it's worth noting which skills can only be raised in this manner. This explains, for example, why Metallurgy is so painful to raise; there's literally no way to increase it aside from creating items (alloy lumps), which gives a third the skill as improving, mining, or most other things. Some other skills are also easier or harder to raise based on the actions available, but creation-only skills are exceptionally tedious. Creation-only skills are marked with an asterisk (*).

 

With that said, here's a list, presented similarly to Wurm's in-game skill list, of skills, their difficulties, and their dependencies in parentheses.

 

Spoiler

 

Characteristics

  • Body: 300000
    • Body Strength: 200000 (Body)
    • Body Stamina: 200000 (Body)
    • Body Control: 150000 (Body)
  • Mind: 300000
    • Mind Logic: 200000 (Mind)
    • Mind Speed: 200000 (Mind)
  • Soul: 300000
    • Soul Strength: 200000 (Soul)
    • Soul Depth: 200000 (Soul)

Skills

  • Swords: 10000 (Body Control)
    • Longsword: 4000 (Swords)
    • Shortsword: 4000 (Swords)
    • Two Handed Sword: 4000 (Swords)
  • Axes: 10000 (Body Strength)
    • Hatchet: 7000 (Axes)
    • Small Axe: 7000 (Axes)
    • Large Axe: 4000 (Axes)
    • Huge Axe: 4000 (Axes)
  • Knives: 10000 (Body Control)
    • Carving Knife: 4000 (Knives)
    • Butchering Knife: 4000 (Knives)
  • Mauls: 10000 (Body Strength)
    • Large Maul: 4000 (Mauls)
    • Medium Maul: 4000 (Mauls)
    • Small Maul: 4000 (Mauls)
  • Clubs: 10000 (Body Strength)
    • Huge Club: 4000 (Clubs)
  • Hammers: 10000 (Body Strength)
    • Warhammer: 4000 (Hammers)
  • Archery: 3000 (Body Control)
    • Short Bow: 4000 (Archery)
    • Medium Bow: 4000 (Archery)
    • Long Bow: 4000 (Archery)
  • Polearms: 10000 (Body Strength)
    • Long Spear: 4000 (Polearms)
    • Halberd: 4000 (Polearms)
    • Staff: 4000 (Polearms)
  • Cooking: 20000 (Mind Logic, Soul Depth)
    • Hot Food Cooking: 4000 (Cooking)
    • Baking: 2000 (Cooking)
    • Beverages: 4000 (Cooking)
    • Dairy Food Making: 4000 (Cooking)
    • Butchering: 4000 (Cooking, Body Strength)
  • Smithing: 20000 (Body Strength, Body Control)
    • Weapon Smithing: 20000 (Smithing)
      • Blades Smithing: 4000 (Weapon Smithing)
      • Weapon Heads Smithing: 4000 (Weapon Smithing)
    • Armour Smithing: 20000 (Smithing)
      • Chain Armour Smithing: 4000 (Armour Smithing)
      • Plate Armour Smithing: 4000 (Armour Smithing)
      • Shield Smithing: 4000 (Armour Smithing)
    • Blacksmithing: 4000 (Smithing)
    • Jewelry Smithing: 4000 (Smithing)
    • *Locksmithing: 4000 (Smithing)
    • *Metallurgy: 4000 (Smithing)
  • Miscellaneous Items: 20000 (Mind Logic)
    • Rake: 7000 (Miscellaneous Items)
    • Scythe: 7000 (Miscellaneous Items)
    • Sickle: 7000 (Miscellaneous Items)
    • Pickaxe: 7000 (Miscellaneous Items)
    • Shovel: 7000 (Miscellaneous Items)
    • Stone Chisel: 4000 (Miscellaneous Items)
    • Saw: 3000 (Miscellaneous Items)
    • Hammer: 4000 (Miscellaneous Items)
    • Repairing: 4000 (Miscellaneous Items)
  • Shields: 4000 (Body Control, Mind Speed)
    • Small Wooden Shield: 3000 (Shields)
    • Medium Wooden Shield: 3000 (Shields)
    • Large Wooden Shield: 3000 (Shields)
    • Small Metal Shield: 3000 (Shields)
    • Medium Metal Shield: 3000 (Shields)
    • Large Metal Shield: 3000 (Shields)
  • Alchemy: 20000 (Mind Logic)
    • *Natural Substances: 4000 (Alchemy)
  • Nature: 20000 (Soul Depth)
    • Farming: 4000 (Nature, Body Strength)
    • Gardening: 4000 (Nature)
    • Foraging: 4000 (Nature)
    • Botanizing: 4000 (Nature)
    • Forestry: 4000 (Nature)
    • Meditating: 2000 (Nature)
    • Fishing: 3000 (Nature)
    • Milking: 4000 (Nature)
    • Animal Husbandry: 4000 (Nature)
    • Animal Taming: 4000 (Nature)
    • *Papyrusmaking: 4000 (Nature, Body Strength)
  • Toys: 20000
    • Yoyo: 7000 (Toys)
    • Puppeteering: 2000 (Toys)
  • Fighting: 20000 (Mind Speed, Body Control, Body Strength)
    • Weaponless Fighting: 4000 (Fighting)
    • Aggressive Fighting: 4000 (Fighting, Mind Speed)
    • Defensive Fighting: 4000 (Fighting, Mind Speed)
    • Normal Fighting: 4000 (Fighting, Mind Speed)
    • Taunting: 3000 (Fighting)
    • Shield Bashing: 3000 (Fighting)
  • Healing: 20000 (Mind Logic, Soul Depth)
    • First Aid: 4000 (Healing)
  • Religion: 20000 (Soul Strength, Soul Depth)
    • Preaching: 2000 (Religion)
    • Prayer: 4000 (Religion)
    • Channeling: 4000 (Religion)
    • Exorcism: 2000 (Religion)
    • Artifacts: 2000 (Religion)
  • Thievery: 4000
    • Lock Picking: 2000 (Thievery, Body Control, Mind Logic)
    • Stealing: 2000 (Thievery)
    • Traps: 4000 (Thievery, Body Control, Mind Logic)
  • War Machines: 10000 (Mind Logic)
    • Catapults: 4000 (War Machines)
    • Ballistae: 2000 (War Machines)
    • Trebuchets: 2000 (War Machines)
    • Turrets: 2000 (War Machines)
  • Mining: 8000 (Body Strength, Body Stamina, Soul Strength)
  • Digging: 3000 (Body Strength, Body Stamina)
  • Pottery: 4000 (Mind Logic, Soul Depth)
  • Ropemaking: 4000 (Mind Logic)
  • Woodcutting: 4000 (Body Strength, Body Stamina)
  • Tailoring: 20000 (Body Control, Mind Logic)
    • Cloth Tailoring: 4000 (Tailoring)
    • Leatherworking: 4000 (Tailoring)
  • Masonry: 4000 (Body Strength, Mind Logic)
    • Stone Cutting: 4000 (Masonry)
  • Carpentry: 4000 (Body Control, Mind Logic)
    • Fine Carpentry: 4000 (Carpentry)
    • Ship Building: 7000 (Carpentry)
    • Bowyery: 4000 (Carpentry)
    • Fletching: 4000 (Carpentry)
    • Toy Making: 4000 (Carpentry)
  • Firemaking: 4000 (Mind Logic)
  • Tracking: 2000 (Mind Logic, Soul Depth)
  • Paving: 4000 (Body Strength, Soul Strength)
  • Prospecting: 2000
  • *Coal-making: 2000 (Mind Logic, Soul Strength)
  • *Milling: 2000 (Body Stamina, Soul Strength)
  • Climbing: 4000 (Body Strength, Body Control)

 

 

Some notes:

  • Fighting is special. It's not checked as a dependency and its own dependencies don't matter. You can basically pretend it's not even there in the list above, as it is only raised through methods totally outside the normal skill system.
  • Different skills can be hard to compare on an apples-to-apples basis. Different skills have different actions available, for example. It's easy to compare two skills when you know you're doing the same action (for example, improving or creating items), but there are loads of other action types and some skills only let you perform a handful of them, for example filleting, butchering, paving, or digging. Most actions in the game give roughly the same skill, based on your timer, but many don't, including item creation. Because of this, it's hard to really compare skills that aren't used in similar ways. For example, while it's easy to see why Mining increases more slowly than Digging on average, since the actions are technically similar, it's a lot less easy to compare Carpentry to Baking, or Milking to Meditating.
  • Sometimes, more than one skill is checked. You'll notice that the list above doesn't include Mind Logic as dependencies for Digging or Mining. You might be thinking "but wait, mining and digging totally raise Mind Logic!" - And you'd basically be right. A lot of actions check multiple skills, often rolling a skill check for your tool to give you some sort of bonus. For example, when digging, it also checks and can raise your Shovel skill. Shovel has Misc. Items as a dependency, which has Mind Logic as a dependency, so when digging your Mind Logic can go up. This is also why Butchering gives you Body Control; it's checking Butchering Knife skill, which raises Body Control along with it.
  • Epic is weird and dumb and Rolf should feel bad about it (but not anymore on Wurm Online?). Some skill dependencies for Mining and Digging are changed or removed on Epic servers. Digging and Mining only give Body Stamina on Freedom servers, and Digging inexplicably gives Soul Strength on Epic but not on Freedom. Note that as of 1.3, Wurm Online also has Body Stamina from Mining and Digging on every server.

 

Edited by Ostentatio
  • Like 3

Share this post


Link to post
Share on other sites
On 11/10/2016 at 5:17 PM, Brash_Endeavors said:

Can a horse carry *multiple color traits* even if only ONE is physically visible at a time? 

 

Yes, technically they can (for now). 

Share this post


Link to post
Share on other sites

Wiki+devstaff say the large amphora reduces liquid decay. Players storing large volumes of milk each day say they are not seeing any differences keeping milk in a large amphora or a simple barrel.  

 

What does the WU code say, does it actually check for liquid vs solid in calculating decay rates, does the large vs small amphora behave differently from each other,   and is the amount of decay reduction so small it might go missed in player observations?  Like meal decay rates, there is always a random range which make it hard to document  -- my own experience is that I get roughly 0-5% decay a day on milk whether it is in a large amphora or in a cedar barrel. In both cases, i keep the container in a cedar wagon inside a house. (my primitive larder based on ancient wurmian mythology using nested cedarhugetubs/cedarcupboards/cedarbarrels etc). A possible explanation for player v staff dispute is something like, maybe the ;large amphora gives 10% reduction of an average 2.5 daily decay making it instead 2.25 decay with random fluctuations -- in other words, too small a difference for players to notice. Or maybe simply that players already making efforts to reduce liquid decay are somehow masking the benefits of the large amphora. 

 

But what does WU code tell us?

 

 

 

Edited by Brash_Endeavors

Share this post


Link to post
Share on other sites

Amphoras and decay reduction.

 

This code is from Item class and it's called in  Item.poll()

private float getDecayMultByParents(final Item item) {
	float mult = 1.0f;
	if (item.getMaterial() == 39) {
		mult *= 1.5;
	}
	final int templateId = item.getTemplateId();
	if (templateId == 1020 || templateId == 1022) {
		mult *= 1.5;
	}
	final Item upone = item.getParentOrNull();
	if (upone != null) {
		mult *= this.getDecayMultByParents(upone);
	}
	return mult;
}

39 is cedar wood, 1020 is small pottery amphora, 1022 is the large pottery amphora. A bigger multiplier is better.

 

Unfortunately I can't tell the whole story. Item.poll() is not an easy method to dissect. I'm not sure if this is decreasing the likelihood of a decay tick or the amount of decay. I'm leaning towards the latter.

 

One explanation for the variance people are seeing is that decay is handled by item polling. It seems lately that the server is struggling to keep up with these kind of things.  Also, the bonus given is very small. For a long time we didn't have definitive proof that cedar reduced decay until someone nested cedar/amphoras multiple levels deep. You can see that the method is recursive. we couldn't prove the difference given so small a buff and potential delays in the server doing its item polling. Once someone figured out how to increase the buff they could see it was doing something.

 

Lastly, folks should be sealing milk in a container. Get a wine barrel and seal it up with a peg when you're done cooking. At least as far as WO goes. In WU we need to look into/get mods to better deal with this issue.

 

Share this post


Link to post
Share on other sites

Thanks! Do I understand correctly that 39, 1020 and 1022 are actually the material identification numbers for cedarwood, s.amphora,, l.amphora,   that they all get some 1.5 multiplier to decay resistance? Cedarwood's code also has something about 

float mult = 1.0f;

and I have no idea what that is about; otherwise it sounds like amphoras and cedarwood might have identical decay resistance multipliers? meaning one is no better than the other? Also sounds like small & large amphora have identical decay properties (I was always told it was the LARGE amphora that had any decay resistance properties and for liquids only, but these look like small and large amphora share the same code, that it is not differentiating between solid & liquids, and except for the bit about the float muit = 1.0f (which might be a critical difference; it's chinese to me), there really is not much difference between using an amphora and using a cedarwood container? And that any advantage is quite negligible unless they are nested? 

 

Thanks for checking into this, this is all way over my head.

 

 

Edited by Brash_Endeavors

Share this post


Link to post
Share on other sites

I will echo joe's statement that the whole story is difficult to tell. The poll method is a disastrous 500+ line method that has many calls to other methods, much like the one that joe is mentioning. However, after reading a bit through it, here's how it works:

 

First note: The multiplier returned by the function is the duration of time that must pass before the item receives a "decay tick." The default amount of time an item decays is defined by what item it is. For example, a dye has a decay time of 9072000. This is done as milliseconds so we have to do some math to determine how long that actually is:

9072000 / 1000 = 9072 seconds

9072 / 60 = 151.2 minutes

151.2 / 24 = 6.3 hours

We can estimate that a dye will receive a decay tick after 6.3 hours of not being used. There are other factors at play, but we'll use this number as a baseline.

 

Now that decay ticks have been established, we can move on to how parents (or containers, if you're not a programmer/modder) interact with the items inside them. The method that joe pointed out is the one I'll put in layman's terms:

    private float getDecayMultByParents(Item item) {
        int templateId;
        Item upone;
        float mult = 1.0f;
        if (item.getMaterial() == 39) {
            mult = (float)((double)mult * 1.5);
        }
        if ((templateId = item.getTemplateId()) == 1020 || templateId == 1022) {
            mult = (float)((double)mult * 1.5);
        }
        if ((upone = item.getParentOrNull()) != null) {
            mult *= this.getDecayMultByParents(upone);
        }
        return mult;
    }

The object passed into this is the parent of the item that is checking decay - so for the example of our dye, we'll say it's a small pottery amphora. Sitting in a cedarwood wagon.

  • First, it sets the mult to 1.0. This means the amount of time taken between decay ticks would be multiplied by 1.0... or basically have no effect.
  • Then, it checks if the object is cedarwood. If so, multiply the mult by 1.5. In our example of having it in a pottery amphora, it has no effect, since the amphora is made of clay/pottery.
  • Then, it checks if the object is a small or large amphora. If so, it multiply the mult by 1.5. In our example, the container is indeed a pottery amphora. So we multiply by 1.5 and now have a mult = 1.5
  • Then, it does a recursive call on the parent of the new item and multiplies mult by whatever the result is. In our example, the pottery amphora is sitting in a cedarwood wagon, so now we go through the same steps again, this time with the wagon:
  • We set mult to 1.0, then check if cedarwood. It's a cedarwood wagon, so the result is 1.5 now. It's not an amphora, so we skip those multipliers. Now we return 1.5 to the previous value.
  • The original 1.5 now gets multiplied by 1.5 from the cedarwood wagon. The result is 2.25. This is now passed back into the poll() method and used to multiply the time before a decay tick occurs.

As a result: Dye in a small pottery amphora inside a cedarwood wagon - The 6.3 hours becomes (6.3 * 2.25) = 14.175 hours before a decay tick occurs.

 

TL;DR: Every container that is either cedarwood or a pottery amphora increases the time before the object contained within all of them decays by 50% stacking multiplicatively. This applies to all items not just liquids.

 

Edit: Quick rundown of up to 5 layers of multiplicative decay timer increases, using the dye as an example for actual time:

  • Baseline: 1.00 - 6.3 hours
  • 1 Parent: 1.50 - 9.45 hours
  • 2 Parents: 2.25 - 14.175 hours
  • 3 Parents: 3.375 - 21.2625 hours
  • 4 Parents: 5.0625 - 31.89375 hours
  • 5 Parents: 7.59375 - 47.840625 hours

Anyone feel like making up the theoretical maximum of containers in containers which are either amphoras or cedarwood? :)

Edited by Sindusk
  • Like 2

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