Commit Graph
1591 Commits
Author SHA1 Message Date
Liberate 09f4eb9e1c Core/Gameobjects: Make a chest not lootable when it still has a respawn time, to avoid cheating using third-party software.
--HG--
branch : trunk
2010-12-14 03:58:59 +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
Spp 9815847511 Core/Dungeon Finder: Return a copy of cached dungeons set (to avoid being cleared later in code)
--HG--
branch : trunk
2010-12-13 21:28:33 +01:00
click 620cde80cd Core: Fix non-PCH build
--HG--
branch : trunk
2010-12-13 17:44:20 +01:00
Machiavelli d75eaf8e83 Core/Guild: More signed/unsigned comparison fixes. Should fix guild log loading.
--HG--
branch : trunk
2010-12-13 16:58:59 +01:00
Machiavelli 1a4fe4baca Core/Guilds: Fix logic in bank withdrawal method (unsigned comparison with signed value). Should fix certain guild bank related bugs.
--HG--
branch : trunk
2010-12-13 16:42:09 +01:00
Machiavelli 976225a9dd Core/DBLayer: Implement global ExecuteOrAppend methods to DatabaseWorkerPool for executing queries in a diverse context (transaction or non transaction) - instead of local to Guild.cpp
--HG--
branch : trunk
2010-12-13 16:27:14 +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 81db111ffd Core/Spells: Fix mage talent Frost Warding (and a little cleanup on CalcAbsorbResist) - patch by DrTenma
Fixes issue 2715.
Closes issue 3770.

--HG--
branch : trunk
2010-12-11 12:00:57 +01: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 a791df6415 Core/Dungeon Finder: Fix crash in Join
(trying to delete a const iterator)

Closes issue 5083

--HG--
branch : trunk
2010-12-10 14:58:45 +01:00
Rat b5e24cbb9c Core/SmartAI: ACTION_CALL_CASTEDCREATUREORGO can now be used with GameObjects too
--HG--
branch : trunk
2010-12-09 22:21:11 +01:00
leak 855b8bcd20 Core/Spells: Prevent Mind Sear from damaging the target itself. Patch by PrinceCreed.
Fixes issue 2534

--HG--
branch : trunk
2010-12-09 21:45:04 +01:00
Spp be73926ab3 Core/Dungeon Finder: Fix incorrect Lfg state after multiple actions.
- Clear state after get out DF system
- Fix player not getting reward after finish a random dungeon
- Remove OnDisband Hook, it's already handled by OnRemoveMember

--HG--
branch : trunk
2010-12-09 19:13:11 +01:00
Spp 4914ca575b Core/Dungeon Finder: Fix a crash in Join
After a random dungeon is expanded to the corresponding dungeons and checked compatible dungeons of players joining. We have no dungeons and no lockmap.

This may only happen when a random dungeon is expanded to no dungeon. And this may be impossible to happen

Closes issue 5066

--HG--
branch : trunk
2010-12-09 14:25:48 +01:00
Spp 4537ba2766 Core/Dungeon Finder: Fix a possible crash in rolechecks when not success
--HG--
branch : trunk
2010-12-09 13:49:04 +01:00
azazel e7eb4e22e2 Core/Mechanics: cleanup shapeshift form code (by VladimirMangos)
--HG--
branch : trunk
2010-12-09 17:03:42 +06:00
azazel 8c2ce7f86d Core/Auras: fix AuraType 138 to not affect ranged haste, and rename to SPELL_AURA_MOD_MELEE_HASTE (by michalpolko)
--HG--
branch : trunk
2010-12-09 14:40:59 +06: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
Shauren 611dc153b0 Core/Units: Corrected PLAYER_FIELD_BYTES2 invisibility/stealth flags, by VladimirMangos
--HG--
branch : trunk
2010-12-08 14:51:50 +01:00
Rat cebf8590e3 Core/SmartAI: some error checks for actionlists, and enabled lists for GOs
--HG--
branch : trunk
2010-12-07 20:25:45 +01:00
Rat bb09a4a50f Core/SmartAI: all actions regarding to TIMED_ACTIONLIST will now use targeting:
you can now 'send' a list of timed actions to any targeted creature if it has SmartAI

NOTE: already made script with timed actions should be remade to use self as target

--HG--
branch : trunk
2010-12-07 18:31:34 +01:00
Shauren 703835ee94 Core/Quests: Fixed Unholy Infusion (24749), Blood Infusion (24756) and added partial support for Frost Infusion (24757)
--HG--
branch : trunk
2010-12-06 22:54:19 +01:00
leak 20cc4ace5d Core/OutdoorPvP: Fixed a crash that occured on accessing CapturePoints after GO removal
--HG--
branch : trunk
2010-12-06 20:55:26 +01:00
Machiavelli 3ae225247a Core/Groups: Remove unused (and costly) return value from Group::RemoveInvite
--HG--
branch : trunk
2010-12-06 20:25:43 +01:00
Spp fbf525218b Core/Dungeon Finder: revert r14440b0b82 and fix it properly.
That msg was just for debugging purposed and its not needed anymore

