Commit Graph

17844 Commits

Author SHA1 Message Date
Malcrom
6ba4d70b5c Core/Player: Allow questgiver, if npc, to cast quest RewSpellCast & RewSpell rather than player. 2013-11-23 00:17:37 -03:30
Malcrom
d7c0fe9fc3 Scriting/Eversong Woods: Minor fix. 2013-11-23 00:10:27 -03:30
Malcrom
efb7b17440 Scripting/Eversong_Woods: Add quest end scripting for quest 8487.
Also fixes for quest 8488 but not completely fixed.
2013-11-23 00:04:37 -03:30
xjose93
86e0c7d856 Instance/Halls of Reflection/Lich King event: Implement loot chest in heroic mode and rename chest variables. 2013-11-22 16:05:27 +01:00
joschiwald
82d4ed5615 Core/Movement: fix player fall under ground on teleport 2013-11-21 16:13:13 +01:00
joschiwald
0a2a552b5a Core/Transports: addition to f0c4d0ac05
Core/Players: fix logic in Player::SendInitWorldStates()
2013-11-21 14:02:13 +01:00
joschiwald
b5181d378f Scripts/PoS: fix Tyrannus Overlord Brand thx @zwerg 2013-11-21 13:22:45 +01:00
jackpoz
d2065b0e50 Core/Transports: Fix triggered assertion in Transports
Relocate only Players in world when updating transport's and its passengers' positions.
Thanks vlad852 .
Closes #11209 .
2013-11-18 20:57:02 +01:00
jackpoz
2cad987a58 Core/Misc: Fix a compile warning.
Properly fix #11229 since eacf961e72 changes didn't affect the original issue.
2013-11-18 20:35:40 +01:00
Discover-
eacf961e72 Core/Misc: Fix a compile warning.
Closes #11229
2013-11-18 11:18:28 +01:00
jackpoz
f0c4d0ac05 Core/Transports: Fix few transport issues on relog.
Properly save transport related data to database when saving a Player .
On Player login update the current position as relative to transport, in case the transport moved.
2013-11-17 15:17:40 +01:00
jackpoz
096cb6bf00 Core/Auth: Fix Auth failing sometimes
Fix a database race condition between authserver saving session key to database asynchronously and worldserver reading it; session key is now saved synchronously.
2013-11-16 23:25:21 +01:00
joschiwald
dd20290911 Scripts/ZulAman: fix exploit that player can fly until logout 2013-11-13 23:50:35 +01:00
joschiwald
0790138d73 Core. fix build and some codestyle changes 2013-11-13 23:32:38 +01:00
MitchesD
5b7b03fc16 Scripts/SunwellPlateau: reworked InstanceScript and applied codestyle 2013-11-13 18:02:16 +01:00
jackpoz
c03f066bf2 Core/Build: Fix build when WITH_COREDEBUG CMake flag is selected 2013-11-11 21:55:52 +01:00
Spp
cd48662233 Core/Logging: Minor changes
- Select stderr when writing ERROR and FATAL messages
- Simplify function defines
- Fix `logs` table structure with latest logging changes
2013-11-11 14:35:16 +01:00
MrSmite
79a2d6b7fc Core/Spells: Fixed Revive Pet to revive the pet near the owner
Closes #11196
2013-11-11 13:22:41 +01:00
Spp
65cd07a288 Core: Improve error messages for linked_respawn table (and minor cosmetic changes here and there) 2013-11-11 11:03:32 +01:00
Malcrom
395eb83b88 DB/Conditions: Add condition for Shoot Arcane Explosion Arrow 2013-11-11 00:43:56 -03:30
Malcrom
113735690a Scripts/The Slave Pens: Fix up Mennu the Betrayer and add Rokmar the Cracker & Quagmirran. 2013-11-10 18:00:15 -03:30
Shauren
e0138abaac Fixed build 2013-11-10 19:21:24 +01:00
Shauren
1966a78b9f Core/Movement: Backported spline stop fix from 4.3.4 branch - use Stop spline type for stopping movement instead of starting movement that ends in creature's current position 2013-11-10 18:52:20 +01:00
Malcrom
8332cee052 Scripting/The Slave Pens: Moved boss_mennu_the_betrayer from EAI to CPP. 2013-11-10 10:53:43 -03:30
Malcrom
c2db6d49ce Scripting/The Arcatraz: Add text scripting for deaths 2013-11-10 10:00:47 -03:30
Malcrom
2d28d0c109 Core/ScriptedAI: Fix Headers. 2013-11-10 03:31:20 -03:30
Malcrom
e5b259fb4a Scripting/Arcatraz: Move Zereketh the Unbound, Dalliah the Doomsayer, & Wrath-Scryer Soccothrates to cpp scripting and some cleanup. 2013-11-10 03:22:22 -03:30
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
1b04bec290 Core/Logs: Create default set of loggers and Appender if the config is wrong.
- Logger root (Error)
- Logger server (Info)
- Appender Console

