Commit Graph

348 Commits

Author SHA1 Message Date
ariel-
2b0c73960b Core/Spell: unified handling of SPELL_ATTR5_USABLE_WHILE_* attributes
Allowed mechanic mask is calculated on startup and auras checked against those mechanics
Closes #18798

(cherrypicked from 3544577e48)
(cherrypicked from 53eb6ec616)
2019-06-15 18:41:09 +02:00
Shauren
bcaaa3d6f6 Core/DataStores: Updated db2 structures to 8.1.5 2019-06-08 17:10:00 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
Shauren
d5992f7711 Core/Spells: Add missing spell and aura effect handler array entries
Closes #23015
2019-02-04 16:47:41 +01:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren
83bc1cbe64 Core/Spells: Improved spell value calculation - variance will not be applied to spells with forced basepoints from CastCustomSpell 2018-12-07 18:26:26 +01:00
Shauren
fb817ed24b Core/Spells: Fixed spell effect value calculation 2018-12-04 20:18:14 +01:00
Shauren
7512ffb058 Core/Entities: Update updatefields to 8.0.1.27980 2018-10-10 22:11:41 +02:00
Shauren
0277437eb4 Core/Spells: Defined new spell effects 2018-09-27 21:03:49 +02:00
Shauren
a6fb448b44 Core/DataStores: Updated hotfix database structure
* Updated handling for removed db2s
2018-09-26 23:08:22 +02:00
Shauren
573dd01c6c Core/Spells: Updated spell effect value calculation 2018-09-17 23:30:58 +02:00
joschiwald
aed52529be Core/Spells: Implemented optional power cost
Closes #18348
2018-05-12 12:49:12 +02:00
ariel-
be4670250d Core/Spell: added some helpers to SpellInfo to reduce code duplication
(cherry picked from commit 14c2b2d6cd)
2018-03-18 00:19:46 +01:00
ariel-
9fe172d7d5 Core/Spell: reverted changes for NO_TARGET handling
Partial revert of 584d347b70

Closes #18666

(cherry picked from commit 8ffcb4ddcb)
2018-03-18 00:19:45 +01:00
ariel-
b03a2c3736 Core/Spell: Prevent NO_TARGET auras from actually selecting target (same as caster)
- Fixes an issue with generic mount scripts where the dummy aura was applied and removed then the real mount was applied
- Pets would be unsummoned, resummoned and unsummoned again in an instant

Closes #16783

(cherry picked from commit 584d347b70)
2018-03-18 00:19:43 +01:00
Shauren
007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
ariel-
b80600f88a Core/Spell: add an exception for Cyclone ignoring it's own immunity using dispel type
- Unsure of what is the correct check, most generic thing I could make

Closes #18479
(cherry picked from commit 452ef146f4)
2018-03-12 16:39:43 +01:00
ariel-
536ae257c9 Core/Spell: partial revert of SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE immunity handling
- Bonus: without breaking Banish... yay!
Closes #18370
(cherry picked from commit 560c882b36)
2018-03-12 16:39:40 +01:00
ariel-
8864a03802 Core/Spell: Undefined SPELL_ATTR7_USABLE_IN_STUN_FEAR_CONFUSION attr for now
- Some function renames
- Used in some client checks but not 100% sure of its usage (eg in CGUnit_C::CheckAndReportSpellInhibitFlags but not in  Spell_C::IsUsableAction)
Closes #18366
(cherry picked from commit 77a08ad73c)
2018-03-12 16:39:35 +01:00
ariel-
749f3422bb Core/Spell: do not downscale certain auras
(cherry picked from commit fc1c15781a)
2018-03-12 16:39:34 +01:00
ariel-
20c9486ab0 Revert "Core/Spell: Magic Absorption Calculation"
This reverts commit fb52e69169.
(cherry picked from commit 343c2fbf52)
2018-03-12 16:39:33 +01:00
Shauren
75603fe1a0 Core/DataStores: Updated db2 structures to 7.3.5.25996 2018-02-18 16:33:50 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
ariel-
5bcf14cdb8 Core/Unit: damage immune improvements (9f5df023b7 follow up)
- Handling checked in sniffs: Spell 63710 Void Barrier vs 49143 Frost Strike
  * Send spell miss immune only if spell consists of damage effects
