Commit Graph
171 Commits
Author SHA1 Message Date
Aqua Deus 1c360b8e11 Scripts/Spells: Implement rogue talent Deepening Shadows (#30980) 2025-05-24 21:32:38 +02:00
Shauren 26376d89e1 Scripts/Spells: Use Spell::GetPowerTypeCostAmount where possible instead of iterating Spell::GetPowerCost 2025-01-20 22:49:52 +01:00
Aqua Deus b18d0b8c68 Scripts/Spells: Updated Rogue Deadly Poison script for current expansion (#30377) 2025-01-06 20:41:08 +01:00
Shauren 884662a75a Core/Scripts: Added SpellEffectInfo argument to CalcDamage and CalcHealing spell script hooks 2024-12-21 00:40:08 +01:00
Aqua Deus bd54059dbb Scripts/Spells: Fix Rogue Stealth with cleanup for dropped spells and move some linked spells to their own separate scripts (#30378) 2024-11-24 16:14:31 +01:00
Aqua Deus 783693a0a0 Scripts/Spells: Implement Rogue Acrobatic Strikes talent (#30376) 2024-11-09 18:36:33 +01:00
Aqua Deus c9b2823d6e Scripts/Spells: Implement Rogue Airborne Irritant talent (#30375) 2024-11-09 15:21:18 +01:00
Aqua DeusandShauren ea9b8a2874 Scripts/Spells: Implement Rogue talent Improved Garrote (#30379)
Co-authored-by: Shauren <[email protected]>
2024-11-08 19:49:00 +01:00
Aqua Deus c2c54250cd Scripts/Spells: Implement rogue talent Soothing Darkness (#30405) 2024-11-08 12:23:05 +01:00
Aqua Deus f413da4017 Spells/Scripts: Implement Rogue Poisoned Knife talent (#30381) 2024-11-05 15:49:52 +01:00
Aqua Deus 9de1ee13d5 Scripts/Spells: Implement rogue talent Improved Shiv (#30147) 2024-08-21 00:35:13 +02:00
Aqua Deus 4118d0bbd8 Spells/Spells: Implement rogue talent Prey on the Weak (#29206) 2023-08-26 21:04:36 +02:00
Aqua Deus 772ba03939 Scripts/Spells: Implement rogue talent Blackjack (#29205) 2023-08-26 20:15:19 +02:00
Aqua Deus 78531ed6bf Scripts/Spells: Implement Cheat Death (#29201) 2023-08-26 18:30:09 +02:00
MaddyCrowle ae17975dd1 Scripts/Spells: Update Rupture, Eviscerate and Envenom scripts (#29172) 2023-08-03 15:23:45 +02:00
Shauren 197d4369c8 Core/Spells: Removed old combo point code leftovers 2023-07-31 11:55:00 +02:00
Shauren 2e7e49b749 Scripts/Spells: Removed unneccessary PrepareSpellScript and PrepareAuraScript uses 2023-07-24 10:48:50 +02:00
Shauren 07d6eb3a57 Scripts/Spells: Fixed remaining spells with SPELL_ATTR3_CAN_PROC_FROM_PROCS attribute 2023-06-27 22:22:16 +02:00
Shauren f8a6a9b017 Scripts/Spells: Added spell effect validation helper 2023-05-30 19:34:19 +02:00
Shauren f6ab9fd92e DB/Spells: Added proc requirements to a few auras that have SPELL_ATTR3_CAN_PROC_FROM_PROCS attribute 2023-04-01 16:24:14 +02:00
Shauren d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren 78698463ff Core/Spells: Remove all hardcoded restrictions for pick pocket spell effect and rely only on presence of pickpocket loot in db 2022-09-11 14:13:10 +02:00
offl 0408693646 Scripts/Spells: Add comments with id & name of spells part 3
(cherry picked from commit 03c727326dce5d990fd453f42a92300dbd68dc0e)
2022-03-10 23:52:03 +01:00
Aqua Deus e14f7582cb Scripts/Spells: Convert rogue spell scripts to new script registration syntax (#27752) 2022-02-15 23:52:51 +01:00
Shauren 68a662ae04 Core/Spells: Add type safety to proc related functions - using enum arguments instead of plain integers 2022-02-10 12:25:27 +01:00
Shauren 0a1acb9c05 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it
(cherry picked from commit 7d4fbf706ae19481468901ccd65c497fcabe56bf)
2022-02-04 00:27:10 +01:00
Shauren 596bf2b772 Core/Misc: Replace boost::optional with std::optional part 2 2022-01-23 20:31:52 +01:00
Shauren 5be16577f7 Build fix for older boost version 2021-12-25 21:53:47 +01:00
Matan Shukry a3d06f2f32 Scripts/Spells: Implemented various rogue spells (#26319)
* Ruthlessness
* Mastery: Main Gauche
* Venomous Wounds
* Symbols of Death
* Backstab
* Premeditation
* Grand Melee
* True Bearing
* Slice and Dice
* Roll the Bones
2021-12-25 21:25:54 +01:00
Shauren 9fc8c86e9a Scripts/Auras: Lookup aura scripts by their type, not name 2021-10-27 01:01:41 +02:00
ariel- 3485cb38ed Core/Spells: remove 'Vanish Purge' hack, the spell is present on DB and is copy of one in vanilla DBC
Thanks to killerwife for the heads-up

(cherry picked from commit 303efcf0e4ee9ce3cfe308a3d6aa2aece1aa39da)
2021-06-19 23:33:25 +02:00
ariel- 5fbddef85f Core/Spell: SpellValueOverrides encapsulation
- No sense to let scripts use SpellValueOverrides, we already have modifiers in CastSpellExtraArgs struct

(cherry picked from commit 3b01cccd7eafaff9f3b8236a544e4fa46818926c)
2021-06-14 00:19:50 +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 532ab1c7f8653d1a2e48aa1f1f8a9ba1041d4bb7)
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 d507a7e3388382960108b24143da48e5f912b4a7)
2021-04-16 15:22:42 +02:00
Matan Shukry 6b9ff7442e Scripts/Spells: Removed unused rogue spell scriptss (#26157) 2021-02-27 13:50:05 +01:00
Matan Shukry 7159de62b6 Scripts/Spells: Remove const from AuraEffect argument for AuraEffectProcFn 2021-02-13 14:08:16 +01:00
Shauren b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
Shauren 1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +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 93746e8c4a79c8256cd4896533315683f143508c)
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
joschiwald 570da66533 Scripts/Spells: Fixed eviscerate and envenom damage
Closes #21923
Closes #21874
2018-05-12 12:49:12 +02:00
Shauren 007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
joschiwald b12b37058c Scripts/Spells: Fixed Rogue Stealth SpellScript
Ref #20883
2017-11-18 21:33:46 +01:00
ariel- b86150352d Core/Scripts: added missing null checks for DamageInfo struct
(cherry picked from commit 666422d82751439aaf3ddd05dae086900dffcbf2)

# Conflicts:
#	src/server/scripts/Spells/spell_dk.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
2017-09-05 11:57:29 +02:00
ariel- 12646fe4b3 Core/Scripts: fix undefined reference errors in Linux
Closes #19915
2017-06-19 14:34:00 -03:00
Shauren 24b8aa1166 Build fix for VS 2015 2017-06-17 23:26:27 +02:00
Shauren 6c9b5e4cf5 Core/Spells: Fixed Atonement 2017-06-17 15:31:52 +02:00