Commit Graph
8205 Commits
Author SHA1 Message Date
Machiavelli 6ee54548f3 Fix Autokick timer. Will work again properly for people on the char selection screen. In addition, it now also catches non-terminated, lingering sessions.
--HG--
branch : trunk
2010-05-16 03:42:05 +02:00
Spp a99c6bd5a9 Fix localization of gossip menu options
Original patch by Qowyn
Adapted to trinity (and tested) by Durotar and Aokromes

--HG--
branch : trunk
2010-05-16 00:58:24 +02:00
Machiavelli fa57ce4cd1 Reimplement ACE_Based::LockedQueue as SQL holder for the SqlTransaction class, since std::queue is not safe when multiple threads are reading/writing to it at the same time (SqlDelayThread and a MapUpdate Thread).
Original patch by thenecromancer, was removed for ungrounded reasons.
Thanks to Zor for the insight.
Please give feedback on how this affects mtmaps usage.

--HG--
branch : trunk
2010-05-15 14:58:16 +02:00
Machiavelli 7ff9e82f1a Use delete[] on object allocated with new[x+y*z] in TileAssembler.
--HG--
branch : trunk
2010-05-15 13:48:31 +02:00
Spp 9a5f744256 SMSG_PARTY_COMMAND_RESULT: Send proper operation value with uninvite commands
--HG--
branch : trunk
2010-05-15 06:23:56 +02:00
click a0105b5bde Add logout-notice in charlog on player logout
--HG--
branch : trunk
2010-05-15 01:26:28 +02:00
click 85ec98ff9f Allow multiple classes for quest requirements - patch by Shauren
(This should make Malcrom happy)
Fixes issue 1476. Fixes issues 1972. Fixes issue 430.

--HG--
branch : trunk
2010-05-14 23:43:42 +02:00
Anubisss 1a49477a17 Set (more) blizzlike bonus for Healing Stream Totem.
Fix by N4rk0.

Closes issue #2110.
Fixes issue #2086.

--HG--
branch : trunk
2010-05-14 22:53:46 +02:00
Anubisss 7ef50b62c8 Drop out Grobbulus's Mutating Injection spell code from core.
It's handled correctly via table spell_linked_spell.

Also, this commit fixes the bug that spell Mutating Injection casted on the target two times by each casts.

--HG--
branch : trunk
2010-05-14 22:22:26 +02:00
Anubisss 7e027310c3 Update world.sql, forgot in rab603c8f4a.
--HG--
branch : trunk
2010-05-14 22:05:19 +02:00
Anubisss 6851fae8e2 Fix Glyph of Preparation.
Patch based on microbius51's patch.
Closes issue #1371.

--HG--
branch : trunk
2010-05-14 21:42:55 +02:00
Anubisss 5c596f32d4 Generate an error message when forgot to allocate memory for a script.
This message is useful to find don't allocated scripts, like in rev r5915a3a871.

--HG--
branch : trunk
2010-05-14 20:07:45 +02:00
Anubisss 486d66e94b Add ; to end of a SQL query in a SQL file. Patch by hunteee.
--HG--
branch : trunk
2010-05-14 19:27:38 +02:00
Anubisss a7295810e3 Fix Glyph of Life Tap.
SpellMgr.cpp part of the code by Karolis.Rudzevicius, thanks for it.
Fixes issue #1440.

--HG--
branch : trunk
2010-05-14 18:02:31 +02:00
Machiavelli 3c9fc9b9e3 Fix Linux compile
--HG--
branch : trunk
2010-05-14 15:12:50 +02:00
Anubisss 2425edfdab Fix Glyph of Shred.
--HG--
branch : trunk
2010-05-14 14:32:43 +02:00
Machiavelli 98a5c09af0 Add config option SessionAddDelay to replace the hard coded 10ms default Networkthread sleep time after WorldSocket::HandleAuthSession calls and adding the session to the world session map.
--HG--
branch : trunk
2010-05-14 00:50:26 +02:00
Machiavelli d390ff46c2 Make ObjectMgr::GetGuildByName and ObjectMgr::GetArenaTeamByName searches case insensitive.
Fixes issue #307.
Credits to Loread

