Commit Graph

785 Commits

Author SHA1 Message Date
Subv 25acef2572 * Batch of fixes for issues found by static analysis. 2013-05-17 21:11:18 -05:00
Shauren 7d46703413 Core/Misc: Another batch of fixes for issues found by static analysis 2013-05-17 21:30:02 +02:00
Spp d1677b2db0 Core/Logging: Performance-related tweaks to logging system
All sLog->out* functions (except outCommand atm) are replaced with TC_LOG_* macros.
    Memleak fix
2013-05-13 15:07:36 +02:00
Shauren 77d4acc776 Core/Players: Fixed deleting characters unlinked from accounts
Closes #9764
2013-05-07 19:55:16 +02:00
Shauren 45bae8d4b7 Core/Players: Fixed tabard championing in normal modes of WotLK level 80 dungeons
Closes #9227
2013-05-04 20:50:14 +02:00
Shauren 2e1b1b8ceb Core/Players: Fixed deleting characters, remove CharacterNameData only after the character is deleted, not before 2013-04-29 15:29:51 +02:00
Aokromes c94d50236a Merge pull request #9733 from xjose93/ImproveLog10
Core/Logs: Add player guid into some logs
2013-04-29 01:22:17 -07:00
xjose93 fc02b7f8a0 Core/Logs: Add player guid into some logs. 2013-04-29 10:15:35 +02:00
xjose93 c0b7755384 Core/Logs: Add mapname at logging some info about loading bound instances 2013-04-29 09:20:26 +02:00
Ascathor 1c2d617c18 Core/Player: CharDelete.Heroic.MinLevel as seperated unlink requirement for Heroic classes
Also added documentation for GetCharacterNameData
2013-04-28 00:04:55 +02:00
xjose93 24fb735a0d Core/Player: Add playername at log when a player not found in characters database. 2013-04-26 14:38:27 +02:00
Gacko 34c73a5121 Core/Player: showQuests check in PrepareGossipMenu for GameObjects 2013-03-31 15:46:32 +02:00
Spp d03da1320a typo fix after 1a6a23e 2013-03-25 14:36:04 +01:00
Spp 1a6a23ec96 Core/Misc: Minor optimizations (+code changes to reduce differences with 4.3.4 branch)
Core/Logging: Create new logger type "Cheat". Will be used to log all cheat attempts
2013-03-25 13:26:48 +01:00
Shauren d05aac03ae Core/Players: Cleanup code in SendPreparedQuest (checks doing nothing...) 2013-03-21 21:01:52 +01:00
Spp 69e81d46b1 Core/Misc: Define multiple functions const (+ code cleanup here and there) 2013-03-20 14:20:17 +01:00
Shauren 2c169bcca5 Core/Vehicles
* Fixed crash happening when passenger died on vehicle he was controlling
* Fixed crash happening if vehicle control aura was removed before passenger is fully added to vehicle

Closes #7160
2013-03-13 11:34:58 +01:00
Shauren b3b66a8d02 Core/Vehicles: Fixed a possible crash if vehicle is deleted before its passenger runs Abort on pending join event
Closes #9392
2013-03-09 23:42:54 +01:00
SgT-Fatality 8e8617cfe6 Scripts/Commands: Fix .mod rep faction not updating client side reputation
Closes #7939
Closes #9354
2013-03-09 15:58:25 +00:00
Nefarion 49fd11ab5a First step of comment style refactoring to doxygen-style. 2013-03-08 21:55:37 +01:00
Spp 377cfdb560 Core/RBAC: Fix multiple permissions and remove multiple config options that are currently implementes by RBAC
- Remove config options: CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT, CONFIG_ALLOW_TWO_SIDE_INTERACTION_MAIL, CONFIG_GM_LOG_TRADE, CONFIG_ALLOW_TWO_SIDE_ACCOUNTS, CONFIG_ALLOW_TWO_SIDE_WHO_LIST, CONFIG_ALLOW_GM_FRIEND, CONFIG_ALLOW_TWO_SIDE_ADD_FRIEND, CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL
- Fix RBAC_PERM_SKIP_CHECK_CHAT_SPAM (Was checking spam for those that had the permission)
- Only check RBAC_PERM_TWO_SIDE_INTERACTION_CHAT for sender of whispers (Restores GM being able to whisper players)
- Only check RBAC_PERM_TWO_SIDE_INTERACTION_MAIL for sender
- Fix .ticket assign <Player>, with last RBAC change it was changed by mistake from Player to Account
2013-03-08 13:15:25 +01:00
Shauren 856551c981 Core/Players: Corrected online flag set in database when logging out, spotted by e000
Closes #9310
2013-03-05 22:36:58 +01:00
Vincent_Michael 5d4e657e91 Core: Whitespace cleanup 2013-03-04 19:14:58 +01:00
QAston 344eb8e31c Merge remote-tracking branch 'origin/refactoring' 2013-03-04 15:58:33 +01:00
QAston 4eec72c986 Core/Entities: Move complex function implementations from Player.h to Player.cpp 2013-03-04 15:56:00 +01:00
Shauren f698753a57 Added missed change to previous commit 2013-03-04 14:28:57 +01:00
Shauren 4a6f5d2b54 Core/Spells: Defined & implemented SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS 2013-02-28 20:46:50 +01:00
Shauren af4ac778d7 Core/Quests: Implemented quest flag forcing the player to be flagged for PvP as long as the quest is in his log. 2013-02-26 17:14:13 +01:00
Shauren e3e5d14d52 Core/Quests: Updated quest flags and implemented QUEST_FLAGS_NO_MONEY_FROM_XP - experience reward from quests using this flag is not converted into money at max level. 2013-02-26 16:57:11 +01:00
Spp 019770dddb Core/RBAC: Create new permissions related to character creation
- 'Skips character creation team mask check'
- 'Skips character creation class mask check'
- 'Skips character creation race mask check'
- 'Skips character creation reserved name check'
- 'Skips character creation heroic min level check'
- 'Creation of two side faction characters in same account' (Affected by global config option)
2013-02-25 15:48:19 +01:00
Spp 18562a43ba Core/RBAC: Create new permissions 'Skips needed requirements to use channel check', 'Filter whispers', 'Allow say chat between factions'. Last one needs config option to be enabled and both sender and receiver to have the permission 2013-02-25 15:48:18 +01:00
Spp 9bd697066b Core/RBAC: Add new permissions 'Skip disable map check', 'Skip reset talents when used more than allowed check', 'Skip spam chat check', 'Restore saved gm setting states', 'Use Config option START_GM_LEVEL to assign new character level' 2013-02-25 15:48:18 +01:00
Roc13x 0267b53813 Core/Items: Fix logic in Player::AddItem
Should send client the amount it gave you, not the amount it couldn't
give you
2013-02-15 12:29:34 +00:00
Shauren d232977ec4 Core/Maps: Prevent creating maps without a valid Map.dbc entry
Closes #9181
2013-02-14 16:54:31 +01:00
Shauren 97e876209e Core/Players: Fixed crash when mute expired while player was ingame 2013-02-08 18:18:26 +01:00
Nay 0b3170c228 Core/Player: Fix a query that was wrongly deleting items
CHAR_DEL_ITEM_INSTANCE deletes by item guid but in Player::DeleteFromDB the guid being used was player's guid.
That means that if player with guid 100 was deleted, the item with guid 100 would also be deleted. This item could or could not belong to the player.

