Commit Graph
196 Commits
Author SHA1 Message Date
Machiavelli b690856e91 Core/ObjMgr: Use proper mutex object for SaveGORespawnTime
Author: toshik.777
Fixes issue #4399

--HG--
branch : trunk
2010-11-09 15:10:10 +01:00
Rat c9bbe85e48 Core/DB: changed some errors to DB errors
--HG--
branch : trunk
2010-10-30 23:06:05 +02:00
azazel ff0fdbfbea Core/Guilds:
* on load initialize guild vector with maximum available guild id (to avoid reallocations while loading);
* reserve space for more than one guild when adding guild to guild vector in case when new guild is out of available vector's size (to avoid reallocations for at least 15 next new guilds).

--HG--
branch : trunk
2010-10-25 19:20:39 +06:00
Spp d7bcc25e38 Core/Map: Reenable error msg to find missing graveyards and use a better msg when a zone id is not found
--HG--
branch : trunk
2010-10-25 11:47:23 +02:00
Spp f381e74c10 Core/Map: Add log to find bad zone ids when trying to find a graveyard
--HG--
branch : trunk
2010-10-25 11:28:42 +02:00
Spp 739f336618 Core: Fix warnings
--HG--
branch : trunk
2010-10-25 11:25:42 +02:00
linencloth 2d692e9e87 Core/DBLayer: Optimize waypoint script loading
--HG--
branch : trunk
2010-10-25 02:31:19 +02:00
Shauren d03aeab9ad Scripts/Icecrown Citadel: Added Blood Prince Council script
Scripts/Icecrown Citadel: Festergut will not cast Vile Gas on melee targets if there are at least 3 (25 man: 8) ranged targets
Scripts/Icecrown Citadel: Festergut and Rotface gates will close with delay (when Putricide reaches the balcony)
Scripts/Icecrown Citadel: Replaced ASSERT(instance) with code disabling the AI if not inside instance
Core/Spells: Fixed TARGET_DEST_TARGET_RANDOM usage
Core/Scripts: Extended DamageDealt in AI to accept damage type as 3rd parameter
Scripts/Quests: Fixed quest "Unholy Infusion" (24749)

--HG--
branch : trunk
2010-10-24 21:27:02 +02:00
click de0a8f9777 Core/Guilds: Adjust size of guildMap by 1 element, not 512 (fix by machiavelli)
--HG--
branch : trunk
2010-10-22 21:07:11 +02:00
azazel db04f13777 Core/Guilds: fixed small logical error when counting total loaded guilds
--HG--
branch : trunk
2010-10-19 18:50:50 +06:00
azazel 64c1b6b465 Core/Guilds: replace container type for guilds (use vector instead of map).
Scripts/Misc: remove another warning (I can't pass by such things and I don't want to make separate commit for such changes).

--HG--
branch : trunk
2010-10-19 16:17:54 +06:00
azazel c0faed2251 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
Shauren 91a97c7b83 DB-Schema/World/creature: Added possibility to override npcflag, unit_flags, dynamicflags in creature table
Core/Player: Fixed bad query in previous revision

--HG--
branch : trunk
2010-10-09 17:52:00 +02:00
runningnak3d 04566e5be9 Core/GameObject: Make chests (type 3) GOs active even if they have no loot if
a questID is defined and active for the player. It is possible for events to
happen even if the GO has no loot.
Original Author: NoFantasy
Optomized by: kamikazetg

--HG--
branch : trunk
2010-10-06 18:21:42 -06:00
runningnak3d 89833567d2 Core/WorldPacket: Add support for generic (type 5) GOs sparkling if objective
of quest.
Author: NoFantasy

--HG--
branch : trunk
2010-10-06 16:36:50 -06:00
click 613b81f36f REALLY fix the CRLF-crap...
--HG--
branch : trunk
2010-10-07 15:54:07 +02:00
click f0c4241ea4 Remove the accidental additions of CRLF-crap from the header updates
--HG--
branch : trunk
2010-10-07 15:35:36 +02:00
click 8ea4b32fab Update copyright headers (following the same standard in all files = good)
--HG--
branch : trunk
2010-10-07 12:41:56 +02:00
QAston caaa77deb2 Core/ScriptSystem:
Add basic code for runtime checks of function calls in AuraScripts
 Make AuraScript::PreventDefaultAction() do not take parameters and add description for the function
 Remove PreventDefaultEffect() from aura script, use PreventDefaultAction() instead
 Unload aura scripts memory on aura delete

