Commit Graph

27251 Commits

Author SHA1 Message Date
Shauren
4de94169e9 Core/Pets: Fix loading pet data
Closes #25269

(cherry picked from commit a9a4f05a28)
2022-01-31 00:20:40 +01:00
Shauren
87b1c3700e Core/Spells: Fix summoning warlock pets in case that pet has never been summoned before
(cherry picked from commit bbcf00257e)
2022-01-31 00:20:30 +01:00
Shauren
48d491ae2f Core/Spells: Fix summoning SUMMON_PET type pets
Closes #25265

(cherry picked from commit 9c5876d8ab)
2022-01-31 00:18:48 +01:00
Shauren
ca92686b44 Core/Pets: Pet management refactoring (#25191)
* Core/Pets: Pet management refactoring

* Preload basic pet data on character login with async query
* Load additional pet data (declined names/auras/spells/cooldowns) using async query after we are sure pet loading will succeed
* Remove all select queries related to pet stable/unstable
* Remove all silent pet deletions except explicit UI-triggered abandons
* Fixed displaying stable master content when current pet is not summoned
* Allow to stable/swap unsummoned current pet

Closes #3610
Closes #21266

(cherry picked from commit 5c1fc5e387)
2022-01-31 00:17:21 +01:00
Shauren
b79a91039b Core/DBUpdater: Apply each sql update file in a separate transaction 2022-01-30 15:50:35 +01:00
Teleqraph
af0edf5afc Scripts/Spells: Moved Blessing of Faith script to spell_items (#27692) 2022-01-30 13:10:08 +01:00
Shauren
78283e3ef2 Scripts/Spells: Fixed Holy Shock visuals 2022-01-30 12:55:57 +01:00
Nyr
0d9b1072b5 Scripts/Spells: Updated Holy Shock spell script.
* renamed related enums.
* removed unnecessary rank dependency checks.
2022-01-30 12:55:57 +01:00
Shauren
2cc652b305 Core/Scripts: Expose IsCrit to hit hooks for spell scripts 2022-01-30 12:36:29 +01:00
Shauren
ea82454932 Core/Guilds: Fixed loading of guild member logout time
Closes #27690
2022-01-30 11:57:19 +01:00
Teleqraph
72839e660e Scripts/Spells: Judgment (Holy) will now apply Rank 3 debuff if the paladin knows it (#27685) 2022-01-30 00:10:04 +01:00
Shauren
faf12a8883 Core/Objects: Don't consider SMSG_UPDATE_OBJECT packets that contain only destroyed objects as empty 2022-01-29 20:35:25 +01:00
Shauren
7044204130 Core/Objects: Cleanup SmoothPhasing code - move to separate files and better integrate it with visibility system 2022-01-29 20:35:25 +01:00
Seyden
a5c713eaf2 Core/Objects: Implement SmoothPhasing part of CreateObject and replacing visible objects 2022-01-29 20:35:25 +01:00
Shauren
5a82a0381d Core/Objects: Properly choose between "Destroyed" or "OutOfRange" during visibility update 2022-01-29 16:01:57 +01:00
Shauren
472384e757 Core/Objects: Add overridable function UpdateObjectVisibilityOnDestroy 2022-01-29 15:18:27 +01:00
Shauren
4fbf6dacff Core/Spells: Exclude empty mods from affecting spells and ignore PointsIndexX mods for spells that don't have any effect at that index 2022-01-28 11:19:48 +01:00
Robingad
5b57722211 Scripts/Spells: Fix shaman Lava Surge proc (#27667)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-01-28 11:18:45 +01:00
Robingad
1696d73860 Scripts/Spells: Move shaman Lava Burst crit chance calculation to scripts and add Lava Burst Overload (#27676) 2022-01-27 23:23:37 +01:00
Robingad
3e725e1d25 Scripts/Spells: Fix shaman Earthquake (#27620)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-01-27 22:18:46 +01:00
Shauren
88659dcebf Core/Gossip: Sync naming and db structure with 3.3.5 2022-01-26 23:49:42 +01:00
Peter Keresztes Schmidt
d33214c50a Core/ChatCommands: Do not parse partial strings for numeric paramters (PR #25259)
Check if integral/floating point type arguments were parsed successfully.

std::stoull will happily parse floating point strings until the decimal separator and return the value.
Make sure for all parsing methods that we actually parsed the whole token.

This allows to use handler arguments like Variant<uint32, float> which will be populated with the right type
depending on the token value (e.g "10" vs "10.0").

(cherry picked from commit 7edad0d601)
2022-01-26 22:30:13 +01:00
Giacomo Pozzoni
f2ee365da4 Core/SAI: Spell casts that cannot be executed because the unit is currently casting another spell will be retried asap with priority over other events (#25238)
* Core/SAI: Spell casts that cannot be executed because the unit is currently casting another spell will be retried asap with priority over other events

* Core/SAI: Re-sort the events only when needed

* Fix some priority reset and wrong mEventSortingRequired handling

* Code cleanup.
Sort only events loaded from db (not stored events, not timed action list).

* Code cleanup.
Raise priority of failed casts so they are retried before other spells

* Keep priority of the action fails and is rescheduled on next update

* Don't try recasting a spell in SMART_ACTION_CAST if there are multiple targets and at least 1 was successful

(cherry picked from commit ca25e8d019)
2022-01-26 22:26:08 +01:00
Peter Keresztes Schmidt
2d1a1d8ac3 Core/ChatCommands: Honor exact matches during enum arg parsing (PR #25255)
(cherry picked from commit df29f60595)
2022-01-26 22:16:24 +01:00
Peter Keresztes Schmidt
ec44c8296d Scripts/Commands: Use enum type arg for HandleDebugAnimCommand (PR #25256)
* Core/Shared: Make Emote enum smart
* Scripts/Commands: Use enum type arg for HandleDebugAnimCommand

(cherry picked from commit 86dc58974a)
2022-01-26 22:16:05 +01:00
scizzydo
1429237144 Core/Warden: Fix for LUA_STR_CHECK (#25247)
The check above is what I use to actually get a real result for LUA_STR_CHECK, which when I used variables that would have a string to them it actually fails the check. When checking for items like a function if it exists of course it won't work... In addition, fixing the Unk2 to Unk3 causes people to be able to adjust the address of the check to the address 0x00419210 to make warden perform the FrameScript__Execute to run lua on the client. This seems to be the big request like in https://github.com/TrinityCore/TrinityCore/issues/23035

(cherry picked from commit 4125a81bb1)
2022-01-26 22:13:25 +01:00
Peter Keresztes Schmidt
3923650aeb Core/ChatCommands: Add support for enum type arguments (PR #25242)
(cherry picked from commit 5e40eb20e2)
2022-01-26 22:13:06 +01:00
Peter Keresztes Schmidt
2e3c612c80 Core/Unit: Make HandleEmoteCommand typesafe (#25249)
* Scripts/ScarletMonastery: Fix wrong emote during Headless Horseman encounter

* Scripts/HoR: Fix wrong emote during escape event

* Core/Unit: Make improve type safety of HandleEmoteCommand

Change argument type to the expected enum type Emote

* Scripts/CoS: Use SetUInt32Value to set UNIT_NPC_EMOTESTATE

UNIT_NPC_EMOTESTATE is no flag field

(cherry picked from commit 6c7837f947)
2022-01-26 21:46:51 +01:00
Peter Keresztes Schmidt
595e89e02b Core/Spells: Mark constructors of Spell/AuraScript handlers as explicit (#25248)
Mostly to make clang-tidy happier

(cherry picked from commit 34d403e83f)
2022-01-26 20:57:27 +01:00
Shauren
b87f56d070 Core/Quests: Sync comments/log with 3.3.5 2022-01-26 20:46:42 +01:00
Aokromes
e538d42f12 Script/Quest: The Light of Dawn (#25243)
remove incorrect check, source:
https://www.wowhead.com/spell=53606/the-light-of-dawn
Flags
Can be used while dead

https://www.wowhead.com/quest=12801/the-light-of-dawn#comments:id=1495830
https://www.wowhead.com/quest=12801/the-light-of-dawn#comments:id=374127
(cherry picked from commit 681c738c61)
2022-01-26 20:44:35 +01:00
Giacomo Pozzoni
7d548c34a9 Core/AI: Remove code that removed UNIT_DYNFLAG_LOOTABLE from possessed units (#25229)
* Core/AI: Remove code that removed UNIT_DYNFLAG_LOOTABLE from possessed units

* Update PassiveAI.cpp

Restored logic that removes loot flag while being possessed

* Restored logic that removes loot flag while being possessed

(cherry picked from commit 298d799485)
2022-01-26 20:40:24 +01:00
Gildor
27c70ca728 Scripts/Naxxramas: Adjust Frogger event timer (#25214)
* Scripts/Naxxramas: Adjust Frogger event timer

Co-authored-by: Carbenium <carbenium@outlook.com>
(cherry picked from commit 7035a9caf1)
2022-01-26 19:51:48 +01:00
Rothend
6f10847512 Script/Quest: fix (More) Torch Catching (#24907)
* Script/Quest: fix (More) Torch Catching.

Closes #24893

Co-authored-by: Carbenium <carbenium@outlook.com>
(cherry picked from commit a375f15ae2)
2022-01-26 19:50:50 +01:00
Treeston
319ddd9bcd Core/Warden: Warden refactors (PR #25235)
(cherry picked from commit 6116e5b385)
2022-01-26 19:42:11 +01:00
Giacomo Pozzoni
e11e1938b5 Core/SAI: Fix creatures casting with flag SMARTCAST_COMBAT_MOVE not switching to melee when the school of the spell they are trying to cast gets silenced (and other cases of spell failure) (#25226)
* Core/SAI: Fix creatures casting with flag SMARTCAST_COMBAT_MOVE not switching to melee when the school of the spell they are trying to cast gets silenced (and other cases of spell failure)

* Core/SAI: Retry casting after 500ms if a cast failed

Fixes #24914

(cherry picked from commit 63a6e1e048)
2022-01-26 19:21:10 +01:00
jackpoz
26894508ef Core/Misc: Code cleanup
(cherry picked from commit dd28cecda3)
2022-01-26 19:18:46 +01:00
jackpoz
b3f0d92b81 Scripts/Command: Fix .mmap loc always printing command usage
(cherry picked from commit 0eb49a3cc9)
2022-01-26 19:16:55 +01:00
jackpoz
d8cdbac670 Core/Warden: Fix Warden reporting false positive checks
Issue introduced in 210176fd91

(cherry picked from commit c04f53b886)
2022-01-26 19:15:22 +01:00
Jinnaix
169b0296e1 Scripts/BlackwingLair: Suppression Device Room (PR #25199)
Co-authored-by: offl <11556157+offl@users.noreply.github.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Co-authored-by: Treeston <treeston.mmoc@gmail.com>
(cherry picked from commit de56ed8736)
2022-01-26 18:51:07 +01:00
jackpoz
35755ba343 Core/Misc: Fix Windows 32 bits build
Close #25789

(cherry picked from commit 1cafd4ef74)
2022-01-26 18:48:08 +01:00
Shauren
fbcf269207 Core/CrashHandler: Skip logging stack trace of the thread writing the crash log, it was launched by windows with same context as crashing thread
(cherry picked from commit dd34651f4d)
2022-01-26 18:47:44 +01:00
Shauren
cc0affa523 Core/CrashHandler: Remove logging function variation depending on crash reason and print directly to file, not to temporary buffer
(cherry picked from commit c5e1b49e8c)
2022-01-26 18:47:16 +01:00
Shauren
259bbf1e04 Core/CrashHandler: NULL -> nullptr
(cherry picked from commit 68fdfcaa50)
2022-01-26 18:46:56 +01:00
Shauren
473f3db0ab Core/CrashHandler: #ifdef cleanup to make VS not choke when parsing, fixed file being all red in editor
(cherry picked from commit 39c5e03b74)
2022-01-26 18:46:43 +01:00
Shauren
7893ac94a0 Core/CrashHandler: Attempt to extract C++ exception object in uncaught exception hander
(cherry picked from commit 83ed35fe62)
2022-01-26 18:43:31 +01:00
Ovah
2819951dce Core/Units: add new functionality for units to block or enable combat interactions (#25168)
* Core/Units: add new functionality for units to block or enable combat entirely via helper to reflect what CREATURE_DIFFICULTYFLAGS_IGNORE_COMBAT and client AI functions imply

* yeah...

* Nuke Creature::IsCombatDisallowed helper as its unused by now

* no combat extra flag may now be changed on transforms if the transformed entry does not have the flag

(cherry picked from commit 764f22fc91)
2022-01-26 18:41:41 +01:00
Carbenium
d6c998a1a8 Core/Updater: Fix detection of the mysql binary when a directory is given as path
This ensures that we never pass a directory path StartProcess which results in a crash.

Closes #25216

(cherry picked from commit 98b1b20d6b)
2022-01-26 18:41:14 +01:00
jackpoz
a706c60828 Core/Misc: Code cleanup
(cherry picked from commit 3c28573d02)
2022-01-26 18:12:13 +01:00
Jinnaix
adfb050551 Core/Unit: Creatures' minions now engage in combat if their controller is attacked (PR #25219)
Closes #24340

(cherry picked from commit db9072a183)
2022-01-26 18:10:57 +01:00