Commit Graph

658 Commits

Author SHA1 Message Date
joschiwald
8024ae4d26 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-02 00:25:21 +02:00
ariel-
08e0390d95 Core/Spell: do not cast interrupt effect if the spell did not hit 2016-09-12 12:41:02 -03:00
ariel-
746b838870 Core/Spells / Scripts: Fix Lock and Load. Closes #16731 2016-09-04 04:21:04 -03:00
ariel-
4829cca9fb Core/Spell: no need to bloat existing parameter lists. (f81754a306 follow up) 2016-09-02 03:59:14 -03:00
ariel-
f81754a306 Core/Spells: register SPELLMOD_CRITICAL_CHANCE in casting spell modifiers. 2016-09-01 01:34:17 -03:00
ariel-
3aa145cbe1 Core/Spells: Remove spellmods from SpellMod owner instead of caster (needed so pet casts properly remove aura charges) 2016-09-01 01:14:02 -03:00
ariel-
11f6801a5c Core/Spells: fix Bullheaded immunities
Closes #421
2016-08-31 23:12:57 -03:00
Shauren
39311e0ce8 Typo fix 2016-08-21 18:40:06 +02:00
mik1893
6d07fbf07c 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 11:32:42 +02:00
Treeston
6f85422f0b 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 11:07:38 +02:00
Treeston
8deda7ed7f Entities/Unit: Cleanup refactor. Changes: (#17819)
+ Unit::m_movedPlayer -> Unit::m_playerMovingMe
+ Player::m_mover -> Player::m_unitMovedByMe
+ Unit::GetMover() -> Unit::GetUnitBeingMoved()
+ Unit::GetPlayerMover() -> Unit::GetPlayerBeingMoved()
+ NEW: Unit::GetClientControllingPlayer()
2016-08-20 12:43:04 +02:00
Chaouki Dhib
333a3e05f6 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 00:25:30 +01:00
Chaouki Dhib
d7600f1126 Core/Units: Fixed melee range check (#17693)
* 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-15 18:17:07 +02:00
treeston
837caa0534 Merge remote-tracking branch 'Treeston/3.3.5-spellcastresult' into 3.3.5 (PR #17112) 2016-08-03 10:52:11 +02:00
treeston
03bef35500 Core/Spell: Quick readability change. Functionality not altered. 2016-07-20 15:23:14 +02:00
Aokromes
a832865ce2 Core/Misc: Coding standard (#17521) 2016-07-06 10:54:36 +02:00
Aokromes
fda9f1a136 Core/Mmaps: Charge ignoring z position of target (#17516)
* Core/Mmaps: Charge ignoring z position of target

By cemak closes #15011
2016-07-06 10:23:12 +02:00
Shauren
ba63361d7c Core/Spells: Fixed spell dest range check failing on 0 distance max range requirement even if standing directly on top of destination 2016-07-05 16:59:37 +02:00
SnapperRy
b20912c8f6 Core/Spell: allow use of ground mounts while swimming (#17488) 2016-07-05 03:11:21 +02:00
Shauren
e6a52d4aae Core/Spells: Fixed spell range check
Closes #17060
2016-07-01 20:26:49 +02:00
mik1893
fd88a67182 Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER (#17160)
* Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER
Closes #14972
2016-06-14 20:06:00 +01:00
Shauren
f765e8eb73 Core/Spells: Fixed all cases of spells that crash the client when pressing ESC after being cast 2016-06-13 22:02:44 +02:00
treeston & Keader
25c5570f47 AI/PlayerAI: Finally implement cast logic for controlled players. 2016-05-31 15:05:35 +02:00
Shauren
9246189b98 Core/Spells: Implemented SPELL_ATTR1_DISMISS_PET
Closes #7372
2016-05-26 16:04:16 +02:00
ForesterDev
fb0881398a Core: updated creature type flags enum (#17128)
Core/Misc: Update CreatureTypeFlags enum according to TrinityCoreWiki
2016-05-26 10:56:50 +02:00
Alan Deutscher
e7a12edb83 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-05-18 11:06:24 +02:00
Treeston
2ae85d86d3 Merge pull request #17037 from Keader/TargetedMovementGeneratorFix
Core/Movement: Fix issues where creatures cancel spell casts chasing target and Implement SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING
2016-05-13 23:20:47 +02:00
Nawuko
bf2cee8cce Core/Movement: Fix issues where creatures cancel spell casts chasing target and Implement SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING 2016-05-11 20:54:50 -03:00
treeston
4b15369378 Core/Spells: Check TRIGGERED_DONT_REPORT_CAST_ERROR flag in SendCastResult rather than CheckCast.
Fixes and closes #16836.
2016-05-11 18:33:43 +02:00
Kittnz
190c75c566 Merge pull request #16476 from Eliminationzx/FixWrongTotemPlacement
[3.3.5][6.x] Core/Spells: Fix wrong totem placement
2016-05-09 20:16:37 +02:00
Incorrect
1aa30d3cce Core/Spells: Fixed overwriting summon requests
Closes #17049
2016-05-01 12:31:55 +02:00
joschiwald
25da16ba44 Core/SpellScripts: allow to modify target destination of all target type 2016-04-23 16:13:12 +02:00
Shauren
a9b4375bb7 Core/Spells: Don't report spell errors to client when spell was triggered and failed some internal condition 2016-04-09 15:31:26 +02:00
treeston
f37682b7ed Merge branch '3.3.5-naxxcleanup' into 3.3.5. (PR #16524) 2016-03-23 20:17:17 +01:00
treeston
f8a6ab8ac5 No, Travis, I do not intend to handle SPELL_GROUP_STACK_RULE_MAX. It is not a value that should ever be actually used. Go away. 2016-03-23 18:13:02 +01:00
treeston
21cfacfba7 Entities/Pet: Finally fix pets spamming Blood Pact/Fel Intelligence in some scenarios. Your eardrums will thank me. 2016-03-23 18:09:33 +01:00
Vincent-Michael
5e74c2223b Core: Remove whitespaces 2016-03-16 21:40:15 +01:00
treeston
f4f7e6324d Scripts/Naxxramas: Clean-up and bug-fix megacommit. Read the full commit message if you care.
- Maexxna:
  - No longer packages pets and returns them to sender. Web Wrap now only targets players.
- Heigan the Unclean: Ripped its guts out.
  - Instance script hacks are gone.
  - GO spawns (done using the time-honored TC tradition of "eh, this'll work") are gone. You could say I evacuated the dance floor.
  - Sniffed spawns for all segments of the room. Because if you don't dance - well, you're no friends of mine.
- Loatheb:
  - First spore now spawns properly after 18 seconds on 10-man (down from 36 seconds). Time between subsequent spawns is unchanged.
- Thaddius:
  - Instance script hacks are gone. Again. Feels good man.
  - Players no longer drop out of combat during the phase transition. Put your snacks away, this is supposed to be a tense situation!
  - Thaddius will no longer savagely punish the main tank for stepping out of melee range for a fraction of a second by turning around and ball lightning-ing someone in the face. Typically a healer. He hates healers.
  - Thaddius will instead take out his frustration on another melee range target if available by smacking them in the face with his fists. It hurts, but a Ball Lightning would've hurt more. Blame the tank.
  - Feugen and Stalagg have been re-educated to improve their patience when a new target is flying towards them. They will no longer move while Magnetic Pull targets are mid-air, which should prevent them from running off their platform while the warrior helplessly flails trying to get them back.
- Instructor Razuvious:
  - Razuvious has been informed that Rubik's Cubes become noticably easier to solve if you buy six-colored ones. Thus, he will no longer take out his frustration out on raid groups by throwing unsolved two-colored variants at them. Fixes and closes #14966.
  - Death Knight Understudies will now realize that their situation is Hopeless even if they're currently mind controlled by a player. Apparently, if your situation is hopeless you take 5000% extra damage. No, that is supposed to be three zeroes.
- Gothik the Harvester:
  - Gothik has been schooled in proper Shadow Bolt spamming etiquette and will now take a brief pause to catch a breath and recompose himself between bolts.
- The Four Horsemen:
  - Will no longer stop and stare at the group sometimes when engaged instead of starting the encounter.
  - Horsemen can no longer be affected by stun, snare and shackle (heh, yeah, you could totally shackle Baron Rivendare) effects. It's called "Four Horsemen" after all, not "Three Horsemen that never attack because their friend can't move".
- Sapphiron:
  - When attempting to FREEZE THE BLOOD IN YOUR VEINS... Wait, no. Wrong boss. I was thinking of #16634.
  - Anyways, when freezing people into an Ice Block, Sapphiron now takes care to actually place the block on top of the frozen player, even if they were moving or jumping when the bolt hit them. Yay for positioning clarity!
  - Sapphiron has been sent to take multiple mandatory courses in "How to treat raid parties fairly while attempting to murder them" and will thus...
    - ...now properly pause after taking off to allow players to get into position before smacking them with ice bolts
    - ...no longer deal damage to players inside an Ice Block while they cannot fight back.
  - Being forced to attend the courses mentioned above has led to a large amount of pent-up frustration, which Sapphiron relieves by quite forcefully flapping his wings during take-off. Players immediately below him are now properly knocked back.
  - In addition, Kel'thuzad was sick of Sapphiron's continous pouting and allowed him to make Blizzard more malicious in exchange. Blizzard will now properly spawn near players and chase them down instead of pathing randomly.
- Also, tons of code style cleanups and hack removal that wasn't mentioned above. Read the diff if you really care.
2016-03-08 13:36:57 +01:00
joschiwald
b4b43d03b3 Core/Spells: spells with SPELL_ATTR1_NO_THREAT also causes no initial aggro 2016-02-10 22:35:23 +01:00
Shauren
aa432db36d Core/Maps: Changed the way area data is stored in maps, it now uses ID field from AreaTable.dbc instead AreaBit used for exploration marker (and is not unique anymore on top of simply being stupidly confusing)
Note: Extracting maps is required
(cherry picked from commit db0b8bf24e)

# Conflicts:
#	src/server/game/Achievements/AchievementMgr.cpp
#	src/server/game/Chat/Chat.cpp
#	src/server/game/Conditions/ConditionMgr.cpp
#	src/server/game/DataStores/DBCStores.cpp
#	src/server/game/DataStores/DBCStores.h
#	src/server/game/DataStores/DBCfmt.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Handlers/BattleGroundHandler.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Spells/Spell.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/scripts/Commands/cs_go.cpp
#	src/server/scripts/Commands/cs_group.cpp
#	src/server/scripts/Commands/cs_lookup.cpp
#	src/server/scripts/Commands/cs_misc.cpp
#	src/tools/map_extractor/System.cpp
#	src/tools/mmaps_generator/TerrainBuilder.cpp
2016-02-09 18:19:28 +01:00
Elimination
37b2f590b6 Fix wrong totem placement 2016-02-05 22:47:47 +07:00
Shauren
3f886025a2 Core/Spells: Ignore category cooldowns for triggered spells.
* This fixes weird issues where triggered spell fails because it has the same category as the spell triggering it

Closes #15794
Closes #15048

(cherry picked from commit 044edced9a)
2016-01-22 22:14:28 +01:00
treeston
233297c5c8 Merge branch '3.3.5-spellfacing' into 3.3.5-base (PR #15641) 2016-01-13 18:38:54 +01:00
treeston
f481ae1048 Core/Spells: Creature spellcast facing rework:
- Fixes creatures turning just before a spellcast finishes and smacking players with supposedly-unavoidable damage. Fixes and closes #15393, #10803, and probably others.
- Fixes visual effects not lining up with the correct target for spells that have their visual aligned with the caster's orientation (examples: Anub'rekhan Impale, Ingvar's Smash/Dark Smash, etc.). Fixes and closes #2947 and probably a bunch of others, including the aforementioned #15393 and #10803.
- Creatures' displayed target now properly matches the unit they are targeting with spells for a split second (blizzlike). This is necessary to get proper client-side orientation.
2016-01-13 18:35:44 +01:00
jackpoz
b39216eed3 Merge pull request #16186 from ariel-/spellmodcharges
Core/Spells: Fix redundant mod charge drop and spell crit calc
2016-01-09 16:51:39 +01:00
ccrs
e5d4005cc6 Core/Spells: Fixed Raise Ally
thx @Nayd for sniffs :)
thx @Shauren for helping to find all spell involved

* There is no implementation for stats update on Puppet class (only on Guardian) so same SummonProperty as Raise Dead Ghoul (non pet) is used.
(Default SummonProperties set category to SUMMON_CATEGORY_PUPPET)
* Override the Summon Effect to enable charm and stats scaling.
* PlayerAI is used to handle unaura on ghoul despawn or dead.
It's necessary due to the fact that all script hooks on ScriptedCreature are called on an unactive CreatureAI, resulting in creature being unable to handle unaura calls.
* Create UpdateAI call for Player class
* Stats scaling is based on forum and wowhead comments, they recall this ghoul as a copy of the other one (same stats).
* Spellscript for Ghoul spell Thrash

Closes #82
Closes #14830
2016-01-08 00:10:15 +01:00
ariel-
f810db72a9 Fix redundant calculation of spell critical chance, fix spellmods being dropped twice.
Closes #7315
2016-01-04 19:01:02 -03:00
Rushor
923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
Shauren
e9bd786351 Merge pull request #15763 from ShinDarth/channeled
[3.3.5] Fix conflicts between duration and cast time of channeled spells
2015-11-25 18:31:33 +01:00
ShinDarth
246e568bbd Core/Spells: fix conflicts between duration and cast time of channeled spells 2015-11-25 18:21:52 +01:00