Commit graph

69 commits

Author SHA1 Message Date
Shauren
a401e9be19 Core/Player: Updated talent system for cataclysm 2012-01-29 17:40:14 +01:00
Rat
105b4887e4 Core/Player: fixed player loading to reflect new DB changes
- added missing changes to characters_datasabase.sql
2011-11-27 09:37:32 +01:00
kaelima
6d22509e4b Core/Mechanics:
- Add basic support for focus used by players (hunters)
- Drop all support for pet happieness (as it has been completely removed)
- Add new fields to characters db to store new power values
(Should now be able to create characters again)
2011-11-25 15:28:36 +01:00
Nay
3c498d64b4 Core/Quests: Implement quests that require PlayerSlain. Closes #169 2011-09-05 15:20:02 +01:00
Silinoron
a90801b1e1 Core/Refer-a-Friend: Finish base work for Refer-a-Friend.
Any testing would be very much appreciated.
2011-08-03 09:28:12 -07:00
tobmaps
2e6bbb621e Core/Players: Pet talents can be reset at a pet trainer for free, original idea by rsa 2011-05-31 05:47:17 +07:00
Machiavelli
115de8ae69 DB/Schema: Add index to characters.character_pet.slot. Prevents deadlocks when operating on this table. 2011-05-29 18:28:54 +02:00
Machiavelli
964a2287d9 DB/Schema: Correct use of indexes on mail_items table. Prevents deadlocks in operations on this table. 2011-05-29 00:32:18 +02:00
Nay
650d248aff DB/SQL: No tabs nor CR line feeds 2011-05-18 15:51:42 +01:00
Shocker
fa4202b5ab Core/Misc: Include resilience in character_stats 2011-05-09 17:01:10 +03:00
runningnak3d
56c8952a04 SQL/Structure: Allow 20 character guild names. 2011-05-06 00:32:26 -04:00
laserjet
d17c40379d DB: Fixed comments in character_banned table
Closes #1273
2011-04-23 10:56:04 +02:00
Azazel
2e0ae2bd61 Core/GM System: rename columns of gm_surveys, gm_subsurveys, gm_tickets and lag_reports tables to lowerCamel, move queries to prepared statements and refactor the code of TicketMgr. 2011-04-19 14:04:18 +06:00
Azazel
6097582ddd Core/SQL: fix a few minor mishaps with wrong keys not being updated in commit 5357b1ba77 - fixes import of base characters database (thanks click for pointing out). Closes #1231.
Also rename indexes in recently cleaned tables to have 'idx_' prefix.
Add queries to recreate indexes based on recently modified columns (just to make sure that all indexes are correct).
2011-04-14 11:31:15 +06:00
Azazel
fca8a0d61f Core/CharDB cleanup: change creature_respawn and gameobject_respawn column names to lowerCamel, rename instance column to instanceId and move all queries to these tables to prepared statements.
Fix import error in character_database.sql.
2011-04-13 17:02:06 +06:00
leak
811db53814 SQL: Updated char db base 2011-04-12 09:34:35 +02:00
Azazel
357e1c38bf Core/CharDB Cleanup: alter corpse table making column names lowerCamel and move all queries to prepared statements.
NOTICE: column can be named `guid` only if it represents character guid. All other guids will be renamed to reflect their purpose (like corpseGuid in this specific case)
2011-04-11 14:39:00 +06:00
leak
8c036b760f Core/Arena: Move personalRating to arena_team_member 2011-04-08 21:14:30 +02:00
leak
d56f056dcb SQL/Arena: Fix some warnings with missing default values 2011-04-08 15:57:25 +02:00
Azazel
5db1061d52 Core/CharDB Cleanup: alter character_homebind table making column names lowerCamel and move all queries to prepared statements. 2011-04-08 17:04:51 +06:00
Azazel
736a47ffa2 Core/CharDB Cleanup: alter character_battleground_data table making column names lowerCamel and move all queries to prepared statements. 2011-04-08 11:28:10 +06:00
leak
19f76c3455 SQL/Arena: Removing ambiguous personalRating column until things are sorted out 2011-04-06 11:20:01 +02:00
leak
d449695010 Core/Arenas: Refactor arena code and db layout 2011-04-05 21:54:28 +02:00
leak
5cd3b8114b SQL: Lost changes in character base sql 2011-03-19 00:23:35 +01:00
Azazel
c26f41ef67 Core/DB: increase size of phaseMask field in corpse table to allow values larger than 255 2011-03-17 12:33:20 +06:00
Azazel
75eaadacb3 CharDB Schema/Cleanup: cleanup channels table:
* rename columns (remove m_ prefix and convert to lowerCamel case);
* rename prepared statements to conform to standards (there is no CLEAN statement).
2011-03-11 17:18:17 +06:00
Azazel
9e5f127789 CharDB Schema/Cleanup: cleanup character_tutorial table:
* rename table to account_tutorial, because it holds account specific data;
* rename column account to accountId;
* introduce prepared statements for table.
2011-02-25 00:45:57 +06:00
Azazel
5213b70e9d CharDB Schema/Cleanup: cleanup account_data and character_account_data tables:
* rename column account to accountId;
* introduce prepared statements for both tables.
2011-02-25 00:44:33 +06:00
Shauren
7ba4d80aa7 Core/Instances: Implemented DungeonEncounter.dbc for creating completed encounters mask to use in packets
Core/Dungeon Finder: Implemented new way of giving random dungeon rewards, linked to DungeonEncounter.dbc
2011-02-03 22:20:40 +01:00
Shauren
28db8fc824 Core/Instances: Implemented hourly instance limit: players are limited to entering 5 instances per hour (account wide limit) 2011-01-24 11:20:30 +01:00
Machiavelli
da1bc499ed Core/SQL: Add unique table key for (guid, bag, slot) in character_inventory to prevent storing different item entities in the same slot.
NOTE: If you get import errors it's YOUR OWN RESPONSIBILITY to fix current data inconsistencies your database might have.
2011-01-22 19:05:23 +01:00
leak
a2aaa8844f SQL: Characters db storage type cleanup No. 7 (final) - Note:
- It is _strongly_ recommended to extensively test the recent changes before applying them to live data

