Commit Graph

1992 Commits

Author SHA1 Message Date
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
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
43c3a78079 Core/LFG: Fixed role check cancel time 2017-07-30 14:58:42 +02:00
joschiwald
6f8b60101f Core/Misc: Fixed armor mitigation after 5675902485
* Also fixes gcc build with -Werror enabled
2017-07-30 13:11:43 +02:00
Seyden
5675902485 Core/Creatures: Implemented Basic Creature Scaling (#20026) 2017-07-29 21:40:28 +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
jackpoz
fc6b488620 Core/Misc: Fix static analysis issues
# Conflicts:
#	src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
#	src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/scripts/Commands/cs_ban.cpp
#	src/server/scripts/Commands/cs_disable.cpp
2017-07-16 21:14:22 +02:00
Shauren
410bc49976 Core: Updated to 7.2.5.24330 2017-06-15 15:23:08 +02:00
Shauren
4226eb2ea5 Core/Misc: Some /W4 warning fixes 2017-06-07 17:23:50 +02:00
Shauren
5587626762 Core/PacketIO: Fixed PowerUpdate packet, it needs power type, not index 2017-06-05 16:27:54 +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
Seyden
5487a062ce Core/AreaTrigger: Remove the correct areatrigger when SPELL_AURA_AREA_TRIGGER is removed (#19749) 2017-05-26 23:00:29 +02:00
joschiwald
08482bfc0d Scripts/XT002: Fixed Scrapbot repair 2017-05-25 10:43:33 +02:00
Shauren
3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
joschiwald
b192c46b06 Core/Creature: Added UnitFlags3 to creature_template 2017-05-21 14:17:47 +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
b0ca3660d5 Core/PacketIO: Fix sending rotations vector in PlayOrphanSpellVisual 2017-05-16 22:44:31 +02:00
Shauren
a12a34b1dc Core/Game: Include cleanup - removed G3D classes from packets
* Use our own Position class instead, with the coords written to packets being part of type
2017-05-16 22:16:21 +02:00
Shauren
b421a5c0cb Core/Game: Include cleanup - remove Map dependency from Object.h 2017-05-15 22:55:16 +02:00
Shauren
9299e9bde0 Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50 2017-05-13 19:37:33 +02:00
Shauren
3a418a0bbc Core/Common: Include cleanup 2017-05-11 22:29:51 +02:00
joschiwald
036f67c0c1 Core/Collision: Replaced phasemask with proper phases in GameObject collision calculation 2017-05-05 21:22:58 +02:00
joschiwald
3b873add19 Core/Packets: Implemented SMSG_CANCEL_SPELL_VISUAL_KIT and SMSG_PLAY_ORPHAN_SPELL_VISUAL
* Added some helper methods for sending these packets

Closes #19486
2017-05-04 18:38:04 +02:00
joschiwald
037ffdf609 Fixed warning 2017-04-27 19:35:22 +02:00
Shauren
2f859ffd2e Core/Misc: Fixed issues found by coverity
CID 1374575, 1374574, 1374573, 1374572, 1374563, 1374556
2017-04-26 18:01:50 +02:00
tkrokli
65eefebe43 More warning fixes
- unused variables reported by clang in travis-ci
2017-04-26 10:53:38 +02:00
joschiwald
9a41e05201 Fixed warning 2017-04-25 20:16:28 +02:00
joschiwald
8df72afb73 Fixed warning 2017-04-24 20:23:23 +02:00
ariel-
b7bf703737 Core/Scripts: Convert spells to new proc system
- Converted Unit::HandleDummyAuraProc function to AuraScripts
  * Extra: DMC: Madness now uses DB texts. yay!
  * Extra: improvements on Imp. Spell Reflection (range and max targets, filter caster with conditions)

- Fixed Glyph of Succubus. (Closes #6599)

- Changed old (not-blizz) behavior of Vampiric Embrace:
  * Before: party heal affected the priest too and self heal was reduced by that amount to not over-heal
  * Now: self heal amount not affected, rather filter the priest out of the party heal using conditions :)

- Solve bug in AQ 3p set bonus, it should only trigger when healing others, not self heals.
- Priest T10 2p bonus (heal) now rolls its effect properly

- Use brand new GetEffectiveHeal to fix #17142
- While we're at it, also close #17034 for good
- Converted Unit::HandleAuraProc function to AuraScripts (#17941)
- Converted Unit::HandleAuraProc function to AuraScripts (cont'd) (#17955)
- Corrected Flametongue weapon damage formula
- Actually check offhand weapon for flametongue in Lava Lash script
- Implemented halved proc chance for Missile Barrage on Arcane Barrage, Fireball, Frostbolt and Frostfire Bolt cast
- Converted Unit::HandleProcTriggerSpell function to AuraScripts (#17956)
- De-hack Earth shield. Fixes #13808
- Updated Honor among Thieves
- Implemented mana proc for Mark of Conquest in case of ranged attack
- Fixed Scent of Blood giving more stacks than the talent rank currently learnt.
- Ported old proc table. Proc system is dead. Long live the proc system!
- Recklessness should get charges removed per cast. Closes #15529
- Use proc system to remove Molten Core charges on Incinerate/Soul Fire cast. Closes #15942

Closes #3463
Closes #5401
Closes #15595
Closes #15974
Closes #16679
Closes #17925

(cherry picked from commit 2ff855054f)

# Conflicts:
#	src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.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
2017-04-23 19:01:39 +02:00
Ulduar2
7b4bdc6b8f Core/Spells: Add duration argument to Unit::SendPlaySpellVisualKit (#19487) 2017-04-23 15:23:28 +02:00
Shauren
c0eb6c3130 Core/Entities: Update updatefields to 7.2.0 2017-04-16 01:13:09 +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
DoctorKraft
df56f33a79 Core/Unit: Update Parry/Dodge/Diminishing caps for Monk/DH (#19354) 2017-03-23 15:38:53 +01:00
Shauren
bffd48c2f4 Core/Movement: Restored interpolated_* movement flags 2017-03-15 18:55:42 +01:00
Shauren
fd256884d9 Core/Units: Fixed cherry-pick crash in Unit::GetUnitBlockChance
Closes #19270
2017-03-11 12:51:28 +01:00
ariel-
f585c83124 Update Unit.cpp
Kill an unused parameter warning
2017-03-07 13:40:21 -03:00
ariel-
80a4f3c181 Update Unit.cpp
Kill unused variable warning
2017-03-07 12:16:23 -03:00
ariel-
3674356c9e Core/Unit: rewrite of the attack table system
- Removed a bunch of duplicated code
- Fix off-by-one errors in Unit::RollMeleeOutcomeAgainst and Unit::MeleeSpellHitResult (TC's combat table was actually of 100.01%)
- Implemented boss-level hit table (6.5% dodge/14% parry), bosses only had 5.6% of each until now
- Updated formula for chance and damage of Glancing hits

Sources:
- http://wow.gamepedia.com/index.php?title=Attack_table&oldid=2071465
- http://web.archive.org/web/20100903145646/http://www.mmo-champion.com/threads/650071-Expertise-Hit-for-Paladins-%28updated-for-3.3%29?daysprune=60

(cherry picked from commit 0c24e4ee0e)

Core/Unit: fix a copy/paste mistake

(cherry picked from commit 3bd5e0bf2f)
2017-03-06 21:09:57 -03:00