--HG--
branch : trunk
2010-05-13 20:04:36 +02:00
Xanadu 5bf4af15dc Prune some deadwood.
--HG--
branch : trunk
2010-05-13 19:28:23 +02:00
click c8e648e18e Make questgivers automatically inform of quests in their gossipmenu when available - removes need of extra gossip option to show quests
Fix by Liberate (made for Malcrom so he stops complaining)

--HG--
branch : trunk
2010-05-13 19:06:20 +02:00
Machiavelli f286f583fc Prevent SQL injection in Player::_SaveEquipmentSets()
--HG--
branch : trunk
2010-05-13 18:25:32 +02:00
Machiavelli bf9d8f9423 Implement enchantments for ITEM_MOD_SPELL_PENETRATION and ITEM_MOD_BLOCK_VALUE.
Inspired by patch provided by Metthal
Closes issue #1766

--HG--
branch : trunk
2010-05-13 18:01:55 +02:00
Xanadu a891692d05 Fixed spell casting upon vehicle summoning.
--HG--
branch : trunk
2010-05-13 17:57:59 +02:00
Machiavelli 144a146810 Fix crash introduced in 4610bbf047.
- Update SqlAsyncTask´s destructor, properly NULLpoint SqlOperation* m_op so other threads can deal with it accordingly.
- Don´t keep NULL´d elements in transaction queues, remove them instead.

This now means you should be able to run a stable server with > 2 MapUpdate threads. Please leave feedback.

Courtesy of click and myself.

--HG--
branch : trunk
2010-05-13 17:24:54 +02:00
_manuel_ 28bbc233d1 Added missing newscript = new Script; , my fault. Thanks to Anubisss.
--HG--
branch : trunk
2010-05-13 11:36:18 -03:00
_manuel_ 899736d89c Changes in scripts for quest chain The Amphitheater of Anguish:
- Added blizzlike content, like texts.
- Corrected some spells and timers.
- As i saw in offi can be more than 1 player doing different parts of the chain at the same time.
- Added code to prevent the npc gets out of the ring.
- Added support for The Amphitheater of Anguish: From Beyond.

--HG--
branch : trunk
2010-05-13 11:09:10 -03:00
Anubisss 852254d258 Fix a duplicated script: go_gilded_brazier.
Remove it from one file and also merge the 2 scripts in one file.

The error message:
ScriptName: 'go_gilded_brazier' already assigned with the same ScriptName, so the script can't work.

--HG--
branch : trunk
2010-05-13 14:29:06 +02:00
Machiavelli 5e48be89d5 Fix a crash in SqlAsyncTask::call caused by the fact that the SQLOperation to be called was a NULL pointer.
The crash was mostly noticable on servers with relatively high MapUpdate Threads, since the window between SqlAsyncTask::call()´s NULLpointer check for m_op and the usage of this pointer was larger when more map threads are calling Database::CommitTransaction()´s and NULLing this pointer.
Fixes crash specified in comment #24 in issue #1259, and most likely will affect other crashes specified there as well.
Courtesy of click and myself, and our lengthy and deep brainstorming session.

--HG--
branch : trunk
2010-05-13 14:22:00 +02:00
Anubisss 10bf921a65 Generate an error message when core tries to assign a script's ScriptName which is already assigned.
This means if that happened the core override the older script.
As a result, the earlier one doesn't work and can't deallocate so generates memory leak.

This commit also fixes memory leaks caused by that.

Valgrind log:

==4753== 354 (312 direct, 42 indirect) bytes in 1 blocks are definitely lost in loss record 1,194 of 1,218
==4753==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==4753==    by 0x1039D85: AddSC_go_scripts() (go_scripts.cpp:1015)
==4753==    by 0xDC196F: AddScripts() (ScriptLoader.cpp:534)
==4753==    by 0xC19943: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==4753==    by 0xD1CCAE: World::SetInitialWorldSettings() (World.cpp:1608)
==4753==    by 0x9100A6: Master::Run() (Master.cpp:234)
==4753==    by 0x90F5D6: main (Main.cpp:146)

--HG--
branch : trunk
2010-05-13 14:15:11 +02:00
Anubisss e7faef7e76 Fix a memleak in AddSC_borean_tundra().
Log:

