Sindusk

Sindusk Server Mods

Recommended Posts

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 folder where I'm storing all of them:

 

Sindusk Server Mod Folder (Google Drive)

 

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

 

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:

Spoiler

classname=mod.sin.armoury.ArmouryMod
classpath=armoury.jar
depend.import=sindusklib
sharedClassLoader=true
#If true, will print debug messages and log heavily.
debug=true

# -- Mod configuration section -- #
#enableNonPlayerCrits: Allows critical strikes against non-player characters. In vanilla Wurm, creatures can only deal critical strikes against players.
# Note: this will allow creatures to crit creatures as well, so tamed/charmed/dominated creatures can also be critically hit by aggressive mobs.
enableNonPlayerCrits=true
#fixArmourLimitBuffBug: Go into a server without this enabled. Equip a full set of plate. Take it off. Look at your buff bar. This fixes that. It's added as an option in case a WU update breaks the hook.
fixArmourLimitBuffBug=true
#fixArmourLimitSpellEffect: Similar to the above, the Spell Effect in the Spell Effects window of the game doesn't show armour limits properly. This helps correct that mistake. Option in case WU update breaks the hook.
fixArmourLimitSpellEffect=true

# -- Armour configuration section -- #
# > Armour Reduction < #
enableArmourReductionModifications=true
#This section allows you to configure the armour damage reduction values for each armour type. The values displayed here are the damage reduction multiplier at 100QL, scaling down using the Wurm formula.
# For example: plate is by default 0.7, giving 70% damage reduction to incoming attacks for a 100QL steel plate set.
# I have my own personal tastes when it comes to the armour reduction, so I will leave the default configuration commented out if you wish to use it, then include my personal setup.
# Final note: Unarmoured reduction is applied to most creatures, and scales using Oakshell. While the option is here, I recommend leaving it set at the default 0.05.
unarmouredReduction=0.05
#Default configuration (Worn armour):
#clothReduction=0.4
#leatherReduction=0.5
#studdedReduction=0.55
#chainReduction=0.6
#plateReduction=0.7
#drakeReduction=0.7
#dragonscaleReduction=0.75
#Custom configuration (Worn armour):
clothReduction=0.5
leatherReduction=0.55
studdedReduction=0.58
chainReduction=0.61
plateReduction=0.63
drakeReduction=0.665
dragonscaleReduction=0.685
#These are either unused or applied to creatures, not worn by players. I do not recommend changing them unless you know what you're doing
scaleReduction=0.5
ringReduction=0.55
splintReduction=0.6
# > Custom Item ID Overrides < #
#These are used to override the damage reduction calculation per item ID. If you want to add challenge helms, masks, and similar here, you are welcome to do so and have their DR work.

# - My custom server settings - #
#Spectral Armour
armourReductionOverride-100:22702,0.70
armourReductionOverride-101:22701,0.70
armourReductionOverride-102:22700,0.70
armourReductionOverride-103:22699,0.70
armourReductionOverride-104:22710,0.70
armourReductionOverride-105:22698,0.70
#Glimmerscale Armour
armourReductionOverride-106:22689,0.64
armourReductionOverride-107:22688,0.64
armourReductionOverride-108:22687,0.64
armourReductionOverride-109:22686,0.64
armourReductionOverride-110:22685,0.64
armourReductionOverride-111:22690,0.64


# > Material Modifiers < #
#These are additive modifiers to damage reduction for moon metals.
# For example, adamantine by default gives 0.05, meaning 5% damage reduction on top the 70% that plate gives. Adamantine plate would give 75% damage reduction.
adamantineMaterialMod=0.03
glimmersteelMaterialMod=0.06
seryllMaterialMod=0.08

# > Limit Factor < #
#enableCustomArmourLimitFactors: This will enable or disable the usage of the section below entirely.
enableCustomArmourLimitFactors=true
#These values are meant to determine the bonus or reduction to spellcasting and archery while wearing armour.
# ** Valid values are between -0.99 and 0.3 only. Anything lower than -0.99 risks damaging the calculations in the game. Anything over 0.3 will simply apply as 0.3.
# I personally do not like the original setup of them, and will only leave a commented out "vanilla" setup, then using my own below.
#Vanilla Setup:
#clothArmourLimitFactor=0.3
#leatherArmourLimitFactor=0.3
#studdedArmourLimitFactor=0
#chainArmourLimitFactor=-0.15
#plateArmourLimitFactor=-0.3
#drakeArmourLimitFactor=-0.3
#dragonscaleArmourLimitFactor=-0.3
#Custom setup:
clothArmourLimitFactor=0.3
leatherArmourLimitFactor=0.3
studdedArmourLimitFactor=0.15
chainArmourLimitFactor=0.0
plateArmourLimitFactor=-0.15
drakeArmourLimitFactor=0.15
dragonscaleArmourLimitFactor=0
# > Movement Modifications < #
#enableArmourMovementModifications: This will enable or disable the usage of the section below entirely.
enableArmourMovementModifications=true
#This section will allow you to edit the percent reduction on all the default armor pieces.
#Simply add a property "armourMovement" then a dash and number. No two properties can be the same, so ensure they are all unique.
#> Setting plate body armour to 0.08 movement instead of 0.09
armourMovement-1:breast plate,0.06
#> Setting plate leggings to 0.08 movement instead of 0.09
armourMovement-2:plate leggings,0.06

# - My custom server settings - #
armourMovement-100:great helm,0.02
armourMovement-101:basinet helm,0.02
armourMovement-102:open helm,0.02
armourMovement-103:chain jacket,0.05
armourMovement-104:chain pants,0.05
armourMovement-105:studded leather jacket,0.04
armourMovement-106:studded leather pants,0.04
armourMovement-107:leather jacket,0.03
armourMovement-108:leather pants,0.03

#Full list of vanilla Wurm armour piece names:
# cloth hood ; cloth sleeve ; cloth jacket ; cloth shirt ; cloth glove ; cloth pants ; cloth shoe
# leather adventurer hat ; leather cap ; leather sleeve ; leather jacket ; leather glove ; leather pants ; leather boot
# studded leather cap ; studded leather sleeve ; studded leather jacket ; studded leather glove ; studded leather pants ; studded leather boot
# chain coif ; chain sleeve ; chain jacket ; chain gauntlet ; chain pants ; chain boot
# great helm ; basinet helm ; open helm ; plate vambrace ; breast plate ; plate gauntlet ; plate leggings ; plate sabaton
# drake hide cap ; drake hide sleeve ; drake hide jacket ; drake hide glove ; drake hide pants ; drake hide boot
# dragon scale sleeve ; dragon scale jacket ; dragon scale glove ; dragon scale pants ; dragon scale boot

