20 May 2022
MQ2Main.dll
(RoF2)
Repaired a crash when you would use /buyitem. The Merchant Window mapping was msialigned by 4 bytes. While I was in there I also reviewed all the pointers to the various window elements and found that there were some elements mapped that didn't really exist in RoF2 so those were also removed.
Also, ${Item.ItemLink[CLICKABLE]} wouldn't return a clickable link. This was because that was a later added feature. I just cut that piece of code out of a more contemporary build and added it to our RoF2 Baseline.
MQ2ItemDisplay.dll
(RoF2)
When you would inspect an item that had a spell effect, it would show that most every class could use the attached spell at level 255. E.G., "Warrior(255), Cleric(255), Rogue(255)... etc.". MQ2ItemDisplay basically had this code to decide when to print a class and the spell level:
IF (SpellLevel <= MAX_PC_LEVEL) THEN PRINT Class and SpellLevel
This is because the EQ client uses 255 as a flag to identify that a spell cannot be used by a class. In otherwords, if you checked what level a Warrior can use Complete Heal, it would show 255. 255 is less than the max character level, so it wouldn't print.
Awhile back I modified the MAX_PC_LEVELto 255. Once this max level was set to 255 it would falsely identify unuseable spells, marked with 255, as actually useable by level 255 characters. I made this change:
IF (SpellLevel < 255) THEN PRINT Class and SpellLevel
I changed less than or equal to a plain less than. Also, we just need to filter out spell levels & classes marked with a 255. So, I removed the MAX_PC_LEVEL reference and hardcoded 255 because the 255 really doesn't represent a level here, it's simply a semaphore meaning the spell isn't available for this class so it doesn't need to be married to that constant.
MQ2HudMove.dll
(RoF2)
Added this plugin by request.
Sun May 22, 2022 3:52 pm
Project Lead