Commit Graph

175 Commits

Author SHA1 Message Date
Matan Shukry
7159de62b6 Scripts/Spells: Remove const from AuraEffect argument for AuraEffectProcFn 2021-02-13 14:08:16 +01:00
Shauren
f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02: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
Treeston
4f676221b8 Scripts/Item: Port spell_item.cpp scripts to new script registration syntax wherever possible. No actual changes in functionality. (fb87ac8 follow-up)
(cherry picked from commit 37f59f8850)
2020-08-19 21:38:47 +02:00
treeston
89006f621e Scripts/Item: Change Nitro -> Boosts <- to use the correct knockup effect for their backfire. Also, script that knockup effect to work properly ("usually" deploy a rescue parachute).
(cherry picked from commit 02b1d8bb48)
2020-08-19 20:51:03 +02:00
treeston
0f741c4a7f Scripits/Item: Nitro. BOOSTS.
(cherry picked from commit 125127ea73)
2020-08-19 20:18:44 +02:00
treeston
ba7d8e9ace Scripts/Item: Fix Nitro Boosts to only fail in flyable areas. Also, it's called nitro _boosts_. Not _boots_. Nitro _boosts_.
(cherry picked from commit f953d85960)
2020-08-19 20:18: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
ariel-
cdbe16fabe Core/Scripts: implemented Gnomish Harm Prevention Belt
Updates #18542

(cherry picked from commit 2db3e86d9b)
2020-04-24 17:18:47 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
d934824421 Core/Items: Implement azerite empowered items 2019-12-05 00:12:35 +01:00
Shauren
0a2d9ad2f7 Core/Items: Add ItemContext param to Item::Create function 2019-11-23 00:03:42 +01:00
Shauren
ab6ae44b63 Core/Items: Implemented AzeriteItem 2019-11-12 00:28:59 +01:00
ariel-
4ce758a726 Update spell_item.cpp
Small indent and codestyle fixes

(cherrypicked from 149e449506)
2019-07-21 21:06:54 +02:00
Gerhood
7e83cce81f Core/Spells: implement Mad/Crazy Alchemist's potions
(cherrypicked frombab59b28faad262dc5d9873ca7c0856477ec4d66)
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
Shauren
921235b3e9 Core/Misc: Fixed rotation of many gameobjects summoned in tol barad, garrison and various scripts 2018-05-07 17:45:09 +02:00
Shauren
007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +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
Mihapro
8199eef81c Core/Misc: Added helper function Unit::SetFullPower
* Also renamed Unit::getPowerType and Unit::setPowerType to follow style guidelines

Ref #20981
2018-01-03 16:39:32 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Aokromes
d5c6a4f20a typo fix 2017-11-25 01:44:48 +01:00
Aokromes
8d514fb031 Misc: Kill trailing white spaces 2017-11-25 01:39:02 +01:00
tkrokli
c4ec0d8cfc [WIP] Core/Scripts: Gnomish Mind Control Cap and Gnomish Universal Remote (#17374)
(cherry picked from commit b651bf271b)

Rename 2016_09_09_20_world.sql to 2016_10_15_00_world.sql
(cherry picked from commit d03b3e2643)
2017-10-03 16:56:48 +02:00
joschiwald
0fcf6043b7 Core/Misc: Changed some SpellMgr::GetSpellInfo calls 2017-09-24 23:15:56 +02:00
ariel-
a6c0bf0099 Core/Scripts: Fix runtime error
(cherry picked from commit 4a1f6eb3b1)
2017-09-06 13:08:54 +02:00
ariel-
b86150352d Core/Scripts: added missing null checks for DamageInfo struct
(cherry picked from commit 666422d827)

# 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
joschiwald
1f8fc55ac9 Core/Spells: Implementation of QAston proc system (#20131)
* Core/Spells: Implementation of QAston proc system

- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing
- Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor
- Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras.
- Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct
- Changes in spell reflection system, emulates old behaviour, delaying aura drop
- Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections
- Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS
- Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor.
- Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034:

  * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/
  * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system).

  * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..)
  * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided.

  * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee.
- Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE)
- Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect
- Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though
- Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558.
- Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193

(cherry picked from commit e641d0c7d7)