--HG--
branch : trunk
2010-10-04 17:44:49 +02:00
Shocker 78803c9f09 Magic numbers cleanup:
- Replace many magic numbers with constants
- Use enum for vehicle flags/seat flags
- Correct structure for ItemRandomSuffixEntry

--HG--
branch : trunk
2010-09-28 08:21:51 +03:00
click ee705bba32 Core/OjectMgr: Properly load guildbank items (and some minor cleanups)
- fixes issues where guildbanks looked empty but weren't
- kudos to Linencloth for the discussion and thorough breakdown of this issue
Closes issue 4199.

--HG--
branch : trunk
2010-09-27 04:16:41 +02:00
click 461590832a Core: Generic cleanup (tab2spaces/whitespace removal)
--HG--
branch : trunk
2010-09-25 22:03:57 +02:00
Machiavelli 3c6dc32030 Core/DBLayer:
- Rewrite Field class to be able to store both binary prepared statement data and data from adhoc query resultsets
- Buffer the data of prepared statements using ResultSet and Field classes and let go of mysql c api structures after PreparedResultSet constructor. Fixes a race condition and thus a possible crash/data corruption (issue pointed out to Derex, basic suggestion by raczman)
- Conform PreparedResultSet and ResultSet to the same design standards, and using Field class as data buffer class for both
* NOTE: This means the fetching methods are uniform again, using ¨Field* fields = result->Fetch();¨ and access to elements trough fields[x].
* NOTE: for access to the correct row in prepared statements, ¨Field* fields = result->Fetch();¨ must ALWAYS be called inside the do { }while(result->NextRow()) loop.
* NOTE: This means that Field::GetString() returns std::string object and Field::GetCString() returns const char* pointer.

Still experimental and all that jazz, not recommended for production servers until feedback is given.

--HG--
branch : trunk
2010-09-24 22:16:21 +02:00
azazel eae0e5c822 Scripts/DB_Scripts: massive cleanup of SCRIPT_COMMAND_* related staff
* add union into ScriptInfo structure (thanks NoFantasy for the idea);
* move scripts methods from Map.cpp to new file MapScripts.cpp;
* remove magic numbers and introduce eScriptFlags enumeration.

It's just a beginning and more changes to come. Stay tuned!

--HG--
branch : trunk
2010-09-22 18:13:57 +06:00
Shauren d8ddf38453 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
Rat cf93313316 Scripts/DB_Scripts: enable DB scripts to use CHAT_MSG_RAID_BOSS_WHISPER (42) as chat type
--HG--
branch : trunk
2010-09-20 21:58:14 +02:00
Shauren a509976369 Core/DBLayer: Converted player login queries into prepared statements
Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery

--HG--
branch : trunk
2010-09-20 18:20:40 +02:00
Machiavelli 188165b7bf Core/ObjectMgr: Fix another possible crash in guild loading. This should be the last of them.
--HG--
branch : trunk
2010-09-19 17:37:59 +02:00
Machiavelli 21c85a155c Core/ObjectMgr:
- Fix a startup crash in guild loading when loading from the guild subtables with an invalid guild ID.
- Abort loading guild subtables if no entries were found in guild table
- Code style cleanup in affected functions
Fixes issue #4095

--HG--
branch : trunk
2010-09-19 15:41:26 +02:00
Machiavelli a25ef43223 Core/DBLayer,ObjectMgr: ´linkedGuid´ parameter WORLD_REP_CRELINKED_RESPAWN should be uint32
--HG--
branch : trunk
2010-09-19 10:53:20 +02:00
silinoron 65a50ed3a2 Core/DBLayer: Some more prepared statements in ObjectMgr.
Core/ObjectMgr: Some additional cleanup.

--HG--
branch : trunk
2010-09-18 19:49:17 -07:00
silinoron 1e127eef73 Core/DBLayer: Change some regular statements to prepared statements.
Patch by [email protected].
Fixes issue #3774

--HG--
branch : trunk
2010-09-18 19:21:03 -07:00
linencloth 6bad14d5a2 Core: Revert async query handling in the guild loading code to remove coding style issues.
Also fixes the compiling on Linux.

