- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system) - Templatize SpellModOp param of Player::ApplySpellMod, also killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing - Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor - Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras. - Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct - Changes in spell reflection system, emulates old behaviour, delaying aura drop - Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections - Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS - Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor. - Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034: * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/ * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system). * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..) * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided. * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee. - Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE) - Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect - Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though - Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558. - Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193
TrinityCore
Build Status
| 6.x | 4.3.4 | 3.3.5 |
|---|---|---|
Introduction
TrinityCore is a MMORPG Framework based mostly in C++.
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 in-game mechanics and functionality.
It is completely open source; community involvement is highly encouraged.
If you wish to contribute ideas or code please visit our site linked below or make pull requests to our Gitlab repository.
For further information on the TrinityCore project, please visit our project website at TrinityCore.org.
Requirements
- Platform: Linux, Windows or Mac
- Processor with SSE2 support
- Boost ≥ 1.54
- MySQL ≥ 5.1.0
- CMake ≥ 2.8.11.2 / 2.8.9 (Windows / Linux)
- OpenSSL ≥ 1.0.0
- GCC ≥ 4.9.2 (Linux only)
- MS Visual Studio ≥ 14 (2015) (Windows only)
- ZeroMQ:
- apt-get install libzmq-dev (Linux only)
- x64 - http://miru.hk/archive/ZeroMQ-4.0.4~miru1.0-x64.exe (Windows only)
- or x86 - http://miru.hk/archive/ZeroMQ-4.0.4~miru1.0-x86.exe (Windows only)
Install
Detailed installation guides are available in the wiki for Windows, Linux and Mac OSX. You can get database from https://github.com/TrinityCoreLegacy/TrinityCore/releases
Reporting issues
Issues can be reported via the Gitlab issue tracker.
Please take the time to review existing issues before submitting your own to prevent duplicates.
In addition, thoroughly read through the issue tracker guide to ensure your report contains the required information. Incorrect or poorly formed reports are wasteful and are subject to deletion.
Submitting fixes
Fixes are submitted as pull requests via Github. For more information on how to properly submit a pull request, read the how-to: maintain a remote fork. NOTE: if a fix is valid also for 3.3.5a/6.x branches submit them also to Github
Copyright
License: GPL 2.0
Read file COPYING
Authors & Contributors
Read file THANKS
Links
Documentation (powered by Doxygen)