Commit Graph

68 Commits

Author SHA1 Message Date
jackpoz
9e99db035f Core/Misc: Fix some static analysis issues
Add some asserts and additional NULL checks as sanity checks.
2014-03-21 22:47:58 +01:00
Vincent_Michael
20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Spp
94e2b9332a Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive) 2013-11-08 10:50:51 +01:00
joschiwald
e9750a4b65 Core/Spells: move Death Knights Presences into SpellScripts, fix possible issue after spec change, and fix some startup errors
Closes #10354
2013-07-25 18:06:21 +02:00
joschiwald
a522be8108 Merge pull request #10336 from joschiwald/spellscripts5
Scripts/Spells: backport some SpellScripts from 4.3.4 branch
2013-07-23 17:21:17 -07:00
joschiwald
99c67c103d Scripts/Spells: backport some SpellScripts from 4.3.4 branch
- Fix Earth Shield
- Fix Necrotic Touch
- Fix Reflective Shield

Closes #9145, #9163, #9665
2013-07-24 02:13:49 +02:00
joschiwald
2d6a48840c Core/Spells: use SpellInfo class to get spell rank instead of SpellMgr helpers 2013-07-21 13:37:34 +02:00
Nay
3561ab98ba Misc: Use override and final C++11 keywords in a few places (mostly scripts)
OVERRIDE and FINAL are TC macros (expand to nothing if compiler does not  support C++11)
2013-07-06 20:21:45 +01:00
Malcrom
047608e7de Core/SAI: Add check so npc will not send text to pet. Also updated isPet() to IsPet(). 2013-06-11 18:39:51 -02:30
Spp
d1677b2db0 Core/Logging: Performance-related tweaks to logging system
All sLog->out* functions (except outCommand atm) are replaced with TC_LOG_* macros.
    Memleak fix
2013-05-13 15:07:36 +02:00
Vincent_Michael
480c847156 Core: Some cosmetic changes 2013-01-26 19:49:53 +01:00
joschiwald
af50ce6223 Core/Spell: convert more spells to SpellScripts 2013-01-22 23:36:51 +01:00
joschiwald
c38d95ac33 Core/Spells: convert some spells to SpellScripts 2013-01-20 04:30:17 +01:00
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