# -- Shield Configuration Section -- #
#enableShieldDamageEnchants: This will allow AOSP to work as a reflector for any damage enchant that is applied to the shield, applying a wound to the attacker on block.
# AOSP acts as the "chance" for the reflect, and the damage applied to it acts as the "type"
# For example, Flaming Aura on a shield would deal a fire wound to an attacker on block when it has AOSP.
enableShieldDamageEnchants=true
#enableShieldSpeedEnchants: This allows WoA and BotD to interact with shields, reducing the "shield block" counter for a round of combat by 1 when the check succeeds.
# This means higher casts of WoA will allow you to block more attacks per round in combat.
enableShieldSpeedEnchants=true

# -- Weapon Configuration Section -- #
#minimumSwingTime: This will change the minimum swing timer for weaponry. By default, this is 3 seconds. That means no weapon can swing faster than once every 3 seconds.
# Now you have the power to change that. This can be set to any value you want (in seconds). When I set it to 0 and made a superfast weapon, the results were terrifying.
minimumSwingTime=2.0
#raresReduceSwingTime: If enabled, this will make rare, supreme, and fantastic weapons reduce the swing timer.
raresReduceSwingTime=true
#rareSwingSpeedReduction: The amount of time, in seconds, per rarity level, that rares should reduce the swing timer.
# Example: A value of 0.2 would make a rare reduce swing time by 0.2 seconds, supreme reduce swing time by 0.4 seconds, and fantastic reduce swing time by 0.6 seconds.
rareSwingSpeedReduction=0.2
#fixSavedSwingTimer: This one is hard to explain. Basically, when an action is performed (a shield bash, spell, etc.) the swing timer continues to tick.
# After the action, the player will swing, removing the "first swing" amount from the timer.
# That leaves the rest of the timer, allowing them to swing yet again almost immediately after, even with a slow weapon.
# This option removes this interaction and enforces a "set timer to 0" after each swing, ensuring that swings with weapons must be spaced apart properly.
# Some players might enjoy the "skill" in performing this type of action.
fixSavedSwingTimer=true
#betterDualWield: THIS IS HIGHLY EXPERIMENTAL, USE AT YOUR OWN RISK.
# Dual wield by default is locked behind a multitude of checks. That includes slower swing speed, "dead time" after landing a hit, and only being used every other "combat round" (~10 seconds).
# This reworks the system, and simply makes an offhand swing 1/2 as slow as the main hand, starting in the second round of combat.
betterDualWield=true

#enableCustomWeaponValues: This will enable or disable the usage of the section below entirely.
enableCustomWeaponValues=true
#This section will allow you to edit the damage, speed, crit chance, reach, weight group, parry percent, and skill penalty of the weapons in Wurm.
#Use the property "weapon" combined with the field capitalized ("Damage", "Speed", etc.), then the weapon id to change, a comma, then new value.
#This must use the weapon id because there are clashes with the name, where both huge and small axe are "axe"
# IMPORTANT NOTE: Ranged weapons (bows) do not work off these changes. They are a separate entity entirely. This is only for melee weapons.
#Here's some of my suggested changes as examples for what you can do:
#> Increase scythe damage to 10 from 9
weaponDamage-1:268,10.4
#> Increase halberd damage to 10.5 from 9
weaponDamage-2:706,11.25
#> Increase long spear damage to 9.5 from 8
weaponDamage-3:705,9.5
#> Increase steel spear damage to 10 from 9
weaponDamage-4:707,10.75
#> Increase steel staff damage to 9 from 8
weaponDamage-5:710,9.5
#> Increase shortsword damage to 5 from 4
weaponDamage-6:80,5.5

#> Increase scythe speed to 4.5 from 5
weaponSpeed-1:268,4.5
#> Increase large maul speed to 5.25 from 6
weaponSpeed-2:290,5.25

#Crit chance uses the decimal as a percent. 1 is a 100% crit chance. 0.05 is a 5% crit chance. The game forces a maximum of 3% crit in the combat code.
#> Give legs a 0.4% chance to crit, just in case you get lucky on your cheap shot
weaponCritChance-1:19,0.004

#Weapon reach determines the distance in combat for "too close" "good" and "too far" - this is an integer value so please don't use decimals.
#> Change planks to 1 range. Just for science and demonstration.
weaponReach-1:22,1

#I actually don't know what the weapon weight group does. I'll be commenting out my change because I don't want to break anything, but the option is there for you risk-takers!
#> Change "whip of One" to weight group 2
#weaponWeightGroup-1:514,2

#The parryPercent value is a factor in how well the weapon parries. Swords get an innate 4x bonus to this value in the combat code. Otherwise, it's a good indicator for how easy it is to parry.
#> Change sickle parry from 20% to 40%
weaponParryPercent-1:267,0.4

#Finally, the skillPenalty is a combat rating debuff applied to the player wearing this in their main hand. A skillPenalty of 2 will reduce the player's CR by 2 in combat just for wearing the weapon.
#While CR is generally considered an integer by the community, it actually works as a floating point value, so decimals do in fact work with skill penalty.
#> Reduce skill penalty on sickle to 1.0 from 2.0. Maybe it's good again?
weaponSkillPenalty-1:267,1.0
#> Reduce skill penalty on scythe to 0.5 from 2.0.
weaponSkillPenalty-2:268,0.5

# - My custom server settings - #
## Weapon Damage ##
#> Increase two hand sword damage to 10.5
weaponDamage-100:81,11.5
#> Increase butcher knife damage to 3.75
weaponDamage-101:93,4.15
#> Increase sacrifical knife damage to 4.75
weaponDamage-102:792,5.15
#> Increase longsword damage to 6.75
weaponDamage-103:21,6.7
#> Increase small maul damage to 5.5
weaponDamage-104:291,5.8
#> Increase small axe damage to 5.5
weaponDamage-105:3,5.9
#> Increase medium maul damage to 8.75
weaponDamage-106:292,8.75
#> Increase large axe damage to 8
weaponDamage-107:90,8.4
#> Increase carving knife damage to 5.5
weaponDamage-108:8,5.75
#> Increase large maul damage to 11.5
weaponDamage-109:290,12.25
#> Increase sickle damage to 6.1
weaponDamage-110:267,6.1
#> Increase huge axe damage to 13.3
weaponDamage-111:87,14.2

## Weapon Speed ##
#> Increase longsword speed to 3.75
weaponSpeed-100:21,3.6
#> Decrease sacrifical knife speed to 2.5
weaponSpeed-101:792,2.5
#> Increase small axe speed to 2.65
weaponSpeed-102:3,2.65
#> Increase medium maul speed to 4.75
weaponSpeed-103:292,4.75
#> Decrease carving knife speed to 2.75
weaponSpeed-104:8,2.75
#> Increase steel staff speed to 3.8
weaponSpeed-105:710,3.8
#> Increase huge axe swing speed to 5.9
weaponSpeed-106:87,5.9
#> Increase halberd speed to 4.8
weaponSpeed-107:706,4.8
#> Increase small maul speed to 2.9
weaponSpeed-108:291,2.9
#> Increase long spear speed to 4.75
weaponSpeed-109:705,4.75

