Resist Caps and Lures
The third most significant discovery in the decompiles is the existence of resist caps. There are a lot of old comments which speculate about a resist cap before Planes of Power, and some of these comments weren't too far off. The caps were applied to the effective resist value, not the absolute resist value, meaning they were applied after the level difference modifier. So the caps would have shifted somewhat relative to the absolute resist value (the number players see in the UI) depending on the level of the attacker casting on them. (this level difference modifier is explained in detail in a later section, which you should read now if you have no familiarity) I say caps plural because there were more than one. I will include lure spells in this section because they are closely related to one of the caps. Note that 'lures' in this context includes Kunark dragon breath spells and various other raid NPC spells and not just the wizard DDs.
The 100 and 99 Hardcaps
Resists were capped at 100 for NPCs, and 99 for players, when defending against non-lure spells after factoring in level difference. This was the case until September 4 2002. This might be hard for people to believe at first because everybody is used to the PoP era system but the decompiles are explicit and the logs back it up. This meant that when fighting Lord Nagafen at level 50, any resists above 111 did nothing, since Nagafen was 5 levels higher this level difference subtracted 12 points from the player's resists. It also meant that when fighting dark blue or green NPCs, your resist level was capped at a value less than 99.
The September 4 '02 patch note said:
"Resists matter more for PCs. There are now tangible differences between having 50, 150, and 250 in a given resistance, for example. Resistance buffs, bard songs, and resist gear have actual value, all the way up the line."
The reason why is because resists were capped this low making gear and bard songs useless much of the time. EQ didn't do stats very well and resists weren't implemented very well either.
Keep in mind however that for all-or-nothing spells this cap was almost meaningless. (because the rolls were 0-99) Also most bosses in Kunark, Velious and Luclin had lure AoEs so this cap wouldn't apply against these spells. There were two consequences to this cap: partial damage spells could not be mitigated by players beyond a certain average damage, which was 50%, and all-or-nothing spells will have a 1% chance to always land on players since players cap at 99 and not 100. Sony just didn't want players mitigating spell damage beyond 50% back then. The upside however was that hitting that 50% mitigation level was very easy and thus players could mostly ignore resists and keep their normal gear or focus on HP gear, although this made gearing less interesting.
I checked my old personal logs to see if this 1% chance to always land spells on PCs could be found in them, and I found these cases:
* A single Thunder Blast landed on my warrior out of 61 casts in a Oct 2001 NToV raid. Old screenshots show me with 101 buffless MR back then and I had just cast Aura of Blue Petals on myself right before the cast that landed.
* In a January 2002 log, Shrieker mushrooms in Fungus Grove landed only 3 spells in 336 casts when DR was certainly above 100, as Aura of Black Petals was cast just prior to the spells that landed and level difference granted a +40 resist advantage.
The 151 Resist Immunity Threshold for NPCs
Another significant resist value in classic era was that when casting on NPC targets, there was a threshold at 151 effective resist value, at or above which any spell cast on the NPC would guaranteed resist and no rolls were done. Like the 100/99 cap, this limit is checked after the level difference modifier and debuffs were applied, but it was obviously checked before the NPC's resist was capped at 100. This threshold existed from the start of classic era, as did the 99/100 caps. (they're in the February 1999 client)
This threshold applied to lifetaps and is how lifetaps could resist when they otherwise were always full damage, but (very) old comments suggest lifetaps bypassed this limit in early classic era. Lifetaps may have been unresistable like tash spells back in 1999 but I have no hard evidence of this. They could resist in 2000 for sure.
Lures and the Mythical 255 Hardcap
First let me explain what made a lure spell. In the old spell data, a lure spell was a spell with a negative charisma effect in the first slot. (not including SkunkSpray) This was Sony's hackish way of signaling different resist behavior instead of adding a proper spell field. Back then Sony always assumed that their current expac would be their last one, so they didn't plan for the long haul and took shortcuts. Charisma (with value 0) in spell slots was also used as a spacer so that valid spell effects could be in lower slots; i.e. if charisma with value 0 was in a slot, that slot was ignored. The primary reason to do this was to enable buff stacking.
Sony also hardcoded the Kunark dragon AoEs to be lures without giving those spells a -CHA spell effect. This was done by checking spell ID in the same function that also checked spells for a charisma code. Future dragon AoEs and raid boss spells would use a charisma code, so only the Kunark dragons had their AoEs hardcoded by spell ID.
There were four different charisma codes to denote lure behavior: -3 through -6. -6 and -5 were the hardest to resist (wizard lures, most dragon AoEs) and these had the same resist rate in Kunark even though there were two codes for it, but in Velious this may have changed. -4 was easier to resist and -3 was the easiest. If you check Lucy's spell history, you can see what kind of lure code spells used to have. For example under Lure of Ice it shows: "Removed Slot 1: Lure(5) 2002-09-04"
If you go searching for old claims of a resist cap you will find users saying that resists capped at or wrapped around at 255 due to Sony using an 8 bit variable for it. These claims were false. The partial damage formula requires that the resist variable be larger than 8 bits in the algorithm. The cap for lure spells was so low at 45% that the randomness of it was resulting in users not resisting any AoEs in long streaks even with bard songs and this was giving them crazy notions. You will also find players saying that resists capped around 180-200 and these guys were right, but only for lures.
In 2001 Ester the Tester responded to a player who brought up resists wrapping around to 0 and she shot down the notion explicitly:
https://web.archive.org/web/20040927...p/t-10824.html
And another reply where she says,
"I can say that we spend a LOT of time with logs, parsers, Excel etc making certain that they do not roll over."
https://web.archive.org/web/20020829...cID=2606.topic
Lures in Kunark
Lure spells were added in Kunark. In old EQ, these spells had their own separate resist roll that bypassed almost every restriction or limitation inside the resist algorithm, and were not merely a negative modifier like post Sept 4 2002 lures are. You might assume that -5 meant reduce the resist by X times 5 before rolling the spell resist check, but this was not the case.
Kunark only had one type of lure spell, and they all behaved in this way: first 100 was subtracted from the resist value. Then the remainder was divided in half and 5 was added to it. Then this result was capped at 45. This was the resist rate of the spell. As usual this was done after the level difference modifier was applied. If the target had less than 100 resist then the spell always landed.
The effective resist cap in Kunark for lures and dragon AoEs was 180 + level difference, so 180 on white cons and 192 on the level 65 dragons if the player was level 60. (180 - 100) / 2 + 5 = 45%
Kunark lures:
- Bypassed all previously mentioned caps and guaranteed hit if the target's effective resist was under 100.
- Wizard lures did benefit from the class innate -10 resist modifier.
- Didn't do partial damage. All lure spells were all-or-nothing.
- Could hit anything. Even lifetap immune targets. Wizard lures used the same logic as dragon AoEs, so ice lures could hit otherwise ice immune targets for example.
In mid-Kunark Sony made a new dragon roar spell which had the -6 charisma code for the outdoor dragons. The reason was seemingly because the -5 code only applied to DD spells, and since they needed a lure fear (which is all-or-nothing) they had to make a new code or modify the -5 code to work on all spells instead of just DDs. I'm not sure why they didn't do the latter, but -5 and -6 did the same resist behavior. (again, all the other Kunark dragon AoEs also had this same lure behavior even if they didn't have -5 or -6 codes in their spell data)
Lures in Velious
Sony removed the resist logic from clients in Velious. The last client with it is November 29 2000. So from Velious until September 2002 we have to try and figure out how Sony changed the algorithm without the benefit of decompiles.
Sony added two more charisma codes for Velious. These were added one week before Velious launch and are in the November 29 client. The codes are -3 and -4. They behaved much like the -5/-6 spells did only instead of subtracting 100 and capping at 45, they subtracted less and capped higher. These were to be easier to resist lure spells as you would expect.
-5 & -6 lures subtracted 100 from the resist value and capped the final resist chance at 45%.
-4 lures subtracted 50 from the resist value and capped the final resist chance at 75%.
-3 lures subtracted 25 from the resist value and capped the final resist chance at 85%.
Resists were effectively capped (after level difference mod) at 190 against -4 spells, and 185 against -3 spells.
All three divided the remainder by 2 and added 5.
To be clear: that is what the November 29 client showed. A week later Sony changed lures again, and I can't say precisely how, but I will outline the limited available evidence and offer some speculation.
On Velious launch (December 5th) Sony made a change to wizard lures which resulted in them being almost useless on some NPCs. This is a Graffe thread about the drastic change in resist rates:
https://web.archive.org/web/20010523...tart=1&stop=20
A Graffe news page has several Sony rep quotes regarding the changes to lure spells at the time. That page is here:
https://web.archive.org/web/20010306...ive_123100.htm
Abashi at first says lures were supposed to behave like lifetaps and not dragon breaths, and the patch "fixed" them to behave as lifetaps, and this was not mentioned in patch notes because it was "low impact".
A Sony programmer, Roger Uzun, contradicted Absor and said that wizard lures still behave like dragon breath spells, and would not change. He also says quote,
"dragon breath saves were adjusted, and that resulted in some few NPCS saving slightly better saves vs certain lures".
This is followed by a Geoff Zatkin comment saying that wizard lures should behave as lifetaps, or even better since wizards get an innate -10 on spells. Uzun however was the server side programmer and probably wrote the logic himself or at least saw it.
Absor responds a day later explaining that the change was intended to force wizards into using the appropriate lure for the target mob, i.e. a fire immune mob should resist fire lures and a cold lure should be used. This makes sense as the Kunark lure logic allows any lure spell to be used on any creature, although even in Kunark using the appropriate lure might still have ended up with higher hit rates depending on the mob's resist levels.
Absor then says that the discussion on lures has made them check the code and they found the real problem with it. The resist rates on lures post Velious launch were too high due to some NPCs getting a saving throw when the NPC was higher in level than the caster, says them, and this was removed to fix the spells. That is a vague statement and doesn't help us much. Nothing like that is seen in the November 29 decompile. Resist rates in Kunark would have been the same for all wizards on high resist targets (45%) regardless of level. This answer also doesn't explain why lures on lower level NPCs like Venril Sathir (level 55) and spite golems were getting resisted more after Velious launch, so this is yet another Sony answer that doesn't make much sense. My best guess would be they added a resist penalty to make lower level wizards resist more since a level 52 wizard would have the same resist rate as a level 60 but they botched it and level 60s were resisting more too.
In other post Absor says this:
"Uzun is the server-side programmer. Basically, if anyone knows how this thing works, he's the guy." and
"So, perhaps a fire breathing foe will now resist fire Lures a bit better. But it’s resistance to cold Lures wouldn’t have changed." So the intent was seemingly not change the resist rates on targets using the appropriate lure spells, and this is why they didn't have a patch note.
(link:
https://web.archive.org/web/20011217...ve/arc43.shtml)
In the Graffe thread linked above, a user posts that the paladin epic proc was landing on VS but wizard lures were not. The paladin epic effect was made into a -4 spell on Velious launch. Another, lower level, wizard says that Enticement of Flame was landing better than the higher level lures. Enticement was also a -4 spell. So it seems the issue that affected the level -5 spells did not affect the -4 spells. Although to make mobs immune to the -3 and -4 spells they would have had to of applied similar restrictions to all three types but perhaps they neglected to do so or didn't care since not many player spells were -4 or -3.
I also noticed something important in the spell data changes. The November 29 2000 patch changed the handful of NPC spells which had CHA -5 to instead use -4, and the result is that -5 was from then on (Velious launch) reserved only for wizard lures. This was probably done so that wizard lures could be made useless on targets with extreme resist values without affecting dragon AoEs, but more could have been done to them. That wizard lures were resisting too much on blue cons for awhile suggests more might have changed. Sadly I have all of three wizard lure casts in my old logs and old comments are also lacking in data so I have virtually nothing to work with to try and figure it out.
I do have ample 2002 logs of CHA -4 spells landing on players however. Logs show the -4 CHA AoEs were all-or-nothing and the resist rates were not higher than the Nov 29 client logic would allow. For example I have a 2002 log of a player raiding Vyemm and Scream of Chaos resisted 60% out of 78 casts. I also found a 67% resist rate of wurm AoEs in 183 casts in one sample of those. CHA -6 Dragon AoEs also were not seen resisting more than the Nov 29 client logic would allow, even with a bard in group for one Warder kill, which showed a 50% resist rate in 12 casts. Old logs (certainly not the ones I have) are not going to be able to realistically tell us if the capped resist rate was higher than the Nov 29 client showed unless the resist rate was way higher, which it isn't. Logs do not show the player's resist value and players back then didn't care as much about their resists.
I also have a log of a cleric doing a raid in Kael in June 2002 (Luclin), and in this raid they fight the Idol. The fight only had a single wizard in it so I can make some third person deductions. The log shows all or almost all 30 lures of lightning and flame connecting after two "uncomfortable" messages. This suggests that the -100 resist portion of lures remained and they still bypassed the resist floor.
In short, the limited log data does not show lures deviating from the November 29 client logic, but the data is insufficient to show possible modest modifications to the November 29 client logic.
I do want to point out here that the raid bosses with CHA -6 spells are highly dependent on these spells to make the encounters challenging. Kunark dragon melee damage is rather weak for example, so if players could easily resist the breaths then the events would be trivial. If the resist cap for dragon breath lures changed in Velious then I don't think it changed very much.
This Graffe forum user says that wizard lures remained all-or-nothing until Sept 4 2002:
"Lures, and spells with a stun component, gained the ability to land partial hits (aka not all-or-nothing) when they redid the resist system last year." (5/16/03)
https://web.archive.org/web/20030725...ID=26511.topic
That suggests to me that wizard lures were still separate from the primary resist logic flow.
On December 19 2000 Sony made the paladin epic weapon proc partial hit, says the patch note, but it kept the CHA -4 on it. Sony seems to have hardcoded some kind of exception for this spell.
When I parsed NPC resists on Live servers, some of them had resists of 1000 or near it. It seems that at some point Sony used 1000 as "immune" although with Live's higher level debuffs and PoP era resist logic lures can now be made to land which is how I know the value is around 1000. Sony likely increased NPC resists with the Sept 2002 patch, but it's possible NPCs had upwards of 1000 resist during Velious. Pre-K classic and Kunark mobs however virtually all had 435 resist as the highest value. (only Vox's CR was higher that I found) So it seems that Sony raised the "immunity" value for NPCs starting in Velious. I think this was done to make lures always resist. Before September 4 2002, 425 would have been more than enough to make targets immune from non-lures, so making later NPCs 1000 only makes sense to make lures resist.