Commit Graph
2265 Commits
Author SHA1 Message Date
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 9455b09518 Core/Packets: converted SMSG_PET_ACTION_SOUND to packet class and renamed its related method to Unit::SendPetActionSound 2022-12-11 20:12:35 +01:00
Ovahlord 92c9661804 Core/Packets: converted SMSG_PET_ACTION_FEEDBACK to packet class and added spellId argument to Unit::SendPetActionFeedback 2022-12-11 20:03:57 +01:00
Ovahlord dd43ca3e6a Core/Units: ensure that we use valid iterators when providing spell Ids in Unit::RemoveAppliedAuras and Unit::RemoveOwnedAuras 2022-11-23 21:01:09 +01:00
Ovahlord 181d1e2485 buildfix 2022-10-17 00:43:54 +02:00
Ovahlord 4b8bea57d8 Core/Units: ensure that we always have a valid caster when a charmed unit allows its charmer to cast spells directly 2022-10-16 17:58:58 +02:00
Ovahlord 6fa4c22daf Core/Misc: fixed more crashes related to the caster dependency removal 2022-10-09 10:45:10 +02:00
Shauren cf2bf7f77f Core/Spells: Corrected implementation of SPELL_ATTR1_ALLOW_WHILE_STEALTHED and SPELL_ATTR2_ALLOW_WHILE_INVISIBLE to use DispelType instead of checking effect types 2022-10-04 12:36:58 +02:00
Ovahlord 7d67f10f77 Core/Spells: added a missing check in Unit::IsMovementPreventedByCasting 2022-10-03 12:22:39 +02:00
Ovahlord af71a8c9c1 Core/Units: fixed a crash in Unit::DealDamage when the attacker is no longer in world (periodic damage auras) 2022-10-03 12:01:01 +02:00
Shauren b4a39d42a8 Core/Auras: Fixed requireImmunityPurgesEffectAttribute logic for school immunities 2022-09-30 12:50:31 +02:00
Shauren c3b52fd29f Core/Auras: Improve aura interactions with immunities on spell effect level
* Effects that target is immune to will be suppressed instead of completely removed
2022-09-30 12:49:31 +02:00
Alan Deutscher 0f4442c630 Core/Auras: Do not remove auras unaffected by invincibility
* Mark WSG's Focused Assault and Brutal Assault as unaffected by immunities
2022-09-30 11:33:04 +02:00
Shauren f35e49b515 Core/Spells: Implemented SPELL_ATTR6_TAPS_IMMEDIATELY 2022-09-30 11:27:56 +02:00
Shauren f93918ef0c Core/Spells: Implemented SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE 2022-09-30 11:26:38 +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 1f60928a51 Core/Spells: Implemented SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST 2022-09-30 10:56:37 +02:00
Shauren b394faf376 Core/Spells: Implemented SPELL_ATTR6_NO_PUSHBACK 2022-09-30 10:55:29 +02:00
Ovahlord eb0a5b607c buildfix 2022-09-30 10:49:43 +02:00
Shauren 4cfd439d34 Core/Spells: Implemented SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED 2022-09-30 02:08:33 +02:00
Shauren 2c78751b5a Core/Spells: Corrected implementation of SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL - it allows casting other spells while channeling, not allows movement while channeling 2022-09-30 02:00:04 +02:00
Shauren 75906f3d06 Core/Auras: Added support for SPELL_ATTR5_LIMIT_N limit to other number than just 1 2022-09-30 01:57:52 +02:00
Ovahlord 8a9f5e297b buildfix 2022-09-30 01:33:59 +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 34386e2b47 Core/Packets: converted SMSG_PERIODIC_AURA_LOG to packet class 2022-09-29 22:27:57 +02:00
Ovahlord dad7c2c102 Core/Spells: minor refactor for SPELL_AURA_MOD_DAMAGE_FROM_MANA implementation 2022-09-27 12:56:09 +02:00
Ovahlord 7630711eaa Core/Units: fixed a possible crash in Unit::MeleeDamageBonusDone 2022-09-20 21:24:48 +02:00
Ovahlord bc1d71e589 Core/Spells: fixed totems not inheriting spell bonus effects from their creator 2022-09-20 19:44:44 +02:00
Ovahlord ef3632109d Core/Spells: ported SpellModOp definitions from master branch 2022-09-17 11:56:54 +02:00
Ovahlord dbc0de1e71 Core/Units: removed PvE level delta based block chance bonus
* according to simulationcraft there is no sign of it being real
2022-09-14 01:06:01 +02:00
Ovahlord 19de0a1949 Core/Units: restore block chance bonus when fighting stronger creatures 2022-09-13 19:19:47 +02:00
Ovahlord e9e2d65b42 Core/Units: allow ranged attacks to be blocked 2022-09-13 18:46:37 +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 a7ba9502d7 Core/Units: a587f99c30 followup 2022-09-13 16:30:15 +02:00
Ovahlord a587f99c30 Core/Units: correct block chance and damage calculation of melee spells
*MeleeSpellHitResult already returns a valid block roll result so we don't need a 2nd roll in CalculateSpellDamageTaken
2022-09-13 16:14:42 +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 4c28aaebd6 warning fixes 2022-09-12 09:15:34 +02:00
Ovahlord 2b3477fab5 Core/Packets: ported SMSG_SPELL_DAMAGE_SHIELD to packet class and handle its missing field 2022-09-12 09:15:34 +02:00
Ovahlord 18e6cd4565 Core/Units: resolved more cherrypick mistakes which caused vehciles accessories to not enter their seats 2022-09-12 09:15:34 +02:00
Meji 4552929860 Core/Unit: Update collision height calculation 2022-09-12 09:15:33 +02:00
Ovahlord 77cf3ebc91 Core/Spells: removed another duplicate haste application for periodic auras 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
Kaytotes b2d01c8d76 Core/Units: Removed incorrect facing movement packet sent with every creature autoattack 2022-09-12 09:15:30 +02:00
Giacomo Pozzoni 2b2237b7bc Fixes/3.3.5 aura infinite loop
* Core/Auras: Attempt to fix infinite loop with aura 18950 on map unload

* Core/Auras: Log a detailed error and assert when failing to remove all auras after a few tries

* Code cleanup
2022-09-12 09:15:28 +02:00
Giacomo Pozzoni b052d23c4f Core/Creatures: Fix spell_school_immune_mask being applied against positive spells too (#23999) 2022-09-12 09:15:26 +02:00
Ovahlord ec09a4830a Core/Spells: resolved a couple cherrypick mistakes 2022-09-12 09:15:25 +02:00