Commit Graph

55 Commits

Author SHA1 Message Date
joschiwald
2f1bbb2c7a Misc: Reorder more scripts in some script files and some cosmetic stuff 2013-01-13 02:41:40 +01:00
Vincent_Michael
cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
Spp
b99c347747 Core: Remove Player.h dependency from all the possible headers 2012-11-17 05:18:37 +01:00
Spp
380db44583 Core/Utilities: Use generic templates with AddPct, ApplyPct and CalculatePct 2012-10-02 12:17:42 +02:00
Geodar
2c441808f1 Core/Scripts: Fix Typo in 7121f015ed 2012-09-08 08:02:00 +02:00
Subv
7121f015ed Core/Scripts: Fixed a copy/paste mistake from previous commit 2012-09-07 18:31:19 -05:00
Subv
673ce30f38 Core/Spells: Fixed Improved Health Funnel damage reduction effect.
Author: Josh
closes #7275
2012-09-07 18:26:14 -05:00
Spp
55ce180f28 Core/Logging: Add Asyncronous logging with Loggers ("What to log") and Appenders ("Where to log") system. Will allow to select to full log some parts of core while others are not even logged.
- Logging System is asyncronous to improve performance.
- Each msg and Logger has a Log Type and Log Level assigned. Each msg is assigned the Logger of same Log Type or "root" Logger is selected if there is no Logger configured for the given Log Type
- Loggers have a list of Appenders to send the msg to. The Msg in the Logger is not sent to Appenders if the msg LogLevel is lower than Logger LogLevel.
- There are three (at the moment) types of Appenders: Console, File or DB (this is WIP, not working ATM). Msg is not written to the resource if msg LogLevel is lower than Appender LogLevel.
- Appender and Console Log levels can be changed while server is active with command '.set loglevel (a/l) name level'

Explanation of use with Sample config:

Appender.Console.Type=1       (1 = Console)
Appender.Console.Level=2      (2 = Debug)

Appender.Server.Type=2        (2 = File)
Appender.Server.Level=3       (3 = Info)
Appender.Server.File=Server.log

Appender.SQL.Type=2           (2 = File)
Appender.SQL.Level=1          (1 = Trace)
Appender.SQL.File=sql.log