Closes #8883
Closes #9136

Thanks to @vlad852 for finding the issue
2013-02-06 13:17:21 +00:00
Spp dd0658e675 Warning fix 2013-02-05 11:12:00 +01:00
Spp 61979f8591 Scripts/Player: Add OnMapChanged to PlayerScripts (after map changed)
Core/Dungeon Finder: Use OnMapChanged script to cast/remove Luck of the draw
- Also move code to force party update to LfgPlayerScript
- Remove some obsolete Lfg code after recent commits
2013-02-04 16:52:43 +01:00
Spp b980aff83e Core: Implement Role based Access Control
- This system will give more control of actions an account can perform.

System defines:
- Permissions to perform some action
- Roles: a set of permissions that have some relation
- Groups: a set of roles that have some relation

Operations:
- Grant: Assign and allow
- Deny: Assign and do not allow
- Revoke: Remove

Precedence to know if something can be done: Grant, Deny. That means, if you are granted some action by a role but you have denied the permission, the action can not be done.

Some Rules:
- Groups can only have roles
- Roles can only have permissions
- An account can be assigned granted and denied roles. Permissions inherited from roles are granted if roles is granted and denied if roles is denied
- An account can be assigned granted and denied permissions
- An account can have multiple groups, roles and permissions
- An account can not have same role granted and denied at same time
- An acconnt can not have same permission granted and denied at same time
- Id 0 can not be used to define a group, role or permission

Added some permissions as a sample of use (Instant Logout, Skip Queue, Join BGs, Join DF) and some permissions as a workaround to commands till command system is modified to use RBAC
2013-02-04 09:04:33 +01:00
Spp ec5d16db8a Core/Dungeon Finder: Declare some functions private as those are not used outside LFGMgr. Also do not expose LFGDungeonData outside LFGMgr 2013-02-04 06:43:03 +01:00
Spp f743424f63 Core/Dungeon Finder: Corrections to previous commit
- player::inRandomLfgDungeon was supposed to return if current player map and difficulty are the ones player applied for
2013-02-04 05:50:52 +01:00
Spp 9bdfc87774 Core/Dungeon Finder: Use lfg namespace to encapsulate all LFG classes, structs and enums 2013-02-04 04:43:50 +01:00
Shauren 0bf29d45d1 Core/Players: Prevent trading, taking gold from mail and withdrawing from guild bank if it would put the player over gold cap.
Closes #4015
2013-02-01 11:38:55 +01:00
Vincent_Michael 480c847156 Core: Some cosmetic changes 2013-01-26 19:49:53 +01:00
Shauren bf0c976f76 Core/Players: Fixed uninitialized variable for item swaps 2013-01-24 17:23:34 +01:00
Spp cc605e0605 Core/Misc: Minor cosmetic changes here and there 2013-01-24 16:57:35 +01:00
Nay 40a470c669 Merge pull request #9037 from krofna/crefixes
Fix error when swapping unique equipped weapon on dual wield
2013-01-24 06:39:50 -08:00
Mislav Blažević 54027803bd Fix error when swapping unique equipped weapon on dual wield
Also fix rings and trinkets
2013-01-24 08:59:14 +01:00
Shauren 0333c4ce8f Core/DataStores: Corrected reading CharStartOutfit.dbc 2013-01-19 18:19:30 +01:00
Shocker 7d28c10bd0 Core/Misc: Delete spell from character_spell table too when encountering an invalid spell 2013-01-18 03:22:58 +02:00