Commit graph

115 commits

Author SHA1 Message Date
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
ef6a48fe03 [11465] non-ObjectGuid guids in random places.
Only ChannelMgr code wide use uint64 guids now, and Map object stores.
2011-05-10 21:27:49 +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
VladimirMangos
108feb993d [11127] Rename src/game/InstanceSaveMgr.* -> src/game/MapPersistentStateMgr.* 2011-02-10 05:35:07 +03:00
VladimirMangos
dde16bc48c [11126] Rewrite InstanceSaveMgr related code.
* For better fit name to related map type class InstanceMap renamed -> DungeonMap.
  This clarify usage Instanceable()/IsDungeon() because BG/Arenas maps also instanceable maps.

* InstanceSave have many code related to only DungeonMap case, so it replaced by 3 new classes:
   - MapPersistentState as base class, used for non-instanceable maps (continents and some other) (!Instenceable())
   - DungeonPersistentState subclass of MapPersistentState, used for DungeonMap states (IsDungoen())
   - BattlegroundPersistentState subclass of MapPersistentState, used for BattlegroundMap states (IsBattleGroundOrArena())

   Now all dungeon resets code moved to subclass and all player/gpoup bound functions/structures also use it.

* Map::GetInstanceSave renamed to Map::GetPersistentState and DungeonMap have specialized version
  return DungeonPersistentState (same pointer in fact with proper subcalss type)

* InstanceResetScheduler renamed to DungeonResetScheduler
2011-02-10 05:20:56 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
VladimirMangos
cc0655a402 [10782] Use Team enum types in all appropriate cases and catches bug in result fix.
* Fixed wrong arenaid use at leave arena queue.
* Fixed memory lost and etc at not virtual EndBattleground call
* Fixed crash at arena join with fake data from client.
* Code cleanups.
2010-11-25 01:11:17 +03:00
Ambal
f67d89f109 [10727] Map system re-engineered. Special thanks to Blueboy for tests.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-16 21:08:28 +02:00
VladimirMangos
9c96949da9 [10713] player/group instance binding fixes.
* Use anum instead raw uint8 type in args
* Fixed crash when gm at continent invite to group gm in instance
  and then teleport to instance using .goname.
  When group leader teleport to instance it must get group bind instead solo bind.
* In other semilar cases detection report error as before but replace solo by group bind instead
  assert crash at enter to map.
2010-11-10 04:36:01 +03:00
Revils
050eb8cf5f [10708] Update ACHIEVEMENT_CRITERIA_TYPE_LOOT_* with group roll.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-09 05:43:03 +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
Lynx3d
47397ff19b [10509] Fix some "foo initialized after bar" gcc warnings and remove some unused variables. 2010-09-20 10:07:25 +02:00
VladimirMangos
09b03b470e [10402] Use ObjectGuid in packets and fix some uint32 guids cases. 2010-08-23 12:37:11 +04:00
VladimirMangos
dbe9c6f190 [10371] More wide use ObjectGuid in group code.
Also drop some unused functions.
And fix some uint32 -> uint6 guid assigns.
2010-08-18 13:43:55 +04:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
VladimirMangos
9d8b66cf93 [10246] Restore work killCredit and kill achievements in regular difficulty instances. 2010-07-22 13:11:34 +04:00
VladimirMangos
238b57f93e [10216] Re-implement ROLL_VOTE_DISENCHANT disable case
Also implement NEED_BEFORE_GREED disabling ROLL_VOTE_MASK_NEED
instead skip item as expected in recent client changes.

Thanks to TOM_RUS for help in understanding proper way work.
Hmm, maybe i still do wrong something... ^^

Also count disenchnt roll as greed in ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED
2010-07-18 05:40:34 +04:00
VladimirMangos
4ef23face4 [10215] Implement ROLL_VOTE_DISENCHANT disable
* for player without reqired enchanting skill
* for item without disenchanting possibility
2010-07-18 02:04:06 +04:00
VladimirMangos
73a00a6807 [10213] Implement ITEM_FLAGS2_NEED_ROLL_DISABLED. 2010-07-17 23:45:56 +04:00
VladimirMangos
9882bc811f [10206] Implement ITEM_FLAGS2_HORDE_ONLY and ITEM_FLAGS2_ALLIANCE_ONLY
* Check item_template data
* Check at equip/use
* Skip at loot if not compatible
* Skip in vendor list if not compatible
2010-07-17 08:21:23 +04:00
VladimirMangos
885c3449b4 [10132] Cleanup code for Group::_homebindIfInstance 2010-07-02 03:22:13 +04:00
VladimirMangos
41f8cfb14c [10123] Fixed recent problem with enter to dungeons in group.
Problem related to implicit get map id from player in Group::GetBoundInstance
when in some cases check done before player mapid update.
2010-06-30 00:45:14 +04:00
VladimirMangos
67a7892075 [10114] Store associated InstanceSave for dungeon map in Map object 2010-06-27 21:11:26 +04:00
VladimirMangos
f28bc74e66 [10085] Allow loot roll value 100 2010-06-20 05:22:24 +04:00
Revils
db93e78f50 [9992] Fixed MSG_PARTY_ASSIGNMENT processing.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-28 05:54:38 +04:00
vipertv
4206230f0d [9991] Next step in fix SMSG_GROUP_LIST structure.
Now assistant/main tank/main assistant show properly
for viewer character also.

