Commit graph

71 commits

Author SHA1 Message Date
VladimirMangos
0daf12a348 [11703] Proper way create items in Item::CreateItem/CloneItem for items not for inventory
Old code way work not allow create item without providing targeting player.
In result creating item that will not placed to inventory required additional hacks
for undo redundent links to player structures.
2011-07-02 01:08:01 +04:00
VladimirMangos
cc11366d6b [11702] Alsways attempt generate randomProperty for item in at create if value not pre-selected.
This resolve all existed cases when we miss assign random property id.

Also move random property/suffix check from item creating to server load time.
2011-06-30 19:19:02 +04:00
cmaranec
2d7768a5ab [11646] Implement support item converting at expire
Example: items 44623->44625->44627 convertion chain

* New table `item_enchantment_template` store original->final item pairs
  Original item must have duration setup.
* Small change in GetItemConvert for consistence (now 0 returned if no convert pair instead original entry id)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-18 21:15:20 +04:00
Janu
f1a969d6c7 [11621] Fixed broken DB update when item updated in DB at loading for some reason.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-10 22:02:12 +04:00
Den
2686963d6d [11612] Code style in Item.*
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-06 12:45:27 +04:00
VladimirMangos
d5675ba3bd [11524] Avoid adding auction item to player inventory update queue.
Also not set ITEM_FIELD_CONTAINED before real adding item to inventory.
No known porblem with last but code cleanup.
2011-05-23 05:33:21 +04:00
VladimirMangos
249fb836ca [11490] Alow implicit cast ObjectGuid->uint64 and only explicit uint64->ObjectGuid
Now safe allow this casts in like way after completed convertion to ObjectGuid use.
Also simplify code in result allowed auto cast to uint64.

Please _not_ add new uint64 storages (local and in structures) for guid values.
2011-05-15 22:04:57 +04:00
VladimirMangos
a925db80fa [11464] Some item related guids convertion to ObjectGuids 2011-05-10 16:37:34 +04:00
VladimirMangos
151e5eae9c [11458] Non-item related uint64 guids replaced by ObjectGUids in Player.h
Also let ObjectAccessor::FindPlayer optimize empty guid case work.
2011-05-09 21:54:09 +04:00
TOM_RUS
730a907252 Use enum InventoryResult as return type for few functions. 2011-04-24 02:48:35 +04:00
zergtmn
37fd225a89 [11292] Strip trailing whitespace after [11284] 2011-03-27 23:40:42 +06:00
Ambal
40ef9cbf2f [11284] Implement prepared statements for INSERT+DELETE+UPDATE SQL requests. Should improve player save performance + lower MySQL server CPU usage.
Note: PostgreSQL does not have prepared statements implemented using native APIs.

Huge thanks to Undergarun, kero99 and Vinolentus.

Signed-off-by: Ambal <pogrebniak@gala.net>
2011-03-25 22:17:59 +02:00
VladimirMangos
7196d81679 [11254] Really load item text at login.
This fix problem when item with text created but not read before
logout after logout not show text. In most cases this is mail text
copied to inventry. Client cache text in WDB so if open before
logout then item "show" text. If you have items created before
this fix with like problem you need clear WDB cache for fix text
show for item.
2011-03-16 02:15:35 +03:00
Lynx3d
44fd108745 [11203] Implement creating scrolls when enchanting vellum.
Thanks to Lightguard and timmons for original contribution.
2011-02-24 01:23:59 +01:00
VladimirMangos
cf685da47a [11139] Use for Creature/GameObject local per-map guids
* Creature/GameObject guid generators moved to Map
* For avoid wrong not converted cases generic function in ObjectMgr has been replaced by
  specilized guid generation function like sObjectMgr.GeneratePlayerLowGuid().
  This let catch all cases that need update in custom code or scripts.
* Drop many ObjectAcessor.h now dead code. This is also make mangos more thread safe.
* Restore one more time unix build broken in prev. commits.

Note: many cases when something not wotk in instance but work in continents
possible magicly start work after this commit. For example, some gm commands.
From large systems that need more chnages for start work in full power in instances
can be referecned pool/gamevent system. Last need just small hacks drop changes but
in will addded in independent commit.
2011-02-12 09:52:16 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
VladimirMangos
ce7b98c45e [10799] Add GetGuidStr() short call for GetObjectGuid().GetString() and use it. 2010-12-01 09:56:13 +03:00
VladimirMangos
21710cf05d [10784] Restrict items with generated loot really to single character only. 2010-11-25 17:00:52 +03:00
VladimirMangos
2601022b9f [10751] Use objectguids in item code.
Also
* Fixed unexpected container updated state after inventory load
* Make .debug getitemstate command more friendly by args.
2010-11-20 01:59:48 +03:00
tomrus88
76dfdd336f Backports from 400 branch. 2010-11-15 18:01:45 +03:00
VladimirMangos
10d3d3ce24 [10692] Fixed some GCC warnings and code errors.
Thanks to freghar for provide cleaned list of warning messages.
2010-11-07 21:30:55 +03:00
VladimirMangos
f48e768a70 [10662] Implement partly item looting
* Not deleted normal item loot at first loot window close.
* Save current item loot content to DB for later continue looting.
* Cleanup spell effect SPELL_EFFECT_OPEN_LOCK check code
* Cleanup Player::AutoStoreLoot calls
2010-11-01 02:04:08 +03:00
VladimirMangos
46d740bbf4 [10641] Fixed use item dynamic/item proto flags.
* List its independelty. Each from this 2 fields have own flags. Cleanup lists.
* Not copy proto flags to item flags update field. This fix heroic item versions
  show in client in result mixed use ITEM_DYNFLAG_WRAPPED (0x8) with ITEM_FLAG_HEROIC (0x8)
