Commit Graph

1361 Commits

Author SHA1 Message Date
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
Shauren
6f9e359701 Core/Items: Implemented reagent bag 2024-05-13 00:30:31 +02:00
Shauren
240b7e58d8 Core/Spells: Refund power cost when cancelling empower spells 2024-05-04 13:06:17 +02:00
Shauren
a39d0db9ec Core/Spells: Implemented evoker empower spell mechanic 2024-05-01 22:26:53 +02:00
Shauren
66abcaff14 Core/Spells: Fixed TARGET_UNIT_AREA_THREAT_LIST and TARGET_UNIT_AREA_TAP_LIST 2024-04-11 19:59:43 +02:00
Shauren
b265c49977 Core/Scripts: Integrate new ActionResultSetter with movement generators and spells 2024-04-06 20:50:59 +02:00
Shauren
4779fa5048 Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently) 2024-03-13 18:51:29 +01:00
Shauren
62dc916184 Core/Auras: Update visible aura immediately during spell cast instead of waiting for next update tick 2024-03-10 00:34:23 +01:00
Shauren
45ee989c70 Core/vmaps: Removed vmap lookup functions duplicating functionality of each other 2024-03-07 00:23:52 +01:00
Shauren
0139ec41bb Core/Creatures: Allow toggling CREATURE_STATIC_FLAG_4_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS 2024-02-29 18:09:10 +01:00
Shauren
9ecb93f34d Core/Spells: Don't modify item charges in all slots on a single item spell cast 2024-02-26 14:39:16 +01:00
Shauren
877ae5b47d Core/Spells: Implemented SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE 2024-02-19 21:05:03 +01:00
Shauren
ed0b621d15 Core/Auras: Allow SPELL_AURA_MECHANIC_IMMUNITY_MASK to apply aoe/chain targeting immunity 2024-02-13 00:46:42 +01:00
Shauren
e88a88476c Core/Spells: Fixed duplicate SMSG_SPELL_EXECUTE_LOG being sent if there are effects handled on spell launch (such as summoning) 2024-02-12 18:45:29 +01:00
Shauren
f70a5817e1 Core/Creatures: Move immunities to separate table and implemented setting immunties to dispel, spell effects, aura types, aoe and chain targeting 2024-01-30 21:29:55 +01:00
Ovahlord
ea093fef27 Core/Units: moved CharmInfo class and its definitions into a own file (#29583) 2024-01-16 18:43:32 +01:00
Shauren
c5f7e6cbd7 Core/Spells: Kill incorrect attribute implementation
(cherry picked from commit 8b183ddac3)
2024-01-14 00:06:36 +01:00
Shauren
0b5406dd88 Core/Conditions: Refactor ConditionMgr internals to get rid of separate containers for some condition source types 2024-01-11 20:56:24 +01:00
Meji
87f3ab11d3 Core/Spells: Fixed target radius calculation for TARGET_DEST_*_RANDOM (#29479) 2023-12-08 01:54:48 +01:00
ModoX
2e4eecf96c Core/Spell: Allow creatures with sparring active to damage themselves 2023-11-10 21:48:02 +01:00
Shauren
e9b0d347a4 Core/Spells: Store BasePoints as float in SpellEffectInfo 2023-11-03 10:38:43 +01:00
Shauren
9894f6b802 Core/Random: Changed random functions returning doubles to return floats
* They were all cast to float at use anyway
* Improves roll_chance_f performance (rand32() is now called internally by uniform_real_distribution once instead of twice)
2023-10-31 20:20:00 +01:00
Shauren
930a08fe03 Core/Spells: SpellAttr8 fixups - use creator instead of owner for SPELL_ATTR8_ONLY_TARGET_IF_SAME_CREATOR and removed cast time requirement for channelled spell predicted healing 2023-10-24 10:38:27 +02:00
Shauren
dc9361fcc2 Core/Spells: Named and implemented most of SpellAttr8 2023-10-22 18:39:59 +02:00
Shauren
4e87bd7942 Core/Spells: Named and implemented most of SpellAttr7 2023-10-21 14:49:42 +02:00
Shauren
69317c2594 Core/Spells: Defined and implemented more spell effect attributes - AlwaysAoeLineOfSight, IsHarmful, PlayersOnly, EnforceLineOfSightToChainTargets 2023-09-28 00:45:31 +02:00
Shauren
41a20b1e40 Core/Achievements: Fixed achievement criteria StartEvent and FailEvent
* Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements)
* Implemented most StartEvent and FailEvent types
* Fixed saving criteria removed by RemoveCriteriaProgress
2023-09-25 00:53:56 +02:00
Shauren
8efeb202a5 Core: Update to 10.1.7 2023-09-07 01:10:07 +02:00