Fix a crash with spell 33499 - BIG thanks to Shauren for finding the reason of this crash
Corrections in managing stacked auras which change unit model.
1) Fix Leeching Swarm damage and create spell difficulty links to code. Closes issue #4909 .
2) Fix Valkyr's Touch. Closes issue #4553 .
3) Fix Permafrost aura difficulty check.
4) Reduce Slime Pool damage range.
5) Avoid Shaman Champion Heroism spam using 5 minutes (CD) as timer.
6) Fix many spell target selection to only select players (no more totens or pets).
7) Fix Anub'arak Spike being able to receibe the permafrost aura in order to cast spike fail, hopefully.
It is assumed that VehicleSeatFlagsB & 322 means the seat can be used indirectly (ie. by aura 236 (SPELL_AURA_CONTROL_VEHICLE)) even though !(VehicleSeatFlags & VEHICLE_SEAT_FLAG_USABLE).
More research to be done Soon (tm).
--HG--
branch : trunk
NOTE: Initially I just wanted to fix some warnings, but noticed that there is no common method for percentage calculation and various formulas are used many time in the code making it difficult to read and understand what the code actually does. So, I introduced several template methods for calculating percent values and adding those values to the original base. I replaced all the raw calculations throughout the code where found, but I could have missed something or could have made a mistake. So, please report any strange behaviour after this commit.
If you ask me why I did it: for the sake of consistency and exact understanding what code means. If you see CalculatePct method, you clearly understand, that it find the value of x percent of y. And you can easily express, for example, spell behviour "reduces smth by x%" by the means of a method instead of recalling school maths.
--HG--
branch : trunk
- Redesigned stealth and invisibility handling
- Implemented the handling of multiple stealth types
- Implemented fake inebriation
- The message deliverer no longer sends packets from a non-visible source
- The server won't send that much garbage which just takes bandwith
- It won't be possible to use cheats to detect invisible objects
- Removed a lot of checks for the Z-coord
- Fixes visibility problems happening while flying
- Limited the grid activation range of creatures to use less resources
- Implemented Shroud of Death
- Implemented increased visibility range for active objects
- Removed visibility check at spellhit (only sanctuary effects should prevent it)
(And a lot of other changes...)
Closes issue 4208
Closes issue 3049
Closes issue 2097
Closes issue 2198
Closes issue 2384
Closes issue 2197
Closes issue 2319
--HG--
branch : trunk
Scripts/Icecrown Citadel: Festergut will not cast Vile Gas on melee targets if there are at least 3 (25 man: 8) ranged targets
Scripts/Icecrown Citadel: Festergut and Rotface gates will close with delay (when Putricide reaches the balcony)
Scripts/Icecrown Citadel: Replaced ASSERT(instance) with code disabling the AI if not inside instance
Core/Spells: Fixed TARGET_DEST_TARGET_RANDOM usage
Core/Scripts: Extended DamageDealt in AI to accept damage type as 3rd parameter
Scripts/Quests: Fixed quest "Unholy Infusion" (24749)
--HG--
branch : trunk
Scripts/Icecrown Citadel: Fixed Professor Putricide gate opening when both Rotface and Festergut are dead
Scripts/Icecrown Citadel: Added script updating entries of NPCs at Light's Hammer depending on faction
Scripts/Icecrown Citadel: Rotface should not pick main tank as target for Slime Spray (removed debugging code)
Core/Spells/Conditions : Spell script target condition now accepts ConditionValue3 as affecting effect mask (only search targets with matching mask)
--HG--
branch : trunk
extra : rebase_source : 943e3bac5d9063974d7f7132f144e91946f825d4
- Add more descriptive enumerator of procflags - now clearly pointing out that proc flags are dependant to the spell dmg class of the spells causing procs.
- Define and implement PROC_FLAG_DONE_MAINHAND_ATTACK.
--HG--
branch : trunk