* Update uses to proto case use for some cases where before wrongly has been used item dyn.flags
* For ITEM_DYNFLAG_UNLOCKED (0x4) set for item at unlock and check for prevent re-unlocking.
  This mostly for future case when will be implemented partly loting items support.
* For ITEM_FLAG_LOOTABLE (0x4) check loot absent or conflicting setting with containers/casted at use items.
  Report wrong cases art loading.
* Better check related loot tables content using ITEM_FLAG_PROSPECTABLE and ITEM_FLAG_MILLABLE
2010-10-25 16:27:14 +04:00
VladimirMangos
acd0716297 [10432] Rename ASSERT -> MANGOS_ASSERT and related fixes
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.

In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
2010-09-02 05:13:16 +04:00
VladimirMangos
5f44c4da21 [10363] More wide use ObjectGuid in way remove MAKE_NEW_GUID uses.
Also
* Fixed some amount wrong uses low guids as full player guids.
* Add private without body ObjectGuid(uint32 const&) for catch wrong assigns low guids to ObjectGuid.
  In some cases need assign "0" guid, then use ObjectGuid() instead.
* Fixed .pdump commands work.
2010-08-17 08:22:28 +04:00
Lynx3d
15390df4d9 [10122] Avoid use EquippedItemInventoryTypeMask mask for not item targeted spells check.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-29 22:16:14 +04:00
NoFantasy
2375a1cb71 [10110] Add function Get/SetObjectScale and update code where scale is set.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-27 12:39:29 +02:00
VladimirMangos
b8246b1dbb [10100] Fixed some cases assign low guid to full guid update field. 2010-06-23 10:51:38 +04:00
VladimirMangos
d86dcd60d7 [9925] Add more log filters
* damage - different direct damage calculation tracing
* combat - combat state updates, roll attack result and etc
* spell_cast - spell cast progress and aura apply
2010-05-18 12:38:52 +04:00
VladimirMangos
722135b326 [9838] More log filters and macro uses.
* LogFilter_Weather
* LogFilter_PeriodicAffects
* LogFilter_PlayerMoves
* LogFilter_SQLText
* LogFilter_AIAndMovegens
* LogFilter_PlayerStats
2010-05-05 18:46:10 +04:00
VladimirMangos
24f2d03485 [9702] Drop now redundent item_text table.
* In beggining bad news: at 3.3.3 switch has been forgoted item_instance.data field chnage.
  In result items with texts (mail copy in to inventory, some other) lost text content.
* That why in current commit item_text droped without convertion. In result all itesm with texts
  will lost text. Sorry for this as i think small porblem :(
* Now text stored in item itself.
2010-04-09 02:10:36 +04:00
tomrus88
4c8dd37612 Merge remote branch 'origin/master' into 330 2010-03-30 13:06:34 +04:00
XTZGZoReX
51fd11c92c [9638] Replace all C assert()s with MaNGOS ASSERT() macro. 2010-03-29 19:29:42 +02:00
VladimirMangos
d7c1e06d1b [9636] Move item real-time/in-game duration counting flag to new extraflags field.
Client expected only positive duration values, so stop use duration field as signed.
2010-03-29 09:52:59 +04:00
tomrus88
e73c5d3b79 Merge remote branch 'origin/master' into 330
Conflicts:
	src/game/Unit.cpp
2010-03-10 20:24:28 +03:00
tomrus88
393d46f9f6 Updated to latest PTR build. 2010-03-10 20:21:18 +03:00
VladimirMangos
6487c24f29 [9545] Rename ObjectDefines.h -> ObjectGuid.h
Also move unrelated generic defines to Common.h
2010-03-07 20:05:32 +03:00
VladimirMangos
4c4629e861 [9507] Implement SPELL_EFFECT_RESTORE_ITEM_CHARGES
Also it application in special case of item 5513 and similar.
2010-03-03 06:02:32 +03:00
VladimirMangos
4995a6d298 [9227] More wide check item looting state at item operations.
Move some checks from packet handlers to Player::Can functions

Patch base at idea suggested originally by zhenya.
2010-01-21 11:35:03 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
VladimirMangos
fe1fae46ee [8830] Restore build at *nix. Make MAKE_PAIR* users includes explicit.
Comment for recently added field also.
2009-11-18 23:57:20 +03:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
XTZGZoReX
1f23884757 Don't use singleton to access static functions.
* This affects especially ObjectMgr functions:
   - GetCreatureInfo
   - GetGameObjectInfo
   - GetInstanceTemplate
   These are in fact static functions.
2009-11-08 03:54:27 +01:00
VladimirMangos
8bf52f7c63 [8678] Move objects updates store and proccessing for send to client in per map way. 2009-10-19 23:46:58 +04:00
VladimirMangos
abb77cfdbf [8677] Move most client update data functions to object itself from ObjectAccessor.
Also use virtual function BuildUpdateData (old ObjectAccessor::_buildUpdateObject)
that different for world objects and items.
2009-10-19 15:03:06 +04:00
Gendalph
ae61c1eec0 [8277] Add new line at the end of some .cpp to make gcc happy
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-29 18:34:37 +04:00
VladimirMangos
c8d07d6e72 [8094] Overwrite max durability for item at item loading from prototype. 2009-06-29 14:52:23 +04:00
VladimirMangos
9588b43d0c Merge commit 'origin/master' into 310 2009-06-10 18:56:29 +04:00
VladimirMangos
67e002ef46 [7982] Add lost by me check lines in [7980] :( 2009-06-09 12:17:51 +04:00
VladimirMangos
05b1bda879 Merge commit 'origin/master' into 310 2009-06-09 09:51:34 +04:00