Project 1999

Go Back   Project 1999 > Class Discussions > Casters

Reply
 
Thread Tools Display Modes
  #1  
Old 04-15-2025, 02:50 PM
DeathsSilkyMist DeathsSilkyMist is offline
Planar Protector

DeathsSilkyMist's Avatar

Join Date: Jan 2014
Posts: 8,149
Default

On an off topic note, the charisma check comment:

Quote:
/*
Charisma ONLY effects the initial resist check when charm is cast with 10 CHA = -1 Resist mod up to 255 CHA (min ~ 75 cha)
Charisma less than ~ 75 gives a postive modifier to resist checks at approximate ratio of -10 CHA = +6 Resist.
Mez spells do same initial resist check as a above.
Lull spells only check charisma if inital cast is resisted to see if mob will aggro, same modifier/cap as above.
Charisma DOES NOT extend charm durations.
Fear resist chance is given a -20 resist modifier if CHA is < 100, from 100-255 it progressively reduces the negative mod to 0.
Fears verse undead DO NOT apply a charisma modifer. (Note: unknown Base1 values defined in undead fears do not effect duration).
*/
Does give some insight into why Necromancers have minus Charisma on their gear. I didn't know that fear ever had a charisma check. It makes sense, the lower your CHA, the scarier you probably look. Don't know if this CHA check for fear is on P99, but it is interesting.

If this is on P99, it means Enchanters have a resist penatly when using Fear with their CHA gear on.
Last edited by DeathsSilkyMist; 04-15-2025 at 02:56 PM..
Reply With Quote
  #2  
Old 04-15-2025, 03:31 PM
Goregasmic Goregasmic is offline
Fire Giant

Goregasmic's Avatar

Join Date: Jan 2024
Posts: 687
Default

Quote:
Originally Posted by charleski [You must be logged in to view images. Log in or Register.]
Maybe I wasn't clear enough in my first post. Average charm duration is completely meaningless. The concept of a mean only works for normally-distributed data. A lot of data does come from a normally-distributed population, but in this case that simply isn't true. For exponential data like this you can use the median instead, but that has very limited utility and generally doesn't allow the application of statistical tests. You really need to perform a deeper analysis of the data and extract an estimate of the core underlying probability.
What I meant is when you're in your mid 50s and you charm a low to mid 40 mobs, it will usually last a couple minutes on most charms if you remove the outliars. With similar conditions, his attempts on the ilis shaman rarely broke the 60 seconds mark. This suggests mob level plays a major role in charm duration.


Quote:
Originally Posted by charleski [You must be logged in to view images. Log in or Register.]
As an aside, ironically I did notice a resist on the initial cast of Cajoling Whispers last night, so it can happen. It does seem very rare though, and I have to wonder if this shares the same 98% success rate that's applied to charm break rolls.
Since my mid 40s I don't think I've ever had an initial cast resist on any charm. Only resists I had was landing a lower charm on a mob that was too high. That being said I almost always mez + tash + charm. Considering a ton of charms break before 30 ticks I don't think it is the same formula for charm landing because I'm at like 100% success rate.

I've been thinking about this lately and in my 50s I think I got a single color slant resist and maybe also one mesmerization resist? Not 100% sure, I could swear it happened but it is VERY rare if even possible and those mobs aren't always tashed. But now that I think of it, it also has been a LONG time since I got a nuke or slow resist. Unless I get a crit fail on lull I usually tash everything to make root more stable and lessen the odds of getting a simultaneous root+charm break. I feel like except for charm, the last tash you get in your mid 50s really makes almost everything land for most of the exp trash but then again you're fighting mobs 10-17 levels below you so it is hard to know what does what.

Lull on the other hand... been getting fewer crit resists as levels go up but regular resists are still quite common.
Reply With Quote
  #3  
Old 04-15-2025, 05:35 PM
Goregasmic Goregasmic is offline
Fire Giant

Goregasmic's Avatar

Join Date: Jan 2024
Posts: 687
Default

Quote:
Originally Posted by DeathsSilkyMist [You must be logged in to view images. Log in or Register.]

