Commit Graph

113 Commits

Author SHA1 Message Date
Liberate
9bd804dece Updates the arena rating system to use Matchmaker Rating.
The arena_team_stats sql in this commit sets all ratings to 0.
You start with 0 Team Rating and 1500 Matchmaker Rating.
Personal rating is moved to character_arena_stats, and will not reset when disbanding an arena team.
This new system is based on all the info I could get, but Blizzard didn't leak much info about the new system.
At least this system is really close to the official system.
Any issues found should be reported in an issue.
Huge thanks go to Aokromes for the intensive testing he has done with me.
Also thanks to Parzival for hearing me out and giving his ideas.
Fixes issue #3189

--HG--
branch : trunk
2010-08-27 18:18:26 +02: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
azazel
5fa14f58dc Core/Cleanup:
* move repeating code into separate method for storing locale strings in ObjectMgr (copy/paste sucks, you know)
* fix 'signed/unsigned' warnings (at least in VS)
* fix some other warnings and cleanup relative code

--HG--
branch : trunk
2010-08-26 15:54:56 +06:00
Machiavelli
bb5f7b6492 More async queries in stable master opcode handlers instead of blocking queries
Please report any issues that pop up.

--HG--
branch : trunk
2010-08-25 21:03:28 +02:00
Shocker
91ebad0016 * Add support for quest 1393 (Galen's Escape), original code by przemratajczak, port by McBitter, closes issue 3463
* Fix typo in AuctionHouseHandler, thanks GriffonHeart, fixes issue 3609
* Forgotten thanks

--HG--
branch : trunk
2010-08-25 21:23:28 +03:00
Machiavelli
e8a7a53bfa Fix crash added in 9c655c11b7
--HG--
branch : trunk
2010-08-25 19:12:53 +02: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
Machiavelli
119e057810 I love you HG
--HG--
branch : trunk
2010-08-24 19:05:59 +02:00
Machiavelli
4185bb3181 DBLayer:
- Implement QueryCallback_2 template for ACE_Future callbacks using 2 parameters for the callback function
- Make MSG_LIST_STABLED_PETS´s handler use async query instead of blocking query

--HG--
branch : trunk
2010-08-24 19:04:25 +02:00
Spp
33f1c597a0 Remove trailing spaces in Dungeon Finder files
--HG--
branch : trunk
2010-08-24 10:32:53 +02:00
silinoron
85e72c9132 Only send LANG_NOT_ENOUGH_GOLD notification during trade if the trader does not have enough money...
Thanks 0xFuture.
Fixes issue #3587
Update THANKS file...

--HG--
branch : trunk
2010-08-23 21:41:29 -07:00
Shocker
5e92a8e55a Fix accessories for vehicle player mounts (the vendors on Traveler's Tundra Mammoth for example)
--HG--
branch : trunk
2010-08-24 07:19:29 +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
silinoron
e581feb551 Pets should inherit owner's hostility status for the purposes of target checking
Based on patch by Toni.Shocker
Fixes issue #3552

--HG--
branch : trunk
2010-08-23 14:46:10 -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
Brian
39247aba30 Core: Remove outdated comment
--HG--
branch : trunk
2010-08-20 04:45:12 -06:00
Spp
2f86baf20e Core/Vendors: Fix typo that prevented alliance GM from viewing horde items in vendors
--HG--
branch : trunk
2010-08-23 14:12:39 +02:00
Spp
58e94dcb9d Core: Fix more warnings
--HG--
branch : trunk
2010-08-23 14:10:24 +02:00
silinoron
5cbae843d5 Core/Game: fix all warnings related to converting doubles and floats.
--HG--
branch : trunk
2010-08-22 12:39:39 -07:00
click
670964803f Core: Fix more warnings, add new function sLog.outStaticDebug() that replaces DEBUG_LOG
--HG--
branch : trunk
2010-08-22 01:57:04 +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
Spp
a136403dee Core: Remove "suggest parentheses around ‘&&’ within ‘||’" and "suggest parentheses around assignment used as truth value" warnings
--HG--
branch : trunk
2010-08-21 21:54:41 +02:00
Spp
e7856a831c Core: Remove "enumeration value 'xxx' not handled in switch" warnings
--HG--
branch : trunk
2010-08-21 20:55:31 +02:00
Spp
c3343638cb Core: Remove lots warnings:
- All "'xxx' will be initialized after 'yyy' when initialized here"
- Some "unused variable"
- Some "enumeration value 'xxx' not handled in switch"

--HG--
branch : trunk
2010-08-21 20:08:47 +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
click
a7498d2f56 Core/Includes: Include ACE as an external dependency, not local (#include "ace/something.h" -> #include <ace/something.h>)
--HG--
branch : trunk
2010-08-21 02:27:12 +02:00
Machiavelli
3932fc8c83 - Fix Linux build (huge thanks to Aokromes for testing as always)
- Some work towards resolving the crash on shutdown by implementing a shutdown task

--HG--
branch : trunk
2010-08-19 00:13:09 +02:00
Machiavelli
d845a903b1 DBLayer:
- Use ACE_Future and ACE_Future_Set for async SQL queries with callback
* Callbacks will now be executed from the thread and object that scheduled the request, instead of the world runnable thread (and thus are no longer dependent on the 50ms forced sleep time).
* This design gets rid of a potential DOS loophole in the resultqueue system - unique requests will be cancelled when re-requested.
- Drop now redundant SQLQueryTask, SQLResultQueue, SQLResultQueueTask operations.
- Drop now redundant CharacterHandler class
- Change static callback functions in WorldSession to normal functions.

Thanks to Derex and Zor for advice along the way.

--HG--
branch : trunk
2010-08-18 19:48:51 +02:00
silinoron
d6fe4b23e9 Add support for recruit-a-friend XP and reputation multipliers.
More research needs to be done to implement summoning and granting levels.

--HG--
branch : trunk
2010-08-17 19:18:09 -07:00
Machiavelli
87218eadcd * HIGHLY EXPERIMENTAL - USE AT OWN RISK *
Database Layer:
- Implement connection pooling: Instead of 1 delay thread per database, you can configure between 1 and 32 worker threads that have a seperate thread in the core and have a seperate connection to the MySQL server (based on raczman/Albator´s database layer for Trinitycore3)
- Implement a configurable thread bundle for synchroneous requests from seperate core threads (see worldserver.conf.dist for more info)
- Every mapupdate thread now has its seperate MySQL connection to the world and characters database
- Drop inconsistent PExecuteLog function - query logging will be implemented CONSISTENTLY later
- Drop current prepared statement interface - this will be done *properly* later
- You´ll need to update your worldserver.conf and authserver.conf
- You´re recommended to make a backup of your databases before using this.
* HIGHLY EXPERIMENTAL - USE AT OWN RISK *
* HIGHLY EXPERIMENTAL - USE AT OWN RISK *
etc.

--HG--
branch : trunk
2010-08-18 02:25:52 +02:00
Spp
6009ac3f45 Dungeon Finder: Simplify 'Offer to continue' checks and allow to join non-random dungeon after a random one is assigned
--HG--
branch : trunk
2010-08-17 11:26:31 +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
Spp
ff726c2792 Dungeon Finder: Add config value to Enable/Disable Dungeon Finder
Note: Default value = Disable (while is WIP)

--HG--
branch : trunk
2010-08-14 03:25:43 +02:00
Spp
e52886130f Dungeon Finder: Fix an error that was preventing a group from exit queue
--HG--
branch : trunk
2010-08-14 02:05:49 +02:00
Spp
3e29ae1ee8 Dungeon Finder: Add vote kick support
--HG--
branch : trunk
2010-08-13 15:38:10 +02:00
Spp
0f378aac24 Dungeon Finder: Fix Teleport issues
- Trying to leave the dungeon using the portal will teleport you back to the save point
- If group is disbanded all people is teleported out

--HG--
branch : trunk
2010-08-13 09:24:24 +02:00
azazel
ed08bedc6e * Modify PlayerScript::OnChat hook. Now it takes one optional parameter of type void *. Value of this parameter depends on chat type.
* Modify chat and emote hook in PlayerScript to take Player parameter insted on WorldSession (this is player script, isn't it?)
* Move calls of OnChat hooks after validation of parameters and before actual call to chat methods. It's more logical because otherwise it will be necessary to repeat validation inside hooks.
* Make use of new PlayeScript hooks. Move chat logging logic into separate script.
* Add one path to scripts CMakeLists to make ChatLogScript happy.

--HG--
branch : trunk
2010-08-12 22:33:45 +06:00
silinoron
c7b48c1ca9 Add PlayerScript hooks:
* OnMoneyChanged
* OnGiveXP
* OnReputationChange
* OnChat
* OnEmote
* OnTextEmote

--HG--
branch : trunk
2010-08-11 22:53:31 -07:00
Spp
eec9212ee4 Dungeon Finder: Fix bad dungeon selection being show at offer continue rolechecks
--HG--
branch : trunk
2010-08-12 00:02:15 +02:00
Spp
41534a1324 Dungeon Finder: Add proposals, find group algorithm and teleport support
Note: Adds hability to find a group and be teleported to dungeon, but no rewards yet (WIP)

--HG--
branch : trunk
2010-08-11 15:55:27 +02:00
Spp
f9468e7e5d Dungeon Finder: Add LFG support to groups
--HG--
branch : trunk
2010-08-11 15:20:20 +02:00
Spp
23c4b1be25 Dungeon Finder: minor improvements and code clean-ups
- Initialize all packet size properly
- Updated all function documentation
- Add placeholders to all LFG opcodes
- Use lowguids wherever is possible

--HG--
branch : trunk
2010-08-11 13:25:14 +02:00
Spp
4b62042b28 Dungeon Finder: Make player internal Lfg data private and some minor cleanups
--HG--
branch : trunk
2010-08-11 11:54:03 +02:00
Shauren
88965d9419 Fixed honor points and arena points displaying in currency tab
Currencies lost (spent all in vendor) are not removed from known currencies tab, they now display 0 count

--HG--
branch : trunk
2010-08-10 13:26:07 +02:00
QAston
617a56ba29 *Implement spell casting on transports (no more out of range error, etc)
*Add MO transports to ObjectAccessor storage
*Add functions Position::RelocateOffset and Position::GetPositionOffsetTo to help offset manipulations - BIG thanks to azazelkon for creating formulas!
*Add function to output debug info for MovementInfo and SpellCastTargets
*Throw ByteBufferException on incorrect packGUID read
*Add rfinish function to finish bytebuffer read.

--HG--
branch : trunk
2010-08-08 20:32:14 +02:00
click
1f80c7b3c0 Sourcefile sleanups -> tabs to spaces, remove whitespace - also update the cleanupscripts very slightly
--HG--
branch : trunk
2010-08-08 19:45:53 +02:00
azazel
590199d8e1 * Rename InstanceData to InstanceScript
* Rename *mgr to their new names in scripts project
* Mass convert all the scripts (NEEDS THOROUGH TESTING, because it was done automatically) Please, report bugs on issue tracker.

--HG--
branch : trunk
rename : src/server/game/Instances/InstanceData.cpp => src/server/game/Instances/InstanceScript.cpp
rename : src/server/game/Instances/InstanceData.h => src/server/game/Instances/InstanceScript.h
2010-08-08 22:54:58 +06: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