Commit Graph
106 Commits
Author SHA1 Message Date
Liberate 926f02f792 Core/Spells: Implement SPELL_ATTR4_PROC_ONLY_ON_CASTER properly. Closes #5204 2012-04-05 20:09:20 +02:00
Subv 5468e8eeb5 Core/Spells: The first target of a chained spell should be explicit.
Closes #5643
2012-04-04 17:06:50 -05:00
kaelima 820f45c424 Core/Protocol:
- Correct and rename response message from creating/updating a ticket
- Prevent some trailing data in CMSG_GMTICKET_CREATE and add comment on stuff missing from its structure.
- Random cleanup
2012-03-28 03:59:03 +02:00
kaelima ef53bde176 Core/Spell: Add some missing cast results which require additional data when sent. And rename two researched castflags (thanks TOMRUS) 2012-03-16 08:59:18 +01:00
QAston a08fe16d69 Core/Spells: Allow spell effects to have multiple destinations. Spells like: 49814, 10869 and similar are now properly selecting destination targets. 2012-03-03 00:19:48 +01:00
Spp 1e246cb66c Fix build (gcc) and fix warnings 2012-02-22 09:15:57 +01:00
QAston f09b5a6bea Core/Db/Conditions:
-Drop condition CONDITION_SPELL_SCRIPT_TARGET, use other condition types instead
-Change CONDITION_SOURCE_TYPE_SPELL_SCRIPT_TARGET to CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET:
--allow using this condition for more spell implicit target types (not just ENTRY)
--SourceGroup value for this src type is now effMask and it's now required

Core/Spells: Unify the way implicit targets are handled, fully implement some partially implemented target types, fix some minor bugs found on the way, general improvements and cleanup.
2012-02-21 20:17:45 +01:00
QAston 9abc47736f Core/Spells: Changes in code related to spell explicit target redirection (cleanups, added target validation, prevent unexpected behaviour in some cases) 2012-02-19 00:40:55 +01:00
QAston 800cf73750 Core/Spells: Fix some problems with spells summoning to many objects. 2012-02-09 20:27:26 +01:00
Chaplain 67808ba453 Core/Spells: Fix CAST_FLAG_UNKNOWN_18.
*rename CAST_FLAG_UNKNOWN_18 -> CAST_FLAG_ADJUST_MISSILE
*implement handling in Spell::SendSpellGo()
2012-01-08 18:50:25 +03:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
QAston afc18461d7 Core/SpellScripts: Add BeforeCast, OnCast and AfterCast hooks to SpellScripts. 2011-12-31 13:11:12 +01:00
kaelima f8a13b401d Core/Spells:
- Fix channeling spells with infinite duration (-1)
- Allowed SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND and SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND in SendCastResult (more reasons todo)
2011-12-22 00:38:01 +01:00
tobmaps 8fd7720318 Core/Misc: Rename Spell::CalcCastTime to Spell::GetCastTime as it does not calculate anything 2011-11-05 05:33:52 +07:00
Liberate a658d0b592 Core/Spells: Define and implement SPELL_ATTR4_PROC_ONLY_ON_DUMMY.
Fixes #2685
Fixes #2573
2011-10-19 22:08:54 +02:00
Spp b16d2245bb Cosmetic: Multiple cosmetic changes
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '('
- Added missing space after a comma and remove space before comma (with some exceptions)
- Remove trailing spaces
- Convert tab to spaces

