Commit Graph

167 Commits

Author SHA1 Message Date
Azazel 6fb2bf4224 Core: use enum InventoryResult as return type for functions working with player items.
Original patch by TOM_RUS.
2011-04-29 16:48:15 +06:00
leak a82654debd Core/ObjectMgr: Refactor sItemStorage 2011-04-28 22:42:33 +02:00
leak 5aeb4fe794 Core/ObjectMgr: Refactor sInstanceTemplate 2011-04-28 22:16:13 +02:00
Shocker 2b1f6e29a2 Core/Spells: Fix Diminishing Returns for temporary pets (Water Elemental, Feral Spirit, etc) 2011-04-20 15:33:40 +03:00
SimonDMII e38634186c Core/Spells: fix Global Cooldown reset on spell cast interrupt. 2011-04-11 16:35:31 +06:00
Shauren 64caf2cdf2 Core/Spells: Add default handler for apply aura spell effect when both ImplicitTargets are 0, removed unused structure 2011-04-09 19:57:32 +02:00
Shauren 0ae5aca55e Core/Spells: Apply only 1.5 second cooldown to DK runes when spell misses its target 2011-04-07 23:13:35 +02:00
Shocker ba80f2fbdc Core/Spells: Fix area target search for spells with SPELL_ATTR2_ALLOW_DEAD_TARGET 2011-04-06 17:00:05 +03:00
Shauren 839680a6e9 Revert "Core/Spells: Check Line of Sight every channel spell tick"
This reverts commit 9194625466.

This is not blizzlike
2011-03-23 13:48:46 +01:00
Shauren 9194625466 Core/Spells: Check Line of Sight every channel spell tick 2011-03-22 23:56:57 +01:00
Shauren d9c050437e Core/Spells: Fixed exploit allowing people to keep reagents when enchanting in trade
Closes #1012
2011-03-22 16:09:55 +01:00
Supabad 40d1e61566 Scripts/Ulduar: Remove known hacks from leviathan, create workaround for shutdown event.
Added missing script to db and core.
2011-03-13 13:00:09 +01:00
Shauren 3ba47e529b Core/Spells: Attempts at summoning player to an instance will result in fail if the targeted player is saved to another instance instead of summoning him at summoner's position in a different instance 2011-03-09 23:07:50 +01:00
Shauren 7120f1eff8 Core/Spells:
* Implemented on CheckCast spell script hook
* Added possibility to send SPELL_FAILED_CUSTOM_ERROR and added enum with all possible options for it

