Commit Graph

25412 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Ovahlord
ca76ddf4b5 Core/Pets: fixed typos in pet scale mod calculation 2020-04-28 20:20:19 +02:00
Ovahlord
9c2c994958 Removed whitespace 2020-04-28 19:43:46 +02:00
Ovahlord
f09564b9d0 Core/Pets: use TamedPetBaseScale field in CreatureModelData to determine additional pet scale values and updated scale calculation based on client function
Thanks @warpten for providing the data
2020-04-28 19:43:03 +02:00
Ovahlord
b580cacd19 Core/Auras: fixed a warning 2020-04-28 18:30:49 +02:00
Ovahlord
a5b305ec9d Core/Pets: fixed build 2020-04-28 18:16:36 +02:00
Shauren
48695b7c9d Core/Auras: Prevent getting negative scale with auras
Closes #24040

# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Pet/Pet.cpp
2020-04-28 18:10:14 +02:00
Ovahlord
54d0170235 Core/Packets: converted SMSG_START_TIMER to packet class 2020-04-28 18:05:06 +02:00
Ovahlord
2edba50bcd Core/Units: summoned vehicles will now also get a creator guid 2020-04-28 17:47:21 +02:00
Ovahlord
92f8340da3 Core/Spells: allow Victory Rush's damage to crit but keep its healing effect non-critical 2020-04-28 01:27:47 +02:00
Ovahlord
9665da3435 Core/GameObjects: corrected a logic fail when checking for targets on the same map 2020-04-28 01:13:08 +02:00