Also
* Use typename for mail item info vector.
* Include tools/characters_mail_items_cleanup.sql for cleanup lost mail items.
It also included as sql update part. Sql update also fix receiver for stored
in DB expired mail items.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This just move parts of existing code from TriggeringLinkedGameObject and does not affect summoned trap type GO's (or related to summoned).
Signed-off-by: NoFantasy <nofantasy@nf.no>
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>
Also implement skip spell effects redirecting if magnet target can't be
targeted by this spell effect base at spell effect target data requirements.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
There's just too much garbage in dbc...
Should restore some damage school based talents broken with [10830],
hopefully without excessively triggering other spells again that shouldn't.
Specailly example Aura::HandleModCharm code where old code
call RemoveSpellsCausingAura or (a) dead and not called,
or (b) will remove aura self at call.
* Added safe for aura holder context version of RemoveSpellsCausingAura
* Cleanup old simple RemoveSpellsCausingAura code also.
Now only spells that actually deal damage or heal will trigger
when neither SpellFamilyName nor ProcEx & PROC_EX_EX_TRIGGER_ALWAYS are set.
Before, setting a SchoolMask would override this check, causing many bogus procs.
* Move SPELLFAMILY_* to DBCEnums.h and name it as SpellFamily
* Use enum in Unit::GetAura, move family mask code to new SpellEntry helper function.
* Avoid all auras scan in search of triggred spell for 20243.
Fix some bugs when all uint32 field modified instead byte parts.
In some cases added byte way set/get but code line itself need additinal reserch/fix
for use correctness in line pos.
* Always use QuestStatus data for current counters set
This let be sure that that we not have non sync values in client view and server state.
* Remove some access functions for quest update fields that expected to be only updated/set.
* Now no correct way access to internal structure of guid in uint64 form.
For this always must be used ObjectGuid form.
* Guids in uint64 form still used in some cases (many) but it uses as-is
Main source of uint64 guids is non-converted opcode handlers.
* Also ofc, possible cases wrong created uint64 guids by assign uint32 to uint64.
For catch all cases need finish convertion to ObjectGuid all non-converted yet code.