Commit Graph

1388 Commits

Author SHA1 Message Date
Shauren
4c605ce621 Core/Auras: Fixed SPELLVALUE_AURA_STACK adding incorrect number of stacks on aura refresh 2025-03-22 20:20:18 +01:00
Shauren
00223f3bee Core/Misc: Add a bunch of examples for 67418a1aee 2025-02-23 12:10:33 +01:00
Shauren
1959457421 Core/Spells: Implemented SpellEffectAttributes::DontFailSpellOnTargetingFailure 2025-02-16 20:38:52 +01:00
Shauren
a5c547a383 Core/Spells: Don't fail spells SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE when target list is empty for one effect
Closes #30603
2025-01-27 00:24:12 +01:00
Shauren
c85d12fc3f Core/Items: Fixed item spell charge slot indexing
Closes #30585
2025-01-25 22:48:10 +01:00
Shauren
380b1f8986 Core/Spells: Prevent even more cases of sending aura update packets for auras that aren't visible on client 2025-01-24 23:03:39 +01:00
Shauren
e9470cd817 Core/Spells: Prevent sending aura update packets for auras that aren't visible on client
Closes #30633
2025-01-23 23:15:05 +01:00
Shauren
2a51a64549 Core/Spells: Reimplemented target type 106 as random point from points predefined in database
Closes #30116
2025-01-21 14:11:54 +01:00
Shauren
26376d89e1 Scripts/Spells: Use Spell::GetPowerTypeCostAmount where possible instead of iterating Spell::GetPowerCost 2025-01-20 22:49:52 +01:00
Shauren
0e36fd9360 Core/Spells: Replace SpellTargetPosition structure with WorldLocation 2025-01-20 19:27:44 +01:00
Shauren
56fb627c7d Core/Spells: Exclude TriggerCastFlags that can be set for non-triggered spells from being checked by Spell::IsTriggered 2025-01-20 00:32:04 +01:00
Ovahlord
4b7465aad8 Core/Spells: send rune cooldowns even after miss to match sniff data
(cherry picked from commit 7d5e794fd3)
2025-01-12 19:10:31 +01:00
Ovahlord
1dc2e8fdc5 Core/Spells: corrected refunding runes - they don't get put on a cooldown and don't send cooldowns for spells which had their runes refunded
(cherry picked from commit dbe2f1ee7e)
2025-01-12 19:10:19 +01:00
Shauren
76ab2007c0 Core/Spells: Don't grant runic power when death knight abilities that do it using negative power cost miss and the spell has SPELL_ATTR1_DISCOUNT_POWER_ON_MISS 2025-01-12 00:24:45 +01:00
Ovahlord
d9c2720393 Core/Spells: fixed power check for runes when casting spells - these have their own check and don't require the default one
(cherry picked from commit 7f29956937)
2025-01-11 21:43:31 +01:00
Shauren
1e3b8d1721 Core/Spells: Fixed crashes with spells using SPELL_EFFECT_ENCHANT_ITEM/SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC that are not cast by an item
Closes #28664
2025-01-10 23:47:57 +01:00
Shauren
84b0eca447 Core/Auras: Use UnitListSearcher instead of WorldObjectListSearcher when searching for area aura targets 2025-01-09 21:08:00 +01:00
Shauren
561b122364 Core/Spells: Replace MAX_SPELL_EFFECTS loop limits with correct upper bound depending on how many effects the spell has 2025-01-09 17:48:41 +01:00
Shauren
97f58a59f1 Core/Auras: Make iteration over Aura::GetAuraEffects safe by automatically skipping nullptr elements 2025-01-09 13:23:48 +01:00
Shauren
54a83b4b68 Core/Spells: Don't ignore power costs and reagents for spells triggered by SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_MISSILE, SPELL_EFFECT_FORCE_CAST, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL and fixed implementation of SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES 2025-01-01 19:37:48 +01:00
Shauren
151a50d2aa Core/Spells: Split TRIGGERED_IGNORE_POWER_AND_REAGENT_COST into separate POWER and REAGENT flags 2024-12-31 20:14:01 +01:00
Shauren
884662a75a Core/Scripts: Added SpellEffectInfo argument to CalcDamage and CalcHealing spell script hooks 2024-12-21 00:40:08 +01:00
Shauren
0706a114bb Core/Spells: Fixed PROC_HIT_DISPEL and PROC_HIT_INTERRUPT on procs using PROC_SPELL_PHASE_HIT phase 2024-12-14 18:55:25 +01:00
Shauren
2e4ada2d3d Core/Spells: Fixed item level requirements for enchanting spells
Closes #30482

(cherry picked from commit 243314806f)

