Commit Graph

18993 Commits

Author SHA1 Message Date
jackpoz
5886bf7484 Scripts/Commands: Add .debug objectcount <optional map id> chat command
Add .debug objectcount <optional map id> chat command to show the number of Creatures and GameObjects

(cherry picked from commit cd37a17103)
2022-01-06 20:49:28 +01:00
Shauren
1fc9e0172d Core/Spells: Prevent manual cancelling of channelled spells that have SPELL_ATTR0_CANT_CANCEL
(cherry picked from commit dacb1e5802)
2022-01-06 20:48:29 +01:00
Keader
d48909b5d6 Scripts/ShadowfangKeep: Fixed a crash in spellscript
(cherry picked from commit be48fbc32a)
2022-01-06 20:47:11 +01:00
Gildor
23fc9d6d63 Scripts/Naxxramas: Fix Kel'thuzad evade mode when he dies (#24763)
(cherry picked from commit aeb41e67a9)
2022-01-06 20:46:40 +01:00
ForesterDev
3171cd3fa9 Core/AI: refactor SpellHit and SpellHitTarget. (#24691)
* Core/AI: refactor SpellHit and SpellHitTarget.

- now caster/target is WorldObject instead of Unit
- remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget)
- rename parameters in scripts according parent methods

* Restore logic in Algalon script

* Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2

* Fix build after merge