/*
Charisma ONLY effects the initial resist check when charm is cast with 10 CHA = -1 Resist mod up to 255 CHA (min ~ 75 cha)
Charisma less than ~ 75 gives a postive modifier to resist checks at approximate ratio of -10 CHA = +6 Resist.
Mez spells do same initial resist check as a above.
Lull spells only check charisma if inital cast is resisted to see if mob will aggro, same modifier/cap as above.
Charisma DOES NOT extend charm durations.
Fear resist chance is given a -20 resist modifier if CHA is < 100, from 100-255 it progressively reduces the negative mod to 0.
Fears verse undead DO NOT apply a charisma modifer. (Note: unknown Base1 values defined in undead fears do not effect duration).
*/
So if I understand correctly, above 75cha you get -1 resist check every 10cha up to 255, so considering diminishing returns probably like -15resist at 255?

(200-75)/10=12.5
(55/10)/2= 2.75

The last 55cha would be about -2.5 resist, which isn't much but I guess it matters when it is the difference between killing a named or getting harm touched by an entire room.

As for fear as an enchanter, I bought them all and I never casted one. Can't comment on that one. I can see situations where it would be useful but those are some edge cases.
Reply With Quote
  #4  
Old 04-15-2025, 08:38 PM
PatChapp PatChapp is offline
Planar Protector


Join Date: Jul 2021
Posts: 1,162
Default

Would be interesting to compare necro charm vs enchanter
Say 50 charms of the same mob each and compare durations. Maybe do it untashed to keep the mr equal.
Reply With Quote
  #5  
Old 04-17-2025, 10:17 AM
Yumyums Inmahtumtums Yumyums Inmahtumtums is offline
Planar Protector

Yumyums Inmahtumtums's Avatar

Join Date: Sep 2013
Posts: 2,090
Default

Quote:
Originally Posted by Goregasmic [You must be logged in to view images. Log in or Register.]
So if I understand correctly, above 75cha you get -1 resist check every 10cha up to 255, so considering diminishing returns probably like -15resist at 255?

(200-75)/10=12.5
(55/10)/2= 2.75

The last 55cha would be about -2.5 resist, which isn't much but I guess it matters when it is the difference between killing a named or getting harm touched by an entire room.

As for fear as an enchanter, I bought them all and I never casted one. Can't comment on that one. I can see situations where it would be useful but those are some edge cases.
It's possible to have changed but there used to be a marked difference at >200 versus <200.

I'm not going to do the work to verify this but there was a hard line at 200 with diminishing returns afterwards. It was particularly evident on my SSF characters.
__________________

Yumyums Inmahtumtums - 59 Shaman
Lemonspoon Icebeaner - 52 Enchanter
Yumyums Inmahtumtums - 60 Enchanter
Reply With Quote
  #6  
Old 04-16-2025, 03:25 AM
bcbrown bcbrown is online now
Fire Giant


Join Date: Jul 2022
Location: Kedge Keep
Posts: 747
Default

You can tell by looking at a graph of a normal distribution or an exponential distribution what better fits your data. A normal distribution looks like the familiar bell curve everyone knows. An exponential distribution has a peak at the minimum value and swoops down in a curve till there's fewer and fewer at higher values. The two graphs are attached. It's clear that when looking at the provided histogram of charm duration, the exponential distribution is a better fit to the data.

Looking at these graphs also shows why the average is meaningless for data that looks like the second graph. The average is going to be a vertical line placed on the graph such that the area under the curve on the left half is the same as the right half. For a normal distribution it's obviously going to be at the top peak of the bell curve, and that's exactly why it's useful there: you know that most of the data is going to be close to the average value, and the variance tells you exactly how close.

Looking at the exponential graph also demonstrates why the average isn't very useful in this case. You can place a line that marks the average, but it's not going to tell you anything useful. Assuming you're dealing with a system that has a set chance to break charm every tick, you want to find what that set chance is, and what if anything modifies that chance. The average value doesn't help with that.

charleski, in your results you report a "p charm success per tick" value. How is this calculated? Is it the same as p-hat (charm breaks / total ticks)? Given your discussion of MR and the challenges with handling tash wearing off, were all the data collected without using tash? Are you calculating total ticks for each charm as something like total charm duration in seconds / 6, rounded down? I'm sure I can answer these questions by looking at the code, but haven't had a chance to do that yet.
Attached Images
File Type: jpg Screenshot 2025-04-16 at 12.11.23 AM.jpg (16.7 KB, 0 views)
File Type: jpg Screenshot 2025-04-16 at 12.11.37 AM.jpg (15.4 KB, 0 views)
Reply With Quote
  #7  
