What Qualifies As Partialable In Classic
When spells resist, they're either all-or-nothing, or partialable meaning they may do damage between 100% and zero. Partial spells have an easier time landing but the full damage hit rate is generally the same as all-or-nothing spells.
In the vast majority of pre-K classic and Kunark, partial spells were defined as such:
* A spell with only one effect in it, with that effect being either SE 0 or SE 79.
* A multi-effect spell with with the first effect being SE 0 or SE 79, and the second effect being a dispel. (a hardcode for dragon AoEs)
* Multi-effect Enchanter spells under level 13 which have SE 0 or SE 79 as the first effect. (lets newbie enchanters hit stuff better)
Both of those SEs (SE stands for Spell Effect ID) are used for DDs and heals. SE 79 is used in multi-effect spells with a DD or heal component, such as buffs. Both SEs are also used in DoT spells.
This is what gave druid magic DoTs and the Heat Blood line lure-like behavior before Sony put in spell resist modifier field, because they only had to pass a partial resist check to land instead of an all-or-nothing check. Those two DoT lines just had a SE 0 effect and nothing else. The other DoTs had counters or some other effect in them.
Another noteworthy spell is Flame Song of Ro, which is cast by the Queen in Chardok and the Shaman epic quest mob in City of Mist. This had lure-like behavior because it has SE 0 as the only spell effect, like the druid and necro DoTs. As I mentioned previously, DD spells landing on players always had a 1% full resist rate; this meant that it was impossible to resist Flame Song of Ro above a rate of 1 in 100 no matter how much resist you had in classic.
Geoffrey Zatkin in May 1999 made a comment about the level 4 Enchanter spell Suffocating Sphere being made easier to land. That appears to be the time they added this enchanter spells under level 13 exception:
Quote:
Originally Posted by Geoffrey Zatkin May 1999
Suffocating Sphere was made much harder to resist. As a result they also threw in the chance for damage to be lowered on a successful cast. Probably better for the low levellers, they have more chance to hurt that tree snake now.
|
In late Kunark (it's in the Nov 15 client but not the Sept 19 client) they added another exception for spells with SE 92 in slot two plus SE 0/79 in slot one. This appears to be
a hardcode to allow warrior epic procs to be partial hittable.
I am unaware of any changes or additions to partiality qualification in Velious and Luclin up to September 4, other than the Paladin epic proc which is a lure spell.
Partial Spells After The September 4 2002 Patch (PoP era and beyond)
What constituted a partialable spell changed in the big resist system patch of September 4 2002. Sony wanted more flexibility in designing spells and wanted to make spells with multiple effects that could partially hit, so not long before PoP launched they made it such that any spell with SE 0 or SE 79 as the first valid slot could partially hit, but also added a new spell field to override this. You can find this field in spell databases and it might be called "no partial save" or something similar. For example, if you go to Allakhazam and look up the spell Clinging Darkness, then click on raw spell data, you will find a field called "no_partial_save" and the value is '1'. That kept the spell all-or-nothing even though the first effect is SE 0.
To be clear, 'valid slot' excludes Charisma 0 being used as a spacer, meaning slot 1 might be 'blank' and the SE 0/79 might be in slot 2 and it would still partial hit. SE -2 was also used as blank.
Sony mentioned this partial spells change in the patch notes, but it singles out enchanter spells only. This change however applied to more than enchanter spells. I first noticed this while parsing a Luclin raid boss which was landing spells on me when I should have otherwise been immune from having high resists if the spell were using the 1-200 scale. I need to mention however that I'm not entirely certain what they changed the criteria to. Just from observations I've made it looks as though any spell with SE 0 or SE 79 as the first valid slot seemed to partial hit, assuming the no_partial_save flag is 0. There may be more to it than that.
Quote:
Originally Posted by September 4 2002 Patch Note
- Enchanter spells that have a hit point component and a stun component can now be partially resisted.
|
Druid magic DoTs and the Heat Blood line were also given -100 resist modifiers after the September 4 patch, so after that patch they could actually be landed on targets up to 700 effective resist value which is 100 more than typical DD spells can land on. The reason why Sony gave these spells -100 modifiers is because before these spells had a 99% hit rate on anything that wasn't outright immune, and without the -100 modifier the spells would have resisted at a rate of 1% for every 6 resist value, so the resist rate on most things would have gone up considerably without it.
Standard NPC Resist Values
The client decompiles also included the routines which granted PCs and NPCs their base resist values. The same function was seemingly used for both. This mostly verifies what I already knew, but I did learn a couple of important things from it.
The standard NPC resist (I'm making this term up) amount is calculated just like player resists are, minus the class bonuses. (e.g. warrior NPCs do not gain extra MR) NPCs
do gain the racial bonuses and penalties however. This means that, for example, troll NPCs have a base fire resist of 5. Most base resists for NPCs however are 25 like players to start.
NPCs get a +10 bonus to resists starting at level 25 that players do not get. I had discovered this years ago but it's clearly in the decompiles and is evidence that NPCs used these resist functions. The function also shows that NPCs will gain resist from worn equipment as well as players.
35 is the standard resist value for magic, cold and fire resist for NPCs at or above level 25. The vast majority of NPCs in the game have this much resist value. The ones that do not are generally raid mobs or mobs with resistances to certain types (e.g. gire giants resist fire) which have additional resists added to them. The standard resist for NPCs under level 25 is 25.
15 is the standard resist value for poison and disease resist. These
do not get the +10 at level 25. Interestingly this makes disease and poison spells easier to land and I'm not sure why Sony did this. Perhaps because those spells are mostly all-or-nothing. In my discussions, when I say "standard NPC resist value" I usually mean 35, or 25 for low level NPCs, but technically it can change by race and PR/DR are lower.
If an NPC has a resist value higher than standard then it indicates that extra resist was added outside of this base resist function. When I parsed NPC resists on Live servers, I noticed that a lot of classic era raid NPCs ended up around 435 resist and I thought that was strange or possibly indicated that my methods were off. But I now understand why. NPCs have database fields which are something like "extra MR resist" and are added on top of the standard/base resists. So these raid bosses have a database resist value of 400 which then ends up at 435 due to NPCs running the same GetResist() functions that players use.
Knowing that allows us to better estimate NPC resist values. Parsing NPC resists results in an estimate with a margin of error. If the result is near a number like 85, 185, 335, 435 etc. then we can probably assume that those are the actual values, because they would be 35+50, 35+150, 300+35, 400+35.
435 (or +400 if you will) was the highest resist value I've parsed on classic and Kunark era raid NPCs, other than Vox which was probably increased later at some point. That value seems to have been used as 'immune' in that era but this may have been increased on September 4 2002, which I suspect happened and it may have been 335 (or something else) prior.
Changes Sony Made to NPC Resists Over Time
There are known cases of Sony having selectively modified the resist values of certain NPCs, although the details are little known.
During the Velious expansion Sony reduced NPC resists in at least two patches. This expansion was very melee-centric and Sony had to make adjustments so casters were more competitive.
Quote:
Originally Posted by April 17 2001 Patch Note
- We have reduced resistances to some spell types on some NPCs in Sky Shrine and the Tower of Frozen Shadow. This is the beginning of our overview of the resistances of NPCs in Velious.
|
Sony also
reduced NPC resists in the October 8 2001 patch. Abashi said this in a Developer's Corner post at the time:
"We’ve also reduced the resistances on a wide range of NPCs, especially for NPCs in Velious" although the patch note merely says "several NPCs". Part of the reason for this was because Sony added immunity flags for for certain spell effects, e.g. slow, so they could lower magic resist on bosses that were intended to be immune to these effects.
Just about everything if not everything that is immune to slow in that era parsed with an MR low enough for spells to hit (at least after debuffs), so we can assume that all of these had their MR reduced from something like 335 down to a lower amount. This is at least a dozen mobs and includes Tormax, Vindicator, Yelinak etc. Kunark and older NPCs seemed to have kept their old MR immune status and I can't think of one that didn't. Beyond that it's pretty much impossible for me to know what NPCs they reduced resists (i.e. cold and fire resist) on in this patch so unfortunately we'll probably be kept in the dark on this forever, although some old user comments might give clues to a handful of NPCs.
I did find one old comment about this patch that I think is worthy of quoting. He/she suggests that MR was only changed on mobs that were flagged slow immune and this sounds right to me:
Quote:
Originally Posted by Player Comment From Early Luclin Era
First the October resist patch was done after severals casters class complain about their dmg output. Only wizards with DB was able to do a significant Dmg to dragons.
In this patch IV reduiced resist check on fire and cold on most of the mobs in ToV ( Normals drakes, normal Vurms , Dragons).
They also reduiced resist check on magic for all the mobs who was 100% mr and they added a new concept (Mobs immune to slow). For all the dragons who were already slowable they DON'T changed the magic resist. (dagarn was one of those, he have the same MR pre and post patch).
In all the post you are making lately you seam to say , NToV was hell before this patch and a piece of cake after. You seam to say that it was not possible to slow any of those NToV Dragons.It is not true. Kreizen Eachen Ikatiar are the only dragons it is and it was not able to slow. About Vyemm it is not possible to slow him but it is not since the resist patch but since another and recent one.
NToV is almost the same Pre and Post patch. The only difference is that mage and druids can be effectives Dmg dealers .
|
https://web.archive.org/web/20020319...cID=2282.topic
It's also very likely that Sony increased NPC resists with the big September 4 2002 patch which doubled the resist roll. The reason is simply because it makes landing spells much, much easier if you double the roll but leave resists the same.
The first altered NPCs I noticed where in Halls of Testing. I had parsed Temple of Veeshan trash NPCs on Live servers and their MR ended up at 185 for almost all of them. If these were 185 MR when spell resists had a 0-99 roll, then landing slow on them would have required malo, tash
and occlusion, and one of my old 2001 logs shows that tash+malo was sufficient to land slows. They were however still getting resists after malo+tash which would rule out +100, so 135 pre-patch MR on these seems very plausible. It could have been somewhat more, like +60, but we're not realistically going to be able to narrow it down further without more logs turning up.
A peculiarity I discovered when I was parsing NPCs is the 435 resist values found on classic and Kunark raid NPCs. 435 is actually way higher than is required to make NPCs immune to spells in the old resist system. The immunity threshold is 151, and with unresistable malo + tash that's -85. Occlusion is a Velious song. 335 would have been more than enough to ensure immunity during Kunark and even Velious, even with a -40 level advantage. One problem with leaving them at 335 (if they were 335) would be that non-lure nukes would be able to hit these NPCs decently due to the new 600 scale, which is much larger than the previous 151 limit. I think there is a reasonable chance Sony raised the resists on these raid mobs to make non-lures not land well, then gave wizard lures large negative modifiers to allow them to hit. Wizard lures are -300 after all which is twice as large as a typical NPC AoE lure of -150. On the other hand, lots of Velious trash have 435 cold resist, and it seems somewhat unlikely to me that they'd have edited all those NPCs, so this theory is a bit flimsy and perhaps Sony always had them at 435.
Unfortunately Sony having modified NPC resists like this makes gating content on the emulators difficult if the old resist system were to be put in. It is however very important to look through and adjust NPC resist values downward where it looks likely to have been raised by Sony in the September 4 patch, otherwise stuff will be unslowable and resist far too much. I believe it most likely that Sony went back and raised resists by hand and did not do it algorithmically, which means to be accurate we must do the same, if the old resist system is used. Given that Sony completely neglected to apply no_partial flags to CHA 4 lures, I don't think Sony was particularly thorough about adjusting resists on NPCs either.
Velious Raid Boss Slowability
Slowability of raid targets is by far the most important consideration when adjusting resists, and is the most likely topic that would produce results when searching in old commentary. I believe the available data agrees with my hypothesis that resists were raised by up to 100. I parsed Velious NPCs for resists on Live servers:
Klandicar and Zlandicar have 235 MR
ST Warders have about 255 MR except Hraashna which has about 80. (these have a wider margin of error)
Dagarn the Destroyer has 255
Sontalak 195
Aaryonar 225
Lord Feshlak 195
Lady Mirenilla 210
Dozekar the Cursed 190
The Idol of Rallos Zek 245
Wuoshi 255
The Statue of Rallos Zek 260
Dagarn was known for being hard to slow. I parsed his MR on Live thoroughly to make certain it was 255. Because the resist roll increased from 0-99 to 0-199, the most obvious thing for Sony to have done is increase MR by 100 to maintain his hard-to-slow status. Lets assume they did that. Subtract 100 and you get 155 theoretical old EQ set resist for the NPC. Add 50 for level difference because it is level 70, the effective resist becomes 205 for level 60 players. Subtract 113 from debuffs (Malo, Tash, Occlusion), you get 92 effective MR and a 7% chance to land slow. This seems correct, and if the MR were any different then Dagarn would either be unslowable or easy to slow. I think this is fairly good evidence for my theory that Sony added (up to) 100 points of resist to certain NPCs on Sept 4 2002.
I found this old post regarding the Statue:
Quote:
Didnt have malo/mala last night...so I couldnt do it. Tash, puretone occlusion, malosini bounced 10+ times....after 5-6 mins I FINALLY got malosini to land...at that point clerics were close to oom and people were dropping like flies...after I got malosini to land I canni'd up just enuf mana for a turgurs...bounced.
Done the statue before, had malo and it seemed easy as pie.
|
https://web.archive.org/web/20050501...dex.php/t-1057
Subtract 100 points from Statue's Live MR, you get 160. Subtract Tash and Occlusion and the MR becomes 92, which results in a 7% chance to land spells. Most (but not all) of the mobs I list above were probably given 100 MR, and their other resists were also likely elevated.
Aaryonar is level 66, so the level difference modifier would be +18 MR for him vs. a level 60 caster instead of +50. So the effective MR would be 125+18=143 in his case. The resist rate (with malo and not malosini) would only be 31% after debuffs. This seems too low; old comments mentioning slowing him being reasonably difficult. I think his resists were increased by 50 instead of 100. The other NToV dragons have even less MR than Aaryonar, and after debuffs their resist level would be at the floor if you subtracted 100, so I think all the NToV dragons gained 50 instead of 100. Their secondary resists tend to agree with this as well.
NPCs can wear the items on their loot tables, but not always. Sony's content developers had the option of selecting which drops could be worn by the NPC and which couldn't. For example the Statue of Rallos Zek will never equip the Reaver but he will equip his one-handers which can make him quad attack. I parsed Aaryonar's MR twice and the results indicated that he gained 10 MR when he dropped his neck item. (the 2nd parse ended up at 235) This is a tricky thing to try and figure out and particularly for the First Brood dragons since they always drop a resist neck item. I did find some old commentary that Klandicar was sometimes hard to slow, which could suggest that he gained MR from wearing the armor on his loot table and Sontalak for sure could equip one of his weapons because logs show this. If Dagarn wore his robe he would become unslowable but I did not find commentary mentioning this anywhere. The Dagarn I parsed did not drop the robe. Other than Aary I did not check the loot of the other mobs to have any idea what they had.
Three of the ST warders also parsed to about 255 MR and they are the same level as Dagarn. Old webpages were not unanimous on their slowability but I think generally considered them unslowable. I have a few logs of Warder fights in 2001 that were entirely unslowed. This actually makes sense if you duplicate the Dagarn results, resulting in a 7% chance to land slow before you account for equipped loot. Warders were known to equip their loot, and primals have MR on them. This would be enough to make them unslowable unless the bard proc exploit were done.
Incidentally Cazic Thule after the Plane of Fear revamp in March 2001 was slowable for a couple of months before Sony increased his MR to an unslowable amount. They later applied the slow immunity flag on him and lowered the MR for magic nukes to hit.