Commit Graph

649 Commits

Author SHA1 Message Date
Keader
36910585c9 Core/Scripts: Illidari Council Rewrite (#18546)
Thanks to Sirikfoll, Krudor and Offl for all help

(cherry picked from commit 5af1fa2273)
2018-03-18 00:19:49 +01:00
ariel-
395407eb02 Core/Spell: fix one spell range issue
(cherry picked from commit 63a4a94f5a)
2018-03-18 00:19:44 +01:00
Shauren
007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
Keader
f80d80401b Core/Scripts: Fixed Suppresser behavior in Valithria Dreamwalker encounter
Closes #18530
* Fixed range issue
* Fixed weave spawn when Summon Timmer Suppresser(70912) is casted
* Fixed spawn count
(cherry picked from commit dbd567799f)
2018-03-12 16:43:14 +01:00
Keader
4c8f4cb372 Core/Scripts: Rewrite Magtheridons Lair (#18330) 2018-03-12 16:39:32 +01:00
ariel-
301a0e8681 Core/SpellMgr: added a startup error for possibly unhandled procs
(cherry picked from commit 3d5c1b83b1)
2018-03-12 11:17:56 +01:00
Shauren
75603fe1a0 Core/DataStores: Updated db2 structures to 7.3.5.25996 2018-02-18 16:33:50 +01:00
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
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
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
joschiwald
5465b4f46e Core/Spells: Fixed proc cooldown 2017-12-26 19:52:09 +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-
8aa7b85ed2 Core/SpellMgr: overwrite dbc range for Unleashed Souls
Closes #17968

By sirikfoll

(cherry picked from commit 70a867531d)
2017-12-25 10:23:00 +01:00
Shauren
e86a2c439a Core/Auras: Implemented using all aura interrupt flag fields 2017-12-17 16:45:50 +01:00
ariel-
a1ebc312ec Core/Spell: fix interaction of on taken damage procs with triggered casts
DB/Spell: Seal of Righteousness proc
- Lightining and Water Shield should proc with triggered

Closes #18211

(cherry picked from commit ed49626c22)
2017-12-10 18:39:49 +01:00
joschiwald
906f3e459c Core/Spells: Fixed typo in SpellMgr::LoadSpellInfoCorrections 2017-12-10 18:32:28 +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
Aokromes
dda7d89445 Core/Spells: Remove one char breaking hotswap 2017-11-23 22:21:36 +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-
f895defe99 Core/Spells: require phaseMask set for trap activation procs
(cherry picked from commit 1df8ca7fe3)
2017-11-05 12:58:05 +01:00
ariel-
efaa33b599 Core/SpellMgr: some changes in default proc generation. Fix an issue of stealth breaking with positive and/or healing spells
(cherry picked from commit 531904afff)
2017-10-03 21:14:27 +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
ariel-
56be2b47ce Core/Spell: do not automatically set proc Family Name if no Family Flags present
Closes #18075

(cherry picked from commit 8167d6d4a0)
2017-09-06 12:57:15 +02:00
ariel-
42656c8fd0 Core/Spells: fix auto repeat spells triggering auras
Auto repeat spells are casted as triggered and didn't register procs properly if the aura can't proc with triggered

(cherry picked from commit aaa1a43204)
2017-09-06 12:45:40 +02:00
Shauren
30ff2620c2 Core/Spells: Add missing SpellFamilyFlags to priest and monk variants of Gift of the Naaru
* Fixes quest Rescue the Survivors

Closes #20240
Closes #20245
2017-09-05 22:05:29 +02:00
joschiwald
db14582918 Core/Spells: Removed obsolete spell fixes 2017-08-27 14:59:18 +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
Krudor
28ec50b053 Scripts/Firelands: Baleroc
Closes #17527
2017-08-22 18:28:07 +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
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
joschiwald
1f8fc55ac9 Core/Spells: Implementation of QAston proc system (#20131)
* Core/Spells: Implementation of QAston proc system

- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing
- Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor
- Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras.
- Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct
- Changes in spell reflection system, emulates old behaviour, delaying aura drop
- Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections
- Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS
- Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor.
- Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034:

  * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/
  * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system).

  * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..)
  * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided.

  * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee.
- Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE)
- Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect
- Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though
- Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558.
- Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193

(cherry picked from commit e641d0c7d7)

