Sign in to follow this  
Sindusk

Spellcraft - Control the Spell System

Recommended Posts

SpellcraftDownload (Google Drive)

 

One of the hardest and most complicated mods I've ever made, now fully realized and completely customizable. Compatible with Ago's modlauncher and SpellMod (including priest restriction removal).

 

  • 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. I plan to expand this system to allow server owners to create custom enchant groups. You'll finally be able to make that Flaming Aura + Frostbrand sword you've always wanted! Before then, however, 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.
  • 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 from 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.
  • 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
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
#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
#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

# -- 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

# -- 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
#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
#>Summon Soul<
summonSoulGods=-1
summonSoulCastTime=300
summonSoulCost=120
summonSoulFaith=80
summonSoulCooldown=0

# -- 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

#> Custom spell changes for my server specifically
cost-100:Bearpaws,15
cost-101:Bloodthirst,40
cost-102:Dirt,15
cost-103:Drain stamina,35
cost-104:Forest Giant Strength,21
cost-105:Goat shape,15
cost-106:Hell strength,21
cost-107:Humid Drizzle,10
cost-108:Mend,18
cost-109:Opulence,8
cost-110:Scorn of Libila,60
cost-111:Weakness,22
faith-100:Bearpaws,15
faith-101:Bless,1
faith-102:Dispel,3
faith-103:Cure light,20
faith-104:Cure medium,32
faith-105:Cure serious,44
faith-106:Dirt,18
faith-107:Dominate,50
faith-108:Drain health,16
faith-109:Drain stamina,60
faith-110:Excel,55
faith-111:Fireheart,20
faith-112:Fo's touch,45
faith-113:Forest Giant Strength,28
faith-114:Goat shape,22
faith-115:Heal,50
faith-116:Hell strength,28
faith-117:Human's demise,50
faith-118:Humid Drizzle,15
faith-119:Holy Crop,150
faith-120:Land of the dead,150
faith-121:Libila's shielding,45
faith-122:Light of Fo,75
faith-123:Light token,10
faith-124:Magranon's shield,45
faith-125:Mass stamina,55
faith-126:Mind stealer,65
faith-127:Morning Fog,5
faith-128:Nimbleness,70
faith-129:Nolocate,25
faith-130:Opulence,10
faith-131:Phantasms,47
faith-132:Rebirth,50
faith-133:Rite of Death,150
faith-134:Rite of Spring,150
faith-135:Ritual of the Sun,150
faith-136:Rotting Gut,10
faith-137:Scorn of Libila,75
faith-138:Sixth Sense,15
faith-139:Smite,120
faith-140:Tangle Weave,25
faith-141:Truehit,55
faith-142:Vessel,15
faith-143:Vynora's hand,45
faith-144:Ward,33
faith-145:Weakness,18
faith-146:Wild Growth,37
faith-147:Worm Brains,28

# -- 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.
#> Adding Willowspine to Magranon, Libila, and player deity
addspell-1:Willowspine;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
#> Removing Mole Senses and Sunder
removespell-5:Mole Senses;-1
removespell-6:Sunder;-1

#> Custom spell changes for my server specifically
addspell-100:Blessings of the Dark;101
addspell-101:Dominate;102
addspell-102:Dragon's demise;101
addspell-103:Frantic charge;102
addspell-104:Genesis;101
addspell-105:Humid Drizzle;101
addspell-106:Life Transfer;101
addspell-107:Light of Fo;102
addspell-108:Light token;102
addspell-109:Mend;101
addspell-110:Rebirth;102
addspell-111:Refresh;101
addspell-112:Rotting Touch;101
addspell-113:Smite;102
addspell-114:Strongwall;102
addspell-115:Weakness;102
addspell-116:Web Armour;102
removespell-100:Blessings of the Dark;102
removespell-101:Cure light;102
removespell-102:Dominate;101
removespell-103:Drain stamina;101
removespell-104:Fire Pillar;101
removespell-105:Fo's touch;102
removespell-106:Fungus Trap;101,102
removespell-107:Lurker in the Deep;101
removespell-108:Magranon's shield;102
removespell-109:Mend;102
removespell-111:Morning Fog;101,102
removespell-112:Nimbleness;101
removespell-113:Phantasms;101
removespell-114:Refresh;102
removespell-115:Reveal Creatures;102
removespell-116:Shard of Ice;101
removespell-117:Sixth Sense;101
removespell-118:Smite;101
removespell-119:Tangle Weave;101
removespell-120:Tentacles;101,102
removespell-121:Tornado;101,102
removespell-122:Vynora's hand;102
removespell-123:Wisdom of Vynora;101,102

