Commit Graph

279 Commits

Author SHA1 Message Date
Machiavelli
948a2136c4 Core/Vehicles: - Redefine VEHICLE_SEAT_FLAG_USABLE as VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT. This flag determines whether or not the player has control over entering/exiting a vehicleseat. Thanks to linencloth for help with research.
- Implement VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT exit restriction
- Remove MOVEMENTFLAG_ROOT on vehicle exit
2010-12-30 19:10:46 +01:00
Machiavelli
71e959837b Core/Vehicles: - Prevent client ejecting passengers from non-ejectable seats.
- Chart some more VehicleSeatFlags and VehicleSeatFlagsB. Research by linencloth
2010-12-30 17:59:55 +01:00
Machiavelli
8c8f4a828b Core/Vehicles: - Prevent client ejecting passengers from non-ejectable seats.
- Chart some more VehicleSeatFlags and VehicleSeatFlagsB. Research by linencloth
2010-12-30 17:33:51 +01:00
silinoron
e522fbe7ce Core/WorldSession: Cleanup. 2010-12-29 20:20:09 -08:00
Shocker
5f41699312 Core/Groups: Raid leader can't be kicked from group by raid assistants 2010-12-29 22:08:33 +02:00
Machiavelli
68c6189201 Core/Vehicles:
- Set MovementFlagsExtra (2) correctly depending on vehicle 'template' flags. This makes certain vehicles such as demolishers unable to jump/strafe (as intended)
- Fix SMSG_MONSTER_MOVE_TRANSPORT stucture, prevents a client crash when entering certain vehicles, as well as *properly* broadcast position relative to the vehicle.
- Send SMSG_BREAK_TARGET to player when entering vehicle.
- Set MOVEMENTFLAG_ROOT on passenger when entering vehicle
- Cleanup in affected code
2010-12-29 05:45:38 +01:00
click
c3abba71d3 Core/Handlers: Raise an errorlog into debug for CMSG_DISMISS_CRITTER - this may occur if the player is lagged out.
--HG--
branch : trunk
2010-12-28 10:14:05 +01:00
click
464f1a9f8f Core: Kill off some warnings
--HG--
branch : trunk
2010-12-27 22:58:22 +01:00
linencloth
efbc73d025 Core/Player: Split RemoveQuest into 2 separate functions
--HG--
branch : trunk
2010-12-26 21:34:08 +01:00
linencloth
07498c048c Core/QuestStatus: Log abandoned quests (requested, can be used in statistics)
--HG--
branch : trunk
2010-12-26 21:23:05 +01:00
Shauren
79070ca820 Scripts/Serpentshrine Cavern: Fixed "The Lurker Above" achievement and removed hacks for the event
--HG--
branch : trunk
2010-12-26 16:35:29 +01:00
linencloth
b150172521 Core/QuestStatus:
- Separate rewarded quests from active quests, and store them in a new table to reduce database size
- Drop the no longer needed `rewarded` column from character_queststatus for smaller table size
- Prevent filling the database with dropped quests
  - Delete useless records
- Implement queststatus save "queues" instead of states
- Minor optimizations

WARNING: Backup your database!

--HG--
branch : trunk
2010-12-26 04:16:18 +01:00
click
b5c1d554b2 Core/Handlers: Change/add some extra output in error-logs for PetHandler and SpellHandler
--HG--
branch : trunk
2010-12-26 01:24:29 +01:00
click
07bebf0f35 Core/Handlers: Add some extra output in WorldSession::HandleDismissCritter (give more of which user attempts to dismiss it)
--HG--
branch : trunk
2010-12-25 17:53:50 +01:00
Machiavelli
398d71285d Core: Fix a possible crash in WorldSession::ProcessQueryCallbacks
Author: Cyberbrest
Closes issue #5262

--HG--
branch : trunk
2010-12-24 19:46:11 +01:00
Shauren
928443d899 Core: Removed more operator workarounds for ACE_Singleton (missed previously because of inconsistent naming)
--HG--
branch : trunk
2010-12-23 23:25:44 +01:00
Shauren
3b903693aa Core/Player: Fixed faction change for characters that don't have any quests completed, patch by imprtat@uawow.com
Closes issue #5203.

--HG--
branch : trunk
extra : rebase_source : 6a7676a125be28e5b150db9f27d3488899f6c728
2010-12-23 19:15:44 +01:00
Spp
1f238d1700 Core/Dungeon Finder: Some cosmetic changes
- Drop pointer use in updateData struct
- Variable renaming
- Use of guid instead of group/player in rolecheck update