--HG--
branch : trunk
2010-12-06 17:23:52 +01:00
Spp 2581c2f70f Core/Dungeon Finder: Fix console spam msg in Leave
--HG--
branch : trunk
2010-12-06 16:48:23 +01:00
Spp 7ef59e3872 Core/SmartScripts: Fix a typo in action 'set instance data (64)'
--HG--
branch : trunk
2010-12-06 06:38:50 +01:00
QAston bb2a715afc Core/Scripts: Comment out code sanitizing hook type - will be fixed soon.
--HG--
branch : trunk
2010-12-06 07:16:39 +01:00
leak 59d12e3b4a Core/Entities: Fixed a crash by accessing the GameObjectAI of a GameObject before the next Update cycle. Patch by Rat. Thanks to Visagalis for testing.
Fixes issue 4863

--HG--
branch : trunk
2010-12-06 04:52:33 +01:00
Spp 090fb3572f Core: Fix non-PCH build
--HG--
branch : trunk
2010-12-06 02:35:28 +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
QAston 59c1a238f5 Scripts/AuraScript: Make AuraApplication in OnEffectPeriodic never be NULL.
Scripts: remove some unnecessary NULL checks from scripts.

--HG--
branch : trunk
2010-12-05 21:38:52 +01:00
Shauren e2c9453442 Core/Auras: Small correction on PLAYER_FIELD_BYTES2 usage in SPELL_AURA_OVERRIDE_SPELLS (293)
--HG--
branch : trunk
2010-12-05 21:20:45 +01:00
QAston 7db1b39224 Core/Auras: backout r2bf34fd7ac and add alternative - not spell specific sollution for the problem.
--HG--
branch : trunk
2010-12-05 20:43:09 +01:00
leak 6fe19b5a86 Core/Scripts: Split OnCreatureCreate() and OnGameObjectCreate() into two virtual functions each.
Note to scripters: be aware that you will need to hook into the Remove functions if you want to do stuff at GO/creature removal.
Closes issue 5011.

--HG--
branch : trunk
2010-12-05 18:04:10 +01:00
Spp dfa1e9532b Core/Dungeon Finder: Use different queues for each team
--HG--
branch : trunk
2010-12-05 17:50:32 +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
silinoron 71c2698faf Core/Auras: Really add forgotten changes (as in do it properly).
--HG--
branch : trunk
2010-12-05 08:34:01 -08:00
Machiavelli b845b9d0fd Core/DBLayer:
- Make time format of MaxPingTime consistent between authserver and worldserver. Note that the value is in minutes, update your config files accordingly if needed.
- Remove obsolete atomic uint32 and prevent concurrent calls to vector::size() in DatabaseWorkerPool

--HG--
branch : trunk
2010-12-05 16:48:47 +01:00
silinoron 141a9017d4 Core/Auras: Add forgotten changes from r91eb5c3bd59e63d3025fd7ec9ca4f1f05924a517.
Thanks tassader1000 for telling me it was important.

--HG--
branch : trunk
2010-12-04 14:02:55 -08:00
silinoron 3201338eac Core/Auras: Allow spell 64381 to stack four times.
Patch by Lopin.

--HG--
branch : trunk
2010-12-04 10:59:45 -08:00
silinoron 1b5ff62314 Core/Auras: Replenishment should stack duration, not several instances.
Patch by dr.tenma.
Fixes issue #4370.

--HG--
branch : trunk
2010-12-04 10:59:06 -08:00
silinoron 3661ed8231 Core/Auras: Fix wrong durations on certain reflected spells.
Patch by dr.tenma.
Fixes issue #3611.

--HG--
branch : trunk
2010-12-04 10:51:46 -08:00
linencloth 4cd2f3dae6 Core/Traveller: Calculate the travel time correctly for zero distance
Closes issue #4857

--HG--
branch : trunk
2010-12-04 17:25:33 +01:00
Machiavelli b9fb7554c5 Core/Disables: Add flags SPELL_DISABLE_MAP and SPELL_DISABLE_AREA for sourceType DISABLE_TYPE_SPELL.
This will allow you to disable spells on certain maps/areas. Note that you must have at least flag SPELL_DISABLE_PLAYER or SPELL_DISABLE_CREATURE or SPELL_DISABLE_PET set too, as they take preference.
The parameters for mapIds and areaIds are defined in new columns params_0 and params_1 respectively, in a comma-seperated string.

Example:
INSERT INTO disables VALUES(0, 8921, (1+16+32), "571,1", "1519", "Moonfire Example");

This will disable spell moonfire for players in maps 571,1 and area 1519.

--HG--
branch : trunk
2010-12-04 18:29:14 +01:00