joschiwald 89490e4d7f Core/SpellScripts: implement Spell Proc Hooks and use it in old and new proc system
Hooks:
- DoCheckProc: executed when aura checks if it can proc
- DoPrepareProc: executed before aura procs (possibility to prevent charge drop/cooldown)
- OnProc: executed when aura procs
- OnEffectProc: executed when aura effect procs
- AfterEffectProc: executed after aura effect proced
- AfterProc: executed after aura proced and charges removed

using PreventDefaultAction() in DoPrepareProc will prevent charge drop and cooldown

default execution of a proc can prevented in OnEffectProc with PreventDefaultAction()

Now we should be able to convert almost all procs from Unit::ProcDamageAndSpellFor to SpellScripts

Notes to old proc system:
- if a proc has a cooldown we must check it in spellscript and add it when we handle the proc
- behavior with charge drops is possible undefined (use PreventDefaultAction() in OnEffectProc to notify that the script is executed)
2013-01-11 01:21:44 +01:00
2013-01-01 00:41:01 +01:00
2013-01-01 00:41:01 +01:00
2013-01-01 15:35:09 +01:00
2013-01-01 00:41:01 +01:00
2009-10-17 16:20:24 -07:00
2012-09-18 23:49:35 +01:00
2012-10-13 03:47:14 +03:00

= TrinityCore -- General information =

Copyright (C) TrinityCore (http://www.trinitycore.org)

  Trinity Core is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

  In addition, as a special exception, the Trinity Core project
  gives permission to link the code of its release of Trinity Core with
  the OpenSSL project's "OpenSSL" library (or with modified versions of
  it that use the same license as the "OpenSSL" library), and distribute
  the linked executables.  You must obey the GNU General Public License
  in all respects for all of the code used other than "OpenSSL".  If you
  modify this file, you may extend this exception to your version of the
  file, but you are not obligated to do so.  If you do not wish to do
  so, delete this exception statement from your version.

TrinityCore is a MMORPG Framework based mostly on C++. It is completely 
open source, and is community supported. It is derived
from MaNGOS, the Massive Network Game Object Server, and is based on the
code of that project with extensive changes over time to optimize, improve
and cleanup the codebase at the same time as improving the ingame mechanics
and functionality. If you wish to contribute ideas or code please visit 
our site linked below or make pull requests to our github repo at 
https://github.com/TrinityCore/TrinityCore

For further information on the TrinityCore project, please visit our
project website at http://www.TrinityCore.org

Documentation including installation instructions can be found inside
the doc directory.

SQL files to create the database can be found in the sql directory. Files
to update your database from an older revision/version can be found in the
sql/updates directory.
Description
Server emulator for World of Warcraft 3.3.5.12340 and other versions
Readme 10 GiB
Languages
C++ 89%
C 10.4%
CMake 0.4%