Commit Graph

18960 Commits

Author SHA1 Message Date
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
HelloKitty
406c7219ad Further improve ChrRace DBC handling (#24508)
* Core/DBC: Added ChrRacesAllianceType for ChrRaces.dbc

* Core/Character: Check ChrRace DBC playable in HandleCharCreateOpcode

* Core/DBC: Implement ChrRacesFlags removing literals

Cannot take credit for this enum, derived from documentation in
https://wowdev.wiki/DB/ChrRaces

* Core/Character: Check CHRRACES_FLAGS_NOT_PLAYABLE on creation

* Core/DBC: Fix formatting of ChrRaces enums

* Core/DBC: Use ChrRaces CreatureType instead of hardcoded humanoid assumption

* Address enum style code changes

(cherry picked from commit 43b595111d)
2022-01-04 15:33:04 +01:00
Shauren
5e37b1cd5d Scripts/Icecrown Citadel: Fixed Professor Putricide oozes not moving during their channel
(cherry picked from commit 1d43003cfa)
2022-01-04 15:33:04 +01:00
Metalaka
d62886685b Core/CreatureAI: Shambling Horror re-cast Enrage as soon as it is not stun (#24618)
(cherry picked from commit e2434e4f47)
2022-01-04 15:33:04 +01:00
ccrs
9fd26c5f09 Core/Movement: 9080e78 followup
actually port back the previous implementation, now correctly
this implies that a unit that has a different victim than the one its chasing will stand still till either:
- a new movement replaces the current, for w/e reason
- the chase target is again the current victim

probably a pause implementation on the generator is a more elegant solution...

updates #24600

(cherry picked from commit 472e1fd8ae)
2022-01-04 15:33:04 +01:00
Jildor
9d27de8b80 DB/Spell: Arm Dead Damage Kologarn
Closes #24577

(cherry picked from commit 9170567218)
2022-01-04 00:55:07 +01:00
Shauren
c0f976d23d Core/Spells: Added helper function to select random injured healing spell targets 2022-01-03 13:07:30 +01:00
Shauren
3a67e37681 Core/Time: Remove artificially high minimal update intervals 2022-01-03 11:26:23 +01:00
Sorikoff
74174332c6 Scripts/Pet: Lil' K.T (#24528)
* Lil' K.T.

* Rename 9999_99_99_99_world_335.sql to 2020_05_10_00_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 34fecde022)
2022-01-02 19:24:18 +01:00
Shauren
d30e4a20e5 Core/Misc: Define and use ChrRacesFlag and CreatureModelDataFlags (ref 772f506a3b) 2022-01-02 19:14:32 +01:00
Shauren
d56d92fbe7 Core/Units: Allow mind controlling non-controllable vehicles (for example players that become vehicle during boss encounters or creatures that only are vehicles to show non standard power type)
Closes #24562

(cherry picked from commit 1fecbc6892)
2022-01-02 16:17:18 +01:00
NoName
0aa98a5bc9 Core/Maps: fix respawn times for manual respawns (#24571)
by joshwhedon

(cherry picked from commit 5bbab32793)
2022-01-02 13:56:18 +01:00
ccrs
b9bb07de03 Core/Movement: modify MovementInform trigger condition & checks in ChaseMovementGenerator
(cherry picked from commit ac12bd1391)
2022-01-02 00:41:22 +01:00
ccrs
06334ab734 Core/Movement: de832b6 followup
lets keep that failsafe there, doesnt hurt

(cherry picked from commit 71ed2e5d5e)
2022-01-02 00:30:33 +01:00
ccrs
e6c0022a4d Core/Movement: modify MovementInform trigger condition & checks in FollowMovementGenerator
ref #24552

(cherry picked from commit de832b6980)
2022-01-02 00:30:33 +01:00
Shauren
6413466693 Core/Spells: Relaxed aura exclusivity check to allow casting spells that have other, non-aura effects even if aura will not be applied
Closes #24553

(cherry picked from commit 829cf38c67)
2022-01-02 00:30:31 +01:00
ccrs
875da43780 Core/Movement: 0e2342c followup
(cherry picked from commit b8422e667b)
2022-01-02 00:22:57 +01:00
Ovahlord
b8e1de0f92 Core/Objects: use the static vmap check in MovePositionToFirstCollision for all path results to avoid falling below wmo surfaces when the mmap path returns unreliable data
(cherry picked from commit a548d9f9b0)
2022-01-01 23:49:31 +01:00
Shauren
6d94bc2f4b Core/Spells: Fixed refreshing stat buff auras that have been improved by talents
Closes #24527

(cherry picked from commit 978745220a)
2022-01-01 23:45:39 +01:00
Ovah
26e7da1622 Core/Objects: further improvements for MovePositionToFirstCollision (#24523)
* Core/Objects: further improvements for MovePositionToFirstCollision

* the PathGenerator will now normalize incomplete destinations as well
* normalize destination positions before launching detour raycasts to get better direction data
* exclude unwanted pathfinding results from further use to avoid unintended behaivior

* Core/PathFinding: Split PATHFIND_FARFROMPOLY into PATHFIND_FARFROMPOLY_START and PATHFIND_FARFROMPOLY_END for start and end position

Handle PATHFIND_FARFROMPOLY_END as valid in MovePositionToFirstCollision

Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit 6485422c61)
2022-01-01 23:30:48 +01:00
offl
f32f812e29 DB/Quest: Becoming a Spellfire Tailor
Closes #24522

(cherry picked from commit 9638f0ad0b)
2022-01-01 23:22:09 +01:00
Ovahlord
b8805f4389 Core/Objects: optimize and improve MovePositionToFirstCollision results
* removed redundant static LOS checks as they are covered by the mmap raycast prior to the check
* removed unnecessary VMap height lookups to determine rapid falloffs as they are covered by the mmap raycast as well

(cherry picked from commit cf849df50a)
2022-01-01 23:19:31 +01:00
ForesterDev
9d38eeec7e Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER (#24511)
* Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER. Update .dev command to new command model

* Rename _player -> player

(cherry picked from commit 8128bb97db)
2022-01-01 23:18:04 +01:00
jackpoz
7d632d5711 Core/PathFinding: Fix buffer overflow
(cherry picked from commit dc7856644f)
2022-01-01 22:59:49 +01:00
NoName
6c6b8cb1c6 Scripts/IcecrownCitadel: Adding IsAlive check to avoid possible crash in Event (#24514)
(cherry picked from commit 22aaf32a79)
2022-01-01 22:59:24 +01:00
Shauren
679e9910e0 Core/Auras: Prevent getting negative scale with auras
Closes #24040

(cherry picked from commit 50576fa1f5)
2022-01-01 22:49:58 +01:00
Shauren
c9443f190a Core/Spells Fixed scroll stacking check when not targeting self
* Reuse code that removes non-stackable auras at apply to check before casting the spell to keep reagents/cast item

(cherry picked from commit 43d9ffd1bc)
2022-01-01 22:27:05 +01:00
FAQ
88afe180b4 Core/Spells: Scrolls should not be consumed, when they fail to apply.
(cherry picked from commit 8d87c834e7)
2022-01-01 21:55:29 +01:00
Killyana
6300b096ac DB/Pet: Lil' K.T
Ref #1364

(cherry picked from commit ee5eace3c6)
2022-01-01 21:49:09 +01:00
Ovahlord
f4f56c105f Core/Vehicles: update the power display of vehicles before being added to world to avoid building unnecessary update_object packets right after spawning them
(cherry picked from commit 1610337e67)
2022-01-01 21:47:30 +01:00
HelloKitty
a20526077d Core/DataStores: Use ResSicknessSpellID from ChrRaces instead of hardcoding it (#24504)
(cherry picked from commit f1ad04b31b)
2022-01-01 21:45:52 +01:00
Killyana
567b26e0c7 DB/Pet: Toxic Wasteling
Closes #12773

(cherry picked from commit 3f5e0927c3)
2022-01-01 21:42:51 +01:00
NoName
5417438731 Core/Spells: Crystallize should not use DIMINISHING (#24502)
and also correcting spelling in script

by Rushor and wotlk-enthusiast

(cherry picked from commit 45993428f5)
2022-01-01 21:38:13 +01:00
Rushor
db825c3221 Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT (#24494)
* Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT which allows to search for closest unspawned gameobjects

* updates: https://github.com/TrinityCore/TrinityCore/issues/24067

* Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT which allows to search for closest unspawned gameobjects

(cherry picked from commit 2d948d3366)
2022-01-01 21:33:34 +01:00