Commit Graph

226 Commits

Author SHA1 Message Date
Anubisss
6d9029c12e Make some cleanup.
My thank goes to Az@zel for the code analysis.

--HG--
branch : trunk
2010-12-16 18:08:23 +01:00
Spp
4671500172 Core/Dungeon Finder: Move all LFG data from Player and Group classes to internal LFG data classes.
--HG--
branch : trunk
2010-12-16 10:53:21 +01:00
Spp
451a6f40d4 Core/Dungeon Finder: Use full guid of players instead of lowguid
Note: This change is done in preparation of other changes that will come later.

--HG--
branch : trunk
2010-12-16 04:20:22 +01:00
azazel
23e3909221 Core/Arena: avoid arena match loss when leaving queue before actual invitation to match (by VladimirMangos)
--HG--
branch : trunk
2010-12-15 14:25:10 +06:00
azazel
b39b8fdd0d DB Schema/Characters: removed columns auctionhouse.item_template, character_inventory.item_template, guild_bank_item.item_entry and mail_items.item_template and created item_instance.itemEntry column instead of them.
As a side effect moved related queries to prepared statements.
As one more side effect fixed not shown and lost mail items in returned expired mail (patch by Quriq14).

--HG--
branch : trunk
2010-12-15 14:08:12 +06:00
Machiavelli
3b0297f912 Core/CharacterHandler: Fix ¨[ERROR] GetUInt32() on non-numeric field¨ on a certain query.
Author: toshik.777
Closes issue #5068

--HG--
branch : trunk
2010-12-14 19:14:54 +01:00
Shauren
f4581f67b8 Core: Fixed uninitialized variable warnings
--HG--
branch : trunk
2010-12-14 15:58:45 +01:00
click
48b234022f Core: Change HandleEjectPasenger to HandleEjectPassenger (English thank you)
--HG--
branch : trunk
2010-12-14 14:09:14 +01:00
click
2d8e73fab5 Core: Fix up opcode-mess from previous commit, and move CMSG_DECLINE_CHANNEL_INVITE handling to its correct opcode (0x0410)
(Please report back any findings of erranous behaviour to the tracker, or into this commit)

--HG--
branch : trunk
2010-12-14 02:23:28 +01:00
click
2642894342 Core: Add new system for parallelizing client packet processing. Handle WorldSession updates in Map::Update() where we are safe to proceed. Patch by Ambal.
(And clean up tabs and whitespace while rummaging around in there)
Closes issue 5084.

--HG--
branch : trunk
2010-12-13 22:37:56 +01:00
Spp
89a33bbf61 Core/Dungeon Finder: Fix a crash in Join when there are no dungeons available for that group (And probably other random crashes that appear when having DF enabled)
Core/Dungeon Finder: Tab2spaces + remove trailing spaces in LFG* files.

Notes to self:
- assign NULL to a pointer parameter will not change the pointer value outside the scope of the function
- deleting a const_iterator can lead to mem corruption

--HG--
branch : trunk
2010-12-13 21:31:55 +01:00
Spp
865f35a637 Core/Dungeon Finder: Minor optimization in handler code
Note: LfgDungeonSet and LfgLockStatusMap were being used without using the existing typedef (to avoid including LFGMgr.h).
Now those functions use a struct as param that is forward declared so still LFGMgr.h is not needed and redefinition of LfgDungeonSet/LfgLockStatusMap is removed.

--HG--
branch : trunk
2010-12-13 21:28:36 +01:00
Shocker
4b0ffeb0bd Core/ChatHandler: Cleanup in HandleMessagechatOpcode. Now commands are parsed and security checks are made in all channels
--HG--
branch : trunk
2010-12-11 17:47:43 +02:00
click
0e33e73d39 Core/ChatHandler: Allow GM/server-commands to be executed through whisper-channels - patch by Ramus
Closes issue 5006.

--HG--
branch : trunk
2010-12-11 03:25:31 +01:00
Spp
b434273ed8 Core/Dungeon Finder: Some optimizations
- Reduce core dependencies with LFGMgr
- Remove reduntant calculations in RoleCheck code
- Remove no longer needed functions
- Fix some packet data (Missing 0 when arrays were null)
- Add some debug msgs

closes issue 5042

--HG--
branch : trunk
2010-12-08 21:29:43 +01:00
Spp
408fce1de6 Core: Some optimizations
- Declare some functions const
- Fix some mem leak
- Fix some resource leak
- Remove unused variables and functions
- Remove duplicate functions
- Reduce the scope of some variables
- Remove unused file

