Commit Graph

178 Commits

Author SHA1 Message Date
click 44850aab07 Core: Disallow moving currency tokens out of their hidden bag - fix by leak
--HG--
branch : trunk
2010-11-07 22:28:03 +01:00
click 7853a06912 Fix "typo" in previous commit (codingstyle)
--HG--
branch : trunk
2010-11-07 20:12:36 +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
Shauren 88ae092744 Core/Quests: Use honor multiplier as base for calculating honor rewards, not the amount of kills (fix by Nay)
--HG--
branch : trunk
2010-10-24 21:32:26 +02:00
Rat e67f04d362 Core/ConditionMgr: added CONDITION_SOURCE_TYPE_VEHICLE_SPELL, sourceGroup=creatureTemplate.entry, sourceEntry=spellEntry
--HG--
branch : trunk
2010-10-22 22:45:11 +02:00
linencloth d9d1ec3670 Core: optimize string splitting
- Mainly affects item loading performance
  - Reduces guild loading time a lot

--HG--
branch : trunk
2010-10-21 16:56:51 +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 c2295e86be Core/Spells: Move hacky check for spec changing to its correct location
--HG--
branch : trunk
2010-10-16 17:44:42 +03:00
Shocker 222d1cd211 Core/Misc: Also remove buffs from pet when joining arena to make sure a player won't enter with a prebuffed pet, fixes issue 4287
--HG--
branch : trunk
2010-10-16 17:34:21 +03: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
Shocker 66dec6d86f Core/Misc: Implement config option for energy regeneration rate, patch by Ramus, closes issue 4394
--HG--
branch : trunk
2010-10-12 21:05:37 +03:00
Shauren 91a97c7b83 DB-Schema/World/creature: Added possibility to override npcflag, unit_flags, dynamicflags in creature table
Core/Player: Fixed bad query in previous revision

--HG--
branch : trunk
2010-10-09 17:52:00 +02:00
Shauren 324de6fb4c Core: Added some anti-WPE filter checks to prevent putting non-empty bags into other bags/gbank/mail/auction, original patch from mythcore
Core: Changed inventory saving - will no longer abort operation at single item fail

Closes issue #1994.

--HG--
branch : trunk
2010-10-09 17:36:53 +02:00
QAston e5e53498ce Core/Spells:
- Add more descriptive enumerator of procflags - now clearly pointing out that proc flags are dependant to the spell dmg class of the spells causing procs.
 - Define and implement PROC_FLAG_DONE_MAINHAND_ATTACK.

--HG--
branch : trunk
2010-10-08 19:17:49 +02:00
click f0c4241ea4 Remove the accidental additions of CRLF-crap from the header updates
--HG--
branch : trunk
2010-10-07 15:35:36 +02:00
click a67d7c9afd Copyright header updates - part 3... (and some whitespace cleanups)
--HG--
branch : trunk
2010-10-07 14:00:52 +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_ 91858c4ff8 Core: Fixed compile.
--HG--
branch : trunk
2010-10-01 21:24:50 -03: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
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
Spp e27976102d Core/: Fix warnings
--HG--
branch : trunk
2010-09-28 14:48:17 +02:00
Shocker 78803c9f09 Magic numbers cleanup:
- Replace many magic numbers with constants
- Use enum for vehicle flags/seat flags
- Correct structure for ItemRandomSuffixEntry

--HG--
branch : trunk
2010-09-28 08:21:51 +03:00
Xanadu 781592d63a Core/Spells: * Removed special handling of SPELL_AURA_ABILITY_IGNORE_AURASTATE, now handled by the proc system (again).
* Fixed Fingers of Frost buff display. Closes issue #3324.

--HG--
branch : trunk
2010-09-27 20:30:47 +02:00
Shocker ede2a1c5ed Core/Quests: Make sure itemcount doesn't get to be negative.
Since this is an old issue and probably there are various entries with huge values as itemcounts already, a cleanup must be done before changing structure of character_queststatus which was done in r9be097c482, thus I'll include the SQL cleanup in that revision's .sql file or MySQL will thrown an error regarding out of bounds values

--HG--
branch : trunk
2010-09-27 02:57:01 +03: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
click 461590832a Core: Generic cleanup (tab2spaces/whitespace removal)
--HG--
branch : trunk
2010-09-25 22:03:57 +02:00
Machiavelli a312a667cb Core/Player: Correctly send social list to player on login. Fixes display of number of online friends in the icon on the chat pane.
Fixes issue #3807.