==31592== 312 bytes in 1 blocks are definitely lost in loss record 423 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xFC12AF: AddSC_borean_tundra() (borean_tundra.cpp:2408)
==31592==    by 0xDC0BF0: AddScripts() (ScriptLoader.cpp:917)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)

--HG--
branch : trunk
2010-05-13 00:52:04 +02:00
Anubisss 46a14891c0 Forget to call clear() for a vector from my previous commit.
--HG--
branch : trunk
2010-05-13 00:47:28 +02:00
Anubisss cdb7b3227b Call WaypointMgr's Free() in its destructor.
Deallocate memory in Free() which allocated by WaypointMgr.

This fixes memory leaks caused by waypoints.

Valgrind log:

==31592== 2,203,488 (59,400 direct, 2,144,088 indirect) bytes in 2,475 blocks are definitely lost in loss record 1,230 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xD0EC23: WaypointStore::Load() (WaypointManager.cpp:70)
==31592==    by 0xD1B55D: World::SetInitialWorldSettings() (World.cpp:1565)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 160 bytes in 5 blocks are possibly lost in loss record 10 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xD0EC0D: WaypointStore::Load() (WaypointManager.cpp:67)
==31592==    by 0xD1B55D: World::SetInitialWorldSettings() (World.cpp:1565)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 384 bytes in 2 blocks are possibly lost in loss record 285 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xD0F2D4: __gnu_cxx::new_allocator<WaypointData*>::allocate(unsigned long, void const*) (new_allocator.h:92)
==31592==    by 0xD0F303: std::_Vector_base<WaypointData*, std::allocator<WaypointData*> >::_M_allocate(unsigned long) (stl_vector.h:144)
==31592==    by 0xD0F87B: std::vector<WaypointData*, std::allocator<WaypointData*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<WaypointData**, std::vector<WaypointData*, std::allocator<WaypointData*> > >, WaypointData* const&) (vector.tcc:308)
==31592==    by 0xD0F9F7: std::vector<WaypointData*, std::allocator<WaypointData*> >::push_back(WaypointData* const&) (stl_vector.h:694)
==31592==    by 0xD0ED0B: WaypointStore::Load() (WaypointManager.cpp:89)
==31592==    by 0xD1B55D: World::SetInitialWorldSettings() (World.cpp:1565)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)

--HG--
branch : trunk
2010-05-13 00:42:37 +02:00
Machiavelli 5d70f62c07 Global cooldown for players should never exceed 1,5 seconds. Fixes issue #1998
--HG--
branch : trunk
2010-05-13 00:37:43 +02:00
Spp a3a8e6da2c Some warning fix
Tab to spaces
Remove trailing spaces

--HG--
branch : trunk
2010-05-13 00:15:21 +02:00
Anubisss 4a448eca37 Make WaypointMgr to singleton.
Move global waypoint_map variable to WaypointMgr's private variable.

--HG--
branch : trunk
2010-05-13 00:08:30 +02:00
Anubisss 8223af6576 Delete ALL scripts which not assigned instead of delete scripts which not assigned AND its ScriptName not contains the word "example", in Script::RegisterSelf().
So fixes memleaks in scripts which scriptname contains the "example" word AND not assigned(ScriptName column in DB) to an object.

This ones fixed: example_creature, example_escort, example_areatrigger, example_item, example_go_teleporter, example_gossip_codebox.

Some valgrind log: :)

