Open Alessandro-Barbieri opened 2 months ago
Oh wow that would be helpful.
Without thinking too hard about it I think simple text file with each immunity on a new line formatted as such would be fine:
[] brackets would be required, and {} brackets would just be when needed
eg.
Couple notes:
don't spent too much time formatting if its an issue, feel free to just log dump for me to pick through when I have the time
some immunities from the combat log will be because of certain abilities, not innate immunities (paladin mobs casting bubble on themselves)
if you navigate to the AddOns\ClassicImmunities\ClassicImmunitiesDatabase.lua file, you can see how the database is currently being used. You can add NPC ids to test your changes locally if you want (you can even add an entirely new 'fake' immunity for testing by copy pasting one of the existing immunities)
What is a reverse immunity?
It is a term I use to describe things that should be immune, but are not. There are only handful of cases in the game.
eg.
Pickpocket generally only works on humanoids (so it will show everything else as immune), but some demons like satyrs can be pickpocketed. In these cases we need to update the database to say 'no, it is actually not immune'.
There are also the cases where there are humanoids that can't be pickpocketed.
I made a file here https://gist.github.com/Alessandro-Barbieri/96e2c404883cc73dac42f2d6d0055497
"ni" means not immune to (list of spellid) "i" means immune (list of spellid) in some cases there might be some spell listed in both immune and not immune (e.g. when using banish)
It will take me some time to comb through the data.
I wouldn't worry about trying to do a catch-all solution as there are too many things in the game that I am not worried about.
For example the first entry in the data: npc - 8525 - Sourge Warder in Eastern Plaguelands spell - 12169 - Shield Block (it was cast by the NPC itself)
We don't really need to note that the mob is immune to a spell like shield block (that does not damage) but was also cast by itself.
What I will do when I have time is lookup in your data set spell ids we care about and already track (the ones in ClassicImmunitiesDatabase.lua) and see if I can find any that apply.
For that npc there is a list of spells it's not immune to
I'm preparing a database of immunities extracted from the combat logs Do you want it in a particular format?