Old 04-16-2025, 10:37 AM
DeathsSilkyMist DeathsSilkyMist is offline
Planar Protector

DeathsSilkyMist's Avatar

Join Date: Jan 2014
Posts: 8,149
Default

Quote:
Originally Posted by bcbrown [You must be logged in to view images. Log in or Register.]
You can tell by looking at a graph of a normal distribution or an exponential distribution what better fits your data. A normal distribution looks like the familiar bell curve everyone knows. An exponential distribution has a peak at the minimum value and swoops down in a curve till there's fewer and fewer at higher values. The two graphs are attached. It's clear that when looking at the provided histogram of charm duration, the exponential distribution is a better fit to the data.
All randomized calculations in P99 are dice rolls at their core, which approach a normal (gaussian) distribution via the central limit theorem. It isn't more complicated than that. I know the theory crafting is fun, but you are overcomplicating things.

The reason why you see more successful charms at the beginning (in the first 30 seconds) is because Charm uses CHA for the resist check on the initial cast. So you have a higher chance of success at the start if you have high enough CHA.

Subsequent dice rolls must pass a resistance check threshold. This means the dice rolls you are seeing for charm fails are only a subset of the dice rolls. For example, in the code the resistance roll is a d200. If the resistance check threshold is 40, you are only seeing the dice rolls from 1-40 if you graph charm fails the way OP did. You aren't seeing the dice rolls from 41-200.

Mobs also have variations in their resistance checks based on level difference and MR.

These three reasons are why you don't see a bell curve. We aren't looking at a complete set of dice rolls with no modifications.
Last edited by DeathsSilkyMist; 04-16-2025 at 11:00 AM..
Reply With Quote
  #8  
Old 04-17-2025, 07:37 AM
charleski charleski is offline
Large Bat


Join Date: Feb 2025
Posts: 14
Default

Quote:
Originally Posted by bcbrown [You must be logged in to view images. Log in or Register.]
charleski, in your results you report a "p charm success per tick" value. How is this calculated? Is it the same as p-hat (charm breaks / total ticks)?
If you look at the equation for the Wilson Score interval,
[You must be logged in to view images. Log in or Register.]
you'll see it's actually the solution to a quadratic equation, with a central point [(2*n*p_hat+c^2)/(2*(n+c^2))] flanked by the +/- term, which gives the upper and lower bounds. p_hat is actually (ticks on which the charm test succeeded) / (total ticks). The central point is what's reported as p charm success per tick.

Quote:
Given your discussion of MR and the challenges with handling tash wearing off, were all the data collected without using tash? Are you calculating total ticks for each charm as something like total charm duration in seconds / 6, rounded down? I'm sure I can answer these questions by looking at the code, but haven't had a chance to do that yet.
Yeah, the problem of tash wearing off is something I haven't really accounted for. I didn't want to interfere with the data by cutting it up and throwing parts of it out, so I thought it would be best just to leave it as-is. The CHA 115 data has 2 charms that last over 10mins, the longest being 138ticks, the CHA226 data has 5 charms lasting over 10mins, the longest being 161ticks. Unfortuantely, even though I spent over 4 hours on this, the numbers of very long charms are just too small to draw any sort of inference from them.

Yes, total ticks is calculated as (duration in seconds) // 6, where // is the python operator for floor division, which throws away any remainder.
__________________
_____
Green: Feressa
Reply With Quote
  #9  
Old 04-16-2025, 07:33 AM
Goregasmic Goregasmic is offline
Fire Giant

Goregasmic's Avatar

Join Date: Jan 2024
Posts: 687
Default

Disclaimer: I suck@stats so honest questions here.

Outside of visualization none of those graphs are helpful?

What are we trying to figure out here exactly?

I understand average isn't very relevant, especially in the context of charm where it is a bit all over the place but isn't the probability of charm breaking kinda useless too?

We already know level and MR are the big variables and outside of tash and mob choice you have no control over those two so the only actionable parameter is charisma if it has any impact at all. Just run a low cha and a high cha dataset, compare average time and then calculate the statistical significance of the difference. We've seen with the AC parsing thread that there's a point where AC completely squelches the mob attack and you get no return for going above a certain point. Since cha is the stat that would matter the least, we'd have to run tests with non trivial mobs and probably no tash to make sure the effect of cha isn't buried by a mob that has an already bottomed out charm resistance.