Logger names are case-sensitive, Appender names are not.
2013-11-08 08:55:10 +01:00
Malcrom
88c46a6886 Core/CreatureGroups: Calculation change requested by Shauren. 2013-11-07 19:06:20 -03:30
Spp
8aa9745c4c Core/Logging: Extend logging system to allow inheritance of loggers
- Changed default loggers and appenders
- '.' determines the relation between loggers ("type.subtype" inherits "type" logger setting if logger "type.subtype" is not defined)
- When core logs a message it search for the correct logger (root is the default one)
  ie: a message logged with "type.subtype"
  * Core will try to find a logger with name "type.subtype", if its not found then will search for "type", again if its not found it will return the default one "root"
2013-11-07 16:34:44 +01:00
Gacko
be19ac95ed Core/SmartAI: Better wording for telling "There is a spell for summoning this" 2013-11-07 11:56:02 +01:00
Gacko
d00cb482c5 RBAC: Move initial log output in AccountMgr::LoadRBAC to debug 2013-11-07 11:54:07 +01:00
Malcrom
b4a0533d81 Core/CreatureGroups: Add fields to creature_formations and code to prevent creature crossover in formations.
Wiki update and db values too follow.
2013-11-06 23:20:06 -03:30
jackpoz
7e904b1dc0 Core/Threads: Include Helgrind suppressions file
Include a Helgrind suppressions file under source control. Each suppressed race is either a false positive, a read race followed by a lock acquire anyway, a bool race. Suppressions related to the same issue in the same function are grouped with a counter in brackets [ ] .