Thanks to insider42 for posting patch in Under review section.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-28 04:38:58 +04:00
SilverIce
d0398b94f6 [9982] Group out of range member must based at client existances.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also move empty mask check from build function to caller.
2010-05-27 17:25:21 +04:00
VladimirMangos
94888e52cd [9974] Restore raid functionality broken after one from 3.3.x switches.
* Fixed typo in raid converting code that triggering raid disband at server restart.
* Fixed current subgroup show for character and update group memebers data at move its
  in diff subgroups.
2010-05-26 00:27:07 +04:00
Emme
8a424642e6 [9964] Implement Treshold in Masterloot.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-23 18:17:33 +04:00
VladimirMangos
29c0efe9b4 [9951] Fixed bug with raid subgroup size update at move member to another.
Also some code cleanups
2010-05-22 11:38:45 +04:00
zergtmn
ffd2cf874d [9923] Fixed typo in prev commit.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-18 10:35:24 +04:00
VladimirMangos
bed8794a75 [9921] In case player who tap creature in group leave group it must anyway rewarded with group. 2010-05-18 04:48:33 +04:00
VladimirMangos
696a4b6db0 [9918] Fixed player's tapped creature loot access by group in diff cases
* If player tap creature in group and leave then group will have access to creature loot if not disbanded
* If player tap creature and after join to group then creature loot will accesable only by player
* Also RewardPlayerAndGroupAtKill divided to simgle player and group reward versions used for group tap
  and single player tap cases.
2010-05-17 12:56:57 +04:00
VladimirMangos
96d50bf55a [9917] Fixes in loot roll timer work and related cleanups.
* Changes include (in fact as part cleanup) fix got NeedBeforeGreed locked item after expire roll timer
  suggested by somedruid@mangos.lighthouseapp.com.
* Added cancel rolling at creatuer corpse remove.
* For NeedBeforeGreed and GroupLoot sued common code for prepare item roll.
2010-05-17 05:29:01 +04:00
VladimirMangos
ec0141261a [9843] Restore need seelction show at loot roll.
Also some clanups including merge 2 roll type enum.
2010-05-07 01:39: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
tomrus88
9836bcbbaa Added enum for SMSG_GROUP_JOINED_BATTLEGROUND opcode.
Use this enum where possible.
Some misc fixes.
2010-04-03 22:22:30 +04:00
tomrus88
dcb0d4e484 Group loot should work now. 2010-03-28 14:25:28 +04:00
VladimirMangos
e692862827 [9593] Fixed bug in instance binding in case heroic/25-man raids difficulties
In fact typo in my old commit at adding support MapDifficulty.dbc.
2010-03-16 18:15:29 +03:00
VladimirMangos
7d304b002c [9588] Really fix freeze :/ 2010-03-15 17:24:44 +03:00
VladimirMangos
cee1660a3c [9587] Fixed freeze after recent loot roll code changes.
Thanks to j4r0d for testing.
2010-03-15 17:09:22 +03:00
VladimirMangos
703f9dd72a [9585] Restore lost return in prev. commit. 2010-03-15 14:53:51 +03:00
VladimirMangos
6bfa8d81c6 [9584] Continue fix loot roll packets and related code.
* Propertly send itemSlot field and use it with looted target for roll selection.
* Remove references to NumberOfPlayers useless data send in args
* Fixed long existed bug with roll show when single player from group can roll item.
* Fixed possible crash at player leave group while item roll
* Fixed wrong item amount in stack in rolls inreasult use non-initilized field as info source.
* Remove unused item guid field from Roll and not lost for nothing item guids for this.

Thanks for help in research to TOM_RUS and j4r0d.
2010-03-15 01:31:43 +03:00
Opterman
547919e249 [9582] Send looted creature guid in proper field of loot packets.
Also use ObjectGuid in related functions.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-03-14 00:09:35 +03:00
hunuza
5d84477f7f [9564] Remove some trailing whitespace and add comment for last commit.
Signed-off-by: hunuza <hunuza@gmail.com>
2010-03-10 13:45:41 +01: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
c71f79584d [9501] Implement item limit category inventory mode.
* Now expected item limit categories (for example for item 5513 and related)
  correctly limited by its amount in inventory.
* Provide and use additional arg in SendEquipError for alt. way get affected
  item prototype. This let send to function item id and prevent crash client at
  limit category equip errors that required item prototype data.
2010-03-02 14:10:38 +03:00
AlexDereka
ebfb0f9835 [9389] Cleanup config data. Use proper names and expected types. 2010-02-15 15:29:06 +03:00
AlexDereka
5368751c13 [9386] Store some config values in Rate emun. 2010-02-15 00:17:44 +03:00