Commit Graph
100 Commits
Author SHA1 Message Date
Treeston da8a66a05e Common/Util: Trinity::StringTo<double> support (PR #25364)
(cherry picked from commit f45aa5cac1579e87cbc599ffb58e10e662066792)
2022-02-04 23:50:25 +01:00
Treeston 0d54a5ecb4 Core/Misc: Add support for custom link colors. Clean-up hyperlink validation, no more long-ass defines. Remove UI.ShowQuestLevelsInDialogs.
(cherry picked from commit eaf8fa75a1c76131ecbf2585db6d6236b7334b8e)
2022-02-04 23:49:59 +01:00
Treeston c4b287c7bf Core/Misc: DBC std::array refactors, and |Hachievement unit tests
(cherry picked from commit 3fbbe7cfbe1bc51db12bdc1ec7b21c16d1716366)
2022-02-04 23:37:29 +01:00
Treeston c82b107b6b UnitTests: Add a first set of item hyperlink tests
(cherry picked from commit 5394b2ef0f1c7b48e8886257b93698358abb575f)
2022-02-04 22:11:42 +01:00
Treeston 627ff1587d UnitTests: Add basic hyperlink unit test
(cherry picked from commit 86e6438008cf5179a2ff3b22c2e0459ee7aaa20c)
2022-02-04 21:33:27 +01:00
Treeston 03fd9b038e Core/Chat: Correct Hyperlink validation for incomplete achievements.
(cherry picked from commit fdcb1c8b2e142acc012f2ecb2ece082302e8fb15)
2022-02-04 21:27:25 +01:00
Treeston a65e7e0213 Scripts/Commands: Fix a crash in .help - closes #25360
(cherry picked from commit 944f49d61355926e0d9e5c2d16eb4ad1af03d13c)
2022-02-04 21:21:40 +01:00
Treeston 45e9e94311 Core/ChatCommands: C++17 cleanup (again) (PR #25323)
(cherry picked from commit 2f7d2ef3e979ecd0536f3a3713e56c8e59652a47)
2022-02-04 21:21:17 +01:00
Treeston 2aaebc193c UnitTests: Cleanup + StringConvert/ChatCommand tests (PR #25353)
(cherry picked from commit 8ce3635d39dbdd101ddf180a66c483162df99c04)
2022-02-04 13:03:29 +01:00
Treeston 1303ca0e7e Common/Utilities: Make StringTo<bool>'s signature match that of the other integral types, making for easier templating. Default behavior unchanged.
(cherry picked from commit f54cec4db7c67b623383c140159e1171876ace89)
2022-02-04 12:06:26 +01:00
Treeston 9f97fdd31a Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)
(cherry picked from commit 534a2388b7c662c8796aabb1ec8cb424879799b6)
2022-02-04 00:27:14 +01:00
Treeston 6e45c371c4 Common/Utilities: Properly read std::from_chars documentation and check for out_of_range errors.
(cherry picked from commit 7478c2c65aea853a2086c9c7ecc56c14ad6ee338)
2022-02-04 00:27:14 +01:00
Treeston be9dadc189 Common/Utilities: Centralize string -> T conversion in StringConvert.h (PR #25335)
(cherry picked from commit cd30e0b86ce6ee88386a91cebdf353fc55805c57)
2022-02-04 00:27:13 +01:00
Treeston 7b88fd607e Core/Warden: Ensure Warden packets do not exceed 512 bytes. This should rectify random Warden timeouts.
(cherry picked from commit 7cc027401e4a2837872db54c835a4ed1a98e4a03)
2022-02-04 00:27:13 +01:00
Treeston cfcfe71097 Build: Add Clang version guard to CMake (PR #25324)
(cherry picked from commit 27b1930d97d541c241655d8b820cbaebe6eec44e)
2022-02-04 00:27:13 +01:00
Treeston 03b5c17863 Common/Utilities: Move EnumUtils' implementation struct from Trinity::Impl to Trinity::Impl::EnumUtilsImpl. This avoids confusing name clashes for other implementations in sub-namespaces of Trinity::Impl.
(cherry picked from commit 91744de3162bab23d7c5a0dd65fc8b4249eb803a)
2022-02-04 00:27:12 +01:00
Treeston 0473beff2b Core/Misc: std::string -> std::string_view in a bunch of places, notably chat commands and Util.h
(cherry picked from commit a41bbd9ad9adedb15c7133bdef1575a6ec0eb1ab)
2022-02-04 00:27:12 +01:00
Treeston 6303fbc449 Core/Misc: Update worldserver.conf.dist to match actual defaults.
(cherry picked from commit d717b9dc3e0a25fc0c6f7d55e08740e295697c67)
2022-02-04 00:27:11 +01:00
Treeston c6582096ab Core/Warden: Add Lua checks to Warden (PR #25286)
(cherry picked from commit 0531463a3c02d98ed77e9c7689ad7237ecaddc09)
2022-02-04 00:27:11 +01:00
Treeston 669b6bea21 Core/Warden: Ignore the length value in the database for MEM_CHECK checks. Hi there Aokromes.
(cherry picked from commit fc32c3fd3b2e91702a41798ef962cbc8475c8584)
2022-02-04 00:27:11 +01:00
Treeston 15d75dea10 Core/Warden: More refactors lifted from #25286.
(cherry picked from commit a3971ca4b05e2913850b6d4fe7d40884fa645fa0)
2022-02-04 00:27:11 +01:00
Treeston 317bb198b1 Core/Warden: Some Warden refactors lifted from #25286.
(cherry picked from commit 5b4288f05f7e2360bcdc80872787ee2e7a7a2f56)
2022-02-04 00:27:11 +01:00
Treeston eaa3c7e5a0 Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent
(cherry picked from commit f04f4e91ff3afbf89f30659b85e8593c3206138e)
2022-02-02 22:47:55 +01:00
Treeston e0ddc676d6 Scripts/Commands: Move .debug asan command bodies inside #ifdef ASAN
(cherry picked from commit e18f7aaa4d1bc9f6ad4b524c25fd3f111493b774)
(cherry picked from commit 0b13fc192698f65cc6e338ef92c22d4d783281b9)
(cherry picked from commit 5ecbe93f7d75ea3c4808ce45ccc7d14e1d42b26b)
2022-02-02 21:27:52 +01:00
Treeston 673521bc87 Core/ChatCommands: Move Trinity::ChatCommands::Variant from boost::variant to std::variant (for real this time)
(cherry picked from commit ffc3e355fe2adfe48d37759091a537b699b12753)
2022-02-02 20:49:42 +01:00
Treeston d297f65df2 Core/DB: Move every gameobject that uses the spawntimesecs < 0 hack into the legacy spawn group
(cherry picked from commit b74dc4754d8c1edb81e9564beea1783bdd39d87c)
2022-01-26 22:14:24 +01:00
Treeston 319ddd9bcd Core/Warden: Warden refactors (PR #25235)
(cherry picked from commit 6116e5b38522ccfb00f6c941c75482e05b4c0799)
2022-01-26 19:42:11 +01:00
Treeston 7603dacc64 Core/Authserver: Deprecation of sha_pass_hash (PR #25138)
see also #25157

(cherry picked from commit 44a3aad0af4bdd132b8761761dc83df2d7d6c601)
2022-01-26 16:21:43 +01:00
Treeston fa8ab6eb98 Core/Common: Move old-style pointer+size HexStr methods to Trinity::Impl where they can't hurt anyone
(cherry picked from commit 7b8b999516a824b0c417631a77f133eb47b8b2f4)
2022-01-26 14:36:42 +01:00
Treeston 23ad14526c Core/Common: Allow config settings to be loaded as optional (PR #25137)
If the config setting is not present, returns the default without issuing a warning.

(cherry picked from commit 5ad064976edfc931cdda6faffe723d7c3dfb0ae4)
2022-01-24 15:08:46 +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 896b68d5c297b06587645caebc98b704978ecaa7)
2022-01-23 21:36:03 +01:00
Treeston a6332f5dec Core/Misc: C++17 cleanups, commit 3, the header commit
(cherry picked from commit ca0c50bc450f5259acc6af0f4123690969b7e9cb)
2021-12-24 00:37:25 +01:00
Treeston ea0aa63d96 Core/Misc: C++17 cleanups, commit 2, the advstd commit
(cherry picked from commit 857f8d9231d148d4f2def9c83548b40059923029)
2021-12-24 00:37:21 +01:00
Treeston 632609b897 Core/Misc: C++17 cleanups, commit 1
(cherry picked from commit ac9004a2f9fa7af7c7735168e7bc5c08d6cacca7)
2021-12-24 00:34:10 +01:00
Treeston fdcef115e0 Core/Chat: Add SpellInfo const* handler for command args. Use it to update .cast <spellId/link> <triggered>.
(cherry picked from commit 7ac6ccb36ba6ffba542f3e9a60bca4d9e6a6b84d)
2021-12-24 00:34:08 +01:00
treeston ee5c0e5372 Core/Chat: Disallow hyperlinks from being inserted in various guild-related freetext fields (the client already blocks this)
(cherry picked from commit 01b2ac3ed425a3f94480c2b8a453c62ae30f6708)
2021-12-23 21:09:24 +01:00
Treeston 94a79bac7a Core/Misc: Some refactoring, #23603 prep: (#23676)
- Split SpawnMetadata off from SpawnData
- No longer allocate Creature/Gameobject objects in ObjectGridLoader just to check their typeid and delete them afterwards

Co-authored-by: Giacomo Pozzoni <[email protected]>
(cherry picked from commit 9304e496cbf6ab6c028671fb8526c732ae5d799f)
2021-12-21 15:16:26 +01:00
Treeston 12f9423efa Common/Encoding: fix Base32 alphabet (oops)
(cherry picked from commit e457b77b4b8d8fcb8dcb916170e3b40273f0b966)
2021-12-19 01:46:30 +01:00
Treeston 0bffed380d Scripts/ICC: Professor Putricide no longer tries to add threat on units it cannot add threat on because of immunity flags. Instead, its AI manually controls the engagement state. Should close #23727.
(cherry picked from commit 23fd193e4e489bb5f231653987e98ba24448832b)
2021-12-18 21:31:31 +01:00
Treeston 97bf9278a8 Entities/Creature: Fix an edge case assertion failure with pets dying in specific situations while casting spells.
(cherry picked from commit 6590a0bfcefe7b8e5f87c82ba5ab4df2c72be418)
2021-12-18 20:31:57 +01:00
Treeston e0e1978b08 Entities/Player: ReacquireSpellFocusTarget is now private. It should've been private all along.
(cherry picked from commit 1c2b1cbba82fcd523ccd0cceafe532f35d71dcc1)
2021-12-18 20:29:29 +01:00
Treeston 4b588694ca Core/Creature: Fix an issue that sometimes prevented spellcast focus targets from being reacquired.
(cherry picked from commit fcce90508d899641494d7c281a0e08e411a0d5ab)
2021-12-18 20:29:05 +01:00
Treeston 0b61c3b7b1 [3.3.5] Core/Authserver: TOTP rewrite: (PR #23633)
- Proper management commands (.account 2fa)
- Secrets can now be encrypted (set TOTPTokenSecret in .conf)
- Secret now stored in binary
- Argon2 and AES primitives
- Base32/64 support

(cherry picked from commit 4211645834c467a03c60248e80818d3607be9ea7)
2021-12-18 20:24:50 +01:00
Treeston f434241305 Core/Channels: Fix a bug that would cause channel settings to disappear in certain settings. Fix a bug that would cause channels to not be saved on .server shutdown without delay. Closes #23699.
(cherry picked from commit 464b0b059b5ccb7db6d2f282937711032005b5c3)
2021-12-18 19:16:47 +01:00
Treeston 7704d8fc7a Scripts/Commands: Add .go boss, and do a usability pass over .go instance to match it.
(cherry picked from commit 57b36dfdc6b077cc4eba29406e3ded4dbf9f8ce6)
2021-12-18 16:13:24 +01:00
Treeston c7e7c52c1a Scripts/Commands: Cleanup some output from .go instance
(cherry picked from commit 4320a021e93423122745684e2689aa1a7028f8b4)
2021-12-18 16:00:20 +01:00
Treeston dcf9854e6a coverity
(cherry picked from commit 268384d2af505964a422552f5684a502d6814194)
2021-12-18 15:49:44 +01:00
Treeston a8ceed265a typo fix in comment
(cherry picked from commit 4fcb322010edb6a80fa08e633ce331f80410f301)
2021-12-18 15:47:18 +01:00
Treeston 28942db431 Common/Util: Sorry about that unexpected downtime at 3AM last night, everyone. (We call them happy little features.)
(cherry picked from commit a4d5b24874e7f6f09efc69119785c7c9113870b4)
2021-12-18 15:33:44 +01:00
Treeston 51fbda4223 Core/Pooling: Quest pooling rewrite: (PR#23627)
- Split quest pooling from PoolMgr (into QuestPoolMgr)
- Proper saving/restoring on server restart
- No more hacking into sObjectMgr to insert/remove available quests

(cherry picked from commit a5e73e41c0e813e674bb0a644e0052052435494e)
2021-12-18 15:28:45 +01:00
Treeston a90073dadd no idea what happened there (4a219ed follow-up)
(cherry picked from commit b159921099e3d10fbe282d9496b9ffb56f28f16d)
2021-12-18 11:37:33 +01:00
Treeston a18268156a Core/Chat: Always save channel info to database on shutdown if persistence is enabled.
(cherry picked from commit 2d74652b5bfb4455791ff872fac13fb0f6bcc02a)
2021-12-18 11:37:14 +01:00
Treeston 14c38a1c52 Core/Unit: Spell focusing now no longer nonsensical. HasSpellFocus always const. Error logs for various stuff.
(cherry picked from commit 4a219eda07c353139608065f7d0a016094ee4ce0)
2021-12-18 11:36:50 +01:00
Treeston 82d62a3d4c This is not the critical chat system bug fix you were looking for. No sir. (Oops.)
(cherry picked from commit 6a330214a112460f4e492135e76f1277328af406)
2021-12-18 11:27:02 +01:00
Treeston 87c2d247d9 Core/Misc: Rewrite some old name handling functions that use raw buffers to no longer be old name handling functions that use raw buffers.
(cherry picked from commit 309851ea2442457c87f791bb44abfa89e04af1af)
2021-12-18 11:25:59 +01:00
Treeston 3db58c4d96 Core/SmartAI: SmartAI creatures no longer process health-based hooks after death.
(cherry picked from commit 1faa54fe8b2690507e4177a9a7373c0b24855291)
2021-12-18 00:03:55 +01:00
Treeston 87786b1ebc Scripts/Hyjal: Seriously, who calls EnterEvadeMode in a AI constructor????
(cherry picked from commit c444cb17e10e118e704012e23c86e1b47f94031b)
2021-12-17 23:57:18 +01:00
Treeston 8839fa3fe2 Core/Chat: Custom channel preservation rewrite. Channel data is now loaded at startup, and written to the DB periodically, instead of both things happening in real time.
(cherry picked from commit fedf1f557b2aa1cbb0f4bc722b24afb59cc30855)
2021-12-17 23:22:13 +01:00
Treeston 8c3eb07889 Scripts/FollowerAI: Some cleanup:
- FollowerAI properly resumes follow after evading.
- Removed duplicated getters from CreatureAI (IsEscorted vs IsEscortNPC), they were used to do the same thing
- FollowerAI properly assists in combat.
- FollowerAI properly despawns if quest is abandoned.
- FollowerAI now supports dynamic respawning for escort NPCs.

(cherry picked from commit 3d4bebd8d9210fbb84f8fc75742e248071192b09)
2021-12-17 23:05:55 +01:00
Treeston 4330b7c921 Entities/Unit: fix an unrelated check from doing nothing because somebody didn't understand how type-casting works
(cherry picked from commit 0b722e23cf0cdbd7b9753ffe77b349930c34779e)
2021-12-17 22:54:01 +01:00
Treeston 970a89a8c3 Entities/Unit: Add a missing underflow check to prevent really really low damage from underflowing when paired with flat damage modifiers. Closes #23655.
(cherry picked from commit a8b1b9a3c6266d589afb378f07c505f79c75a6a4)
2021-12-17 22:50:25 +01:00
Treeston 917d9b7621 Scripts/ICC: Prevent Professor Putricide from displaying weird behavior during the Rotface/Festergut encounters as a result of his boss boundary
(cherry picked from commit 7fa990edc6cbae05e8b68da58313fd675ac5fa81)
2021-12-17 22:46:06 +01:00
Treeston 6b1ca0ca12 Core/Combat: Properly unset engagement flag on death.
(cherry picked from commit 9c603ea87f09c47d52f093ccc73ee75c15eff6f5)
2021-12-17 22:45:55 +01:00
Treeston 0c4a2a33fd Core/Misc: Add even more RBAC/Language values I need for #23633.
(cherry picked from commit 5378fc450061a8fe125429925c43b3de22aeaf2b)
2021-12-17 22:42:02 +01:00
Treeston 5bb0cce3a2 Core/Misc: Add RBAC/Language values I need for #23633.
(cherry picked from commit cb690fc7050a92df4940add57abd4b3bf42a277b)
2021-12-17 22:40:34 +01:00
Treeston 2b65dbbeab Core/Misc: Kick a Totem error log upstairs one stack frame to give it access to various debug info and make Aokromes happy.
(cherry picked from commit e813200e5ef3eaade089cb0e8382905c80b6130d)
2021-12-17 22:36:55 +01:00
Treeston 3388cea685 Core/Misc: Remove Trinity::Containers::Size (duplicate of advstd::size)
(cherry picked from commit f1d9a36c5fce23ae9c68e221521a2b492709f8e5)
2021-12-17 21:57:41 +01:00
Treeston 3269c42789 Core/AI: No longer do strange things when told to enter evade mode while there's no need to do so, typically by terrible legacy code.
(cherry picked from commit 163f44c1b08cc043b114585922bd08664434bf92)
2021-12-17 21:50:47 +01:00
Treeston 0e13ed412a Core/Threat: Properly update offline states even if all threat references are offline. Closes #23639.
(cherry picked from commit 55ec3bd73fd2618e4de199c147bbddcb99d11b19)
2021-12-17 21:46:33 +01:00
Treeston 1759502f5d Core/AI: PetAI now properly signals engagement state. Closes #23640.
(cherry picked from commit c3dd67dfbb9877fb547af9cce77606861daeeeca)
2021-12-17 21:46:23 +01:00
Treeston 4c754de7a8 != and == are not the same thing.
(cherry picked from commit 51cf1c7136741696fed9850b73f30cd45cb095a6)
2021-12-17 00:29:31 +01:00
Treeston c6834a1de6 oops, that wasn't supposed to remain there (0e7c66c follow-up)
(cherry picked from commit 81fcd2e2d5cbbb884baea7088d9bf1533ba01f15)
2021-12-17 00:29:21 +01:00
Treeston a4c2c0fb1d Core/AI: No longer override chase movement with follow movement if the creature engages before JustAppeared has had a chance to fire.
(cherry picked from commit 49b04c0fdd03d060d10f91a597857ec9c3d9f4ed)
2021-12-17 00:25:59 +01:00
Treeston c13d83796f Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time.
(cherry picked from commit 0e7c66cb4c7ff7d44e232d0b50703a48605ffd24)
2021-12-17 00:23:33 +01:00
Treeston 611ddfee3c build fix after d1dc0e2
(cherry picked from commit c0f8e8535a025b29557385c95338b642fbda39e8)
2021-12-16 22:16:07 +01:00
Treeston e270351a16 Scripts/Commands: Adjust .list respawns to use enum iteration. Add enum iteration capability to SpawnObjectTypes.
(cherry picked from commit b64834c3f5dd7e1be472950532ce00e70b4601fa)
2021-12-16 21:41:24 +01:00
Treeston 093223d7b4 Core/DB: Add RBAC for .debug poolstatus, because I need it for the pooling branch.
(cherry picked from commit a82bbeb101d64b89d9918ff5cbe4866591f1101b)
2021-12-16 21:20:38 +01:00
Treeston 8b78f50556 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.)

(cherry picked from commit 45bc91c238d04f2e2544622ff29faaf46713d15c)
2021-12-16 21:20:38 +01:00
Treeston 6f6cf975e4 Scripts/Commands: Add .debug questreset to force daily/weekly/monthly quest reset.
(cherry picked from commit 293ba08d21c4e9634229bb5015445ecc0cc08fef)
2021-12-16 21:20:38 +01:00
Treeston bd7aae928e Core/Chat: Properly reload saved channel settings from DB after 8c16f31.
(cherry picked from commit 2c1b87ca298bce37405329b3af0b5e375f4e53ef)
2021-12-16 21:20:38 +01:00
Treeston 9fa5c71409 Core/DB: Add a world state for daily quest reset time to characters. Not used right now, but written to allow easier transition later.
(cherry picked from commit 1277c542638522b210addd22966c32db89cb29b6)
2021-12-16 21:20:38 +01:00
Treeston eee950cdd7 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

(cherry picked from commit d60082ae866d77a12a9e6d09dfce27fc1cb5df90)
2021-12-16 01:33:09 +01:00
Treeston d5e58cef69 Core/Spawns: Exterminate CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY with extreme prejudice. (It didn't work anyway.)
(cherry picked from commit 26440857c1a74031ea0a0234ca0b0fcb09b6bcb0)
2021-12-16 01:18:15 +01:00
Treeston be05590a12 Core/DB: Unify creature_respawn and gameobject_respawn into a single respawn table
(cherry picked from commit 374597c8e96c886f1e3647d405bf3160c8b98bf8)
2021-12-16 01:10:06 +01:00
Treeston ea753efb93 Core/Chat: Rewrite some custom channel handling. Channel creation now properly saves passwords. Closes #23589.
(cherry picked from commit 8c16f318fe072709fc40c61987570dba8f5b6483)
2021-12-16 00:37:01 +01:00
Treeston a69a061d76 Battleground/Arena: Properly check RBAC arena join permission before allowing queue. Closes #23000.
(cherry picked from commit af082664ca8ff76cc8ef1947d6ce76310d65b58b)
2021-12-15 23:31:31 +01:00
Treeston b4b581de1b 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
(cherry picked from commit daf423a6c3c0fdd13e421f02ccd791103f7bdd5b)
2021-12-15 22:48:03 +01:00
Treeston b8c7260bfd typo fix, duplicate assignment
(cherry picked from commit 7d6896b54141c32c51f49f2c3fcd58cd986f0e02)
2021-12-15 22:41:58 +01:00
Treeston 6de4c3cd72 Entities/GO: FindNearestGameObject no longer incorrectly returns despawned gameobjects. Closes #23262.
(cherry picked from commit 4423ca99e7f8c38ff83196134038a7790313ed7a)
2021-12-15 22:40:39 +01:00
Treeston 2799cdc522 Scripts/World: Rewrite air force trigger bots script, add hostility check along the way. Closes #23307.
(cherry picked from commit 0ae2afe307595463df8f4a16fdd1ee9740a11c9e)
2021-12-15 00:17:32 +01:00
Treeston fc9908d163 warning fix f2cd721 follow-up
(cherry picked from commit be96d8242c0b8abf909862a577d04a9f8e18560a)
2021-12-15 00:17:32 +01:00
Treeston 925aaecbc0 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.
(cherry picked from commit a1fd404b64fe46925cf5ab3e3af267ce9ba1badd)
2021-12-15 00:17:32 +01:00
Treeston 9491650401 Scripts/Naxxramas: Thaddius no longer evades on transition, and some general cleanup to that script. Fixes #23026.
(cherry picked from commit f2cd721d5358f7febf36dc757f5e3e9693a6a7b6)
2021-12-15 00:17:32 +01:00
Treeston fdb43e41a8 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.
(cherry picked from commit a3c35262692e2f059785c22f92fce39ffe4dc6ac)
2021-12-15 00:17:32 +01:00
Treeston a5d8807af8 Entities/Player: Properly restore PvP-enabled state on login
(cherry picked from commit 671052575a36624b06379ee5e13a7fea26870194)
2021-12-14 23:31:56 +01:00
Treeston 2532de6acb Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
- .npc respawn no longer causes stupid things to happen (Fixes #23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.

(cherry picked from commit 84b7b2e08ea55575cbe62d795383d4a5341ffd4d)
2021-12-14 22:42:22 +01:00
Treeston 2225cb1201 Entities/Creature: Some asserts are now LOG_ERRORs that block spawning. Fix a group spawning bug exposed by the CoS merge. Improve some command output.
(cherry picked from commit ded18a2690063991d5440df7d3e5d526b884ec16)
2021-12-14 22:24:24 +01:00
Treeston 513b35ea2f Entities/Unit: Properly unset engaged flag for creates that cannot have a threat list on combat exit. Fixes #23518.
(cherry picked from commit f44539b64247ff626c53dc899c4ac3023bf9aa80)
2021-12-14 00:07:37 +01:00
Treeston 096269349c Entities/Player: Fix an edge case where overlapping CCs could prevent player movement from being re-enabled. f6f1c48 follow-up.
(cherry picked from commit 4e767f1c7cd0cae6316982e38be66f560baafea5)
2021-12-14 00:06:51 +01:00
Treeston bba4696de7 Entities/Player: Clean up client control handling behavior around possession. Mind Control should no longer cause various weirdness. Closes #23539.
(cherry picked from commit f6f1c48aa592ea10c99fd23f46e94934b2f0cef2)
2021-12-13 23:44:13 +01:00