(cherry picked from commit e3b232fe0e)
2022-01-06 20:46:25 +01:00
Gildor
f0242d4ec7 Scripts/Naxxramas: Noth the Plaguebringer improvements (#24724)
(cherry picked from commit 1181b636c0)
2022-01-06 20:08:04 +01:00
Keader
4110a06e81 Core/Misc: Fixed resistance calculate for Mutated Transformation and Twilight Bloodbolt (#24717)
Ref: 9f7b464a6a
- Implemented a new SpellScript hook that allow control Resistance/Absorb amount of a damage spell.

(cherry picked from commit d81a9e5bc3)
2022-01-06 19:59:50 +01:00
jackpoz
9286734b55 Core/Misc: Fix static analysis issues reported by Coverity Scan
(cherry picked from commit adc7cd3cee)
2022-01-06 19:47:51 +01:00
Ovah
294657f7dd Core/Units: flight and hover checks will now consider movement template data as well as manually set flight states
- manually set flight states via auras and scripts will no longer be ignored
- restored movement template consideration when generating pathings
- renamed IsLevitating to IsGravityDisabled to reflect the referenced movement flag's name

(cherry picked from commit 43ef610fe0)
2022-01-06 19:46:41 +01:00
jackpoz
5af8373cce Core/Misc: Fix Clang 10 build warnings
(cherry picked from commit 48c5c0d7a2)
2022-01-06 19:46:22 +01:00
Keader
4fa0b1b005 Scripts/Ulduar: Codestyle fix
* Making jackpoz happy xD

(cherry picked from commit a72197911e)
2022-01-06 19:44:04 +01:00
Keader
09f611e467 Scripts/BloodFurnace: Fixed Broggok stopping work after wipe
By: Rushor
(cherry picked from commit 00bc6e7d54)
2022-01-06 19:43:54 +01:00
Keader
239f33b4a4 Scripts/Ulduar: Fixed XT002 Heart health regeneration
(cherry picked from commit 05eeaade3e)
2022-01-06 19:42:19 +01:00
Keader
08d3bc7488 Scripts/Pet: Fixed Mirror Image trying attacking invalid targets
(cherry picked from commit 456aaf2cea)
2022-01-06 19:41:22 +01:00
Gildor
2029d21f73 Scripts/Trial Of The Crusader: Fixed Anub'arak Pursuing Spikes movement (#24715)
(cherry picked from commit 6c1a874e57)
2022-01-06 19:41:06 +01:00
Shauren
865b47efad Core/Networking: Switch to intrusive variant of MPSC queue to halve the number of memory allocations for packet sending (#24659)
(cherry picked from commit f0060496f9)
2022-01-06 19:38:12 +01:00
Gildor
f23aa3c866 Scripts/Ulduar: Fix Flame Leviathan movement (#24673)
(cherry picked from commit 3ab970aa47)
2022-01-06 19:15:26 +01:00
offl
c5274417bb DB/Quest: Convert & update support for 'Mark V is Alive!' to SAI
Closes #24686

(cherry picked from commit e48c415156)
2022-01-06 19:15:15 +01:00
offl
a7d03862dd DB/Quest: Convert & update support for 'When the Cows Come Home' to SAI
Closes #24685

(cherry picked from commit 1316ca482d)
2022-01-06 19:14:38 +01:00
offl
688c12fa5b DB/Quest: Convert & update support for 'Cuergo's Gold' to SAI
Closes #24675

(cherry picked from commit 0e7cabd7f1)
2022-01-06 19:13:39 +01:00
NoName
145756a231 Scripts/RuinsOfAhnQiraj: Crystal handling (#24679)
+ make crystal usable with animation and despawn after use;
+ small code update;
+ spell rearrange;
+ define some magic numbers;
+ update crystal coordinates from sniffed data

(cherry picked from commit 89193c3548)
2022-01-06 19:09:28 +01:00
Gildor
e826909498 Scripts/Icecrown Citadel: Fix Sindragosa movement when Wipe in fly phase (#24665)
(cherry picked from commit dd3fbf426c)
2022-01-06 19:08:14 +01:00
NoName
a4b3e694e8 Entities/Player: Restore old checks for UpdatePvPFlag (#24372)
Partly revert 671052575a
+ implemented timer reset to 300s after relog never worked, therefore removing that part;
+ reverting other parts with 300s timer changes, as not needed;

(cherry picked from commit 2efaf1dda8)
2022-01-06 19:05:04 +01:00
Killyana
8571a22017 DB/Quest: Convert "HELP!" & "Corki's Gone Missing Again!" & "Cho'war the Pillager" to SAI
Closes #24649

(cherry picked from commit fd66e291b5)
2022-01-06 18:55:13 +01:00
offl
164dcc4deb DB/Quest: Convert & update support for 'Prisoners of Wyrmskull' to SAI
Closes #24650

(cherry picked from commit 2008cb7dd3)
2022-01-06 18:53:52 +01:00
offl
f3e262a056 DB/GameObject: Convert & update support for Shrine of the Eagle / Falcon / Hawk to SAI
Closes #24647

(cherry picked from commit 0cfd63fd26)
2022-01-06 18:53:11 +01:00
offl
fbcfb505f4 DB/Creature: Convert Sayge to SAI
Closes #24663

(cherry picked from commit 626aeb5817)
2022-01-06 18:52:14 +01:00
jackpoz
9e0e52f023 Scripts/Misc: Fix issues reported by ASan
(cherry picked from commit 013301088d)
2022-01-06 16:22:58 +01:00
offl
3f8b488071 DB/GameObject: Convert & update support for Tablet of Madness
Closes #24670

(cherry picked from commit 9c1c34a794)
2022-01-06 16:22:42 +01:00
Giacomo Pozzoni
07863a7a68 Core/Creature: Allow to disable HP regen in Raids even if the target is unreachable (#24646)
(cherry picked from commit 247564a7ab)
2022-01-06 16:12:51 +01:00
Killyana
876d9f52ec DB/GameObject: Convert & update support for Jump-a-tron 4000 to DB script
Closes #24668

(cherry picked from commit 6b9a14ca94)
2022-01-06 16:06:40 +01:00
offl
070da4f711 DB/Quest: Convert Escape from Umbrafen to SAI
Closes #24648

(cherry picked from commit cfe6b651bc)
2022-01-06 16:05:08 +01:00
offl
6eb7ed4490 DB/GameObject: Convert & update support for Fel & Bash'ir crystalforges
Closes #24643

(cherry picked from commit c3e4420a2b)
2022-01-06 15:59:18 +01:00
offl
aea428cd51 DB/Quest: Convert support for 'Strength of One' to SAI
Closes #24641

(cherry picked from commit 44aba5dcdf)
2022-01-06 15:57:22 +01:00
Shauren
0e586bb476 Core/Quests: Add missing GO_DYNFLAG_LO_ACTIVATE to lootable chests related to quests but not having quest loot
Closes #24474

(cherry picked from commit a26304478d)
2022-01-06 00:31:29 +01:00
Shauren
b1a1e552d2 Core/Quests: Fixed gameobject sparkle state for lootable quest items by moving ItemAddedQuestCheck/ItemRemovedQuestCheck after item is added/removed
This is neccessary so that GameObject::BuildValuesUpdate from BuildValuesUpdateBlockForPlayer picks up correct inventory state and sets GO_DYNFLAG_LO_ACTIVATE

(cherry picked from commit 449bd9058b)
2022-01-06 00:30:02 +01:00
Keader
192cd48b21 Scripts/ICC: Fixed duplicated call of reputation spell
(cherry picked from commit 99c457c270)
2022-01-06 00:23:58 +01:00
Keader
26844d32c3 Scripts/ICC: Fixed Deathbringer/Valithria reputation handler + codestyle fixes
* Added correct reputation spell for both bosses
* Fixed debuffs remove when deathbringer dies (it also fix recount)
* Changed all DoCast(me, xxx) -> DoCastSelf(xx)
* Removed old reputation hack in DB
* Fixed my OCD with spells enum :)

(cherry picked from commit d1e1b8753c)
2022-01-06 00:23:47 +01:00
NoName
860e489c4f Scripts/RazorfenDowns: quest "Extinguishing the Idol" (#24658)
(cherry picked from commit 868748007d)
2022-01-06 00:23:11 +01:00
NoName
7facbec01e Core/Objects: Add GOSummonType argument to SummonGameObject accepting XYZ arguments instead of Position (#24655)
(cherry picked from commit d2b88fbd50)
2022-01-06 00:22:44 +01:00
offl
a0bee07b0c DB/Quest: Convert & update support for 'Shizz Work' to SAI
Closes #24638

(cherry picked from commit 049cba3ace)
2022-01-06 00:21:07 +01:00
offl
b217e5842f DB/Quest: Convert & update support for 'Finding the Survivors' to SAI
Closes #24636

(cherry picked from commit 2815db52a6)
2022-01-06 00:20:41 +01:00
offl
692163493c DB/Creature: Convert & update support for Ashyen & Keleth to SAI
Closes #24635

(cherry picked from commit a2068cade5)
2022-01-06 00:20:02 +01:00
Giacomo Pozzoni
1ba940b17a Core/Maps: Change .map file version from FourCC to uint32 (#26326)
(cherry picked from commit 42877e75e2)
2022-01-04 20:44:25 +01:00
Giacomo Pozzoni
d58d0e895c Handle different slopes in mmaps (#24765)
* Tools/MMAPs: Remove input argument --maxAngle

Remove input argument --maxAngle . This should be just hardcoded in MapBuilder::GetMapSpecificConfig() so all settings are easily found in the same place instead of being spread around.

* Tools/MMAPs: Add new area type NAV_AREA_GROUND_STEEP

Add new area type NAV_AREA_GROUND_STEEP for ground with slope in the range (55, 70] .
NAV_AREA_GROUND is used for ground with range [0, 55] .
NAV_AREA_GROUND_STEEP takes priority over NAV_AREA_GROUND.

* Tools/MMAPs: Fix NAV_GROUND_STEEP flag not being saved in the mmtile

* Core/PathFinding: Implement NAV_GROUND_STEEP flag

Implement NAV_GROUND_STEEP flag, used only by Creatures that are in combat or evading.

* Distinguish between RC_WALKABLE_AREA and NAV_AREA_GROUND.

* Allow mobs in combat to walk on steeps up to 80°

* Allow mobs in combat to walk on steeps up to 85°.
Disable rcFilterLedgeSpans() filter as it removed long steep spans.

* Increase cost of steep spans to try making creatures walk around obstacles instead of walking on them

* Revert last commit

(cherry picked from commit 995a443da2)
2022-01-04 20:44:02 +01:00
Ovahlord
0c15b2ac7c Core/Objects: fixed destination calculation for destination based spells casted by flying units
* Additionally he PathGenerator will now check for realtime movement flags instead of creature based template data only so scripted flying movement and players will now correctly get their path calculated

(cherry picked from commit fdcb7388a6)
2022-01-04 15:33:04 +01:00
Shauren
98272944ee Core/Commands: Fixed .npc add overwriting existing spawns when used on transports
(cherry picked from commit 75ab3619bd)
2022-01-04 15:33:04 +01:00
Giacomo Pozzoni
9cb01a7904 Fixes/3.3.5 aura infinite loop (#24631)
* Core/Auras: Attempt to fix infinite loop with aura 18950 on map unload

* Core/Auras: Log a detailed error and assert when failing to remove all auras after a few tries

* Code cleanup

* Fix build warnings

* Fix more build warnings

(cherry picked from commit bd2d60c267)
2022-01-04 15:33:04 +01:00
joshwhedon
e95215e9ae Removing a duplicate item combat spell handling causing poisons (and others) to proc twice. (#24627)
https://github.com/TrinityCore/TrinityCore/issues/24608
(cherry picked from commit 4db77bc913)
2022-01-04 15:33:04 +01:00
Giacomo Pozzoni
89afeed41b Core/MMAPs: Adjust walkable climb and fix a lot of mmap raycast issues (#24539)
* Core/MMAPs: Adjust walkable climb

Adjust walkable climb as recast using walkableClimb also to find the poly from a position, giving priority to polys that are below the position but closer than walkableClimb.

* Temporarily disable static collision (the whole check should be removed)

* Core/Spells: removed deprecated mmap path check for TARGET_DEST_CASTER_FRONT_LEAP

* Core/Objects: allow flying units to use the helper as well (flying units casting radius based spells)

* Code refactor

* Handle raycasts that end in a point with no height in the mmap mesh as PATHFIND_NOPATH

* Walk back a bit from raycast hitpoints as sometime the 2D result point is outside of the polygons due to floating point errors.

* Remove whitespace

* Revert 4a197ba22a as a raycast point path should have the Z retrieved with getPolyHeight(). Raycast will only return a 2-point path with Start and Hitpoint/End

* Cleanup PathGenerator raycast case

* Fix PathGenerator raycast broken if start and end are on same poly.
Fix PathGenerator raycast broken if no wall is hit.
Remove unused case of using raycast with an existing previous path (can be added back properly if needed).
Remove forcing poly length to 2 when we actually have already the right number.

* Use closestPointOnPolyBoundary on the second try of finding a point on poly for raycast.
Note that in this case the mesh height is not used which might cause issues. The poly boundary height will be used instead.

* Handle cases where getPolyHeight() fails because the point is on polygon border (and caused by floating point imprecision)

* Add far from poly flags

* Set PATHFIND_INCOMPLETE in raycast case if startFarFromPoly or endFarFromPoly

* Fix blink close to walls with no valid polygon behind the wall

* Require to re-extract mmaps

Co-authored-by: Ovah <dreadkiller@gmx.de>
(cherry picked from commit c0b75bf40d)
2022-01-04 15:33:04 +01:00