- To fully resync the character db layout with TC releases it is recommended to dump the characters table with
mysqldump --no-data characters > characters_database_livedata.sql
and use a diff tool to compare it against sql/base/characters_database.sql
2011-01-20 02:11:49 +01:00
leak
52bbc3f384 SQL: Characters db storage type cleanup No. 6 2011-01-20 01:02:24 +01:00
leak
5f5fd25560 SQL: Characters db storage type cleanup No. 5 2011-01-20 00:08:45 +01:00
leak
61747ce6fe SQL: Characters db storage type cleanup No. 4 2011-01-19 22:46:21 +01:00
leak
950b9fa232 SQL: Characters db storage type cleanup No. 3 - Note:
There is a chance that you will be getting importing errors / data truncation warnings because of ancient invalid pet names.
SELECT * FROM character_pet WHERE CHAR_LENGTH(`name`) > 21;
2011-01-19 18:51:00 +01:00
leak
3d665c35eb SQL: Characters db storage type cleanup No. 2 2011-01-19 14:04:33 +01:00
leak
c99723f8aa SQL: Characters db storage type cleanup #1 - Note:
- MySQL numeric types can NOT be altered in value range or or storage size at all, so things like INT(32) are entirely pointless. As TC currently doesn't use the display width of numeric types, use the default width to avoid confusion. (see MySQL numeric types docs)

- Timestamps can be stored as INT(10) UNSIGNED. As the max value of this type is 4294967295 which translates into year 2106 using it as timestamp we are NOT affected by the year 2038 bug. If the timestamp needs to be negative in some cases, i.e. for displaying infinity using -1, use BIGINT(20) instead.

