Commit Graph

76 Commits

Author SHA1 Message Date
Discover-
f29463cf66 Core/Achievements: Implement criteria type ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN and criteria requirements ACHIEVEMENT_CRITERIA_REQUIRE_NTH_BIRTHDAY and ACHIEVEMENT_CRITERIA_REQUIRE_KNOWN_TITLE. Fixes anniversary achievements.
By @Schmoozerd
2014-02-05 09:34:12 +01:00
Shauren
c431f463a1 Core/Items: Fixed swapping equipment sets in combat 2014-01-18 12:58:01 +01:00
Discover-
c1a468365b Core/Misc: When a player changes its faction its only removed from all its arena teams if cross-faction interaction is turned off. 2014-01-17 08:17:09 +01:00
Vincent_Michael
20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Spp
94e2b9332a Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive) 2013-11-08 10:50:51 +01:00
Spp
cfaea769bc Core/RBAC: Move RBAC code to namespace rbac 2013-09-27 13:35:45 +02:00
jackpoz
9ce70fb3c9 Core/Guild: Fix memory leak on Guild disband
Fix memory leak when disbanding a Guild, removed from GuildMgr but never deleted. Due to the different ways of how Guild::Disband() and Guild::DeleteMember() are called, each call to these methods has a different way to delete the Guild if empty/invalid.

Valgrind log:
 2,127 (240 direct, 1,887 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 81
  at operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by guild_commandscript::HandleGuildCreateCommand(ChatHandler*, char const*) (cs_guild.cpp:91)
  by ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:339)
  by ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:320)
  by ChatHandler::ParseCommands(char const*) (Chat.cpp:466)
  by WorldSession::HandleMessagechatOpcode(WorldPacket&) (ChatHandler.cpp:217)
  by WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:317)
  by World::UpdateSessions(unsigned int) (World.cpp:2632)
  by World::Update(unsigned int) (World.cpp:1989)
  by WorldRunnable::run() (WorldRunnable.cpp:60)
  by ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186)
  by ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
2013-09-05 22:10:46 +02:00
Machiavelli
4b5c4ab12a Core/CharacterHandler: Some more rules for CMSG_CHAR_ENUM allowance
Thanks to @TakenBacon for heads up
2013-08-30 21:52:59 +01:00
Machiavelli
213998e2d7 Core/NetworkIO: Allow CMSG_CHAR_ENUM after char creation and char deletion
Perhaps these calls could be better placed but it's a matter of trial
and error to see what is most effective.
2013-08-30 00:05:57 +01:00
Machiavelli
59b4c34924 Core/NetworkIO: Generic packet spam solution
Currently regulates the usage of CMSG_CHAR_ENUM only, but can be easily
extended to detect inappropriate network behaviour by using
AntiDOS.AllowOpcode in WorldSession's handlers.
2013-08-29 16:46:28 +01:00
Shauren
6a55395e4f Core/Players: Do not add banned characters to _legitCharacters container 2013-08-18 15:23:39 +02:00
Malcrom
ec474a62e5 Core: More Function Renaming. 2013-06-11 21:25:12 -02:30
Malcrom
66978cfc3b Core: Some function renaming. 2013-06-11 19:54:27 -02:30
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
2e1b1b8ceb Core/Players: Fixed deleting characters, remove CharacterNameData only after the character is deleted, not before 2013-04-29 15:29:51 +02: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
f37e0ee838 Core/Players: Implemented converting quests on faction change (keeping old faction quests in disabled state - not loaded during login) and restoring them if changing back to original faction
Closes #890
Closes #9248
2013-03-04 14:15:52 +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
Vincent_Michael
6cfb5e13dc Core/Character: Rename engrish function 2013-02-16 18:53:44 +01:00
Machiavelli
771598b67a Core/Handlers: Missing returns after KickPlayer() call 2013-02-14 16:12:58 +01:00
Machiavelli
1093abb1ad Core/Handlers: Prevent some cheating in CharacterHandler
Prevents factionchanging and char customising of characters that do not
belong to the current account.
2013-02-14 16:07:36 +01:00
Machiavelli
877a7e9968 Core/Handlers: Fix a crash in HandleCharFactionOrRaceChange
Ensure there's always valid character name data present, even for
characters that were manually inserted into the database, by adding
character name data on char enum if needed.
2013-02-14 15:43:26 +01:00
Nay
a509aea659 Core/Misc: Fix a couple of warnings, some of them performance related
Errors were found using Cppcheck, open-source static analysis tool
2013-01-04 23:14:14 +00:00
Vincent_Michael
cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
joschiwald
f4e7cde1b5 Core/Misc:
- some simplifications in reputation calculation
- removed aura in SPELL_AURA_LINKED should depends on SpellDifficulty
- remove some unneeded variable declarations when it's already declared
- remove some hacks
- fix some warnings in Lfg stuff
- some codestyle changes
2012-12-19 12:55:51 +01:00
Vincent-Michael
b2928e59fa Core/Quest: Add support for monthly quests
Author: svetilo12
Converted and updated by: Subv
2012-12-04 00:04:06 +01:00
Spp
d6aee08621 Core/Misc: Include character level in log when a character is being deleted 2012-11-30 13:59:01 +01:00
Spp
e954498560 Core/Misc: Random changes here and there to minimize differences with 4.3.4 branch 2012-11-27 13:03:12 +01:00
Spp
b5c9ab8802 Core/Misc: Reduction of header dependencies - Step II 2012-11-20 12:30:30 +01:00
horn
771aafc499 Core/Calendar: Completely rewrite and fix most of the calendar system
There are still some issues that need to be fixed, for more info see CalendarHandler.cpp TODO part.
Some unblizzlike behaviour possible, we don't have a lot of sniffs.
Big thanks to @Warpten, he joined my project and helped a lot.

