Commit Graph
130 Commits
Author SHA1 Message Date
Shauren dc8bf301bb Core/Auras: Fixed saving auras with same spell id but different item source 2022-09-12 09:15:21 +02:00
Ovahlord 1c09965c0f fixed another cherrypick typo 2022-09-12 09:15:07 +02:00
ariel- 1d3fbff332 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling
2022-09-12 09:15:04 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Ovahlord e03b2f41bf Core/Guilds: implement weekly bonus money packet field in guild bank queries 2021-07-29 18:45:49 +02:00
Ovahlord b236bd39df Core/Movement: updated smartAI waypoint support to use the new smooth transition field as well 2021-07-16 16:56:47 +02:00
Ovahlord 1d41988cbe Core/Guilds: implement cleanup routine for guild news that cleans up news that are older than a week 2021-04-29 15:56:25 +02:00
Roc13x d27eef16df Core/Datastore: fix structure of ItemExtendedCost hotfix table (#255) 2021-04-20 16:00:47 +02:00
Ovahlord 3cb0a99019 Core/Movement: expose orientation, velocity and delay members to SmartAI waypoints as well
superceeds #200
2021-02-24 16:22:36 +01:00
Giacomo Pozzoni 48a0dde345 Core/Creature: Add new db field InteractionPauseTimer
Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer)

Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value
2021-02-21 16:50:55 +01:00
Ovahlord 928aeccd59 Core/Items: ported random enchantment updates from master branch 2021-01-24 14:36:07 +01:00
Ovahlord 361ac2292b Core/Movement: add velocity field to waypoint_data to allow specifying custom speed value for waypoints and cyclic splines
* standartized member naming in WaypointNode and WaypointPath struct
2020-09-24 14:30:48 +02:00
Ovahlord 27c1fd6aee Core/Movement: implement cyclic spline database support 2020-09-21 00:32:55 +02:00
Ovahlord 9d345f0d87 Core/Creatures: creature groups no longer unnecessarily throw their data on the heap and formations now support inversing angles when waypoint Ids are 0 2020-08-28 23:02:05 +02:00
Roc13x ac6604fba7 Core/Creature: Refactor vendor item code (#167)
* Fix loading referenced vendor items
* Refactored vendor item storage
2020-08-06 01:43:39 +02:00
Roc13x 31b6b77200 Core/Players: Several gold handling improvements (#155)
* Updated the following systems to support large (64bit) gold numbers:
- Auction House
- Mail
- Commands
- Guild bank withdraw limits
- Guild Bank eventlog
- Vendor

* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
2020-08-03 17:24:32 +02:00
Ovahlord 360651f76f Core/DB: use correct field names in LOGIN_GET_GMLEVEL_BY_REALMID 2020-08-01 15:48:29 +02:00
Shauren 80e4effba5 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway) 2020-08-01 15:21:13 +02:00
Shauren adb7e4dba8 Refactor mail loading to execute 2 database queries instead of 1+mails.size() 2020-08-01 15:15:07 +02:00
Shauren 1c1c62d108 Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode with async version 2020-08-01 15:09:05 +02:00
Ovahlord d46fb93657 Core/Pools: ported pooling updates from 335 branch 2020-07-13 11:17:19 +02:00
Ovahlord 062667df95 Database: fixed prepared statement fields for reloading creature_template 2020-06-02 20:00:03 +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
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 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 2a9fc25269 Core/Misc: fixed more no pch errors 2020-03-11 13:42:42 +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 d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
Ghaster df173c7e1c Core/Bnet: Cleanup/Improve Battle.net account commands (#33) 2020-02-19 02:52:11 +01:00
Ovahlord 5ce44296d0 Core/Creature: fixed trainers not sending their gossips 2020-01-13 02:35:13 +01:00
Ovahlord 7760d95962 Core/Creatures: backported trainer update and skill initialization 2020-01-12 23:53:35 +01:00
Ovahlord 2715301823 Core/Players: convert SMSG_SETUP_CURRENCY to packet class and backportet currency handling from master branch 2020-01-05 23:32:23 +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
zartech22 7353b97426 Core/Instance : Fix instance resetting exploit (#23263)
* Push offline players out of instance

Push offline players out of instance when reseting dungeon with a raid mode group

* Add SQL request to character

Add a SQL request to update the position of a player in a specified map

* Teleport to graveyard instead
2019-11-16 13:44:04 +01:00
Artamedes a146d3598b Server/Database: Fix loading battlenet accountid (#12) 2019-10-11 21:42:53 +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 46eaff5a74 Core/Guilds: implement SMSG_GUILD_KNOWN_RECIPES and CMSG_GUILD_QUERY_RECIPES
* updated CMSG_GUILD_GET_ROSTER and SMSG_GUILD_ROSTER_UPDATE to packet class
* optimized caching process and updating for guild member profession data
2019-09-04 03:52:48 +02:00
Ovahlord 6d759dc6e8 Core/Guilds: implement guild profession fields for guild roster packets 2019-09-03 16:31:59 +02:00
Ovahlord 5251c6abb9 Core/Items: use ITEM_FIELD_CREATE_PLAYED_TIME properly to determine an item's age and send the correct value in order to fix the refund info texts 2019-08-20 00:57:20 +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
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 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 59d169e8e4 Merge branch 'dynamicSpawnMerge' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Maps/Map.h
2018-07-21 23:13:55 +02:00
Ovahlord b976bc1187 Core/Spawns: merged Dynamic Spawning 2018-07-21 20:44:41 +02:00
Ovahlord 8c3194eb13 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2018-07-15 18:20:00 +02:00