Commit Graph

36 Commits

Author SHA1 Message Date
Rat
bbf86641a1 Core/Scripts/SmartAI: removed test code
Core/CreatureTextMgr: added reload command
handle text from DB
handle grouped texts
handle repeatable/single texts based on probability
todo: sound/emote, code cleanup

--HG--
branch : trunk
2010-09-26 20:48:25 +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
Spp
7a3fd2e9bf Core/: Fix warnings
--HG--
branch : trunk
2010-09-21 10:11:25 +02:00
Shocker
5ffaf0d84b Core/Commands: Implement command for adding (completing) achievements
--HG--
branch : trunk
2010-09-21 03:51:14 +03:00
Shauren
97aeb251b8 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
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
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
silinoron
be7d94f24e Add support for character race and faction transfers.
Based (loosely) on patch by Ner'zhul, DarkXuan, and darkshines@sakha.net.
Fixes issue #3429.

--HG--
branch : trunk
2010-09-05 13:12:24 -07:00
Shauren
d5115ca687 Core/Dungeon Finder: Added support for rewards for random dungeons
Core/Quests: Simplified rewarding money from quests, now ModifyMoney and UpdateAchievementCriteria are called only once per quest
Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS

--HG--
branch : trunk
2010-09-03 20:11:14 +02:00
silinoron
08205afcc9 Rewrite much of the GM ticket system
* Extract storage and manipulation of tickets to TicketMgr (from ObjectMgr)
* Extract ticket commands to TicketCommands.cpp
* Adds support for sending GM responses and GM surveys.
* Fix structure of several ticket-related packets.
* Add support for understanding lag reports.
* Thanks Zor for some of the packet structures, and Cyrax for some sniffs
* Please report any issues encountered via the tracker.

--HG--
branch : trunk
2010-08-29 20:28:14 -07:00
Shocker
e3b92f9630 Implement .reload all_gossips, .reload quest_poi, .reload locales_gossip_menu_option. Original code by VladimirMangos, ported by Ramus. Closes issue #3466, issue #3637 and issue #3477
--HG--
branch : trunk
2010-08-28 01:44:35 +03:00
silinoron
8649bee17f Replace World::getConfig with World::getFloatConfig, World::getIntConfig, and World::getBoolConfig.
Also fix a warning from a previous commit.

--HG--
branch : trunk
2010-08-23 19:56:47 -07:00
Spp
16d95d3115 Core: Fix some warnings
--HG--
branch : trunk
2010-08-23 07:51:19 +02:00
Spp
572f7bbd1d Core: Remove "may be used uninitialized in this function", "unused parameter ‘xxx’" and "'xxx' defined but not used" warnings
--HG--
branch : trunk
2010-08-21 23:08:54 +02:00
QAston
cb70376c6e *Backout radaaba37a4. Brings back command table caching. Thanks to Machiavelli for spotting the issue.
--HG--
branch : trunk
2010-08-18 15:06:28 +02:00
enjoi
774eb840e9 Properly return command table every time it is called, rather then just the first time.
Fixes the issue with .command showing the wrong information.
Fixes issue 3459.

--HG--
branch : trunk
2010-08-18 04:50:22 +01:00
click
3695accf50 Core: Add support for reloading gossip_scripts + add missing SQL for earlier inserted commands (gossip_menu and gossip_menu_option)
Thanks to Kaelima
Fixes issue 2433

--HG--
branch : trunk
2010-08-17 11:49:53 +02:00
silinoron
58b6090efd Rename .goname to .appear, .namego to .summon, and .groupgo to .groupsummon. Also do some cleanup in Level1.cpp.
Fixes issue #3451

--HG--
branch : trunk
2010-08-16 18:21:22 -07:00
silinoron
8d0a058411 Add a GuildScript class with a handful of hooks.
--HG--
branch : trunk
2010-08-14 12:17:05 -07:00
click
e413f20069 Core/Chat: Fix some typos and non-converted #if-statements
--HG--
branch : trunk
2010-08-13 18:02:59 +02:00
XTZGZoReX
9083271a2f * Some singleton renames for consistency:
accmgr -> AccountMgr
objmgr -> ObjectMgr
auctionmgr -> sAuctionMgr
spellmgr -> sSpellMgr
CreatureEAI_Mgr -> sEventAIMgr
achievementmgr -> sAchievementMgr
gameeventmgr -> sGameEventMgr
sInstanceSaveManager -> sInstanceSaveMgr
poolhandler -> sPoolMgr