Scripts/Spells:
* Added example script for CheckCast hook with SPELL_FAILED_CUSTOM_ERROR (profession research and Book of Glyph Mastery)
2011-03-04 21:19:43 +01:00
Shocker 43240f8c3d Core/Spells: Correctly give skill bonus provided by spells on cast, fixes Mining/Herbalism (and similar) exploits that allowed players to mine/gather anything with any skill 2011-03-01 17:47:53 +02:00
Azazel 6a4fd1c780 Core/Spell Mechanics: remove redundant call to AddGlobalCooldown left from previous GCD checks implementation (thanks Machiavelli for spotting)
Core/Logs: fix one more log message for Aokromes
2011-02-22 23:20:21 +06:00
darkstalker 1646f9d91c Core/Spell Mechanics: introduce global cooldown manager for server-side checks for GCD (ported from mangos) 2011-02-22 17:02:47 +06:00
Machiavelli e07e20ffca Core/Log: Implement log masks for debug log level, to allow selective debug output. Update your worldserver.conf. 2011-02-20 20:16:34 +01:00
Azazel 4dc1eaa47c Core/Misc: improve error log messages by adding more info. Specially for Aokromes. 2011-02-17 19:47:08 +06:00
Shauren 8d5ebded8c Core/Spells: Moved dungeon encounter crediting to scripts 2011-02-04 11:27:02 +01:00
Shauren c2b0bcbd6c Core/Instances: Implemented DungeonEncounter.dbc for creating completed encounters mask to use in packets
Core/Dungeon Finder: Implemented new way of giving random dungeon rewards, linked to DungeonEncounter.dbc
2011-02-03 22:20:40 +01:00
leak 137b079eea Core: Generic cleanup (tab2spaces/trailing whitespace removal) 2011-01-26 01:03:35 +01:00
Shauren 5adf9c5d30 Scripts/Spells: Moved all special target filtering cases to scripts 2011-01-22 17:21:24 +01:00
Shauren c2690f748b Scripts/Spells: Implemented UnitTargetHandler spell script hook, it can be used to filter area targeting spells 2011-01-21 23:42:51 +01:00
Machiavelli 38816cb1df Core/Spells: Implement SPELL_ATTR6_IGNORE_CROWD_CONTROL_TARGETS (0x00000100). Spells with this attribute flag (Avenger's Shield, Hammer of Righteousness, Shield of Righteousness, Felguard Cleave, Fel Iron Bomb) will ignore secondary targets that are under the effect of crowd control aura's.
Thanks to Shauren for advices.
2011-01-15 19:40:06 +01:00
Shauren 458c7c642f Core/Spells: Fixed Glyph of Pain Suppression
Signed-off-by: Shauren <shauren.trinity@gmail.com>
2011-01-14 20:24:39 +01:00
Shauren 8d59953f93 Scripts/Icecrown Citadel
* Call EnterEvadeMode before teleporting players to entrance - prevents players being stuck in combat
* Fixed Gaseous Blight stacking damage
* Properly initialize phase for Professor Putricide when entering combat
* Fixed Blood Nova and Boiling Blood abilities of Deathbringer Saurfang
2011-01-12 22:50:51 +01:00
Anubisss 806794d4ce Fix a crash in Spell::CheckCast().
This crash happens when effect is SPELL_EFFECT_TALENT_SPEC_SELECT and the caster is not a player.
You should always check object's type (or sure that object is 101% a player) before you use ToPlayer() casting function.

Signed-off-by: Anubisss <anubisss210@gmail.com>
2011-01-12 02:06:06 +01:00
sarjuuk 0cf89f635f Core/Spells: Starfall skips targets in stealth, invisibility or not in LoS
Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>

Also minor codestyle fixes from previous commits
2011-01-06 19:57:36 +01:00
Machiavelli 957c69de83 Update copyright note for 2011.
Happy new year.
2011-01-01 15:01:13 +01:00
Shauren f00a589b2a Scripts/Icecrown Citadel: Mutated Abomination should not damage its owner
Closes issue #5252.

--HG--
branch : trunk
2010-12-26 17:15:41 +01:00
click 088ed9404b Core/Entities: Fix a minor disrepancy in the handling of weapon specializations introduced in revision a83f26ef71 - patch by Dr.Tenma
Fixes issue 5059.
Fixes issue 5265.

--HG--
branch : trunk
2010-12-25 04:03:04 +01:00
Shauren 928443d899 Core: Removed more operator workarounds for ACE_Singleton (missed previously because of inconsistent naming)
--HG--
branch : trunk
2010-12-23 23:25:44 +01:00
Shauren 66b4c8003c Core/Spells: Removed a really retarded hack that searched for GameObject targets 50 yards further than it should
--HG--
branch : trunk
2010-12-22 23:04:05 +01:00
Shauren 0f3b9019a8 Core: Get rid of dirty operator workaround for ACE_Singleton class implementation
--HG--
branch : trunk
2010-12-22 21:25:23 +01:00
Shauren 7b4e1c6387 Core/ObjectMgr: Static members are no longer accessed through singleton
--HG--
branch : trunk
2010-12-22 20:23:47 +01:00
linencloth 59da698189 Core: Rename spell attributes, use more general names
--HG--
branch : trunk
2010-12-19 05:15:47 +01:00
silinoron 41a9d3216c Core/Auras: Fix Cold Blood handling on misses and parries.
Patch by dr.tenma.
Fixes issue #2291

--HG--
branch : trunk
2010-12-18 13:06:38 -08:00
Shauren 82f45966fc Core/Unit: Renamed addUnitState/hasUnitState/clearUnitState to AddUnitState/HasUnitState/ClearUnitState
Core/Vehicles: Allow the vehicle to always damage the passenger (removed unneded dbc hacks from scripts)

--HG--
branch : trunk
2010-12-17 13:43:24 +01:00
azazel d2d62eab50 Cleanup: implemented helper methods for manipulating percentage calculation and used it where appropriate (plus fixed some other warnings).
NOTE: Initially I just wanted to fix some warnings, but noticed that there is no common method for percentage calculation and various formulas are used many time in the code making it difficult to read and understand what the code actually does. So, I introduced several template methods for calculating percent values and adding those values to the original base. I replaced all the raw calculations throughout the code where found, but I could have missed something or could have made a mistake. So, please report any strange behaviour after this commit.
If you ask me why I did it: for the sake of consistency and exact understanding what code means. If you see CalculatePct method, you clearly understand, that it find the value of x percent of y. And you can easily express, for example, spell behviour "reduces smth by x%" by the means of a method instead of recalling school maths.

--HG--
branch : trunk
2010-12-11 20:37:38 +06:00
leak 855b8bcd20 Core/Spells: Prevent Mind Sear from damaging the target itself. Patch by PrinceCreed.
Fixes issue 2534

--HG--
branch : trunk
2010-12-09 21:45:04 +01:00
azazel e7eb4e22e2 Core/Mechanics: cleanup shapeshift form code (by VladimirMangos)
--HG--
branch : trunk
2010-12-09 17:03:42 +06:00
QAston 7db1b39224 Core/Auras: backout r2bf34fd7ac and add alternative - not spell specific sollution for the problem.
--HG--
branch : trunk
2010-12-05 20:43:09 +01:00
silinoron 1b5ff62314 Core/Auras: Replenishment should stack duration, not several instances.
Patch by dr.tenma.
Fixes issue #4370.

--HG--
branch : trunk
2010-12-04 10:59:06 -08:00
Machiavelli bbf619c20d Core/Spells: Fix spell damage/healing multipliers for spells that affect multiple targets (ie. Heart Strike, Chain Lightning, Chain Healing)
Author: dr.tenma
Closes issue #4506
Closes issue #1874

--HG--
branch : trunk
2010-12-04 10:31:14 +01:00
Shauren e0c992a8ba Scripts/Icecrown Citadel: Added script for Blood Queen Lana'Thel
Scripts/Icecrown Citadel: Fixed Invocation of Blood announcement emote for Blood Prince Council
Scripts/Icecrown Citadel: Fixed intro for Lady Deathwhisper
Scripts/Icecrown Citadel: Fixed Bone Spike for Lord Marrowgar

--HG--
branch : trunk
2010-12-03 17:47:33 +01:00
linencloth 8fae0c176d Core/Units: Rename and change Get/SetVisibility to use a bool value instead of an unnecessary enum
Also replace some SetVisibility hacks to directly call UpdateObjectVisibility

--HG--
branch : trunk
2010-11-16 01:13:04 +01:00
Shocker a3ade4a49a Core/Spells: Partially implement SPELL_ATTR_EX_USE_RADIUS_AS_MAX_DISTANCE. Currently used for correctly setting destination, still needs handling for shared sight removal/controlled unit despawn when max distance is reached
--HG--
branch : trunk
2010-11-14 23:31:32 +02:00
linencloth 7811c89a93 Core/MovementGenerators: Don't remove evade state when clearing unit states.
Core/Spells: Don't start combat when the target is evading.
Closes issue 1861

--HG--
branch : trunk
2010-11-13 23:51:23 +01:00
linencloth 880ef0c398 Core/Spells: Fix spelleffect sanctuary
- No longer removes every attacker, but updates the visibility
  - Using that effect won't remove attackers that can still see through the stealth of the caster based on distance
- Ignores spells that were casted before or at the same time of that effect
- Trigger other needed spells when casting Shadowmeld

--HG--
branch : trunk
2010-11-13 18:04:56 +01:00