Commit Graph

19343 Commits

Author SHA1 Message Date
ariel-
d9e4c8e04f Core/Spells: add Target Processing (SMSG_SPELLLOGEXECUTE) to LAUNCH_TARGET phase.
Move EffectInterruptCast to LAUNCH_TARGET Phase.

Closes #3718
Closes #6042
2016-10-04 23:35:50 -03:00
ariel-
51493a63e2 Core/Scripts: fix 2 runtime error logs 2016-10-04 22:34:39 -03:00
ariel-
016b31a1b6 Core/Spells: add proc cooldown on item equip. 2016-10-04 21:43:45 -03:00
ariel-
66749470ef Core/Scripts: add even more headers 2016-10-04 21:13:27 -03:00
ariel-
192f8186bd Core/Scripts: add more headers required for NoPCH 2016-10-04 21:10:57 -03:00
ariel-
dc7a1894c5 Core/Scripts: add headers required for NoPCH build 2016-10-04 21:08:03 -03:00
ariel-
2ff855054f 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
2016-10-04 20:21:58 -03:00
ariel-
e641d0c7d7 Core/Spells: Implementation of QAston proc system
- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- Templatize SpellModOp param of Player::ApplySpellMod, also 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
2016-10-04 20:21:55 -03:00
Shauren
23902ff266 Core/Spells: Calculate hitMask and store it in DamageInfo/HealInfo structures 2016-10-04 20:19:12 -03:00
Aokromes
308a2413a1 Scripts/Wintergrasp: Fix vehicle teleporter (#17550)
By WoWErrorDev, closes #5831.
2016-10-04 20:55:05 +02:00
Shauren
256d07f26f Core/Units: Clear UNIT_NPC_EMOTESTATE on death (blizzlike)
Closes #15263
Closes #18027

(cherry picked from commit cd326db30f)
2016-10-04 20:32:51 +02:00
SnapperRy
b60db6c44e Core/Wintergrasp: fix leaving Wintergrasp via the minimap button. 2016-10-04 19:13:11 +02:00
SnapperRy
63215dd15a Core/Wintergrasp: properly set and remove GO_FLAG_NOT_SELECTABLE from the Wintergrasp Relic, allowing the attacking faction to capture it. 2016-10-04 19:07:46 +02:00
SnapperRy
fd620ca7d6 Core/Conditions: partially revert 723c253, replacing CONDITION_WINTERGRASP_HORDE with a ConditionScript. 2016-10-04 18:47:58 +02:00
SnapperRy
c22d3886ce Core/Wintergrasp: give quest credit for southern towers destroyed.
Updates #7953.
2016-10-04 17:23:36 +02:00
SnapperRy
df36e4b95d DB/Conditions: quests Southern Sabotage and Toppling the Towers are only available if the respective faction is defending Wintergrasp.
Also codestyle stealthfix.
2016-10-04 15:51:44 +02:00
ariel-
83771597c1 Core/Scripts: kill whitespace 2016-10-04 10:15:37 -03:00
ariel-
3bd5e0bf2f Core/Unit: fix a copy/paste mistake 2016-10-04 10:11:00 -03:00
treeston
84cf239fda Various: Fix coverity reported issues. 2016-10-04 13:49:05 +02:00
SnapperRy
9638c11453 Core/Wintergrasp: fix victory quests.
By Retriman, updates #7953.
2016-10-04 13:29:12 +02:00
SnapperRy
7267a41418 Make travis happy and fix codestyle for previous commit. 2016-10-04 11:44:25 +02:00
SnapperRy
723c253f8f Core/Conditions: implement CONDITION_WINTERGRASP_HORDE to check if Wintergrasp is held by Horde.
Use negative condition to check if it is held by Alliance instead.

Use this condition to fix availability of the Wintergrasp item-gathering weekly quests.
2016-10-04 11:29:02 +02:00
ariel-
0c24e4ee0e 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
2016-10-04 01:26:34 -03:00
SnapperRy
c25f7c48b5 Core/Unit: don't reset offhand timer for players when starting attack.
Creatures are unaffected by this change. Not sure how they should behave in this case, so leaving it alone for now.

Closes #945.
2016-10-04 00:23:49 +02:00
SnapperRy
790844e72d Script/Quest: A Cry For Help: (#18026)
- Add missing dialogue from Cowlen.
- Timers and emotes.
2016-10-03 23:47:41 +02:00
SnapperRy
ea6911517d Core/Loot: limit unique items check in LootItem::AllowedForPlayer() to bind-when-picked-up items only. 2016-10-03 23:44:51 +02:00
SnapperRy
5c5b8df613 Core/Loot: do not show unique items if player already has the maximum allowed quantity. 2016-10-03 23:33:44 +02:00
SnapperRy
9bca68fb56 Core/Quest: send INVALIDREASON_QUEST_ALREADY_DONE if player tries to accept a quest that is already rewarded. 2016-10-03 23:02:50 +02:00
SnapperRy
6cef1de8d3 Core/Quest: Gordunni Cobalt:
- Add second gameobject (Gordunni Dirt Mound, containing only junk items) that can spawn in place of the first (same name, but contains the quest item), 50% chance.
2016-10-03 13:30:14 +02:00
ariel-
b54042d68f Core/Spells: Flag of Ownership shouldn't target creatures 2016-10-02 22:15:09 -03:00
ariel-
bdf7cf6d50 Core/Player: correct logic for IsUsingTwoHandedWeaponInOneHand
Fixes penalty not being applied when we are using a 2H in offhand, and a unarmed MH.
MH may do unarmed attacks in this case. (reciprocal of 2H MH, unarmed OH, only uses MH normally, OH doesn't unarmed attack)
2016-10-02 20:49:29 -03:00
joschiwald
625ca6ec1c Core/Spells: fixed SPELL_ATTR5_USABLE_WHILE_STUNNED 2016-10-02 23:32:14 +02:00
ariel-
405167dafd Core/Spell: Add Dual Wield skill dependency to Dual Wield effect, should remove the skill properly when unlearning spell.
Closes #17196
2016-10-02 15:49:29 -03:00
ariel-
df0f88eb80 Core/Player: unconditionally remove Titan's grip penalty aura on Spell removal
Was causing an issue when switching spec, because off hand weapon was still equipped
2016-10-02 03:32:08 -03:00
ariel-
b2fbd2c75d Core/Spells: SPELL_AURA_SCHOOL_IMMUNITY auras shouldn't remove passive auras (even if negative)
Ref issue #6375
2016-10-02 02:48:02 -03:00
ariel-
a4baef19dd Core/Player: Implemented Titan's Grip damage reduction
Closes #6375
2016-10-02 02:34:23 -03:00
ariel-
03e21d2fad Core/Spells: Implemented SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT.
Closes #1765
2016-10-02 00:24:47 -03:00
joschiwald
8024ae4d26 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-02 00:25:21 +02:00
joschiwald
875844845f Core/Player: fixed math error
(cherry picked from commit cc1e2fd452)
2016-10-02 00:14:11 +02:00
SnapperRy
4147312d29 Script/Quest: fix text for creature Gelkak involved in quest Gyromast's Revenge.
Gelkak is supposed to say it, not The Threshwackonator 4100.
2016-10-01 22:43:43 +02:00
SnapperRy
d59f111cab Core/Script: make creature Webbed Creature spawn creature Expedition Researcher when appropriate.
Also don't allow it to spawn a copy of itself.
2016-10-01 14:15:39 +02:00
SnapperRy
a5e05d0d0c Misc/Config: fix an oversight.
Thanks tkrokli for noticing.
2016-09-30 16:17:24 +02:00
SnapperRy
2deea99cd7 Misc/Config: enable ChatFakeMessagePreventing by default, since it's a blizzlike feature. 2016-09-30 15:56:10 +02:00
SnapperRy
e9870fb1fc Core/Config: allow to specify daily quest reset hour in config.
Also default it to 3:00AM, as that's when daily quests used to reset during WotLK.
2016-09-30 15:27:31 +02:00
SnapperRy
6d62f852ac Core/Spell: set quest to rewarded instead of complete when targeted by SPELL_EFFECT_QUEST_COMPLETE. (#18021)
Prevents people from ending up with strange quests in their quest logs.
2016-09-30 13:17:04 +02:00
SnapperRy
f9ea646c82 Core/World: properly re-initialize daily quest reset time when resetting daily quests. (#17986)
Prevents daily quests from resetting at weird times when restarting the server after a player has completed a daily quest.
2016-09-30 13:16:37 +02:00
SnapperRy
1e2d55acf0 Core/Log: move an error to DEBUG level.
Prevents console spam in case of players canceling the cinematic at characters' first login.
2016-09-29 21:36:47 +02:00
Keader
05c2fa2e02 Core/Scripts: Fixed Gunship Mage cast interrupt
Closes: #14912
2016-09-27 00:23:58 +01:00
treeston
5e5fe37a7e and you get a header, and everyone gets a header... 2016-09-27 01:17:40 +02:00
treeston
2528194cc1 .....hail PCH 2016-09-27 01:15:00 +02:00