Sindusk

Members
  • Content Count

    904
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Sindusk

  1. Is there any functionality to make the recipes... do something? The recipe shown seems to display making a new item, but does it do anything special, and can we configure that?
  2. Wyvern Reborn

    Our new Kingdom Title bidding system has started a bit of a competitive spirit throughout the server. Players are fighting to get to the top and obtain the offices they want. Come join the fun.
  3. Wyvern Reborn

    Originally I was only going to do the religious side of things. Then I realized how ironic it was that the next patch would include kingdom titles too. So I did both at the same time. Welcome to the era of church and state. This is the most ambitious content patch to date, and I expect we'll encounter a few errors over the next few days. I did my best to test what I could, but a vast majority requires a playerbase to test with. To stay up to date if things go wrong, please join our Discord channel. Religion Overhaul Maximum faith has been increased to 200. Prayer faith gains have been re-scaled. See the details below for more information. Prayers per day is now unlimited. The 20 minutes between prayers is still required, but you are no longer limited to 5 prays per day. Sermons have been disabled entirely. New Item: Tablet of Friyan. Rewards faith when read. These are created in the world when uniques die. Combat log for spells has been significantly improved. Note: This process was extremely time consuming and difficult. It will be improved over time and there's more adjustments to make. Offensive spells now show in the combat log instead of the event window. Successful offense spells show in green for the caster, and orange for the defender, with color strength based on the cast power. Most fizzled offense spells will display a teal failure message to the caster and defender, with color strength based on the cast power. When a spell is resisted, it shows up in purple to both parties. Again, power of cast dictates the color strength. Added messages for some combat spells that had none for either the caster or victim. They previously just had effects without any message whatsoever unless they did damage. Healing spells also show in the combat window instead of the event window. Targets of healing spells now get a message toast saying they've been healed, and who did it. Healers will finally get the recognition they deserve! Kingdom Offices are now available to be bid for using Creature Tokens. There are kingdom offices to fill. Each one has a crafted version of the Creature Token that can be consumed to bid towards it. The crafted version is created by using a metal (iron etc.) hammer on a Creature Token. These are very difficult to craft, and will destroy the Creature Token if you fail creation. You require at minimum 10 tokens bid in order to obtain the office. You will need to bid to the point where you have 2% higher than the current owner of the office in order to "overtake" them and steal the office. Every day players will lose 10% of their total tokens bid towards each office. You will lose at minimum 1 token if you have a bid going. To use a token, right-click the token and use the "Add to bid" action. Disinformation Minister (Information Minister) - Allows you to see when other players with an office are online. Uses Information Token (crafted using Nature skill). Court Trixter (Court Magus) - Gives you double favor regeneration. It does not work in standard WU but I fixed the mechanic so it does function properly on our server. Uses Mage Token (crafted using Religion skill). Earl Warmonger (Earl Marshal) - Ability to see when kingdom towers are under attack. Currently useless in our PvE environment. Uses Warmonger Token (crafted using Aggressive Fighting skill). Court Rustfriend (Court Smith) - Gives you a higher chance of creating items with smithing. Uses Smithing Token (crafted using Smithing skill). Royal Jest (Court Jester) - A joke of an office meant to be ridiculed for eternity. It is useless, just like the skill I chose for the token. Uses Jester Token (crafted using Puppeteering skill). Economic Catastrophe (Chief of Economy) - Allows you to see the current kingdom economics, including King's Gold and money at traders. Uses Economic Token (crafted using Mind Logic characteristic). Abbot (Royal Priest) - Reduces favor cost of all spells by 1/2. Uses Priest Token (crafted using Channeling skill). Royal Page (Royal Lover) - No use in-game, but I will like whoever is in this office more. That counts for something, right? Uses Lover Token (crafted using Soul Strength characteristic). Royal Bully (Royal Avenger) - Gives +2CR bonus when fighting. Uses Avenger Token (crafted using Fighting skill). Royal Poisoner (Royal Cook) - Allows creation of higher quality meals. Uses Cook Token (crafted using Cooking skill). Royal Bragger (Royal Herald) - Can post messages in Area History. Uses Herald Token (crafted using Papyrusmaking skill). Rite spells have been changed to support the smaller playerbase of Wurm Unlimited instead thousands of Wurm Online players. Important Note: These changes are not permanent. I cannot test these alone, so I'm putting them live. If adjustments need to be made because of an abuse case or otherwise, it will be made. Deity Favor: For those who do not know, "Deity Favor" is increased by 1 every time a religious follower prays. That's what I am referring to when I say "Deity Favor." Current deity favor estimates (changes frequently): Fo: 255,000 Magranon: 88,000 Vynora: 62,000 Libila: 800 Holy Crop (Fo) Deity favor required to unlock down from 100,000 to 20,000. Deity favor cost up from 1000 to 20,000. Gives every bred creature a 1/5 chance to remove a random negative trait. Basically a mass genesis with a 1/5 chance of succeeding on each individual creature. Rite of Death (Libila) Deity favor required to unlock down from 100,000 to 1,000. Rite of Spring (Vynora) Deity favor required to unlock down from (some arbitrary number) to 20,000. Required players in local down from (some arbitrary number) to 5. Deity favor cost down from (some arbitrary number) to 10,000. Ritual of the Sun (Magranon) Deity favor required to unlock down from 100,000 to 20,000. Deity favor cost up from 1000 to 20,000. Now gives 99 nutrition to online followers instead of 50. Note: I will likely be making another addition to this rite in the near future. Reapers and Spectral Drakes now spawn in a random area of the world, instead of directly on the corpse of the slain unique. Their strength has been moderately reduced to compensate. Fatigue has been disabled. Your fatigue value will still increase/decrease, but you will not become unable to perform actions when you run out. Kingdom wagon speed reduced slightly. Fixed the White & Black Lights preventing deeds from being placed or resized near Stronghold. Old Faith Gains New Faith Gains Example Combat Logs Comprehensive List of Spells Updated to New Combat Log Bolded spells are Karma spells. Italicized spells are the ones I added custom messages to. There previously were none. Cure Light Cure Medium Cure Serious Disease Drain Health Drain Stamina Fireball Fire Heart Heal Incinerate Karma Bolt Karma Missile Karma Slow Lightning - Slight complications. Light of Fo Pain Rain Rotting Gut Scorn of Libila Smite Worm Brains Fun Fact: During my development of the new combat log, I found an interesting tidbit about being able to actually increase the wound size on a reborn enemy (like a zombie or skeleton). A Fo priest using Cure Light, Cure Medium, or Cure Serious on a reborn enemy's wound actually damages the enemy. Furthermore, casting "Heal" on a revived enemy kills them outright! Thank you to Anyone/Cyberhusky for the banner!
  4. New Trader Item

    @FriyaDid not work. Couldn't even test it because the invocation handler isn't working. My code: @Override public void onItemTemplatesCreated() { try { logger.info("Attempting Shop Hook..."); logger.info("Creating Hook Descriptor..."); String descriptor = Descriptor.ofMethod(CtClass.voidType, new CtClass[] { HookManager.getInstance().getClassPool().get("com.wurmonline.server.creatures.Creature") }); logger.info("Hooking createShop..."); HookManager.getInstance().registerHook("com.wurmonline.server.economy.Shop", "createShop", descriptor, new InvocationHandlerFactory() { @Override public InvocationHandler createInvocationHandler() { return new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object result = method.invoke(proxy, args); Item inventory = ((Creature)args[0]).getInventory(); for(int x = 0; x < 3; ++x) { // this is our item... Item item = Creature.createItem(22761, 50.0f); inventory.insertItem(item); } return result; } }; } }); } catch (NoSuchTemplateException | IllegalArgumentException | IllegalAccessException | ClassCastException | NoSuchFieldException | NotFoundException e) { e.printStackTrace(); } } The error: [05:21:46 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods: Attempting Shop Hook... [05:21:46 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods: Creating Hook Descriptor... [05:21:46 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods: Hooking createShop... [05:21:46 PM] INFO com.wurmonline.server.Server: Shutting down the server - reason: Problem running the server - java.lang.IllegalAccessError: tried to access class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods$3 from class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods [05:21:46 PM] INFO com.wurmonline.server.Server: Shutting down the server - cause: org.gotti.wurmunlimited.modloader.classhooks.HookException: java.lang.IllegalAccessError: tried to access class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods$3 from class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods at org.gotti.wurmunlimited.modloader.classhooks.HookManager.invoke(HookManager.java:312) at com.wurmonline.server.items.ItemTemplateCreator.initialiseItemTemplates(ItemTemplateCreator.java) at com.wurmonline.server.Server.startRunning(Server.java:743) at com.wurmonline.server.ServerLauncher.runServer$1(ServerLauncher.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.gotti.wurmunlimited.modloader.server.ProxyServerHook$1$1.invoke(ProxyServerHook.java:55) at org.gotti.wurmunlimited.modloader.classhooks.HookManager.invoke(HookManager.java:302) at com.wurmonline.server.ServerLauncher.runServer(ServerLauncher.java) at com.wurmonline.server.gui.WurmServerGuiController.StartOfflineButtonClicked(WurmServerGuiController.java:341) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at javafx.event.Event.fireEvent(Unknown Source) at javafx.scene.Node.fireEvent(Unknown Source) at javafx.scene.control.Button.fire(Unknown Source) at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source) at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at javafx.event.Event.fireEvent(Unknown Source) at javafx.scene.Scene$MouseHandler.process(Unknown Source) at javafx.scene.Scene$MouseHandler.access$1500(Unknown Source) at javafx.scene.Scene.impl_processMouseEvent(Unknown Source) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$355(Unknown Source) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source) at com.sun.glass.ui.View.handleMouseEvent(Unknown Source) at com.sun.glass.ui.View.notifyMouse(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalAccessError: tried to access class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods$3 from class org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods at org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods.onItemTemplatesCreated(WyvernMods.java:200) at org.gotti.wurmunlimited.modloader.server.ServerHook.lambda$fireOnItemTemplatesCreated$3(ServerHook.java:49) at org.gotti.wurmunlimited.modloader.server.Listeners.lambda$fire$0(Listeners.java:35) at java.util.concurrent.CopyOnWriteArrayList.forEach(Unknown Source) at org.gotti.wurmunlimited.modloader.server.Listeners.fire(Listeners.java:33) at org.gotti.wurmunlimited.modloader.server.ServerHook.fireOnItemTemplatesCreated(ServerHook.java:49) at org.gotti.wurmunlimited.modloader.server.ProxyServerHook$2$1.invoke(ProxyServerHook.java:78) at org.gotti.wurmunlimited.modloader.classhooks.HookManager.invoke(HookManager.java:302) ... 81 more
  5. Just switch the feature for using the new skill system off. It will revert to WO mechanics for skill gain.
  6. Server Tweaks v2 - 11/23/2016 New Settings Disable Sermons - Sermons are disabled from the server. Disable Fatigue - Fatigue is disable from the server. Dev Commands - New commands for CM+ and DEV characters. Dev Commands ##event (message) - CM and above. Creates a message in the Srv-Event channel. This is visible to the whole server, but can only be posted in by CM's and above. Meant for running events. ##unique - DEV-ONLY. Does a natural unique spawn attempt. It checks each unique and gives a 1/300 chance (if default) of it spawning. Spamming this will eventually spawn a natural unique. ##kingme - DEV-ONLY. Makes you king of your current kingdom. Only works if there is not a current king.
  7. 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; }
  8. This idea, in my opinion, is what's needed more in Wurm. Ambitious people taking ambitious projects to separate from the vanilla Wurm experience. We've been "solving" Wurm problems as a modding community for too long. Instead of working on bugfixes or minor tweaks, we could be doing content packs. Implement a new, fun system that the players actually engage with. Break the sandbox mold and create an experience all your own. QoL is great and necessary, so are bugfixes. But those mods now exist, and now let's take the next step and begin making new gameplay experiences instead of reinforcing current ones. Imagine the guy who has it all. He's mastered all the skills and has all the items. He flaunts it so much he leaves rare and supreme bones on the ground. They sit next to sorceries and nearly a dozen unique slaying skulls. He has no use for them, he's above it. That scale armour is old news. He's ready for the next thing, but the next thing is what? Another unique to slay? A deed to build? Some masterwork item to create? He's been there, done that on all of it. A new vampire system gets added to the server. "He says to himself, wow, I can get really great combat spells, and determine the outcome of my horde of horse pregnancies? That sounds interesting, let's try it out." He does the quest and becomes a vampire. He of course has stockpiled corpses to feed on, so his bloodlust is raised heavily. He wants to test his newfound power. He lets his friends know that he's a vampire now and that he's going to the horses to check out his new abilities! They all say congrats and how cool that is and they're excited for his trip. The vampire hops on his wagon with 4 hell horses, 5 speeds of course, and begins the trek to the farm. He sees a man in local, no one he's seen before, must just be a passer by. He says hello. The stranger disappears from local. Interesting, wonder where he went. The journey continues and he is looking at all these new spells he can cast. A powerful spell that damages. "Man, this could really come in hand-" "You are dead." ... That man in local didn't leave. He was in stealth. On the road. Waiting and ready, stake in hand. Naked from head to toe, this player had just joined the server. He didn't play before, but he saw the mod and wanted to test it out. He just chopped down a nearby tree and made a stake. By chance, he saw someone coming in a blazing cart of horses, and decided he'd try to set a trap. The "stealth" button was there, and so he gives it a shot. He positions in the middle of the road and waits for the target. Needless to say, the other player is comletely unawares, to overconfident in his established life to care. With stake in hand, newbie plasters the vampire. "Haha noob" he says with pride. Ah, how lovely. Oh look a scale set and high quality tools on his body. That could be nice. I wonder if I can take it. Oh, why yes I can! The new player walks away with the full set of gear, a nice set of tools, and a feeling of accomplishment. He will go home and make a wonderful fortress to store his newfound goods. He will create a deed with templars to defend him from the night terrors. He'll recruit villagers to work with in stopping the vampire flag. His name is Dawnguard, and mark his words he will rid the world of evil. A nearby vampire smells the blood and hunts down the new player, slaughtering him viciously and looting his prize. The end.
  9. Would it be possible to add a configuration setting to allow chests to be lockpicked instead of claimed?
  10. New Trader Item

    Do those items refresh when depleted?
  11. Wyvern Reborn

    Smaller patch than usual this week, despite being delayed one day late. Reason being is a lot of backend work was done to improve my own ability to create more content, as well as work towards "larger" systems not yet revealed (like invasions). Added Nekoexmachina's Kingdom Stuff mod. All kingdom-based banners, flags, and wagons can now be crafted here on our Freedom server. The difficulty to create kingdom items is moderately higher than the standard version. Creating a kingdom wagon requires 50 Fine Carpentry at minimum instead of the standard 40. Treasure chest loot has been overhauled. New treasure chests will spawn with all new types of loot. Three tiers are rare (60%), supreme (30%), and fantastic (10%). The loot inside is heavily randomized and scaled heavily based on the rarity of the container. Old chests will not be retroactively updated. Clearing out old chests is required for new ones to spawn. Please keep this in mind. Thank you Ricepirate for designing and writing this system. All compliments (and complaints) about this system are to be directed his way. There is now an information tab next to global chat. It has the links to the server information, forums, etc. It is labelled "Server" - this may be used more in the future. Starter gear has been improved. Starting tools for new characters are now all 30 quality. Spectral Drakes and Reapers are now slightly stronger. Bison can now be mounted and ridden. They require 27 body control to ride. Sol Demon's now spawn half as frequently. Logs can now be combined. Enchant power from tools dropped by champion mobs increased from 0-100 to 30-130. These are now potentially the highest casted tools. Rarity chance on tools dropped from champions has been reduced very slightly. Natural favor gain has been improved significantly. It now begins to speed up and scale at later faiths. The new rate is based on your faith & channeling skills. Enchant Orb enchant power minimum has been increased by 10. That means normal Spectral Drakes will give 90-120 power and champion Spectral Drakes will give 100-120 power. The Mind Stealer enchant has been removed as a possible drop for Enchant Orbs. There is now an Area History message for moon metal vein spawns after slaying a unique. This only happens if it is near a village, and will display the village it's closest to. Rod of Transmutation has been increased in price from 50 silver to 2 gold. It may be reduced back down in the future when I figure out how to change it in the way I want to. CM's and above have been given a handy tool to assist with running events. We will be testing it in the upcoming slaying. Bug Fixes: Valrei Map movements should no longer be broadcast to twitter (hopefully). Fixed Enchant Orbs from casting Human's Demise instead of the intended spell. Newly spawned Glimmersteel and Adamantine veins will no longer display the incorrect QL. The currently existing veins are all 99QL. Enjoy the free utmost! New Challenger She can be found south of Stronghold, safely secured behind fences. Visit if you dare. Thank you to Anyone/Cyberhusky for the banner!
  12. New Trader Item

    I've already tried all of this. I've read every bit of code I could find regarding how it "would" be done. I'm looking for an actual mod that I can put on my server, it works, and then I'll copy the method. Anything less than an actual working mod is insufficient right now, because I've tried all the "theoretical" ways to do it, having talked to several other modders and spending countless hours trying to make anything work.
  13. New Trader Item

    Hi, I'd like to request a mod that creates a new item on a trader. When the item is depleted, it should refresh on the trader. Much like Sleep Powder or a Transmutation Rod does when you take the final one from them. Doesn't matter what the item is, I'm more concerned with the methodology of how this is done. I've been trying forever now and nothing seems to be working.
  14. It appears not to work only if the player first logs in without a compass. After you have the compass UI up, it functions as intended. It's a strange bug that I will eventually look into.
  15. Yes this is doable. I'll add it to my list of things to do and update when I can.
  16. 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? 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 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. 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.
  17. Yes it's possible to create something similar and trigger it slightly differently to create the effect you're looking for. The side effect would be that it only applies to players who log in during that time. If you want all players, then you'll need to do a database edit.
  18. This is due to a bug where the player does not get the action entry for the chest despite it being unlocked. Basically, you actually can open that chest if you send the "act 3" command using bdew's action mod. However, due to a faulty check in the code, you don't get that on the action entry: try { Item lock = Items.getItem(lockId); if (performer.hasKeyForLock(lock) || target.isOwner(performer)) { if (isTop && !addedOpen) { toReturn.add(Actions.actionEntrys[3]); } if (target.isOwner(performer)) { int sz = -1; if (source.isLock()) { --sz; } toReturn.add(new ActionEntry((short)sz, LoginHandler.raiseFirstLetter(target.getActualName()), target.getActualName())); if (source.isLock()) { toReturn.add(new ActionEntry(78, "Replace lock", "replacing lock")); } toReturn.add(Actions.actionEntrys[102]); } } else if (target.mayAccessHold(performer) && isTop && !addedOpen) { toReturn.add(Actions.actionEntrys[3]); } if (stid == 463) { ItemBehaviour.addLockPickEntry(performer, source, target, lock, toReturn); } break block15; } The action entry for Open is 3. You can see that there is 2 ways to get it. Have a key, or be the owner of the object. Have the "mayAccessHold" permission. @bdewYou can see this code for yourself in the ItemBehaviour.addLockOptions() method. If you'd like to investigate further or perhaps work on a fix for it, it would allow locked chests to occur on PvE servers and players could then unlock & loot them. It would give lockpicking a purpose for PvE and I find that truly worthwhile.
  19. I put a pastebin at the bottom of the server configs when you download it. That will list the Item ID's. You can also use the numbers themselves if you want. You don't have to use the name. So for example a medium wooden shield is 84 (i think). You can just use 84 instead of shieldMediumWood and it will function just fine.
  20. I hadn't considered other hosts because I've never heard of anyone having issues connecting to Google before. If you have another one in mind let me know and I'll upload there. Update: Starter Gear now offers full control over items created with editable configuration. It's now a powerful tool for server owners to modify the starting gear of their players.
  21. 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!
  22. Hi everyone. In an attempt to not "spam" these forums since I keep making more and more server mods, I am going to condense them all into one thread like the other smart modders out there like Ago, Bdew and WalkerInTheVoid. You can download them all individually or simply browse the repositories where I'm storing all of them: https://github.com/Sindusk?tab=repositories Here's some details about everything you'll find in there: Sindusk Library Download (GitHub) This mod is very specifically a library built to support the rest of my mods. It has other functionality that other modders may find useful as well as features allowing double-checking whether or not a feature is broken in one of my mods due to another mod conflict or Wurm Unlimited update. While required required for a good deal of my mods, the library itself being installed does not affect the server or gameplay at all. The library is installed just like any other mod on your server. Armoury Mod Thread - Download (GitHub) While primarily consisting of bug fixes and minor tweaks, this should give server owners the control over weapons and armour that has been desperately missing from our modding community for some time. Requirements Sindusk Library Primary Features Change Weapon Swing Timer - Ever get sick of being capped to 3 seconds per swing minimum? Think it's too fast? Now you have the power to change that. Allow knives to hit every second, or once every 10 seconds. Enable Non-Player Crits - Crits are fun. Why limit them to PvP? Let yourself feel stronger by allowing yourself to critically strike the animals and monsters of the world. Be careful though, if you do this, they can critically hit you back! Rare Swing Timer Reduction - Rare weaponry is exceptionally useless by default, offering a pitiful crit chance increase. Well without this mod, you can't crit NPC's anyway. Beyond that, the crit increase is still bad. So I've fixed that! Now you can allow rare, supreme, and fantastic weaponry to actually reduce the swing timer of the weapons. That supreme huge axe you made specifically for that unique slaying now actually does something special! The amount they reduce swings by is configurable, and defaults to 0.2 seconds per rarity level. Bug Fixes Armour Limit Buff Bug - Go into your server. Equip a full set of plate. Take all the plate off. Look at your buff bar. This fixes that. Armour Limit Spell Effect Bug - Similar to the above, spell effects always show as "Bonus" instead of "Penalty" in the Spell Effects, even when the value is negative. This fixes that. Saved Swing Timer Removal - Ever shield bash, then immediately get two hits off in succession? That's because the swing timer is actually still ticking when the shield bash action is ticking. This removes that interaction, and others, by reducing the swing timer back to 0 as soon as you land a hit, ensuring that you don't cheese the system with free hits for no reason. This option is configurable for those who feel this maneuver is skillful and not a bug. Configurable Weapon & Armour Settings Armour Reduction Values - Edit the damage reduction values on all types of armour, from cloth to dragonscale. Want dragonscale to be better than glimmersteel plate? This allows you to do that. On the topic of moon metals, damage modifiers from moon metal on plate gear (and others, if applicable) is also modifiable here. Armour Limit Factor Values - Sick of having that -30% penalty to spellcasting while wearing plate? This allows you to edit those values for all types of armour. Remove the penalty entirely, or make it worse. The choice is yours. Armour Movement Rate Values - Edit individual pieces of armour and adjust their movement penalties. For example, I like to reduce the penalty on plate breast plates and leggings from 9% to 8%. This mod allows me to do that. Custom Weapon Values - Edit weapons and tune them to exactly how you want them. Values to modify: Base damage, swing speed, crit chance, reach, weight group (useless value I think?), parry percent, and skill penalty. This makes a great deal possible: Remove the skill penalty from sickles to bring them in line with other weaponry. Buff the damage of knives so they're viable weapons in combat. Nerf the parry rates on swords to bring them more in line with other weaponry. Allow previously incapable weapons to crit, such as small axes or legs (for when you get that kick inbetween theirs). Included .properties file, including a write-out of all default weapon stats for reference: Spellcraft Mod Thread - Download (GitHub) One of the hardest and most complicated mods I've ever made, now fully realized and completely customizable. Requirements Sindusk Library Primary Features Change Maximum Faith - Change faith to be lower than 100 or up into the thousands. This functions properly and breaks no systems in the game. Scaled Prayer Gains - Changes the formula for how prayers are calculated to match the maximum faith set above. Priest Faith Requirement Change - Allow players to become priests at 10 faith. Or 1 faith. Now you can let those spells with faith requirements less than 30 actually mean something. New Favor Regeneration - Now operates 10 times faster. Literally. You gain 1/10th of the previous favor per tick, but it ticks 1 time per second instead of once per 10 seconds. Also wonderful to use with the new maximum faith gains to ensure you don't get spikes of 20+ when below 1 favor (due to how the calculation works). Show Creature Spell Effects - Pretty simple, just shows spell effects on creatures like enchants on items. [23:45:43] Horses like this one have many uses. [23:45:43] He is very well defined. [23:45:43] This creature could use some grooming. [23:45:43] Frantic charge has been cast on it, so it has greater speed. [50] New Damage Modifier - It's really hard to explain why this is here to someone who doesn't code, but basically due to one of my custom spells I had to include it. You can find out more information about how this works here, under the "Damage Modifier" section. I highly recommend it. Improved Enchant Grouping - Improves enchant grouping to be more efficient. This feature allows more detailed explanations as to why certain enchants do not stack. [21:01:38] The longsword is already enchanted with something that would negate the effect. [21:01:43] The longsword is already enchanted with Blessings of the Dark which would negate the effect of Wind of Ages. Enchant Group Customization (New) - Allows you to edit the enchant groupings. You can now edit whether WoA clashes with BotD, or if Flaming Aura should be cast with Frostbrand. You can now have a fire and ice sword that makes no sense! Statuette Spellcasting Tweaks - Gives the option of statuette QL and rarity affecting the power of spellcasts. Now your shiny statuette is more than a decoration, and instead a useful tool in your arsenal! Rite Changes This gives a lot more control over the deity favor requirements for the Rites that exist in the game. Many of the rites require an MMO amount of prayers which is generally unreasonable for the lower population Wurm Unlimited servers. This also adds custom tweaks to some rites that don't really operate up to the standards I hold them. With many people running Crop Mod, making fields never wither, there is now an option to allow Holy Crop to do a "Mass Genesis" cast, removing a random trait for all bred animals on the map. Rite of Spring now has a customizable cap for the amount of players required in the vicinity. On older, more heavily populated but less dense servers, this should make casting the spell more reasonable. New Spells I have designed and implemented several new custom spells. I may expand on this concept and add more in the future. All spells have completely configurable settings: cast time, favor cost, difficulty, faith requirement, and cooldown. Harden - Enchant able to be cast on most items. It reduces damage taken by the item by up to 30% at 100 power. Phasing - Enchant able to be cast on weapons. It increases the difficulty of blocking attacks with the enchanted weapon. Configurable for how much the difficulty will increase. Summon Soul - Summons a player to the position of the caster. Has a window appear much like Locate Soul for the caster to type the target name into. After that, the target gets a window asking if they want to accept. Upon accepting, the target is teleported to the position of the caster. This spell is quite un-refined and will work to summon enemies to you, if they choose to hit accept. Expand (New) - Enchant able to be cast on containers. Increases the capacity of the enchanted container. Efficiency (New) - Enchant able to be cast on most items. Reduces the difficulty of skill checks with the enchanted item. Quarry (New) - Enchant able to be cast on pickaxes. Increases the chance to successfully surface mine. Default Spell Modifications Edit Spell Variables - You can edit all of the settings for existing spells in the game through the properties file. Change the cast time of Strongwall. Change the cost of Genesis. Change the difficulty of Light of Fo. With Spellcraft, you have full control over the base spells in the game. Add and remove spells from deities - You can now add and remove spells from any, or all, deities in the game. Remove the god demise spells from all the deities since they don't work. Add Willowspine to Libila. Give Rebirth to Magranon. The choice is yours, and the control is now in your hands. Support for player gods - The system also supports player deities. You can add and remove spells from player deities in the same way you remove them from non-player deities. Fine-tune that player deity that didn't quite get a good spell list. Included .properties file: DiscordRelay (Original by whisper2shades) Mod Thread - Download (GitHub) Primary Features Relay Kingdom Chat - GL-Freedom, Freedom, GL-HOTS, whatever kingdom chats are in use. They can now be relayed seamlessly to and from Discord. Relay Trade Chat - Relays Trade chat to and from your Discord server. Type messages into #trade without that pesky "WTS/WTT/WTB/PC" prefix that's usually required! Relay Unique Rumors - When a new unique spawns, it's hard to know unless you were online. This fixes that, keeping a log of all spawns directly on your Discord server, along with the map they spawned on! Bot Setup Properties File - The properties file has a link and visual image that will assist you with setup. It will link you to the page where you would create the bot and show you where to obtain the bot token when the bot is properly configured. Mod Integration The sendToDiscord() method - By listing DiscordRelay as a dependency for your mod, you're able to call the sendToDiscord() method with 3 simple arguments: String channel (discord channel to send to), String message (the content to send in the message), and boolean includeMap (whether to append the map name to the message). This will allow modders interested in broadcasting their custom mod details to Discord the ability to do so seamlessly, assuming this mod is installed. If you're curious about how well it functions, I encourage you to join the Revenant Discord at the following link to see it in action: https://discord.gg/r8QNXAC Even if you do not intend to play there, you'll see all the in-game channels laid out in a way that will demonstrate the power and utility that this mod provides. Included .properties file: Treasure Hunting (Original by Ulviirala) Mod Thread - Download (GitHub) Requirements Sindusk Library (v1.0 or higher) Primary Features Written explanation coming soon... In the meantime, please check out the original mod thread for more details about this mod. Better Combat Log (Outdated!) Outdated Note: While this mod is currently outdated and no longer functional since the introduction of multicolor line sequences, I'd like to revisit it and make it functional again in the future, on top of making it better. Old Information: Libila Fixes (Depreciated - Merged to ServerTweaks) Server Player Counter Download This mod is meant to "correct" player count in the client Server List when launching the game. Because of some weird mechanics of how Steam counts players, the count on the server list can very commonly become incorrect. This solves the following problems: Invisible/Offline Steam users not counting towards the server list. Players on other maps in your cluster not counting towards the server list. Players who lose connection and become de-auth'd from Steam, despite reconnecting, not counting towards the server list. Alt accounts of players do not show on the server list. Server Tweaks Download (GitHub) Requirements Sindusk Library (1.0 or higher) Primary Features Quality of Life Bugfixes - Automatically put new players in CA HELP. Naturally spawn uniques as a developer. Fix moon metal veins being capped to 50. There is a suite of bugfixes and QoL updates to utilize! Useful Gameplay Tweaks - Disable sermons or the fatigue system. Tax inactive player deeds. Allow GM's to create enchants up to 999 on items as special rewards. So many useful tweaks you probably wont even use them all. Fully Enable/Disable Ready - Don't like what you see here except one thing? That's fine! Simply disable absolutely everything else in the mod through the configurations and use only what you want. With everything disabled, this mod runs no code on your server and changes nothing. There's nothing but pure benefit from installing! If something breaks, disable it! Here is a list of all the settings you can adjust: v2 - 11/23/2016 New Settings Disable Sermons - Sermons are disabled from the server. Disable Fatigue - Fatigue is disable from the server. Dev Commands - New commands for CM+ and DEV characters. Dev Commands ##event (message) - CM and above. Creates a message in the Srv-Event channel. This is visible to the whole server, but can only be posted in by CM's and above. Meant for running events. ##unique - DEV-ONLY. Does a natural unique spawn attempt. It checks each unique and gives a 1/300 chance (if default) of it spawning. Spamming this will eventually spawn a natural unique. ##kingme - DEV-ONLY. Makes you king of your current kingdom. Only works if there is not a current king. v3 - 3/29/2018 Now requires Sindusk Library. If you had a configuration file, you will need to go through and make identical changes in the new one. Sorry for the inconvenience. Heavily re-written backend to split into dev commands, bug fixes, and gameplay tweaks. Mod Merge: Libila Fixes. All of Libila Fixes changes have been rolled into 3 options for ServerTweaks: fixFreedomMycelium, enableFreedomLibila, enableFreedomDarkMessenger. Mod Merge: SkillGainControl. The characteristicDivider option from SkillGainControl is now available in ServerTweaks as characteristicDivisor. Mod Merge: TaxConfig. The gracePeriodDays and increasePerDay options are now available in ServerTweaks as taxGracePeriodDays and taxPercentIncreasePerDayGone. New Feature: Moon Metal vein fix [Bugfix]. This stops moon metal veins from being capped at 50 hits. This performs the same fix as Moon Metal Mining by Webba, but uses string replace instead of bytecode manipulation, making it more resilient to breaking through WU updates. New Feature: Rarity window adjustments [Gameplay Tweak]. You can now modify the chance of fantastic, supreme, and rare rolls during a rarity window. These can be configured in the properties file. New Feature: Item based food affinities [Gameplay Tweak]. This makes food affinities based on the item instead of the consuming player. The reason to do this is to allow players to sell well-cooked food with good affinities. New Feature: Bank Balance action [Gameplay Tweak]. This gives an action usable from your body or hand that will tell you your bank balance instantly from any location. New Feature: Spawn Teleport action [Gameplay Tweak]. This gives an action that can be used to teleport to the spawnpoint. Skill Gain Control (Depreciated - Merged into ServerTweaks) Starter Gear Download (GitHub) This mod allows you to fully control what is created for new players on your server. It has an implementation where you can configure in the properties exactly what you want, what quality, and whether or not to make it repairable. Here's the default config, using the starting items for a normal server without epic or challenge settings: #Format: Item-[internal id]=(templateId),(quality),(amount),(isStarter) # internal id - This is just an internal index for debugging purposes. If your config is incorrect, it will reference this value. # templateId - The ID for the item you want to create. Reference ItemList.java to find the template ID for the items you want. # quality - The quality you want the item to spawn in. Floating point values accepted. # amount - It will give this many of the item to the player. # isStarter - Whether or not it can be improved. When true, item cannot be repaired. When false, acts as if created normally. #After weapons and armour are created, the player attempts to "equip" everything available. weapon-1=swordLong,50.0,1,true weapon-2=shieldMediumWood,30.0,1,true armour-1=leatherGlove,30.0,2,true armour-2=leatherBoot,30.0,2,true armour-3=leatherSleeve,30.0,2,true armour-4=leatherJacket,30.0,1,true armour-5=leatherCap,30.0,1,true armour-6=leatherHose,30.0,1,true armour-7=toolbelt,20.0,1,true armour-8=backPack,10.0,1,true #Recommend keeping the mirror as-is. item-1=handMirror,20.0,1,false item-2=flintSteel,50.0,1,true item-3=bowlPottery,2.0,1,true item-4=rope,10.0,1,true item-5=compass,30.0,1,true item-6=tent,30.0,1,true item-7=deedStake,30.0,1,true item-8=hatchet,30.0,1,true item-9=knifeCarving,10.0,1,true item-10=shovel,10.0,1,true item-11=saw,10.0,1,true item-12=pickAxe,10.0,1,true item-13=rake,10.0,1,true Tax Config (Depreciated - Merged into ServerTweaks) Thank you for visiting and I'll try to keep this up to date with anything new I make. Please click subscribe, like this video, and let me know what you'd like to see next in the comments below!
  23. Wyvern Reborn

    New Items: Depth Drill - Returning from the original Wyvern server, this item will allow you to determine the depth of dirt from a tile corner. It can discover ores near where you use it, up to a distance of (prospecting + mining)^0.38 (rounded down) tiles away. Certain ores can only be discovered with high enough prospecting; Slate/Marble at 40, Silver/Gold at 50, Adamantine at 70, and Glimmersteel at 80. Obtain: Craft, using shaft + iron ribbon to start. Finish with 2x wooden handle and 1x small nails. (Same as original Wyvern recipe) Uses Fine Carpentry. Disintegration Rod - Meant for destruction of cave walls & veins. (Credit to Genocide & Uriah) This will remove 1000 hits from any vein, or destroy it outright if it has less than that. Obtain: Sold for 5 silver at Merchant_Wyvern in Stronghold. Human Corpse (Decoration) - A human corpse, but as a decoration! Obtain: Craft, using leather + leather to start. Add 3 leather to complete. Uses Leatherworking skill. Skeleton (Decoration) - A skeleton corpse, placed as a decoration. Obtain: Craft, using a butchering knife + human corpse (the decoration above). Uses butchering skill. Copper Coin Pile (Decoration) - A pile of coins, placed as a decoration. Obtain: Craft, using copper coin + copper coin to start. Finish with 3 more copper coins. Uses miscellaneous items skill. As a note, all decorations listed above can be colored with dye. Experiment a little! Players can now teleport to Stronghold through an action on their body or hand. Just right-click your body/hand and use "Stronghold Teleport" The teleport process can take anywhere from 4-10 minutes. The timer is reduced by increasing Mind Speed and Soul Depth. If you move or go into combat during the process, it will be cancelled. A new merchant, Rob Zombie, now roams the graveyard near the Black Light. Enchant Orbs are now fixed and the enchants that are transferred from them will now properly save. Affinity Orbs have been reduced in price to 4 gold. Leather can now be combined. Treasure chests loot has been improved significantly. No longer will you find a newly-spawned chest with just leather/cotton/iron/wemp. There is now a fantastic version of treasure chests which can spawn. These will always have an Affinity Orb. More to come! You can now check bank balance by right-clicking your hand as well. Uniques now have a 5x higher chance to spawn when the timer triggers. This also improves the chances at having 2 or more uniques spawn at the same time. Spectral drakes now drop some extra scale or hide, depending on what they spawned from. Game Masters have improved capabilities. Thank you to Anyone/Cyberhusky for the banner! P.S. The main post has been updated with better information! Check it out!
  24. Sorry, I misunderstood. I assumed it was meant as a server mod. The wording implies server mod, at least.