I'm very curious to see if cha is useful for charm but we do know cha has a significant impact on lull and that spell is integral to the chanter life so unless you're grouping all the time you'll want maxed cha no matter what, especially knowing a lull nerf is coming.

The other thing that is a big deal is mob level difference so for this to be useful you'd have to come up with a chart that shows probability by mob level for a level 60 player. That would show us at what point mobs become non-trivial charm targets. As Loraen shows, I suspect around 50-51.

In the end, outside of curiosity, there's no use to knowing if charm has a 95% or 98% chance to break on tick because on the field it will break when it will break and you'll have to deal with it. And it isn't like you have alternative options to compare efficiency against. The only time where breaking probability would be useful is if you could come up with something like "an ilis shaman has a 80% chance to break in the first 10 ticks" which lets you figure out if that's too unruly for you or not but you'd know that with a cursory glance at the dataset.

I'm not dissing any effort at understanding the game here, these are some of the questions I have relating to charm. I'm currently 59 and I planned on running those tests when I hit 60 because I'd also like some answers too.
Last edited by Goregasmic; 04-16-2025 at 07:43 AM..
Reply With Quote
  #10  
Old 04-17-2025, 07:13 AM
charleski charleski is offline
Large Bat


Join Date: Feb 2025
Posts: 14
Default

Quote:
Originally Posted by Goregasmic [You must be logged in to view images. Log in or Register.]
In the end, outside of curiosity, there's no use to knowing if charm has a 95% or 98% chance to break on tick because on the field it will break when it will break and you'll have to deal with it. And it isn't like you have alternative options to compare efficiency against. The only time where breaking probability would be useful is if you could come up with something like "an ilis shaman has a 80% chance to break in the first 10 ticks" which lets you figure out if that's too unruly for you or not but you'd know that with a cursory glance at the dataset.
It's certainly true that we see a massive amount of variability in practice. A pet can start out causing a lot of trouble with constant breaks and then suddenly settle down and produce several runs where the charm lasts for many minutes. The overall charm duration will only show its underlying distribution when you collect many hundreds of individual charm attempts (the graph in my first post was from data collected over more than 2 weeks).

On the other hand, the exponential nature of the cumulative duration probability does mean that relatively small differences in the underlying per-tick probability would end up leading to quite dramatic changes in duration:
[You must be logged in to view images. Log in or Register.]
Though as I noted, you're only going to really see this when looking at very large numbers of different charm attempts.

There is, possibly, an additional factor in play when it comes to maximum charm duration. I've attached a zip file containing the parsed data from the L2 orc pawn (CHA 115) and an apparition in CoM (still buffing my CHA back then, so CHA was 189 if I remember correctly). The apparition charm data is from when I was L48 and doing the moat area. Unfortunately at this point I was routinely casting Cajoling Whispers, so I'm not sure if it was above or below L37, but it hit for a max of 88, if that means anything.

If you just eyeball then orc pawn data first, you'll see a surprising number of charms lasting 142 or 143 ticks (as I mention in the code, the log's precision is limited to 1second, which means that some error is introduced by the need to account for casting time of the charm spell). Out of the 31 charms, 6 last 142 or 143 ticks, which doesn't fit an exponential distribution and suggests that there's a hard limit being imposed which rolls up the long tail and caps it at 143 ticks. I didn't see the same effect on the data from the greater spurbone, and at first wondered if this was evidence of a level effect. But then I went through my old logs and found the data on the CoM apparition, in which you can see a very similar effect, only now the hard cap seems to apply at 155 ticks (5 of the 25 charms recorded have this length). Comparing these data is hard, as there's a difference both in mob level and my own CHA. I've also seen evidence that the cap can go even longer, with at least one charm from CoM when I was L49 (also with 189 CHA) lasting 161 ticks.

So, it's possible that there is indeed a hard cap on charm duration, and I can't rule out the possibility that the length of this cap is at least partially determined by CHA. I really haven't tested this, though, and looking at the sort of design that a proper test would need - studying the maximum length of 15+minute charms - something like that is going to be very gruelling.
Attached Images
File Type: jpg Different p_values.jpg (28.6 KB, 142 views)
Attached Files
File Type: zip Two different pets.zip (1.1 KB, 0 views)
__________________
_____
Green: Feressa
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:26 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.