Commit Graph

11631 Commits

Author SHA1 Message Date
joschiwald
b17aa07409 Fixed nopch build 2017-12-26 19:13:33 +01:00
ariel-
5a91e1e31b Core/Spell: revamp of immunities system
- 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 #16658
Closes #16901
Closes #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)
2017-12-26 17:11:18 +01:00
joschiwald
03082db810 Core/Spells: Glyph of Desperation/Pain Suppression has been removed 2017-12-26 12:59:36 +01:00
Treeston
2a08556273 Core/Unit: For convenience, explicitly redirect CastSpell with nullptr as first argument to the Unit* overloads. No more ->CastSpell((Unit*)nullptr, ...) all over the place!
(cherry picked from commits c7896f3102 and 40c78cac4c)
2017-12-26 01:10:26 +01:00
Shauren
61ca3d6235 Core/Crypto: Refactor RSA encryption to use openssl functions instead of doing it manually 2017-12-25 21:41:34 +01:00
joschiwald
b12878cb5a Fixed build 2017-12-25 11:18:04 +01:00
ariel-
7bb6897a3c Core/Spell: move attribute helpers to spellInfo
- Renamed CheckEffectExecuteData to AssertEffectExecuteData and made const, better reflects its purpose
- Added missing attribute check to IsNextMeleeSwingSpell
- Reworked SPELL_ATTR4_CAST_ONLY_IN_OUTLAND attr check (researched behavior)

(cherry picked from commit 5cb8409f1e)
2017-12-25 10:42:20 +01:00
ariel-
8aa7b85ed2 Core/SpellMgr: overwrite dbc range for Unleashed Souls
Closes #17968

By sirikfoll

(cherry picked from commit 70a867531d)
2017-12-25 10:23:00 +01:00
joschiwald
13726438da Core/Spells: Moved applying exclusive aura spells to scripts 2017-12-24 18:31:29 +01:00
joschiwald
439ac5756c Core/Spells: Implemented spells causing Forbearance
Ref #20937
2017-12-23 13:45:50 +01:00
Shauren
45d3ecc15f Fixed nopch build
Closes #21097
2017-12-22 11:00:26 +01:00
Naios
1285347518 Build: Inherit the features and warning flags privately 2017-12-20 04:04:28 +01:00
Naios
964d6bd1b2 Build: Use the cotire library for precompiled header handling
* 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)
2017-12-20 04:04:27 +01:00
Shauren
e86a2c439a Core/Auras: Implemented using all aura interrupt flag fields 2017-12-17 16:45:50 +01:00
Shauren
55350b1f4e Core/Auras: Updated mount capability check and implemented SPELL_AURA_MOUNT_RESTRICTIONS 2017-12-12 23:53:15 +01:00
Shauren
9b6be90b2b Core/Spells: Fixed shapeshift location check 2017-12-11 20:40:32 +01:00
joschiwald
2362abbce0 Fixed build 2017-12-10 20:26:05 +01:00
ariel-
54d0b31c40 Core/Spell: reimplemented TRIGGERED_DISALLOW_PROC_EVENTS trigger flag
Triggered spells shouldn't chain-trigger other spells

Closes #18217

(cherry picked from commit bb8763534e)
2017-12-10 18:42:40 +01:00
ariel-
4b1165af45 Core/Entities: add yet another utility overload to CastSpell, fixes AppVeyor build
Ninja NULL->nullptr cleanup

(cherry picked from commit 44ea63e34d)
2017-12-10 18:40:18 +01:00
ariel-
a1ebc312ec Core/Spell: fix interaction of on taken damage procs with triggered casts
DB/Spell: Seal of Righteousness proc
- Lightining and Water Shield should proc with triggered

Closes #18211

(cherry picked from commit ed49626c22)
2017-12-10 18:39:49 +01:00
ariel-
70a89debfe Core/Spell: make a distinction between triggered flags with debugging purposes, and don't use them when casting triggered spells
Fixes #9721 (also other spells affected, example Threat of Thassarian, Stormstrike)

(cherry picked from commit 85143f305d)
2017-12-10 18:37:00 +01:00
ariel-
35219e098b Core/Gameobject: remove immune flags from trigger used to cast GO spells
Spells were failing flags check in Unit::_IsValidAttackTarget

Closes #18206

(cherry picked from commit 1ae3da101c)
2017-12-10 18:35:14 +01:00
joschiwald
906f3e459c Core/Spells: Fixed typo in SpellMgr::LoadSpellInfoCorrections 2017-12-10 18:32:28 +01:00
ariel-
eb2b0151a4 Core/Spells: do not add PROC_HIT_NORMAL/PROC_HIT_CRITICAL flags if damage is fully nullified
- Aka: full absorbs/full resists/full blocks/immune

