Commit Graph
1274 Commits
Author SHA1 Message Date
Shauren 5bb76804db Core/Items: Ignore item charges for item effects types other than on use 2026-06-09 16:46:14 +02:00
Shauren 462b1774a9 Core/Spells: Don't modify item charges in all slots on a single item spell cast 2026-06-09 16:43:39 +02:00
Ovahlord 5d22ddd499 Core/Misc: rename Powers to PowerType 2026-06-09 08:19:48 +02:00
sevi 9156f66544 Core/Spells: cancel player casts on movement (#469) 2026-05-25 11:44:07 +02:00
Ovahlord e53b90d75b Core/Spells: do not allow SPELL_EFFECT_HEAL_PCT to critically heal 2026-03-26 22:09:43 +01:00
Shauren b31333615f Core/Spells: Fixed autoattack timer being reset by almost every spell cast 2026-03-24 21:27:06 +01:00
Ovahlord 266d1d7717 Core/Creatures: temporarily revert all summon changes in order to keep the master branch functional until the implementation is done 2026-02-28 11:06:35 +01:00
Ovahlord 857f79b22a Core/Creatures: converted CMSG_PET_ACTION to packet class and moved most parts of it to the SummonInfo API 2025-08-24 18:17:38 +02:00
Ovahlord 5882d5b06b Core/Spells: allow nullptr targets again 2025-08-03 19:45:23 +02:00
Shauren aa3378824b Core/Spells: Fixed PROC_HIT_DISPEL and PROC_HIT_INTERRUPT on procs using PROC_SPELL_PHASE_HIT phase 2025-08-03 14:34:40 +02:00
Shauren 0d1d468c88 Core/Spells: Fully prevent infinite proc loops and add logging to detect most spells that could possibly trigger this behavior at startup 2025-08-03 14:28:23 +02:00
Shauren a70d85e565 Core/Spells: Allow filtering procs in FINISH phase by SpellTypeMask 2025-08-03 14:18:33 +02:00
Ovahlord 744aa1fd96 Core/Spells: make proc related fields typesafe 2025-08-03 13:33:05 +02:00
Shauren d9be195c43 Core/Spells: Start spells triggered by SPELL_EFFECT_FORCE_CAST_2 without any trigger flags 2025-08-02 15:32:01 +02:00
Shauren e503f96adb Core/Spells: Reduce number of CastSpell overloads to 1 2025-08-02 15:22:59 +02:00
Shauren 78de91a487 Core/Spells: Rename confusing SpellState enum values
* SPELL_STATE_CASTING -> SPELL_STATE_CHANNELING (was used for "channel in progress")
* SPELL_STATE_DELAYED -> SPELL_STATE_LAUNCHED
2025-08-02 12:37:52 +02:00
Ovahlord 48c21d7161 Core/Spells: reduce differences between branches 2025-08-02 09:39:15 +02:00
Shauren c158f40455 Core/Spells: Exclude TriggerCastFlags that can be set for non-triggered spells from being checked by Spell::IsTriggered 2025-08-02 08:58:18 +02:00
Shauren 16aa620ca0 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-07-28 22:19:28 +02:00
Shauren a2079b5835 Core/Spells: Split TRIGGERED_IGNORE_POWER_AND_REAGENT_COST into separate POWER and REAGENT flags 2025-07-28 21:57:12 +02:00
Ovahlord a9579cb33b Core/Skills: ported skill refactors from master branch
* implement automatic skill learning from dbc data which
2025-06-21 01:23:27 +02:00
Ovahlord 3b40b62e1c Core/Spells: no longer reset combat timers for instant melee spells 2025-06-15 20:59:41 +02:00
Ovahlord 452da00b2a Core/Player: updated the Death Knight Rune system to get closer to the Classic implementation
* Runes will no longer trigger a 1.5 seconds cooldown when missing and instead refund the runes immediately
2025-06-15 15:13:56 +02:00
Ovahlord 4524c29f2c Core/Spells: ported spell effect value calculation from cata_classic branch 2025-06-07 11:40:18 +02:00
Ovahlord 6eb73788f4 Core/Units: deprecate CREATURE_FLAG_EXTRA_NO_COMBAT and use CREATURE_STATIC_FLAG_IGNORE_COMBAT to turn creatures passive 2025-03-15 14:27:16 +01:00
Ovahlord 4127d2595b Core/Spells: refactored check for putting caster in combat with the player and incorporate CREATURE_STATIC_FLAG_IGNORE_COMBAT back in 2025-03-15 10:59:51 +01:00
Ovahlord 0c9747961d Core/Spells: restore a check for SPELL_ATTR3_COMPLETELY_BLOCKED that went missing during cherry picking 2025-03-15 08:52:37 +01:00
Shauren c23cfa4217 Core/Spells: Move entering combat for caster and calculating crit chance to separate function called only once for each target instead of doing it once for every effect on every target 2025-03-15 08:50:50 +01:00
Shauren 2274f69173 Core/Spells: Simplify combat flagging code on spell launch and impact 2025-03-15 08:47:21 +01:00
Alan Deutscher 52fc975ecc Core/Spells: Delay combat flagging for spell targets until spell missile lands 2025-03-15 08:44:48 +01:00
Ovahlord 164289b3b2 Core/Units: ported namings for UnitFlags and UnitFlags2 and added the check for forbidden flags in database 2025-03-11 18:06:35 +01:00
Ovahlord 83958342d9 Core/Spells: ported spellMod handling from master branch 2025-03-09 13:20:40 +01:00
Ovahlord 0927c5af40 Core/Misc: backported most boost changes from master branch 2025-02-27 23:47:52 +01:00
Ovahlord 924273363f Core/Pets: ported a couple changes from 3.3.5 branch that went missing and corrected a master branch spell check that was allowing non-charmed player controlled units to bypass the ai movement check exception (pets are not meant to be charmed, only controlled) 2023-12-17 05:17:57 +01:00
Shauren 2c38b2f4be Core/Spells: Merge TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS functionality into TRIGGERED_IGNORE_CAST_IN_PROGRESS as they are always used together (and missing one of them in scripts is a common enough mistake)
* Also fixes Ray of Frost being interrupted by casting Shimmer
2023-12-17 04:44:00 +01:00
Meji a601976e4c Core/Spells: Fixed target radius calculation for TARGET_DEST_*_RANDOM 2023-12-08 16:37:27 +01:00
Shauren 7d57ef7299 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 22:00:52 +01:00
Ovahlord 94f7ee4dda Core/Spells: check the correct effect index for Beacon of Light auras in heal predicitions 2023-10-24 22:12:55 +02:00
Shauren 388c504047 Core/Spells: Named and implemented most of SpellAttr8 2023-10-23 18:07:05 +02:00
Meji 56077b35c3 Core/Creatures: Improved movement interruption while casting spells 2023-10-21 20:41:40 +02:00
Shauren 3c0cf32b43 Core/Spells: Named and implemented most of SpellAttr7 2023-10-21 20:32:32 +02:00
Ovahlord 5ee22c58f6 Core/Achievements: renamed ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 to ACHIEVEMENT_CRITERIA_TYPE_LAND_TARGETED_SPELL_ON_SPELL_TARGET 2023-10-11 03:17:14 +02:00
Ovahlord 4ff88148c8 Core/Spells: only provide base difficulty spell Ids to criteria events to match their requirements (see It's Not Easy Being Green' for reference) 2023-10-11 02:09:44 +02:00
Ovahlord ff0eb86c54 Core/Achievements: ported start event and fail event mechanics from master branch 2023-10-11 01:38:01 +02:00
Jeremy f8aa09f253 Core/Areas: Update AreaFlags from EnumeratedStings values 2023-10-09 20:41:30 +02:00
Ovahlord 94a37eeaa0 Core/Spells: implement CREATURE_STATIC_FLAG_5_240_DEGREE_BACK_ARC 2023-08-27 18:24:41 +02:00
Ovahlord ff575bcef0 Core/Creatures: ported all existing static flag implementations from master branch 2023-08-27 17:16:18 +02:00
Ovahlord a57e27e6d3 Core/Spells: implement reputation requirements for spells (mostly used in guild spells such as Guild Page) 2023-08-13 11:48:20 +02:00
Ovahlord e936684e78 Core/Spells: converted FacingCasterFlags of spell casting requirements to enumflag 2023-08-13 11:38:09 +02:00
Ovahlord 2bcc645cd3 Core/Spells: ported radius entry indexing from master branch and dropped several now deprecated spell 'fixes' from spellMgr 2023-08-06 12:54:05 +02:00