Fix tabs added in bcee801e4b .
2013-11-04 20:24:28 +01:00
jackpoz
bcee801e4b Core/Network: Fix race condition in WorldSession timeout
Helgrind log:
 Lock at 0x2BD582E0 was first observed
  at : pthread_mutex_init (hg_intercepts.c:443)
  by : ACE_OS::mutex_init(pthread_mutex_t*, int, char const*, pthread_mutexattr_t*, int, int) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Thread_Mutex::ACE_Thread_Mutex(char const*, pthread_mutexattr_t*) (in /usr/lib/libACE-6.0.3.so)
  by : WorldSocket::WorldSocket() (WorldSocket.cpp:106)
  by : ACE_Acceptor<WorldSocket, ACE_SOCK_Acceptor>::make_svc_handler(WorldSocket*&) (Acceptor.cpp:261)
  by : ACE_Acceptor<WorldSocket, ACE_SOCK_Acceptor>::handle_input(int) (Acceptor.cpp:396)
  by : ACE_Dev_Poll_Reactor::dispatch_io_event(ACE_Dev_Poll_Reactor::Token_Guard&) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Dev_Poll_Reactor::handle_events(ACE_Time_Value*) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Reactor::run_reactor_event_loop(ACE_Time_Value&, int (*)(ACE_Reactor*)) (in /usr/lib/libACE-6.0.3.so)
  by : ReactorRunnable::svc() (WorldSocketMgr.cpp:170)
  by : ACE_Task_Base::svc_run(void*) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Thread_Adapter::invoke_i() (in /usr/lib/libACE-6.0.3.so)

 Possible data race during write of size 8 at 0x2BD6F6F8 by thread #12
 Locks held: 1, at address 0x2BD582E0
  at : WorldSession::ResetTimeOutTime() (WorldSession.h:372)
  by : WorldSocket::ProcessIncoming(WorldPacket*) (WorldSocket.cpp:709)
  by : WorldSocket::handle_input_payload() (WorldSocket.cpp:517)
  by : WorldSocket::handle_input_missing_data() (WorldSocket.cpp:610)
  by : WorldSocket::handle_input(int) (WorldSocket.cpp:282)
  by : ACE_Dev_Poll_Reactor::dispatch_io_event(ACE_Dev_Poll_Reactor::Token_Guard&) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Dev_Poll_Reactor::handle_events(ACE_Time_Value*) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Reactor::run_reactor_event_loop(ACE_Time_Value&, int (*)(ACE_Reactor*)) (in /usr/lib/libACE-6.0.3.so)
  by : ReactorRunnable::svc() (WorldSocketMgr.cpp:170)
  by : ACE_Task_Base::svc_run(void*) (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Thread_Adapter::invoke_i() (in /usr/lib/libACE-6.0.3.so)
  by : ACE_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)

 This conflicts with a previous write of size 8 by thread #7
 Locks held: none
  at : WorldSession::UpdateTimeOutTime(unsigned int) (WorldSession.h:368)
  by : WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:256)
  by : World::UpdateSessions(unsigned int) (World.cpp:2646)
  by : World::Update(unsigned int) (World.cpp:2003)
  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)
  by : mythread_wrapper (hg_intercepts.c:233)
2013-11-03 18:07:17 +01:00
Discover-
27fe7d1842 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2013-11-03 10:36:17 +01:00
Discover-
b98cc11a49 Core/Misc: Fix compile after 316da388d5 2013-11-03 10:36:02 +01:00
untaught
45e0af089c Fix quest ... Or Maybe We Don't (12138) and remove the core script 2013-11-03 11:34:20 +02:00
untaught
316da388d5 Fix quest Redeeming the Dead (9685) and remove the core script 2013-11-03 11:17:28 +02:00
untaught
b28c27cb7c [Area Trigger Scripts] Add Support for Teleport for Quest: Breaking Through (11898) 2013-11-03 10:35:12 +02:00
jackpoz
6d794ab305 Core/Database: Add additional assert
Add additional assert to assure that helgrind reports related to SQLQueryHolderTask::Execute() and WorldSession::ProcessQueryCallbacks() are false positives.
The only chance for WorldSession::ProcessQueryCallbacks() to access the SQL queries before they are completed is if m_result.ready() is true before the end of SQLQueryHolderTask::Execute() .

