Commit Graph
100 Commits
Author SHA1 Message Date
QAston b81fb4d423 Core/Spells: Rename SPELL_ATTR2_ALWAYS_APPLY_MODIFIERS to SPELL_ATTR2_DISPLAY_IN_STANCE_BAR, and make auras to be recalculated when permament instead of using that wrongly defined flag. 2011-08-11 23:11:10 +02:00
QAston 0d1a5314dc Core/Spells: Define some new attributes: SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED, SPELL_ATTR6_DONT_DISPLAY_COOLDOWN, SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET, SPELL_ATTR4_AREA_TARGET_CHAIN, SPELL_ATTR3_DONT_DISPLAY_RANGE 2011-08-11 23:03:43 +02:00
QAston df87f00e73 Core/Commands: Add .cast dest #spellid #x #y #z which orders selected unit to cast a spell at selected destination. 2011-08-06 22:50:46 +02:00
QAston db28ae55c9 Core/Spells: Add missing braces to possession spell check - fixes problems with being unable to cast target's spells while possesing. 2011-07-31 11:13:41 +02:00
QAston 1df57ae522 Core/Spells: Don't allow passive area auras to stack. 2011-07-30 02:02:35 +02:00
QAston c9291243c1 Core/Spells: Remove some obsolete code (stealth is no longer a ranked spell). 2011-07-29 18:01:33 +02:00
QAston 41593a79e3 Core/Spells: Check if spell has range entry before trying to access property (some spell do not) - fixes a crash. 2011-07-29 00:01:08 +02:00
QAston fe913bf66c Core/Spells: Fix a crash on checking school immunity added to unit manually (not by aura) - this time without additional changes (argh!) 2011-07-28 23:45:57 +02:00
QAston 495ead5f7f Revert "Core/Spells: Fix a crash on checking school immunity added to unit manually (not by aura)"
This reverts commit 07badd7385.
2011-07-28 23:44:39 +02:00
QAston 07badd7385 Core/Spells: Fix a crash on checking school immunity added to unit manually (not by aura) 2011-07-28 23:41:29 +02:00
QAston 045dec19fa CoreSpells: Typofixes: fix area auras autocast and usage of items in combat. 2011-07-28 13:21:31 +02:00
QAston f33a0c23ca Core/Spells: Fix passive auras stacking logic after recent changes.
Closes #2417
2011-07-28 03:08:42 +02:00
QAston 7094f57841 Core/Spells: Don't unload sSpellStore on startup, to allow access to dbc strings. 2011-07-28 02:03:47 +02:00
QAston 4c8c0ce193 Core/Spells: Use correct spell target in Spell::EffectEnvirinmentalDMG - fixes area damage of spells using this. 2011-07-27 21:23:15 +02:00
QAston 46851c3fda Core/Spells: Drop obsolete code for Demonic Sacrifice. 2011-07-27 20:37:28 +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
QAston 29c228a801 Core/Spells: Add SpellInfo class to store static data and methods for spells. This class is going to replace SpellEntry use in core. SpellInfo class includes all spell-related functions which resided in SpellMgr, and makes them much easier to access, reuse or add new stuff. Another advantage is that you no longer have to lookup db/dbc data by entry or index, because such data can now be included in the new class. Thanks to that, TC will have no problems on drastic spell dbc format change in 4.x. 2011-07-26 23:00:23 +02:00
QAston f35d8c9bc4 Core/Spells: Temporary workaround for Summon Eye of Acherus (this time working) 2011-07-16 08:03:36 +02:00
QAston 5f565709cf Core/Auras: Correct display stackable aura amount in client when aura has 1 stack. 2011-07-13 20:57:11 +02:00
QAston f70875510a Core/Spells: Drop unrelated manaCostPct check from Spell::EffectPowerBurn and use explicit check instead, fixes some power burn spells. 2011-07-13 20:39:17 +02:00
QAston b9413f08b3 Core/Spells: Define and implement attributes SPELL_ATTR1_CANT_BE_REDIRECTED and SPELL_ATTR1_CANT_BE_REFLECTED, fixes some problems with Grounding Totem and Spell Reflection. 2011-07-13 20:14:55 +02:00
QAston 7b2cf3d1f2 Core/Spells: Fix a typo (thanks to tobmaps for catching) 2011-07-13 17:31:09 +02:00
QAston 5b1d170272 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore
Conflicts:
	src/server/game/Entities/Unit/Unit.cpp
