Commit Graph
1203 Commits
Author SHA1 Message Date
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
Jinnaix 458b841691 Core/Spells: Correct flagging spell caster for pvp when healing/buffing friendly creatures - it should only happen if target is in combat 2022-09-12 09:15:30 +02:00
Gildor 86121e9996 Core/Spells: Aura refresh improvements 2022-09-12 09:15:29 +02:00
joshwhedon eb181ca99f Removing a duplicate item combat spell handling causing poisons (and others) to proc twice. (#24627) 2022-09-12 09:15:28 +02:00
Gildor 1f1e1b3a66 Core/Spells: Improve check for non damage/heal spells in Spell::TargetInfo::DoDamageAndTriggers (#24467)
* this prevent cases like full absorb damage that override proper hitMask
2022-09-12 09:15:27 +02:00
Keader 4fc1d30dc4 Core/Spells: Fixed Ice Block / Divine Shield cast in Cyclone (#24465)
(cherry picked from commit c41ae890693676c25cf58f448da9a914fcb9aaf1)
2022-09-12 09:15:27 +02:00
Gildor eab8e4aefb Core/Gameobjects: Improve stealth detection 2022-09-12 09:15:27 +02:00
Shauren eeef100e08 Core/Spells: Fixed checking free inventory space for some spells that have bad dbc data 2022-09-12 09:15:27 +02:00
jackpoz c237b056b3 Core/Spells: Fix missing "Inventory is full" with spells that create more than 1 item 2022-09-12 09:15:26 +02:00
Ovahlord 5724e4c578 Core/Spells: fixed more cherrypick mistakes 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
Treeston ce662d1ad7 Core/Spells: Spell pushback now only affects players (as it should)
# Conflicts:
#	src/server/game/Spells/Spell.cpp
2022-09-12 09:15:25 +02:00
Wyrserth b5e177edbc Core/Spell: fix some issues with taunt spells 2022-09-12 09:15:25 +02:00
Wyrserth 2f5fd3f227 Core/Spells: don't allow spells with SPELL_EFFECT_CREATE_ITEM_2 to be cast if there isn't enough space in inventory 2022-09-12 09:15:24 +02:00
brotalnia 7cc33f1bb7 Core/Spells: Return CheckCast result from CastSpell (#23236)
* Return CheckCast result from CastSpell

* Return cast result from UnitAI methods too.
2022-09-12 09:15:23 +02:00
PolarCookie 81e5943bd0 Core/Spell: SpellAura Redux (#22794)
* typo and correction

* spell aura no longer shared between targets

_spellAura isolated

* SPELL_AURA_CONTROL_VEHICLE is not strictly single target spell

Steam Tank Control and Wyrmrest Commander

units can reseat themselves again

* Rename 9999_99_99_99_world.sql to 2019_03_08_00_world.sql
2022-09-12 09:15:23 +02:00
Shauren 5ceba73504 Core/Spells: Corrected haste affecting GCDs to match 3.3.5 client logic 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
PolarCookie b4b8fffa22 Core/Spells: fix issues with delayed spells and auras 2022-09-12 09:15:20 +02:00
ariel- 80b256795c Core/Spells: always initialize hitinfo aura
Ref 437c5c7b9d2122f7b1f46fd4e0f502c8be1e3091
2022-09-12 09:15:19 +02:00
ariel- 82ffeb587b Core/Spells: fix delayed hit aura crash 2022-09-12 09:15:18 +02:00
ariel- 460c317399 Core/Spells: fix issues with delayed spells and auras
- Was losing info of delayed targets due to remove_if move-assigning targets, it needs to be saved into delayed target vector before returning from lambda
- Delayed auras applying on many targets are now handled gracefully
2022-09-12 09:15:17 +02:00
ariel- 427582b0f7 Core/Spells: only apply aura effects when needed. 2022-09-12 09:15:17 +02:00
ariel- 55577ad85b Core/Spells: Fix some issues with channeled spells and aura duration mods 2022-09-12 09:15:16 +02:00
ariel- b3c8d78fa2 Core/Spell: fix SendSpellMiss requiring caster Unit 2022-09-12 09:15:16 +02:00
ariel- c889b81f2c Core/Spell: fix target checks
- Aura will be applied at last moment possible (after damage) to prevent regressions on #18395
- Partial revert of 9b38a6352c0fe2499de54fd769aa1c721a410bda as it wasnt handling correctly checks without spells
2022-09-12 09:15:15 +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
Ovahlord c901772640 Core/Misc:
* applied character database updates for the caster depenency removal
* corrected implementation of SPELL_ATTR3_SUPPRESS_CASTER_PROCS and SPELL_ATTR3_SUPPRESS_TARGET_PROCS based on master branch
* removed a duplicate SpellAuraInterruptFlags::ActionDelayed removal call
2022-09-12 09:15:14 +02:00
ariel- 4bb8c93df8 Core/Spells: rework part 4: iterate over effects first
Implement far spell queue processing

# Conflicts:
#	src/server/game/Spells/Spell.cpp
2022-09-12 09:15:13 +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