Commit Graph

25214 Commits

Author SHA1 Message Date
Ovahlord
95bb620355 Scripts/DS: implement of Madness of Deathwing encounter for normal difficulties 2020-03-17 23:49:23 +01:00
Ovahlord
478fbe9fc1 Core/Spells: implement SPELL_AURA_OVERRIDE_AUTOATTACK_WITH_MELEE_SPELL (#23467) 2020-03-16 20:25:57 +01:00
Ovahlord
b659d8b99e Scripts: fixed build 2020-03-16 14:14:47 +01:00
Ovahlord
dd990856c0 Core/Vehicles: implement db side seat attachment offset values as tempoary solution until m2 bone handling is supported
* this is a duc-tape fix until @warpten gets his shit together
2020-03-15 21:40:46 +01:00
Ovahlord
fc12e97cfe Core/Spells: implement SPELL_EFFECT_APPLY_AURA_2 and TARGET_DEST_CASTER_FLOOR 2020-03-14 21:14:07 +01:00
Ovahlord
162578a8d8 Core/Scripts: fixed no pch build 2020-03-11 14:01:56 +01:00
Ovahlord
2a9fc25269 Core/Misc: fixed more no pch errors 2020-03-11 13:42:42 +01:00
DevPrime
b046b19fd3 Core/Scripts: fixed most script related no pch warnings
Co-authored-by: Evef <everf@outlook.com>
2020-03-11 12:54:27 +01:00
Ovahlord
713eacd350 Core/Conditions: implement CONDITION_SOURCE_TYPE_SPELL_AREA do be able to do more complex checks for spell_area entries 2020-03-10 22:19:44 +01:00
Ovahlord
6531ae0ca4 Core/Transport: removed always visible hack from transports and destructible buildings and give them infinite aoi range instead 2020-03-10 19:06:48 +01:00
Ovahlord
ea7c134604 Revert "Core/Phases: do not send phase ids of phases without flag PHASE_FLAG_SEND_TO_CLIENT"
This reverts commit 21a8f028b0.
2020-03-10 10:32:34 +01:00
Ovahlord
21a8f028b0 Core/Phases: do not send phase ids of phases without flag PHASE_FLAG_SEND_TO_CLIENT 2020-03-08 00:35:34 +01:00
Ovahlord
af23b9a123 Core/Phasing: fixed a warning 2020-03-07 21:05:59 +01:00
Ovahlord
234b1ca355 Core/Packets: convert SMSG_PHASE_SHIFT_CHANGE to packet class and handle PhaseShiftFlags field 2020-03-07 20:15:33 +01:00
Ovahlord
d377b7c705 Tools/VMapExtractor: removed a unneeded output 2020-03-05 20:22:45 +01:00
Ovahlord
d4ede67e1b Tools/MMaps: corrected hole format for terrain builder 2020-03-05 19:40:46 +01:00
Ovahlord
6f5ac9d93c Core/Maps: fixed map hole format that was causing invalid height data being returned. Re-extracting maps is required. 2020-03-05 18:21:12 +01:00
Ovahlord
5db48393bc Core/Collision: improved codestyle accross the board 2020-03-05 18:20:41 +01:00
jackpoz
9eafd794f8 Core/PathFinding: Fix mmaps raycast without hit
Update Z coordinate of end position when casting a mmap raycast that doesn't hit the target
2020-03-05 18:20:40 +01:00
jackpoz
004e39d88c Tools/MMaps: Fix strange paths in Blackfathom Deeps
Increase the agent height by x2 to reduce the chance of having underground mmap layers wrongly picked by recast.
2020-02-27 14:05:47 +01:00
Ovahlord
de74f05f90 Core/Vmaps: sync wmo related code with master branch 2020-02-27 14:02:13 +01:00
Ovah
25b18096d8 Core/Config: corrected bitmask value for hotfix database updates 2020-02-24 15:11:32 +01:00
Ovah
978a35b50c Scripts: removed dev tool command script loader 2020-02-24 14:40:52 +01:00
Ovahlord
507108d597 Scripts/DarkmoonIsland: implement Whack-a-Gnoll area restriction. No more unwanted guests in the gaming area! 2020-02-23 23:32:28 +01:00
Ovahlord
de010d6282 Scripts/ScarletMonastry: reworked Houndmaster Loksey's and Arcanist Doan's scripts 2020-02-23 22:32:08 +01:00
Ovahlord
091e337574 Core/Spells: SPELL_AURA_MOD_PACIFY will no longer block victim updates and return false in Attack method 2020-02-23 22:29:32 +01:00
Ovahlord
e47b9c8599 Core/Movement: converted SMSG_MOVE_SET_COLLISION_HEIGHT to packet class and handle reason bits to match sniff behaivior 2020-02-23 10:59:57 +01:00
Ovahlord
d01d7152a6 Core/Items: fixed a typo in generating item stats from random properties 2020-02-23 10:54:38 +01:00
Ovahlord
536b00fb63 Core/Packets: use plain game time when sending db reply packets 2020-02-23 03:47:04 +01:00
Ovahlord
73ce49cb78 Core/Datastore: updated db2 field names and types to reflect client magic names
*fixed string length for sending names in item_sparse length
2020-02-23 02:20:38 +01:00
Ovahlord
f2b26c68a7 Core/Datastores: corrected db structure for item.db hotfix table and removed timestamp field from hotfix_data as the timestamp is being generated by the server 2020-02-22 22:29:35 +01:00
Ovahlord
d805730e96 Scripts: fixed a warning 2020-02-22 10:12:10 +01:00
Ovahlord
b81ea0d288 Scripts/ScarletMonastry: reworked Interrogator Vishas and Bloodmage Thalnos scripts
* added missing Immolate proc aura to Interrogator Vishas and corrected his text health thresholds
* use correct spell id for Shadow Word: Pain
* corrected spell ids for Bloodmage Thalnos and implement a pseudo randomization event scheduler to come closer to sniff behaivior
2020-02-22 09:10:07 +01:00
Ovahlord
2c82d774d6 Core/Globals: use the item template store to return values when calculating item durability 2020-02-22 01:05:56 +01:00
Ovahlord
d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
Ovahlord
4bc9c07407 Core/Objects: MovePositionToFirstCollision will now always use detour raycasts to get the first collision point 2020-02-20 21:49:18 +01:00
jackpoz
a378f23d80 Core/PathFinding: Add support to WorldObject pathfinding 2020-02-20 21:45:36 +01:00
jackpoz
e9318828b5 Core/MMaps: Handle path on same position
Handle path on the same polygon between 2 very close positions as a normal path.
2020-02-20 21:36:13 +01:00
Giacomo Pozzoni
9c6514847f Core/PathGenerator: Fix path generator returning shortcuts when start and end are on the same polygon (#24083)
* Core/PathGenerator: Fix path generator returning shortcuts when start and end are on the same polygon

Second try of handling paths on same poly in a better way than just building a shortcut

* Fix movement generators using paths with start/end positions far from mmap polygons

* Include flag PATHFIND_FARFROMPOLY even with a normal path if start or end were far away from mmap poly
2020-02-20 21:34:33 +01:00
jackpoz
e4dba606cb Core/PathGenerator: Temporarily revert 29bf280e34
Temporarily revert 29bf280e34 since our recast implementation always expects a path to have different polygons.
A proper fix will be implemented later on, splitting a path with 1 single polygons in smaller steps in a similar way of how FindSmoothPath() works
2020-02-20 21:31:26 +01:00
Giacomo Pozzoni
cad41332ba Core/PathGenerator: Fix path generator returning shortcuts when start and end are on the same polygon (#24036)
* Core/PathGenerator: Fix path generator returning shortcuts when start and end are on the same polygon

Fix path generator returning shortcuts when start and end are on the same polygon by handling this case as if start and end were on 2 different polygons. This will ensure BuildPointPath() gets called which calls FindSmoothPath(), making sure each step is not longer than SMOOTH_PATH_STEP_SIZE (4 yards)

* Change ingame cast error message to SPELL_FAILED_NOPATH from SPELL_FAILED_OUT_OF_RANGE if the generated path is too long
2020-02-20 21:29:46 +01:00
Giacomo Pozzoni
fbe4abf3be Core/MMaps: Fix charge underwater/falling (#24010)
* Core/MMaps: Fix charge underwater

Fix charge sometimes returning "no path available" when swimming/underwater.
Fix charge selecting a destination point 4 yards above swimming/underwater targets

* Allow falling units to charge targets that are below (lower Z coordinate)

* Disable "raycast" pathfinding as it's not blizzlike.

This might show some strange paths when charging with a target in front.
It also fixes some falling undermap issues.

This Reverts 272009ebee

* Remove Z offset when charging a target as it never made sense
2020-02-20 21:27:00 +01:00
Wyrserth
8e67cfe38e Core/Quest: remove arbitrary error logs related to breadcrumb quest chaining.
There are complex cases where breadcrumb quests are mutually exclusive with other breadcrumbs leading to other quests, chaining them shouldn't generate log errors.
2020-02-20 05:09:47 +01:00
Ovahlord
59120fbd38 Core/Quests: ported breadcrumb quest handlings and cleaned up quest template loading handlings 2020-02-20 05:08:09 +01:00
ariel-
0fcc0ebca2 Core/Player: don't check quest requirements against RewardNextQuest
- This field is only used to propose a new quest to player after completion, shouldn't be used to condition current quest

Closes #19515
2020-02-20 02:20:08 +01:00
xinef1
c72ee80eb7 Core/Quests: Display quest objective explore completion message
- Game client should show an on-screen message for explored quest objectives
  (AreaExploredOrEventHappens) when the objective has been completed.
2020-02-20 02:15:00 +01:00
ariel-
d28be94e4a Core/Quests: implemented MSG_QUEST_PUSH_RESULT notifications
- Allow to share already completed (but not rewarded) quests, restriction was unblizzlike

thanks Cannix for the heads up
2020-02-20 01:55:48 +01:00
xinef1
d6e7cc52a8 Various quest system fixes (seasonal quests, timed quests and more) (#18940)
- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone

Closes #18913
Closes #11187
Closes #15279
2020-02-20 01:51:14 +01:00
ariel-
08e174549e Core/Quest: fix RewardNextQuest being used to condition previous quests in chain 2020-02-20 01:42:01 +01:00
ariel-
a7484837a8 Core/Quests: fixed exclusivegroup interaction with prevquestId and nextQuestId.
- They should work as documented by wiki now.
- Add some consts to Player methods
- Fixed negative PrevQuestID to mean only active quest (ie not rewarded/complete, as those quests are required to complete another)

Closes #19300
2020-02-20 01:39:08 +01:00