Appenders=Console Server      (NOTE: SQL has not been included here... that will make core ignore the config for "SQL" as it's not in this list)

Logger.root.Type=0            (0 = Default - if it's not created by config, server will create it with LogLevel = DISABLED)
Logger.root.Level=5           (5 = Error)
Logger.root.Appenders=Console

Logger.SQL.Type=26            (26 = SQL)
Logger.SQL.Level=3            (2 = Debug)
Logger.SQL.Appenders=Console Server SQL

Logger.SomeRandomName.Type=24 (24 = Guild)
Logger.SomeRandomName.Level=5 (5 = Error)
Loggers=root SQL SomeRandomName

* At loading Appender SQL will be ignored, as it's not present on "Appenders"

* sLog->outDebug(LOG_FILTER_GUILD, "Some log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomName is found but it's LogLevel = 5 and Msg LogLevel=2... Msg is not logged

* sLog->outError(LOG_FILTER_GUILD, "Some error log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomeName is found with proper LogLevel but Logger does not have any Appenders assigned to that logger... Msg is not logged

* sLog->outDebug(LOG_FILTER_SQL, "Some msg related to SQLs")
  - Msg is sent to Logger SQL (matches type), as it matches LogLevel the msg is sent to Appenders Console, Server and SQL
    - Appender Console has lower Log Level: Msg is logged to Console
    - Appender Server has higher Log Level: Msg is not logged to file
    - Appender SQL has lower Log Level: Msg is logged to file sql.log

* sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Some msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). As Logger has higher LogLevel msg is not sent to any appender

* sLog->outError(LOG_FILTER_BATTLEGROUND, "Some error msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). Msg has lower LogLevel and is sent to Appender Console
    - Appender Console has lower LogLevel: Msg is logged to Console
2012-08-03 14:20:18 +02:00
Kaelima
99d3918d34 Merge pull request #6800 from Vincent-Michael/cod
Core/Spells: Fix Curse of Doom (thx to Warpten / joschiwald for helping)
2012-08-01 22:56:30 -07:00
Pesthuf
2f6583094d Core/Spells: Haunt should heal the Warlock when the target dies or the aura is reapplied. 2012-07-25 14:18:35 +02:00
Shauren
e0997874f5 Core/SpellScripts: Changed OnUnitTargetSelect hook to OnObjectAreaTargetSelect, it will now work with WorldObject instead of only Units and call it even for empty target lists 2012-06-29 21:53:35 +02:00
Kandera
521bf5f64e Core/Spells: fix build error from previous commit. 2012-06-15 14:19:42 -04:00
Kandera
2ff2387aa5 Core/Spells: revert some of previous commit and fix up a few things. 2012-06-15 14:07:10 -04:00
Kandera
9d19be2ee5 Core/Spells: fix spell scripts from recent commit and cleanup scripts 2012-06-15 12:56:15 -04:00
Vincent-Michael
c6dd149f1b Core/Spells: Fix Curse of Doom (thx to Warpten / joschiwald for helping) 2012-06-14 21:11:37 +02:00
joschiwald
ca07f30d03 Core/Spells: convert some spell effects to SpellScripts 2012-05-28 04:07:51 +02:00
QAston
b899f5fc94 Core/SpellScripts: rename GetTarget*() functions to GetExplTarget*(), so the names reflect better what those functions do. Also update some comments. 2012-04-28 14:55:14 +02:00
Subv
491999280e Core/Spells: You should not be able to cast Create Healthstone if you already have one in your inventory
Closes #1498
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-12 20:18:07 -05:00
kandera
2e58d7b515 Core/Spells: cleanup warning for life tap 2012-03-07 10:15:40 -05:00
Kandera
c23ff109df Core/Spells: attempt to fix damage for life tap (thx again vincent-michael) 2012-03-07 09:16:52 -05:00
Spp
f495e0efe4 Warning fixes and some random cleanup here and there 2012-03-07 14:09:18 +01:00
click
a153e0ca06 Core: Remove some whitespace and tabs 2012-03-07 00:05:34 +01:00
Kandera
e1550d98e7 small cleanup 2012-03-05 11:21:53 -05:00
Kandera
a5e598b2c4 Core/SpellScripts: Fix life tap mana regen (thx to vincent-michael) closes #5536 2012-03-05 11:18:36 -05:00
QAston
8653016bdd Merge pull request #5445 from Souler/fix_demonic_circle
Move Demonic Circle related code to spell_warlock.cpp
2012-02-27 07:15:39 -08:00
Souler
05097c7fc5 Scripts/Spells: Move Demonic Circle mechanics to spell_warlock.cpp 2012-02-26 17:22:27 +01:00
click
6f152a1ff8 Core/Scripts: Remove some leftover debugging-output from the warlock spellscripts 2012-02-25 21:18:29 +01:00
Spp
1e246cb66c Fix build (gcc) and fix warnings 2012-02-22 09:15:57 +01: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
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
Nay
791acfebac Core/Spells&GOs: Fix Ritual of Doom.
Thanks QAston and Shocker for helping.
Closes #2535
2011-09-15 17:52:35 +01: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
click
158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
tehmarto
b135ef0f62 Core/Spells: Fix Banish removal behavior
Closes #143 & #1173
2011-05-15 22:26:54 +07:00
leak
c51c817a45 Core/ObjectMgr: Refactor sCreatureStorage 2011-04-28 22:57:08 +02:00
Shauren
5adf9c5d30 Scripts/Spells: Moved all special target filtering cases to scripts 2011-01-22 17:21:24 +01:00
Machiavelli
957c69de83 Update copyright note for 2011.
Happy new year.
2011-01-01 15:01:13 +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
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
Shauren
7b4e1c6387 Core/ObjectMgr: Static members are no longer accessed through singleton
--HG--
branch : trunk
2010-12-22 20:23:47 +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
azazel
341e6303ef Core:
* add helping methods for manipulating unit's health and use it where applicable
* fix some conversion warnings and cleanup code (formatting, CRLF, tabs to spaces)

--HG--
branch : trunk
2010-08-26 01:20:57 +06: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
c0f3a7f9ef Core/spells: move 20425 Guarded by the Light spell from Warlock spells to Paladin spells.
PS Well, this spell used to be in SPELLFAMILY_WARLOCK case, so it seems it never worked before. And that's why I added it to Warlock spells.

--HG--
branch : trunk
2010-08-18 12:26:17 +06:00