## Weapon Crit Chance ##
#> Allow small axe to crit at 0.8%
weaponCritChance-100:3,0.008
#> Allow carving knife to crit at 2%
weaponCritChance-101:8,0.02

## Weapon Parry ##
#> Increase small axe parry to 50%
weaponParryPercent-100:3,0.5
#> Remove carving knife ability to parry
weaponParryPercent-101:8,0

## Weapon Skill Penalty ##
#> Remove the small axe skill penalty
weaponSkillPenalty-100:3,0
#> Increase carving knife skill penalty to 3
weaponSkillPenalty-101:8,2

#Full list of vanilla Wurm weapon names and their stats:
# "whip of One" (ID 514) stats: [6.0 damage], [2.0 speed], [0.0 critchance], [5 reach], [1 weightGroup], [0.1 parryPercent], [0.0 skillPenalty]
# "small axe" (ID 3) stats: [5.0 damage], [3.0 speed], [0.0 critchance], [2 reach], [2 weightGroup], [0.3 parryPercent], [0.0 skillPenalty]
# "awl" (ID 390) stats: [1.0 damage], [3.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [2.0 skillPenalty]
# "hatchet" (ID 7) stats: [1.0 damage], [5.0 speed], [0.0 critchance], [2 reach], [2 weightGroup], [0.0 parryPercent], [3.0 skillPenalty]
# "leather knife" (ID 392) stats: [0.5 damage], [2.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [2.0 skillPenalty]
# "carving knife" (ID 😎 stats: [1.0 damage], [2.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [1.0 parryPercent], [2.0 skillPenalty]
# "scissors" (ID 394) stats: [0.5 damage], [2.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [2.0 skillPenalty]
# "sickle" (ID 267) stats: [6.0 damage], [3.0 speed], [0.0039999997 critchance], [2 reach], [3 weightGroup], [0.2 parryPercent], [2.0 skillPenalty]
# "scythe" (ID 268) stats: [9.0 damage], [5.0 speed], [0.015999999 critchance], [5 reach], [4 weightGroup], [0.2 parryPercent], [2.0 skillPenalty]
# "hand" (ID 14) stats: [1.0 damage], [1.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [2.0 skillPenalty]
# "legs" (ID 19) stats: [1.0 damage], [2.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [3.0 skillPenalty]
# "pickaxe" (ID 20) stats: [1.5 damage], [5.0 speed], [0.0 critchance], [3 reach], [3 weightGroup], [0.1 parryPercent], [3.0 skillPenalty]
# "longsword" (ID 21) stats: [5.5 damage], [4.0 speed], [0.0019999999 critchance], [3 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "plank" (ID 22) stats: [0.5 damage], [4.0 speed], [0.0 critchance], [2 reach], [1 weightGroup], [1.0 parryPercent], [3.0 skillPenalty]
# "shaft" (ID 23) stats: [0.5 damage], [4.0 speed], [0.0 critchance], [2 reach], [2 weightGroup], [1.0 parryPercent], [3.0 skillPenalty]
# "sacrificial knife" (ID 792) stats: [1.5 damage], [2.0 speed], [0.006 critchance], [1 reach], [1 weightGroup], [1.0 parryPercent], [1.0 skillPenalty]
# "saw" (ID 24) stats: [0.5 damage], [5.0 speed], [0.0019999999 critchance], [2 reach], [3 weightGroup], [0.0 parryPercent], [3.0 skillPenalty]
# "shovel" (ID 25) stats: [1.0 damage], [5.0 speed], [0.0 critchance], [4 reach], [3 weightGroup], [1.0 parryPercent], [3.0 skillPenalty]
# "rake" (ID 27) stats: [0.5 damage], [5.0 speed], [0.0 critchance], [5 reach], [2 weightGroup], [1.0 parryPercent], [3.0 skillPenalty]
# "large maul" (ID 290) stats: [11.0 damage], [6.0 speed], [0.006 critchance], [4 reach], [5 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "small maul" (ID 291) stats: [4.5 damage], [3.0 speed], [0.0019999999 critchance], [2 reach], [2 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "maul" (ID 292) stats: [8.0 damage], [5.0 speed], [0.006 critchance], [3 reach], [2 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "crude knife" (ID 685) stats: [1.0 damage], [4.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [3.0 skillPenalty]
# "crude pickaxe" (ID 687) stats: [1.0 damage], [6.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [5.0 skillPenalty]
# "branch" (ID 688) stats: [1.0 damage], [6.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [3.0 skillPenalty]
# "crude shovel" (ID 690) stats: [1.0 damage], [6.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [5.0 skillPenalty]
# "crude shaft" (ID 691) stats: [1.0 damage], [3.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [5.0 skillPenalty]
# "belaying pin" (ID 567) stats: [2.0 damage], [3.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [1.0 parryPercent], [2.0 skillPenalty]
# "huge shod club" (ID 314) stats: [8.0 damage], [6.0 speed], [0.0019999999 critchance], [4 reach], [6 weightGroup], [1.0 parryPercent], [2.0 skillPenalty]
# "hammer" (ID 62) stats: [0.5 damage], [3.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.1 parryPercent], [3.0 skillPenalty]
# "short bow" (ID 447) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "mallet" (ID 63) stats: [0.3 damage], [3.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.1 parryPercent], [3.0 skillPenalty]
# "bow" (ID 448) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "long bow" (ID 449) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "long spear" (ID 705) stats: [8.0 damage], [5.0 speed], [0.012 critchance], [7 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "halberd" (ID 706) stats: [9.0 damage], [5.0 speed], [0.012 critchance], [6 reach], [8 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "spear" (ID 707) stats: [9.0 damage], [5.0 speed], [0.012 critchance], [7 reach], [4 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "staff" (ID 710) stats: [8.0 damage], [4.0 speed], [0.0 critchance], [3 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "staff" (ID 711) stats: [2.0 damage], [3.0 speed], [0.0 critchance], [2 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "short bow" (ID 459) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "bow" (ID 460) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "long bow" (ID 461) stats: [0.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [5 weightGroup], [1.0 parryPercent], [9.0 skillPenalty]
# "short sword" (ID 80) stats: [4.0 damage], [3.0 speed], [0.02 critchance], [2 reach], [1 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "Sword of Magranon" (ID 336) stats: [15.0 damage], [5.0 speed], [0.015999999 critchance], [4 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "two handed sword" (ID 81) stats: [9.0 damage], [5.0 speed], [0.01 critchance], [4 reach], [5 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "Hammer of Magranon" (ID 337) stats: [18.0 damage], [6.0 speed], [0.015999999 critchance], [4 reach], [4 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "Sceptre of Ascension" (ID 340) stats: [17.0 damage], [6.0 speed], [0.015999999 critchance], [3 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "huge axe" (ID 87) stats: [12.0 damage], [6.0 speed], [0.01 critchance], [5 reach], [5 weightGroup], [0.2 parryPercent], [0.0 skillPenalty]
# "axe" (ID 90) stats: [6.5 damage], [4.0 speed], [0.006 critchance], [4 reach], [5 weightGroup], [0.3 parryPercent], [0.0 skillPenalty]
# "staff of land" (ID 986) stats: [8.0 damage], [4.0 speed], [0.0 critchance], [3 reach], [3 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "crowbar" (ID 1115) stats: [4.5 damage], [3.0 speed], [0.0019999999 critchance], [2 reach], [2 weightGroup], [1.0 parryPercent], [0.0 skillPenalty]
# "butchering knife" (ID 93) stats: [1.5 damage], [2.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [1.0 parryPercent], [1.0 skillPenalty]
# "crude axe" (ID 1011) stats: [1.0 damage], [5.0 speed], [0.0 critchance], [1 reach], [1 weightGroup], [0.0 parryPercent], [5.0 skillPenalty]

 

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:

