Commit Graph

26405 Commits

Author SHA1 Message Date
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 45bc91c238)
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 293ba08d21)
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 2c1b87ca29)
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 1277c54263)
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 d60082ae86)
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 26440857c1)
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 374597c8e9)
2021-12-16 01:10:06 +01:00
Shauren
58fb2ef631 Core/DB: Improved terrible assertion message
(cherry picked from commit eed9267685)
2021-12-16 00:54:53 +01:00
jackpoz
e7b94603f2 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

(cherry picked from commit 7421ccaf7e)
2021-12-16 00:53:58 +01:00
ccrs
1e84edde39 Core/Spells: Port refactors from d1dc0e2dc1
(cherry picked from commit d1dc0e2dc1)
2021-12-16 00:42:21 +01:00
Treeston
ea753efb93 Core/Chat: Rewrite some custom channel handling. Channel creation now properly saves passwords. Closes #23589.
(cherry picked from commit 8c16f318fe)
2021-12-16 00:37:01 +01:00
jackpoz
71b2f8c6ab 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.

(cherry picked from commit 7f3d8c99bb)
2021-12-16 00:15:48 +01:00
Wyrserth
1b7a1c51ae Core/Player: prevent trade system from getting stuck in an invalid state when the LevelReq.Trade config is used.
(cherry picked from commit a54af39e29)
2021-12-16 00:14:52 +01:00
ccrs
49bc6533fd Scripts/ScarletEnclave: 4ee84bb followup
(cherry picked from commit 81475f709f)
2021-12-16 00:11:25 +01:00
ccrs
8c35206bb5 Scripts/ScarletEnclave: 4ee84bb followup
(cherry picked from commit fa9a4ee20d)
2021-12-16 00:10:25 +01:00
ccrs
ef6a5d3c3c Core/Unit: movement related corrections prior to getting Charmed
(cherry picked from commit 294a3a2789)
2021-12-15 23:42:06 +01:00
Wyrserth
3bb61af113 Script/ScarletEnclave: use spline movement for the lauch phase of the Eye of Acherus.
Closes #22802.

(cherry picked from commit 4ee84bbecb)
2021-12-15 23:39:51 +01:00
Treeston
a69a061d76 Battleground/Arena: Properly check RBAC arena join permission before allowing queue. Closes #23000.
(cherry picked from commit af082664ca)
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 daf423a6c3)
2021-12-15 22:48:03 +01:00
Treeston
b8c7260bfd typo fix, duplicate assignment
(cherry picked from commit 7d6896b541)
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 4423ca99e7)
2021-12-15 22:40:39 +01:00
Killyana
4378ad98ab DB/Quest: Seeds of the Blacksouled Keepers
(cherry picked from commit 42abf69a27)
2021-12-15 21:51:07 +01:00
ccrs
16bbc015e7 Core/Weather: 6eecb68 followup
missing IntervalTimer::Update call

(cherry picked from commit 965ec9a571)
2021-12-15 00:17:33 +01:00
Giacomo Pozzoni
ebe436d2c2 Core/ChatCommands: Fix .wp reload crash
(cherry picked from commit e4c2bb4f14)
2021-12-15 00:17:32 +01:00
Wyrserth
755a83f634 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.

(cherry picked from commit e6080116f9)
2021-12-15 00:17:32 +01:00
Treeston
2799cdc522 Scripts/World: Rewrite air force trigger bots script, add hostility check along the way. Closes #23307.
(cherry picked from commit 0ae2afe307)
2021-12-15 00:17:32 +01:00
ccrs
6ae0a6ba22 Core/Movement: add missing parenthesis on MotionMaster::Size
pretty sure this can cause unexpected behaviour

(cherry picked from commit bec52dba3d)
2021-12-15 00:17:32 +01:00
Treeston
fc9908d163 warning fix f2cd721 follow-up
(cherry picked from commit be96d8242c)
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 a1fd404b64)
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 f2cd721d53)
2021-12-15 00:17:32 +01:00
Ianislav Vasilev
fa9683fc68 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.

