Commit Graph

23 Commits

Author SHA1 Message Date
kiper
8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
QAston
e949ad3adb Core/Spells: spell effect handling improvements
* Call spell effect handlers in 4 modes:
   - SPELL_EFFECT_HANDLE_LAUNCH - called when spell is launched (cast just finished)
   - SPELL_EFFECT_HANDLE_LAUNCH_TARGET - called when spell is launched for each target in spell target map
   - SPELL_EFFECT_HANDLE_HIT - called when spell hits its destination
   - SPELL_EFFECT_HANDLE_HIT_TARGET - called when spell hits it's target from spell target map
*Correctly implement SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE, SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE, SPELL_EFFECT_TRIGGER_MISSILE_SPELL
*Remove spell system hacks which became obsolete with this commit
Core/SpellScripts:
add OnEffectLaunch, OnEffectLaunchTarget, OnEffectHit, OnEffectHitTarget hooks for new effect handle modes and remove OnEffect hook.
A generic rule of thumb how to update your scripts (will work for nearly all cases) for spell system noobs:
if your spell script used GetHitXXXX function, you need to use OnEffectHitTarget, otherwise use
OnEffectHit
2011-09-25 13:29:50 +02:00
Spp
af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
QAston
b0fe236265 Core: Use new SpellInfo class in core. Sadly, this commit is not compatibile with some of the custom code. To make your code work again you may need to change:
*SpellEntry is now SpellInfo
*GetSpellProto is now GetSpellInfo
*SpellEntry::Effect*[effIndex] is now avalible under SpellInfo.Effects[effIndex].*
*sSpellStore.LookupEntry is no longer valid, use sSpellMgr->GetSpellInfo()
*SpellFunctions from SpellMgr.h like DoSpellStuff(spellId) are now: spellInfo->DoStuff()
*SpellMgr::CalculateEffectValue and similar functions are now avalible in SpellEffectInfo class.
*GET_SPELL macro is removed, code which used it is moved to SpellMgr::LoadDbcDataCorrections
*code which affected dbc data in SpellMgr::LoadSpellCustomAttr is now moved to LoadDbcDataCorrections
2011-07-26 23:09:28 +02:00
Spp-
6fd41ae50e Scripts: Reorder file names in Commands/CMakeList file and cosmetic changes in all scripts 2011-06-30 14:24:56 +02:00
click
158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
click
59f48c9bec Core: Clean up a lot of whitespace, and at the same time fix non-PCH building (again) 2011-05-22 17:27:56 +02:00
QAston
432136355e Scripts/Spell: Share some code for Incantner's Absorbtion script. 2011-05-15 19:04:09 +02:00
leak
137b079eea Core: Generic cleanup (tab2spaces/trailing whitespace removal) 2011-01-26 01:03:35 +01:00
Spp
bd2728eb74 Core: Fix some warnings 2011-01-11 11:18:00 +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
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
Shocker
c847d3c825 Core/Spells: Fix Glyph of Blast Wave (based on patch by dr.tenma), closes issue 3593
--HG--
branch : trunk
2010-09-28 09:11:41 +03: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
58e94dcb9d Core: Fix more warnings
--HG--
branch : trunk
2010-08-23 14:10:24 +02:00
azazel
f413d60908 * Move all movable spell effects from core to DB. Needs DB support.
* Fix some compile errors made in previous commits.

--HG--
branch : trunk
2010-08-07 01:02:09 +06:00
silinoron
14459bc467 Convert spell scripts to new system.
--HG--
branch : trunk
2010-08-06 11:35:39 -07:00
XTZGZoReX
7f6fe6394c * Converted hunter spell scripts to the new format (mostly for example purposes for the rest of the team).
--HG--
branch : trunk
2010-08-06 19:46:02 +02:00
silinoron
e7e49c56cf Cleanup the mage spell scripts, and move SPELLFAMILY_PRIEST and SPELLFAMILY_ROGUE dummy effect handlers to spell scripts.
--HG--
branch : trunk
2010-07-27 21:12:40 -07:00
silinoron
297b7aac1b Move SPELLFAMILY_MAGE dummy effect handlers to spell scripts.
--HG--
branch : trunk
2010-07-26 19:05:20 -07:00
silinoron
5977a76d96 Move spell scripts from src/server/scripts/World to src/server/scripts/Spells
--HG--
branch : trunk
rename : src/server/scripts/World/spell_dk.cpp => src/server/scripts/Spells/spell_dk.cpp
rename : src/server/scripts/World/spell_druid.cpp => src/server/scripts/Spells/spell_druid.cpp
rename : src/server/scripts/World/spell_generic.cpp => src/server/scripts/Spells/spell_generic.cpp
rename : src/server/scripts/World/spell_hunter.cpp => src/server/scripts/Spells/spell_hunter.cpp
rename : src/server/scripts/World/spell_mage.cpp => src/server/scripts/Spells/spell_mage.cpp
rename : src/server/scripts/World/spell_paladin.cpp => src/server/scripts/Spells/spell_paladin.cpp
rename : src/server/scripts/World/spell_priest.cpp => src/server/scripts/Spells/spell_priest.cpp
rename : src/server/scripts/World/spell_rogue.cpp => src/server/scripts/Spells/spell_rogue.cpp
rename : src/server/scripts/World/spell_shaman.cpp => src/server/scripts/Spells/spell_shaman.cpp
rename : src/server/scripts/World/spell_warlock.cpp => src/server/scripts/Spells/spell_warlock.cpp
rename : src/server/scripts/World/spell_warrior.cpp => src/server/scripts/Spells/spell_warrior.cpp
2010-07-26 15:40:08 -07:00