Spoiler

classname=mod.sin.spellcraft.SpellcraftMod
classpath=Spellcraft.jar
depend.import=SinduskLibrary
sharedClassLoader=true
#If true, will print debug messages and log heavily.
debug=true

# -- Mod configuration section -- #
#maximumPlayerFaith: Sets a new maximum faith. I don't know what the maximum technical value for this might be, but it should be fine up to 999.
maximumPlayerFaith=200
#priestFaithRequirement: Sets a new faith requirement for priesthood. This must be between 1 and 30. Players still cannot gain faith after 30 without being a priest, but this allows them to priest before then if changed.
priestFaithRequirement=10.0
#hourlyPrayer: Increases faith gain by 3x, but makes it so you can only pray once an hour.
hourlyPrayer=true
#scalePrayerGains: Scales player faith gains during prayer to the new maximum faith.
scalePrayerGains=true
#newFavorRegen: New favor regeneration that takes into account a changed maximum faith, and overall improves passive favor regeneration.
# This system also utilizes Channeling skill to increase passive favor regeneration. It also allows the Court Magus/Shaman titles to actually grant double favor regeneration (they do not function without this).
# Finally, it increases the ticks to 1 per second instead of 1 per 10 seconds, then divides favor gains by 10. This makes favor gain smoother, reducing the "jumps" when below 1 favor and stabilizing favor gain at higher rates.
newFavorRegen=true
#showCreatureSpellEffects: If true, this will allow you to see creature spell effects such as Excel, Truehit, and Oakshell on creatures, much like how enchants are shown when you examine an item.
#These will also show to enemy players on examine. Please be aware of this before using on a PvP server.
# Example: [16:52:37] Truehit has been cast on it, so it has combat vision and aiming. [84]
showCreatureSpellEffects=true
#useNewDamageModifier: This modifies the Damage Modifier formula to one created by a mathematician to improve and balance items improved beyond quality 90. There isn't enough space to explain how it works in this property file.
#Please see my post when I first created it for further details, under the "Damage Modifier Changes" section here: https://forum.wurmonline.com/index.php?/topic/145952-wyvern-reborn/#comment-1518627
#The post includes multiple graphs and a spreadsheet demonstrating how it changes damage on items in general. I highly recommend setting this value to true, as it encourages and rewards players achieving 100 skill.
useNewDamageModifier=true
#statuetteTweaks: Allows the QL and rarity of the statuette to have added benefits to spellcasting.
statuetteTweaks=true
# QL will increase the bonus roll, with 1 bonus being equivalent to 1QL increase on the altar of a faith zone. The value below is how much each QL of the statuette adds to the bonus roll.
statuetteQualityBonusMod=0.1
# Rarity will increase the power of the final cast by the value set, meaning a 90 cast would become a 93 cast if used with a rare statuette adding 3 per rarity level.
statuetteRarityPowerIncrease=3

# -- Enchant Grouping -- #
#improvedEnchantGrouping: This modifies how enchanting groups work slightly, making them more efficient and also allowing for other various improvements. This will also increase the accuracy of fail messages:
# Old message: [21:01:38] The longsword is already enchanted with something that would negate the effect.
# New message: [21:01:43] The longsword is already enchanted with Blessings of the Dark which would negate the effect of Wind of ages.
#Note: Without this option set, custom spells will have no proper grouping assigned, and will be allowed to be casted on anything that can be enchanted with disregard to other enchants that exist.
improvedEnchantGrouping=true
#enchantGroup: Each enchant group will have the byte value for the enchantment that each group should "clash" with.
# For example, Wind of Ages is 16 and Blessings of the Dark is 47. Having a group with 16 and 47 will prevent WoA and BotD from being cast on the same item.
# Editing these groups will allow you to make customized groupings for enchants, allowing you to have stacking damage enchants like Flaming Aura and Rotting touch, for example.
# You can also add your own enchant groups if you like, just ensure that each group number is unique. A single enchant is capable of being in multiple groups.
#>Vanilla Groupings<
#> Enchant Group 1 (Speed): Wind of Ages [16], Nimbleness [32], Blessings of the Dark [47], Phasing [111]
enchantGroup-1:16,32,47,111
#> Enchant Group 2 (Skill Gain): Circle of Cunning [13], Blessings of the Dark [47]
enchantGroup-2:13,47
#> Enchant Group 3 (Weapon Damage): Flaming Aura [14], Rotting Touch [18], Life Transfer [26], Venom [27], Frostbrand [33], Bloodthirst [45]
enchantGroup-3:14,18,26,27,33,45
#> Enchant Group 4 (Armour): Aura of Shared Pain [17], Web Armour [46]
enchantGroup-4:17,46

# -- Rite changes -- #
#Rites in Wurm Unlimited are tuned for hundreds of players playing. Most servers don't have that type of playerbase, so these options are intended to allow server owners to attune the rites to their server population.
#The "favor" mentioned here is favor of the deity that supplies the spell, not the player. Each time a player prays to a deity, the deity obtains 1 favor. Some other minor actions also give deity favor.
#This configuration allows you to edit how much each favor each rite requires to cast, and the cost of the cast to the deity favor bar.
riteHolyCropFavorReq=2000
riteHolyCropFavorCost=1000
riteDeathFavorReq=2000
riteDeathFavorCost=1000
riteSpringFavorReq=2000
riteSpringFavorCost=1000
riteSunFavorReq=2000
riteSunFavorCost=1000
#When Holy Crop is cast, enabling this option will give all bred creatures on the server a chance to obtain a "Gensis" cast, removing a random negative trait.
riteHolyCropMassGenesis=true
#Chance for each creature to get a genesis. 1 in N chance to occur, where N is the value below. Default is 5 for a 1/5 chance of genesis.
riteHolyCropGenesisChance=5
#Maximum amount of players required in the vicinity to cast Rite of Spring (works by default with (total active players / 15) as the alternative)
riteSpringPlayersRequired=5