(cherry picked from commit c71e36acae)
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 a3c3526269)
2021-12-15 00:17:32 +01:00
Sorikoff
a947a0e85e Scripts/Spells: Brittle Armor & Mercurial Shield (#23576)
(cherry picked from commit a64d7df662)
2021-12-15 00:17:32 +01:00
ForesterDev
61cc88731c Scripts/Commands: update .wp commands to use orientation field from DB (PR #23566)
Closes #23330

(cherry picked from commit e71773140c)
2021-12-15 00:17:13 +01:00
Treeston
a5d8807af8 Entities/Player: Properly restore PvP-enabled state on login
(cherry picked from commit 671052575a)
2021-12-14 23:31:56 +01:00
Aokromes
3ad5bc1e15 Core/Misc: More coding standards (#23519)
* Core/Misc: More coding standards

* revert part

* "void  " or more to "void "

* fix? reject

* remove more double whitespaces

* remove more double whitespaces

* more standards

* more coding standards

* More standards

* more coding

* more coding standards

* more coding standards

* And more standards

(cherry picked from commit 574a7c8d3d)
2021-12-14 23:04:29 +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 84b7b2e08e)
2021-12-14 22:42:22 +01:00
ccrs
8be3d33eae Build: fix linking error
/home/circleci/project/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp:50:9: fatal error: use of undeclared identifier 'AddFlag'
        AddFlag(MOVEMENTGENERATOR_FLAG_TIMED_PAUSED);
        ^

(cherry picked from commit ec1a77bca2)
2021-12-14 22:24:34 +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 ded18a2690)
2021-12-14 22:24:24 +01:00
ccrs
f21599dc5d Core/Movement: handle Resume/Pause on RandomMovementGenerator
(cherry picked from commit b8c0aeaf14)
2021-12-14 22:19:40 +01:00
ccrs
ff11e95071 Core/Unit: f869c49 followup
Movement Pause/Clear is already handled in Unit::SetCharmedBy and Unit::RemoveCharmedBy, respectively

TODO: missing PAUSE handling in RandomMovementGenerator
(cherry picked from commit 4fa3c04b72)
2021-12-14 22:19:13 +01:00
Wyrserth
24c07367f1 Core/Vehicle: prevent creature vehicles from following their old movement generator when a player enters them in some cases.
Closes #21731 and #22368.

(cherry picked from commit f869c4969e)
2021-12-14 22:19:01 +01:00
Wyrserth
004602f3e4 Core/Quest: fix icon in gossip window for repeatable, non-autocomplete quests.
Closes #23572.

(cherry picked from commit 9f6d3e93f9)
2021-12-14 22:17:47 +01:00
Shauren
d249a2a98a Warning fixes 2021-12-14 22:15:04 +01:00
Wyrserth
569660a933 Script/TheOculus: adapt Mage-Lord Urom's script to use EventMap, fix various issues with Teleport and Empowered Arcane Explosion, add missing heroic-mode spell Frost Buffet.
Closes #19452.

(cherry picked from commit 37862942ce)
2021-12-14 22:13:56 +01:00
Wyrserth
2efb6b6187 Core/Spell: don't send duration for auras caused by dynobjects.
(cherry picked from commit 1d1b77c3f0)
2021-12-14 22:03:20 +01:00
Wyrserth
756325bc84 Script/BlackrockDepths: randomize timers for Ironhand Guardian's spell Gout of Flame.
(cherry picked from commit 6ef1b3e6c6)
2021-12-14 22:02:52 +01:00
Wyrserth
55611104be Core/Spell: do not allow auras from dynamic objects to stack if they come from the same spell cast by the same caster.
(cherry picked from commit b87350807d)
2021-12-14 22:02:25 +01:00
Wyrserth
2c55730a01 Misc/Config: set decay timer for unlooted normal creatures to 5 minutes.
Now that respawns do not care about the previous corpse's state, there's no reason to force a very frustrating faster despawn.

(cherry picked from commit 1bdbede7e0)
2021-12-14 22:00:53 +01:00
Shauren
776298207a Core/Entities: Regenerate updatefields 2021-12-14 21:26:44 +01:00