Commit Graph
101 Commits
Author SHA1 Message Date
laly b9af020e72 Core/Cleanup: Drop some unused code.
Closes #1010, #581, and #248
2011-03-26 03:28:59 +02:00
Azazel e49b5b44d6 Core/Cleanup: remove C-style cast to (Bag*):
* add ToBag() methods for Item class;
* add GetBagByPos() method for Player class.
2011-03-18 15:58:08 +06:00
Azazel ca76e17bd6 Core/Cleanup: refactor honor and arena rating modifying methods:
* simplify wierd logic;
* add const modifiers to several getter methods.

(Idea based on commit [11187] by zergtmn for Mangos)
2011-03-17 11:00:41 +06:00
Azazel 6ad4044f05 Core/Mechanics: refactor XP (and in fact, honor/reputation/kill credit) rewarding routine and get rid of copy/pasted code. 2011-03-13 15:28:45 +06:00
Azazel 7200363835 Core/Loading: refactor inventory loading routine and add more informational error logging to it. 2011-03-12 00:54:37 +06:00
Shauren 9710c41a40 More warning fixes 2011-03-08 19:11:02 +01:00
darkstalker 1646f9d91c Core/Spell Mechanics: introduce global cooldown manager for server-side checks for GCD (ported from mangos) 2011-02-22 17:02:47 +06:00
Shauren 7ac891717c Core/Vehicles: Send proper GUID in SMSG_BREAK_TARGET packet when an unit enters vehicle 2011-02-19 22:50:09 +01:00
leak 6a64c79d2a Core/Groups: Group system cleaning sweep. 2011-02-18 18:35:52 +01:00
Azazel 4dc1eaa47c Core/Misc: improve error log messages by adding more info. Specially for Aokromes. 2011-02-17 19:47:08 +06:00
Machiavelli 17971acddb Core/Players: Implement generic SendClearFocus instead of magic SMSG_BREAK_PACKET randomly in the middle of code. Also preallocate correct size for packed guid. 2011-01-25 08:04:47 +01:00
Shauren 867bc197ef Core/Instances: Made the max amount of instances player can enter within hour configurable and fixed typo in instance packing/cleaning query 2011-01-24 16:12:02 +01:00
Shauren 820f87f365 Core/Instances: Implemented confirmation dialog for players upon entering instance which would permanently bind the player to it, players can now choose to get saved or leave the instance
Also fixes broken build
2011-01-24 11:38:59 +01:00
Shauren 464837077a Core/Instances: Implemented hourly instance limit: players are limited to entering 5 instances per hour (account wide limit) 2011-01-24 11:20:30 +01:00
Machiavelli 957c69de83 Update copyright note for 2011.
Happy new year.
2011-01-01 15:01:13 +01:00
Shauren cf62d7b776 Core/Items: Implemented spell penetration stat on items and use it from enchantments, original patch by zergtmn 2010-12-31 22:59:36 +01:00
silinoron dcb0902e61 Core/Player: Add a helper function in Player to get the number of grantable levels. For future use. Thanks Phazerz for helping me confirm this is the right value. 2010-12-30 21:15:11 -08:00
leak 1c244cced5 Core/Entities: Fixed disarming and related exploits
- Disarm shouldn't deduct stats other than weapon damage
- Ferals shouldn't be affected by disarm
- Fixed meta gem stacking exploit
2010-12-29 17:18:29 +01:00
linencloth efbc73d025 Core/Player: Split RemoveQuest into 2 separate functions
--HG--
branch : trunk
2010-12-26 21:34:08 +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 088ed9404b Core/Entities: Fix a minor disrepancy in the handling of weapon specializations introduced in revision a83f26ef71 - patch by Dr.Tenma
Fixes issue 5059.
Fixes issue 5265.

--HG--
branch : trunk
2010-12-25 04:03:04 +01:00
silinoron 41a9d3216c Core/Auras: Fix Cold Blood handling on misses and parries.
Patch by dr.tenma.
Fixes issue #2291

--HG--
branch : trunk
2010-12-18 13:06:38 -08: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
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
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
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
Shauren 611dc153b0 Core/Units: Corrected PLAYER_FIELD_BYTES2 invisibility/stealth flags, by VladimirMangos
--HG--
branch : trunk
2010-12-08 14:51:50 +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 28c2e270db Core/Battlegrounds: Implement power resets on arena-fight preparations (first 60 seconds before arena-fight kicks off) (Thanks to Kaelima)
Restores all player powers every 5 seconds untill arena starts (fixes possible exploit with entering arena battle with full rage or runic power)
(The 5 second timer is not 100% confirmed, as official pages only states that the power is reset after prep-time - needs feedback)
Closes issue 4805

