Commit Graph

39 Commits

Author SHA1 Message Date
Subv e309c4fe1b Core/Spells: Fixed Riptide bonus on Chain Heal
closes #1152

Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-08 19:09:30 -05:00
click dce3bc01ac Core: Fix non-PCH building 2012-02-19 16:57:07 +01:00
click 5411e1ce52 Core: Clean up whitespace and tabs in the base sourcetree 2012-02-18 16:52:08 +01:00
Kandera c517806a23 Scripts/Spells: Convert code from Spell::EffectDummy to spell scripts. 2012-02-18 12:12:49 +01:00
Shocker 91d51d9474 Merge pull request #4244 from Warpten/master
Core/Spells: Fix Earthen Power
2012-01-04 13:31:45 -08:00
Shocker 0a17ab2e4c Merge pull request #4314 from drskull/master
Core/Spells: Windfury and Flametongue should proc from abilities
2012-01-04 13:25:43 -08:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
dr.skull 2cd57b53e6 Shaman is the caster of Fire Nova not totem.
Signed-off-by: dr.skull <dr.skull@centrum.sk>
2011-12-14 17:27:39 +01:00
Kapoeira f35c8d69f3 Core/Spells: Since 3.2.2, Earthen Power should no longer provide a snare immunity aura on every pulse. Thanks @Kaelima. 2011-12-13 16:12:26 -05:00
Kapoeira 0fe3405a70 Core/Spells: Fix my logic in my previous commit, thanks to @Kandera for pointing out. 2011-12-10 08:18:54 -05:00
Kapoeira 5d7003a28b Core/Spells: Fix Earthen Power. 2011-12-10 00:35:33 -05:00
Spp b16d2245bb Cosmetic: Multiple cosmetic changes
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '('
- Added missing space after a comma and remove space before comma (with some exceptions)
- Remove trailing spaces
- Convert tab to spaces

Note: Only affects files with extension "cpp" and "h" under /src/server
2011-09-29 12:43:05 +02:00
Spp 9e517c963b Cosmetic: Replace "* )" with "*)" and "* /*" with "* /*" 2011-09-29 09:32:55 +02:00
Shauren 062e645637 Scripts/Spells: Bloodlust/Heroism handling changed, it is now possible to use these spells even if caster is under Sated/Exhaustion debuff 2011-09-25 15:08:48 +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
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
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
click 158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
leak 1003f30448 Add spaces after commas 2011-04-29 20:47:02 +02:00
Shauren 36f848a4c2 Scripts/Icecrown Citadel: Only one Mutated Abomination can exist during Professor Putricide encounter
Scripts/Spells: Added blizzlike error messages for certain spells
Scripts/Items: Removed obsolete scripts
2011-03-04 23:53:11 +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 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 0f3b9019a8 Core: Get rid of dirty operator workaround for ACE_Singleton class implementation
--HG--
branch : trunk
2010-12-22 21:25:23 +01:00
click 2642894342 Core: Add new system for parallelizing client packet processing. Handle WorldSession updates in Map::Update() where we are safe to proceed. Patch by Ambal.
(And clean up tabs and whitespace while rummaging around in there)
Closes issue 5084.

--HG--
branch : trunk
2010-12-13 22:37:56 +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
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
click 8806a3efdb Core/Script: Add spellscript for Earthbind totem spell (patch by Socolin)
--HG--
branch : trunk
2010-11-17 00:05:20 +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