Commit Graph

2046 Commits

Author SHA1 Message Date
ariel-
4e08ab8f69 Core/Auras: calculate periodic bonuses before specific mods, fixes Imp. Devouring Plague damage
(cherry picked from commit bd49d37258)
2018-03-12 10:32:06 +01:00
Chaouki Dhib
91a70f9aa2 Core/Movement: minor MotionMaster refactor (#18367)
(cherry picked from commit eca3645d8b)
2018-03-12 10:32:04 +01:00
ariel-
8491172cd4 Core/Spells: proc spells after damage apply, not before. Fixes #13025
(cherry picked from commit 0229cb865e)
2018-03-11 17:08:50 +01:00
DoctorKraft
58930d273f Core/Players: Fixed mounts using MOUNT_FLAG_SELF_MOUNT flag (#21558) 2018-03-05 19:20:42 +01:00
Jeremy
f411b7a90e Core/Player: Implement PvP Talents (#19962)
* SPELL_AURA_119 -> SPELL_AURA_PVP_TALENTS
* Learn Honorable Medallion when pvp rules are enabled
2018-03-04 22:32:08 +01:00
Mihapro
16a7a414ab Core/Creatures: Updated power type handling (#20981)
Closes #17476
Closes #12487
2018-03-04 12:48:22 +01:00
Shauren
75603fe1a0 Core/DataStores: Updated db2 structures to 7.3.5.25996 2018-02-18 16:33:50 +01:00
Shauren
27cdd4b257 Core/Spells: Fixed logic related to movement while channeling
Closes #18289

(cherry picked from commit 90a5811701)
2018-02-11 15:06:24 +01:00
Shauren
f963b8a225 Core/Spells: Removed outdated mechanic (spell downranking coef penalty) 2018-01-27 12:21:35 +01:00
ariel-
d9f74278f7 Core/Unit: do not allow judgement spells to bypass damage immunity
3f19eea5e4 follow-up. Without the #16658 regression

(cherry picked from commit c5d1b46569)
2018-01-21 15:15:35 +01:00
ariel-
2c022a5aa8 Core/Entities: fix interaction of traps with ffa pvp and sanctuary flags
- Traps should select ATTACKABLE not UNFRIENDLY targets (it shouldn't attack unfriendly targets on sanctuary zones for example)
- Made more readable the nasty oneliner in Unit::_IsValidAttackTarget

Closes #6464
Closes #18271

(cherry picked from commit ef227d7e64)
2018-01-21 14:51:49 +01:00
Seyden
9c857a1b91 Core/PacketIO: Fixed SMSG_SPELL_NON_MELEE_DAMAGE_LOG struct 2018-01-14 21:49:42 +01:00
joschiwald
ed318fdc46 Core/Battleground: Dropped battleground texts from trinity_string and replaced them with proper BroadcastText 2018-01-14 18:48:01 +01:00
ariel-
ff62f22443 Core/Entities: better support of absorb, resist and block procs
2e457b3be4 followup

Closes #18275

(cherry picked from commit 5db308b686)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
2018-01-13 16:49:06 +01:00
ariel-
8cb118009e Core/Spell: restore old proc system behaviour on auras self proc.
- Use Spell::m_triggeredByAuraSpell and compare against trigger aura, it requires scripts to set triggeredByAura parameter.
- Fixed existing scripts lacking it

DB/Spell: Anger Capacitor (Tiny Abomination in a Jar) proc

Closes #18269

(cherry picked from commit 5b56c94e6d)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Spells/Auras/SpellAuras.cpp
#	src/server/game/Spells/Spell.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
#	src/server/scripts/Pet/pet_hunter.cpp
#	src/server/scripts/Spells/spell_dk.cpp
#	src/server/scripts/Spells/spell_druid.cpp
#	src/server/scripts/Spells/spell_hunter.cpp
#	src/server/scripts/Spells/spell_item.cpp
#	src/server/scripts/Spells/spell_mage.cpp
#	src/server/scripts/Spells/spell_paladin.cpp
#	src/server/scripts/Spells/spell_priest.cpp
#	src/server/scripts/Spells/spell_rogue.cpp
#	src/server/scripts/Spells/spell_shaman.cpp
#	src/server/scripts/Spells/spell_warlock.cpp
#	src/server/scripts/Spells/spell_warrior.cpp
2018-01-13 16:38:07 +01:00
ariel-
90dbf26e12 Core/Spell: spells with ignore hit result should pierce damage immunities
(cherry picked from commit 3f19eea5e4)
2018-01-13 15:47:57 +01:00
ariel-
acdc2d6d63 Core/Unit: partial cherry picked from commit b6a8045adc 2018-01-13 15:38:38 +01:00
joschiwald
78ba1d76dd Core/Spells: Removed obsolete spell fixes 2018-01-03 18:10:47 +01:00
Mihapro
8199eef81c Core/Misc: Added helper function Unit::SetFullPower
* Also renamed Unit::getPowerType and Unit::setPowerType to follow style guidelines

Ref #20981
2018-01-03 16:39:32 +01:00
Shauren
ea6de0b565 Core/BattlePets: Misc fixes
* Fixed caged pet item chat message
* BattlePetMgr optimizations: removed copying data all over the place
* Fixed gaining two pets when learned from item for the first time
* Fixed dismiss button
2018-01-02 14:04:09 +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
a6594c3831 Core/Spells: Fixed SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT
Closes #20504
Closes #21061

(cherry picked from commit 790a253893)
2017-12-30 16:42:50 +01:00
Shauren
90834606a2 Core/Entities: Update updatefields to 7.3.2.25383 2017-12-29 12:57:56 +01:00
Shauren
965f4de083 Core/Units: Encapsulate UNIT_CHANNEL_* fields 2017-12-29 12:57:55 +01:00
ariel-
2eb9791fc9 Core/Unit: consider creatures with same faction to be on the same party/raid for the purposes of spell/aura targets
Ref #18233

(cherry picked from commit 699e22cb4c)
2017-12-26 20:30:55 +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
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
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
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-
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-
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
DantestyleXD
3846d7a51d Core/Creature: Define battle pet npcflag (#20986) 2017-11-28 21:01:46 +01:00
Hadifaren
cc7c3f8d7d Core/Spells: Implemented SPELL_AURA_MOD_MAX_POWER 2017-11-22 12:35:00 +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
Shauren
331c70e695 Core/Players: Fixed DK runes and runic power
Closes #19595
2017-11-12 02:42:06 +01:00
ariel-
52e71c1723 Core/Spells: workaround stealth interaction with Death and Decay and GameObject casts
Closes #10179
Closes #16154

(cherry picked from commit b3a4815067)
2017-11-11 20:59:12 +01:00
ariel-
d56f65eb34 Core/Unit: send original caster in heal packet log
(cherry picked from commit a9921a5dd7)
2017-11-11 20:49:26 +01:00
ariel-
4c5815600f Core/Unit: allow pets and totems to drop mod charges in owner auras.
Needed for Cobra Strikes (re)implementation

(cherry picked from commit 51e4983422)
2017-11-05 12:49:05 +01:00
ariel-
e4bb4842b5 Core/Unit: fix logic error in DamageInfo::ModifyDamage.
Previous code did not protect against m_damage underflow, rather only allow up to duplicate damage.
It now should work as intended.

Closes #18154
(cherry picked from commit 7ced76bab2)

Core/Unit: fix warning reported by VS2015

C4146: unary minus operator applied to unsigned type, result still unsigned
(cherry picked from commit 7b1a0c3698)

Core/Unit: consistency fix
(cherry picked from commit 042023877a)
2017-11-05 11:30:58 +01:00
ariel-
3447b2790d Core/Unit: CalculateMeleeDamage should use unmodified damage to compute HitInfo
d3a71a8338 follow-up

(cherry picked from commit 8da43fb7c7)
2017-10-15 17:28:02 +02:00
ariel-
fe2e3b67a8 Core/Spells: use DamageInfo struct to calc spell absorbs and resists, and use calculated proc hitMask on aura ticks
Closes #18135

(cherry picked from commit d3a71a8338)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Spells/Auras/SpellAuraEffects.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/scripts/Commands/cs_misc.cpp
2017-10-15 16:59:56 +02:00
ariel-
175bc752e8 Core/Unit: fix chain cc's not being diminished properly
Logic fail in 9b0fa51022 (now diminishing info is always initialized)

(cherry picked from commit 2f03d502f3)
2017-10-15 16:59:55 +02:00
ariel-
dc6eef8027 Core/Unit: prematurely abort GetFactionTemplateEntry instead of returning a null pointer
Factions should never be invalid for players/spawned creatures anyways

Ref #18113

(cherry picked from commit 5f580c9d3d)
2017-10-15 16:16:06 +02:00
Ovah
020825902c Core/AI: implemented AI hook for interrupting spells (#20610) 2017-10-13 22:17:04 +02:00
joschiwald
e6f8821bd0 Dropped obsolete code added in 2d75d8071b 2017-10-03 22:15:41 +02:00
ariel-
88ae5f6068 Core/Unit: Change aura proc pair container to vector
(cherry picked from commit 34f734c890)
2017-10-03 21:14:28 +02:00