# Conflicts:
#	sql/base/auth_database.sql
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	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/SpellAuras.cpp
#	src/server/game/Spells/Auras/SpellAuras.h
#	src/server/game/Spells/Spell.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/game/Spells/SpellMgr.h
#	src/server/game/Spells/SpellScript.cpp
2017-08-13 12:03:43 +02:00
joschiwald
b9c3608259 Core/Spells: Defined TARGET_GAMEOBJECT_CONE_109
Also removed some wrong SpellInfoCorrections
2017-07-27 16:32:57 +02:00
Shauren
0cd5179726 Core/Creatures: Rewrite trainer handling to properly support multiple trainers on the same creature
* Trainers are now defined as templates (sniffable), assigned by gossip options
2017-07-26 00:53:51 +02:00
joschiwald
ef5c5ed9d9 Core/Spells: Removed SpellInfoCorrections of removed spells 2017-07-22 20:00:42 +02:00
joschiwald
ae070a1b64 Core/Spells: Implemented ConeAngle from DB2 2017-07-18 15:16:32 +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
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
Shauren
be1a7d36f3 Core/Spells: Refactor setting spell info corrections to report errors about spells that no longer exist 2017-04-20 21:57:25 +02:00
Shauren
adbdb64301 Core/PacketIO: Updated server packet structures to 7.2.0 2017-04-15 12:32:36 +02:00
Shauren
d20dedebd6 Core/DataStores: Updated db2 structures to 7.2.0 2017-04-06 23:39:34 +02:00
Shauren
8cc232054a Build fix 2017-04-03 08:03:01 +02:00
Shauren
8f49a32d13 Core/Spells: Removed even more uses of SpellIcon to identify spells 2017-04-03 00:27:16 +02:00
Shauren
2a8294031b Core/Spells: Removed most uses of SpellIcon to identify spells 2017-04-02 23:29:26 +02:00
ariel-
062ca4ac69 Core/Spell: Add Dual Wield skill dependency to Dual Wield effect, should remove the skill properly when unlearning spell.
Closes #17196

(cherry picked from commit 405167dafd)
2017-03-05 01:06:40 +01:00
Treeston
f02ff3bd6b [3.3.5] Azjol-Nerub rewrite
* Scripts/AzjolNerub: Complete rewrite.
- Gatewatcher:
  - Trash now actually engages properly one by one
  - Fix trash spell casting
  - Add missing quotes
- Hadronox:
  - Everything. Literally.
- Anub'arak:
  - Fix add spawns
  - Fix impale
  - OK this might as well be "fix everything with every boss". Because that's pretty much what happened.
- General hack cleanup

* Update and rename 9999_99_99_99_AZJOLNERUB.sql to 2016_09_25_01_world.sql

* Update and rename 2016_09_25_01_world.sql to 2016_09_25_02_world.sql

* Rename 2016_09_25_02_world.sql to 2016_09_26_02_world.sql

(cherry picked from commit 4b990eb7d7)

# Conflicts:
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
#	src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp

Update boss_hadronox.cpp
(cherry picked from commit 04ec868768)

Update boss_hadronox.cpp

I hate travis, learn from buildbot
(cherry picked from commit aeb20951bb)

I think I got all of them this time

No idea how this one got past travis.
(cherry picked from commit ae163197a7)

Fix nonPCH.
(cherry picked from commit e121d66fbb)

...for real this time (seriously - what happened to test builds before merging, Aok?)
(cherry picked from commit dbe0789eba)

.....hail PCH
(cherry picked from commit 2528194cc1)

and you get a header, and everyone gets a header...
(cherry picked from commit 5e5fe37a7e)
2017-03-04 00:05:55 +01:00
SnapperRy
df3e8cab12 Script/Quest: improvements for Let Them Eat Crow. (#17948)
(cherry picked from commit 275a53b34d)

Rename 9999_99_99_99_world.sql to 2016_09_24_06_world.sql
(cherry picked from commit 7a1f41077f)
2017-03-03 22:31:28 +01:00
SnapperRy
29ce69b3ad DB/Quest: improvements for Test at Sea:
- Prevent player from entering combat when using the quest item.
- The targeted NPCs should only yell sporadically.
(cherry picked from commit 271c16fb60)

Rename 2016_09_12_03_world.sql to 2016_09_13_01_world.sql
(cherry picked from commit 43968512ce)
2017-02-26 19:26:43 +01:00
ariel-
163f5b02af Core/Spell: Workaround cobra strikes into a charged aura instead of stacked.
Fixes #754

(cherry picked from commit 65d0a9478d)
2017-02-18 17:59:17 +01:00
SnapperRy
f886788a67 Core/SpellArea: only check against spell_area entries for the current quest when updating quest status
Closes #17804

(cherry picked from commit 0b4b0ea348)
2017-02-12 16:27:43 +01:00
joschiwald
e774c29c21 Fixed build 2017-02-05 00:16:58 +01:00