Shauren
3acb25c50c
Core/Players: Prevent creation of characters with duplicate names
...
Closes #30299
(cherry picked from commit 49ab2bbe38 )
2024-10-03 14:41:02 +02:00
Shauren
9800393424
Core/Units: Some cleanup in movement packet related functions - try to keep only one function handling a packet, not have it scattered all over the place
...
(cherry picked from commit 075e5d6751 )
2024-09-10 18:25:12 +02:00
Shauren
de3414ea0a
Core/Player: Refactor talent internal storage
...
(cherry picked from commit ef471da666 )
2024-09-10 17:47:42 +02:00
Shauren
1fd797fca4
Core/Misc: Reduce differences between branches
...
(cherry picked from commit 36a90f7098 )
(cherry picked from commit 0056360034 )
(cherry picked from commit 869a8644e5 )
(cherry picked from commit 94e85c34d3 )
(cherry picked from commit f27cc65588 )
(cherry picked from commit 42f3f91ad4 )
(cherry picked from commit 1180fbf531 )
(cherry picked from commit 629694cbad )
(cherry picked from commit 506e7913f8 )
(cherry picked from commit e7c7158db0 )
(cherry picked from commit a369594d61 )
(cherry picked from commit cc5450c4a0 )
(cherry picked from commit d3e508254b )
(cherry picked from commit dcd915c9b9 )
(cherry picked from commit b95d148dbe )
(cherry picked from commit ac81411db4 )
(cherry picked from commit d8ce0c8830 )
(cherry picked from commit a2b1cf66ca )
(cherry picked from commit 953f093920 )
brc
2024-09-10 17:47:34 +02:00
CraftedRO
c5a9ab65af
Core/Players: Add level restrictions for faction changes ( #30057 )
...
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2024-06-27 18:54:31 +02:00
r4dish
0327f16d11
Core/Misc: Move instance enter times handling from Player to WorldSession.
2024-06-27 14:49:40 +02:00
Shauren
a79b42bf68
Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
...
(cherry picked from commit 4779fa5048 )
2024-03-14 00:14:16 +01:00
Shauren
d3fcc9efea
Core/Misc: Warning fixes
2024-02-26 12:51:20 +01:00
Mykhailo Redko
ca1560f043
Core/Players: Improvements for talent reset logic. ( #29580 )
...
* Clean up Player::ResetTalents() from unnecessary logic, such as withdrawing money. Move it to more suitable places.
* Implemented SMSG_TALENTS_INVOLUNTARILY_RESET and use it instead of old trinity_string.
* Do not reset the accumulated talent reset cost if CONFIG_NO_RESET_TALENT_COST is enabled.
2024-02-13 15:55:37 +01:00
Shauren
aaa6e73c8c
Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api)
...
(cherry picked from commit d791afae1d )
2023-08-15 20:10:04 +02:00
Gildor
2cd8b6a575
Core/Players: Fix inactive reward quests on faction change ( #29073 )
...
* Fix query order
* Quest with AllowableRace 0 shouldn't be inactive on faction change
2023-06-13 14:24:09 +02:00
Gildor
3dda65c53a
Core/Players: Remove player from group on faction change if two side interaction group is not allowed. ( #28835 )
2023-03-11 19:17:00 +01:00
Shauren
d611925dc7
Core/Units: Reduce differences between branches part 1 - unit updatefield accessors
2022-03-29 11:30:49 +02:00
Kelno
e2f20aff8a
Don't count character pending deletion towards character per account limit ( #26837 )
...
* Don't count character pending deletion towards character per account limit
* Never show more than 10 characters char enum
* Use constants
2021-08-19 16:07:54 +02:00
Shauren
9f852c27b9
Core/Players: Add PlayerExtraFlags for tracking race change, and raf level grant usage
2021-06-06 14:10:23 +02:00
Matan Shukry
dd27485a64
Core/Player: remaining XP logging overflow correction ( #25934 )
...
(cherry picked from commit 6dbaba7669 )
# Conflicts:
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Server/WorldSession.cpp
2021-01-31 16:02:39 +01:00
Matan Shukry
cdfa85957e
Core/logs: added xp info on login & logout ( #25867 )
...
* Core/logs: added xp info on login & logout
* - Moved getters to header
- Changed %s to %u
(cherry picked from commit bb24c6a11b )
# Conflicts:
# src/server/game/Entities/Player/Player.h
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Server/WorldSession.cpp
2021-01-17 17:45:00 +01:00
Shauren
53482f7299
Core/DBLayer: Fixed memory leaks with existing SQLQueryHolder uses and eliminated the possibilty of adding more in future (replaced manual memory management with smart pointers)
2020-10-24 17:37:24 +02:00
jackpoz
a33ff74d92
Core/Characters: Replace 2 database statements with 1
...
Replace DELETE + INSERT with REPLACE when updating realmcharacters table
2020-09-13 19:22:07 +02:00
Treeston
534a2388b7
Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327 )
2020-08-28 00:11:16 +02:00
Shauren
5c1fc5e387
Core/Pets: Pet management refactoring ( #25191 )
...
* Core/Pets: Pet management refactoring
* Preload basic pet data on character login with async query
* Load additional pet data (declined names/auras/spells/cooldowns) using async query after we are sure pet loading will succeed
* Remove all select queries related to pet stable/unstable
* Remove all silent pet deletions except explicit UI-triggered abandons
* Fixed displaying stable master content when current pet is not summoned
* Allow to stable/swap unsummoned current pet
Closes #3610
Closes #21266
2020-08-16 21:39:25 +02:00
Shauren
9b806c6b5d
Core/DBLayer: Add nicer api for SQLQueryHolders
2020-07-31 23:27:26 +02:00
Shauren
57eaab80d9
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-07-30 20:38:04 +02:00
Peter Keresztes Schmidt
c92950b3e1
Core/DataStores: Update DBC field names to generated ones ( #24999 )
2020-07-12 15:36:55 +02:00
Giacomo Pozzoni
141ada19b0
Cherry pick some db commits ( #24713 )
...
* Core/DBLayer: Implement async transaction completion callbacks
(cherry picked from commit 0f0ca3a919 )
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/bnetserver/Server/Session.cpp
# src/server/bnetserver/Server/Session.h
# src/server/database/Database/Transaction.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/SpellHandler.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSocket.cpp
# src/server/game/Server/WorldSocket.h
* Core/Misc: Fixed char enum packet sometimes not showing newly created character when client latency is too low
(cherry picked from commit fc9d2e728e )
# Conflicts:
# src/server/game/Handlers/CharacterHandler.cpp
* Fix no-pch build
* Core/Player: Wait for correct transaction on character creation
(cherry picked from commit 01c68b2aa2 )
# Conflicts:
# src/server/game/Entities/Player/Player.cpp
* Fix warning
* Remove unused login transaction
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2020-05-30 17:43:54 +02:00
NoName
1680f2221e
Core/Misc: Sync some funcion names with master ( #24683 )
2020-05-24 21:56:34 +02:00
HelloKitty
43b595111d
Further improve ChrRace DBC handling ( #24508 )
...
* Core/DBC: Added ChrRacesAllianceType for ChrRaces.dbc
* Core/Character: Check ChrRace DBC playable in HandleCharCreateOpcode
* Core/DBC: Implement ChrRacesFlags removing literals
Cannot take credit for this enum, derived from documentation in
https://wowdev.wiki/DB/ChrRaces
* Core/Character: Check CHRRACES_FLAGS_NOT_PLAYABLE on creation
* Core/DBC: Fix formatting of ChrRaces enums
* Core/DBC: Use ChrRaces CreatureType instead of hardcoded humanoid assumption
* Address enum style code changes
2020-05-15 20:41:16 +02:00
ForesterDev
bfd73e7f47
Core/PacketIO: updated SMSG_FEATURE_SYSTEM_STATUS ( #24403 )
...
* Core/Packets: updated SMSG_FEATURE_SYSTEM_STATUS
(cherry picked from commit 231207970b )
# Conflicts:
# src/server/game/Battlegrounds/ArenaTeam.cpp
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Entities/Player/Player.h
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/GroupHandler.cpp
# src/server/game/Handlers/SpellHandler.cpp
# src/server/game/Server/Packets/SpellPackets.cpp
# src/server/game/Server/Packets/SpellPackets.h
# src/server/game/Server/Packets/SystemPackets.cpp
# src/server/game/Server/Packets/SystemPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/Protocol/Opcodes.h
# src/server/game/Server/WorldSession.h
* Define complaint status values and replace magic numbers
* Add missing header
Co-authored-by: joschiwald <joschiwald.trinity@gmail.com >
2020-04-11 19:49:36 +02:00
jackpoz
31018c3652
Core/Log: Log all character kicks to "network.kick" category
2020-04-08 21:05:01 +02:00
ForesterDev
97405ceb01
Core/PacketIO: Updated SMSG_LOGIN_VERIFY_WORLD ( #24395 )
...
(cherry picked from commit 7256c7c2c7 )
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2020-04-06 15:18:36 +02:00
Giacomo Pozzoni
3def52c1c4
Core/Logs: Log full guid instead of just low guid, part 2
2020-04-05 19:10:58 +02:00
Giacomo Pozzoni
468ecb7252
Core/Logs: Log full guid instead of just low guid
2020-04-05 19:10:57 +02:00
ForesterDev
5d70f6ccd4
Core/Packets: update & enabled CMSG_SHOWING_CLOAK, CMSG_SHOWING_HELM ( #24394 )
...
(cherry picked from commit a47d57d1db )
Co-authored-by: DJScias <zumbak04@gmail.com >
2020-04-04 18:34:43 +02:00
Shauren
f7a67099d4
Core/DBLayer: Prevent mixing databases with query holders
...
(cherry picked from commit 13440434c3 )
# Conflicts:
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
2020-03-31 13:42:01 +00:00
Shauren
635b8d52d5
Core/DBLayer: Prevent committing transactions started on a different database
...
(cherry picked from commit f6e2b8cdc1 )
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/database/Database/DatabaseWorkerPool.cpp
# src/server/database/Database/DatabaseWorkerPool.h
# src/server/database/Database/Implementation/HotfixDatabase.h
# src/server/database/Database/MySQLConnection.h
# src/server/database/Database/Transaction.cpp
# src/server/database/Database/Transaction.h
# src/server/game/Achievements/AchievementMgr.cpp
# src/server/game/Achievements/AchievementMgr.h
# src/server/game/AuctionHouse/AuctionHouseMgr.cpp
# src/server/game/AuctionHouse/AuctionHouseMgr.h
# src/server/game/BattlePets/BattlePetMgr.cpp
# src/server/game/BattlePets/BattlePetMgr.h
# src/server/game/BlackMarket/BlackMarketMgr.cpp
# src/server/game/BlackMarket/BlackMarketMgr.h
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Item/Item.h
# src/server/game/Entities/Player/CollectionMgr.cpp
# src/server/game/Entities/Player/CollectionMgr.h
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Entities/Player/Player.h
# src/server/game/Garrison/Garrison.cpp
# src/server/game/Garrison/Garrison.h
# src/server/game/Groups/Group.cpp
# src/server/game/Guilds/Guild.cpp
# src/server/game/Guilds/Guild.h
# src/server/game/Guilds/GuildFinderMgr.cpp
# src/server/game/Handlers/BlackMarketHandler.cpp
# src/server/game/Handlers/CalendarHandler.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/MailHandler.cpp
# src/server/game/Handlers/PetHandler.cpp
# src/server/game/Handlers/PetitionsHandler.cpp
# src/server/game/Mails/Mail.cpp
# src/server/game/Pools/PoolMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.h
# src/server/game/Scenarios/InstanceScenario.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
# src/server/game/Spells/SpellHistory.cpp
# src/server/game/Support/SupportMgr.cpp
# src/server/game/Tools/PlayerDump.cpp
# src/server/scripts/Commands/cs_misc.cpp
2020-03-31 13:42:01 +00:00
Shauren
fe1003bdbd
Core/DBLayer: Prevent using prepared statements on wrong database
...
(cherry picked from commit e8e89f58fb )
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/bnetserver/Server/Session.cpp
# src/server/database/Database/DatabaseWorkerPool.cpp
# src/server/database/Database/Implementation/HotfixDatabase.h
# src/server/database/Database/MySQLConnection.cpp
# src/server/database/Database/MySQLConnection.h
# src/server/database/Database/PreparedStatement.cpp
# src/server/database/Database/PreparedStatement.h
# src/server/database/Database/QueryHolder.cpp
# src/server/database/Database/SQLOperation.h
# src/server/database/Database/Transaction.h
# src/server/game/Accounts/BattlenetAccountMgr.cpp
# src/server/game/Achievements/AchievementMgr.cpp
# src/server/game/AuctionHouse/AuctionHouseMgr.cpp
# src/server/game/AuctionHouseBot/AuctionHouseBot.cpp
# src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
# src/server/game/BattlePets/BattlePetMgr.cpp
# src/server/game/Battlegrounds/ArenaTeam.cpp
# src/server/game/BlackMarket/BlackMarketMgr.cpp
# src/server/game/Chat/Channels/Channel.cpp
# src/server/game/Entities/Corpse/Corpse.cpp
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/GameObject/GameObject.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Pet/Pet.cpp
# src/server/game/Entities/Player/CollectionMgr.cpp
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Garrison/Garrison.cpp
# src/server/game/Globals/ObjectMgr.cpp
# src/server/game/Groups/Group.cpp
# src/server/game/Guilds/Guild.cpp
# src/server/game/Guilds/GuildFinderMgr.cpp
# src/server/game/Guilds/GuildMgr.cpp
# src/server/game/Handlers/AuctionHouseHandler.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/ItemHandler.cpp
# src/server/game/Handlers/MailHandler.cpp
# src/server/game/Handlers/MiscHandler.cpp
# src/server/game/Handlers/PetitionsHandler.cpp
# src/server/game/Handlers/SpellHandler.cpp
# src/server/game/Handlers/TicketHandler.cpp
# src/server/game/Loot/Loot.cpp
# src/server/game/Mails/Mail.cpp
# src/server/game/Maps/Map.cpp
# src/server/game/Movement/Waypoints/WaypointManager.cpp
# src/server/game/OutdoorPvP/OutdoorPvP.cpp
# src/server/game/Pools/PoolMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
# src/server/game/Reputation/ReputationMgr.cpp
# src/server/game/Scenarios/InstanceScenario.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSocket.cpp
# src/server/game/Spells/SpellHistory.cpp
# src/server/game/Support/SupportMgr.cpp
# src/server/game/Tools/PlayerDump.cpp
# src/server/game/World/World.cpp
# src/server/scripts/Commands/cs_account.cpp
# src/server/scripts/Commands/cs_ban.cpp
# src/server/scripts/Commands/cs_battlenet_account.cpp
# src/server/scripts/Commands/cs_group.cpp
# src/server/scripts/Commands/cs_lfg.cpp
# src/server/scripts/Commands/cs_list.cpp
# src/server/scripts/Commands/cs_message.cpp
# src/server/scripts/Commands/cs_misc.cpp
# src/server/scripts/Commands/cs_npc.cpp
# src/server/scripts/Commands/cs_tele.cpp
# src/server/scripts/Commands/cs_wp.cpp
# src/server/shared/DataStores/DB2DatabaseLoader.cpp
# src/server/shared/Realm/RealmList.cpp
2020-03-31 13:42:01 +00:00
ForesterDev
58313fc330
Core/PacketIO: update cinematic packets to new system. Implement CMSG_OPENING_CINEMATIC and CMSG_COMPLETE_MOVIE ( #24135 )
...
* Server/PacketIO: Enable SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE.
* Update SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE to new Format.
Signed-off-by: AriDEV <aridev666@gmail.com >
# Conflicts:
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Server/Packets/MiscPackets.cpp
# src/server/game/Server/Packets/MiscPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
* Core/Scripts: Add server-side script support for movie completion (#18308 )
# Conflicts:
# src/server/game/Entities/Player/Player.h
# src/server/game/Handlers/MiscHandler.cpp
# src/server/game/Scripting/ScriptMgr.h
# src/server/game/Server/Packets/MiscPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/WorldSession.h
* Core/PacketIO: CMSG_COMPLETE_CINEMATIC, CMSG_NEXT_CINEMATIC_CAMERA and enabled some opcodes
# Conflicts:
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/WorldSession.h
* Core/Protocol: Implemented CMSG_OPENING_CINEMATIC
# Conflicts:
# src/server/game/Handlers/GuildHandler.cpp
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/WorldSession.h
* fix build
Co-authored-by: Krudor <erikstrandberg93@hotmail.com >
Co-authored-by: MitchesD <majklprofik@seznam.cz >
Co-authored-by: Kaelima <kaelima@live.se >
2020-02-08 20:37:34 +01:00
Ujp8LfXBJ6wCPR
76831f1f46
Use boost::optional and boost::none instead of smelly pointer ( #24134 )
...
* Remove bad pointer usage from CharacterCache
Use TrinityCore Option type instead which is intended for this purpose. (Wrapper around boost::option until C++17 bump is finalised)
* Unify codestyle regarding TC optional type
Based upon advice from @Shauren
2020-02-08 20:29:18 +01:00
Aokromes
ed93932537
New year
...
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
ForesterDev
c44fb37f74
Core/Unit: Implement more helper methods ( #23555 )
2019-07-05 14:07:35 +02:00
ForesterDev
b47bb59e2a
Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender ( #23520 )
...
* Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender and fix some cases, where we should get player gender, instead of modified by display gender
* fix merge
* Add virtual methods for Unit class
2019-07-02 10:17:02 +02:00
ccrs
401777d024
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()
2019-07-01 21:36:32 +02:00
Wyrserth
e906a2fe7d
Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes ( #23398 )
...
* Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes.
* Add #23396 to make testing easier.
* Prioritize assistants in raids.
* Fix dumb mistake and apply suggested change, thanks VincentVanclef and jackpoz!
2019-06-15 14:19:58 +02:00
Treeston
fcfcb0eb6f
Happy New Year, folks. It's 2019!
2019-01-01 15:45:25 +01:00
Treeston
7bc16e2ee6
Core/Unit: Erm, so it turns out that releasing your spirit actually never set your death state to DEAD. It stayed as CORPSE. That's wrong, of course, but we didn't notice because zombie corpses (see f50a8e5).
...
Zombie corpses are gone, so now it caused a bug. That's fixed too. Closes #21873 . (Finally.)
2018-09-12 15:28:03 +02:00
Keader
26a444719b
Core/Handlers: Fixed Equipament Manager (for real this time)
2018-04-29 11:25:18 -03:00
Keader
5a22467912
Core/Handlers: Fixed a Equipament Manager typo
2018-04-25 18:21:16 -03:00
Keader
dec75903cf
Core/Handlers: Fixed equipament manager with empty slots. Yes kids, dont use drugs !
...
Followup: 42be04898c
2018-04-24 21:18:07 -03:00
Shauren
9617778336
Core/Players: Greatly simplifiy fdb2b90685
2018-04-11 00:05:59 +02:00
Shauren
fdb2b90685
Core/Players: Prevent creating characters with duplicate name by reserving name early in the process
...
Closes #21656
Closes #21809
2018-04-10 20:57:34 +02:00