IMPORTANT NOTE: Read / append packed time functions in ByteBuffer.h are not correct, they need to be fixed in order to have event times accurate

Signed-off-by: Nay <dnpd.dd@gmail.com>
2012-11-18 22:42:28 +00:00
Spp
b99c347747 Core: Remove Player.h dependency from all the possible headers 2012-11-17 05:18:37 +01:00
Spp
58ec4e5319 Core/Guild: Code Refactor
- Send correct events when modifiying Ranks (Add, modify, delete)
- Store money/slots withdraw, not remaining slots. This will update remaining slots/money properly.
- Reset daily slots/money withdraw for all members at same time, configurable
- Better debug messages
2012-11-02 22:26:10 +01:00
Spp
14027262ee Core/Dungeon Finder: Add some more debug msgs and restore LFG group structure at server load. 2012-10-29 13:58:48 +01:00
Spp
d2ba73d97f Core/Misc: Proper fix for previous commit (c5c8e38 - check race change before perfoming faction-change actions)
Core/Misc: tab to spaces and remove trailing whitespaces
2012-10-29 12:28:12 +01:00
Spp
c5c8e38789 Core/Misc: Check if race is changed before performing faction-change actions. (By tibbi) 2012-10-29 11:27:00 +01:00
Spp
9fbc4c0ae2 Core/Misc: reduced amount of string memory allocations (Step II) 2012-10-24 15:34:48 +02:00
Spp
013fb1f4d9 Core/Misc: reduced amount of string memory allocations (Step I) 2012-10-24 15:34:48 +02:00
tibbi
4a332082f9 renaming GetBaseReputation used for offline players 2012-10-12 13:47:57 +01:00
tibbi
405c3b09aa adding a new prepared statement for selecting char at_login and titles 2012-10-08 17:29:02 +01:00
tibbi
5896da6689 some optimization + adding level to CharacterNameData 2012-10-08 17:21:09 +01:00
tibbi
d49c2a5e4d correct reputation converting at faction change 2012-10-07 13:55:04 +01:00
Spp
ddf494d78b Core/Battlegrounds: Optimize internal battleground data storage (from Array MAX_BATTLEGROUND_TYPE_ID to std::map) 2012-10-04 10:57:32 +02:00
Spp
f8846cdeaf Core/Utilities: Do not expose internal store structure in Tokens and rename it to Tokenizer 2012-10-02 11:54:41 +02:00
tibbi
dcf68a02f6 typo 2012-09-28 19:54:17 +01:00
tibbi
404a036fa9 adding Title converter to faction converter, original author Silinoron 2012-09-27 22:38:19 +01:00
Spp
8c5f011e79 Core/Achievements: Force all calls to AchievementMgr be done through Player functions (Remove GetAchievementMgr)
Note: No real use in 3.3.5 but will be used in 4.3.4
2012-09-18 14:29:53 +02:00
Nay
d04f155b65 Corrections to previous merged in PR 2012-09-09 00:10:23 +01:00
Nay
e0a3643913 Core/Characters: Add validation checks to barbershop use (prevents exploits)
Thanks Kiddie

Closes #7702
2012-09-08 23:16:35 +01:00
Spp
5cafe0ca01 Core/Logging: Fix delete player crash having logging player enabled.
closes #7437
2012-09-01 21:15:20 +02:00