Commit Graph
508 Commits
Author SHA1 Message Date
Ovahlord c3fd5d2037 Core/Objects: do not block collision detection for flying units 2020-05-02 19:01:15 +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
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 a3662d9a74 Core/Objects: improve MovePositionToFirstCollision results 2020-04-29 23:56:47 +02:00
Ovahlord e7ba484fcf Core/Units: reworked creature power regeneration handling
* players and creatures now share the same power regeneration regeneration function
* UpdatePowerRegeneration is now virtual and handles creature and player specific formulas individually
* handle update field flag UF_FLAG_UNIT_ALL to handle UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER and UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER for creatures as well
2020-04-27 14:20:33 +02:00
Ovahlord 902d373de5 Core/Objects: 153546acba followup 2020-04-26 21:00:57 +02:00
Ovahlord b653f2f819 Core/Units: ported power type updates from master branch 2020-04-22 03:13:02 +02:00
Ovahlord d30c811d9e Core/Creatures: reworked tempoary summon creation
* all stats and values will now be set before summons are getting added to map
* cleaned up summon spell effect handler to reduce duplicade code
* summoner guids will no longer be set for every minion and correctly handle assigning creator guids instead. These values will serve as fallback guid if there is no summoner guid
* friendly tempsummons will now inherit the guild data of their player and pass them on to further allied summons. This fixes guild specific visuals for creatures such as Guild Battle Standards and Guild Heralds.