# 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

 

Download (Google Drive)

Edited by Sindusk
with -> from
  • Like 13

Share this post


Link to post
Share on other sites

Wow - this is awesome. We had this in the backlog for both DesV3 and DesV4 however never got to it. Really glad to see what you've done with this (it goes beyond what we were thinking of doing, in a really good way)

  • Like 2

Share this post


Link to post
Share on other sites

Very nice and thanks for releasing it. I can't wait to test it out when I get home Sunday 

Share this post


Link to post
Share on other sites

Fixing the spell lists has royally been pissing me off. Got some things to work others didn't,meh.

Sindusk, I kiss you (in a brotherly greeting way of course, lol). Finally I can fix those stupid things once an for all.

 

To the lab!

Share this post


Link to post
Share on other sites
8 hours ago, Nappy said:

Wow - this is awesome. We had this in the backlog for both DesV3 and DesV4 however never got to it. Really glad to see what you've done with this (it goes beyond what we were thinking of doing, in a really good way)

Thank you. When my work gets the Nappy seal of approval, it lifts my spirits. I hope to do more like this.

Share this post


Link to post
Share on other sites
50 minutes ago, Sindusk said:

Thank you. When my work gets the Nappy seal of approval, it lifts my spirits. I hope to do more like this.

Hoping that isn't gentle Sindusk sarcasm I am receiving - grin

Edited by Nappy

Share this post


Link to post
Share on other sites
41 minutes ago, Nappy said:

Hoping that isn't gentle Sindusk sarcasm I am receiving - grin

Nope! I'm 100% serious. In fact, I might be able to release my next mod which also may impress you tonight. If not tonight, almost certainly tomorrow. I've been putting in hard hours! When you come back to inevitably put up Desolation V6, you'll have so many more tools in your kit to make it great. :)

Share this post


Link to post
Share on other sites

I love the thought, no idea if there would be any interest in Desolation V6.

 

It would be neat if someone built a PVP test lab and essentially used your spell mod to work out a better balance for the spells. That was the original interest in it for DesV3 etc, being able to get proper balance.

Edited by Nappy

Share this post


Link to post
Share on other sites
3 hours ago, Nappy said:

I love the thought, no idea if there would be any interest in Desolation V6.

 

It would be neat if someone built a PVP test lab and essentially used your spell mod to work out a better balance for the spells. That was the original interest in it for DesV3 etc, being able to get proper balance.

 

That is very intriguing, indeed. One that warrants further exploration. I had shelved my PvP server addition because of wanting to give a number of aspects a good work over first. It did not want it to be just another PvP server. I have a crap ton on my plate right now to do anything about this just now but would like to circle back to this.

Share this post


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

 

That is very intriguing, indeed. One that warrants further exploration. I had shelved my PvP server addition because of wanting to give a number of aspects a good work over first. It did not want it to be just another PvP server. I have a crap ton on my plate right now to do anything about this just now but would like to circle back to this.

If you want to brainstorm PVP server ideas/concepts at some point in the future please feel free to reach out to me. I had fun with Des2, 3, 4, and 5 however my real life time is too tight to consider another one anytime in near future. Would love to see people take concepts in a different or more extended direction.

 

~Nappy

Share this post


Link to post
Share on other sites

Not to go off topic from the discussion, but I figured I would mention that the Summon Soul spell idea, while a brilliant addition to both PvE and PvP servers, was not actually my idea. I'd like to hear other ideas for spells and enchants to integrate into the mod. I'd like to aim for "general purpose" spells that are (hopefully) simple in design. If I feel I can make your spell within a reasonable time frame, I will do so and add it to the mod.

Share this post


Link to post
Share on other sites

Once again, you do not fail to impress. Always a pleasure to see more of your work release.

Share this post


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

I love the thought, no idea if there would be any interest in Desolation V6.

 

It would be neat if someone built a PVP test lab and essentially used your spell mod to work out a better balance for the spells. That was the original interest in it for DesV3 etc, being able to get proper balance.

I hope to spend a large portion of time playing with this mod. Have spent a great deal of time rebalancing armors and weapons, still much more todo.

Share this post


Link to post
Share on other sites

Update 9/16/2017

  • Fixed priesting not working below 30 faith.

 

There was a check I missed in regards to this that gets bypassed if you're a GM or above, so I didn't catch it in my personal testing. Download location remains the same.

Share this post


Link to post
Share on other sites

Some random  ideas, no idea how many are viable (probably 1 or 2) but here we go;

Summon spectral horse, spawns a horse that lasts for a time based on spell strength

