Commit Graph

146 Commits

Author SHA1 Message Date
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
linencloth bf888285aa Core:
- Redesigned stealth and invisibility handling
  - Implemented the handling of multiple stealth types
- Implemented fake inebriation
- The message deliverer no longer sends packets from a non-visible source
  - The server won't send that much garbage which just takes bandwith
  - It won't be possible to use cheats to detect invisible objects
- Removed a lot of checks for the Z-coord
  - Fixes visibility problems happening while flying
- Limited the grid activation range of creatures to use less resources
- Implemented Shroud of Death
- Implemented increased visibility range for active objects
- Removed visibility check at spellhit (only sanctuary effects should prevent it)
(And a lot of other changes...)

Closes issue 4208
Closes issue 3049
Closes issue 2097
Closes issue 2198
Closes issue 2384
Closes issue 2197
Closes issue 2319

--HG--
branch : trunk
2010-11-13 17:18:09 +01:00
Shauren 2da116a417 Reverted revision d8e919eb3a7b
--HG--
branch : trunk
2010-11-09 15:39:52 +01:00
Xanadu 87b77b0ca4 Core/Items: Added a forgotten break in item enchant checks.
--HG--
branch : trunk
2010-11-08 23:43:50 +01:00
Shauren f658176df8 Core/Spells: Enchanting items using a vellum is no longer possible in trade
Closes issue #2990.

--HG--
branch : trunk
2010-11-04 21:59:27 +01:00
Rat e68c149e69 Core/ConditionMgr: use chamer/owner player for spell condition check where avaliable
--HG--
branch : trunk
2010-10-31 22:37:54 +01:00
Rat 9a02ae79c9 Core/Conditions: fixed a typo in logging
--HG--
branch : trunk
2010-10-31 15:39:09 +01:00
Shauren d03aeab9ad Scripts/Icecrown Citadel: Added Blood Prince Council script
Scripts/Icecrown Citadel: Festergut will not cast Vile Gas on melee targets if there are at least 3 (25 man: 8) ranged targets
Scripts/Icecrown Citadel: Festergut and Rotface gates will close with delay (when Putricide reaches the balcony)
Scripts/Icecrown Citadel: Replaced ASSERT(instance) with code disabling the AI if not inside instance
Core/Spells: Fixed TARGET_DEST_TARGET_RANDOM usage
Core/Scripts: Extended DamageDealt in AI to accept damage type as 3rd parameter
Scripts/Quests: Fixed quest "Unholy Infusion" (24749)

--HG--
branch : trunk
2010-10-24 21:27:02 +02:00
_manuel_ 3ee05b26ce Core/Spells: Now you can cast the Water Elemental's Freeze without cancelling its Waterbolt.
Author: dr.tenma

Fixes issue #4215

--HG--
branch : trunk
2010-10-22 17:22:38 -03:00
Shauren 09260ee6c1 Scripts/Forge of Souls: Revisited Bronjahm script, removed ugly hacks and fixed spells properly
--HG--
branch : trunk
2010-10-18 13:19:04 +02:00
Shocker e38e590ec8 Core/Spells: Really move spec changing InBattleground check to its correct location
--HG--
branch : trunk
2010-10-16 17:53:33 +03:00
Shauren 8a17d95647 Scripts/Icecrown Citadel: Added Professor Putricide script
Scripts/Icecrown Citadel: Fixed Professor Putricide gate opening when both Rotface and Festergut are dead
Scripts/Icecrown Citadel: Added script updating entries of NPCs at Light's Hammer depending on faction
Scripts/Icecrown Citadel: Rotface should not pick main tank as target for Slime Spray (removed debugging code)
Core/Spells/Conditions : Spell script target condition now accepts ConditionValue3 as affecting effect mask (only search targets with matching mask)

--HG--
branch : trunk
extra : rebase_source : 943e3bac5d9063974d7f7132f144e91946f825d4
2010-10-16 16:34:21 +02:00
Shauren 9a47bc96a1 Scripts/Icecrown Citadel: Added Rotface script
Scripts/Icecrown Citadel: Corrected death speech for Stinky and Festergut
Scripts/Icecrown Citadel: Fixed Boned! achievement conditions

--HG--
branch : trunk
2010-10-09 16:50:03 +02:00
QAston 1760e42e2c Core/ScriptSystem: Add compile time type check of function assigned to hooks - prevents incorrect function calls. Since this rev you have to put PrepareSpellScript(<yourscriptclassnamehere>) at the beginning of every spell script. Yes, i know it's unhandy, but unfortunately C++ preprocessor is very limited, so you have to do that extra work each time you write a script:(.
--HG--
branch : trunk
2010-10-08 21:33:44 +02:00
QAston e5e53498ce Core/Spells:
- Add more descriptive enumerator of procflags - now clearly pointing out that proc flags are dependant to the spell dmg class of the spells causing procs.
 - Define and implement PROC_FLAG_DONE_MAINHAND_ATTACK.

--HG--
branch : trunk
2010-10-08 19:17:49 +02:00
click f0c4241ea4 Remove the accidental additions of CRLF-crap from the header updates
--HG--
branch : trunk
2010-10-07 15:35:36 +02:00
click 8ea4b32fab Update copyright headers (following the same standard in all files = good)
--HG--
branch : trunk
2010-10-07 12:41:56 +02:00
QAston cac4cfda42 Core/ScriptSystem: Add missing script call preparation for SpellScripts - fixes issues with core false alarms after recent changes
--HG--
branch : trunk
2010-10-05 08:17:10 +02:00
QAston 69057dcaeb Core/ScriptSystem/SpellScripts: Runtime checks for functions working only during spell hit phase
--HG--
branch : trunk
2010-10-04 19:12:20 +02:00
QAston caaa77deb2 Core/ScriptSystem:
Add basic code for runtime checks of function calls in AuraScripts
 Make AuraScript::PreventDefaultAction() do not take parameters and add description for the function
 Remove PreventDefaultEffect() from aura script, use PreventDefaultAction() instead
 Unload aura scripts memory on aura delete

--HG--
branch : trunk
2010-10-04 17:44:49 +02:00
Xanadu eb1b037611 Core/Spell: * Removed proc overrides for some AoE spells that really shouldn't be there on WotLK. Fixes all Improved Blizzard procs and breaking stealth by Blizzard, Volley, Hurricane, RoF.
* Closes issue #3100. Closes issue #3711. Makes dr.tenma smile.

--HG--
branch : trunk
2010-09-29 01:50:07 +02:00
Shauren fe84720720 Core/Spells: Fixed compile warnings added in previous revision
--HG--
branch : trunk
2010-09-28 18:57:19 +02:00