Note: Only affects files with extension "cpp" and "h" under /src/server
2011-09-29 12:43:05 +02: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
QAston 13a1d90130 Core/Spells: Improvements in selecting default targets based on effect type. 2011-09-23 11:58:40 +02:00
QAston fe25ce4fa3 Core/AI: Replace many Unit::IsHostileTo with Unit::IsValidAttackTarget or Creature::canCreatureAttack. 2011-09-17 00:56:59 +02:00
Shauren 732e27f1e8 Core/Spells: Spells having the same effect types on multiple effects will now select them at the same time (except targets selected by entry) to ensure correct behavior with MaxAffectedTargets use 2011-09-16 11:40:53 +02:00
Spp af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
Spp- 33ce07bdde Core: Minor cleanups (here and there)
- Fix warning
- Fix some typos
- Correct upper 'for' limit in LoadSkillLineAbilityMap
- Remove use of magic number in a query related to security levels
2011-09-13 14:15:35 +02:00
QAston 8754166071 Core/Spells: Send expected type of spell implicit target to client. 2011-08-27 12:59:57 +02:00
QAston 5c48d9ec8a Core/Spells: Store explicit unit, corpse and GO targets in one variable, because both client and server can't handle more than one explicit object target; Add spell explicit target validation. 2011-08-26 12:06:13 +02:00
QAston 7a3b1f1ed5 Core/Spells: Make GMs and vehicle riders not attackable by AOE again. 2011-08-24 18:22:33 +02:00
QAston 7f30ac5a95 Core/Spells: Add a generic way of selecting spell explicit targets. Make explicit targets independant of calling convention in core - this makes targets sent to client to be much more blizzlike than before (for example CastSpell(Unit*) won't set TARGET_FLAG_UNIT for spells which are not using explicit unit target) for SMSG_SPELL_START packets. Also remove hacks, which became obsolete with this commit. 2011-08-24 08:08:33 +02:00
QAston 738214f8e5 Core/Spells: add some const modifiers to functions, fixes build. 2011-08-21 13:57:15 +02:00
QAston b838aad7d0 Core/Spells: check UNIT_FLAG_OOC_NOT_ATTACKABLE only for AOE spells targeting enemies, fixes some interactions with npcs. 2011-08-20 12:08:37 +02:00
QAston fc5e924138 Core/Spells: Implement recently discovered target check attributes and move most of target checks to SpellInfo::CheckTarget function. 2011-08-19 14:54:15 +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 73bbc3aca8 Core/Spells: Update some targeting related attribute definitions to make them more clear and consistent. 2011-08-16 16:06:21 +02:00
Silinoron 76fe596160 Core/Refer-a-Friend: Finish base work for Refer-a-Friend.
Any testing would be very much appreciated.
2011-08-03 09:28:12 -07:00
Machiavelli 58f10c74f7 Core/Spells: Change low level bool triggered with bitmask TriggerCastFlags to better manipulate the behaviour of certain triggered spells. 2011-07-31 21:58:25 +02:00
Machiavelli 0ecb47bc8a Core/Spells & Vehicles: Define and implement SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE and VEHICLE_SEAT_FLAG_CAN_CAST_MOUNT_SPELL.
Research done by QAston
2011-07-30 20:36:19 +02:00
Machiavelli 2effb7acdc Core/Spells: Fix client crash on ESC when channeling certain spells (e.g. Eye of Acherus, Death Knight Understudy)
Fixes #1131
2011-07-30 19:16:54 +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
Spp- 39be30a39f Fix compile 2011-07-27 11:00:14 +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
Shauren 74e2d981ac Core/GameObject: Refactored destructible building handling, properly implemented spell effect repair 2011-07-22 21:22:05 +02:00
Nay d6782fa826 Core/Misc: Refactor SendPlaySpellVisual and SendPlaySpellImpact and move them to Unit (from Spell) 2011-07-04 14:46:48 +01: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 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
Shocker 5ddf90c5fe Core/Spells: Don't allow players to cast client-side hidden spells directly 2011-06-23 23:43:49 +03: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
click c77aa6e846 Core: And some more cleanups... 2011-06-12 02:00:43 +02:00
click 158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
Shauren 78ea0075e1 Core/Spells: Allow overriding aura stack amount from CastCustomSpell 2011-05-21 21:36:37 +02:00
leak 1003f30448 Add spaces after commas 2011-04-29 20:47:02 +02:00