heat item. spell instantly makes an  item in your inventory glowing hot

Featherfall. no damage from falling/ouch that hurt. 

Waterbreathing, either immunity to water or resistance based on spell cast strength

Farsight, spyglass

Blink,  teleport cast strength tiles in forward direction

Hidden weapon; enchant makes weapons invisible 

Corruption; enchant, makes item unimprovable, unenchantable. adds random enchants of random strength. high shatter chance

 

 

Edited by Zaramoth

Share this post


Link to post
Share on other sites
14 minutes ago, Zaramoth said:

Summon spectral horse, spawns a horse that lasts for a time based on spell strength

Featherfall. no damage from falling/ouch that hurt. 

Waterbreathing, either immunity to water or resistance based on spell cast strength

Farsight, spyglass

That would be interessting ;)

 

Eject

Share this post


Link to post
Share on other sites

Good job and thank you for the mod!

 

Not sure if it exists yet, but a spell that would lock the target in place for X seconds or until damaged would be nice. Also, more debuffs or longer lasting buffs would be cool.

Share this post


Link to post
Share on other sites

*EDIT*
Newbie question here, I ASSUME the mod folder for this(and other serverside mods) goes in the specific server folder(e.g. "Creative", "Adventure", etc...), not the containing "Wurm Unlimited Dedicated Server" folder, correct?

*END EDIT*

 

Quote

Summon spectral horse, spawns a horse that lasts for a time based on spell strength

I'd add that it should at minimum have bridle and saddle equipped so it was easy to lead/mount even if you still have your statuette activated and wouldn't wander if you didn't grab it right away.

Edited by Cadh20000
adding question

Share this post


Link to post
Share on other sites

Hi Sindusk,

 

I got a problem loading in Spellcraft on my server.

 

Log:

 

Spoiler

[02:01:54 PM] WARNING org.gotti.wurmunlimited.modloader.ModLoaderShared: Mod armoury loaded server class com.wurmonline.server.creatures.SpellEffectsEnum during phase preinit

[02:01:57 PM] INFO org.gotti.wurmunlimited.modloader.callbacks.Callbacks: Adding callback creatureagemod to class com.wurmonline.server.creatures.CreatureStatus for org.gotti.wurmunlimited.mods.creatureagemod.CreatureAgeMod with methods [__cb_Proxy_creatureagemod_0.getAdjustedLastPolledAge(com.wurmonline.server.creatures.CreatureStatus,boolean)]

[02:01:57 PM] INFO org.gotti.wurmunlimited.mods.serverfixes.ServerFixesMod: Registering server fixes

[02:01:58 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

java.lang.RuntimeException: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:143)

at mod.sin.spellcraft.SpellcraftMod.preInit(SpellcraftMod.java:360)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$3(ModLoaderShared.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:149)

at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at javassist.Loader.run(Loader.java:288)

at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)

Caused by: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.expr.MethodCall.replace(MethodCall.java:241)

at org.gotti.wurmunlimited.modsupport.actions.ModActions$2.edit(ModActions.java:134)

at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)

at javassist.expr.ExprEditor.doit(ExprEditor.java:91)

at javassist.CtBehavior.instrument(CtBehavior.java:712)

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:121)

... 19 more

Caused by: compile error: action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:749)

at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)

at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:249)

at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:218)

at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:39)

at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.Javac.compileStmnt(Javac.java:569)

at javassist.expr.MethodCall.replace(MethodCall.java:235)

... 24 more

 

java.lang.RuntimeException: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:143)

at mod.sin.spellcraft.SpellcraftMod.preInit(SpellcraftMod.java:360)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$3(ModLoaderShared.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:149)

at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at javassist.Loader.run(Loader.java:288)

at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)

Caused by: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.expr.MethodCall.replace(MethodCall.java:241)

at org.gotti.wurmunlimited.modsupport.actions.ModActions$2.edit(ModActions.java:134)

at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)

at javassist.expr.ExprEditor.doit(ExprEditor.java:91)

at javassist.CtBehavior.instrument(CtBehavior.java:712)

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:121)

... 19 more

Caused by: compile error: action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:749)

at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)

at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:249)

at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:218)

at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:39)

at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.Javac.compileStmnt(Javac.java:569)

at javassist.expr.MethodCall.replace(MethodCall.java:235)

... 24 more

 

 

[02:02:00 PM] INFO org.gotti.wurmunlimited.modloader.ModLoaderShared: ModLoader version v0.28-21d0340

 

Share this post


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

Hi Sindusk,

 

I got a problem loading in Spellcraft on my server.

 

Log:

 

  Reveal hidden contents