# -- Default spell tweak options -- #
#scornHealWithoutDamage: This allows Scorn of Libila to apply the maximum of 2 wounds healed, even without dealing damage. This should make it more useful in unique fights or when there's not many targets to hit.
scornHealWithoutDamage=true
#reduceScornHealingDone: This reduces the healing done per wound by Scorn of Libila to 33% effectiveness. This balances Scorn 2 wounds at 33% effect to Light of Fo's 5 wounds at 20% effect.
reduceScornHealingDone=true

# -- Custom Spell configuration section -- #
#This next section is for enabling or disabling spells in their entirety. A value of true will enable the spell. A value of false will disable the spell.
#Harden: Enchant applicable to most items. Reduces the damage taken by the enchanted item; 50 power grants 15% reduction; 100 power granting 30% reduction.
spellEnableHarden=true
#Phasing: Weapon enchant that increases the opponent's shield skill check difficulty. In laymans terms, it makes it so shields block attacks from a Phasing weapon less.
spellEnablePhasing=true
#Summon Soul: Summons a player to the location of the caster.
spellEnableSummonSoul=true
#Replenish: Automatically refills a liquid container with water.
spellEnableReplenish=true
#Expand: Increases the capacity of containers
spellEnableExpand=true
#Efficiency: Reduce difficulty of skill checks with enchanted items.
spellEnableEfficiency=true
#Quarry: Increase the chance to succeed in a surface mining action with enchanted pickaxe.
spellEnableQuarry=true
#For god configuration, put -1 instead of ID numbers to enable it for all gods. God ID's:
# Fo - 1; Magranon - 2; Vynora - 3; Libila - 4; Custom - Please check your wurmdeities.db and use the "ID" for the god you wish to add.
#For cooldown configuration, time is in milliseconds. 5000 is 5 seconds.
#>Harden<
hardenGods=-1
hardenCastTime=20
hardenCost=30
hardenDifficulty=60
hardenFaith=40
hardenCooldown=0
#>Phasing<
phasingGods=-1
phasingCastTime=20
phasingCost=30
phasingDifficulty=60
phasingFaith=60
phasingCooldown=0
#phasingPowerMultiplier: Phasing increases the difficulty of shield blocks depending on the power of the enchant. The difficulty increase is equivalent to the power of the cast multiplied by this value.
# Example: 70 cast with 0.5 multiplier would result in a 35 difficulty increase on block. 80 cast with 0.25 multiplier would result in a 20 difficulty increase on block.
phasingPowerMultiplier=0.5
#>Replenish<
replenishGods=3
replenishCastTime=20
replenishCost=40
replenishDifficulty=60
replenishFaith=60
replenishCooldown=3600000
#>Summon Soul<
summonSoulGods=-1
summonSoulCastTime=300
summonSoulCost=120
summonSoulDifficulty=10
summonSoulFaith=80
summonSoulCooldown=0
#>Expand<
expandGods=-1
expandCastTime=30
expandCost=40
expandDifficulty=60
expandFaith=40
expandCooldown=3600000
#expandEffectModifier: Determines how much larger the containers become
# 0: spell power directly determines the increase. a 10 cast will make the container 10 times larger
# any other number: quadratic progression up to effectModifier additional volume
# An effectModifier of 10 will give 2.5 times additional volume for a 50 cast and 10 times additional volume for a 100 cast.
expandEffectModifier=4
#>Efficiency<
efficiencyGods=0
efficiencyCastTime=30
efficiencyCost=90
efficiencyDifficulty=90
efficiencyFaith=100
efficiencyCooldown=3600000
efficiencyDifficultyPerPower=0.05
#>Quarry<
quarryGods=2
quarryCastTime=30
quarryCost=40
quarryDifficulty=60
quarryFaith=50
quarryCooldown=3600000
quarryEffectiveness=0.05

# -- Default spell modifications -- #
#This section will allow you to put custom values on all the default spells in the game. It will allow you to edit their cast time, cost, difficulty, faith requirement, and cooldown.
#Simply add a property with the field you want to edit, then a dash and number. No two properties can be the same, so ensure they are all unique.
#The spell names are CASE AND SPACE SENSITIVE. Type them exactly as they appear in-game on the spell list.
#Here is a few examples so you can get started:
#> Setting Scorn of Libila cast time to 10 seconds instead of 15:
casttime-1:Scorn of Libila,10
#> Setting Strongwall cast time to 60 seconds instead of 180:
casttime-2:Strongwall,60
#> Setting Weakness cost to 30 favor instead of 50:
cost-1:Weakness,30
#> Setting Genesis to cost 70 favor instead of 30:
cost-2:Genesis,70
#> Setting Light of Fo difficulty to 60 instead of 40:
difficulty-1:Light of Fo,60
#> Setting Dark Messenger difficulty to 30 instead of 40:
difficulty-2:Dark messenger,30
#> Setting Locate Artifact favor requirement to 90 instead of 80:
faith-1:Locate Artifact,90
#> Setting Zombie Infestation faith requriement to 70 instead of 50:
faith-2:Zombie infestation,70
#Note: Cooldowns use milliseconds. 5000 = 5 seconds.
#> Setting Drain Stamina cooldown to 1 minute instead of 30 seconds:
cooldown-1:Drain stamina,60000

# -- Deity spell additions -- #
#This section allows you to add default spells to deities, based on id.
#Format had to change a little from how spell modifications were handled. Use a semicolon after the spell name, then commas to separate god ID's.
# Note: Only one instance of a spell can exist for either addition or removal. If you have 2 separate entries referring to the same spell, only one will work.
# Fo - 1; Magranon - 2; Vynora - 3; Libila - 4; Custom - Please check your wurmdeities.db and use the "ID" for the god you wish to add.
#> Adding Willowspine to Magranon, Vynora, Libila, and player deity
addspell-1:Willowspine;2,3,4,101
#> Adding Genesis to all gods
#addspell-2:Genesis;-1
#> Removing Deity Demise spells from all gods (they don't work)
removespell-1:Fo's demise;-1
removespell-2:Libila's demise;-1
removespell-3:Magranon's demise;-1
removespell-4:Vynora's demise;-1