- Do NOT set ROW_FORMAT for InnoDB tables unless you specifically want COMPRESSED tables (which we don't for performance reasons). MySQL will chose the appropriate ROW_FORMAT by itself depending on the innodb_file_format setting of the server. (FIXED is only available for MyISAM)

- Even though VARCHAR does require less storage space than CHAR for values with variable length, the length still needs to be chosen wisely as this doesn't apply to memory consumption.
2011-01-19 02:53:44 +01:00
leak
595debbb5a SQL: Resync characters db base SQL with rollups and redump with recent mysqldump version in preparation for char db storage type cleanup 2011-01-19 01:31:08 +01:00
linencloth
f8b545e0be Core/QuestStatus:
- Separate rewarded quests from active quests, and store them in a new table to reduce database size
- Drop the no longer needed `rewarded` column from character_queststatus for smaller table size
- Prevent filling the database with dropped quests
  - Delete useless records
- Implement queststatus save "queues" instead of states
- Minor optimizations

WARNING: Backup your database!

--HG--
branch : trunk
2010-12-26 04:16:18 +01:00
Xanadu
771fc285a5 Core: Fixed occasional wrong order of async operations at respawn time saving. Closes issue #5239.
DB schema: Sorted out a discrepancy in respawn time column format.

--HG--
branch : trunk
2010-12-23 05:49:23 +01:00
Shauren
671911835f Core/Auras: Save cast item guids for auras to db
--HG--
branch : trunk
2010-12-20 14:55:36 +01:00
azazel
461ce34caf DB Schema/Characters: removed columns auctionhouse.item_template, character_inventory.item_template, guild_bank_item.item_entry and mail_items.item_template and created item_instance.itemEntry column instead of them.
As a side effect moved related queries to prepared statements.
As one more side effect fixed not shown and lost mail items in returned expired mail (patch by Quriq14).

--HG--
branch : trunk
2010-12-15 14:08:12 +06:00
click
699dfcdc45 Core/Chat: Configure automatic owner declaration for custom chat channels (patch by leak)
Closes issue 4974.

--HG--
branch : trunk
2010-12-02 03:54:52 +01:00
click
530a9dd70e Core/Database: Adjust character database fields to have an existing default value (group_member) - fixes a transactionerror
--HG--
branch : trunk
2010-12-01 18:17:33 +01:00
click
bc0e4b0035 Core/DBLayer: Move tables reserved_name, gameobject_respawn and creature_respawn from WORLD database to CHARACTER database as it's content is realm-specific and should be preserved (thanks to leak for the cleanup)
*** TO PRESERVE (COPY) THE DATA CONTAINED IN THE OLD TABLES, YOU MUST FOLLOW THE FOLLOWING SQL-RECIPE (REPLACE DATABASENAMES WHERE NEEDED!) ***

-- Move creature_respawn from world to characters db
INSERT INTO `characters`.`creature_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid, `respawntime` `instance` * FROM `world`.`creature_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`creature_respawn`;

-- Move gameobject_respawn from world to characters db
INSERT INTO `characters`.`gameobject_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid`, `respawntime`, `instance` FROM `world`.`gameobject_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`gameobject_respawn`;

-- Move reserved names from world to characters db
INSERT INTO `characters`.`reserved_name` (`name`)
SELECT `name` FROM `world`.`reserved_name`;
-- Remove reserved_names table from world db
DROP TABLE `world`.`reserved_name`;

*** THE ABOVE MUST BE DONE, OR EXISTING INSTANCES WILL BE FULLY RESPAWNED - YOU HAVE BEEN WARNED ***
Closes issue 4842. Closes issue 4849.

--HG--
branch : trunk
2010-11-19 15:53:14 +01:00
azazel
f72837cebc Core/Guilds: guild code was completely refactored and rewritten.
* OOP desing and implementation;
* all the queries are moved to prepared statements;
* guild loading is optimized;
* all the possible interaction with guild's data is done inside the guild class;
* added more hooks to GuildScript class;

WARNING: Make sure you backup your characters database before applying this change (just in case).

Known problems with guilds:
* when new member is added to the guild, MOTD is not displayed for him in guild tab of social window;
* if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number);
* packets order differs from official: currently guild bank packet traffic is twice as more than on offy.

--HG--
branch : trunk
2010-10-17 19:54:13 +06:00
Shocker
ecd5b6c856 Core/DB: Adjust max values for some columns in character_queststatus
--HG--
branch : trunk
2010-09-27 00:38:22 +03:00
Shauren
fb0a5dbd59 Core/Items: Implemented trading soulbound loot items
Core/DBLayer: Converted more more player-related queries into prepared statements
Core/Items: Fixed loading of enchantments

Closes issue #4130.

--HG--
branch : trunk
2010-09-21 21:55:16 +02:00
Shauren
3d4ffa97fe Core/Players: Added support for single character bans
Core/Commands: Renamed .ban character to .ban playeraccount (.ban character will ban only the player, not account)

This revision reaches 10000, congratulations and thanks to everyone who contributed!

--HG--
branch : trunk
2010-09-19 17:02:14 +02:00