==31592== 353 (312 direct, 41 indirect) bytes in 1 blocks are definitely lost in loss record 280 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFAC8A: AddSC_example_creature() (example_creature.cpp:286)
==31592==    by 0xDC047A: AddScripts() (ScriptLoader.cpp:523)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 351 (312 direct, 39 indirect) bytes in 1 blocks are definitely lost in loss record 281 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFB426: AddSC_example_escort() (example_escort.cpp:223)
==31592==    by 0xDC047F: AddScripts() (ScriptLoader.cpp:524)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 359 (312 direct, 47 indirect) bytes in 1 blocks are definitely lost in loss record 282 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFBCB6: AddSC_example_gossip_codebox() (example_gossip_codebox.cpp:93)
==31592==    by 0xDC0484: AddScripts() (ScriptLoader.cpp:525)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 358 (312 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 283 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFC04B: AddSC_example_misc() (example_misc.cpp:65)
==31592==    by 0xDC0489: AddScripts() (ScriptLoader.cpp:526)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 356 (312 direct, 44 indirect) bytes in 1 blocks are definitely lost in loss record 501 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFBF96: AddSC_example_misc() (example_misc.cpp:55)
==31592==    by 0xDC0489: AddScripts() (ScriptLoader.cpp:526)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)
==31592==
==31592==
==31592== 349 (312 direct, 37 indirect) bytes in 1 blocks are definitely lost in loss record 1,209 of 1,232
==31592==    at 0x4C2626C: operator new(unsigned long) (vg_replace_malloc.c:230)
==31592==    by 0xEFBFDB: AddSC_example_misc() (example_misc.cpp:60)
==31592==    by 0xDC0489: AddScripts() (ScriptLoader.cpp:526)
==31592==    by 0xC183F3: ScriptMgr::ScriptsInit() (ScriptMgr.cpp:70)
==31592==    by 0xD1B75F: World::SetInitialWorldSettings() (World.cpp:1608)
==31592==    by 0x90F34E: Master::Run() (Master.cpp:234)
==31592==    by 0x90E87E: main (Main.cpp:146)

--HG--
branch : trunk
2010-05-12 23:30:41 +02:00
Machiavelli 7336157d7e Remove Non-Blizzlike hack for spell 25899 - Greater Blessing of Sanctuary. It now gives 10% strength increase as intended.
--HG--
branch : trunk
2010-05-12 23:18:03 +02:00
Anubisss 737ebb99f7 Delete an unused variable.
--HG--
branch : trunk
2010-05-12 22:37:03 +02:00
Machiavelli 118268bc9d Merge
--HG--
branch : trunk
2010-05-12 22:18:49 +02:00
Anubisss 02e0136867 Fix the bug that client can see incompatible realms in the RealmList.
--HG--
branch : trunk
2010-05-12 22:08:43 +02:00
Machiavelli 08effa0ae7 Replace some WorldSocket code with Derex´s code for MaNGOS to support packets > 64kb.
This get rid of the ¨queue¨ that only supported 1 packet and implement it properly. Meaning no ¨internal¨ packet loss obstructing the client/server I/O.
Apply Trinity code style where applicable.

--HG--
branch : trunk
2010-05-12 22:03:07 +02:00
Rat 8dfbb15b2a added Honorable Defender buff for Alterac Valley nodes + bosses + captains
--HG--
branch : trunk
2010-05-12 21:34:07 +02:00
teacher 8a60550d9d Added missing sql data to fulls.
Proper renaming and reformatting for some sql files.
Removed not-core-related data. You can find it in the usual place: http://trinitydatabase.org/index.php?/forum/122-core-related-db-content/

--HG--
branch : trunk
2010-05-12 20:18:04 +02:00
Rat b88984f30a added Honorable Defender buff for Eye of the storm nodes
ignore one unknown area trigger near fel reaver graveyard

--HG--
branch : trunk
2010-05-12 08:48:21 +02:00
Rat 6f06008f6b make BG kill XP configable, default off
--HG--
branch : trunk
2010-05-12 07:53:13 +02:00
Rat bfa0588fac typo :(
should olso fix linux compile

--HG--
branch : trunk
2010-05-12 07:32:04 +02:00
Rat 75c1364682 added Honorable Defender buff for Arathi Basin nodes
-players protecting their bases will gain +50% honor near the base

--HG--
branch : trunk
2010-05-12 00:23:00 +02:00
Rat df6a39cebc give xp only in BattleGrounds and not in arenas
--HG--
branch : trunk
2010-05-11 21:48:03 +02:00
Rat eae6f5c094 started implementing battleground experience system
-players gain xp by killing enemy players (event bonuses not added for now)
-player can switch xp gain on/off by talking to npc Slahtz or Behsten for a fee of 10golds
NOTE: turning off xp gain will turn off ALL xp gains from quests,monsters,pvp,etc

--HG--
branch : trunk
2010-05-11 21:42:39 +02:00
Machiavelli bf9694a354 Spell custom attribute data for Northrend faction commendation badges (spells 61306,61308,61311,61312,69757). They now give proper reputation
--HG--
branch : trunk
2010-05-11 18:43:47 +02:00