Commit Graph

21108 Commits

Author SHA1 Message Date
jackpoz
b92e1046be Merge pull request #12007 from Trisjdc/spell_pushback
Core/Spells: Define and implement SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE
2014-05-29 19:54:39 +02:00
jackpoz
fabceddacb Merge pull request #12160 from Trisjdc/petai
Core/PetAI: Pin should not be interrupted if the victim has a breakable aura
2014-05-29 19:45:48 +02:00
jackpoz
1b47f3270e Core/NetworkIO: Adjust more packet throttling values
Adjust more packet throttling values and add Player name to log to help investigate false positives.
2014-05-29 19:43:09 +02:00
Trisjdc
9f50dd3bd6 Core/PetAI: Pin should not be interrupted if the victim has a breakable aura 2014-05-28 21:52:01 +01:00
jackpoz
f312b86941 Core/NetworkIO: Adjust more packet throttling values 2014-05-27 21:19:19 +02:00
joschiwald
acc9f1575a Merge pull request #12146 from Trisjdc/spell_hymn
Core/Spells: Missing target conditions for Divine Hymn/Hymn of Hope's second effect
2014-05-27 02:32:49 +02:00
Trisjdc
0e32789cd2 Core/Spells: Missing target conditions for Divine Hymn/Hymn of Hope's second effect 2014-05-26 20:42:53 +01:00
jackpoz
b5b64a2cdd Core/NetworkIO: Adjust more packet throttling values 2014-05-26 20:13:04 +02:00
jackpoz
c06dc7d37a Core/NetworkIO: Adjust more packet throttling values
Adjust some more packet throttling values.
Revert b35f831f2b since it's no longer needed.
Modify the AntiDoS log to specify in a more readable way which opcode triggered the system and how many packets have been received.
2014-05-25 20:14:59 +02:00
Sebastian Valle Herrera
c06a263f96 Merge pull request #12129 from Trisjdc/go_collision
Core/Collision: Solve collision issues with non spawned GOs
2014-05-25 11:15:17 -05:00
Sebastian Valle Herrera
1a48967cdf Merge pull request #12130 from Trisjdc/go_collision_2
Core/Collision: Solve collision issues with GAMEOBJECT_TYPE_DOOR GOs
Closes #6303
Closes #7628
2014-05-25 11:12:06 -05:00
Shauren
d6414bd9a5 Merge pull request #12131 from Trisjdc/resting
Core/Players: Implement resting for areas with AREA_FLAG_REST_ZONE_ALLIANCE or AREA_FLAG_REST_ZONE_HORDE
2014-05-25 16:17:58 +02:00
Trisjdc
fd753a6105 Core/Players: Implement resting for areas with AREA_FLAG_REST_ZONE_ALLIANCE or AREA_FLAG_REST_ZONE_HORDE 2014-05-25 15:05:15 +01:00
jackpoz
b4327bfc69 Core/Misc: Fix no-pch build 2014-05-25 15:48:06 +02:00
jackpoz
2f0f8f8018 Core/NetworkIO: Adjust packet throttling values
Adjust packet throttling values to avoid false positive. In case you are experiencing random kicks change the PacketSpoof.Policy setting in worldserver configs and report which packets are triggering the anti-dos system.
2014-05-25 15:26:49 +02:00
jackpoz
5e66253de2 Core/Misc: Throw an exception if client sends invalid float/double data
Throw a ByteBufferException if client sends 1.#INF0000, 1.#QNAN000, 1.#IND0000 or other invalid float/double values.
Handle this invalid values in StaticMapTree::isInLineOfSight() to avoid triggering an assert.
Fixes #12126
2014-05-25 15:18:55 +02:00
Trisjdc
0ce6824a86 Core/Collision: Solve collision issues with GAMEOBJECT_TYPE_DOOR GOs 2014-05-25 11:35:51 +01:00
Trisjdc
45fcc2ff9d Core/Collision: Solve collision issues with non spawned GOs 2014-05-25 11:34:26 +01:00
jackpoz
01b33a6772 Merge pull request #12084 from Trisjdc/pet_combat_2
Core/Spells: Players with active pets count as if they were players in combat against spells with SPELL_ATTR1_CANT_TARGET_IN_COMBAT
2014-05-25 11:25:04 +02:00
jackpoz
c4497e26f3 Merge pull request #12119 from Trisjdc/sniper_training
Core/Spells: Sniper Training should refresh every 6 seconds if all conditions are met
2014-05-25 00:35:35 +02:00
jackpoz
1f78ff541a Merge pull request #12120 from Trisjdc/aura_exploit
Core/Auras: Solve exploit involving SPELL_AURA_MOD_DAMAGE_DONE and weapon swapping
2014-05-25 00:32:37 +02:00
jackpoz
a4ba54fbdb Core/NetworkIO: Improve packet spam solution
Implement an improved packet Anti-DoS by counting how many times the same opcode has been sent in the last second and applying the policy specified in the configs if the amount of packets exceeds a reasonable amount.
Credits to the original author who decided to share this with TrinityCore team.
2014-05-24 22:34:06 +02:00
Trisjdc
51b782a91e Core/Auras: Solve exploit involving SPELL_AURA_MOD_DAMAGE_DONE and weapon swapping 2014-05-24 19:01:05 +01:00
Trisjdc
ea1c4a355c Core/Spells: Sniper Training should refresh every 6 seconds if all conditions are met 2014-05-24 18:57:26 +01:00
jackpoz
f091713086 Core/Misc: Fix typo
Fix typos about the word "Resurrect"
2014-05-24 18:25:53 +02:00
Discover-
8f42dd3fab Merge pull request #12111 from MitchesD/commands
Scripts/Commands: added option to show InhabitType in .npc info command
2014-05-24 00:45:06 +02:00
MitchesD
007e903753 Scripts/Commands: added option to show InhabitType in .npc info command 2014-05-23 20:51:22 +02:00
Discover-
80daaf8d43 Core/SAI: SMART_EVENT_IC_LOS is now called when movement in LOS was made while the creature was in combat 2014-05-23 17:11:37 +02:00
joschiwald
3c97735056 Scripts/PoS: fixed rimefang icy blast
Closes #632
2014-05-23 16:16:31 +02:00
Warpten
fa31b161cc Merge pull request #12102 from Trisjdc/achievements
Core/Achievements: Fixed ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS in case killed creature has a loot recipient (Credit would be granted to loot recipient rather than killing blow lander)
2014-05-22 20:04:27 +02:00
Shauren
8ddb112569 Merge pull request #12107 from Trisjdc/nitro_jump
Core/Spells: Nitro Boost should not fail in dungeon maps
2014-05-22 17:28:48 +02:00
Trisjdc
4793f20506 Core/Spells: Nitro Boost should not fail in dungeon maps 2014-05-22 14:40:21 +01:00
Trisjdc
4d3156e0b8 Core/Achievements: Fix ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS 2014-05-21 15:10:15 +01:00
jackpoz
1083dbb993 Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get* 2014-05-20 21:21:33 +02:00
jackpoz
d36ecbf4a3 Merge pull request #12076 from Trisjdc/even_more_sai
Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode
2014-05-19 22:00:48 +02:00
jackpoz
0166d9bf89 Merge pull request #12083 from Trisjdc/pet_combat
Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat
2014-05-19 21:44:15 +02:00
jackpoz
35d5e63258 Merge pull request #12018 from Foereaper/master
Core/Misc: Fixed SendAddonMessage issue.
2014-05-19 21:33:08 +02:00
Aokromes
a5f84e83cc DB/Creature: Fix Crazed Mana Surge
By dr-j, closes #11998
2014-05-19 18:31:57 +02:00
Aokromes
ced47da812 DB/Quest: Fix Gambling Debt
By dr-j, closes #12092
2014-05-19 18:28:57 +02:00
Shauren
b83cff2a85 Core/Vehicles: Set proper power type using PowerDisplay.dbc
Original commit by Xfurry - cmangos/mangos-wotlk/bef8c99cc07c96d4e2f45e0ff6bc107068555ffb
2014-05-19 15:42:51 +02:00
Shauren
b41de6cb38 Core/Misc: Removed remnants of old db threading model 2014-05-19 14:48:10 +02:00
joschiwald
37073a8817 Merge pull request #12082 from MitchesD/misc_2
Scripts/Krystallus: converted to EventMap, removed useless code
2014-05-19 02:48:41 +02:00
jackpoz
7228bd3664 Revert "Core/Logging: Use logger cache for speed up logger filter search"
This reverts commit 39331ea7b9.
This is required to fix a race condition introduced with the logger cache. Adding a locking mechanism might make worthless the speed gain added by the cache itself, push a proper thread-safe implementation if it's worth it.

