Commit Graph

643 Commits

Author SHA1 Message Date
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
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
jackpoz
1511855fea Merge PR #14824 'tkrokli/spell_mod_stealth_stand_state' into 3.3.5 2015-11-22 15:37:32 +01:00
Carbenium
1438c841ed Core/Player: Move TradeData to its own file
(cherry picked from commit 2d7d6f505c)

Conflicts:
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Handlers/TradeHandler.cpp
	src/server/game/Spells/Spell.cpp
2015-11-14 13:40:32 +01:00
robinsch
5f24fd6c51 [3.3.5] Core/Spells: break Stealth and modify Stand State
by @robinsch; closes #14819

Currently (562da2e), only harmful CC spells will break stealth and modify the unit stand state.
This behaviour is wrong. Any harmful spell hit should break stealth and modify the stand state.

There are a few exceptions for this mechanic, such as:
- Mass Dispel (priest spell ID 32375, 32592, 39897)
- Earthbind Totem (Pulse) (spell ID 3600)
- Distract (rogue spell ID 1725)
2015-11-10 05:33:53 +01:00
Shauren
965d29484b Core/Items: Corrected all spellid checks from item_template to also check -1
Closes #15797
2015-11-01 16:29:29 +01:00
Shauren
cba122ad94 Core/Conditions: Optimizations part 3 removed copying condition containers all over the place
(cherry picked from commit b09e63e9de)
2015-10-31 20:26:40 +01:00
Shauren
dc74454356 Core/Conditions: Type renaming
(cherry picked from commit 5e0cee85dd)
2015-10-31 20:26:40 +01:00
Shauren
7dcddd90be Core/Spells: Improved spell category cooldown handling
* Category cooldown is stored with the spell that started the cooldown (and only resetting cooldown on that spell will clear cooldowns on entire category - this fully mirrors client behavior)
* This significantly reduces the amount of data saved to database for cooldowns
* Spell casts from items that have a different category specified than on spell will now check for cooldown during the cast

(cherry picked from commit 1efb3f08e2)

Closes #15766
Closes #15137
Closes #14837
2015-10-29 17:56:18 +01:00
pete318
dcb7082277 Map local guids 6.x -> 3.3.35:
Implemented:
  ca83e14f8b
  ee1c1b97be
  18e4ab6911
  bf37446b3c
  cb854a2b7b

* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396e
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
* Added new function to return but not increment guid
* Adjusted .debug loadcells to show low guid in map before/after load
* Added debug messages for creature spawn/destroy, for map guid debugging
* Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.
2015-09-22 21:33:57 +02:00
StormBytePP
7b245a0b6b Core: Added ABORT() macro to prevent the usage of ASSERT(false) as a quick hack to crash the core misusing assert 2015-09-21 15:11:06 +02:00
jackpoz
ea4d9c0d9e Core/Misc: Remove unneeded ToCreature() casts
Remove some ToCreature() casts not needed anymore after 1ee90e1022 changes that moved IsPet(), IsTotem(), IsSummon(), IsGuardian(), IsHunterPet() and IsVehicle() from Creature to Unit
2015-08-12 14:05:14 +02:00
jackpoz
d243630acf Core/Misc: Remove unneeded ToCreature() casts
Remove some ToCreature() casts not needed anymore after 1ee90e1022 changes that moved IsPet() from Creature to Unit
2015-08-12 12:48:33 +02:00
jackpoz
3f3ff8b36b Merge pull request #15119 from robinsch/grounding
Core/Spells: Grounding totem fix

Fixes #15108
2015-08-08 21:11:55 +02:00
jackpoz
0a94382637 Core/Spells: Fix Charge "no path" error with even bigger targets
Addition to a328a11978 , clamp object size to [0,4] in case of very huge Creatures like Lord Marrowgar entry 36612
2015-07-28 21:11:55 +02:00
Shauren
b4adf3f5dd Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler
(cherry picked from commit a22e4e121a)

Conflicts:
	cmake/compiler/msvc/settings.cmake
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/Entities/GameObject/GameObject.cpp
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Entities/Object/Object.h
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Garrison/Garrison.cpp
	src/server/game/Garrison/GarrisonMgr.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Globals/ObjectMgr.h
	src/server/game/Guilds/GuildMgr.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/QueryHandler.cpp
	src/server/game/Handlers/QuestHandler.cpp
	src/server/game/Handlers/SpellHandler.cpp
	src/server/game/Server/Packets/ChannelPackets.h
	src/server/game/Server/Packets/PartyPackets.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/SpellInfo.cpp
	src/server/game/Spells/SpellScript.cpp
	src/server/scripts/Commands/cs_list.cpp
2015-07-24 11:51:48 +01:00
robinsch
f4b826002f #15108 2015-07-18 11:48:44 +02:00