Commit Graph

98 Commits

Author SHA1 Message Date
Bezo 228d9803f3 Scripts/Commands: Add .list mail $char/$guid command
Prints a list of mails received by the characters

Closs #9421
2013-03-17 17:32:24 +00:00
Shauren f37e0ee838 Core/Players: Implemented converting quests on faction change (keeping old faction quests in disabled state - not loaded during login) and restoring them if changing back to original faction
Closes #890
Closes #9248
2013-03-04 14:15:52 +01:00
Nay 0b3170c228 Core/Player: Fix a query that was wrongly deleting items
CHAR_DEL_ITEM_INSTANCE deletes by item guid but in Player::DeleteFromDB the guid being used was player's guid.
That means that if player with guid 100 was deleted, the item with guid 100 would also be deleted. This item could or could not belong to the player.

Closes #8883
Closes #9136

Thanks to @vlad852 for finding the issue
2013-02-06 13:17:21 +00:00
Nay 1b551cc157 Scripts/Commands: Add guild info to .pinfo
Original patch by @secharles, modified

Closes #8946
2013-01-26 21:33:13 +00:00
Shocker 7d28c10bd0 Core/Misc: Delete spell from character_spell table too when encountering an invalid spell 2013-01-18 03:22:58 +02:00
Spp ebd14b4f01 Core/Mysql: Multiple changes
- added support for setting NULL column values to MySQL wrapper in core
- replaced nonstandard strdup function and manual memory management with std::string
- fixed bug in MySQLPreparedStatement::getQueryString method, it failed when string parameter contained embedded '?' symbols
- fixed memory leak in MySQLPreparedStatement::setString method
2013-01-02 12:22:50 +01:00
Vincent_Michael cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
MrSmite 04f08d26a7 Implements saving of loot (items / money) contained inside lootable inventory items.
* Unlooted items / money persist across player sessions
* Loot inside items is tied to the item rather than the player so if trading
  partially looted items becomes possible, this implementation will still work

* New tables added:

    characters_database.sql (first time users)
    characters_create_item_loot.sql (existing users)

Implementation Can be tested with:

 Watertight Trunk [21113]
 Bulging Sack of Gems [25422]
 Fat Sack of Coins [11937]

Closes #2048
2012-12-15 00:06:32 -05:00
Vincent-Michael b2928e59fa Core/Quest: Add support for monthly quests
Author: svetilo12
Converted and updated by: Subv
2012-12-04 00:04:06 +01:00
Spp d6aee08621 Core/Misc: Include character level in log when a character is being deleted 2012-11-30 13:59:01 +01:00
horn 771aafc499 Core/Calendar: Completely rewrite and fix most of the calendar system
There are still some issues that need to be fixed, for more info see CalendarHandler.cpp TODO part.
Some unblizzlike behaviour possible, we don't have a lot of sniffs.
Big thanks to @Warpten, he joined my project and helped a lot.

IMPORTANT NOTE: Read / append packed time functions in ByteBuffer.h are not correct, they need to be fixed in order to have event times accurate

Signed-off-by: Nay <dnpd.dd@gmail.com>
2012-11-18 22:42:28 +00:00
Spp 58ec4e5319 Core/Guild: Code Refactor
- Send correct events when modifiying Ranks (Add, modify, delete)
- Store money/slots withdraw, not remaining slots. This will update remaining slots/money properly.
- Reset daily slots/money withdraw for all members at same time, configurable
- Better debug messages
2012-11-02 22:26:10 +01:00
tibbi 405c3b09aa adding a new prepared statement for selecting char at_login and titles 2012-10-08 17:29:02 +01:00
tibbi d49c2a5e4d correct reputation converting at faction change 2012-10-07 13:55:04 +01:00
tibbi 404a036fa9 adding Title converter to faction converter, original author Silinoron 2012-09-27 22:38:19 +01:00
Spp 358c6a26d6 Core: Warning fixes (Also some -pedantic under game folder) 2012-09-10 13:04:31 +02:00
Shauren c7775c8d72 Core/Maps: Moved object respawn time storage from global to map level. This removes unneccessary locking since all objects run within its map's thread. 2012-06-07 23:20:57 +02:00
kaelima f34e650fe0 Core/Accounts: Delete all bans related to an account when it has been deleted. 2012-05-06 02:37:31 +02:00
Shauren d9451cedd8 Core/World: Add character name data after loading PlayerDump
Closes #3653

