Commit Graph

873 Commits

Author SHA1 Message Date
Aokromes
719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
xinef1
2f43df388d Core/Spell: Fixed bug where spell could fail to hit a target properly even if all conditions were met (#18596) 2017-01-01 13:29:19 +01:00
ariel-
eb3a90a4e8 Core/Spell: implemented dispel reflection
Closes #18323
2016-12-16 19:24:01 +01:00
ariel-
bb8068febb Core/Spells: fix a pretty edge case of creatures being put in combat by evaded spells
Closes #18369
2016-12-06 11:07:15 +01:00
ariel-
009adc4324 Revert "Core/Spell: add EquipedItemClass/EquippedItemSubClass check to passive spell casts"
This reverts commit f188ff1ce4.

Was breaking Titan's Grip.
Spells are loaded before items, and they CAST the spell on the player.
When items are then loaded, Player::ApplyItemDependentAuras only has AddAura on it. Titan's Grip is an effect, no auras involved.

In turn reverting this commit will now allow Two-handed weapon specialization and similar from spells load. Which is the lesser of two evils.
2016-11-27 03:11:27 +01:00
ariel-
f348c015c0 Core/Spell: add EquipedItemClass/EquippedItemSubClass check to passive spell casts
- Was adding auras on login that didn't satisfy requirements (like Two-Handed Weapon Specialization)
2016-11-27 03:09:47 +01:00
Aokromes
d9e8c7a285 Core/Spell: Missing change, partialy revert change 2016-11-19 06:59:05 +01:00
Aokromes
dbd4fc3eca Core/Spell: Compile fix try 2016-11-19 06:35:33 +01:00
Aokromes
b1d4f802ef Core/Spell: move attribute helpers to spellInfo
- Renamed CheckEffectExecuteData to AssertEffectExecuteData and made const, better reflects its purpose
- Added missing attribute check to IsNextMeleeSwingSpell
- Reworked SPELL_ATTR4_CAST_ONLY_IN_OUTLAND attr check (researched behavior)
2016-11-19 06:23:06 +01:00
Aokromes
e4dd97765e 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)
2016-11-19 06:10:14 +01:00
ariel-
ad927acae4 Core/Spell: do not fail triggered Charge effects in case a root is present.
Fixes Master's call when pet is rooted
2016-11-15 05:47:59 +01:00
ariel-
66fb271921 Core/Spell: use SpellEntry to select implicit targets in case RadiusEntry wasn't set for the current effect.
Closes #15388
2016-11-15 05:46:42 +01:00
ariel-
7d04331322 Core/Spell: do positivity spell checks only against actually hitted effects instead of the whole spell
Closes #18097
2016-10-24 14:03:08 +02:00
ariel-
162eaad0ee Core/Spell: clear auras of channeled spells if channeling is cancelled due to invalid targets (dead or w/e)
Closes #14859
Closes #15186
2016-10-24 13:59:54 +02:00
Aokromes
2057e6de4a Core/Items: Defined all item flags
(cherry picked from commit ef29f32)
2016-10-24 13:01:00 +02:00
Aokromes
686a9eeef9 Core/Spells: add Target Processing (SMSG_SPELLLOGEXECUTE) to LAUNCH_T…
…ARGET phase.

Move EffectInterruptCast to LAUNCH_TARGET Phase.
2016-10-21 08:23:40 +02:00
Aokromes
57d0a5d16d Revert "Core/Spells: Implementation of QAston proc system"
This reverts commit a70e4e26b3.
2016-10-21 07:27:04 +02:00
Aokromes
a70e4e26b3 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-05 13:19:51 +02:00
Aokromes
bcfe5b4f4f Core/Spells: fixed SPELL_ATTR5_USABLE_WHILE_STUNNED 2016-10-03 14:56:48 +02:00
ariel-
b18477f80f Core/Spells: Implemented SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT.
Closes #1765
2016-10-03 14:42:53 +02:00
joschiwald
4ed2cd9500 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-03 14:42:37 +02:00
ariel-
9cf523634d Core/Spell: do not cast interrupt effect if the spell did not hit 2016-09-14 14:32:16 +02:00
ariel-
f4957850e1 Core/Spell: no need to bloat existing parameter lists. (f81754a306 follow up) 2016-09-02 10:47:41 +02:00
ariel-
8e96d7fc8e Core/Spells: register SPELLMOD_CRITICAL_CHANCE in casting spell modifiers. 2016-09-01 15:19:49 +02:00
ariel-
fe32fffa56 Core/Spells: Remove spellmods from SpellMod owner instead of caster (needed so pet casts properly remove aura charges) 2016-09-01 15:19:29 +02:00
ariel-
87bcba9a1f Core/Spells: fix Bullheaded immunities
Closes #421
2016-09-01 15:19:11 +02:00
Shauren
a3d4957150 Typo fix 2016-08-22 20:54:59 +02:00
mik1893
cea753e4e6 Core/Spells: Fixed spells like Shadowform, Tricks of the Trade, Misdirection getting stuck in unusable state clientside if they failed earlier because of GCD
Closes #657
Closes #12913
Closes #17376
2016-08-21 13:16:52 +02:00
Treeston
a29913187b Core/Spells: Fix orientation- and targeting-related issues if the creature isn't currently engaged in combat. (#17120)
Also disable spell focus system for vehicle control auras.

