Commit Graph

27 Commits

Author SHA1 Message Date
sarjuuk
8306c8299e Core/Spells: Swift Flight Form speed is set to 310% if a coresponding mount is owned. 2011-10-06 18:21:24 +02:00
Spp
9e517c963b Cosmetic: Replace "* )" with "*)" and "* /*" with "* /*" 2011-09-29 09:32:55 +02: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
Shocker
7afb179185 Misc/Util: Add a template function for returning a random element from any container 2011-09-15 21:28:40 +03:00
Spp
af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
QAston
a077a26aa5 Core/Spells: update the core to the changes from 1fb1988d46 . To make your custom code work with those changes simply lookup the value of Targets enum value from prev rev, and update the name in your code. 2011-08-16 19:44:18 +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
tobmaps
6f0af070c0 Core/Spells: Fix bug with incoming damage reduction by some talent auras when it shouldn't happen 2011-06-30 03:12:35 +07:00
tobmaps
a02d145a17 Core/Spells: Prevent hit main target by 5 yard AOE effect of Starfall
Closes #1186
Closes #2085
2011-06-21 19:45:36 +07:00
click
158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
Shauren
171065fc4b Scripts/Spells: Fixed crash in Druid T10 4P Restoration set bonus
Closes #1399
Closes #1507
2011-05-23 23:43:05 +02:00
Ramus
b496d8af3d Scripts/Spells: Fixed Glyph of Starfire 2011-03-19 12:54:40 +01:00
Shauren
42007bb0a9 Core/Spells: Implemented Druid T10 4P restoration bonus 2011-01-31 14:51:42 +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
Shauren
cf62d7b776 Core/Items: Implemented spell penetration stat on items and use it from enchantments, original patch by zergtmn 2010-12-31 22:59:36 +01:00
QAston
c8adcc95f9 Core/Unit: Move spell specific code from Unit::CalcAbsorbResist to AuraScripts. 2010-12-30 02:03:46 +01:00
Machiavelli
e26294db56 Scripts: Correct function registration of spell_dru_moonkin_form_passive_AuraScript, fix intendation in world_database.sql
Author: QAston
2010-12-29 11:58:09 +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
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
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
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
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
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