Commit Graph

202 Commits

Author SHA1 Message Date
Aqua Deus 10b50d752b Scripts/Spells: Implement warlock talent Death's Embrace (#30164) 2024-09-08 21:28:13 +02:00
Aqua Deus 5192f36a0d Scripts/Spells: Implement warlock talent Perpetual Unstability (#30162) 2024-09-07 19:48:37 +02:00
Aqua Deus c6af3087d0 Scripts/Spells: Implement warlock talent Volatile Agony (#30161) 2024-09-07 14:45:36 +02:00
Aqua Deus e48cdc6c06 Scripts/Spells: Update Drain Soul script (#30160) 2024-09-07 12:36:20 +02:00
Aqua Deus 0f23815ff7 Scripts/Spells: Implement warlock talent Siphon Life (#30159) 2024-09-06 19:05:36 +02:00
Aqua Deus b8b8c0cc2f Scripts/Spells: Implement warlock talent Vile Taint (#30157) 2024-09-06 18:13:19 +02:00
Aqua Deus 4e7d6d590f Scripts/Spells: Update Haunt script (#30156) 2024-09-06 14:07:39 +02:00
Aqua Deus dd54edb378 Scripts/Spells: Implement Absolute Corruption warlock talent (#30155) 2024-09-03 16:49:49 +02:00
Aqua Deus 76864337ee Scripts/Spells: Fix Rain of Fire damage (#30185) 2024-09-02 14:37:31 +02:00
Aqua Deus 4f8cb99ad2 Scripts/Spells Update Seed of Corruption script (#30151)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2024-09-01 21:25:44 +02:00
Aqua Deus cc7da0c6c8 Scripts/Spells: Update Unstable Affliction script (#30150) 2024-08-31 18:09:19 +02:00
Aqua Deus b8d3aea216 Scripts/Spells: Fix energize for spell Doom (Warlock) (#29748) 2024-02-25 11:04:54 +01:00
Shauren 2e7e49b749 Scripts/Spells: Removed unneccessary PrepareSpellScript and PrepareAuraScript uses 2023-07-24 10:48:50 +02:00
Shauren 008c15ab6b Scripts/Spells: Removed unneccessary code from Burning Rush script 2023-07-13 16:04:58 +02:00
Aqua Deus 9ad227f075 Scripts/Warlock: Implemented Burning Rush (#29117) 2023-07-13 13:50:50 +02:00
Aqua Deus 4aaf82539c Scripts/Warlock: Implemented Dark Pact (#29118) 2023-07-13 13:38:44 +02:00
Shauren f8a6a9b017 Scripts/Spells: Added spell effect validation helper 2023-05-30 19:34:19 +02:00
Teleqraph c7ff9a9083 Scripts/Spells: Implement Summon Sayaad (#28907)
Co-authored-by: ModoX <moardox@gmail.com>
2023-04-23 16:49:01 +02:00
Shauren 8a1e635e6a Scripts/Spells: Update warlock scripts to new register model 2022-03-11 15:37:13 +01:00
Shauren 0a1acb9c05 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it
(cherry picked from commit 7d4fbf706a)
2022-02-04 00:27:10 +01:00
Aqua Deus 92335bf900 Scripts/Spells: Fix warlock chaos bolt damage (#27616) 2022-01-17 20:56:31 +01:00
Aqua Deus d95a1e7eaf Scripts/Spells: Fix warlock immolate periodic (#27615) 2022-01-16 23:10:09 +01:00
My name is Mud 1410e018eb Scripts/Spells: Fix Warlock Drain Soul energize (#27512) 2022-01-07 22:17:12 +01:00
aquadeus 90cdb1ed0d Scripts/Spells: Fixed warlock shadow bolt energize (#27440) 2021-12-25 12:51:35 +01:00
PolarCookie f7299dce97 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

(cherry picked from commit ec3cb05d7f)
2021-11-24 20:35:19 +01:00
Shauren 9fc8c86e9a Scripts/Auras: Lookup aura scripts by their type, not name 2021-10-27 01:01:41 +02:00
Shauren 555b2d40ec Core/Spells: Send OriginalCastId in SMSG_SPELL_START and SMSG_SPELL_GO for triggered spells in 'game' project 2021-10-03 16:36:39 +02:00
Shauren 8a4e1119ac Core/Spells: Unify spell effect access api in both branches 2021-09-04 15:13:15 +02:00
ariel- 962f6d7988 Core/Spells: rework part 5: GameObject casting
Closes #21330
Closes #18885
Ref #18752

(cherry picked from commit 45c5e1b9d6)
2021-08-28 15:59:11 +02:00
ariel- 5e7a11f88d Core/Scripts: apply resilience on Vampiric Touch and Unstable Affliction dispel effect
- Spell with SPELL_ATTR4_FIXED_DAMAGE won't do it by itself to avoid applying resilience twice, but because those are triggered from a periodic aura, those apply resilience on tick, not saved to amount.
- This is one of the cases where you have to call Unit::SpellDamageBonusTaken directly

Closes #21393

(cherry picked from commit 3753ec5647)
2021-08-08 21:21:34 +02:00
ariel- e9ddf644b0 Core/Scripts: implemented Seed of Corruption scaling damage tolerance
(cherry picked from commit df5afca278)
2021-06-21 00:06:39 +02:00
Treeston 34c7810fe5 Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.

(cherry picked from commit 532ab1c7f8)
2021-05-16 21:56:01 +02:00
Treeston 9b141207d1 [3.3.5] CastSpell unclusterfucking (that's a word now) (#21123)
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.

- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
  - It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has

(cherry picked from commit d507a7e338)
2021-04-16 15:22:42 +02:00
Shauren 6585666e6e Core/Spells: Define all spell modifier types and implement ProcCooldown mod and PeriodicHealingAndDamage for melee periodic damage 2021-03-15 21:03:06 +01:00
Shauren 624881bef5 Core/Spells: Refactor Player::ApplySpellMod to take SpellInfo argument instead of just spell id 2021-03-02 21:32:48 +01:00
Matan Shukry 1fa33b1dc8 Scripts/Spells: Removed unused warlock spell scripts (#26159) 2021-02-27 13:56:41 +01:00
Matan Shukry 7159de62b6 Scripts/Spells: Remove const from AuraEffect argument for AuraEffectProcFn 2021-02-13 14:08:16 +01:00
Shauren 7f6eef37e6 Core/Spells: Use new spell visual structure instead of just SpellXSpellVisualID 2020-12-08 18:16:46 +01:00
Shauren 1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Treeston 8be23fcbbd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.

(cherry picked from commit e2a1ccd118)
2020-08-13 22:46:44 +02:00
Shauren c7306439e7 Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower 2020-06-12 01:29:18 +02:00
Aokromes b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
xinef1 ca26c33145 Implemented binary resistances and some more (#18933)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects

(cherrypicked from 93746e8c4a)
2019-07-21 21:06:54 +02:00
vincent-michael 5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Traesh a8a071e9d9 Core/AreaTrigger: handle AREATRIGGER_FLAG_HAS_CIRCULAR_MOVEMENT (#21778) 2018-08-05 18:57:35 +02:00
Shauren f963b8a225 Core/Spells: Removed outdated mechanic (spell downranking coef penalty) 2018-01-27 12:21:35 +01:00
ariel- 8cb118009e Core/Spell: restore old proc system behaviour on auras self proc.
- Use Spell::m_triggeredByAuraSpell and compare against trigger aura, it requires scripts to set triggeredByAura parameter.
- Fixed existing scripts lacking it

DB/Spell: Anger Capacitor (Tiny Abomination in a Jar) proc

Closes #18269

(cherry picked from commit 5b56c94e6d)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Spells/Auras/SpellAuras.cpp
#	src/server/game/Spells/Spell.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
#	src/server/scripts/Pet/pet_hunter.cpp
#	src/server/scripts/Spells/spell_dk.cpp
#	src/server/scripts/Spells/spell_druid.cpp
#	src/server/scripts/Spells/spell_hunter.cpp
#	src/server/scripts/Spells/spell_item.cpp
#	src/server/scripts/Spells/spell_mage.cpp
#	src/server/scripts/Spells/spell_paladin.cpp
#	src/server/scripts/Spells/spell_priest.cpp
#	src/server/scripts/Spells/spell_rogue.cpp
#	src/server/scripts/Spells/spell_shaman.cpp
#	src/server/scripts/Spells/spell_warlock.cpp
#	src/server/scripts/Spells/spell_warrior.cpp
2018-01-13 16:38:07 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
joschiwald 0fcf6043b7 Core/Misc: Changed some SpellMgr::GetSpellInfo calls 2017-09-24 23:15:56 +02:00
joschiwald 187addf77b Fixed warning 2017-09-05 17:32:53 +02:00