2011-07-13 17:22:04 +02:00
QAston 20e8c25b48 Core/Spells: Define and implement attribute SPELL_ATTR3_CANT_TRIGGER_PROC, change names of some attributes to better describe their functionality. 2011-07-13 17:18:04 +02:00
QAston 1c7616dcc8 Core/Spells: Define and implement SPELL_ATTR3_IGNORE_RESURRECTION_TIMER - now you can instantly resurrect with Rebirth spell. 2011-07-12 10:43:58 +02:00
QAston cd1df639b2 Core/Spells: Define and implement SPELL_ATTR2_CANT_TARGET_TAPPED attribute. 2011-07-12 07:34:42 +02:00
QAston b253c844fc Core/Spells: Add ability check in one more place, to prevent other kind of spell reflection. 2011-07-12 06:34:57 +02:00
QAston 53cc218983 Core/Spells: Allow periodic trigger auras to work on dead creatures. Patch by Josh (major stuff) and me (minor changes). 2011-07-12 00:19:50 +02:00
QAston 58c63f4cc5 Core/Spells: Breaking news: Spell Reflection cannot reflect abilities (patch 1.2 change) 2011-07-11 22:54:18 +02:00
QAston 72ea9c9fa8 Core/Spells: Add a base for brand new proc system, this is a WIP and doesn't affect currently working code. 2011-07-10 13:13:02 +02:00
QAston 22135f4d91 Core/Spells: Add a temporary workaround for spell Summon Eye of Acherus(51888) - fixes gameobject cast of the spell after recent changes. 2011-07-09 20:25:32 +02:00
QAston 99f917552e Forgotten change from 0dc90a2cbb. 2011-07-07 18:04:35 +02:00
QAston 0dc90a2cbb Core/Spells: use spell caster as a target of spells triggered by SPELL_EFFECT_FORCE_CAST 2011-07-07 18:02:59 +02:00
QAston 2bf3bc334c Core/Spells: define spell attributes: SPELL_ATTR1_MELEE_COMBAT_SPELL, SPELL_ATTR1_FARSIGHT, SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR 2011-07-05 15:40:17 +02:00
QAston 3963d6eeb2 Typo in enum name, thanks Nayd for pointing this 2011-07-04 23:26:36 +02:00
QAston 0bc23239d8 Core/Spells: Remove some incorrect spell attribute checks and add custom attributes instead - it's better to know that there is no attribute for something than to pretend there's one and do ridiculous checks. 2011-07-04 23:14:20 +02:00
QAston 3bf7035fe1 Core/Spells: Remove some redundant code. 2011-07-04 22:10:42 +02:00
QAston 5b79175b7a Core/Spells: More spell attribute definitions. 2011-07-03 10:03:13 +02:00
QAston 29a7535638 Core/Spells: Define 2 more spell attributes: SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS and SPELL_ATTR6_CAN_TARGET_UNTARGETABLE 2011-07-02 17:06:19 +02:00
QAston 1068583172 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-07-02 16:12:43 +02:00
QAston 86dde83dda Core/Spells: Define many unknown SpellCastTargetFlags enum values, rename some target type enum values to follow standards, also correctly implement TARGET_UNIT_TARGET_PASSENGER. 2011-07-02 16:12:19 +02:00
QAston ce75ced741 Core/Spells: define SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME(0x20000000) 2011-07-01 13:12:19 +02:00
QAston 06515b27b3 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-07-01 12:48:21 +02:00
QAston 3b8dce669d Core/Spells: Define attributes: SPELL_ATTR0_CAST_TRACK_TARGET(0x00400000), SPELL_ATTR1_CHANNEL_TRACK_TARGET(0x00004000), SPELL_ATTR0_ON_NEXT_SWING_2(0x00000400), add some attribute flag comments based on client research. 2011-07-01 12:47:26 +02:00
QAston d3e887060d Fix build. 2011-06-30 02:17:07 +02:00
QAston fb9719c653 Core/Spells: Define SPELL_ATTR0_ABILITY (old SPELL_ATTR0_UNK4) 2011-06-30 01:47:09 +02:00
QAston e79d46e499 Core/Spells: Correctly define TARGET_UNIT_NEARBY_PARTY(3) and TARGET_UNIT_NEARBY_ALLY(4) target types. 2011-06-30 00:49:10 +02:00
QAston d31f53c16a Core/Auras: Don't cache aura object fields in periodic damage aura handler, as it's not needed. 2011-06-30 00:00:20 +02:00
QAston 348adaf791 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-28 16:18:42 +02:00
QAston 11c3c80732 Core/Spells: Add SMSG_PROCRESIST packet handler. 2011-06-28 16:17:49 +02:00
QAston e5db97a28e Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-26 19:32:41 +02:00
QAston faaba1aa65 Core/Auras: Improvements in spell_linked_spell table handling, now auras with using this table have linked stack amount, also linked aura removal is called now when aura is removed on target death. 2011-06-26 19:31:11 +02:00
QAston d2e1f5a259 Misc: Rename update sqls to follow the standards. 2011-06-26 13:58:34 +02:00
QAston 557e06b1c1 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-26 13:56:11 +02:00
QAston ac88fa026f Database/Spells: Add spell_proc table which is a replacement for spell_proc_event table. This is the initial patch from series of patches changing the way we currently handle procs in the core, and doesn't interfere with existing code in any way. 2011-06-26 13:54:44 +02:00
QAston 6dcee0c0ea Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-26 00:29:36 +02:00
QAston 2bcf63d387 Core/Spells: don't allow spells which hit target only with SPELL_EFFECT_DUMMY to execute spell triggers on that targets, also cleanup related code a bit. 2011-06-26 00:29:12 +02:00
QAston b54b72ba54 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-23 15:52:30 +02:00
QAston dc8a926c8d Core/Auras: fix a typo in PowerDrain auras periodic tick handler. 2011-06-23 15:51:14 +02:00
QAston 3352cabb49 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-23 13:50:45 +02:00
QAston 31d32e28ee Fix build 2011-06-23 13:49:22 +02:00
QAston 3137a82c7c Core/Spells: Cleanup in Spell.h:
- Codestyle (fix function naming) and cleanup changes in SpellCastTargets class, also access variables of this class by getters/setters
 - Move IsQuestTameSpell function to SpellMgr.h
 - Move UnitList typedef to Unit.h
