Commit Graph
1106 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
Giacomo Pozzoni 08fbf3974e Core/Database: Fix build with Maria DB on some distros (#24248) 2020-05-05 16:27:07 +02:00
Shauren 47acc59f49 Core/DBLayer: Prevent committing transactions started on a different database 2020-04-15 21:02:26 +02:00
Shauren d003ebd8e4 Core/DBLayer: Prevent using prepared statements on wrong database 2020-04-15 19:18:58 +02:00
Shauren 5653d4e2de Core/DBLayer: Support using mysql 8 2020-04-15 10:19:24 +02:00
Ovahlord 4539b571bf Core/Packets: converted SMSG_MOTD and SMSG_LOGIN_VERIFY_WORLD to packet class 2020-04-11 18:22:01 +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
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +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 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 d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +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
Ghaster df173c7e1c Core/Bnet: Cleanup/Improve Battle.net account commands (#33) 2020-02-19 02:52:11 +01:00
Ovahlord a9cc2a9954 Core/Scripts: removed dev tool scriptloader... again 2020-01-31 21:42:21 +01:00
jackpoz 183789053e Core/Misc: Fix GCC 8 warnings 2020-01-31 21:19:25 +01:00
Ovahlord b97b41276b Core/Scripts: removed a not existing dev tool command script registration 2020-01-31 11:31:37 +01:00
Treeston e156f8d571 Scripts/FollowerAI: Some cleanup:
- FollowerAI properly resumes follow after evading.
- Removed duplicated getters from CreatureAI (IsEscorted vs IsEscortNPC), they were used to do the same thing
- FollowerAI properly assists in combat.
- FollowerAI properly despawns if quest is abandoned.
- FollowerAI now supports dynamic respawning for escort NPCs.
2020-01-31 07:34:11 +01:00
Ovahlord fcb79fee07 Core/Datastores: updated DBC structure names to generated member format 2020-01-25 12:36:32 +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
Ovahlord 15f09fb82b Core/Misc: fixed warnings and building connection patcher with boost versions below 1.61 2019-11-06 00:51:04 +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
Shauren e596504d93 * Auth/Battle.net Added missing build check to JoinRequest handler
* Core/Commands: Battle.net account command changesisting accounts

(6584995c11a02478671656ea6955db7a645b57ce)
(0c27ffaa49c7e3e6880051ac74581cae51d83351)
2019-10-08 15:26:06 +02:00
Ovahlord 8bec6af24a Core/NetworkIO: implement 2nd connection 2019-10-03 22:32:24 +02:00
Ovahlord 0299e10945 Core/Servers: nuke authserver 2019-09-30 07:26:54 +02:00
Treeston 90540d684b Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime

----------

Core/DB: Unify `creature_respawn` and `gameobject_respawn` into a single `respawn` table
2019-08-18 12:47:10 +02:00
Treeston f9184f026b Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
- .npc respawn no longer causes stupid things to happen (Fixes #23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
2019-08-18 12:12:09 +02:00
Shauren 0b8ab68eb3 Core/Map: Kill zoneId from RespawnInfo, all it did was significantly slow down startup to make one gm command faster 2019-08-18 11:51:09 +02:00
Ovahlord 4df96f8126 Core/Scripts: removed an unintended change from last commit 2019-08-13 18:16:15 +02:00
Ovahlord 680d82db4e Core/Spells: added a missing breakpoint that was granting Death's Embrace more bonus values than it should get 2019-08-13 17:53:34 +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 f846a17c3e Core/Quests: fix money reward for quests turned in at level cap
(ported commit: 670085d8c099606136a904c8a67b8df9c0dd9f1e)
2019-07-06 16:05:24 +02:00
Ovahlord e5d59d5f98 Core/Object: Range check (#23179) (ported commit: 32e1de39a26628dcb64bc21ad415afb2ad938925) 2019-04-26 18:41:31 +02: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 1e4cc2293a Core/Datastores: use generated member names for MapEntry fields
* load all dbc fields of MapEntry
2019-02-24 00:14:44 +01:00
Ovahlord 9ce72fa1d9 Core/Creatures: Reworked setting move types in database (ported commit: 592516ae69d89da3bcb0ede144644a3d2e0186e0)
*merged followup commits
2019-02-18 07:52:25 +01:00
Ovahlord f763095de9 Core: merged some analysis issue fixup commits from master and 335 2019-02-18 04:15:05 +01:00
Ovahlord 50a91bd590 Core/Movement: merged Collision height handling from 335 branch to reduce the probability that creatures are falling under the map 2019-02-17 23:40:24 +01:00
Ovahlord 7edabcbd88 Core/Movement: ported and merged Follow and Chase movement generator rewrite 2019-02-07 23:51:45 +01:00
Ovahlord e6e2421fd1 Core/Phases: synch phasing files with master branch 2019-02-03 21:18:59 +01:00
Ovahlord 9377ce2528 Scripts/Commands: fixed returning height values in gps command when the target is not on transport 2019-01-21 11:08:08 +01:00
Ovahlord af3981d71b Scripts/Commands: fixed a crash happening when trying to appear at invalid map coordinates or trying to appear near a transport passenger 2018-11-21 16:29:00 +01:00
Ovahlord 5229a734dd Core/Transports: ported transport refactoring
* this implements full support for stoppable transports as well as serverside transport position tracking
* fixed several vehicle related issues
* fixed gameobject passengers not being displayed as transport passengers
* pets, dynamic objects and other summons are not added as transport passengers and will now properly be displayed
Todo:
- Deeprun Tram visual issues needs to be resolved
- Lady Deathwhisper's elevator needs some additional research
2018-11-21 12:04:26 +01:00
Ovahlord 1a1790b737 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/AI/SmartScripts/SmartScript.cpp
#	src/server/game/Skills/Archaeology/ArchaeologySites.cpp
#	src/server/scripts/Spells/spell_mage.cpp
2018-09-17 15:43:22 +02:00
Aokromes 47d7f7be1c kill whitespaces 2018-09-09 16:41:58 +02:00