Commit Graph

14056 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