--HG--
branch : trunk
2010-12-06 02:07:53 +01:00
Spp
e621f5fe98 Core/Dungeon Finder: Code cleanup and minor optimizations
- Extend LfgState to keep control of the state of group and players using LFG
- Move scripts to its own class and initialize only if Dungeon finder is enabled
- Updated comments to doxygen format
- Use constructor initialization list
- All variables are declared in the inner most scope
- Fix some mem leaks
- Remove no longer needed code (Cleaner)
- Normalize handler function names

--HG--
branch : trunk
2010-12-05 17:50:26 +01:00
click
bc098658c6 Core/Chat: Configure automatic owner declaration for custom chat channels (patch by leak)
Closes issue 4974.

--HG--
branch : trunk
2010-12-02 03:54:52 +01:00
Spp
25ac835507 Core/Groups: Move all function definition from .h to .cpp
Core/Groups: Remove Group.h dependency from any .h file

--HG--
branch : trunk
2010-11-29 07:50:31 +01:00
click
efeb512fbf Core/AuctionHouse: Calculate deposit taken for item(s) being auctioned properly + pick up correct number of items being auctioned (Thanks to Paradox)
Comment issue 4958
Added and pending further testing. Also need testing for issue 3681 (related to AH packetsize?).
Closes issue 4089.
Closes issue 4919.

--HG--
branch : trunk
2010-11-29 00:59:02 +01:00
click
3fccb2b7bf Core/Chat: Disallow visual emotes when an entity is in dead-state (thanks to Vladimir)
Closes issue 4942.

--HG--
branch : trunk
2010-11-28 20:12:33 +01:00
Spp
9bb043d5b5 Core/Dungeon Finder: Fix Proposal not being shown to players in LFG group trying to do a new dungeon
(Missing code from rev 77918d0138)

--HG--
branch : trunk
2010-11-28 00:37:34 +01:00
Spp
c4a7d18306 Core/Dungeon Finder: Show player selected dungeon in proposal window only if its a new dungeon
--HG--
branch : trunk
2010-11-27 23:23:39 +01:00
Spp
bbe955c5ab Core/Dungeon Finder: Multiple changes in Join function
- Reformat some code to make it easier to read
- Safe leave and rejoin queue when already queued and trying to rejoin to different dungeons (it was giving error earlier)
- Do not allow to select another dungeon while im the middle of a Lfg dungeon not completed (any dungeon selected is changed by current dungeon)
- Fix error that prevented groups to join another dungeon after completing the current lfg dungeon
Core/Dungeon Finder: Remove references to player from SendLfgUpdateParty and SendLfgUpdatePlayer handlers

--HG--
branch : trunk
2010-11-26 04:43:07 +01:00
click
54b8bca155 Merge
--HG--
branch : trunk
2010-11-26 01:36:44 +01:00
click
8f57339301 Core/PetHandler: Correction of SMSG_PET_NAME_QUERY response packet sizes and structure (fix by Ramus)
(Client automatically handles re-queries if name is not supplied)
Closes issue 4924.

--HG--
branch : trunk
2010-11-26 01:35:32 +01:00
Spp
08b43a1e69 Core/Groups: Properly read CMSG_GROUP_ACCEPT and CMSG_GROUP_INVITE opcodes
--HG--
branch : trunk
2010-11-26 01:24:31 +01:00
Spp
ce989d701a Core/Battleground: Do not allow to join queue if anyone in the party is using dungeon system
--HG--
branch : trunk
2010-11-24 15:37:22 +01:00
Spp
fa97598594 Core/Dungeon Finder: Move vote kick initialization from Group code to Scripts
--HG--
branch : trunk
2010-11-23 20:49:57 +01:00
Spp
d3c9478153 Core/Groups: Add kicker and kick reason to RemoveMember
--HG--
branch : trunk
2010-11-23 20:49:36 +01:00
Rat
5bde001407 Core/AI: hooked AI()->GossipHello to HandleGameobjectReportUse
--HG--
branch : trunk
2010-11-20 13:54:45 +01:00
click
3d33cc4f12 Core/ItemHandling: Allow wrapped items to be opened when they contain another container inside it (patch by leak)
--HG--
branch : trunk
2010-11-14 16:26:09 +01:00
click
c0536f374a Core: Allow toggling ticketsystem on/off by config-setting (patch by leak)
Closes issue 4744.

--HG--
branch : trunk
2010-11-14 00:29:34 +01:00
Shauren
090acddee3 Core/Spells: Fixed Heart of the Phoenix pet spell
Closes issue #3911.

