Commit Graph

75 Commits

Author SHA1 Message Date
Spp b434273ed8 Core/Dungeon Finder: Some optimizations
- Reduce core dependencies with LFGMgr
- Remove reduntant calculations in RoleCheck code
- Remove no longer needed functions
- Fix some packet data (Missing 0 when arrays were null)
- Add some debug msgs

closes issue 5042

--HG--
branch : trunk
2010-12-08 21:29:43 +01:00
click bc098658c6 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
Spp 25ac835507 Core/Groups: Move all function definition from .h to .cpp
Core/Groups: Remove Group.h dependency from any .h file

--HG--
branch : trunk
2010-11-29 07:50:31 +01:00
click 95e956a0b5 Core/Scripts: Convert more commands over to CommandScripts (moves gobject, honor, quest, reload, titles and wp commands to scripts) - Patch by Paradox
(Also fixes a minor visual error on GM-listings (gm ingame/gm list) when the respective user had an R in his/her name).
Closes issue 4792.

--HG--
branch : trunk
2010-11-16 21:27:25 +01:00
click c374f3245a Scripts/Commands: Add tele and event commands to commandscripts system and streamlining the command selection process to ensure the correct command is run when using abbreviations
Patch by Paradox (some cleanups was needed)

--HG--
branch : trunk
2010-11-13 22:29:46 +01:00
click e22426c7c0 Core/Scripts: Reinstate commandscripts, now with extra bling and working commands (and yes, we did test it thoroughly this time)
Thanks to Paradox for sorting the commandscripts and chanhandlers out to work as they were intentionally ment to be like.

--HG--
branch : trunk
2010-11-12 20:47:03 +01:00
click 03e4ecfbfd Core: Partial revert of rcb3188281e, rc85b35f076, r97f9a0fa3e due to missing loader implementation.
(files disabled but kept in repo, and will be fully reinstated once everything is sorted out)
Note: SQL-update-data is NOT supplied for 're-converting' to old help-system - this is after all considered a workrepo untill we tag a commit as stable!

--HG--
branch : trunk
2010-11-10 05:22:27 +01:00
Shauren 93160c369e Fixed compile
--HG--
branch : trunk
2010-11-09 22:30:30 +01:00
Paradox de1798e4ac Core/Scripts Part 1 of moving all commands to commandscripts
closes issue 4669
(first 5 patches rolled into 1)
Patch by Paradox

--HG--
branch : trunk
2010-11-09 10:15:35 -05:00
Rat b3b048449b Core/SmartAI: renamed reload command to reflect funtion name
--HG--
branch : trunk
2010-11-01 16:10:30 +01:00
Rat 5cb119e617 Core/AI: implemented SmartScripts System (still beta) not 100% complete
WARNING: Use scripts at own risk. You were warned.
NOTE0: creature, gameobject, areatrigger type scripts should be fully functional
NOTE1: has no effect on any core related stuff if not using any SmartScript
NOTE2: all event/action/etc descriptions can be found in SmartScriptMgr.h

SmartScripts is a reloadable DB-Sript system, with full control for special scripting,
like escorting, following, complex combat handling, pre-stored AI templates(caster, turret, etc) and much more
with a total of 66 events, 78 actions, 22 target types, and can be easily extended

--HG--
branch : trunk
2010-10-27 21:01:47 +02: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
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 dd29d9e422 More copyright header updates (will this ever end?)
--HG--
branch : trunk
2010-10-07 14:50:05 +02:00
Shocker 53f42d9511 Core/Commands: Also allow .list object possibility to print gameobject entry
--HG--
branch : trunk
2010-09-28 22:21:14 +03: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
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
Shauren 07fc33a083 Core/Commands: Fixed crashes in .ban info and .ban list
--HG--
branch : trunk
2010-09-26 13:00:44 +02:00
Machiavelli a1358880c2 Core/Commands: Fix a crash in .gm list
--HG--
branch : trunk
2010-09-25 23:09:53 +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
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
Spp 822421f625 Core: Fix some warnings:
- enumeration value ‘X’ not handled in switch
- unused parameter 'X'