# Conflicts:
#	src/server/game/Spells/Spell.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/shared/SharedDefines.h
#	src/server/shared/enuminfo_SharedDefines.cpp
2024-12-05 14:13:07 +01:00
Shauren
4e551741cf Core/Misc: Fix some GCC warnings 2024-11-12 16:39:24 +01:00
Shauren
3238175a62 Core/Items: Implemented ITEM_BONUS_DISENCHANT_LOOT_ID 2024-09-24 14:40:23 +02:00
Shauren
4a574c0ce1 Core/Spells: Fix copypaste mistake in CastSpellExtraArgs::SetTriggeringSpell 2024-09-13 16:33:48 +02:00
Shauren
975e7cc072 Core/Spells: Refactor CastSpellExtraArgs
* Allow C++20 designated initializers
* Allow precise float values for SPELLVALUE_RADIUS_MOD, SPELLVALUE_CRIT_CHANCE and SPELLVALUE_DURATION_PCT
2024-09-12 21:57:16 +02:00
Shauren
f604661a40 Core/Spells: Remove setting OriginalCastId from CastSpellExtraArgs::SetTriggeringAura 2024-09-08 21:59:32 +02:00
Shauren
b1d8061a0f Core/Spells: Fixed spell target selection not being shared by multiple effects when there are targeting scripts that have the same script function 2024-09-02 10:40:50 +02:00
Shauren
2c06e7fcda Core/Spells: Implemented SpellAuraInterruptFlags2::ReleaseEmpower 2024-08-19 12:30:37 +02:00
Shauren
88fea990ff Core/Players: Use PlayerData::VirtualPlayerRealm instead of global GetVirtualRealmAddress() where possible 2024-08-18 10:58:34 +02:00
Shauren
6f67ed7fd3 Core/PacketIO: Added example uses of new packet reading/writing utilities 2024-07-31 11:57:33 +02:00
Shauren
f19e1a2716 Core/Spells: Remove spell range increase when caster or target move backwards 2024-07-03 16:18:06 +02:00
Shauren
af39104798 Core/Spells: Implemented SPELL_ATTR9_FORCE_CORPSE_TARGET 2024-07-03 00:08:40 +02:00
Shauren
3365e6a4b8 Core/Spells: Implemented SPELL_ATTR9_ALLOW_CAST_WHILE_CHANNELING 2024-06-28 16:19:14 +02:00
Shauren
816369318f Core/Spells: Exclude spells cast from client from being treated as triggered if they have any trigger flags set (possible with override spells auras) 2024-06-25 11:59:33 +02:00
Shauren
a885a1fc3c Core/Spells: Implemented new trigger flag to cause spells to be instant without also causing other behavior of TRIGGERED_CAST_DIRECTLY (skipping SMSG_SPELL_START, skipping starting GCD) 2024-06-25 00:21:27 +02:00
Shauren
8963ea8e4c Core/Spells: Rename more SpellAttr9 to official names 2024-06-24 11:34:47 +02:00
Shauren
721103c1c9 Core/Spells: Removed MECHANIC_IMMUNE_SHIELD + MECHANIC_BANISH special case check in Spell::CheckCasterAuras and named possibly related spell attribute 2024-06-21 12:40:54 +02:00
Shauren
c968dedfee Core/Spells: Fixed implementation of SPELL_ATTR1_IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS and removed banish special cases that were neccessary because that attribute wasn't correctly supported 2024-06-19 20:14:53 +02:00
Shauren
9d4047a3be Core/Spells: Rename more SpellAttr9 to official names 2024-06-14 13:37:35 +02:00
Shauren
00efee9ca1 Core/Spells: Implemented SPELL_ATTR9_ITEM_CAST_GRANTS_SKILL_GAIN 2024-06-12 16:07:48 +02:00
Shauren
8142ab20b7 Core/Spells: Implemented SPELL_ATTR9_IGNORE_TOTEM_REQUIREMENTS_FOR_CASTING - fixes some totems requiring legacy items in inventory 2024-06-11 20:12:24 +02:00
Shauren
56a027131a Core/Spells: Rename more SpellAttr9 2024-06-11 11:05:40 +02:00
Shauren
1f3af18e3a Core/Spells: Implemented SPELL_ATTR9_ONLY_WHEN_ILLEGALLY_MOUNTED 2024-06-11 00:55:22 +02:00
Meji
453977cc6d Core/Spells: Fixed UnitData::ChannelObjects for channeled spells using dest targets (#30027) 2024-06-10 22:46:26 +02:00
Shauren
84c84b66d4 Core/Spells: Implemented SPELL_ATTR9_FORCE_DEST_LOCATION 2024-06-10 00:13:57 +02:00
Shauren
0fb81435bc Core/Spells: Fixed gcc 14 build 2024-05-23 22:32:15 +02:00
Shauren
f80f931e2b Core/Spells: Prevent creatures from being able to cast all their spells while moving
Closes #26137
2024-05-18 11:50:00 +02:00