- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone
Closes#18913Closes#11187Closes#15279
(cherry picked from commit cbbb74524623ea22fc5375697d6ec2ec16a1755f)
- Fixes certain situations in which the quest window would get stuck after completing a quest
(cherry picked from commit f0bf1fc77aa304ad278618aae25274ed46d308d5)
* In the existing core script, Willix the Importer in Razorfen Kraul says
"Help! Get this $n off of me!" (showing the $n part in his SAY text)
instead of naming the attacker when using his 'SAY_AGGRO1' creature_text.
* With this commit change, unit target is no longer missing for Talk,
making Willix name the attacking unit when he shouts for help.
(cherry picked from commit 6cc267d90918a0663f928db302ef1465f7952c61)
- They shouldn't be saved in db
- Prevented temporary spell removal after a save
Closes#14373
(cherry picked from commit 7ffe0563664c2ed5ba90832dcc42bc15acc177c3)
- Affects 3 aura effects currently, should be rewritten with GetTotalAuraModifier maybe?
(cherry picked from commit d44a44abacdf3f9fabc37e62806970f97e06332b)
- This commit enables stack rule 3 to be properly used to fix auras that should be active but only one providing effects, even if the spell has multiple auras
Closes#19454
(cherry picked from commit 9900899dd9d7f685a1c862bc75e7614e3f0a3ce6)
- Fixes applying DR to positive effects, and changing duration of whole aura
Closes#19447
(cherry picked from commit 232e631390a504b51d82a7b678b7cf26d49d182a)
- Rather update normal instance reset time to 2 hours after last creature kill
- This fixes yet another integer overflow due to the possibility of having time_t max showing up
- Also change respawntime and resettime fields to bigint on respawn/instance related tables
- Start using prepared statements on the InstanceSaveMgr
(cherry picked from commit 4c593f12caa162c1bfb831bdbed934bb39155ddb)
* Created Item Loot Storage, no more synchronous DB selects
* Fixed buyback case, where stored loot was not removed from db
* Added Primary key, and changed field types to be unsigned for table item_loot_money
(cherry picked from commit 9dc3de10f0044c35a95e9b72e7b874f4b5b8e867)
- Removed Unit::GetUnitMeleeSkill as it was basically a copy of GetMaxSkillValueForLevel
- Removed static from GetEffectiveResistChance, as this was passed anyways, changed name to CalculateAverageResistReduction, which better reflects what it does
- Fix melee miss chances calculated from attacker maxskill instead of victim maxskill
- Do actual checks if spell can be resisted/missed in MagicSpellHitResult (ie chances > 0)
- Fixed SPELLMOD_RESIST_MISS_CHANCE calculation in MeleeSpellMissChance
- Minor codestyle and cleanup of diminishing returns calcs
(cherry picked from commit e565b34f6d24411e210151d0d03e524f94cdff85)
Use own movement generator for creatures following on a formation.
First step of implementation, huge room for improvement.
Closes#19422
(cherry picked from commit 46221b6dc1272989e0de85a4563fc49dba8e7851)