Commit Graph

140 Commits

Author SHA1 Message Date
CraftedRO
e79228533e Core/Spells: Updates autoshoot spell target in case of client-side target change (#30695) 2025-03-13 12:27:01 +01:00
Shauren
8565ba9876 Core/PacketIO: Converted BattlegroundPackets to classes 2025-02-09 21:08:35 +01:00
ModoX
7e28ee4421 Core/Conditions: Added conditions for AreaTriggers (AreaTrigger.dbc) (#27174)
Cherry-picked from 6ebd592
2024-01-26 22:31:08 +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
Shauren
d611925dc7 Core/Units: Reduce differences between branches part 1 - unit updatefield accessors 2022-03-29 11:30:49 +02:00
Chaouki Dhib
2d114ea560 Core/Movement: Improve client control logic (#26348) 2021-05-16 13:16:08 +02:00
Maks Szokalski
41188eb535 Add "On" to some gossip methods in AI (#25415)
* Add "On" to some methods

* Update npc_innkeeper.cpp

* Update zone_borean_tundra.cpp
2020-09-10 16:57:11 +02:00
Giacomo Pozzoni
07fd84b679 Core/Misc: Fix static analysis issues (#25194) 2020-08-04 11:36:47 +02:00
NoName
9fe6756cf2 Core/PacketIO: Updated corpse related packet structures (#24922)
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Handlers/QueryHandler.cpp
#	src/server/game/Maps/MapManager.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/QueryPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.h

* + For SMSG_DEATH_RELEASE_LOC
G3D::Vector3 -> TaggedPosition<Position::XYZ>
+ removed non 3.3.5 packets

Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
Co-authored-by: Mogadischu <cgnad@live.de>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-07-14 23:15:33 +02:00
Peter Keresztes Schmidt
c92950b3e1 Core/DataStores: Update DBC field names to generated ones (#24999) 2020-07-12 15:36:55 +02:00
NoName
1680f2221e Core/Misc: Sync some funcion names with master (#24683) 2020-05-24 21:56:34 +02:00
NoName
2efaf1dda8 Entities/Player: Restore old checks for UpdatePvPFlag (#24372)
Partly revert 671052575a
+ implemented timer reset to 300s after relog never worked, therefore removing that part;
+ reverting other parts with 300s timer changes, as not needed;
2020-05-24 20:35:34 +02:00
ForesterDev
84dad1b29b Core/Packets: updated CMSG_PLAYED_TIME, SMSG_PLAYED_TIME (#24674)
(cherry picked from commit 50b4a3a707)

# Conflicts:
#	src/server/game/Server/Packets/CharacterPackets.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/scripts/Northrend/Nexus/Nexus/nexus.h

Co-authored-by: MitchesD <majklprofik@seznam.cz>
2020-05-21 14:55:30 +02:00
ForesterDev
5eaf68670a Core/PacketIO: Updated logout opcodes (#24519)
(cherry picked from commit f59a701e29)

# Conflicts:
#	src/server/database/Database/Implementation/LoginDatabase.cpp
#	src/server/database/Database/Implementation/LoginDatabase.h
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.h
#	src/server/game/Server/Packets/CharacterPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/game/Server/WorldSocket.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-05-10 14:37:44 +02:00
ForesterDev
332b2f1f53 Core/PacketIO: updated CMSG_TOGGLE_PVP opcode (#24476)
* Core/PacketIO: updated CMSG_TOGGLE_PVP opcode

* Use Optional<T>.
Restore ApplyModFlag() code.

* Fix no-pch build

Co-authored-by: jackpoz <giacomopoz@gmail.com>
2020-04-26 22:10:07 +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
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
3c8622dd83 Core/PacketIO: updated spell "cancel" opcodes to new packet class (#24342)
CMSG_CANCEL_CAST, CMSG_CANCEL_AURA, CMSG_PET_CANCEL_AURA,CMSG_CANCEL_GROWTH_AURA, CMSG_CANCEL_MOUNT_AURA, CMSG_CANCEL_AUTO_REPEAT_SPELL and CMSG_CANCEL_CHANNELLING.
2020-03-30 17:21:40 +02:00
ForesterDev
c2a76efdca Core/Packets: Added SMSG_WORLD_STATE_UI_TIMER_UPDATE (#24312)
(cherry picked from commit 7d88f8c491)

# Conflicts:
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
2020-03-30 17:20:09 +02:00
Shauren
425f588525 Core/PacketIO: Updated and enabled CMSG_WORLD_TELEPORT (GM opcode)
(cherry picked from commit 7632e11825)
2020-03-12 17:10:13 +01: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
Aokromes
ed93932537 New year
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
Shauren
267bdde323 Core/PacketIO: Restrict CMSG_STANDSTATECHANGE to only allow the same stand states that client can send by itself 2019-10-27 11:15:15 +01:00
Giacomo Pozzoni
ed08754663 Core/Misc: Fix static analysis issue
Fix static analysis issue
2019-09-25 11:44:08 +02:00
Artamedes
6ebe1afeec Core/Handlers: Handle CMSG_REQUEST_PET_INFO - this fixes when you /reload and the pet bar disappears (#23762) 2019-09-04 08:41:18 +02:00
Treeston
671052575a Entities/Player: Properly restore PvP-enabled state on login 2019-07-08 14:09:57 +02:00
Treeston
396f87c30d Entities/Unit: Cleanup all the direct accesses to m_unitMovedByMe. Refactor the field to be protected. Add assertions to catch dangling pointers. 2019-06-23 16:44:37 +02:00
Chaouki Dhib
975f1e364a Core/Movement: Add time synchronisation (#18189) 2019-04-15 23:31:25 +02:00
Chaouki Dhib
f9ed72e351 Core/Movement: Implement move time skipped handler (#22994)
* Implement CMSG_MOVE_TIME_SKIPPED handler and move it to MovementHandler.cpp

* Add better error handling

* Update MovementHandler.cpp
2019-02-02 21:15:19 +01:00
Treeston
fcfcb0eb6f Happy New Year, folks. It's 2019! 2019-01-01 15:45:25 +01:00
ariel-
c099174ff7 Core/Misc: fix some /W4 warnings and some reported by GCC 6.3 2018-01-22 23:55:33 -03:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
jackpoz
12701cb0c6 Core/Misc: Replace time(NULL) with GameTime::GetGameTime() 2017-12-24 22:50:59 +01:00
Aokromes
c5a3ec667f Core/Misc: Fix build on CentOS
By Nayd. Closes #20413
2017-10-26 00:04:57 +02:00
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
ariel-
f913f3bb89 Core/Scripts: unified scripted gossip/quest api
- Changed self-accessor on GameObjectAI to "me", like UnitAI
- Moved all related functions to AI, now Unit and GameObject have the same function names with identical behaviour
- Remove "OnUpdate" from CreatureScript/GameObjectScript, was never used and we already have AI Update method
- Quest methods no longer return a bool, the return value was used to call the AI version if the ScriptMgr one returned false
- Implemented GameObjectAI::Destroyed hook (was never called), implemented Damaged method
- Rename OnStateChanged to OnLootStateChanged to reflect when it's really called, and created a new hook OnStateChanged that only gets called on GOState change
- Since the functions are now only getting called from AI, made GetAI methods full virtual. (CanSpawn method is anyways going to be used on creatures with AI)
2017-05-01 18:19:36 -03:00
Aokromes
0999ef0b77 Core/Scripts: Add support for spawn specific C++ scripts
By Krudor
2017-03-26 13:32:28 +02:00
xinef1
7567cafec8 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world
2017-03-01 22:19:25 -03:00
xinef1
14dfc377b4 Core/Misc: Various crash fixes (#19059)
* Replaced some FindPlayer calls with GetPlayer
Fixed some more crashes

* Correction
2017-02-05 23:42:31 +01:00
xinef1
88f746935f Remade who list processing (#18636)
* Remade who list processing, requests are now processed in maps. Player entries are now copied every 5 seconds to dedicated storage (avoids usage of hashmapholder mutex)
2017-01-29 00:59:17 -03:00
joschiwald
62b62ddd63 Core/Packets: updated some contactlist packets
(cherry picked from commit e01bb91887)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Player/SocialMgr.cpp
	src/server/game/Entities/Player/SocialMgr.h
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Server/Packets/MiscPackets.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Server/Protocol/Opcodes.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.h
2017-01-25 23:36:24 -03:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Shauren
618cf0e1c2 Core/Units: Cleanup hardcoded magic numbers for byte field offsets
(cherry picked from commit ac1dc758b9)
2016-12-15 08:16:01 -03:00
SnapperRy
b60db6c44e Core/Wintergrasp: fix leaving Wintergrasp via the minimap button. 2016-10-04 19:13:11 +02:00
SnapperRy
1e2d55acf0 Core/Log: move an error to DEBUG level.
Prevents console spam in case of players canceling the cinematic at characters' first login.
2016-09-29 21:36:47 +02:00
joschiwald
5615645b6b Core/Logging: removed useless log message
(cherry picked from commit b0c8a9411e)

# Conflicts:
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/QueryHandler.cpp
#	src/server/game/Handlers/TaxiHandler.cpp
2016-08-27 15:35:42 +02:00
Treeston
8deda7ed7f Entities/Unit: Cleanup refactor. Changes: (#17819)
+ Unit::m_movedPlayer -> Unit::m_playerMovingMe
+ Player::m_mover -> Player::m_unitMovedByMe
+ Unit::GetMover() -> Unit::GetUnitBeingMoved()
+ Unit::GetPlayerMover() -> Unit::GetPlayerBeingMoved()
+ NEW: Unit::GetClientControllingPlayer()
2016-08-20 12:43:04 +02:00
r00ty-tc
de918a0f64 Core/Maps - Improvements to Cinematic function
- Moves to own class for reading, storage and player subclass
 - Proper destruction handling for player (ensure cinematic is ended)
 - Timeout for cinematic if it reaches past the end without completing
 - boost::filesystem::path used for path/filename transform
 - Correct for assert trigger under certain circumstances
 - Other changes previously suggested
2016-05-11 11:56:25 +02:00
Incorrect
1aa30d3cce Core/Spells: Fixed overwriting summon requests
Closes #17049
2016-05-01 12:31:55 +02:00