# List of all existing spell names:
#Animal's demise ; Aura of shared pain ; Bearpaws ; Bless ; Blessings of the Dark ; Bloodthirst ; Break Altar ; Charm animal ; Circle of Cunning ; Continuum ; Courier ; 
#Cure light ; Cure medium ; Cure serious ; Dark messenger ; Dirt ; Disease ; Disintegrate ; Dispel ; Dominate ; Dragon's demise ; 
#Drain health ; Drain stamina ; Excel ; Fire Pillar ; Fireball ; Fireheart ; Flaming Aura ; Fo's demise ; Fo's touch ; Forecast ; 
#Forest Giant Strength ; Frantic charge ; Frostbrand ; Fungus ; Fungus Trap ; Genesis ; Goat shape ; Heal ; Hell strength ; Holy Crop ; 
#Human's demise ; Humid Drizzle ; Ice Pillar ; Incinerate ; Karma Bolt ; Karma Missile ; Karma Slow ; Land of the dead ; Libila's demise ; Libila's shielding ; 
#Life Transfer ; Light of Fo ; Light token ; Lightning ; Locate Artifact ; Locate Soul ; Lurker in the Dark ; Lurker in the Deep ; Lurker in the Woods ; Magranon's demise ; 
#Magranons shield ; Mass stamina ; Mend ; Mind stealer ; Mirrored Self ; Mole Senses ; Morning Fog ; Nimbleness ; Nolocate ; Oakshell ; 
#Opulence ; Pain Rain ; Phantasms ; Rebirth ; Refresh ; Reveal Creatures ; Reveal Settlements ; Rite of Death ; Rite of Spring ; Ritual of the Sun ; 
#Rotting Gut ; Rotting Touch ; Rust Monster ; Scorn of Libila ; Selfhealers's demise ; Shard of Ice ; Sixth Sense ; Smite ; Sprout trees ; Stoneskin ; 
#Strongwall ; Summon ; Summon Skeleton ; Summon Worg ; Summon Wraith ; Sunder ; Tangle Weave ; Tentacles ; Tornado ; True Strike ; 
#Truehit ; Venom ; Vessel ; Vynora's demise ; Vynora's hand ; Wall of Fire ; Wall of Ice ; Wall of Stone ; Ward ; Weakness ; 
#Web Armour ; Wild Growth ; Willowspine ; Wind of ages ; Wisdom of Vynora ; Worm Brains ; Wrath of Magranon ; Zombie infestation

 

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:

Spoiler

