- Spell attributes research
- Container optimization
- Do not skip damage immunity checks on SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY present
- Added additonal arguments support to SendCastResult / CheckCast, spells can now send proper error messages
- Loads spell immune masks/states/effects at startup.
- This cached info is used whenever a spell cast requires immunities to be known beforehand (to see if an aura could be applied for example)
Closes#16658Closes#16901Closes#18114
(cherry picked from commit 50a3ce5703)
Core/Spell: fix warning
(cherry picked from commit 3588ff894b)
Core/Unit: misc codestyle
use typedef for constant reference
(cherry picked from commit 7943150dcb)
Core/Spell: Fixed immunities for some spells (they were broken before rewrite too)
- Warlord's Presence, Uncontrollable Frenzy, Free Friend
- Overload, Lightning Tendrils
- Fervor, Berserk
- Determination
(cherry picked from commit fc6844173f)
Core/Spell: fix typos
(cherry picked from commit f060efbdb4)
Core/Unit: improved handling of some spell attributes
- SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE
- SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE
- SPELL_ATTR3_IGNORE_HIT_RESULT
(cherry picked from commit 352c84943c)
Core/Spell: fix typo
Closes#18248
(cherry picked from commit 1ad9c7d3fd)
Core/Spell: perform charmer check against player controlling unit. Fixes spellcasts while charmed
(cherry picked from commit 425f6c3c34)
Core/Unit: don't use damage immunity to calculate hit result for the whole spell. Should be used only for damage
(cherry picked from commit 9f5df023b7)
Core/Spell: fix a potential null dereference crash
(cherry picked from commit 64304d8b2b)
* Required for handling flags inherited by linked projects
correctly in the corresponding precompiled header.
* Reduces the maintenance effort for precompiled headers
(cherry picked from commit 92f96fc10e)
* Remove the usage of global flags and definitions
set through the CMAKE_CXX_FLAGS variable.
* Use cmake target compile features for setting the
CXX standard automatically.
* Make C++14 globally available in the project
* Closes#21033
(cherry picked from commit e60c1f84a7)
* Core/Loot: Fix master looting of conditional items
follow_loot_rules was a flag intended to force certain quest items to be
master looted. It should not be used for the
NonQuestNonFFAConditionalLoot.
The flag was originally introduced in 869ea349
"Core/Loot: fix the way quest items are handled. so far ive only found 3
quest items that should be able to be masterlooted. added a new flag to
item_template.flagsCustom to allow for making a quest item always follow
loot rules. a bonus may be the fix of the handlelootmasteropcode crash!"
* Core/Loot: Rename QuestItem to NotNormalItem
QuestItem struct was being used for quest items, ffa items, and
conditional items. Renaming it to avoid confusion when working with ffa
and conditional items
* Core/Loot: Use existing AddAllowedLooter rather than reaching into allowedGUIDs directly
* Core/Loot: Rename NotNormalItem to NotNormalLootItem
(cherry picked from commit f5d3343f27)
# Conflicts:
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Loot/LootMgr.cpp
# src/server/game/Loot/LootMgr.h
Implement boss script for Archmage Arugal
- add yells used in boss event to DB
- use proper spells instead of only melee fighting
- add DataType in shadowfang_keep.h
- add event scheduling in the script
By Riztazz
Closes issue #17916
(cherry picked from commit 2b26894eb1)
Move from cpp to db, also added some missing detail
(cherry picked from commit cefed89c38)
Remove obsolete file
(cherry picked from commit 9be0362606)
Remove reference to eastern plaguelands script
(cherry picked from commit 1fc8e2d5f2)