Commit Graph

4804 Commits

Author SHA1 Message Date
funjoker
c4bf996c7d Core/Spells: Allow skipping automatic removal of auras from spell_area when condition is no longer met (mostly used for cosmetic cutscenes after quest completion) (#21317) 2018-01-28 19:33:33 +01:00
joschiwald
6226189a16 Core/Entities: Created factory methods to create new areatriggers, creatures and gameobjects 2018-01-27 23:02:46 +01:00
Shauren
f963b8a225 Core/Spells: Removed outdated mechanic (spell downranking coef penalty) 2018-01-27 12:21:35 +01:00
ariel-
1248a6b1e0 Core/Player: fix regression with EquippedItemClass requiring spells
(cherry picked from commit 858d45885b)
2018-01-21 22:27:53 +01:00
ariel-
ad8d47b137 Core/Guild: avoid data integrity problems wrapping delete+insert statements in a transaction
(cherry picked from commit 25281ecb31)
2018-01-21 22:01:15 +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-
97980f4e0a Core/Player: recheck shapeshift bonus auras when switching spec.
- Fixes Leader of the Pack stuck when switching specs while shapeshifted

(cherry picked from commit 16c14593dc)
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
zranger1
79528cd39f Core/Items: Fixed crash with auction house bot seller (#21271) 2018-01-20 16:01:12 +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-
6d246e4a0a Core/Gameobject: fixed sometimes not found linked trap
Closes #18256

(cherry picked from commit 400a69bf9e)

# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
2018-01-13 15:46:05 +01:00
ariel-
acdc2d6d63 Core/Unit: partial cherry picked from commit b6a8045adc 2018-01-13 15:38:38 +01:00
Shauren
bb718b5578 Core/Entities: Remove phasemask 2018-01-10 22:01:40 +01:00
Traesh
5b90538919 Core/Entities: Improved UpdateAreaAndZonePhase() to allow easier building of database phase conditions (#21214)
Closes #18190
Closes #21196
2018-01-10 17:57:12 +01:00
tkrokli
d15afd2ffd Update copyright note for 2018 follow-up
Header file missed in commit c5d3dd90be
- copyright notice was added to PlayerTaxi.cpp in that commit
2018-01-09 20:46:23 +01:00
Shauren
a16d3209fd Core/Items: Try to automatically equip new bags
Closes #17544
2018-01-08 00:45:24 +01:00
joschiwald
5e3e4182c8 Core/Entities: Extended SpawnMask to 64 bit 2018-01-06 19:56:11 +01:00
joschiwald
0d1e251e32 Core/Creature: Added TitleAlt to creature_template 2018-01-05 16:46:51 +01:00
DoctorKraft
2ee6ce6849 Core/Packets: Implemented SMSG_GAME_OBJECT_UI_ACTION (#20919) 2018-01-04 01:15:33 +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
Shauren
66621a85e9 Core/Quests: Implemented player choice rewards 2017-12-31 23:22:55 +01:00
Traesh
89c91c271b Core/Quests: Implemented player choices
* Implemented SPELL_EFFECT_LAUNCH_QUEST_CHOICE
* Script hook for player choices
2017-12-31 23:22:55 +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
ariel-
0c81d70394 Core/GameObject: use a friendly trigger for positive spells.
Fixes an issue with Skadi Harpoons.

Note to self: should actually implement GameObject casting already :/

(cherry picked from commit 3f1d020a2c)
2017-12-30 21:32:08 +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
7264ce09b1 Core/Misc: Updated gameobject template fields and GameError enum 2017-12-30 00:26:38 +01:00
Shauren
7bb62cd23d Core/DataStores: Updated db2 structures to 7.3.2.25480 2017-12-30 00:26:37 +01:00
Shauren
20a3c9eed2 Core/PacketIO: Update opcodes to 7.3.2 2017-12-30 00:23:43 +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
Mihapro
02022d3cd6 Core/Player: Automatically learn riding spells for certain race/class combinations
* Paladins, Warlocks, Druids and Worgens automatically learn Apprentice Riding at level 20
* Death Knights start with Journeyman Riding
* Demon Hunters start with Artisian Riding + Flight Master's License
2017-12-28 23:34:33 +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
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-
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
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