Commit Graph

46 Commits

Author SHA1 Message Date
QAston
3137a82c7c Core/Spells: Cleanup in Spell.h:
- Codestyle (fix function naming) and cleanup changes in SpellCastTargets class, also access variables of this class by getters/setters
 - Move IsQuestTameSpell function to SpellMgr.h
 - Move UnitList typedef to Unit.h
Additionally - add missing copyright notice to SpellAuraEffects.h
2011-06-23 13:28:52 +02:00
click
f778c5e739 Whitespace cleanups... 2011-06-18 19:51:28 +02:00
tobmaps
1abdb65f5a Core/Misc: Cleanups, code style and typo fixes 2011-06-16 20:08:28 +07:00
click
158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
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
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
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
QAston
ca8eb707d7 Core/Auras:
- Use safer order of calls in AuraEffect handlers (unit modification goes before any calls which may result in linked events execution)
 - Allow manual removal of further effects of an aura during aura removal (so Unit::RemoveAurasByType works well in such situations)
2011-05-25 15:13:55 +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
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
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
QAston
b5e78bf208 Core/Auras: Move code which uses polymorphism out of Aura constructor. 2011-02-06 13:17:29 +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
click
464f1a9f8f Core: Kill off some warnings
--HG--
branch : trunk
2010-12-27 22:58:22 +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
0c04b178db Scripts/Icecrown Citadel: Minor adjustments and compile warning fixes
--HG--
branch : trunk
2010-12-14 15:46:54 +01:00
QAston
59c1a238f5 Scripts/AuraScript: Make AuraApplication in OnEffectPeriodic never be NULL.
Scripts: remove some unnecessary NULL checks from scripts.

--HG--
branch : trunk
2010-12-05 21:38:52 +01:00
QAston
f8a4312701 Core/ScriptSystem: Add compile time type check of function assigned to hooks -
prevents incorrect function calls. Since this rev you have to put
PrepareAuraScript(<yourscriptclassnamehere>) at the beginning of every aura
script.

--HG--
branch : trunk
2010-10-08 22:33:21 +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
click
613b81f36f REALLY fix the CRLF-crap...
--HG--
branch : trunk
2010-10-07 15:54:07 +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
Shauren
692779f283 Core/Scripts: Added possibility to disable default aura effects for the whole duration of aura (PreventDefaultAction works per script call, PreventDefaultEffect is global)
Scripts/Icecrown Citadel: Corrected aura scripts for new PreventDefaultEffect, thx QAston for pointing it out
SQL: Corrected name for 9599 vehicle accessory
SQL: Fixed import errors in 9600_world_script_texts.sql by Supabad

--HG--
branch : trunk
rename : sql/updates/9599_vehicle_accessory.sql => sql/updates/9599_world_vehicle_accessory.sql
2010-08-26 15:32:08 +02:00
Shauren
73d3f210a9 Scripts/Icecrown Citadel: Add script for Deathbringer Saurfang (only missing alliance outro due to need of spawning and moving a transport)
Scripts/Icecrown Citadel: Corrected Lord Marrowgar, should no longer target tanks with Bone Spike Graveyard, his Coldflame should now spread properly
Core/Scripts: Moved Lady Deathwhisper Mana Barrier handler to scripts
Core/Scripts: Allow AuraScript to prevent default effects by effect index
Core/Scripts: Added Is25ManRaid() method to ScriptedAI, obviously used to check if raid is 25man
Core/Achievements: Pass m_caster to UpdateAchievementCriteria for ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET

--HG--
branch : trunk
2010-08-21 20:50:38 +02:00
Spp
9e4357c9ad Core: Fix more warnings
--HG--
branch : trunk
2010-08-24 14:44:56 +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
Spp
c3343638cb Core: Remove lots warnings:
- All "'xxx' will be initialized after 'yyy' when initialized here"
- Some "unused variable"
- Some "enumeration value 'xxx' not handled in switch"

--HG--
branch : trunk
2010-08-21 20:08:47 +02:00
QAston
6714feb3ee *Add script hooks for SpellScript class - now you can use BeforeHit, OnHit, AfterHit hook lists.
--HG--
branch : trunk
2010-08-21 20:18:54 +02: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
7308c112bb *Add some more comments to SpellScript methods
*Remove forgotten error log

--HG--
branch : trunk
2010-07-25 02:05:12 +02:00
QAston
cdd56dc2b6 *Really fix *nix build. Thanks to Visagalis for testing.
--HG--
branch : trunk
2010-07-25 00:36:32 +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