--HG--
branch : trunk
2010-09-25 17:08:55 +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
Machiavelli 3c6dc32030 Core/DBLayer:
- Rewrite Field class to be able to store both binary prepared statement data and data from adhoc query resultsets
- Buffer the data of prepared statements using ResultSet and Field classes and let go of mysql c api structures after PreparedResultSet constructor. Fixes a race condition and thus a possible crash/data corruption (issue pointed out to Derex, basic suggestion by raczman)
- Conform PreparedResultSet and ResultSet to the same design standards, and using Field class as data buffer class for both
* NOTE: This means the fetching methods are uniform again, using ¨Field* fields = result->Fetch();¨ and access to elements trough fields[x].
* NOTE: for access to the correct row in prepared statements, ¨Field* fields = result->Fetch();¨ must ALWAYS be called inside the do { }while(result->NextRow()) loop.
* NOTE: This means that Field::GetString() returns std::string object and Field::GetCString() returns const char* pointer.

Still experimental and all that jazz, not recommended for production servers until feedback is given.

--HG--
branch : trunk
2010-09-24 22:16:21 +02:00
silinoron 9ca1efa1e2 Core/Item: This ought to fix the crashes introduced in r2969543fa5
--HG--
branch : trunk
2010-09-21 19:56:33 -07: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
Spp 7a3fd2e9bf Core/: Fix warnings
--HG--
branch : trunk
2010-09-21 10:11:25 +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
Rat 5de3183180 Core/ConditionMgr: You can now add conditions to QuestAccept (at CanTakeQuest check)
--HG--
branch : trunk
2010-09-19 19:49:23 +02:00
_manuel_ c4ed3430cf Core/Players: Better check for weekly quests in RewardQuest function.
--HG--
branch : trunk
2010-09-19 13:24:21 -03:00
Shauren 97aeb251b8 Core/Players: Added support for single character bans
Core/Commands: Renamed .ban character to .ban playeraccount (.ban character will ban only the player, not account)

This revision reaches 10000, congratulations and thanks to everyone who contributed!

--HG--
branch : trunk
2010-09-19 17:02:14 +02:00
linencloth 9739bea487 Core/Loot: Reimplement the proper check for loot recipient to prevent rewarding loot without tagging the creature by the player.
Also fix the related skinning problem, and do not set the skinnable flag for creatures without any loot recipient.

--HG--
branch : trunk
2010-09-15 17:44:56 +02:00
linencloth 52bc2478c9 Core/Creature: Do not reward XP for creatures without any loot recipient. (XP fix part for the "pet-only"-kills)
--HG--
branch : trunk
2010-09-15 17:37:03 +02:00
Shauren a72fc44f9a Core/Loot: Reverted part of revision fe39cb058b75, fixes skinning loot
Core/Loot: Some logic fixes for group looting
Buildsystem/MSVC: Fixed compile warning
Config: Added missing description for Rate.Drop.Item.ReferencedAmount

Closes issue #4004.

--HG--
branch : trunk
2010-09-15 13:44:40 +02:00
Spp cce61839f8 Core/Player: after removing player from group, if group is deleted assign pointer to NULL to make sure no garbage pointer is used later in code
--HG--
branch : trunk
2010-09-14 20:14:10 +02:00
Spp 61bbd284de Core/Player: Add default remove Method to RemoveFromGroup
--HG--
branch : trunk
2010-09-14 16:38:08 +02:00
click a6efc4dad5 Core/Loothandling: Make sure "pet-only"-kills doesn't drop loot (when pet is killing a creature on its own without any assistance from player)
(Also fix unintended typo from r701f212a00)

--HG--
branch : trunk
2010-09-13 22:49:20 +02:00
Shauren 6d0a031a77 Core/Quests: Some cleanup in quest relation accessing
--HG--
branch : trunk
2010-09-13 13:18:27 +02:00
Shocker 4908187578 Core/ScriptMgr: Add hooks for duel phases: OnDuelRequest, OnDuelStart, OnDuelEnd
--HG--
branch : trunk
2010-09-13 01:42:14 +03:00
Shauren 1f7064efee Core/Items: Use proper method for returning item max stack size
--HG--
branch : trunk
2010-09-12 10:43:40 +02:00
click bf664b7a44 Cleanup/Core: Remove whitespace and tabs
--HG--
branch : trunk
2010-09-12 01:40:27 +02:00
Shauren d714d0eb20 Core/Loot: Reverted revision 44a1f284dd3e
Core/Loot: Implemented automatic currency distribution in better way, applying all conditions and updating achievements

Closes issue #3912.

--HG--
branch : trunk
extra : rebase_source : 35c2a59d213793ee29dfd0fc1acb7c15b375b049
2010-09-11 21:28:55 +02:00