Commit Graph

148 Commits

Author SHA1 Message Date
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
301572212f Core/Misc: Changed string formatting functions to accept std::string_view as format argument instead being templated on it to slightly improve compile times and reduce executable size 2022-09-19 00:33:19 +02:00
Shauren
d3c4216de8 Core/PacketIO: Updated packet structures to 9.2.5 2022-06-01 23:13:29 +02:00
Shauren
569b5d6f04 Core/Auction House: Eliminate blocking db queries for account permissions when expiring auctions that have offline bidders
(cherry picked from commit d0d0f51f32)
2022-02-28 12:45:06 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
cbcd149ce5 Core/Misc: Explicitly include required headers instead of relying on them to be included by other headers 2022-02-11 14:33:35 +01:00
Treeston
d11c3807b3 Core/Time: Rename GetGameTime{System, Steady}Point methods
The names are a bit unhandy. Rename them (shorter but still meaningful).

GetGameTimeSystemPoint() -> GetSystemTime()
GetGameTimeSteadyPoint() -> Now()

Also add 2 new typedefs:

typedef std::chrono::steady_clock::time_point TimePoint;
typedef std::chrono::system_clock::time_point SystemTimePoint;

Closes #25042

(cherry picked from commit 896b68d5c2)
2022-01-23 21:36:03 +01:00
Shauren
596bf2b772 Core/Misc: Replace boost::optional with std::optional part 2 2022-01-23 20:31:52 +01:00
Giacomo Pozzoni
a9e325f6b7 Core/Logs: Log full guid instead of just low guid, part 2
(cherry picked from commit 3def52c1c4)
2022-01-01 00:51:54 +01:00
Giacomo Pozzoni
6ec933f281 Core/Logs: Log full guid instead of just low guid
(cherry picked from commit 468ecb7252)
2021-12-31 21:56:40 +01:00
ForesterDev
9124fd1f1f Core/Items: implement some helper methods for easier readability (#24113)
(cherry picked from commit 573ddf4d22)
2021-12-21 00:46:13 +01:00
ccrs
4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7)
2021-12-13 00:42:20 +01:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Shauren
61a7026f17 Core/AuctionHouse: Fixed buying commodities
Closes #26110
Closes #26619
2021-06-23 22:44:39 +02:00
Shauren
f759809d9d Core/PacketIO: Use new time utilities in packets instead of plain time_t/uint32 2021-04-06 19:10:28 +02:00
Shauren
f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
ariel-
93c19c4194 Core/Misc: camelize GetFaction/SetFaction properly
(cherry picked from commit 4c4dca6d69)
2020-04-29 01:36:41 +02:00
Shauren
fb0a29131d Core/AuctionHouse: Add separate auction house throttle period for requests from auction house addons tainting default ui 2020-04-23 14:03:17 +02:00
Shauren
aced88b09b Core/AuctionHouse: After taking a break at the start of patch 8.3 auction house is now back in business. 2020-04-20 20:36:24 +02:00
Giacomo Pozzoni
642dd62cc7 Core/Misc: Fix build warning
(cherry picked from commit 2803269e8c)
2020-03-30 17:04:27 +02:00
Shauren
ab36cb9b61 build fix 2020-03-17 18:49:32 +01:00
Shauren
06cc0754b8 Core/PacketIO: Updated auction packets to newer build 2020-03-17 18:38:01 +01:00
Shauren
569f1c9f2a Core/PacketIO: Add new auction house packet structures (not used yet) 2020-03-14 00:14:55 +01:00
Shauren
462a10de17 Core/PacketIO: Updated packets to 8.3.0 2020-02-17 23:58:08 +01:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
f6e2b8cdc1 Core/DBLayer: Prevent committing transactions started on a different database 2019-07-27 10:52:33 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
r00ty-tc
83e2777249 [Core/AH] Correctly check player can pay deposit
- Deposit amount wasn't correctly checked in the case of multiple items,
   player with insufficient funds could auctin more items than they should

(cherrypicked from 6bd9aa2787)
2019-07-21 21:06:54 +02:00
xinef1
ad4e63bae1 Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030