--HG--
branch : trunk
2010-09-19 01:31:39 +02:00
linencloth 33babfa2d2 Core: Optimize guild loading
--HG--
branch : trunk
2010-09-18 21:24:05 +02:00
linencloth 19a76020bc Core: more cleanup at locale handling.
Also fixes some problems mainly with non English languages.

--HG--
branch : trunk
2010-09-17 19:55:54 +02:00
Shauren 164d6cce65 Core: Better tracking of quest POI loading (progress bar)
--HG--
branch : trunk
2010-09-17 14:58:30 +02:00
linencloth d8a854d6e0 Core: Cleanup locale handling.
It also fixes the recent problem of strange strings.

--HG--
branch : trunk
2010-09-17 07:04:29 +02:00
linencloth 5de48a67c6 Core: Optimize quest POI points loading
--HG--
branch : trunk
2010-09-17 04:25:00 +02:00
Shauren 05ccd476be Core/Quests: Added index column for quest poi points forcing them to load in certain order
--HG--
branch : trunk
2010-09-16 19:58:06 +02:00
azazel 236356628a Scripts/Quests:
* add support for quest 12634 Some Make Lemonade, Some Make Liquor (implement 51840 spell and Adventurous Dwarf AI, thanks akadabeer)
* implement dummy effect for 49587 Seeds of Nature's Wrath spell (used in quest 12459 That Which Creates Can Also Destroy)
* implement dummy effect for 19512 Apply Salve spell (used in quest 6124/6129 Curing the Sick)
Scripts/Misc: some cleanup in chat log
Core/Locales: fix issue when default locale for trinity_string strings was not used (thanks Aokromes for testing).

--HG--
branch : trunk
2010-09-16 13:14:14 +06:00
Shauren 102e51d620 Core/Pools: Implemented quest pooling
Core/DBLayer: Added GetNumRows() method to PreparedResultSet

--HG--
branch : trunk
2010-09-14 13:56:27 +02:00
Shauren 6d0a031a77 Core/Quests: Some cleanup in quest relation accessing
--HG--
branch : trunk
2010-09-13 13:18:27 +02:00
Spp c7289967b0 Code Style: Tab to spaces
--HG--
branch : trunk
2010-09-13 09:51:40 +02:00
Spp 6e55c22a12 Core: Add function to find players by low guid
--HG--
branch : trunk
2010-09-13 09:16:57 +02:00
click bf664b7a44 Cleanup/Core: Remove whitespace and tabs
--HG--
branch : trunk
2010-09-12 01:40:27 +02:00
Machiavelli a41e99223e Core/DBLayer:
* Rename QueryResult class to ResultSet
* Rename QueryResult_AutoPtr to QueryResult
* Declare ACE refcounted auto pointer for PreparedResultSet class

--HG--
branch : trunk
2010-09-11 21:10:54 +02:00
Spp 279d40efdc Core/Groups: Store group member roles to DB
--HG--
branch : trunk
2010-09-10 13:40:20 +02:00
silinoron be7d94f24e Add support for character race and faction transfers.
Based (loosely) on patch by Ner'zhul, DarkXuan, and [email protected].
Fixes issue #3429.

--HG--
branch : trunk
2010-09-05 13:12:24 -07:00
Shauren 0f9fe8dbeb Core/Players: Don't set instanceId to 0 when player is on transport during loading, there CAN be transports inside instances
Core/Scripts: Added waypoint id to OnRelocate transport hook
Core/Scripts: Make use of ZoneScript::GetGameObjectEntry at gameobject creation (makes it possible to override gameobject entries in instances)
Core/Transports: Call InstanceScript::EventInform for transport events
Core/Transports: Use guid from db for transports, not just its entry - adds partial support for instancing them (still cannot use transports table for it, but can spawn manually now)
Scripts/Icecrown Citadel: Fixed crash in Deathbringer Saurfang when event is started by more than one person (can't do this anymore)

Closes isssue #3749.

--HG--
branch : trunk
2010-09-02 10:40:32 +02:00
Machiavelli 2c1c391597 Core/DBLayer:
- Example implementation of prepared statement in ObjectMgr::SaveCreatureRespawntime
- #include "MYSQLThreading.h" -> #include "MySQLThreading.h" (*really* fixes Linux build)

--HG--
branch : trunk
2010-09-03 00:44:27 +02:00