--HG--
branch : trunk
2010-08-08 05:25:45 +02:00
XTZGZoReX
0993b1fcb5 * Fixes for Linux build.
--HG--
branch : trunk
2010-08-06 23:21:58 +02:00
XTZGZoReX
946adf469c *** New core <-> script library interface - complete rewrite of the old one.
* Removed the misdesigned on_events script/hooks.
* Lots of related cleanups and assertions.
* The interface is now fully object-oriented.
** Scripts no longer use function pointers.
** Scripts no longer use the general-purpose Script struct for everything.
** Script types are split into separate classes which must be inherited depending on what functionality is desired.
* Several script types have been added to allow extending functionality in a code-only manner (some script types require
  assignment in the recently added ScriptName columns in the database, though).
** SpellHandlerScript: Wrapper around spell scripts (returns new SpellScript objects (`spell_script_names`.`ScriptName`)).
** ServerScript: Allows scripting events that occur in the network layer.
** WorldScript: Allows scripting certain world-global events.
** FormulaScript: Allows hooking and interfering with core formulas.
** *MapScript: Allows hooking different map types (including world, instance, and battleground maps (`instance_template`.`ScriptName`)).
** ItemScript: Allows scripting of items (like the old interface (`item_template`.`ScriptName`)).
** CreatureScript: Allows scripting of creatures/AI (like the old interface (`creature_template`.`ScriptName`)).
** GameObjectScript: Allows scripting of gameobjects (like the old interface (`gameobject_template`.`ScriptName`)).
** AreaTriggerScript: Allows scripting triggered area triggers (like the old interface (`areatrigger_scripts`.`ScriptName`)).
** OutdoorPvPScript: Script which should return OutdoorPvP objects for use by OutdoorPvPMgr (`outdoorpvp_template`.`ScriptName`).
** CommandScript: Allows extending the in-core command table.
** WeatherScript: Allows scripting of weather changes (`game_weather`.`ScriptName`).
** AuctionHouseScript: Allows scripting of auction events.
** ConditionScript: Allows scripting of conditions (`conditions`.`ScriptName`).
** DynamicObjectScript: Allows scripting of dynamicobjects.
** TransportScript: Allows scripting of transport events (`transports`.`ScriptName`).
* OutdoorPvP objects are now created through scripts. This effectively means that they'll need to be moved to scripts
  before the they're functional again.
* The whole idea with this new interface is to allow expanding core functionality without touching core code. If further
  hooks are needed to expand functionality of the core, let us know; we'll add them, if we agree that it is appropriate
  to do so.
*** NOTE: The scripts project will _not_ build before it has been adapted to the new interface.
*** Thanks to everyone who helped out with related preparations and suggestions!

--HG--
branch : trunk
2010-08-06 19:23:43 +02:00
click
f5d57f05f7 Remove AuctionHouseBot-functionality from core (some cleanups may be required)
--HG--
branch : trunk
2010-08-06 04:22:07 +02:00
Brian
024b57bb74 * Implement reputation spillover via the database
* Remove the nasty hack that we had to handle Vanguard Alliance / Horde
* Expedition, and city spillover.
* Needs DB data
* Original patch by NoFantasy

--HG--
branch : trunk
2010-07-26 17:58:25 -06:00
Brian
4565242e94 * Implement reputation reward rate for quest / creatures
* Need DB data for this to work
* Original patch by NoFantasy

--HG--
branch : trunk
2010-07-26 16:21:10 -06:00
click
3f9ea75bfa Add SOAP-implementation (based on Benjys patch and adapted for latest core by xk1)
--HG--
branch : trunk
2010-07-23 09:26:23 +02:00
Brian
4320b10901 * Implement the ability to delete characters without them being removed from
* the DB, so they can be unerased
* Original patch by DasBlub
* Ported to Trinty by Az@zel

--HG--
branch : trunk
2010-07-21 12:13:23 -06:00
Shauren
6a539270ec Added global disable system and moved all disable fields/tables/configs into it
NOTE: instance disables were not converted for new system! if you had some then you need to fix that using new system

--HG--
branch : trunk
2010-07-21 12:14:23 +02:00
Shauren
4261828d63 Added support for item set names in case where item does not exist in item_template (like gladiator gear)
--HG--
branch : trunk
2010-06-11 20:02:46 +02:00
Anubisss
d9d6e5732d Add NULL rows for 2 ChatCommand table.
--HG--
branch : trunk
2010-06-11 01:55:04 +02:00
Brian
b76b6700ed * Linux compile with and without PCH fixed
* Script library compile fixed
* --todo: fix all scripts themselves :)

--HG--
branch : trunk
2010-06-08 13:05:47 -06:00
Shauren
ae2f8d70a0 Added support for reloading creature_onkill_reputation table
Commented ace in externals/CmakeLists.txt and moved zlib before g3dlite, requested by click

--HG--
branch : trunk
2010-06-08 17:19:36 +02:00
Brian
b0e1605455 * Getting closer (at least for Linux :) )
--HG--
branch : trunk
2010-06-07 14:44:18 -06:00
Rat
75b80d9f5b rearranged core files
--HG--
branch : trunk
2010-06-05 23:40:08 +02:00