Todo: check for regressions
2020-04-22 00:20:18 +02:00
Shauren cb6ce1302b Core/Misc: Defined new summon properties titles 2020-04-07 18:33:13 +02:00
Ovahlord b5bdf61e5f Core/Packets: converted SMSG_DURABILITY_DAMAGE_DEATH, SMSG_PLAY_ONE_SHOT_ANIM_KIT, SMSG_SET_AI_ANIM_KIT, SMSG_SET_MOVEMENT_ANIM_KIT and SMSG_SET_MELEE_ANIM_KIT to packet class 2020-04-07 16:29:30 +02:00
Ovahlord 113202ea48 Core/Packets: converted SMSG_PLAY_MUSIC to packet class and corrected packet structure 2020-04-07 15:59:33 +02:00
Ovahlord d31f19265d Core/Objects:
* store liquid status lookups from UpdatePositionData in a member and draw liquid status information from it instead of doing extra vmap lookups. This also fixes collision height based liquid status states which was leading to false positive movement speed selection for creatures
* remove redundant IsUnderWater helper override from player class as our object based liquid status also considers collision height
2020-04-05 20:41:15 +02:00
Ovahlord 9bf01799f0 Core/Packets: converted SMSG_PLAY_SOUND and SMSG_PLAY_OBJECT_SOUND to packet class and corrected packet structure of
SMSG_PLAY_OBJECT_SOUND
2020-04-05 19:28:49 +02:00
Ovahlord 9bfe43a88a Core/Entities: remove PhaseMask
* database fields and values will remain until they have been converted to their according phase IDs
2020-03-29 04:05:43 +02:00
Shauren 9ad9398f04 Core/PacketIO: Fixed SMSG_UPDATE_OBJECT packets going missing for new items
Closes #16906
2020-03-19 20:45:57 +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
Ovahlord e0a1c5fa1a Core/Objects: use detour raycasts for unit based MovePositionToFirstCollision calls 2020-02-08 23:33:02 +01:00
Ovahlord 638d368130 Core/Creatures: re-organized default summoning behaivior to make sure that all fields are set before the summon gets sent out to clients 2020-01-31 11:29:58 +01:00
Ovahlord fcb79fee07 Core/Datastores: updated DBC structure names to generated member format 2020-01-25 12:36:32 +01:00
Ovahlord 744ac00469 Core/Spells: converted SMSG_SPELL_START and SMSG_SPELL_GO to packet class 2020-01-21 06:03:02 +01:00
Ovahlord 7760d95962 Core/Creatures: backported trainer update and skill initialization 2020-01-12 23:53:35 +01:00
jackpoz 131986d1c2 Core/Misc: Replace time(nullptr) with GameTime::GetGameTime() 2020-01-11 03:30:41 +01:00
Aokromes d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Artamedes 57992c4f0d Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update (#9)
* Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update

* 1

* Core/NetworkOI: corrected connection type for SMSG_MOVE_UPDATE

* suggestions
2019-10-15 19:11:15 +02:00
sun c98c92b902 Core/PacketIO: Restore SMSG_DESTROY_OBJECT removed in 92816c0f17
- this packet was removed in WoD not 4.3.4...
2019-10-07 14:53:36 -04:00
Ovahlord adec9f98e0 Core/Transports: fixed displaying transport movement after relogging with a already moved transport 2019-10-05 05:23:59 +02:00
Ovahlord c68e39d074 Core/Transports: solved all remaining visual issues for transports 2019-10-05 03:46:31 +02:00
Ovahlord ba3084d1a4 Core/Transports: fixed a typo that was causing client crashes uppon relogging outside of instances 2019-09-15 19:57:30 +02:00
Ovahlord a1b90f3285 Core/Transports: solved several visual issues with transports which was causing them to move significantly slower than intended 2019-09-15 05:37:22 +02:00
Ovahlord 7cbd370c7d Core: fixed another warning and fixed build 2019-07-25 01:17:52 +02:00
Ovahlord 9435d6aeb2 Core: fixed some warnings 2019-07-25 01:16:55 +02:00
Ovahlord 01cca0513f Core/Objects: fixed display DynObjects and Gameobjects on transports (again) 2019-07-24 22:45:49 +02:00
Ovahlord c074c3a9c6 Revert "Core/Misc: Replace time(NULL) with GameTime::GetGameTime()"
This reverts commit 5fe3a1f7f9.
2019-07-08 15:56:29 +02:00
Ovahlord 5fe3a1f7f9 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(ported commit: 12701cb0c6c45eb105ad449eb9a56e76d84d691e)
2019-07-08 12:19:19 +02:00
Ovahlord 29b952c797 Core/Transports: replace getMSTime with GetGameTimeMS 2019-05-27 15:46:22 +02:00
Ovahlord 9c40b2aba1 Core/Objects: removed some unnecessary update field handling 2019-05-25 11:32:49 +02:00
Ovahlord ab95871811 Core/Objects: replaced another IsFlying check with CanFly to make sure that hovering creatures will get their ground height returned properly
*also fixed a small typo in path generator
2019-05-06 02:30:24 +02:00
jackpoz 0020ea9f92 Core/Maps: Fix crash caused by setActive(false) called after DespawnOrUnsummon()
Fix crash caused by WorldObject::setActive(false) called after WorldObject::DespawnOrUnsummon() happening because the WorldObject would be set as not active but then Map::RemoveFromActiveHelper() would not be called because of not being in world anymore.
Whenever setActive() gets desync'd with what Map actually contains a rare crash would happen since Map only reads a few values of the active WorldObject, making it hard to reproduce. If this happens again some ASSERT calls should be added (or a check in Map::RemoveFromMap() could be added about if the WorldObject is in Map::m_activeNonPlayers container).
2019-04-27 21:08:52 +02:00
Ovahlord e5d59d5f98 Core/Object: Range check (#23179) (ported commit: 32e1de39a26628dcb64bc21ad415afb2ad938925) 2019-04-26 18:41:31 +02:00
Ovahlord da25314178 Core/Objects: ported changes for the collision height changes when mounting up 2019-03-17 15:22:17 +01:00
Ovahlord c98be9d2d7 Core/Objects: merged new changes from undermap issue fixup PR 2019-03-17 12:29:08 +01:00
Ovahlord 7ccd3f9d8d Core/Objects: restore the original UpdateAllowedPositionZ helper from TC to fix some broken mechanics in terms of disabling gravity 2019-03-05 22:07:36 +01:00
Ovahlord ac3e401c2f Core/Objects: removed unneeded combat reach calls from several distance helpers as they need another commit to be merged before 2019-03-05 21:39:42 +01:00
Ovahlord 4474655779 Core/Objects: SetZoneScript will now use map zone coordinates instead of using the cached zone id 2019-02-25 00:39:28 +01:00
Ovahlord 0c358c9a0b Core/Objects: use the actual hoverheight value of creatures and players to get more accurate liquid status results 2019-02-24 23:13:50 +01:00
Ovahlord d9c57aaf58 Core/Units: updated hover handling to 4.3.4
* SetHover now uses SMSG_SET_PLAY_HOVER_ANIM for playing unit hover animations
* UpdateObject packets will now use the corresponding bit to make units hover
2019-02-24 22:41:54 +01:00
Ovahlord fda1f556af Core/DataStores: use generated member names for AreaTable.dbc
*load all fields of AreaTable.dbc
2019-02-24 00:51:54 +01:00
Ovahlord fa4be652a0 Core/Objects: added missing changes to last commit 2019-02-23 22:40:38 +01:00
Ovahlord 43cc7ce7f3 Core/Spells: Fixed spells using MovePositionToFirstCollision for selecting target position getting Z coord offset by caster or target collision height (depending on spell target type) (ported commit: d63d15c505708d175c52d87afc76cbe4ac59497b) 2019-02-20 21:30:52 +01:00