- Checked with 348 Immolate:
  * No packets sent if damage immune, aura is applied normally

Also... who the fuck uses 0 to compare against pointers

(cherry picked from commit ca1c4525c7)

Core/Unit: fix build

Ctrl-S failure
(cherry picked from commit f3bdd705c0)
2017-12-30 22:56:48 +01:00
joschiwald
f00f3c414e Core/Spells: Removed obsolete code 2017-12-30 20:44:26 +01:00
Shauren
7bb62cd23d Core/DataStores: Updated db2 structures to 7.3.2.25480 2017-12-30 00:26:37 +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
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
Shauren
45d3ecc15f Fixed nopch build
Closes #21097
2017-12-22 11:00:26 +01:00
Shauren
e86a2c439a Core/Auras: Implemented using all aura interrupt flag fields 2017-12-17 16:45:50 +01:00
Shauren
9b6be90b2b Core/Spells: Fixed shapeshift location check 2017-12-11 20:40:32 +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
Shauren
331c70e695 Core/Players: Fixed DK runes and runic power
Closes #19595
2017-11-12 02:42:06 +01:00
joschiwald
cd6adad7ae Core/Spells: Updated diminishing returns 2017-10-31 18:28:10 +01:00
joschiwald
e6f8821bd0 Dropped obsolete code added in 2d75d8071b 2017-10-03 22:15:41 +02:00
ariel-
caf47b846f Core/Spells: mark Arcane Missiles aura as negative. Was downranking the spell when targetting low level mobs due to effect 1 flagged as possitive.
Closes #12152

(cherry picked from commit 2b9f807fd9)
2017-10-03 21:14:28 +02:00
ariel-
2d75d8071b Core/Globals: compute aura diminishing return info at startup and cache it
Core/Entities: Save diminish return on an array instead of a linked list

(cherry picked from commit 9b0fa51022)
2017-10-03 20:53:49 +02:00
Shauren
99346b78c5 Core/Spells: Fixed calculating spell value for spells with SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING
Closes #19987
2017-09-04 00:09:37 +02:00
Shauren
c2f4a7a17e Core/Spells: Removed unexplainable duration limit from SpellInfo::GetMaxTicks
how is a number greater than 30000 200% larger than ...? larger than what
2017-08-30 23:35:55 +02:00
ariel-
c7cd9102d3 Core/Globals: cache SpellSpecific and AuraState information instead of computing them each time they're needed
(cherry picked from commit ce45e1bf95)

# Conflicts:
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/game/Spells/SpellInfo.h
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/game/World/World.cpp
2017-08-26 23:23:32 +02:00
Shauren
c9fe75d57c Core/Transmog: Missed part of fd73bedd73 2017-08-24 22:43:37 +02:00
joschiwald
7e4f607851 Core/Spells: Renamed SPELL_EFFECT_CREATE_MANA_GEM to SPELL_EFFECT_RECHARGE_ITEM 2017-07-29 18:01:12 +02:00
joschiwald
b9c3608259 Core/Spells: Defined TARGET_GAMEOBJECT_CONE_109
Also removed some wrong SpellInfoCorrections
2017-07-27 16:32:57 +02:00
joschiwald
be7486fddb Core/Spells: Renamed TARGET_DEST_UNK_110 to TARGET_UNIT_CONE_ENTRY_110 2017-07-18 16:31:23 +02:00
joschiwald
ae070a1b64 Core/Spells: Implemented ConeAngle from DB2 2017-07-18 15:16:32 +02:00
Golrag
ae83739ac7 Core/Players: Implement basics for the honor system
Closes #18480
Closes #19277
2017-06-04 16:52:53 +02:00
Golrag
2922c23783 Core/Spells: Implemented SPELL_EFFECT_PLAY_SCENE (#19836) 2017-06-04 15:07:34 +02:00
Shauren
b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
Shauren
c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00