Commit Graph

11730 Commits

Author SHA1 Message Date
jackpoz
2edfedc2b6 Scripts/Azjol-Nerub: fix static analysis issues 2016-10-08 19:21:40 +02:00
Kittnz
eee7fa3fa7 Core/Scripts: Initialize rnd and remove where it was not needed 2016-10-08 16:43:08 +02:00
Kittnz
963278459a Core/Event: Pirate Day Music during the event 2016-10-08 15:49:18 +02:00
Kittnz
e3560f3f51 Core/Event: Add Darkmoon Fair Music during the event 2016-10-08 15:43:13 +02:00
Kittnz
19f8acdb61 Core/Event: Add Midsummer Music during the event 2016-10-08 15:38:17 +02:00
SnapperRy
7ce3811913 Remove unused variable. 2016-10-08 14:26:17 +02:00
SnapperRy
a0c9d33ed6 Battlefield/Wintergrasp: improvements:
- Move Wintergrasp Keep guard spawns from core to db, removing all duplicates in the meanwhile.
- Add Alliance Brigadier General inside the relic room.

Closes #7593.
2016-10-08 14:16:05 +02:00
SnapperRy
d72b025fcb Core/Wintergrasp: fix Defend the Siege quests.
Closes #7953.
2016-10-08 03:54:09 +02:00
ariel-
b93ee312fa Core/Auras: prevent stack overflow while processing SPELL_EFFECT_ADD_EXTRA_ATTACKS 2016-10-07 12:52:01 -03:00
ariel-
d078029124 Revert "Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS"
This reverts commit f09e7cbbfe.
2016-10-07 12:50:08 -03:00
ariel-
2a5548a13e Core/Channels: remove unneeded default constructor 2016-10-07 12:04:35 -03:00
ariel-
66688a7855 Core/Channel: revamp channel system (#17980)
* Core/Channel: change the way channels are stored and sent to client.

- Fixes multiple channels per zone when using different locales
- Connected clients will receive locally the name of the channel for their apropiate locale (if available)
- In other cases default locale name will be sent, so as to prevent breaking channel chat for those players

Closes #8411
2016-10-07 00:59:56 -03:00
ariel-
ce45e1bf95 Core/Globals: cache SpellSpecific and AuraState information instead of computing them each time they're needed 2016-10-07 00:51:52 -03:00
ariel-
f58de52de3 Core/Auras: stop some compilers from complaining 2016-10-07 00:23:02 -03:00
ariel-
dbba3ad5a5 Core/Scripts: Fix some runtime errors 2016-10-07 00:14:46 -03:00
ariel-
3b6fd226be Core/Misc: fix interaction of spells like Shadowmeld with Threat reducing effects
- SPELL_AURA_MOD_TOTAL_THREAT should be temporary and not added/subtracted from total, only computed
- Cleanup of reference related code
- Kill getLast() and reverse iterator obsevers, LinkedList iterator can't be used as a standard reverse_iterator (ie with operator++). They weren't used anyways
2016-10-06 23:14:51 -03:00
Naios
8775f8b28a Core/Grids: Allow arbitrary containers in grid searchers that support push_back
* Makes it possible to use vector and dequeue with grid searchers.
2016-10-06 21:17:06 +02:00
Kittnz
3eacc25e5d Core/Event: Fix Brewfest Music
Was only playing the same song over and over again.
2016-10-06 20:14:53 +02:00
SnapperRy
79c1b5942c Revert "Core/Creature: don't give kill and achievement credit if a creature kills itself."
Causes an issue where a creature killed by a reflected spell will not give credits.

Thanks Aokromes for noticing. Reverting this until a better solution is found.

This reverts commit 5417a1a37f.
2016-10-06 11:16:05 +02:00
SnapperRy
5417a1a37f Core/Creature: don't give kill and achievement credit if a creature kills itself.
Prevents Wintergrasp vehicles from giving credit when killed by Wintergrasp Water and other similar exploits.
2016-10-06 10:50:50 +02:00
ariel-
8a82a3ba81 Core/Unit: implemented crit suppression
Thanks Riztazz for the infos :P
2016-10-06 01:06:37 -03:00
ariel-
a0e317b991 Core/Scripts: De-hack glyph of Barkskin with proper spell 2016-10-06 00:59:26 -03:00
ariel-
f09e7cbbfe Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS 2016-10-05 22:46:26 -03:00
SnapperRy
81d4c02f34 Fix non PCH build. 2016-10-06 00:17:28 +02:00
Kittnz
002b0a7a65 Core/Event: Add Brewfest Music during the event
Note: Dark Iron invasion music can be added with a trigger at a later stage
2016-10-05 22:34:04 +02:00
ariel-
5b7078c30a Core/Unit: fix weapon skill up.
Closes #18044
2016-10-05 13:07:44 -03:00
ariel-
b5e8e0a5db Core/Auras: reset periodic aura timers by default. Except when aura comes from triggered spell
Closes #17961
2016-10-05 03:10:05 -03:00
ariel-
d482b0e368 Core/Scripts: add a workaround for Will of the Forsaken shared cooldown
Closes #7151
2016-10-05 01:40:00 -03:00
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