(cherry picked from commit 2e457b3be4)
2017-12-10 18:25:47 +01:00
ariel-
02b4dc5512 Core/Spell: apply SPELLFAMILY_GENERIC mods to all spells by default
Closes #18160

(cherry picked from commit 4f1ef6985e)

# Conflicts:
#	src/server/game/Spells/Auras/SpellAuraEffects.cpp
#	src/server/game/Spells/SpellMgr.cpp
2017-12-10 18:16:47 +01:00
Richard
6c54fbbb03 [3.3.5] Core/Loot: Fix conditional Master Loot (#17943)
* 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
2017-12-10 17:59:58 +01:00
treeston
1b7fb624d3 Core/Creature: Correctly reset pathfinding capability on respawn. Prevents evade chains on some bosses. Closes #18188.
(cherry picked from commit aeb5762170)
2017-12-10 17:30:00 +01:00
joschiwald
eee5a4f248 Core/Misc: Removed Death knight creation restrictions
Closes #20987
2017-12-10 12:40:13 +01:00
joschiwald
b7797607e0 Core/Spells: Spells with TARGET_SELECT_CATEGORY_NEARBY requires a valid target (#20954) 2017-12-10 10:30:21 +01:00
DantestyleXD
23a66baab1 Core/BattlePets: Add battle pets to pet journal when learning related spells (#21023) 2017-12-04 19:45:27 +01:00
Traesh
422ad436c7 Core/Scripts: Added new QuestScript hooks (#20950)
* OnQuestStatusChange and OnQuestObjectiveChange
2017-12-04 17:35:37 +01:00
Ovah
a6bdb75d0b Core/Auras: Implemented PROC_HIT_INTERRUPT (#21015) 2017-12-01 23:31:51 +01:00
Aokromes
96435d55ef Misc: Move startup error to DBErrors 2017-12-01 15:20:35 +01:00
DantestyleXD
3846d7a51d Core/Creature: Define battle pet npcflag (#20986) 2017-11-28 21:01:46 +01:00
Shauren
107ed5dc99 Build fix 2017-11-28 00:09:22 +01:00
Ovalord
1b16534e21 Core/Quests: Implemented quest popups 2017-11-28 00:04:03 +01:00
Shauren
839e13d511 Core/Items: Fixed saving item after unlocking 2017-11-26 23:38:17 +01:00
SnapperRy
448ccc2b9e Core/GameObject: spawn linked traps at gameobject creation instead of using DB spawns. (#18172)
Closes #11328.

(cherry picked from commit a38c094a11)
2017-11-26 22:22:24 +01:00
Aokromes
90badf9d7e Misc: More cleanup 2017-11-25 02:50:29 +01:00
Aokromes
8d514fb031 Misc: Kill trailing white spaces 2017-11-25 01:39:02 +01:00
Seyden
95b194f3f8 Core/Auras: Fixed rppm proc chance calculation (#20962)
* LastAttemptTime was reseted before it could have been taken into account for chance calculation
2017-11-23 22:35:42 +01:00
Aokromes
dda7d89445 Core/Spells: Remove one char breaking hotswap 2017-11-23 22:21:36 +01:00
Hadifaren
cc7c3f8d7d Core/Spells: Implemented SPELL_AURA_MOD_MAX_POWER 2017-11-22 12:35:00 +01:00
joschiwald
3a254dd0da Fixed another mistake in c6881bd8a4
Thx @zorix
2017-11-19 19:45:20 +01:00
joschiwald
9a9d4aa528 Core/Creature: Corrected aggro radius calculation after ea99801cd6 (#20924) 2017-11-19 16:30:54 +01:00
joschiwald
f9067f2aab Core/Auras: don't save auras casted by items
* Core/Auras: don't save auras casted by items

- This type of auras (like Water Bucket, Precious Ribbon, etc) will be recasted on login anyways.

This reverts commit 16cfd59f5b

(partial cherry picked from commit e84dfff4ce)

Core/Auras: fix elixir aura saving

(cherry picked from commit 697147a596)
2017-11-19 16:25:30 +01:00
funjoker
465012978f Core/Scripting: Implemented Conversation scripts (#20758) 2017-11-18 12:40:56 +01:00
Ovah
ea99801cd6 Core/Creature: Reworked creature aggro radius calculation (#20615)
* Core/Creatures: rewrote creature aggro radius calculation
* Formulas are taken from WoW Wiki
2017-11-15 21:56:15 +01:00
Shauren
9ace570b92 Core/AuctionHouse: Fixed item dupe exploit 2017-11-14 19:59:58 +01:00
Shauren
ebf085a9bf Core/Players: Deleted some ancient (and unused) dk rune code 2017-11-13 23:30:33 +01:00