[02:01:54 PM] WARNING org.gotti.wurmunlimited.modloader.ModLoaderShared: Mod armoury loaded server class com.wurmonline.server.creatures.SpellEffectsEnum during phase preinit

[02:01:57 PM] INFO org.gotti.wurmunlimited.modloader.callbacks.Callbacks: Adding callback creatureagemod to class com.wurmonline.server.creatures.CreatureStatus for org.gotti.wurmunlimited.mods.creatureagemod.CreatureAgeMod with methods [__cb_Proxy_creatureagemod_0.getAdjustedLastPolledAge(com.wurmonline.server.creatures.CreatureStatus,boolean)]

[02:01:57 PM] INFO org.gotti.wurmunlimited.mods.serverfixes.ServerFixesMod: Registering server fixes

[02:01:58 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

java.lang.RuntimeException: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:143)

at mod.sin.spellcraft.SpellcraftMod.preInit(SpellcraftMod.java:360)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$3(ModLoaderShared.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:149)

at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at javassist.Loader.run(Loader.java:288)

at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)

Caused by: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.expr.MethodCall.replace(MethodCall.java:241)

at org.gotti.wurmunlimited.modsupport.actions.ModActions$2.edit(ModActions.java:134)

at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)

at javassist.expr.ExprEditor.doit(ExprEditor.java:91)

at javassist.CtBehavior.instrument(CtBehavior.java:712)

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:121)

... 19 more

Caused by: compile error: action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:749)

at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)

at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:249)

at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:218)

at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:39)

at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.Javac.compileStmnt(Javac.java:569)

at javassist.expr.MethodCall.replace(MethodCall.java:235)

... 24 more

 

java.lang.RuntimeException: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:143)

at mod.sin.spellcraft.SpellcraftMod.preInit(SpellcraftMod.java:360)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$3(ModLoaderShared.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)

at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)

at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:149)

at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at javassist.Loader.run(Loader.java:288)

at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)

Caused by: javassist.CannotCompileException: [source error] action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.expr.MethodCall.replace(MethodCall.java:241)

at org.gotti.wurmunlimited.modsupport.actions.ModActions$2.edit(ModActions.java:134)

at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)

at javassist.expr.ExprEditor.doit(ExprEditor.java:91)

at javassist.CtBehavior.instrument(CtBehavior.java:712)

at org.gotti.wurmunlimited.modsupport.actions.ModActions.init(ModActions.java:121)

... 19 more

Caused by: compile error: action(com.wurmonline.server.behaviours.Action,com.wurmonline.server.creatures.Creature,int,int,boolean,int,int,short,float) not found in org.gotti.wurmunlimited.modsupport.actions.ActionPerformer

at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:749)

at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)

at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:249)

at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:218)

at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:39)

at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

at javassist.compiler.Javac.compileStmnt(Javac.java:569)

at javassist.expr.MethodCall.replace(MethodCall.java:235)

... 24 more

 

 

[02:02:00 PM] INFO org.gotti.wurmunlimited.modloader.ModLoaderShared: ModLoader version v0.28-21d0340

 

Problem Solved.

Latest version of Modloader was not installed.

Done this and problem is solved.

Share this post


Link to post
Share on other sites

Once you have made changes to the file how do you re-patch the server? I have tried this and it will not let me as I have patched it once already with other mods and it tells me the patched files exist and there is no way to remove them from the .JAR file, or at least I have not found a way to do so without spending money I do not have.

Please, any help you can give me would be greatly appreciated as I am trying this out on a local server just to play around and it is the only thing I have found to get all of the spells for all the deities to work.

Thanks.

Share this post


Link to post
Share on other sites

You don't re-patch the server. You just change the various mod(s) configuration/properties files and restart the server. The "patch" only effects the mod loader framework to get it working in initially not the individual mods.

Share this post


Link to post
Share on other sites

God I love mods. Love the modders even more - thankyou Sindusk, your time spent on all your efforts with WU are greatly appreciated by at least one person!

Share this post


Link to post
Share on other sites

Have an issue where when dealing damage with a weapon with LT crashes the server... in the error log it says spellcraft. Anyone else have this issue?

Share this post


Link to post
Share on other sites
6 hours ago, Diceusinfinitus said:

Have an issue where when dealing damage with a weapon with LT crashes the server... in the error log it says spellcraft. Anyone else have this issue?

This is resolved with the latest version. The link should be the same as in the original post.

 

Also, I'm moving my work to GitHub. I've just created a new release for Spellcraft which you can find at the following link:

 

https://github.com/Sindusk/spellcraft/releases

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this