Commit Graph
1256 Commits
Author SHA1 Message Date
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
Shauren 9480f79c2a Core/Scripts: Added damage and healing calculation hook to spell and aura scripts allowing to override base damage amount, flat value mod and percent value mod separately 2023-08-03 21:32:20 +02:00
Ovahlord 4e397e76d0 Core/Spells: implement TARGET_DIR_SUMMON and use it to properly support TARGET_DEST_CASTER_SUMMON
This fixes positions for pet summons and gameobject summons such as Campfires
2023-07-17 01:23:56 +02:00
Ovahlord c231bf34e5 Core/Spells: fixed more warnings and deprecations 2023-07-07 23:10:54 +02:00
Ovahlord 4033227c99 Core/Spells: removed some dead code related to Glyph of Pain Supression 2023-01-24 11:22:47 +01:00
Shauren 68cf700178 Core/Maps: Made instance_template no longer required to create and enter instance maps 2023-01-09 11:42:15 +01:00
ModoX 0baf2d1e1e Core/Instances: Drop allowMount column in instance_template as it is already handled properly by SPELL_ATTR0_OUTDOORS_ONLY 2023-01-09 11:36:01 +01:00
Shauren 265c2fa508 Core/Battlefields: Refactor Battlefield creation to be linked to host map creation instead of having globally accessible objects 2022-12-26 13:24:59 +01:00
Ovahlord 56b0ca2370 Core/Spells: make Spell::CheckItems partially respect gameobject casters as well 2022-12-20 09:46:57 +01:00
Ovahlord 0166f84a1b Core/Spells: replaced SPELLVALUE_AURA_DURATION implementation with master's SPELLVALUE_DURATION version 2022-10-16 11:20:51 +02:00
Ovahlord 6b8314454f Core/Spells: fixed a crash when using hunter traps 2022-10-08 13:39:50 +02:00
Shauren 21e9854686 Core/Maps & Extractors: Move copypasted map file headers into a single shared file and replace #defines with enums 2022-10-07 22:16:46 +02:00
Ovahlord 01de6fc505 Core/Spells: set immunity cast flag in SMSG_SPELL_GO packets as well 2022-10-03 16:15:03 +02:00
Ovahlord 09a1987286 Core/Spells: greatly simplified spell focusing based on new attributes implementations and fixed up interrupt flag checks for movement based interrupts 2022-10-03 16:10:06 +02:00
Ovahlord 3d529f2d7d Core/Spells: refactored duration and period calculations
* fixed sending hit targets in spell_go packet
2022-10-01 19:13:01 +02:00
Ovahlord b6f8a68d61 Core/Spells: fixed duration clamping for haste based periodic auras and added support for rolling any tick over
* roll over remaining time until next tick over into a refreshed periodic aura's duration
* this behavior is now being used for stackable spells, all HoTs and DoTs
* fixed adding extra ticks when at certain tick thresholds
* corrected implementation of SPELL_ATTR8_HASTE_AFFECTS_DURATION
* implemented SPELL_ATTR8_MELEE_HASTE_AFFECTS_PERIODIC
2022-10-01 13:47:14 +02:00
Shauren f35e49b515 Core/Spells: Implemented SPELL_ATTR6_TAPS_IMMEDIATELY 2022-09-30 11:27:56 +02:00
Shauren c78371f321 ore/Spells: Autorepeat casting fixes
* Fixed cast bars of ranged spells not disappearing when canceled while autoshooting
* Replaced hacky 500ms delay on non auto shot autorepeat spells with native spell cast time (wands have 500ms cast time)
* Update cooldowns before attempting to cast autorepeat spells (for cases when cooldown ends on the same server tick as cast attempt)
2022-09-30 11:08:20 +02:00
Shauren dfc6fe6450 Core/Spells: Cleanup movement checks in spells - use correct interrupt flags 2022-09-30 11:02:52 +02:00