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
Wyrserth
86749679c8
Core/Spell: honor IsStackableOnOneSlotWithDifferentCasters() when deciding if an aura should stack from different casters or not. ( #23579 )
...
Fixes #23387 and #22818 .
2022-09-12 09:15:25 +02:00
Wyrserth
2fefbc800b
Core/Spell: allow damage from binary spells to go through elemental resistance's damage reduction.
2022-09-12 09:15:24 +02:00
jackpoz
068d7f826e
Core/Spells: Fix assert triggered
...
Fix assert triggered when a spell would trigger another spell in OnEffectHitTarget that would kill the aura owner, then processing the main spell effects. The triggered spell can kill the aura owner, changing its death state to CORPSE and removing auras created.
Fix #21856
Ref 518e6299ca08a362bc3709daaaa5e5d5633d1bf1
2022-09-12 09:15:23 +02:00
jackpoz
1180c43bac
Core/Spells: Fix assert triggered
...
Fix assert triggered when a spell would trigger another spell in OnEffectHitTarget that would kill the target, then processing the main spell effects. The triggered spell can kill the target, changing its death state to CORPSE and removing auras created.
Fix #22306
2022-09-12 09:15:22 +02:00
Shauren
96c4a1b1f9
Core/Spells: Fixed unapplying rockbiter weapon
2022-09-12 09:15:21 +02:00
Shauren
dc8bf301bb
Core/Auras: Fixed saving auras with same spell id but different item source
2022-09-12 09:15:21 +02:00
Shauren
adfeaa7666
Core/PacketIO: Fixed SMSG_SPELLNONMELEEDAMAGELOG structure
2022-09-12 09:15:20 +02:00
ariel-
3a3e70f2b6
Core/Spells: all bleed effects should ignore armor
2022-09-12 09:15:19 +02:00
ariel-
b3c8d78fa2
Core/Spell: fix SendSpellMiss requiring caster Unit
2022-09-12 09:15:16 +02:00
ariel-
1fe5563431
Core/Spells: Fix periodic rolling adding bonuses twice
...
Calculation is now done in CalculateAmount
2022-09-12 09:15:15 +02:00
ariel-
b6fac86b71
Core/Spells: rework part 5: GameObject casting
2022-09-12 09:15:14 +02:00
ariel-
3fbbea61bd
Core/Spells: rework part 3: spells only handle at most one UnitAura and one DynObjAura during its lifetime
...
# Conflicts:
# src/server/game/Spells/Auras/SpellAuras.h
2022-09-12 09:15:13 +02:00
ariel-
98a988a77a
Core/Spells: rework part 2: Split up target selection logic
...
Target check only determines what kind of entities we can target, spell positivity determines if that entity is valid for attack/assist
2022-09-12 09:15:13 +02:00
Ovahlord
36b5e120af
build fix
2022-09-12 09:15:12 +02:00
ariel-
3bfa32d15b
Core/Unit: kill unused parameter from SpellxxxBonusTaken
2022-09-12 09:15:11 +02:00
ariel-
6024b7b4fb
Core/Unit: corrected calculation for SPELL_AURA_MOD_DAMAGE_TAKEN/SPELL_AURA_MOD_HEALING auras
...
- Spell bonus calculation and penalty was done twice, but it's simply flat +SP, which should be taken into account before other bonuses
- Fixed missing code from SpellDamageBonusDone/SpellHealingBonusDone and killed multiplication by stack amount twice for default coefficient spells (already multiplied on level penalty)
2022-09-12 09:15:11 +02:00
ariel-
c81f48197d
Core/Spells: calculate crit chance only for spells that do damage/healing
2022-09-12 09:15:10 +02:00
ariel-
64b9b1c28b
Core/Spells: kill unused parameter from Spell constructor
2022-09-12 09:15:10 +02:00
ariel-
c9e732b0bf
This hook modifies damage AFTER it has been reduced by target auras/armor/resistances etc, it's useful if you want to scale damage by a factor, but not to add flat bonuses.
...
We're fixing those by moving calculation to Launch phase, where target taken bonuses haven't been used yet.
- Bronjahm: Magic's Bane
- BPC: Shadow Prison
- Oculus: Shock Lance
- Ymiron: Dark Slash (extra fix, it was wrongly damaging half of total health, it's supposed to be half of CURRENT health!)
- DK: Raise Ally Thrash spell (also extra fix: corrected formula)
- Warrior: Bloodthirst (shouldn't matter much as it's damage class none and those don't get bonuses by default)
- Warrior: Concussion Blow
- Warlock: extra fix for Haunt, healing part shouldn't scale with spell power
2022-09-12 09:15:08 +02:00
Ovahlord
5ff7fda516
resolved a cherrypick mistake
2022-09-12 09:15:07 +02:00
ariel-
5d8fc591ed
Core/Unit: fix mess-up with CalcArmorReducedDamage parameter order
2022-09-12 09:15:06 +02:00
ariel-
29fddba8fd
Core/Entities: Port some refactors from f1986c6aafdf2457902a7a4cc7acc903cbbdc7bb
2022-09-12 09:15:06 +02:00