Commit Graph

973 Commits

Author SHA1 Message Date
silverice
5dfcccdd85 correct movement packet broadcasting
mover should be source of movement packets, not player
   resolves problem that movements of controlled unit not visible for nearby players
   (you can detect it only when controlled unit too far from player-controller)

--HG--
branch : trunk
2010-04-04 03:46:38 +03:00
Trazom62
eba6ae5ffd Fix crash in Player::DuelComplete.
Fixes issue #1243.

--HG--
branch : trunk
2010-03-27 16:23:43 +01:00
Machiavelli
b9927ca559 Implement usage of RewardArenaPoints field in quest_template
--HG--
branch : trunk
2010-03-27 15:10:26 +01:00
Xanadu
cfc094040f Added support for maximum allowed player level for quests. By Gyullo.
--HG--
branch : trunk
2010-03-23 16:10:18 +01:00
Trazom62
e018c4cc7b Implemented new achievement criteria data:
* ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM_LVL (item level and item quality).

Implemented achievement criteria:
* ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM
* ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM

Update ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM implementation. Requires DB update to use new criteria data.

Thanks VladimirMangos.

--HG--
branch : trunk
2010-03-22 18:32:38 +01:00
Machiavelli
19b84fd889 Missing part of previous commit. Thanks HG for being so coöperative.
--HG--
branch : trunk
2010-03-21 16:51:03 +01:00
Machiavelli
4a406751af Add some more function calls to remove refund referenced from player's m_refundableItems, preventing the triggering of an assert in _saveInventory.
--HG--
branch : trunk
2010-03-21 02:53:51 +01:00
Machiavelli
a0fd280a34 Memory optimization by making m_refundableItems a std::set<uint64>. Also fix a crash caused by invalid iterator in Player::_SaveInventory(). This should fix the last of the item save related crashes.
--HG--
branch : trunk
2010-03-20 21:49:01 +01:00
Machiavelli
a0d8b0be48 Item system update
- Set ITEM_FIELD_CREATE_PLAYED_TIME to 0 in Item::Create, should fix crash described in issue 1199
- Change some function calls so on Player::_saveInventory the core doesn't have to check for existance of item anymore when iterating over m_refundableItems. The loop will now only update played time, removal of items from this set is done in other functions.
- Cleanup in affected functions.

--HG--
branch : trunk
2010-03-20 16:26:16 +01:00
Machiavelli
0c6368bd39 Fix hunter pet talent reset feature.
Thanks to Xanadu and nalimleinad for aiding research.

--HG--
branch : trunk
2010-03-19 20:20:42 +01:00
Machiavelli
01dc7aeb08 Fix heirloom armor proficiency downgrading for warriors.
--HG--
branch : trunk
2010-03-19 16:26:46 +01:00
Machiavelli
1146c59f66 Fix crash in Player::_saveInventory().
Fixes issue #1175

