Commit Graph

36014 Commits

Author SHA1 Message Date
Ovahlord
4a25282f51 Core/Objects: logic fixup for d91fa5023e 2020-05-16 17:33:34 +02:00
Ovahlord
d91fa5023e Core/Objects: fixed random destination selection for spells casted by flying units
* the path generator will now check for realtime movement flags instead of movement template data for units
2020-05-16 17:15:19 +02:00
Shauren
bc57ecd3bd Core/Commands: Fixed .npc add overwriting existing spawns when used on transports 2020-05-16 13:47:43 +02:00
Giacomo Pozzoni
e3bab35d5e 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>
# Conflicts:
#	src/server/game/Entities/Object/Object.cpp
2020-05-16 13:45:57 +02:00
Ovahlord
2132ed5178 Core/Spells: Power Word: Shield will now apply its Weakened Soul debuff on its target again which got broken after cleaning up hacks in db4e832fee
closes #96
2020-05-14 22:14:15 +02:00
Ovahlord
964dfdade7 Core/Packets: fixed structure of CMSG_WHO 2020-05-14 00:05:49 +02:00
Ovahlord
d3dd36c776 DB/Vendors: corrected achievement requirement for Kokron Annihilator 2020-05-11 00:04:43 +02:00
Ovahlord
ce5ca82cad DB/Spells: corrected proc flags for Arcane Missiles procs 2020-05-10 23:39:36 +02:00
Ovahlord
db4e832fee Core/Spells: removed pre cast spell hacks from spell class and moved remnants to spell scripts
closes #81
2020-05-10 21:11:56 +02:00
Ovahlord
24f377396b DB/Spells: Desecration can now also be triggered by Necrotic Strike
closes #89
2020-05-10 20:27:39 +02:00
Bryan
d0ae677135 DB/Characters: updated table data for playercreateinfo_spell_custom (#70) 2020-05-10 20:23:17 +02:00
Ovahlord
d8ec67df50 Core/Movement: converted collision height and move update opcodes back to movement structures and implement new movement status elements for future use 2020-05-10 19:21:33 +02:00
Ovahlord
a2cea3ce08 Core/Movement: converted CMSG_MOVE_SET_COLLISION_HEIGHT_ACK and SMSG_MOVE_UPDATE_COLLISION_HEIGHT to packet class
* added new MovementInfo helpers for easy access to all packet related data
2020-05-10 01:31:53 +02:00
Ovahlord
557d5497a3 Core/Packets: fixed a console error when trying to broadcast SMSG_MOVE_UPDATE via packet sender 2020-05-09 19:51:25 +02:00
Ovahlord
04b99ab8ac Core/Packets: converted SMSG_MOVE_UPDATE to packet class 2020-05-09 17:01:42 +02:00
Ovahlord
ffc0fe829c Core/Spells: Death Grip will now use exact distances instead of comparing the melee distance between the caster and the target
closes #73
2020-05-09 15:10:19 +02:00
Ovahlord
e5c98e258c Fixed build 2020-05-09 01:34:55 +02:00
Ovahlord
7ab91c9b3e Core/Spells: optimized Arcane Missile proc data 2020-05-09 01:19:11 +02:00
Ovahlord
d9cd7d6aa4 Scripts/Pets: allow Army of the Dead ghouls to go nuts with their attacks. 2020-05-08 23:00:05 +02:00
jackpoz
d0c7bbab40 Core/Misc: Update 85e3169fbd about SOAP
Change again how SOAP is stopped if SOAP successfully binds but worldserver fails to bind its sockets.
A crash remains if SOAP fails to bind because it calls exit() and that triggers asserts everywhere.
2020-05-06 00:01:21 +02:00
jackpoz
03609506ae Core/Networking: Set SO_REUSEADDR on *nix platforms 2020-05-06 00:01:17 +02:00
Shauren
9d0bfc0c56 Build/Misc: Removed -DDEBUG from clang compile options
(cherry picked from commit b0609757d3)
2020-05-06 00:01:13 +02:00
jackpoz
c82bddf6f4 Core/Misc: Fix shutdown with SOAP enabled
Fix worldserver entering a loop when having SOAP enabled but failing to bind both SOAP and worldserver listened socket. SOAP thread would keep trying to bind the socket over and over checking World::IsStopped() condition that was never set to true
2020-05-06 00:01:09 +02:00
Giacomo Pozzoni
2e9f4285d9 Build: Add support to MariaDB 10.4 on Windows
MariaDB 10.4 (latest stable) is the only supported version.
2020-05-05 16:27:07 +02:00
Giacomo Pozzoni
08fbf3974e Core/Database: Fix build with Maria DB on some distros (#24248) 2020-05-05 16:27:07 +02:00
r00ty-tc
b9b21188ac Core/Database: Correction for later MariaDB version
- Removed unused define CR_INVALID_CONN_HANDLE which was removed entirely in more modern MariaDB versions
2020-05-05 16:27:07 +02:00
Ovah
0679417084 Updated software requirements in readme file 2020-05-05 01:22:44 +02:00
Ovahlord
08938e3557 Core/Spells: fixed Glyph of Power World: Shield heal effects getting triggered when the Priest had the Improved Power Word: Shield talent active 2020-05-05 00:00:50 +02:00
Ovahlord
8cc370b2e3 Core/Spells: fixed slow effect for Thunderstorm when no glyph is applied 2020-05-04 23:42:38 +02:00
Ovahlord
e64a3bcd90 Scripts/HoO: implement Ammunae encounter 2020-05-04 00:14:06 +02:00
Ovahlord
fc75689a7c DB/Spells: allow comment column in serverside spell fields to be empty and fixed some default values for short insert statements 2020-05-03 17:23:25 +02:00
Ovahlord
cb0f200d35 Core/Datastores: synchronize spelleffect_dbc database table field namings with dbc struct names 2020-05-03 17:11:11 +02:00
Ovahlord
c3fd5d2037 Core/Objects: do not block collision detection for flying units 2020-05-02 19:01:15 +02:00
Ovahlord
8eccdaefc9 Core/Movement: fixed an issue that was causing hovering units not chasing their targets close enough to perform melee attacks 2020-05-02 18:07:12 +02:00
Ovahlord
b956abd5fb Core/Vehicles: players will no longer get stuck in hover movement when manually leaving a vehicle that had seat flag VEHICLE_SEAT_FLAG_DISABLE_GRAVITY
closes #62
2020-05-02 17:22:50 +02:00
Ovahlord
1ad8451ae2 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
# Conflicts:
#	src/server/game/Entities/Object/Object.cpp
2020-05-02 01:12:20 +02:00
Ovahlord
8226dd4e23 Core/Vehicles: corrected max power value for Conclave of Wind 2020-05-01 23:11:29 +02:00
Ovahlord
e7347140d5 Scripts/TotFW: use the already defined Drain Power spell to reset the Conclave's power 2020-05-01 23:00:12 +02:00
Ovahlord
69e3d80f4a Scripts/TotFW: fixed a warning 2020-05-01 22:59:27 +02:00
Ovahlord
bcccf2bd6c Scripts/TotFW: removed a spell cast that was causing the Fall Catcher vehicle not picking up its summoner properly. This issue has been caused by the now properly working automatic vehicle enter mechanic 2020-05-01 22:12:30 +02:00
Ovahlord
cd57f79a1c Scripts/TotFW: fixed a crash when Anshal tries to select a Ravenous Creeper for Soothing Breeze while no creeper is available 2020-05-01 21:29:50 +02:00
Ovahlord
518d0ce669 Core/Spells: fixed a potential crash in skinning player corpse spell effect handler 2020-05-01 21:20:31 +02:00
Ovahlord
6aa8e4389c Core/Texts: allow creature texts to play sounds via different opcodes (Direct Sound, Object Sound and Music) 2020-05-01 20:16:27 +02:00
Ovah
1a85f82edd 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>
# Conflicts:
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Movement/PathGenerator.h
2020-05-01 14:51:38 +02:00
Ovahlord
1472bc9a7d Core/Spells: removed deprecated path generation for TARGET_DEST_CASTER_FRONT_LEAP since MovePositonToFirstCollision now does the job 2020-05-01 14:46:55 +02:00
Ovahlord
7b62f5ac56 Core/Movement: slightly reduce the catchup / throttle distance check range to get more accurate catchup data 2020-04-29 23:58:07 +02:00
Ovahlord
a3662d9a74 Core/Objects: improve MovePositionToFirstCollision results 2020-04-29 23:56:47 +02:00
jackpoz
c5c99f1eea Core/PathFinding: Fix buffer overflow 2020-04-29 22:37:55 +02:00
Ovahlord
298c2593df Core/Units: fixed a crash that happened when despawning a pet while having units with no ownerguid stored in m_controlled
* minor fixups for vehicle energy power regeneration
* do not set ownerguids for summon vehicles
2020-04-29 14:27:27 +02:00
Ovahlord
bedd554c79 Core/Units: protect m_Controlled unit set against removing non-existing pointers and log owner and unit to track down potential crashes 2020-04-28 20:42:24 +02:00