Sign in to follow this  
Dorf

Spell casting Formula

Recommended Posts

Can anyone tell me the spell casting success formula?

Share this post


Link to post
Share on other sites

This is a great resource for looking at channelling simulation: https://www.dreamsleeve.org/wurm/grinder/

I'll briefly run through my understanding of the maths if you are interested as of wurm unlimited (subject to change)

It is a standard skill check with a difficulty on channelling, with an additional fail chance due to armor limit if wearing heavy armor.

A skill check is a gaussian random using 3 key parameters: skill level, difficulty and bonus.

 

For spells
Skill level is channelling skill
Difficulty is listed in the spell list

The bonus is (alignment - 49 + deed bonus)*(1+armor bonus) + (Altar Bonus + faith bonus from 90+ faith) + religion check with 0 bonus at the same difficulty capped at 70.

 

The bonus is then added on to your skill using the following formula

 

Effective skill = skill + (min( skill, (100 - skilll)/2) * bonus / 100) 

See https://www.wolframalpha.com/input/?i=plot+y+%3D+x%2B+(min(+x%2C+(100+-+x)%2F2)+*+70%2F+100)+for+x+%3D+0+to+100 for an idea of what 70 bonus translates to

 

The random number is then generated as follows
A slide is calculated of (effective skill^3 - difficulty^3) / 50000 + effective skill - difficulty

A width is calculated of 30 - Abs(effective skill - difficulty) / 4

 

Below I will use Gauss() to denote a standard gaussian random

 

result = Gauss() * (width + abs(slide) / 6) + slide

 

cuttoff = Gauss() * (width - abs(slide) / 6) + slide

 

if the slide is greater than 0 and the resuilt is greater than the cutoff + max(100-slide, 0) it rolls again

or if the slide is less than 0 and the result is less than the cutoff - max(100+slide, 0) it rolls again

 

if the result is between -100 and 100 it returns the result or it tries again up to 100 times before giving up and giving either -90 to -95 if over failing or  90 to 95 if over succeeding

 

If the result is greater than 0 it is a success and improves the cast if greater than the existing cast

 

casts are improved by power + floor((100 - current cast) / 20)

 

if the result is less than 0 it fails, shattering if less than -1* item ql or if rolls a 1 in 100 chance.

I may have made a couple of mistakes here and apologies if this is too much maths

 

  • Like 3

Share this post


Link to post
Share on other sites

HOLY [I won't say the word here]!  I LOVE math (more than I understand it), and this is impressive.  The fact that someone could reverse engineer this amazes me.  Whether it was you or someone else Thank You for sharing!

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