--HG--
branch : trunk
2010-03-19 13:36:54 +01:00
Machiavelli
35a7f4849e Store alternate currency spent on an item by Item ExtendedCost entry instead of honorPts/arenaPts/items seperately. Thanks to Opterman for the idea.
--HG--
branch : trunk
2010-03-18 22:56:48 +01:00
Xanadu
59e0d42260 Added (blizzlike) packet broadcast to near teleport. Thanks to Zor and nalimleinad (AKA anonymous colleague #1) for research.
--HG--
branch : trunk
2010-03-18 17:58:27 +01:00
Machiavelli
302af79bc2 Implement vendor item refund system.
For info about this system, see: hxxp://us.blizzard.com/support/article.xml?locale=en_US&articleId=27351
Thanks to:
- Opterman, Malcrom, Xanadu + anonymous colleagues for aiding research on packet structure
- Aokromes and Svannon for testing

--HG--
branch : trunk
2010-03-18 17:27:40 +01:00
XTZGZoReX
1a6f216e91 * Cleanups and comments in Player::SendInitWorldStates.
--HG--
branch : trunk
2010-03-18 14:48:33 +01:00
Machiavelli
b0b17e56de - Overload Item::SetState with player argument where possible to ensure updated data is saved to DB properly.
- Alter Item::SetEnchantmentDuration function, add parameter Player* because GetOwner() cannot be called in the function due to hashtable locking in the SaveAllPlayers process.
- Remove a sanity check prior to Item::AddToUpdateQueueOf, so assertions can detect whenever a higher level function was not called properly. Please report any crashes related to these assertions to get them resolved asap.

--HG--
branch : trunk
2010-03-16 01:05:56 +01:00
Trazom62
1845a9588d Fix lootable check in Player::isAllowedToLoot.
--HG--
branch : trunk
2010-03-15 00:21:37 +01:00
Trazom62
6fdaf225f3 Fix creature tapped and lootable dynamic flags => fix creature not lootable.
Fixes issue #1067.

--HG--
branch : trunk
2010-03-14 00:22:53 +01:00
Trazom62
ed8c5ef6ff Implement group loot for chest having GroupLootRules (go type=3, data15=1).
Implement round robin loot.
Implement round robin for underthreshold items (group loot and need befor greed).
Fix "all players pass" bug on creature.
Add SMSG_LOOT_LIST message to indicate looter (round robin or master).
And some other minor loot bugs.

Fixes issue #167.
Fixes issue #247.

--HG--
branch : trunk
2010-03-11 22:55:02 +01:00
thenecromancer
e1542df90c Convert some C style casts to new functions
--HG--
branch : trunk
2010-03-11 20:51:31 +01:00
Machiavelli
cf0a646cc0 Fix removal of action buttons by removing some redundant code.
--HG--
branch : trunk
2010-03-09 22:07:43 +01:00
Spp
8034a6c48e Rename 'Hostil' to 'Hostile'
Credits to NoFantasy (Mangos)
Closes issue #411

--HG--
branch : trunk
2010-03-09 11:11:10 +01:00
raczman
07f3b91426 Some Creature* casts moved to new ToCreature.
Added const Creature* ToCreature()

--HG--
branch : trunk
2010-03-07 18:30:53 +01:00
silver1ce
9a8f10fa30 avoid send movement packet at death twice, cleanup
--HG--
branch : trunk
2010-03-07 18:17:37 +02:00
raczman
91b8ee104e Added new type-safe cast functions.
This, when properly used, should get rid of most memory corruption issues,
currently, casting types C-style with no checks leads to some abstract crashing.
Functionality is same as with dynamic_cast<>, but with no RTTI check - so when
casting into invalid type you will receive NULL, and most probably crash.
At the same time, i took the liberty to convert most Player* casts to ToPlayer().
Still needs crapload of casts being moved to new facility.

--HG--
branch : trunk
2010-03-07 15:20:19 +01:00
thenecromancer
7e99e2f9cc Send movement packet on creature/player death (expected for animation display, don't ask me why)
Don't bother in case of flying creatures, as there's already something sent

--HG--
branch : trunk
2010-03-06 13:14:51 +01:00
Brian
74ccd57597 * Move some values out of the data blob in the characters table
* (honor, kills, title, currencies, watched faction, drunken-status, health and power)
* Original Author Hunuza - thank you
* Ported to Trinity by RammboNr5 - thank you
* Tested by Aokromes - thank you
* Closes Issue #911

--HG--
branch : trunk
2010-03-02 10:12:47 -07:00
Rat
006390ffa0 *fix weapon enchants procing in feral forms, closes issue #23
--HG--
branch : trunk
2010-03-01 21:06:24 +01:00
XTZGZoReX
2383c5b79e * Fix SMSG_TRANSFER_ABORTED. Don't modify packet structures unless you actually verify them...
--HG--
branch : trunk
2010-02-28 19:08:40 +01:00
silver1ce
fcaa318fb3 Update visibility system
*visibility updates and ai relocations processed simultaneously for each grid
  *these operations now are not synchronized for different grids
  *some changes into structure of visibility notifiers

--HG--
branch : trunk
2010-02-27 15:25:14 +02:00
Tartalo
c76cb0ce7c Add new flagged column to access_requirement to set instances opened/closed.
This way is possible to open a raid on 10man mode while the rest of modes are closed (for example).
Ingame commands to open/close instances coming soon ;)

--HG--
branch : trunk
2010-02-25 16:26:03 +01:00
QAston
c46c831094 *CRLF:(
--HG--
branch : trunk
2010-02-20 23:59:05 +01:00
QAston
2e3f89b61f *Move summon water elemental handler to correct place.
--HG--
branch : trunk
2010-02-20 20:28:31 +01:00
thenecromancer
cedf706f29 Treat rune cooldowns as timers and not as remaining tick counts
Implement support for modifiers changing rune regeneration rate
Apply all spells from Improved Unholy Aura

--HG--
branch : trunk
2010-02-18 01:06:47 +01:00
QAston
4cd4c4170f *Backout some WTF fixes. Do things correctly, or do not touch them at all...
*Really fix windows build.

--HG--
branch : trunk
2010-02-15 20:59:05 +01:00
n0n4m3
bcd4a48328 Removed stupid/not needed file Spellid.h.
--HG--
branch : trunk
2010-02-15 18:23:39 +01:00
n0n4m3
3dd6fdedf7 Use PVPDificulty.dbc for bg/arena bracket selection (levels and difficulty). Rename BG/arena queue_id to bracket_id and related functions/etc. Author: VladimirMangos.
--HG--
branch : trunk
2010-02-15 15:31:27 +01:00
n0n4m3
535068d740 Add missing fix for update arena use spell time cooldown. In 3.3.x 10min.
--HG--
branch : trunk
2010-02-15 15:13:15 +01:00
Machiavelli
a5585ceb3c Store to be traded items in array based on item guid instead of item slot to prevent exploiting. Fixes #667.
--HG--
branch : trunk
2010-02-15 13:55:16 +01:00
Brian
486c00891b * Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to:
* n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo,
* thenecromancer, Xanadu, Trazom, Zor, kiper
* Additional credits to:
* TOM_RUS and NoFantasy from MaNGOS
* Thanks for testing Aokromes and XTElite1
* SoTA still needs some work, but is very playable (huge thanks to raczman and
* kiper)
* To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the
* last rev you are on
* and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world
* DBs
* Known problem with guild banks.

--HG--
branch : trunk
2010-02-14 19:13:14 -07:00
n0n4m3
bb7222c376 Fixed data loss at player save.
--HG--
branch : trunk
2010-02-06 19:07:28 +03:00
Xanadu
a5d1bc77ab A great purge of obsolete macros.
--HG--
branch : trunk
2010-02-05 00:31:28 +01:00
silver1ce
a307ba784c *Move object's field\visibility update functions to object from accessor
removed useless SendUpdateObjectToAllExcept - anyway fields will be updated, there is no sense to force update them

--HG--
branch : trunk
2010-02-03 16:53:40 +02:00
Brian
23bdbf1ad3 * Fixed reputation buying from vendors where the items had 0 for Req rep
* faction, but >0 for Req rank. In that case it pulls the faction of the
* vendor.
* HUGE thanks to QAston and silverice

--HG--
branch : trunk
2010-02-02 21:24:44 -07:00
Trazom62
5114a2a327 Fix Metagem bug exploit. Thanks Azazel and p.alexej.
Fixes issue #579.
Fixes issue #453.

--HG--
branch : trunk
2010-01-31 18:10:27 +01:00
QAston
ac388e6f21 *Add support for spells in npc_trainer table with multiple SPELL_EFFECT_LEARN_SPELL, this fixes problems with learning such spells from trainers.
--HG--
branch : trunk
2010-01-31 17:24:13 +01:00
Spp
aee31b9164 Remove unnecesary item enchants checks
By Az@zel
Closes issue #382

--HG--
branch : trunk
2010-01-30 20:48:23 +01:00
QAston
a331b67244 *Add error checks at spell_required table loading
*Allow spell_required table to store more than 1 spell learn requirement for a spell
*spell_required table data is removed from world.sql and since this commit the data for it should be maintained by db project you're using.

--HG--
branch : trunk
2010-01-30 19:25:04 +01:00
QAston
1b92277e8c *Fix the dead loop in Player::removeSpell, or at least optimize the cycle.
--HG--
branch : trunk
2010-01-30 15:57:41 +01:00