- Unit::CalculateSpellDuration split into two functions
- CalculateSpellDuration taking into account combo points and caster-side spell mods
- Unit::CalculateAuraDuration taking into account target-side spell mods
- Diminishing is now applied before duration reduction mods
- Implement saving per-effect periodic timers to DB (required for auras affected by haste)
Note: spell 62105 are still considered to be negative, despite explicit exception added in IsPositiveEffect and will unexpectedly put caster in combat.
Signed-off-by: NoFantasy <nofantasy@nf.no>
* Higher ranks are now automatically filled when not listed in spell_threat
* Added some loading checks to detect inconsistent data
Signed-off-by: Lynx3d <lynx3d@some-imaginary-isp.org>
Target selects all gameobject around destination, limited by adding spell with a corresponding gameobject entry in database table spell_script_target.
Signed-off-by: NoFantasy <nofantasy@nf.no>
note* spell will need data in spell_script_target to work properly.
note* the effect of 56511 does not work, see comment in code for details (code added in any case, to not forget the problem)
Signed-off-by: NoFantasy <nofantasy@nf.no>
Without any database entries for spell, spell will work like before.
Valid targets filled to database can only be creature type (corpse or alive).
Signed-off-by: NoFantasy <nofantasy@nf.no>
Original patch provided by Wojta
Note: From patch excluded talent 44543 and ranks stacking code.
It look like need another implemention different from suggested,
or at least more research.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
In patch added enum IgnoreUnitState and related checks now more cheating protected.
Thanks to insider42 for prepering patch for mangos repo.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also added loading check for redundant ap/ap_dot data in table.
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.
In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
* Drop some food action buttons
* Drop attack spells for caster classes
* Use expected simlifed spell version 20154 (it replaced by full version at learn spell 53408 and similar)
In code used helper code for support 2 versions as fake non-stacking ranks.
* Some other old "max ranks" of talents and spells now are permanent bonuses known from start (only "max rank" for spell exist)
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Drop now redundant part of data from `spell_chain`.
* Allow store in spell_proc_event cusom ranks data for ppm for chained ranks.
* Drop now redundant part of data from `spell_proc_event`.