Commit Graph

41 Commits

Author SHA1 Message Date
QAston b9e8e6d3b4 Core/Auras: Add functions for common actions on aura charges. 2011-06-07 17:26:27 +02:00
QAston 7b5b95966e Core/AuraScript: Add DoCheckAreaTarget hook to allow explicit area aura target selection. 2011-05-31 20:24:44 +02:00
QAston 42a20f14ef Core/Auras: Use existing aura object on aura reapply/stack increase instead of creating a new one.
You can hook on reapply/stack event by checking for AURA_EFFECT_HANDLE_REAPPLY aura handler mode, AURA_EFFECT_HANDLE_REAL is now not triggered on aura refresh/stack.
2011-05-29 13:18:47 +02:00
QAston fb1772e8c9 Core/AuraScripts: Allow to use AuraScript::GetTarget in AfterEffectRemove and AfterEffectApply hooks. 2011-05-26 17:44:07 +02:00
QAston 0762791754 Core/AuraScripts: Fix runtime error messages appearing in aura scripts when one hook is called from inside of another one. 2011-05-26 16:12:33 +02:00
QAston 0eb89fc282 Core/SpellScripts: Better debug output on startup script validation. 2011-05-25 18:00:35 +02:00
QAston a1b8fd2054 Core/AuraScripts: Add AfterEffectRemove and AfterEffectApply hooks, to allow safe triggering of spellcasts or other actions which may call linked events while OnEffectApply and OnEffectRemove are still there for overriding the way effect is handled on target. 2011-05-25 17:13:32 +02:00
Shauren b8a7eace3e Core/Scripts: Print error when attempting to retrieve aura application target in script hook which does not have one 2011-05-19 13:22:17 +02:00
Az@zel 52bc1e5fd3 Core/Misc: more warning fixes (some of them were real logical flaws - comparison of unrelated types) (Thanks to Tassader for pointing out that one line was completely unnecessary) 2011-05-11 12:32:54 +06:00
leak 1003f30448 Add spaces after commas 2011-04-29 20:47:02 +02:00
Shauren 8568f19e5d Scripts/Examples: Corrected code style in spell script examples 2011-04-27 18:58:40 +02:00
Shauren 8898db8b27 Core: Corrected NULL usage, it should only be used with pointers, not integers 2011-04-23 15:53:48 +02: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
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 957c69de83 Update copyright note for 2011.
Happy new year.
2011-01-01 15:01:13 +01:00
QAston 8cd2c73e45 Core/ScriptSystem: Add OnEffectManaShield and AfterEffectManaShield hooks to AuraScript class. Usage of these is the same as similar Absorb hooks.
Scripts: Move Incanter's Absorbtion script from Unit::CalcAbsorbResist to AuraScript.
2010-12-30 19:05:19 +01:00
QAston c8adcc95f9 Core/Unit: Move spell specific code from Unit::CalcAbsorbResist to AuraScripts. 2010-12-30 02:03:46 +01:00
QAston ef968f4b15 Core/Unit: Big cleanup in Unit::CalcAbsorbResist
Core/AuraScript:
	Fix compile time check for AuraScript functions
	Remove AuraApplication from hook functions parameter list, use GetTarget() and GetTargetApplication() instead
	Add OnEffectAbsorb hook
Scripts: move handlers of Spell Deflection, Savage Defense, Primal Tenacity, Nerves of Steel, Astral shift from core to scripts.

--HG--
branch : trunk
2010-12-27 20:14:54 +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
QAston bb2a715afc Core/Scripts: Comment out code sanitizing hook type - will be fixed soon.
--HG--
branch : trunk
2010-12-06 07:16:39 +01: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
azazel 3bd1ee0665 Fix most of the recently introduced warnings
--HG--
branch : trunk
2010-10-16 13:32:30 +06: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
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 a67d7c9afd Copyright header updates - part 3... (and some whitespace cleanups)
--HG--
branch : trunk
2010-10-07 14:00:52 +02:00
click df66aee929 Yet more copyright header updates
--HG--
branch : trunk
2010-10-07 13:38:35 +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 abe769a310 Core/ScriptSystem: Extend SpellScript API by spell focus targets accessors.
--HG--
branch : trunk
2010-10-04 20:32: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
click bf664b7a44 Cleanup/Core: Remove whitespace and tabs
--HG--
branch : trunk
2010-09-12 01:40:27 +02:00
click e5337169c8 Core: Fix non-PCH builds - defining SpellScripts before we have the auraApplications defined will not work
--HG--
branch : trunk
2010-08-24 16:07:52 +02:00
QAston 07a3a1254b *Add AuraScript class for scripting aura objects - scripts are registered same way as SpellScripts, bound to SpellScriptNames table. For more details see example_spell.cpp and SpellScript.h
*Rename SpellHandlerScript to SpellScriptLoader, EffectHandlerFn to SpellEffectFn, HitHandlerFn to SpellHitFn, SpellScript::EffectHandlers to SpellScript::OnEffect, these changes were neccesary to prevent namespace collisions, happily you can solve these by simple find and replace
*Make spells 66244 and 5581 example scripts.

--HG--
branch : trunk
2010-08-24 00:10:49 +02:00
azazel b0086ce4fc Fix logic in SpellScript (thanks Toni.Shocker)
--HG--
branch : trunk
2010-08-22 13:04:10 +06:00
QAston 30bcf8c659 Scripts/Spell: extend SpellScript class: add target aura accessors and functions which prevent various effects of the spell from being executed. Check out SpellScript.h for details
--HG--
branch : trunk
2010-08-19 14:31:31 +02:00
azazel 66fcd52106 Add more methods to SpellScript.
Spells cleanup: move spells from the core to scripts.

* Shaman spells: 39610 Mana Tide Totem, 1535 Fire Nova (and ranks)
* Death Knight spells: 55090 Scourge Strike (and ranks), 49158 Corpse Explosion (and ranks), 50524 Runic Power Feed
* Druid spells: 54846 Glyph of Starfire
* Warlock spells: 6201 Create Healthstone (and ranks), 47422 Everlasting Affliction, 47193 Demonic Empowerment, 63521 Guarded by The Light
* Hunter spells: 37506 Scatter Shot, 53412 Invigoration, 53209 Chimera Shot
* Quest spells: 45449 Arcane Prisoner Rescue (quest 11587), 46023 The Ultrasonic Screwdriver (quest 11730). Closes issue #3068

Clean old code for hunter's Heart of the Phoenix, move script effect of hunter's Master's Call to corresponding script.
Move DK's Hungering Cold to spell_scripts table (needs DB support)

--HG--
branch : trunk
2010-08-18 00:20:23 +06:00
click 1f80c7b3c0 Sourcefile sleanups -> tabs to spaces, remove whitespace - also update the cleanupscripts very slightly
--HG--
branch : trunk
2010-08-08 19:45:53 +02:00
click 2b9275424e Fix non-PCH build
--HG--
branch : trunk
2010-07-27 04:31:27 +02:00
QAston fce1f5b014 *Extend API of SpellScript by Dest and Damage/Heal setters and getters.
*Make some SpellScript function names shorter.

--HG--
branch : trunk
2010-07-25 16:23:57 +02:00
QAston 2352fc7cdf *Add base scripting interfce for spells - thanks to Brian for help in making it compile with GCC.
*Add hook for handling spell effects in new scripting system.

--HG--
branch : trunk
2010-07-24 22:41:42 +02:00