Sign in to follow this  
Friya

[Released] Priest Love (server mod)

Recommended Posts

Posted (edited)

Poor priests, always neglected. Always alts. They grind their faith, they grind their channeling, no one will ever know.

 

This will give credit where it's due. Enchants on items will reveal who did the cast.

 

Example:

https://i.imgur.com/bKIdXjA.png

 

Given the rather vague name of this mod, I may, or may not, add functionality here. I have ideas, but if you have some as well, I'm all ears.

 

Download

 

*hic* (yes, very untested)

 

Edited by Friya

Share this post


Link to post
Share on other sites

I've created a repository for this mod and updated it:

  • Added useVanillaMessage configuration. This will use the default message with "Casted by ..." appended to the end instead of the fully custom messages by the mod.
  • Added obscureNames configuration. If disabled, it will not obscure the names similar to creators on items, based on the power of the cast.
  • Fixed a bug where the name would no longer display if the caster logged off.

Download (GitHub)

 

Really neat mod. I'm curious if there's a way I can integrate this into Spellcraft and allow it to apply to my custom spells as well. I'm currently thinking I'll just rewrite the mod to check if the SQL table created by this mod exists, then perform the same functions that PriestLove does if Spellcraft finds it. If you have any other ideas for how to do it, I'm open to suggestion.

Share this post


Link to post
Share on other sites
Posted (edited)

So, anyway...

 

Apparently I left this mod unmaintained for too long...

 

Note, bug: When mucking about on my test-server earlier today I noticed the detection of improved/failed spells was off, I'll post an update for that when time allows. If the wrong message is a bother, just disable the two options for now (that is: showPowerOnSuccessfulCast and showPowerOnFailedCast) .

 

Changes:

- Some refactoring and cleaning up 
- Drunken development bugfix (get player from persistence instead of logged-ins)
- Configuration option: Output strength of cast to user when they successfully land
- Configuration option: List of spells affected
- Configuration option: useLegacyMessages (power in [...], caster in (...))
- Configuration option: showCasterNameBasedOnPower

Example of "Show Power On Successful Cast":

xhEGaTq.png

(you can toggle output of power for both successful and failed casts)

 

Future of this mod:

In the spirit of its name, at some point down the line I'll probably add...

  • Support for free casts - high (and/or lucky) cast = caster gets a free cast (think rare)
  • Support for caster names when it comes to runes (and *possibly* imbues)
  • Ability to specify which spell to dispel on an item (other than fixing this annoyance, this is also relevant since you might want to purge names of other casters due to "reward system" below)
  • Rare prayers (don't we all love them) is rewarded: on PVP server -- 3-5 instant casts; on PVE server -- 3-5 free casts
  • A reward system for casters whose enchants are used. Still prototyping on this, the long-term idea is to at least make it viable to have a priest as (almost) a main and remove the need for "everyone is a priest". The ground work for this is done with this mod as it will start keeping track of who casted what.

 

The configuration file contains some information, so pasting it in here for the details:

#
# Some love for the poor priests.
#
# I may or may not add more functionality over time.
#
#     -- Friya, 2018
#
classname=com.friya.wurmonline.server.priestlove.Mod
classpath=priestlove.jar
sharedClassLoader=true

#
# When priest successfully land a cast, they will see the strength of the cast in the event log.
# E.g.: Your Courier cast landed with a power of 98.
#
# Set to false if you want don't want to ruin the surprise.
#
# Disable this behaviour by setting this to false.
#
showPowerOnSuccessfulCast=true

#
# Instead of just seeing that you failed to improve a cast, show just HOW unlucky you were.
#
showPowerOnFailedCast=true

#
# Personally I find the use of [ ] to convey the power of spells extremely ugly. But I can see
# that it is of interest because of habits. 
#
# That said, if you prefer ugly messages, set this to true. ;)
#
useLegacyMessages=false

#
# I like the idea of obscuring names on low-quality things in Wurm proper, but I do not agree
# with how it's done. That said, I added it because it felt appropriate.
#
# You can turn behaviour off for spell-casters by setting this to false.
#
showCasterNameBasedOnPower=true

#
# Spells (their class names) that should be supported with names of the caster (typically only 
# spells that has a power and that can be cast on items).
#
# If you have custom spells living in the standard package (com.wurmonline.server.spells), simply
# add their class name to the list below.
#
modify.spells.in.com.wurmonline.server.spells=Courier,Nimbleness,LurkerDeep,Opulence,CircleOfCunning,MindStealer,Bloodthirst,SharedPain,DarkMessenger,LurkerWoods,RottingTouch,Frostbrand,Nolocate,LurkerDark,WindOfAges,Venom,FlamingAura,WebArmour,BlessingDark,LifeTransfer

#
# For custom spells living outside of the default Wurm spells package, add the following
# configuration line:
# modify.spells.in.<name of the package>=<comma separated list of class names>
# Make sure class has a doEffect() method with calls to addSpellEffect() and improvePower().
#
# Example:
# modify.spells.in.com.awkward.person.spells=SuperSpell,SubtleSpell
#
# (Note: this is untested, but should just work, I suppose -- if any trouble, just post in the 
# announcement thread).
#

 

Download link in the original post is updated.

 

 

Edited by Friya
Updated config file. And later: Clarified that download link in original post is updated.

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