Commit Graph

1876 Commits

Author SHA1 Message Date
xinef1
f44572ce56 Core/Units: Fixed exploit where killing tamed pet could yield emblems (#18605)
(cherry picked from commit 2aae46ad49)
2018-03-18 00:19:36 +01:00
Shauren
007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
ariel-
8c83706114 Core/Misc: readd some codestyle changes inadvertently reverted
- Ref commit 6dc37a9add
(cherry picked from commit e1a2b1a813)
2018-03-12 16:39:41 +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-
e560374b8b Core/Unit: feral druid attacks should not be normalized
Closes #18460
(cherry picked from commit bad4b059c8)
2018-03-12 16:39:39 +01:00
ariel-
f20e53c138 Core/Entities: Replace existing GetAuraEffectsByType + iteration uses with proper helper functions
(cherry picked from commit 3a52ad8d38)
2018-03-12 16:39:39 +01:00
ariel-
edc68f719c Core/Unit: added GetTotalAuraXXX overloads taking a predicate
- Redefined existing overloads to use the predicate logic, avoids code duplication and not checking same stack rules
(cherry picked from commit 8b0122e7ed)
2018-03-12 16:39:38 +01:00
ariel-
fba0e6b278 Core/Unit: added missing nullptr check in IsImmunedToSpellEffect
Closes #18461
(cherry picked from commit 0b30693680)
2018-03-12 16:39:38 +01:00
ariel-
5e0e5a5573 Core/Entities: don't absolute compare positions on UpdatePosition
Closes #18415
(cherry picked from commit 45f8135ac4)
2018-03-12 16:39:37 +01:00
ariel-
f07a746321 Core/Spell: improved immunity logic for dispels
(cherry picked from commit 01d272d6cb)
2018-03-12 16:39:37 +01:00
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
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
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
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-
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
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