View Single Post
  #3  
Old 08-06-2012, 03:47 AM
Splorf22 Splorf22 is offline
Planar Protector


Join Date: Mar 2011
Posts: 3,237
Default

First of all you will not be able to reverse engineer the charm formula from the binary as all that happens serverside.

Second, Charisma used to have a huge impact on charm durations but that was changed when Kanras reworked the charm code about a year ago. Now its level/MR/cha as stated earlier and the charisma effect is relatively small. I know Save runs around charming with 150cha or something and claims not to notice a difference; personally I think it hurts him a bit but the fact that he can be effective with it means its obviously not so high.

Third, I'm guessing at the code here, but I'm guessing that the code looks something like:

int midpoint = f(level,MR,charisma)

if(coin flip > 80%)
charm duration = uniform(midpoint, 15 minutes)
else
charm duration = uniform(0, midpoint)

I write this because I measured the charm durations I had with a script once and it was a piecewise linear function, with a slowly increasing charm duration and then massively increasing at about the 3 minute mark. You can test this yourself; a charm that lasts 3 minutes is likely to last quite a while.

Hope all of that was comprehensible.