classname=org.nyxcode.wurm.discordrelay.DiscordRelay
classpath=*.jar,libs/*.jar
sharedClassLoader=true

# botToken: Discord bot token. This is the client secret that can be found when reviewing the information for your bot at the following link:
# https://discordapp.com/developers/applications/me
# The above link is also where you would create your bot, if you're unfamiliar with Discord bot creation.
# Image assistance: https://i.imgur.com/QDXT3VM.png
botToken=

# discordServerName: Discord server to connect to (not case sensitive).
discordServerName=ServerName

# useUnderscore: This will determine whether to replace white space with underscores or remove whitespace entirely.
# Example: True - #ca_help. False - #cahelp
useUnderscore=true

# showConnectedPlayers: Whether or not to show the amount of players connected as the "game" description of the bot in Discord.
showConnectedPlayers=true
# connectedPlayerUpdateInterval: How long, in seconds, before each update of the amount of connected players.
# Note that the bot can only update at maximum 5 times per minute, so this value should never be set below 12.
# My personal recommendation is to ensure a minimum of 30 seconds. The default is 120.
connectedPlayerUpdateInterval=120

# enableRumors: Whether to announce unique rumors to Discord.
enableRumors=true
# rumorChannel: Which channel to announce unique rumors to.
#rumorChannel=rumors

# enableTrade: Whether or not to enable the global trade relay.
# Any messages sent to trade in-game will be relayed to a global #trade channel in Discord.
# Any messages sent to the #trade channel in Discord will be relayed in-game to all kingdom's trade chats.
enableTrade=true

 

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:

Spoiler

 

Download

 

This mod improves combat log text in a variety of ways:

  • Misses are colored brown.
  • When your target parries, the message will be yellow.
  • When you parry, the message will be tealish-green.
  • When your attack glances, the message will be gray.
  • When an attack glances off you, the message will be light blue.
  • When an enemy blocks, the message will be purple-magenta.
  • When you successfully block, the message will be gold-green.
  • Successful enemy attacks are now a gradient of red based on the damage dealt.
  • Successful attacks performed are now a gradient of green based on damage dealt.
  • 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!

 

LzLQ9PD.pngnjpOa8C.pnghbCGRyr.png

 

 

 

Libila Fixes (Depreciated - Merged to ServerTweaks)

Spoiler

 

Download

This mod isn't really named well, I know. Basically, it's for Freedom Isle PvE Servers Only! It allows you to place a Bone Altar and allow players to have Libila as their god without converting them to HOTS and being attacked and murdered by everything in sight. It also allows Dark Messenger and Courier to work together. Players from any god can use either box without it throwing an error. This allows Fo priests to cast Courier for Libila players, and Libila priests to cast Dark Messenger for WL players, without causing issues.

 

 

 

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:

Spoiler

classname=mod.sin.servertweaks.ServerTweaks
classpath=ServerTweaks.jar,libs/*.jar
depend.import=SinduskLibrary
sharedClassLoader=true

# -- Developer Commands --
#Adds developer commands
addDevCommands=true
#Power level required if dev commands enabled. They all still require the player to have the "CM" flag enabled to work (#setmuter)
cmdEventPower=0
cmdUniqueSpawnPower=5
cmdKingMePower=5

# -- Bugfixes/QoL --
#Makes traders & merchants immortal to disable exploits for fight skill & economy.
immortalTraders=true
#moonMetalVeinFix: Fixes the issue causing adamantine and glimmersteel veins to cap at 50 hits.
moonMetalVeinFix=true
#moonMetalMinimum: The minimum amount of ore a moon metal vein should spawn with.
moonMetalMinimum=500
#moonMetalMaximum: The maximum amount of ore a moon metal vein should spawn with.
moonMetalMaximum=1000
#When true, will put players into CA HELP by default, instaed of requiring it to be turned on through profile.
# Note: This method might not work all the time!
# If you want a sure-fire way to enable it always, set PAWINDOW to true by default in your wurmplayers.db
caHelpDefault=true
#When true, sets the server's "Chaos" setting to false.
disableChaos=true
#Logs a message saying the server tried to spawn a unique when enabled.
logUniques=true
#Fixes the Steam Duplicate Authentication error.
fixSteamDupeAuthentication=true
#Enables structures and fences to be built within 20 tiles of the Altar of Three and Huge Bone Altar.
buildOnHolyGround=true
#disableEpicMapTwitter: Disables twitter messages like "Libila summons the Drakespirits" and others from the Valrei Hex Map if enabled.
disableEpicMapTwitter=true
#removeInfidelError: Enables WL and BL priests to work together, casting defensive spells and heals on eachother.
# The default mechanic will say "Libila does not accept the infidel (player)!" or similar when you try to cast something.
# Setting this to true disables that message from occuring, and allows Libila to be accepted by WL players and vice-versa.
removeInfidelError=true
#fixZombieEnchantError: When a player casts a creature spell, such as Truehit or Excel, on a zombie,
# it will spam errors to the player for the duration of the cast.
# Enabling this fix will remove the spam, and allow the spell to be cast normally without interruption.
fixZombieEnchantError=true
#fixEpicMissionNaming: Sometimes when an epic mission is created, the entity name is not passed in correctly.
# This leads to weird issues where you'll be required to turn in an item to the "avatar of " - where there is no name.
# Enabling this option fixes this issue and ensures that when missions are generated, a name is properly attached.
fixEpicMissionNaming=true
#fixSpellsWithoutEnterPermission: By default, a player can cast a spell in an unlocked house regardless of all other permissions.
# For example, if a deed has no deity spells can be cast, but a house is inside that deed without locks (public smithy for example),
# any player who enters that building can cast whatever spell they want, allowing all sorts of griefing possibilities.
# This includes such as sundering tools in a forge or attempting to cast with low channeling and shattering items in an unlocked chest.
# Enabling this ensures that players MUST have enter permissions to the structure in order to cast spells.
fixSpellsWithoutEnterPermission=true
#allowFreedomMyceliumAbsorb: Libila followers on a freedom server cannot absorb mycelium to heal, despite being a valid Libila follower.
# Enabling this fix will allow Libila followers to properly absorb mycelium to heal on any server.
allowFreedomMyceliumAbsorb=true

# -- Gameplay Tweaks --
#characteristicDivisor: A hold-over from a previous fix for characteristic gains mostly, this was rolled in from SkillGainControl.
# If you had previously used SkillGainControl, put the value you used here. If you do not want to use this feature, put -1.
# Default skill gain is divided by 10. 5 would make characteristics gains twice as fast. 20 would make them twice as slow.
# It is highly recommended to disable this (put -1) if you use another skill gain mod or you don't know what this is.
characteristicDivisor=-1
#customRarityRates: Allows control over the rates of rarity during rarity windows (occurs every 2 hours per player on average)
customRarityRates=true
# Percent chance to get a fantastic roll during a rarity window. Default: 0.1; Vanilla: 0.01
rarityFantasticChance=0.1
# Percent chance to get a supreme roll if the fantastic chance fails during a rarity window. Default: 8.0; Vanilla: 4.0
raritySupremeChance=8.0
# Percent chance to get a rare roll if the fantastic and supreme chance fail during a rarity window. Default: 100.0 [always]; Vanilla: 50.0
rarityRareChance=100.0
#itemBasedFoodAffinities: Attaches the temporary affinity on food to the item instead of the player consuming it.
# This allows players to sell the food they create and the affinity will be the same for the buyer.
# This only affects food created after the option is enabled. Food that was created prior to enabling this will remain the way they were previously.
itemBasedFoodAffinities=true
#reduceUniqueTimer: When enabled, uses the value below to reduce the timer for which new uniques can spawn. Vanilla timer is 14 days.
reduceUniqueTimer=true
#uniqueTimerReduction: Listed in hours. Higher values reduce the timer until the server starts checking for uniques.
# Negative values increase the timer by that amount of hours. A setting of -24 would increase the timer to every 15 days, for example.
# Disabling the timer entirely would require a setting of 336 hours, for 14 days worth of hours.
uniqueTimerReduction=336
#When enabled, "leecher" players no longer get hide or scale from dragon and hatchling slayings.
# A "leecher" is defined by the base WU game as NOT having one of the following be true:
# 65 Fighting OR 30 Body Strength OR 30 Body Stamina OR Priesthood for any god.
noDragonLeeching=true
#When enabled, disables sermons entirely.
disableSermons=true
#When enabled, disables fatigue from exhausting player actions.
# Fatigue values are still tracked, but when the player is out of fatigue, they can still make actions.
disableFatigue=true
#removeLoadUnloadStrengthRequirement: Enabling this will remove the 23 minimum body strength requirement for loading/unloading.
removeLoadUnloadStrengthRequirement=true
#adjustDragonLoot: When enabled, allows drake/scale granted from hatchlings and dragons to be multiplied by the below modifier.
# This does not adjust the amount of blood or chance of sorceries.
adjustDragonLoot=true
#dragonLootMultiplier: Acts as a multiplier for the base amount of drake/scale granted from the death of a hatchling or dragon.
# A setting of 0.5 will grant half of the default amount of scale/drake, whereas a 2.0 would double it, and so on.
dragonLootMultiplier=0.2
#removeConversionTimer: Removes the arbitrary 7 day limit before switching faith. This does not remove the faith reset.
removeConversionTimer=true
#useEpicArmourValues: Uses the new and improved epic armour DR values, glance values, and effectiveness values.
# If you are on an epic server, you are already using these, and setting this property to false will NOT revert back to non-epic armour settings.
useEpicArmourValues=true

# -- Custom Actions --
#enableBankCheckAction: Adds an action to body and hand that allows players to check their bank balance from anywhere.
enableBankCheckAction=true
#enableSpawnTeleportAction: Adds an action to body and hand that allows players to teleport to the server spawn point.
# The server spawn point is considered to be the Jenn-Kellon Starting X and Starting Y in the server options.
enableSpawnTeleportAction=true
#spawnTeleportName: What the action should be named in-game for teleporting to spawn.
# You can make it special to your server by using your capital's name itself on the action (for example, "Capital City Teleport")
spawnTeleportName=Capital Teleport
#spawnTeleportTimer: Amount of time in deciseconds that the action will take. A decisecond is 1/10th of a second.
# Examples: 600 = 60 seconds. 3000 = 300 seconds, or 5 minutes.
# This value is an INTEGER so please do not use floating-point values.
spawnTeleportTimer=1800

# -- Tax Config --
#enableTaxConfig: Increases upkeep for deeds based on the duration the mayor has not logged in.
enableTaxConfig=true
#taxGracePeriodDays: Amount of days to wait before beginning to increase the upkeep of the deed.
taxGracePeriodDays=30
#taxPercentIncreasePerDayGone: Amount (as a percentage) to increase the upkeep per day gone.
# This value stacks through the grace period, so having 0.03 will increase the tax by 3% per day, up to 90% after a 30 day grace period.
# In the above example, the upkeep would be increased by 0% on day 29, 90% on day 30, 93% on day 31, so on and so forth.
taxPercentIncreasePerDayGone=0.03

# -- GM Improvements --
# gmEnchantAnyItem - Allows GM's to enchant any item with Item -> Enchants menu, even if by default the item cannot be enchanted.
gmEnchantAnyItem=true
# gmUncapEnchants - Allows GM's to use the Item -> Enchants menu to set items above 104. The new max is 999.
gmUncapEnchants=true
# gmRemoveConditionChecks - Allows GM's to spawn conditioned animals (Greenish, Lurking, Raging, Champion, etc.)
#    with Specials -> Summon for animals that normally are unable to have that setting.
gmRemoveConditionChecks=true
# Authenticates the player using their Steam ID as the password instead of... whatever password they decide to use.
trueSteamAuthentication=true
#If true, will print debug messages and log heavily.
debug=true

 

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.


jbt71LY.png

 

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)

Spoiler

 

Download

Fixes the 31 "soft" cap for characteristics. This also allows you to configure just how fast you want players to gain body stats by using a divisor. I've wanted to increase the functionality of this system for some time, but haven't done so yet.

 

 

Starter Gear

Download

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)

Spoiler

 

Download

Primarily used to clean up abandoned deeds on servers, this allows you to start increasing the amount of upkeep on a deed depending on when the mayor last logged in. You can see an explanation of how it's being used on my server by taking a look at this patch notes post I made. I'm open to adding more functionality in the future for it, but I'm not sure when I'll get around to doing so.

 

 

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!

Share this post


Link to post
Share on other sites

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.

Edited by Sindusk

Share this post


Link to post
Share on other sites

this is soooo cool, i like the starter gear mod. is there alist anywhere wich the item id´s? i am searching for the silvercoins id.

 

thank you

Eject

Share this post


Link to post
Share on other sites
17 minutes ago, Eject said:

this is soooo cool, i like the starter gear mod. is there alist anywhere wich the item id´s? i am searching for the silvercoins id.

 

thank you

Eject

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.

Share this post


Link to post
Share on other sites

i have a idea with the starter gear mod

is it possible to make a mod like this, to give all players at special events some items? like for xmas or others

maybe give an item on a given date and just add new lines for each coming event

Eject

Share this post


Link to post
Share on other sites
56 minutes ago, Eject said:

i have a idea with the starter gear mod

is it possible to make a mod like this, to give all players at special events some items? like for xmas or others

maybe give an item on a given date and just add new lines for each coming event

Eject

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.

Share this post


Link to post
Share on other sites

wonderfull, that would be very nice if you could make a mod like this :) xmas is comng soon ^^

 

thanks for all your awesome mods

Share this post


Link to post
Share on other sites

Startergear again :)

 

I like to give new players 3 silver in the inventory but it would be perfect if can do this one time per steam account. Its because we like to turn on upkeep for one or more maps but i dont like that players spawn the game with alts to get more silver.

I dont know if this is possible, it sounds very difficult for me lol

Share this post


Link to post
Share on other sites
16 hours ago, Jukken said:

Is it possible to edit the information in the CA Help tab? Customize the default text in there?

Yes this is doable. I'll add it to my list of things to do and update when I can.

Share this post


Link to post
Share on other sites

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.


jbt71LY.png

 

Edited by Sindusk

Share this post


Link to post
Share on other sites

Really cool options here. Additional feature requests for you to consider:

 

1) Ability to specify the GM power level for the newer options listed

2) Creation of a diplomatic tab where all members of all kingdoms can participate in a chat discussion. I know your primary focus in this mod is likely PVE however that would be a great option for PVP servers

3) For traders and merchants, disable same kingdom check to allow all kingdoms to trade (thinking of using this kind of thing for an international trade zone where all kingdoms can actively trade without danger of PVP (although they could be ambushed on way to or from trade zone)

 

Thanks again!

 

~Nappy

Share this post


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

Really cool options here. Additional feature requests for you to consider:

 

1) Ability to specify the GM power level for the newer options listed

2) Creation of a diplomatic tab where all members of all kingdoms can participate in a chat discussion. I know your primary focus in this mod is likely PVE however that would be a great option for PVP servers

3) For traders and merchants, disable same kingdom check to allow all kingdoms to trade (thinking of using this kind of thing for an international trade zone where all kingdoms can actively trade without danger of PVP (although they could be ambushed on way to or from trade zone)

 

Thanks again!

 

~Nappy

I have made the GM powers configurable and want to upload my combat text improvement mod, but first I want an apology for kicking me from your Teamspeak server! :(

Share this post


Link to post
Share on other sites
2 hours ago, Sindusk said:

I have made the GM powers configurable and want to upload my combat text improvement mod, but first I want an apology for kicking me from your Teamspeak server! :(

 

Apology freely and happily provided (especially since I was only joking around and I've been missing our daily chats since you've been gone! Was going to track you down tonight anyway! I didn't think you would take it so hard! - grin)

 

Besides I still want to help you with that auto start stuff for your server that we discussed.

 

~Nappy

Share this post


Link to post
Share on other sites

Better Combat Log - v1 (11/30/2016)

  • Misses are colored brown.
  • When your target parries, the message will be yellow.
  • When you parry, the message will be tealish-green.
  • When your attack glances, the message will be gray.
  • When an attack glances off you, the message will be light blue.
  • When an enemy blocks, the message will be purple-magenta.
  • When you successfully block, the message will be gold-green.
  • Successful enemy attacks are now a gradient of red based on the damage dealt.
  • Successful attacks performed are now a gradient of green based on damage dealt.

Server Tweaks - v3 (11/30/2016)

  • Added server configs for dev commands as requested by Nappy:
  • cmdEventPower - ##event command.
  • cmdUniqueSpawnPower - ##unique command.
  • cmdKingMePower - ##kingme command.

Share this post


Link to post
Share on other sites

I don't really play WU, but, as a WO player, your Better Combat Log is my wet dream. I've been begging for something like this for years.

Share this post


Link to post
Share on other sites

Haha, thank you for the compliments. If you'd like to see them in action, they are up and running on the Desolation V4 (PvP) server hosted by Nappy and my own Wyvern Reborn (PvE). I don't know of any other server that's installed them, but the mod is very new, so that's to be expected.

 

I also can't take all the credit. Much of what I do is gathered by players in the community who offer up their thoughts on how Wurm could be better. This specific mod was done because of this suggestion made by Elyria on the Wyvern Reborn forums. I took the suggestion of "more clarity in combat log" and passed it around many different players from WU and WO as well. After a few days, I was able to implement a mod to create the results you see today.

Share this post


Link to post
Share on other sites

I do have a personal request though, particularly for the enchant uncapper feature you have in one of your mods. (as i do some testing in WU from time to time.)

 

Any chance you could raise it to 9999? (For Bloodthirst in specific, as, it is something that can actually go that high ingame.)

Edited by Propheteer

Share this post


Link to post
Share on other sites
56 minutes ago, Propheteer said:

I do have a personal request though, particularly for the enchant uncapper feature you have in one of your mods. (as i do some testing in WU from time to time.)

 

Any chance you could raise it to 9999? (For Bloodthirst in specific, as, it is something that can actually go that high ingame.)

Tried for the last half hour to get the code to change the 3-character limit to 4 or 5. Despite actually changing the string that's sent to the player, it didn't have any effect and I was still limited to 3 characters. So for now, I don't think I can, but it may be possible with further investigation. It's very possible that a client mod may be necessary to solve this problem instead.

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