Note: Manual changes in database while the server is running are not advised thus not supported
2012-04-03 00:02:58 +02:00
Nay b7f7e3118c Core/DBLayer: More type fixes
Thanks to Vasago for the help in spotting the errors
Thanks to Subv as well (so he doesn't feel lonely)
2012-04-01 22:41:47 +01:00
leak 830a7fb08b Core/DBLayer: Restore pet loading
closes #5878
2012-03-26 18:58:24 +02:00
leak b1ca1ee5ec Core/DBLayer: Convert PAppend() queries to prepared statements No.4 NOTE:
Most of the cores queries have been converted to prepared statements now. If your code contains queries, please either use the exiting or implement new statements.
The only exclusions are one-time queries (e.g. for core startup) and queries that can't be prepared due to limitations.
2012-03-26 15:47:37 +02:00
leak eb1af30399 Core/DBLayer: Convert PAppend() queries to prepared statements No.3 2012-03-25 20:20:25 +02:00
leak 71c02fb54d Core/DBLayer: Convert PAppend() queries to prepared statements No.2 2012-03-25 18:32:26 +02:00
leak c6cbe4c77c Core/DBLayer: Convert PAppend() queries to prepared statements No.1 2012-03-25 16:25:06 +02:00
leak 12e55a04bb Core/DBLayer: Convert PQuery() queries to prepared statements 2012-03-24 01:25:08 +01:00
leak 178c658363 Core/DBLayer: Convert DirectExecute() queries that are not runtime relevant back to regular queries 2012-03-19 18:09:13 +01:00
click 5411e1ce52 Core: Clean up whitespace and tabs in the base sourcetree 2012-02-18 16:52:08 +01:00
Subv2112 f4075f0f94 Core/LFG:
Fix priority of the player when its added to the lfg group
        Better implementation of the Dungeon Deserter debuff
        Rewrite the NeedBeforeGreed loot
        Fixed players being shown as Unknown Entity when entering the lfg group
        Some incremental optimizations after original patch
Thanks to Retriman and Paecman for base implementation

Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
2012-01-14 17:37:28 +01:00
kandera 46fb199ee1 Core/Quests: Add implementation of seasonal quest reset. uses a new table much like character_queststatus_weekly. fixed typo where WEEKLY was WEKLY. Attempt 2 2012-01-04 07:59:32 -05:00
leak ced346076b Merge pull request #4567 from Kiperr/master
Happy new year!
2011-12-31 16:13:28 -08:00
leak cdbeb42e0f Core/DBLayer: Refactor prepared statement defines to new format (char db) 2012-01-01 01:09:38 +01:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
leak 73cf793e56 Core/DBLayer: Refactor prepared statement defines Note:
The new format for the middle section is a 3-letter upper case abbreviation of the sql command being executed (select -> SEL, update -> UPD, etc.)
{DB}_{SEL/INS/UPD/DEL/REP}_{Summary of data changed}
2011-12-31 20:14:38 +01:00
leak ff8874574f Core/DBLayer: Convert another Execute() query to a prepared statement 2011-12-31 19:51:48 +01:00
leak 8adac3f246 Core/DBLayer: Convert PExecute() queries to prepared statements No. 3 2011-12-31 00:32:05 +01:00
Venugh 882ebe2b8e Core/World: Convert Execute to PreparedStatement from Battleground random. 2011-12-27 01:04:12 +01:00
Venugh cab508b4c8 Convert a Execute to a PreparedStatement. 2011-12-27 00:56:42 +01:00
leak e646dbb3cd Core/DBLayer: Convert PExecute() queries to prepared statements No. 2 2011-12-27 00:29:48 +01:00
leak ef17c05dec Core/DBLayer: Convert PExecute() queries to prepared statements No. 1 2011-12-25 18:13:21 +01:00
leak 64a2a29506 Core/DBLayer: Convert Execute() queries to prepared statements 2011-12-25 02:22:10 +01:00
leak 08bd2f1a54 Core/DBLayer: Convert callback queries to prepared statements No. 3 2011-12-25 01:27:44 +01:00
leak e1afd79b1e Core/DBLayer: Convert callback queries to prepared statements #2 2011-12-20 09:12:43 +01:00
leak 7052fbf5cc Core/DBLayer: Convert callback queries to prepared statements 2011-12-18 20:56:38 +01:00
Machiavelli 72675d55d8 Core/DBLayer: Use prepared statements in Player::SaveToDB. Also split the function up between an INSERT part (new character creation) and UPDATE part (existing character). 2011-11-25 15:14:00 +01:00
Machiavelli fe8cb75bf1 Core/DBLayer: Make database interaction after create character packet completely asynchronous. This is more performant and fixes a DoS loophole and possible data desynchronisation caused by spamming this packet.
Closes #584
Closes #2089
2011-06-22 14:22:08 +02:00
Shauren e1483329e0 Core/Mailsystem: Optimized returning and deleting old mails, will no longer take minutes when starting using old character db 2011-06-08 18:55:21 +02:00
Shauren 352de4b688 Core/Guilds: Use blocking queries at guild loading to ensure invalid data is removed before processing, removed prepared statements in loading guilds 2011-05-07 21:03:05 +02:00
MrSmite a92038feaf Core/AuctionHouse: Delete expired auctions at startup. 2011-05-03 08:32:57 -04:00
Shauren b7353f38b0 Core/World: Fixed realm character count queries getting lost 2011-04-25 13:31:02 +02:00