--HG--
branch : trunk
2010-11-11 22:53:52 +01:00
click
b1bf8ebfe6 Core/ItemHandler: Fix a logic error when checking for gem equipment limits. (Socketed gems cannot be destroyed, they can only be replaced and that would be the "new gem" case) - fix by leak
Closes issue 4698. Fixes issue 2495.

--HG--
branch : trunk
2010-11-08 17:11:05 +01:00
click
5d4f009a87 Core/Entities: Fix exploit/crash in inventory-handling (CMSG_OPEN_ITEM) -thanks to leak
(Adds a scrutiny-based check to baghandling: don't allow placing items in bags that are not "usable" as regular bags)

--HG--
branch : trunk
2010-11-07 20:08:52 +01:00
Rat
57661c6d54 Core/SmartAI: swap menuid/actionid params in GOSSIP_SELECT event
- use proper sql ORDER to order script lines

--HG--
branch : trunk
2010-11-04 22:08:15 +01:00
Rat
2604250c3c Core/SmartAI: fixed Gossip Select event
--HG--
branch : trunk
2010-11-03 19:39:53 +01:00
Spp
c9b6f44e9f Core/Groups: Add some checks to prevent a crash with Invites
Core/Groups: Use proper size with SMSG_GROUP_DECLINE Opcode

Fixes issue 4412. (Prevents the crash but the main reason of player being null not solved)

--HG--
branch : trunk
2010-10-29 14:09:25 +02:00
Rat
5cb119e617 Core/AI: implemented SmartScripts System (still beta) not 100% complete
WARNING: Use scripts at own risk. You were warned.
NOTE0: creature, gameobject, areatrigger type scripts should be fully functional
NOTE1: has no effect on any core related stuff if not using any SmartScript
NOTE2: all event/action/etc descriptions can be found in SmartScriptMgr.h

SmartScripts is a reloadable DB-Sript system, with full control for special scripting,
like escorting, following, complex combat handling, pre-stored AI templates(caster, turret, etc) and much more
with a total of 66 events, 78 actions, 22 target types, and can be easily extended

--HG--
branch : trunk
2010-10-27 21:01:47 +02:00
Rat
a792e3d67c Core/AI: added Gossip* and Quest* virtual functions to UnitAI, will be used in future system (not all functions hooked yet)
--HG--
branch : trunk
2010-10-25 18:23:45 +02:00
Spp
ae38b0441b Core/Opcodes: Change status type of CMSG_UPDATE_PROJECTILE_POSITION Opcode to unhandled
--HG--
branch : trunk
2010-10-25 12:00:54 +02:00
Spp
739f336618 Core: Fix warnings
--HG--
branch : trunk
2010-10-25 11:25:42 +02:00
Spp
3fc2d414b1 Core/Dungeon Finder: Use scripts to interact between groups and LFG
--HG--
branch : trunk
2010-10-25 07:29:53 +02:00
_manuel_
3ee05b26ce Core/Spells: Now you can cast the Water Elemental's Freeze without cancelling its Waterbolt.
Author: dr.tenma

Fixes issue #4215

--HG--
branch : trunk
2010-10-22 17:22:38 -03:00
click
30542a442d Core/PetHandler: Implement CMSG_PET_STOP_ATTACK - thanks to zergtmn for the original code
--HG--
branch : trunk
2010-10-22 01:10:39 +02:00
Spp
959ef0878a Core/Groups: Use the proper RemoveMethod when player leaves a group
--HG--
branch : trunk
2010-10-19 18:32:04 +02:00
azazel
c0faed2251 Core/Guilds: guild code was completely refactored and rewritten.
* OOP desing and implementation;
* all the queries are moved to prepared statements;
* guild loading is optimized;
* all the possible interaction with guild's data is done inside the guild class;
* added more hooks to GuildScript class;

WARNING: Make sure you backup your characters database before applying this change (just in case).

Known problems with guilds:
* when new member is added to the guild, MOTD is not displayed for him in guild tab of social window;
* if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number);
* packets order differs from official: currently guild bank packet traffic is twice as more than on offy.

--HG--
branch : trunk
2010-10-17 19:54:13 +06:00
Xanadu
f5911917b4 Core/Vehicles: Mammoth mount vendors no longer jump off the mount when talked to.
--HG--
branch : trunk
2010-10-17 03:09:01 +02:00
silinoron
8716264eda Core/Misc: Implement opcode CMSG_HEARTH_AND_RESURRECT - thanks to Blaymoira and tom_rus
--HG--
branch : trunk
2010-10-16 16:40:25 -07:00