Commit Graph
1233 Commits
Author SHA1 Message Date
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
Shauren 050300771d Core/Spells: Rename SpellAttr6 to use official attribute names 2022-09-30 10:45:17 +02:00
Shauren 180836b977 Core/Spells: Implemented SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT and SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT 2022-09-30 02:14:25 +02:00
Shauren 0f6cac2373 Core/Spells: Implemented SPELL_ATTR5_TREAT_AS_AREA_EFFECT 2022-09-30 02:12:19 +02:00
Shauren 4cfd439d34 Core/Spells: Implemented SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED 2022-09-30 02:08:33 +02:00
Shauren 8fa4b57925 Core/Spells: Implemented SPELL_ATTR5_NOT_ON_PLAYER and SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC 2022-09-30 02:05:54 +02:00
Shauren d1700ba5fa Core/Spells: Rename SpellAttr5 to use official attribute names
* Implemented SPELL_ATTR8_HASTE_AFFECTS_DURATION
2022-09-30 01:30:14 +02:00
Shauren a7dc339a6a SHA-1: 8d16a79dea4c0100d36e13b068c42499a3a48154
* Core/Spells: Rename SpellAttr4 to use official attribute names

* Corrected implementation of SPELL_ATTR4_CLASS_TRIGGER_ONLY_ON_TARGET
* Implemented SPELL_ATTR4_NO_HELPFUL_THREAT
* Implemented SPELL_ATTR4_NO_PARTIAL_IMMUNITY
* Implemented SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING
* Implemented SPELL_ATTR4_USE_FACING_FROM_SPELL
* Implemented SPELL_ATTR4_BOUNCY_CHAIN_MISSILES
* Implemented SPELL_ATTR4_AURA_NEVER_BOUNCES
* Implemented SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL
* Implemented SPELL_ATTR4_AURA_IS_BUFF
* Implemented SPELL_ATTR5_MELEE_CHAIN_TARGETING

* Implemented SpellEffectAttributes::ChainFromInitialTarget
2022-09-30 01:16:39 +02:00
Ovahlord bf39afaf3a Core/Spells: corrected sending blocked targets in spell_go packet 2022-09-27 00:43:02 +02:00
Ovahlord 6474479334 Core/Spells: fixed a regression which was causing spell_start packets to send wrong immunities 2022-09-22 15:10:16 +02:00
Ovahlord c6711adf8b Core/AI: ported SpellHit and SpellHitTarget refactor from 335 branch 2022-09-22 10:33:13 +02:00
Ovahlord 6d64727029 Core/Spells: fixed a crash with spell bushbacks 2022-09-20 19:51:27 +02:00
Ovahlord ef3632109d Core/Spells: ported SpellModOp definitions from master branch 2022-09-17 11:56:54 +02:00
Ovahlord 13ab90d515 Core/Spells: don't send blocked delayed attacks as missed target to match sniff data 2022-09-13 22:53:28 +02:00
Ovahlord 385846a273 Core/Spells: kill more dead ammo code 2022-09-13 19:19:17 +02:00
Ovahlord 3057924db2 Core/Spells: corrected implementation of SPELL_ATTR3_COMPLETELY_BLOCKED
* it's not a bug, it's a feature :)
2022-09-13 18:19:05 +02:00
Ovahlord 5253b7e677 Core/Spells: no longer consider blocked spells as missed and properly handle the melee damage reduction
* resolved more cherrypick mistakes while at it
* dropped dead ammo code
2022-09-13 17:59:28 +02:00
Ovahlord a7ba9502d7 Core/Units: a587f99c30 followup 2022-09-13 16:30:15 +02:00
Shauren 946f928ee2 Core/Spells: Rename SpellAttr3 to use official attribute names
* Implemented SPELL_ATTR3_NO_AVOIDANCE
* Implemented SPELL_ATTR3_ONLY_PROC_OUTDOORS
* Implemented SPELL_ATTR3_ONLY_PROC_ON_CASTER
* Implemented SPELL_ATTR3_PVP_ENABLING
* Implemented SPELL_ATTR3_SUPPRESS_CASTER_PROCS
* Implemented SPELL_ATTR3_SUPPRESS_TARGET_PROCS
2022-09-13 15:40:25 +02:00
Shauren ea4bc6c02a Core/Spells: Rename SpellAttr2 to use official attribute names
* Corrected implementation of SPELL_ATTR1_ALLOW_WHILE_STEALTHED
* Implemented SPELL_ATTR2_RETAIN_ITEM_CAST
* Implemented SPELL_ATTR2_ALLOW_WHILE_INVISIBLE
* Implemented SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE
* Implemented SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE
* Implemented SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS
* Implemented SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE
* Implemented SPELL_ATTR1_REQUIRE_ALL_TARGETS
* Implemented SPELL_ATTR2_CHAIN_FROM_CASTER
* Implemented SPELL_ATTR2_NO_ACTIVE_PETS
* Implemented SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY
2022-09-13 14:36:32 +02:00
Ovahlord e3e4b2cf16 Core/Spells: dropped old dot clipping implementation and restored TC period and duration calculations in preparation of re-implementing it 2022-09-12 09:15:35 +02:00
Ovahlord 0e4d77ddb1 Core/Spells: removed a duplicate haste application for auras which caused auras ending up with a shorter duration than intended
hi @warpten could need you to look over it so your work wont get destroyed
2022-09-12 09:15:32 +02:00
Ovahlord 6a71b6d053 Core/Units: consider summoned units with a creator guid also as party or raid member
the old logic was built on the false assumption that all units like totems have a ownerguid - they do not. They only have a creatorguid. Ownerguids (as the name implies) is only applied on units that the player is actively controlling. 3.3.5 has this implemented in a wrong way while 4.x does not.

*also fixed up more cherrypick mistakes while at it
2022-09-12 09:15:31 +02:00
Shauren ca7d36873f Core/Spells: Rename SpellAttr1 to use official attribute names
* Implemented SPELL_ATTR1_NO_SKILL_INCREASE, SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT, SPELL_ATTR1_DISPEL_ALL_STACKS
2022-09-12 09:15:31 +02:00