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
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
Keader
ff90a3f3c4
Core/Unit: Remove incorrect check that dont allow units attack your vehicle/passenger ( #17932 )
...
(cherry picked from commit f0cd28be3d )
2017-10-03 15:31:22 +02:00
ariel-
6ea0095817
Core/Unit: disallow parry for totems
...
(cherry picked from commit b1777979c3 )
2017-09-06 13:36:06 +02:00
ariel-
0b4088fdb8
Core/Spell: Fix 2 more off by one probability calc and duplicated logic in spell hit roll
...
(cherry picked from commit 4cdbc1a09b )
2017-09-05 12:14:01 +02:00
Shauren
c072cfed79
Core/Spells: Removed old Spirit of Redemption code
2017-08-29 23:27:52 +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
ariel-
2e0d3d25ff
Core/Unit: implemented crit suppression
...
Thanks Riztazz for the infos :P
(cherry picked from commit 8a82a3ba81 )
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
2017-08-21 21:11:05 +02:00
joschiwald
6ff75a0345
Core/Misc: Removed obsolete comments
2017-08-19 19:08:43 +02:00
joschiwald
921fbc8148
Core/Spells: Renamed SPELL_AURA_ADD_CASTER_HIT_TRIGGER to SPELL_AURA_INTERCEPT_MELEE_RANGED_ATTACKS
...
* also removed obsolete intercept chance
2017-08-19 18:11:30 +02:00
Shauren
43d268d75c
Core/PacketIO: Renamed "movementInfo" to "Status" in movement packets in effort to preserve original naming (and to follow codestyle for naming public data members)
2017-08-16 23:22:41 +02:00
joschiwald
f5ef48d188
Core/Spells: Defined SPELL_AURA_PREVENT_INTERRUPT and SPELL_AURA_PREVENT_CORPSE_RELEASE
2017-08-14 21:03:32 +02:00
ariel-
f17cb00ee3
Core/Unit: fix weapon skill up.
...
Closes #18044
(cherry picked from commit 5b7078c30a )
2017-08-13 15:24:53 +02:00
ariel-
d5c7675bcc
Core/Auras: reset periodic aura timers by default. Except when aura comes from triggered spell
...
Closes #17961
(cherry picked from commit b5e8e0a5db )
# 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/Auras/SpellAuraEffects.h
# src/server/game/Spells/Auras/SpellAuras.cpp
# src/server/game/Spells/Auras/SpellAuras.h
# src/server/game/Spells/Spell.cpp
# src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
# src/server/scripts/Spells/spell_priest.cpp
2017-08-13 15:14:21 +02:00