Helgrind false positive log:
 Possible data race during read of size 8 at 0x2BD641E0 by thread #7
 Locks held: none
    at : SQLQueryHolder::GetPreparedResult(unsigned long) (QueryHolder.cpp:107)
    by : Player::LoadFromDB(unsigned int, SQLQueryHolder*) (Player.cpp:16917)
    by : WorldSession::HandlePlayerLogin(LoginQueryHolder*) (CharacterHandler.cpp:807)
    by : WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1112)
    by : WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:401)
    by : World::UpdateSessions(unsigned int) (World.cpp:2646)
    by : World::Update(unsigned int) (World.cpp:2003)
    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)
    by : mythread_wrapper (hg_intercepts.c:233)
    by : start_thread (pthread_create.c:311)

 This conflicts with a previous write of size 8 by thread #4
 Locks held: none
    at : SQLQueryHolder::SetPreparedResult(unsigned long, PreparedResultSet*) (QueryHolder.cpp:140)
    by : SQLQueryHolderTask::Execute() (QueryHolder.cpp:196)
    by : SQLOperation::call() (SQLOperation.h:65)
    by : DatabaseWorker::svc() (DatabaseWorker.cpp:45)
    by : ACE_Task_Base::svc_run(void*) (in /usr/lib/libACE-6.0.3.so)
    by : ACE_Thread_Adapter::invoke_i() (in /usr/lib/libACE-6.0.3.so)
    by : ACE_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
    by : mythread_wrapper (hg_intercepts.c:233)

 Address 0x2BD641E0 is 16 bytes inside a block of size 792 alloc'd
    at : operator new(unsigned long) (vg_replace_malloc.c:319)
    by : __gnu_cxx::new_allocator<std::pair<SQLElementData, SQLResultSetUnion> >::allocate(unsigned long, void const*) (new_allocator.h:104)
    by : std::_Vector_base<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > >::_M_allocate(unsigned long) (in /home/jackpoz/trinity/bin/worldserver)
    by : std::vector<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::pair<SQLElementData, SQLResultSetUnion>*, std::vector<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > > >, unsigned long, std::pair<SQLElementData, SQLResultSetUnion> const&) (vector.tcc:483)
    by : std::vector<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > >::insert(__gnu_cxx::__normal_iterator<std::pair<SQLElementData, SQLResultSetUnion>*, std::vector<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > > >, unsigned long, std::pair<SQLElementData, SQLResultSetUnion> const&) (stl_vector.h:1024)
    by : std::vector<std::pair<SQLElementData, SQLResultSetUnion>, std::allocator<std::pair<SQLElementData, SQLResultSetUnion> > >::resize(unsigned long, std::pair<SQLElementData, SQLResultSetUnion>) (stl_vector.h:707)
    by : SQLQueryHolder::SetSize(unsigned long) (QueryHolder.cpp:167)
    by : LoginQueryHolder::Initialize() (CharacterHandler.cpp:66)
    by : WorldSession::HandlePlayerLoginOpcode(WorldPacket&) (CharacterHandler.cpp:788)
    by : WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:363)
    by : World::UpdateSessions(unsigned int) (World.cpp:2646)
    by : World::Update(unsigned int) (World.cpp:2003)
2013-11-02 22:57:07 +01:00
Shauren
ca34b701cb Core/Transports: Fixed a few mistakes in GO passenger teleports (currently unused), thanks joschiwald for spotting them 2013-11-02 16:33:39 +01:00
Gacko
62c6ae7660 Tools: Skip extracting already existing DBC files
Thanks to MacWarrior, closes #11061
2013-11-02 14:07:54 +01:00
Shauren
0ee3093536 Fixed typo in 39175ac680 2013-11-02 13:46:10 +01:00
Shauren
39175ac680 Core/Transports
* Fixed fall damage on transports while teleporting
* Fixed packets not being received by owner if sent by a controlled minion
* Fixed an issue when a teleporting transport would attempt to reload its creature passengers on old map

Closes #11140
2013-11-02 13:22:14 +01:00
jackpoz
f002b0552b Core/Vehicles: Add missing NULL check in cf72f7cc5c
Add an additional NULL check for me->GetVehicleKit() , otherwise the crash fixed in cf72f7cc5c becomes a NULL dereference crash.
2013-10-28 20:32:56 +01:00
leguybrush
0a308144a8 Core/Code: Unify [more] codestyle for brackets: )\n{\n} to ) { }. 2013-10-28 14:36:07 -04:00
Aokromes
5cfd180247 Merge pull request #11138 from Ascathor/master
Core/Code: Unify codestyle for brackets: {} to { }.
2013-10-28 09:57:48 -07:00
Ascathor
7a7ad4a60a Core/Code: Adding copyright to all the mesh_extractor files. 2013-10-27 23:56:58 +01:00