--HG--
branch : trunk
2010-12-23 06:06:19 +01:00
Shauren
cef7c4d4f3 Core/Spells: Fixed "unprocessed tail data" packet spam for CMSG_CAST_SPELL
--HG--
branch : trunk
2010-12-22 21:32:48 +01:00
Shauren
0f3b9019a8 Core: Get rid of dirty operator workaround for ACE_Singleton class implementation
--HG--
branch : trunk
2010-12-22 21:25:23 +01:00
Shauren
0948fc5bbe Core: Converted (hopefully) all remaining singletons to use ACE_Singleton class
--HG--
branch : trunk
2010-12-22 20:52:47 +01:00
Shauren
7b4e1c6387 Core/ObjectMgr: Static members are no longer accessed through singleton
--HG--
branch : trunk
2010-12-22 20:23:47 +01:00
Spp
f33f51c287 Core/Dungeon Finder: Fix problems when joining queue
- Fix Rolechecks
- Fix incorrect dungeon stored when queued as individual:
  * Those that joined as random were only matching with others that joined random
  * Teleport location was incorrect.

Closes issue 5161
Updates issue 5162

--HG--
branch : trunk
2010-12-21 23:16:09 +01:00
Spp
0c44943cd2 Core/Dungeon Finder: Multiple changes
- Simplify lock status calculations by caching player locked dungeons
- Fix incorrect Lfg State loading for groups
- All reference variables that are supposed not to be modified are declared as const
- Use full group guids in rolechecks
- Add some debug msgs
- Fix some warnings

--HG--
branch : trunk
2010-12-21 22:33:17 +01:00
Shocker
9fd0caf9a5 Core/WorldSocket: Fix a crash in HandleAuthSession
--HG--
branch : trunk
2010-12-21 01:48:09 +02:00
linencloth
59da698189 Core: Rename spell attributes, use more general names
--HG--
branch : trunk
2010-12-19 05:15:47 +01:00
Machiavelli
535d81db4b Core/Social: Really show correct count (matches + displayed) in SMSG_WHO now (switch position of 2 numbers).
--HG--
branch : trunk
2010-12-18 16:09:50 +01:00
leak
04e4561134 Prevent completing quests by packet manipulation
--HG--
branch : trunk
2010-12-18 15:29:11 +01:00
Machiavelli
e867481ccb Fix a typo in 52d8bc05c3
--HG--
branch : trunk
2010-12-17 19:27:09 +01:00
Machiavelli
0a8c99e02c Core/Social: Fix SMSG_WHO. Packet should contain number of players matching given criteria + number of players displayed, instead of total number of players online + number of players displayed.
Fixes issue #4886

--HG--
branch : trunk
2010-12-17 16:36:01 +01:00
Shauren
82f45966fc Core/Unit: Renamed addUnitState/hasUnitState/clearUnitState to AddUnitState/HasUnitState/ClearUnitState
Core/Vehicles: Allow the vehicle to always damage the passenger (removed unneded dbc hacks from scripts)

--HG--
branch : trunk
2010-12-17 13:43:24 +01:00
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
Spp
382fef1958 Core: Some warning fixes
--HG--
branch : trunk
2010-12-15 10:44:06 +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
Shauren
58a9b15443 Core: Fixes some warnings
Core/SmartAI: Fixed DamageTaken and DamageDealt hooks

--HG--
branch : trunk
extra : rebase_source : 062f1c68cd1d318d192b294a493db17a1943bee2
2010-12-14 22:45:23 +01: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
314376e32c Scripts: Fixed uninitialized variables, unreferenced parameters and virtual overrides
--HG--
branch : trunk
2010-12-14 16:24:59 +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
azazel
d2d62eab50 Cleanup: implemented helper methods for manipulating percentage calculation and used it where appropriate (plus fixed some other warnings).
NOTE: Initially I just wanted to fix some warnings, but noticed that there is no common method for percentage calculation and various formulas are used many time in the code making it difficult to read and understand what the code actually does. So, I introduced several template methods for calculating percent values and adding those values to the original base. I replaced all the raw calculations throughout the code where found, but I could have missed something or could have made a mistake. So, please report any strange behaviour after this commit.
If you ask me why I did it: for the sake of consistency and exact understanding what code means. If you see CalculatePct method, you clearly understand, that it find the value of x percent of y. And you can easily express, for example, spell behviour "reduces smth by x%" by the means of a method instead of recalling school maths.

--HG--
branch : trunk
2010-12-11 20:37:38 +06: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