Helgrind log:
Possible data race during write of size 8 at 0x736F428 by thread #1
Locks held: none
   at 0x11872DF: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1196)
   by 0x11865A1: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1342)
   by 0x1185A48: std::__detail::_Map_base<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::string const&) (hashtable_policy.h:496)
   by 0x1184F3A: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::operator[](std::string const&) (unordered_map.h:596)
   by 0x1184495: Log::GetLoggerByType(std::string const&) (Log.h:106)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x16E7121: World::LoadConfigSettings(bool) (World.cpp:909)
   by 0x16EB623: World::SetInitialWorldSettings() (World.cpp:1276)
   by 0x118F0EC: Master::Run() (Master.cpp:169)
   by 0x1196AFF: main (Main.cpp:142)

This conflicts with a previous read of size 8 by thread #3
Locks held: none
   at 0x1186EA6: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:1162)
   by 0x1186263: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:604)
   by 0x11857B9: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::string const&) (hashtable.h:1025)
   by 0x1184DE2: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::find(std::string const&) (unordered_map.h:543)
   by 0x11842EF: Log::GetLoggerByType(std::string const&) (Log.h:84)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x189AACA: MySQLConnection::Execute(char const*) (MySQLConnection.cpp:175)
   by 0x18A3225: BasicStatementTask::Execute() (AdhocStatement.cpp:56)