Additionally - add missing copyright notice to SpellAuraEffects.h
2011-06-23 13:28:52 +02:00
QAston c4818f1892 Core/Auras: Fix refresh of auras with spellmodifiers applied to currently cast spell. 2011-06-21 19:59:17 +02:00
QAston 2ac777f8ce Revert "Core/Auras: Fix work of proc auras are refreshed during proc event routine."
This reverts commit 2a47163771.
2011-06-21 15:58:30 +02:00
QAston fcc02a045a Core/Auras: Remove auras with AURA_INTERRUPT_FLAG_HITBYSPELL on spell hit, only when target hit is enemy. 2011-06-21 15:57:18 +02:00
QAston 2a47163771 Core/Auras: Fix work of proc auras are refreshed during proc event routine. 2011-06-21 12:03:54 +02:00
QAston aebb75b816 Core/Auras: Move periodic aura effect handlers to separate functions, do a little cleanup in these, also allow periodic dummy/periodic trigger spell auras to tick when caster is not available. 2011-06-19 13:13:41 +02:00
QAston ebc9ead617 Core/DynamicObject: Delete DynObjAura on DynObj delete, not on aura remove from object (prevents crashes) 2011-06-16 00:55:27 +02:00
QAston 5bbeccd00f Merge pull request #1921 from zwerg/master
Fix problem with removing immunities by Unit::ApplySpellImmune
2011-06-11 04:19:50 -07:00
QAston 34d980ea4c Core/Auras: Move AuraEffect::TriggerSpell missing spell error log to debug. 2011-06-11 13:16:19 +02:00
QAston 677cbbb93a Scripts: Fix some crashes occuring due to unsafe use of AuraScript::GetCaster() method.
There's "returns unit which casted the aura or NULL if not avalible" written in description of the method, but who cares...
2011-06-11 12:42:01 +02:00
QAston 76bb3ca21c Core/Auras: Call Aura::HandleAuraSpecificMods in Aura::SetStackAmount to preserve compatibility with older scripts. 2011-06-11 10:55:19 +02:00
QAston 38de636e30 Core/Spells: Define some unknown spell attributes. 2011-06-11 10:55:17 +02:00
QAston 3ec587e21e Core/Auras:
Make Aura::ModStackAmount(1) an equivalent of reapplying the aura
    Recalculate periodic aura timers on aura reapply.