--HG--
branch : trunk
2010-12-02 22:50:30 +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
Spp d3c9478153 Core/Groups: Add kicker and kick reason to RemoveMember
--HG--
branch : trunk
2010-11-23 20:49:36 +01:00
azazel 87d723405e Core/Scripts: return const modifier to Player methods back (should restore compilation for those with custom scripts).
NOTE: The main idea of original change is to allow scripts change content of message so that calling method sends modified message to client.
For example, moderating script which cuts illegal words from message.

--HG--
branch : trunk
2010-11-18 10:26:34 +06:00
azazel 4fb572015a Core/Scripts: pass message parameter by reference in OnChat methods to make it possible to be modified inside the script.
--HG--
branch : trunk
2010-11-17 18:14:35 +06:00
linencloth bf888285aa Core:
- Redesigned stealth and invisibility handling
  - Implemented the handling of multiple stealth types
- Implemented fake inebriation
- The message deliverer no longer sends packets from a non-visible source
  - The server won't send that much garbage which just takes bandwith
  - It won't be possible to use cheats to detect invisible objects
- Removed a lot of checks for the Z-coord
  - Fixes visibility problems happening while flying
- Limited the grid activation range of creatures to use less resources
- Implemented Shroud of Death
- Implemented increased visibility range for active objects
- Removed visibility check at spellhit (only sanctuary effects should prevent it)
(And a lot of other changes...)

Closes issue 4208
Closes issue 3049
Closes issue 2097
Closes issue 2198
Closes issue 2384
Closes issue 2197
Closes issue 2319

--HG--
branch : trunk
2010-11-13 17:18:09 +01: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
Shocker 8154f7243c Core/Arenas: Remove pet spell cooldowns on arena join too, fixes issue 1868
--HG--
branch : trunk
2010-10-16 17:01:01 +03:00
linencloth ae213dd580 Core: Improve constant channel handling
- Implement area restrictions
  - Disable constant channels in arenas
  - Implement city requirement
- Implement global constant channels
- Fix some packets

--HG--
branch : trunk
2010-10-16 12:59:53 +02:00
click 613b81f36f REALLY fix the CRLF-crap...
--HG--
branch : trunk
2010-10-07 15:54:07 +02:00
click 8ea4b32fab Update copyright headers (following the same standard in all files = good)
--HG--
branch : trunk
2010-10-07 12:41:56 +02:00
_manuel_ dfa401faf6 Core/Quests: Modified Quest System to support DF quests, the will work at the same time with daily quests but in parallel; in this way they will not count in the daily quests limit. Again, thanks to Spp & Gyullo.
--HG--
branch : trunk
2010-10-01 20:32:00 -03:00
_manuel_ 6246d79b55 Core/Dungeon Finder: Modified LFGMgr to use DF quests to reward.
* In this way we will store the character's day progress in the db, preventing to lose the information because of a crash/restart/shutdown.

Patch by Gyullo and me, thanks to Spp & linencloth for help.

* The next commit will modify the current Quest System to support DF quests.

--HG--
branch : trunk
2010-09-28 00:19:37 -03:00
Rat 395df76860 Core/Commands: added .debug areatriggers
-if turned on it will print the trigger id to chat if you get near it

--HG--
branch : trunk
2010-10-01 00:07:14 +02:00
Shocker 894b2081b3 Core/DB: Adjust max values for some columns in character_queststatus
--HG--
branch : trunk
2010-09-27 00:38:22 +03:00
Shauren 2e2951d037 Core/Players: Fixed action bar issues when changing active spec
--HG--
branch : trunk
2010-09-26 21:15:15 +02:00
Spp ef16cc9109 Core/Dungeon Finder: Add lfg state to know if a player is using lfg or lfr
- Do not allow to join battleground if using lfg/lfr

Closes issue 4189

--HG--
branch : trunk
2010-09-26 13:59:51 +02:00
Shauren 24e24020d1 Core/Players: This should fix crashes related to trading soulbound items
Updates issue #4162.
Updates issue #4165.

--HG--
branch : trunk
extra : rebase_source : eb30f245cb3a24ade6823d2fbb025cc9998870df
2010-09-25 14:12:50 +02:00
Shauren d8ddf38453 Core/Items: Implemented trading soulbound loot items
Core/DBLayer: Converted more more player-related queries into prepared statements
Core/Items: Fixed loading of enchantments

Closes issue #4130.

--HG--
branch : trunk
2010-09-21 21:55:16 +02:00
Shocker 5ffaf0d84b Core/Commands: Implement command for adding (completing) achievements
--HG--
branch : trunk
2010-09-21 03:51:14 +03:00
Shauren a509976369 Core/DBLayer: Converted player login queries into prepared statements
Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery

--HG--
branch : trunk
2010-09-20 18:20:40 +02:00