Address 0x736F428 is 120 bytes inside a block of size 184 alloc'd
   at 0x4C2AE3A: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:350)
   by 0x1185046: ACE_Singleton<Log, ACE_Thread_Mutex>::instance() (Singleton.cpp:91)
   by 0x11968E2: main (Main.cpp:135)
2014-05-18 16:53:29 +02:00
jackpoz
0904858624 Revert "Core/Logging: store loggers in cache correctly"
This reverts commit c6a4d5a1de.
2014-05-18 16:04:59 +02:00
jackpoz
a83c315771 Core/Calendar: Fix warning
Fix warning added b6048f89f7 about signed/unsigned comparison mismatch
2014-05-18 14:41:11 +02:00
MitchesD
fa1358afce Scripts/Krystallus: converted to EventMap, removed useless code 2014-05-18 13:48:09 +02:00
Shauren
f9c7bb4171 Partially revert f296095191 "Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic."
Visual studio does not support constexpr
Made semicolon after "Prepare*Script" mandatory - workaround for dumb IDEs inserting extra indentation level after newline
2014-05-18 12:50:10 +02:00
Trisjdc
c273f5368a Core/Spells: Players with active pets count as if they were players in combat against spells with SPELL_ATTR1_CANT_TARGET_IN_COMBAT 2014-05-18 11:36:12 +01:00
Trisjdc
8aee9dd948 Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat 2014-05-18 11:00:48 +01:00
Aokromes
fce80ffa6e Update 2014_05_18_04_world_misc.sql 2014-05-18 03:30:44 +02:00