Commit Graph
906 Commits
Author SHA1 Message Date
Ovahlord e15fe3378e Core/Scripts: fixed loading world state and battlefield scripts 2022-10-09 01:02:22 +02:00
Shauren 0ba58aeb6e Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-10-08 00:25:32 +02:00
Shauren 6856c1a0be Core/Spawns: Added startup error for incorrect map assignments in instance_spawn_groups 2022-09-23 20:41:31 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Ovahlord edfe82b4a3 Core/Misc: refactored a couple more loops to reduce copies and speeding up things
* silenced a few more msvc suggestions while at it
2022-04-22 22:52:52 +02:00
Ovahlord 8ac7e71690 Core/Spells: implement summon properties parameter types based on the leaked enumerated strings values
Summon spells can now be commanded to interpret their basepoints depending on the parameter type that has been assigned to the summon properties dbc record Id

* implemented SummonCreatureExtraArgs to reduce the amount of arguments in Map::SummonCreature
2021-08-15 10:35:02 +02:00
Ovahlord 280dd50af4 Core/Quests: also check previous quests when checking exclusive groups to allow chaining one quest group into another 2021-08-01 15:13:34 +02:00
Shauren 2d19f61b26 Core/Misc: Remove incorrect uses of std::unordered_map<T>::rehash and replace them with intended reserve 2021-06-21 23:52:25 +02:00
Ovahlord d9cbf60fd1 Core/Quests: kick AllowableRaces and TimeAllowed from quest_template over to quest_template_addon as these fields no longer are being sent in quest query packets 2021-06-21 22:10:58 +02:00
Ovahlord f56c3945d8 Core/Vendors: added for now unused PlayerConditionID field to npc_vendor table as it's being used since 4.2 2021-05-15 20:59:14 +02:00
Ovahlord d4f71131f0 Core/DBLayer: escape MySQL keywords in page_text, page_text_locale, broadcast_text and broadcast_text_locale select queries 2021-03-11 11:46:29 +01:00
Giacomo Pozzoni 48a0dde345 Core/Creature: Add new db field InteractionPauseTimer
Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer)

Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value
2021-02-21 16:50:55 +01:00
Ovahlord c3e9861723 Core/Movement: implement creature movement info table to override movement speeds based on movement IDs
thx to @xvwyh for providing initial table data for the most common entries
2021-02-16 16:56:10 +01:00
Ovahlord 4ff5b6189d Core/Maps: implement new flags for instance spawn groups to allow to restrict spawn groups to horde or alliance only
*use the new flags to restrict the Scarlet Monastery Alliance spawns to alliance players only
2020-11-16 18:55:27 +01:00
Ovahlord 27c1fd6aee Core/Movement: implement cyclic spline database support 2020-09-21 00:32:55 +02:00
Ovahlord 1507ca0179 Fixed build 2020-08-22 18:46:57 +02:00
Roc13x ac6604fba7 Core/Creature: Refactor vendor item code (#167)
* Fix loading referenced vendor items
* Refactored vendor item storage
2020-08-06 01:43:39 +02:00
Ovahlord eea7209142 Core/Movement: ported segment length validation and computePosition updates from master 2020-08-05 17:06:48 +02:00
Roc13x 8669b5d22c Core/Gossips: Make MenuID/OptionID consistently use uint32 types (#165) 2020-08-04 10:14:47 +02:00
Shauren 80e4effba5 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway) 2020-08-01 15:21:13 +02:00
Ovahlord 8c2dbb58df Core/Misc: named unknown fields in QuestPOIBlobData 2020-07-29 00:25:11 +02:00
Ovah a7c8419c03 Core/World: added startup log outputs for query cache initialization for detailed information.
* the console will now throw a log when the feature is disabled
* additionally the console will now print how long it took to initialize
# Conflicts:
#	src/server/game/Globals/ObjectMgr.cpp
2020-07-28 22:10:00 +02:00
Ovahlord 64c4b4f529 Core/Misc: converted quest, creature and quest query packets to packet class and ported query data caching from 335 branch 2020-07-28 21:34:12 +02:00
Ovahlord d46fb93657 Core/Pools: ported pooling updates from 335 branch 2020-07-13 11:17:19 +02:00
Shauren d003ebd8e4 Core/DBLayer: Prevent using prepared statements on wrong database 2020-04-15 19:18:58 +02:00
Ovahlord 347a94f9f4 Core/GameObjects: fixed loading gameobject guid specific scriptnames 2020-03-30 17:20:01 +02:00
Ovahlord 9bfe43a88a Core/Entities: remove PhaseMask
* database fields and values will remain until they have been converted to their according phase IDs
2020-03-29 04:05:43 +02:00
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +01:00
Ovahlord dd990856c0 Core/Vehicles: implement db side seat attachment offset values as tempoary solution until m2 bone handling is supported
* this is a duc-tape fix until @warpten gets his shit together
2020-03-15 21:40:46 +01:00
Ovahlord 2c82d774d6 Core/Globals: use the item template store to return values when calculating item durability 2020-02-22 01:05:56 +01:00
Ovahlord d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
Wyrserth 8e67cfe38e 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.
2020-02-20 05:09:47 +01:00
Ovahlord 59120fbd38 Core/Quests: ported breadcrumb quest handlings and cleaned up quest template loading handlings 2020-02-20 05:08:09 +01:00
xinef1 d6e7cc52a8 Various quest system fixes (seasonal quests, timed quests and more) (#18940)
- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone

Closes #18913
Closes #11187
Closes #15279
2020-02-20 01:51:14 +01:00
ariel- 08e174549e Core/Quest: fix RewardNextQuest being used to condition previous quests in chain 2020-02-20 01:42:01 +01:00
ariel- a7484837a8 Core/Quests: fixed exclusivegroup interaction with prevquestId and nextQuestId.
- They should work as documented by wiki now.
- Add some consts to Player methods
- Fixed negative PrevQuestID to mean only active quest (ie not rewarded/complete, as those quests are required to complete another)

Closes #19300
2020-02-20 01:39:08 +01:00
ariel- d78ad034d0 Core/Quests: changed quest_template_addon.NextQuestID to unsigned
- No reason to keep this anymore after 4349adf0f25210e5b26201523a09bc26b4a83394, this is a broken functionality.
2020-02-20 01:33:53 +01:00
ariel- 330f399de3 Core/Globals: some changes in quest loading
- Made load/reload associated quest tables data-driven, so removed a bunch of similar looking code from ObjectMgr (yay!)
- Codestyle and encapsulation for ExclusiveQuestGroups
2020-02-20 01:31:29 +01:00
ariel- ef6f5abf75 Core/Globals: Fix Quest codestyle and member variable initialization 2020-02-20 01:24:47 +01:00
Ovahlord ea32427608 Core/Movement: fixed some db layout issues when loading creature movements 2020-02-18 20:54:28 +01:00
Ovahlord 1793f39fcc Core/Movement: Allow using run when moving randomly 2020-02-18 06:32:25 +01:00
Killyana 3d1205ea5f Core/Misc: rename npc_text emote related fields to reflect broadcast text column names and updates emote data to the correct format 2020-02-02 10:56:03 +01:00
Treeston 72a6bc7d10 This is not the critical chat system bug fix you were looking for. No sir. (Oops.) 2020-01-31 20:32:06 +01:00
Treeston eed78a603e Core/Misc: Rewrite some old name handling functions that use raw buffers to no longer be old name handling functions that use raw buffers. 2020-01-31 20:31:14 +01:00
Ghaster a246b5a342 Core/Item: cleanup some enums (#28) 2020-01-30 17:06:37 +01:00
Ovahlord dfaa49c87b Core/Vehicles: expand vehicle seat addon table implementation to support passenger exit options 2020-01-28 11:09:05 +01:00
funjoker cb12d57666 Synchronize broadcast_text namings 2020-01-27 16:03:48 +01:00
Ovahlord ede6b8caf0 Core/Creatures: fixed a db loading typo that was causing creatures to not have any creature type 2020-01-26 02:07:01 +01:00
Ovahlord fcb79fee07 Core/Datastores: updated DBC structure names to generated member format 2020-01-25 12:36:32 +01:00
Ovahlord 5ce44296d0 Core/Creature: fixed trainers not sending their gossips 2020-01-13 02:35:13 +01:00