Closes #16572
Closes #17016
2016-08-21 13:16:30 +02:00
Chaouki Dhib
c152bbe17d Core/Spells: Fixed extended spell range while moving Closes #17818 (#17824)
Cherry pick of 10e0f4ff8f
Closes https://github.com/TrinityCore/TrinityCore/issues/17818
2016-08-20 06:23:00 +02:00
Aokromes
375b7a61c4 Core/Units: Fixed melee range check
* Split Spell::CheckRange() into 2 methods since that method had more than one responsibility.
* Moved melee range logic into its own function
* Moved melee range logic method GetMeleeRange from Spell to Unit class. Unit::IsWithinMeleeRange() and Spell::GetMinMaxRange() both use that method.
2016-08-16 12:25:53 +02:00
ariel-
87f25be0aa Core/Spells: build fixes 2016-08-01 03:54:30 -03:00
ariel-
79b3fa5862 Core/Auras: Implemented SPELL_AURA_MOD_SPELL_COOLDOWN_BY_HASTE, SPELL_AURA_MOD_GLOBAL_COOLDOWN_BY_HASTE, SPELL_AURA_MOD_COOLDOWN_BY_HASTE_REGEN and SPELL_AURA_MOD_GLOBAL_COOLDOWN_BY_HASTE_REGEN
(cherry picked from commit 6c71c8694f)

Conflicts:
	src/server/game/Spells/Auras/SpellAuraDefines.h
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/SpellHistory.cpp
2016-08-01 03:54:29 -03:00
ariel-
0c51829cc4 Core/Auras: Implemented aura 321 SPELL_AURA_MOD_NO_ACTIONS
(cherry picked from commit 55d5cd37df)
2016-08-01 03:54:28 -03:00
ariel-
f5e2b7db3a Core/Spells: Fix merge error in e34e3f379f causing instant spells to be wrongly Delayed
Closes #74
2016-07-23 17:59:46 -03:00
Aokromes
67bb661def Core/Mmaps: Charge ignoring z position of target (#17516)
* Core/Mmaps: Charge ignoring z position of target

By cemak closes #15011
2016-07-20 18:43:45 +02:00
Shauren
684fb69d0d Core/Spells: Fixed spell dest range check failing on 0 distance max range requirement even if standing directly on top of destination 2016-07-20 18:38:18 +02:00
SnapperRy
5ce8886050 Core/Spell: allow use of ground mounts while swimming (#17488) 2016-07-20 18:33:07 +02:00
Shauren
fa7026cee3 Core/Spells: Fixed spell range check
Closes #17060
2016-07-20 18:26:18 +02:00
Aokromes
f35df037b6 Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER 2016-07-20 18:03:54 +02:00
Aokromes
4c09550b0f another compile fix 2016-07-20 17:12:59 +02:00
Aokromes
00fa7d03ed AI/PlayerAI: Finally implement cast logic for controlled players. 2016-07-20 15:19:53 +02:00
Shauren
1aed8daf9a Core/Spells: Implemented SPELL_ATTR1_DISMISS_PET
Closes #7372
2016-07-20 13:50:29 +02:00
Aokromes
006d89310b Core: updated creature type flags enum (#17128)
Core/Misc: Update CreatureTypeFlags enum according to TrinityCoreWiki
2016-07-20 13:47:25 +02:00
Alan Deutscher
fabc7f02dd Core/Spells Make certain spells (e.g. Mind Control) properly flag the caster for PvP (#17145)
* This issue was caused by PvP-flagging being done calculated after the target's flag was turned off by becoming a pet.
2016-07-20 13:22:13 +02:00
Aokromes
d3dae41ded Core/Movement: Fix issues where creatures cancel spell casts chasing target and Implement SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING 2016-07-20 10:46:07 +02:00
Aokromes
41b26981bb Core/Spells: Fix wrong totem placement 2016-07-19 17:50:53 +02:00
Aokromes
cd9acb7d05 Core/Spells: Fixed overwriting summon requests 2016-07-19 17:15:06 +02:00
Aokromes
bbaf1216df Core/Spells: Fixed all cases of spells that crash the client when pressing ESC after being cast 2016-07-18 22:06:16 +02:00
Aokromes
302bfb9152 Merge branch '4.3.4' into '4.3.4'
Fix Lock Picking Skill Value

The Skill Value of Lock Picking is since Cata increased with the Player Level. (PlayerLevel *5)
fix https://gitlab.com/trinitycore/TrinityCore_434/issues/43

See merge request !21
2016-07-02 12:11:49 +00:00