2011-06-11 10:55:17 +02:00
QAston 23d43c72b2 Core/Spells: Drop some redundant code. 2011-06-11 10:55:16 +02:00
QAston 0c3e99c450 Core/Auras: Move repeating code for aura packet creation to separate function. Fixes usage of SPELL_ATTR5_HIDE_DURATION attribute. 2011-06-08 10:41:32 +02:00
QAston 0575dddbb3 Core/Auras: Fix visibility aura effect handlers to work correctly on amount change 2011-06-08 09:19:34 +02:00
QAston 8f7be3d48a Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2011-06-07 22:26:14 +02:00
QAston f74bc25af1 Core/Auras: Fix SPELL_AURA_MOD_DAMAGE_PERCENT_DONE aura handler to work correctly on amount change. 2011-06-07 22:25:39 +02:00
QAston 6c5f68e8fc Core/Auras: Do not use spellmod system to drop auras with spell proc event entry. 2011-06-07 19:09:20 +02:00
QAston b9e8e6d3b4 Core/Auras: Add functions for common actions on aura charges. 2011-06-07 17:26:27 +02:00
QAston 9542077c38 Core/Auras: Use recalculated aura max duration on spell hit for duration calculations. 2011-06-07 14:19:47 +02:00
QAston 3effdb2c23 Core/Auras: Add Aura::TryRefreshStackOrCreate function and remove stack checks from Aura::Create 2011-06-07 12:47:32 +02:00
QAston 506fedcfea Changes missing from last commit. 2011-05-31 20:28:36 +02:00
QAston 7b5b95966e Core/AuraScript: Add DoCheckAreaTarget hook to allow explicit area aura target selection. 2011-05-31 20:24:44 +02:00
QAston 0196192c7a Core/Auras: Fix a typo, which broke AuraEffect::ChangeAmount function 2011-05-31 16:20:27 +02:00
QAston 8ff2ed69bf Core/Auras: Fix *nix build 2011-05-31 16:03:27 +02:00
QAston f3428cbad4 Core/Auras: Fix a crash in Unit::RemoveAurasDueToSpellBySteal 2011-05-31 15:30:41 +02:00
QAston 2d3f4687e5 Core/Auras: Prevent assertion fail in AuraEffect::HandleEffect 2011-05-31 14:50:54 +02:00
QAston 14bc68a291 Missaved file, thanks to Shauren for catch. 2011-05-29 15:54:46 +02:00
QAston 3c93cccdb1 Core/Auras: Prevent assertion fail due code in AuraEffect::HandleAuraLinked, also improve the sync between auras linked by this aura type. 2011-05-29 15:49:32 +02:00
QAston 854438fb8a Core/Auras: add missing parenthesis. 2011-05-29 13:23:49 +02:00
QAston 42a20f14ef Core/Auras: Use existing aura object on aura reapply/stack increase instead of creating a new one.
You can hook on reapply/stack event by checking for AURA_EFFECT_HANDLE_REAPPLY aura handler mode, AURA_EFFECT_HANDLE_REAL is now not triggered on aura refresh/stack.
2011-05-29 13:18:47 +02:00
QAston fb1772e8c9 Core/AuraScripts: Allow to use AuraScript::GetTarget in AfterEffectRemove and AfterEffectApply hooks. 2011-05-26 17:44:07 +02:00
QAston 0762791754 Core/AuraScripts: Fix runtime error messages appearing in aura scripts when one hook is called from inside of another one. 2011-05-26 16:12:33 +02:00
QAston 79aa5233d7 Scripts/AuraScripts: Use AfterEffectApply and AfterEffectRemove hooks in scripts, where they fit better than On* hooks. 2011-05-25 19:12:41 +02:00
QAston 0eb89fc282 Core/SpellScripts: Better debug output on startup script validation. 2011-05-25 18:00:35 +02:00
QAston a1b8fd2054 Core/AuraScripts: Add AfterEffectRemove and AfterEffectApply hooks, to allow safe triggering of spellcasts or other actions which may call linked events while OnEffectApply and OnEffectRemove are still there for overriding the way effect is handled on target. 2011-05-25 17:13:32 +02:00
QAston ca8eb707d7 Core/Auras:
- Use safer order of calls in AuraEffect handlers (unit modification goes before any calls which may result in linked events execution)
 - Allow manual removal of further effects of an aura during aura removal (so Unit::RemoveAurasByType works well in such situations)
2011-05-25 15:13:55 +02:00
QAston 432136355e Scripts/Spell: Share some code for Incantner's Absorbtion script. 2011-05-15 19:04:09 +02:00