Commit Graph

21780 Commits

Author SHA1 Message Date
Wyrserth a4ddb30489 Core/Player: don't send errors to client from Satisfy* methods when Player::CanRewardQuest() is called with msg = false.
Fixes cases where people would get strange errors like "You are not high enough level for that quest" when entering WotLK instances.
2019-07-17 16:11:54 +02:00
Treeston a82bbeb101 Core/DB: Add RBAC for .debug poolstatus, because I need it for the pooling branch. 2019-07-17 15:59:52 +02:00
jackpoz 504e452450 Core/Misc: Fix no-pch build 2019-07-16 19:50:11 +02:00
Treeston 45bc91c238 Core/DB: Merge pool_creature, pool_gameobject and pool_pool into a single pool_members table.
(More pooling prep, I really don't want to have any sql update files in that PR if I can help it.)
2019-07-16 19:22:24 +02:00
Shauren 86b516c3f2 Core/Addons: Fixed Blizzard_* addons insecure lua errors
Closes #23599
2019-07-16 17:10:28 +02:00
Treeston 293ba08d21 Scripts/Commands: Add .debug questreset to force daily/weekly/monthly quest reset. 2019-07-16 15:04:14 +02:00
Treeston 2c1b87ca29 Core/Chat: Properly reload saved channel settings from DB after 8c16f31. 2019-07-16 13:17:45 +02:00
Treeston 1277c54263 Core/DB: Add a world state for daily quest reset time to characters. Not used right now, but written to allow easier transition later. 2019-07-16 12:50:16 +02:00
Shauren c278044739 Core/Authserver: Fixed crash happening when sending packets larger than 4096 bytes (giant realmlist basically)
Closes #23597
2019-07-15 22:28:10 +02:00
Shauren 01124c6f4e Fix clang build 2019-07-15 18:30:17 +02:00
Shauren cd3d317ebf Core/Addons: Improve WorldSession::ReadAddonsInfo
* Only allow built-in addons to be marked as secure
* Better protect against malformed packets
2019-07-15 17:47:35 +02:00
Treeston 37f69825c4 Core/Spells: Spell pushback now only affects players (as it should) 2019-07-15 17:21:40 +02:00
Treeston d60082ae86 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
2019-07-15 17:14:58 +02:00
Treeston 26440857c1 Core/Spawns: Exterminate CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY with extreme prejudice. (It didn't work anyway.) 2019-07-15 15:57:04 +02:00
Treeston 374597c8e9 Core/DB: Unify creature_respawn and gameobject_respawn into a single respawn table 2019-07-14 18:49:38 +02:00
ccrs 6826b8cb2c Build: fix build error
In file included from /home/circleci/project/src/server/game/Entities/Player/Player.cpp:19:
In file included from /home/circleci/project/src/server/game/Entities/Player/Player.h:22:
In file included from /home/circleci/project/src/server/game/Entities/Unit/Unit.h:22:
In file included from /home/circleci/project/src/server/game/Entities/Object/Object.h:22:
In file included from /home/circleci/project/src/common/Common.h:23:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/memory:63:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/allocator.h:46:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/x86_64-linux-gnu/c++/8/bits/c++allocator.h:33:
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/ext/new_allocator.h:136:23: fatal error: no matching constructor for initialization of 'WorldPackets::Spells::ResyncRune'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/alloc_traits.h:475:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<WorldPackets::Spells::ResyncRune>::construct<WorldPackets::Spells::ResyncRune, unsigned char &, unsigned int &>' requested here
        { __a.construct(__p, std::forward<_Args>(__args)...); }
              ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/vector.tcc:103:21: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<WorldPackets::Spells::ResyncRune> >::construct<WorldPackets::Spells::ResyncRune, unsigned char &, unsigned int &>' requested here
            _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
                           ^
/home/circleci/project/src/server/game/Entities/Player/Player.cpp:24611:22: note: in instantiation of function template specialization 'std::vector<WorldPackets::Spells::ResyncRune, std::allocator<WorldPackets::Spells::ResyncRune> >::emplace_back<unsigned char &, unsigned int &>' requested here
        packet.Runes.emplace_back(type, cooldown);
                     ^
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
        struct ResyncRune
               ^
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 2 were provided
1 error generated.
2019-07-14 14:20:39 +02:00
ccrs bbb9d94acc Core/Server: 3785a35 followup 2019-07-14 13:21:49 +02:00
Shauren eed9267685 Core/DB: Improved terrible assertion message 2019-07-14 12:06:43 +02:00
ccrs 3785a35511 Server/Packets: implement SMSG_RESYNC_RUNES packet structure 2019-07-13 18:58:04 +02:00
jackpoz 7421ccaf7e Core/Commands: Add .debug guidlimits <optional map id> chat command
Add .debug guidlimits <optional map id> chat command to show the highest low guid counter for Creature and GameObject, useful when reaching Respawn.GuidWarnLevel
2019-07-13 18:15:39 +02:00
ccrs d1dc0e2dc1 Scripts/DK: correctly handle Blood Tap 2019-07-13 17:57:07 +02:00
Treeston 8c16f318fe Core/Chat: Rewrite some custom channel handling. Channel creation now properly saves passwords. Closes #23589. 2019-07-13 17:44:41 +02:00
jackpoz 7f3d8c99bb Core/Calendar: Fix issue with invite status being set to the wrong invite
Consider the case of Player A inviting Player B to a Calendar Event. After Player B clicks on Accepts/Tentative/Reject, the calendar shows that status for Player A instead.
2019-07-13 12:10:32 +02:00
Wyrserth 5707019256 Core/Player: apply LevelReq.Trade only to the player initiating a trade, aligning it with the other LevelReq.* config options. 2019-07-13 01:08:16 +02:00
Wyrserth a54af39e29 Core/Player: prevent trade system from getting stuck in an invalid state when the LevelReq.Trade config is used. 2019-07-13 00:52:14 +02:00
ccrs 81475f709f Scripts/ScarletEnclave: 4ee84bb followup 2019-07-12 20:38:50 +02:00
ccrs fa9a4ee20d Scripts/ScarletEnclave: 4ee84bb followup 2019-07-12 20:30:52 +02:00
ccrs 294a3a2789 Core/Unit: movement related corrections prior to getting Charmed 2019-07-12 20:06:27 +02:00
Wyrserth 4ee84bbecb Script/ScarletEnclave: use spline movement for the lauch phase of the Eye of Acherus.
Closes #22802.
2019-07-12 19:19:45 +02:00
Treeston af082664ca Battleground/Arena: Properly check RBAC arena join permission before allowing queue. Closes #23000. 2019-07-12 14:14:01 +02:00
Treeston daf423a6c3 Scripts/Commands: .account ban no longer fails if an account containing the specified account name is already banned (f.ex. attempting to ban 'test' if 'test2' is already banned) - closes #22990 2019-07-12 13:37:27 +02:00
Treeston 7d6896b541 typo fix, duplicate assignment 2019-07-12 13:14:44 +02:00
Treeston 4423ca99e7 Entities/GO: FindNearestGameObject no longer incorrectly returns despawned gameobjects. Closes #23262. 2019-07-11 23:31:46 +02:00
Killyana 42abf69a27 DB/Quest: Seeds of the Blacksouled Keepers 2019-07-11 18:32:15 +02:00
ccrs 965ec9a571 Core/Weather: 6eecb68 followup
missing IntervalTimer::Update call
2019-07-10 23:16:58 +02:00
Giacomo Pozzoni e4c2bb4f14 Core/ChatCommands: Fix .wp reload crash 2019-07-10 16:02:18 +02:00
Wyrserth 7f63c504d5 DB/Quest: restore ExclusiveGroup data for breadcrumb quests, as they're mutually exclusive.
Also restore PrevQuestId/NextQuestId error logs involving breadcrumb quests. Special cases must be handled via conditions.
2019-07-10 02:58:30 +02:00
Wyrserth e6080116f9 Core/Quest: remove arbitrary error logs related to breadcrumb quest chaining.
There are complex cases where breadcrumb quests are mutually exclusive with other breadcrumbs leading to other quests, chaining them shouldn't generate log errors.
2019-07-09 22:48:04 +02:00
Shauren 7917704fd3 Scripts: Update boss_akilzon weather packet 2019-07-09 21:52:26 +02:00
Shauren 6eecb685ce Core/Weather: Fixed weather updates to be thread safe
(cherry picked from commit 6eb9973947)
2019-07-09 21:17:59 +02:00
Nayd 9a9af3cc5f Core/Packets: Update and enable SMSG_WEATHER
(cherry picked from commit 6f7d048765)
2019-07-09 21:17:59 +02:00
Treeston 0ae2afe307 Scripts/World: Rewrite air force trigger bots script, add hostility check along the way. Closes #23307. 2019-07-09 18:24:43 +02:00
ccrs bec52dba3d Core/Movement: add missing parenthesis on MotionMaster::Size
pretty sure this can cause unexpected behaviour
2019-07-09 15:25:25 +02:00
Treeston be96d8242c warning fix f2cd721 follow-up 2019-07-08 21:53:50 +02:00
Treeston a1fd404b64 Core/Quest: Do not allow quests to be turned in if the player no longer satisfies level/skill/reputation requirements. Fixes #226. Yes, you read that issue tag right. 2019-07-08 21:35:57 +02:00
Treeston f2cd721d53 Scripts/Naxxramas: Thaddius no longer evades on transition, and some general cleanup to that script. Fixes #23026. 2019-07-08 20:16:29 +02:00
Ianislav Vasilev c71e36acae Scripts/Blood Furnace: Broggok improvements (#23300)
* 23285 Fixed lever respawn and future encounters after it respawns.

* Removed unnecessary additional container.
Made lever not to despawn and respawn but rather change flags only.

* Made one conditional branch easier to debug.
2019-07-08 19:53:08 +02:00
Treeston a3c3526269 Scripts/Outland: Rewrite the Watch Commander Leonus event so it no longer starts exponentially more often if the grid remains loaded for over an hour. Closes #23348. 2019-07-08 16:04:32 +02:00
Sorikoff a64d7df662 Scripts/Spells: Brittle Armor & Mercurial Shield (#23576) 2019-07-08 15:42:35 +02:00
ForesterDev e71773140c Scripts/Commands: update .wp commands to use orientation field from DB (PR #23566)
Closes #23330
2019-07-08 14:16:10 +02:00