(cherrypicked from 59ce3d6c9b)
2019-07-21 21:06:54 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren
9ace570b92 Core/AuctionHouse: Fixed item dupe exploit 2017-11-14 19:59:58 +01:00
roc13x
e04f75bd96 Core/Players: Several gold handling improvements
* Update gold limit to 10 million
* Updated auction house gold handling to 64-bit
* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
* Updated guild bank gold handling to 64-bit and fix withdraw limits
* Enforce gold limit on guild bank
* Check correct rank right when withdrawing from bank
* Other small changes to update money to 64-bit

Closes #19195
Closes #20152
2017-08-20 18:10:11 +02:00
Shauren
120d2ebe4f Core/PacketIO: Initialize arrays of primitive types 2017-07-20 21:54:36 +02:00
Shauren
b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren
65190eb5e2 Core/PacketIO: Fixed structures of CMSG_AUCTION_SELL_ITEM and CMSG_AUCTION_LIST_BIDDER_ITEMS - FlushBits() should never be used by client packets, use ResetBitPos() instead
Closes #19481
2017-05-05 14:23:03 +02:00
Aokromes
d2dd5f9f02 Core/Logs: Fine tune more logs
And move others to more logical appenders
(cherry picked from commit 1ad24352ac)

# Conflicts:
#	src/server/authserver/Server/AuthSession.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/GuildHandler.cpp
#	src/server/game/Handlers/LootHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Handlers/QuestHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Spells/SpellEffects.cpp
2017-02-11 23:15:24 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Palabola
61ec5b9abf Handlers/AuctionHouse: Typo (#18437)
Filtering fixed.
2016-12-09 11:19:12 +00:00
Shauren
0d9136f764 Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion 2016-07-10 00:37:33 +02:00
Shauren
a78aa3cf4e Core/PacketIO: Refactored building SMSG_UPDATE_OBJECT to append directly to final buffer and removed UpdateMask class 2016-07-10 00:11:19 +02:00
Shauren
27e08e48e1 Core/PacketIO: Updated AH and mail packets 2016-06-14 21:28:48 +02:00
Shauren
5c2c9a684f Core/DataStores: Updated dbc/db2 to 7.0.1.20810 2016-05-20 23:46:17 +02:00
Shauren
c75fcbe20b Core/Achievements: AchievementMgr refactoring
* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation
* Fixed players earning guild achievements
2016-05-07 01:16:29 +02:00
pete318
7d5d79aa01 Implement AuctionHouse features: GetAll scan and search throttling
Implements two standard features of the Auction House.
* GetAll scan, retrieves all auctions and sends them in a single packet.
  There's a limitation on how often a player can do this (Max 55000 items)
* Search throttling. For normal searches, the server can send a time
  in milliseconds to the client, the client will wait that long between
  searches. Delay set in config

Closes #16469

(cherry picked from commit 3aaeb57405)
2016-04-10 17:48:29 +02:00
DDuarte
0d643fdff2 Build fix 2016-03-23 00:34:47 +00:00
pete318
28f51306d4 Improved Auction house deposit handling.
Including the weird quirks.

Changes:
* Deposit caculated according to same rule as client. (detailed below). Should always match client deposit now
* Deposit for multiple auctions now only collected once. Deferred calculation of deposit until all auctions listed.

Deposit calculation is as follows:

Base deposit calculation = MSV x 15/75% (depending on AH). However this is not rounded. Case to int is used (so always round down)
The remainder is held in a float.
The base is then multiplied by number of items, and the time multiplier (x2 for 24 hour, x4 for 48 hour)
The nearest (no of items or lower) no of items when multiplied by the remainder that creates a whole number is then multiplied by the time multiplier (x1/x2/x4) and then added to deposit.

Example:

Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 1 = 36c. Remainder = 0.75 (n) Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 2 = 72c. Remainder = 1.50 (n)  Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 3 = 108c. Remainder = 2.25 (n) Min = 1s. Deposit 1s08c
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 4 = 144c. Remainder = 3.00 (n) Min = 1s. Deposit 1s50c (144c + (3c * 2))

Horrible kludge, to re-create a very weird deposit method.

Closes #15674 (PR)
Closes #15643 (Issue)

(cherry picked from commit 0ac442f19f)

# Conflicts:
#	src/server/game/AuctionHouse/AuctionHouseMgr.h
2016-03-23 00:28:03 +00:00