Commit Graph

43 Commits

Author SHA1 Message Date
ratkosrb f6cc726411 Move Thrall and Vol'jin scripts to database. 2018-12-28 16:08:11 +02:00
ratkosrb c143c9dd9b Move some defines to progression header. 2018-12-28 12:57:20 +02:00
ratkosrb b7b970e886 Code style improvements.
based on https://github.com/cmangos/mangos-classic/commit/ce2527c0b2fdcc8b72d745371ab2f68c81728cc6
2018-12-04 15:30:47 +02:00
ratkosrb ed77117267 Fix build on linux with newer openssl versions (#50) 2018-12-02 22:40:27 +02:00
ratkosrb f140d1d03d Add generated header to gitignore. 2018-11-23 04:34:26 +02:00
ratkosrb 200407326d Add client build option to cmake. 2018-11-23 04:27:00 +02:00
ratkosrb acaa54ae9d Initial support for 1.9.4 client.
You can enter world and objects display correctly. Lots of startup errors though.
2018-11-19 05:31:20 +02:00
ratkosrb 81e883c291 Do item spell id substitutions in core.
Previously we replaced the spell id used by items that had the data for the spell itself changed in item_template as if it were a change to the item. That meant we actually had wrong item data for those patches, but it made the effects look correct in the 1.12 client. If you were to play with the actual patch appropriate client however, all of those items would show wrong effects. Doing spell id substitutions for newer clients in the core is a better way to handle this, as it means we can have 100% correct and patch appropriate data for items in the database. Also this way there is no way of missing an item that needs a replacement spell id for lower content patches, since all the items are checked on startup.
2018-11-19 00:35:56 +02:00
ratkosrb fc8cc3f176 Fix stats for some items. 2018-11-06 18:16:40 +02:00
ratkosrb 3054860b48 Prevent sending of bad item links.
Credit to LH.
2018-10-17 21:50:02 +03:00
ratkosrb 5a8accd3a6 Add some safety to some preprocessor defines.
Credit to cmangos https://github.com/cmangos/mangos-classic/commit/6f5f8c241838be3e7986233fe4424bf11008cb6b
2018-10-14 19:48:11 +03:00
ratkosrb 79c79bd1ac Fix proc of Zandalarian Hero Charm. 2018-09-16 22:33:17 +03:00
ratkosrb 9b259bc733 Try to fix travis build. 2018-09-15 21:47:13 +03:00
ratkosrb 5ae67a525f Remove obsolete header. 2018-09-15 20:36:48 +03:00
ratkosrb 716da74d7d Support for client build 1.10.2 (#213)
After this commit you have to move your DBCs inside a folder with the build number. So for example if they were in "data\dbc\" before, now they should be in "data\5875\dbc\" for 1.12.
2018-08-26 08:51:57 +03:00
ratkosrb c6e0de2ea6 Use build when loading model info. 2018-06-01 05:14:37 +03:00
ratkosrb adaf27ba68 Support for client build 1.11.2 (#112)
* Add support for the 1.11.2 client.

* Fix some startup errors.

* Fix all startup errors with 1.11 dbcs.

* Fix SpellCastResult enum values.

* Implement old spell haste handling.

* Fix spell haste logic for 1.12.

* Lethargy Root is grey in 1.12.
2018-06-01 04:34:00 +03:00
ratkosrb 19e3a65426 Fix extractors build (#64)
Credits to Giperion and Crito.
2018-04-25 14:59:16 +03:00
GuybrushGit e392feea8b Adjust yearly events for leap days (#381)
* Adjust yearly events for leap days

* Adjust yearly events for leap days

* Merge branch 'development' into leapDays
2017-12-29 18:06:37 +02:00
bladez ad7f495463 Move long-blocking GM command queries to async operations (#1036)
* Remove % prefix on IP lookup so table indexes can be utilized

* Add template functions for performing delayed query holders and unsafe async queries with static methods as callbacks

* Implemented async handling of PInfo command and extracted to separate TU for futher async command handling

* Add support for static delay holder with no extra params

* Remove a number of wildcard prefixes from lookups (cannot use indexes with wildcard prefix)
WIP move character lookups to async

* Make adding to async tasks threadsafe, remove arbitrator on task execution and allow them to be run when a thread is ready

* Remove non-templated declarations and definitions of delayed query holder methods, it breaks builds. Just use a dummy var instead

* Move display for lookups to async tasks
Don't delete queries inside ShowPlayerListHelper

* Use async queries for player character name lookup and account character lookup

* Disable console output for async lookup commands (pending console output support)

* Move account lookup to async

* Remove all concat3 and wildcard prefixes from frequently used GM commands so that table indexes are utilized

* Moved offline gold removal to async

* Remove bad delete

* Move banaccount lookup queries to async

* Add a simple async task for sending packets to specific sessions

* Pass data by ref in SessionPacketSendTask

* Include for WorldPacket def

* Remove class qualifier
2017-12-20 16:19:30 +11:00
bladez e12915d6b1 Resolve geolocking build issues and crash (#847)
* Fixed build with geolocking enabled

* Fix crash with geolocking enabled
2017-11-29 22:42:34 +11:00
StadenElysium f99e40d8dd Geolocking implementation (#518)
* Implements a mechanism for locking accounts down if a player logs in from another country.
* Removed some deprecated cruft (auto_ptr/random_shuffle/register/(unary | binary)_function) at the same time.
* Adds JSON for Modern C++ (https://github.com/nlohmann/json/) to the project.
2017-11-14 23:55:27 +00:00
Staden da5f32d9b5 Remove tabs 2017-10-28 22:38:54 +01:00
Staden 05b4ad29dc Fix spurious authentication failures caused by incorrect padding of SRP6 values. 2017-10-28 22:35:08 +01:00
Prithu 180cf59a52 Converted serialId to uint32 to avoid overflow with large GUIDs used as the ID (#2977)
* Converted serialId to uint32 to avoid overflow with large GUIDs used as the ID

* Now ensure all player inventory saves are performed in a transaction serialized to them

* Did you just assume my gender?
2017-10-04 17:12:01 +11:00
brotalnia 7bbf047e5a New Progression System (#2954)
* Implement new progression system. (#2118)

* Implement new progression system.

* Add progression support to battleground_template table.

* Assign patch to areatriggers.

* Print current patch on startup.

* BG player requirements are per team.

* Revert last change. Thanks WobLight.

* Fix .npc add command.

* Now actually fix .npc add.

* Assign patches to game events.

* Items can be forbidden both after and before a patch.

* Extend quest tables support.

* Rename migration so its last.

* Merge changes into 1 migration.

* Add old BG rewards.

* Battlemasters, Equipment Errors, Item Conditions.

* Warbringers and Brigadier Generals added in 1.8.
2017-10-02 20:34:08 +03:00
Prithu 4af3840406 Implemented support for serial transactions and character loading (#2664)
* Implemented support for serial transactions and character loading, ensuring order of operations remains consistent
- All item saving is now serialized to prevent issues with duplicating due to certain queries running out of order
- Character loading is now serialized with the same system as items, to prevent duplications by relogging before queries are performed

* Reverted debug delay thread update timer
2017-09-21 18:19:54 +10:00
Prithu 5f8c3001a6 Backport crash and memleak fixes (#2105)
* Fix a memory leak in login if the client has an invalid OS (spoofed client)

* Fix a crash in visibility update

* Fix crash on null target duel

* More auth crash fixes
2017-08-15 21:59:35 +10:00
Thetruecrow d6d83b38c6 Fixed compile errors when building with tools. 2017-05-27 22:15:37 -07:00
Staden 276a3411c7 Merge branch 'aq' into aqmerge 2017-05-16 10:07:13 +01:00
Staden 1ecd677597 Revert "Fix ACE_TSS usage (#664)"
This reverts commit 2ea863c279.
2017-05-11 23:38:23 +01:00
brotalnia 2ea863c279 Fix ACE_TSS usage (#664) 2017-05-10 07:16:44 +01:00
Staden 4e2a78072f Change socket log format specifier
Still less than ideal.
2017-04-24 14:08:00 +01:00
Martin Jesper Low Madsen 6bc9a865a5 Uses a proper ACE_HANDLE type for logging (#403)
Changes socket handle type to platform specific ACE_HANDLE instead of
explicitly casting the pointer to uint64.
2017-04-24 14:02:02 +01:00
Gemt ca1e23ce37 Merge branch 'development' into aq 2017-03-30 00:12:54 +02:00
Gemt 22b8c7353c calling srand each time a new threadtasks is started with the highest resolution 32bit component of high_resolution_clock::now().time_since_epoch(). (#113) 2017-03-26 04:04:02 +01:00
StadenElysium d217e2726f Attempt reconnection after a failed OpenConnection (#80)
Allows for the auth server to continue accepting connections when the database comes back online, rathern requiring a restart. Not an ideal solution but I'm not rewriting MaNGOS' database handling.
2017-03-25 20:10:54 +00:00
Duks 5f36518aff Debian Jessie - Potential Fix (#59)
Potential fix for crash that prevents unload of server side.
2017-03-19 18:16:13 +00:00
Gemt c6d10bfc01 Merge branch 'aq' into aq_dev_merge 2017-03-19 11:03:52 +01:00
Zerix 287fdec16d [Core/Scripts]: Implement Event Based Timers (#43)
* Event based timers. Allows us to use scheduled events rather than the
time diff checking.

* Easier to write, and easier to read for newbies.

* Simplifies code flow and looks far more professional to the trained
eye.

* Comes from TrinityCore so we can cross reference scripting techniques
and start coding in the 21st century on this core..

* As a proof of concept, I have rewritten Lucifron (first boss in MC) to
show an example of how this might look in the future with the other
scripts.
2017-03-16 15:05:04 +00:00
Gemt 5f2dee2727 logger functions for script library and several additions to ScriptInstance for handling AI dialogues, taken from cmangos 2017-03-15 21:55:10 +01:00
StadenElysium 43452c0d9c License update (#27) 2017-03-15 17:27:20 +00:00
shenna c9151a5715 Initial Commit / Core Files 2017-03-10 00:38:11 +03:00