--HG--
branch : trunk
2010-09-20 13:52:11 +02: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
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 9e9c39244b Code/Groups: use enum as parameter in Group::RemoveMember
--HG--
branch : trunk
2010-09-10 13:37:55 +02:00
Spp fd14d7195f Core: Minor code cleanup before next commits
--HG--
branch : trunk
2010-09-10 13:37:33 +02:00
Shocker f9ecc36fb0 Core/Commands: Implement config for setting the maximum number of results a .lookup command can return, closes issue 3875
--HG--
branch : trunk
2010-09-08 09:28:21 +03:00
Shocker f769e88f5c Core/Commands: Implement possibility to unbind specific maps/difficulties with .instance unbind, based on svetilo12's idea, closes issue 3792
--HG--
branch : trunk
2010-09-05 04:03:02 +03:00
silinoron 5179d3149a Core/Game: Fix remaining warnings on windows (and most likely almost all of the ones on *nix)
--HG--
branch : trunk
2010-09-03 21:55:57 -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
Spp e252b8abe7 Core: Fix more warnings
--HG--
branch : trunk
2010-08-30 23:07:14 +02: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
QAston 5eb7e80fd5 *Send VICTIMSTATE_INTACT on melee attack miss.
*Rename VICTIMSTATE_NORMAL to VICTIMSTATE_HIT.
*Set default memory allocated in Spell::InitExecuteLogData to 32 bytes.

--HG--
branch : trunk
2010-08-27 23:12:52 +02:00
Shocker 1bb14ba578 Remove unneeded line in .freeze so it won't bug players, fixes issue #3650
--HG--
branch : trunk
2010-08-27 00:55:51 +03:00
azazel e3c2bdb722 Core/Cleanup: move repeating code for locale strings retrieval into separate method. Related code cleanup.
--HG--
branch : trunk
2010-08-27 00:57:49 +06:00
Spp 89d87339d5 Core: Update Player Limit and Player Security Level variables
- Allowed Security Level will be set at server load or with 'server plimit reset' command (before it was read each time someone tried to join)
- If Security Level is updated to a more restrictive value all people under that level will be autokicked

--HG--
branch : trunk
2010-08-24 19:09:41 +02: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
azazel caa3a58213 Core:
* add Player::HasEnoughMoney methods to check, whether player has specified amount of money and use new methods where applicable
* fix some signed/unsigned warnings and some typos

--HG--
branch : trunk
2010-08-23 22:58:32 +06:00
Spp 16d95d3115 Core: Fix some warnings
--HG--
branch : trunk
2010-08-23 07:51:19 +02:00
Spp a40cb46e61 Core: fix "comparison of unsigned expression < 0 is always false" warnings
--HG--
branch : trunk
2010-08-21 23:40:53 +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
Machiavelli 994186f267 DB Layer:
- Make SQL Transactions actual objects used in code. (Thanks to Derex for the idea)
* Uncommitted transactions will be automatically rolled back and cleaned up using ACE_Refcounted_Auto_Ptr, so no need to call Rollback() in the code.
* Prevents recursive transactions and makes developers aware of transactions going on.
* Gets rid of unneccesary overhead iterating over a concurrent map.
- Some cleanups in affected code, including better usage of transaction control in AH / mail related code to prevent data loss.

*** Experimental, use at own risk, recommended to backup your DBs. ***

--HG--
branch : trunk
2010-08-21 03:19:25 +02:00
QAston 2ffe785765 Core/Spells: add SPELL_ATTR_CU_IGNORE_ARMOR to the avalible custom attribute list, make some spells use the attribute. Research made with JohnHoliver and Shauren
--HG--
branch : trunk
2010-08-18 19:26:07 +02:00
click 407f39cbac Yay for typos...
--HG--
branch : trunk
2010-08-17 12:09:45 +02: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
click b4bef54b7a Fix Windows-build (YES, IT COMPILES!) - partial revert of revision a9386a2655
- Use minihack on ACE to avoid using config.h on Windows platforms
- Put include-locations for ACE in AFTER everything else (for later use)
An insane thanks to paradox for being patient with testing changes and swapouts

--HG--
branch : trunk
2010-08-16 09:51:37 +02:00
click 916c7f09f8 Buildsystem/Linux: Deprecate and remove use of FindTermcap.cmake - it was only used as a solution for older CentOS versions
Core/Genrevision: Move defines from SystemConfig.h file into into revision.h (might need a rename now?) and delete it.
This should remove the infamous "rebuild all of game plzkthx"-symptom when upgrading to newer revisions.

--HG--
branch : trunk
2010-08-14 21:28:00 +02:00
silinoron 8d0a058411 Add a GuildScript class with a handful of hooks.
--HG--
branch : trunk
2010-08-14 12:17:05 -07:00