# Conflicts:
#	sql/base/auth_database.sql
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Spells/Auras/SpellAuraEffects.cpp
#	src/server/game/Spells/Auras/SpellAuras.cpp
#	src/server/game/Spells/Auras/SpellAuras.h
#	src/server/game/Spells/Spell.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/game/Spells/SpellMgr.h
#	src/server/game/Spells/SpellScript.cpp
2017-08-13 12:03:43 +02:00
Seyden
a9174d5eb7 Core/Scripts: Implement generic script loaders (and script registry macros) to greatly reduce code duplication (#19526) 2017-07-20 00:15:02 +02:00
Shauren
12d0306543 Core/Spells: Use ValidateSpellInfo in all scripts 2017-06-03 01:34:21 +02:00
Shauren
a0a158b5b8 Core/Scripts: Include cleanup 2017-05-28 16:34:44 +02:00
Shauren
2200b4b0e1 Nopch fix 2017-05-24 21:30:43 +02:00
Shauren
3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
Shauren
c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren
afd5f0d03e Warning fix 2017-04-28 10:08:20 +02:00
joschiwald
037ffdf609 Fixed warning 2017-04-27 19:35:22 +02:00
Gacko
9386db7d75 Fix warning. 2017-04-26 20:43:42 +02:00
ariel-
b7bf703737 Core/Scripts: Convert spells to new proc system
- Converted Unit::HandleDummyAuraProc function to AuraScripts
  * Extra: DMC: Madness now uses DB texts. yay!
  * Extra: improvements on Imp. Spell Reflection (range and max targets, filter caster with conditions)

- Fixed Glyph of Succubus. (Closes #6599)

- Changed old (not-blizz) behavior of Vampiric Embrace:
  * Before: party heal affected the priest too and self heal was reduced by that amount to not over-heal
  * Now: self heal amount not affected, rather filter the priest out of the party heal using conditions :)

- Solve bug in AQ 3p set bonus, it should only trigger when healing others, not self heals.
- Priest T10 2p bonus (heal) now rolls its effect properly

- Use brand new GetEffectiveHeal to fix #17142
- While we're at it, also close #17034 for good
- Converted Unit::HandleAuraProc function to AuraScripts (#17941)
- Converted Unit::HandleAuraProc function to AuraScripts (cont'd) (#17955)
- Corrected Flametongue weapon damage formula
- Actually check offhand weapon for flametongue in Lava Lash script
- Implemented halved proc chance for Missile Barrage on Arcane Barrage, Fireball, Frostbolt and Frostfire Bolt cast
- Converted Unit::HandleProcTriggerSpell function to AuraScripts (#17956)
- De-hack Earth shield. Fixes #13808
- Updated Honor among Thieves
- Implemented mana proc for Mark of Conquest in case of ranged attack
- Fixed Scent of Blood giving more stacks than the talent rank currently learnt.
- Ported old proc table. Proc system is dead. Long live the proc system!
- Recklessness should get charges removed per cast. Closes #15529
- Use proc system to remove Molten Core charges on Incinerate/Soul Fire cast. Closes #15942

Closes #3463
Closes #5401
Closes #15595
Closes #15974
Closes #16679
Closes #17925

(cherry picked from commit 2ff855054f)

# Conflicts:
#	src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.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
2017-04-23 19:01:39 +02:00
Shauren
2a8294031b Core/Spells: Removed most uses of SpellIcon to identify spells 2017-04-02 23:29:26 +02:00
Shauren
f097e341f5 Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list
* Also fix gcc build
2017-03-23 00:11:58 +01:00
ariel-
6c099d0c26 Core/Spells: Flag of Ownership shouldn't target creatures
(cherry picked from commit b54042d68f)
2017-03-05 01:06:41 +01:00
ariel-
0afe0e536d Core/Scripts: Implement Flag of Ownership. Closes #12265
Core/Spells: Implemented TARGET_CORPSE_SRC_AREA_ENEMY. Closes #12803

(cherry picked from commit bc4b4f656c)
2017-02-26 15:30:07 +01:00
ariel-
c429e7d489 Core/Entities: debloat SummonGameObject parameter list using proper wrappers and enable GO rotation in scripts
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)

(cherry picked from commit 62bfee37cb)

# Conflicts:
#	src/server/game/Battlefield/Battlefield.cpp
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Entities/Object/Object.h
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/scripts/Commands/cs_gobject.cpp
#	src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
#	src/server/scripts/Kalimdor/zone_feralas.cpp
#	src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
#	src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
#	src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
2017-02-11 20:50:29 +01:00
mik1893
5a93f2b974 Core/Spells: Proc handler script converions (#17122)
* Blazing Speed (Mage)
* Blessed Recovery (Priest)
* Druid Forms Trinket
* Idol Of Mutilation
* Nature's Guardian (Shaman)
* Nether Protection (Warlock)
* Piercing Shots and Bonus 4P T9 Hunter
* Lightning Shield (Shaman)
* Acclimation (DK)
* Move DK T10 4P Melee Bonus
* Move DK Improved Blood Presence triggered heal (DK)
* Rogue T10 2P Bonus
* Illumination (Paladin)
* Soul Preserver
* Death Choice trinket
* stack trinket scripts (ToC25 Caster Trinket, Lightning Capacitor, Thunder Capacitor)
* Battle Experience (ICC - Gunship)
* Blood Reserve (enchant proc)
* Darkmoon Card Greatness
* Charm of the Amani Witch Doctor
* Mana Drain

(cherry picked from commit 5b8e68ee63)
2017-01-08 22:37:18 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Krudor
79b984832f Core/Scripts: Wormhole Generator - Pandaria (#18321) 2016-12-03 18:26:24 +01:00
Shauren
9b006e511b Core/Spells: Removed 34 traits cap for bonus stamina/damage on artifacts (7.1 change) 2016-11-29 11:31:41 +01:00
Krudor
ad16014c7d Core/Spells: Removed a faulty aura handler
Closes #17590
2016-10-15 16:18:09 +02:00
Shauren
ef480fadad Warning fixes 2016-08-15 00:27:47 +02:00