mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-08 22:32:26 +00:00
Created Inventory Overhaul (markdown)
parent
a26e63e07c
commit
c3768f7429
102
Inventory-Overhaul.md
Normal file
102
Inventory-Overhaul.md
Normal file
@ -0,0 +1,102 @@
|
||||
<br/>
|
||||
|
||||
### Phase 1a: Re-enumerate 'typePossessions' slots [development 100%, implementation: 100%]
|
||||
Token | Old Value | New Value
|
||||
----- | :-------: | :-------:
|
||||
slotCharm | 0 | 0
|
||||
slotEar1 | 1 | 1
|
||||
slotHead | 2 | 2
|
||||
slotFace | 3 | 3
|
||||
slotEar2 | 4 | 4
|
||||
slotNeck | 5 | 5
|
||||
slotShoulders | 6 | 6
|
||||
slotArms | 7 | 7
|
||||
slotBack | 8 | 8
|
||||
slotWrist1 | 9 | 9
|
||||
slotWrist2 | 10 | 10
|
||||
slotRange | 11 | 11
|
||||
slotHands | 12 | 12
|
||||
slotPrimary | 13 | 13
|
||||
slotSecondary | 14 | 14
|
||||
slotFinger1 | 15 | 15
|
||||
slotFinger2 | 16 | 16
|
||||
slotChest | 17 | 17
|
||||
slotLegs | 18 | 18
|
||||
slotFeet | 19 | 19
|
||||
slotWaist | 20 | 20
|
||||
slotPowerSource | 9999 | 21*
|
||||
slotAmmo | 21 | 22*
|
||||
slotGeneral1 | 22 | 23*
|
||||
slotGeneral2 | 23 | 24*
|
||||
slotGeneral3 | 24 | 25*
|
||||
slotGeneral4 | 25 | 26*
|
||||
slotGeneral5 | 26 | 27*
|
||||
slotGeneral6 | 27 | 28*
|
||||
slotGeneral7 | 28 | 29*
|
||||
slotGeneral8 | 29 | 30*
|
||||
slotGeneral9 | n/a | 31*
|
||||
slotGeneral10 | n/a | 32*
|
||||
slotCursor | 30 | 33*
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase 1b: Insert General9 and General10 bag slots into current General bag slot range [development: 100% complete, implementation: 100%]
|
||||
Token | Old Begin | Old End Value | New Begin Value | New End Value
|
||||
----- | :-------: | :-----------: | :-------------: | :-----------:
|
||||
GENERAL1BAGSLOTS | 251 | 260 | 251 | 260
|
||||
GENERAL2BAGSLOTS | 261 | 270 | 261 | 270
|
||||
GENERAL3BAGSLOTS | 271 | 280 | 271 | 280
|
||||
GENERAL4BAGSLOTS | 281 | 290 | 281 | 290
|
||||
GENERAL5BAGSLOTS | 291 | 300 | 291 | 300
|
||||
GENERAL6BAGSLOTS | 301 | 310 | 301 | 310
|
||||
GENERAL7BAGSLOTS | 311 | 320 | 311 | 320
|
||||
GENERAL8BAGSLOTS | 321 | 330 | 321 | 330
|
||||
GENERAL9BAGSLOTS | n/a | n/a | 331* | 340*
|
||||
GENERAL10BAGSLOTS | n/a | n/a | 341* | 350*
|
||||
CURSORBAGSLOTS | 331 | 340 | 351* | 360*
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase 2: Modify inventory to allow for supported client expansion changes and GM status [development: 100% complete, implementation: 100%]
|
||||
- expansion bitmask affects the various clients differently..but, these changes in client behavior are not accounted for
|
||||
- GM flag state typically overrides expansion bitmask and these changes in client behavior also need to be accounted for
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase ?: Rework class ItemInstQueue for proper behavior [development: 0%]
|
||||
- this is the 'cursor buffer' used for server operations and does not reflect any client behavior
|
||||
- it will fix a lot of remaining cursor issues - especially RoF+ based ones
|
||||
- separate type possessions cursor (slot 30) from type limbo slots (slots {0..35})
|
||||
- implement server bag slots for type limbo main slots (36 * 10 = 360 allocation requirement)
|
||||
- should be doable without an sql update
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase ?: Change merchant lists to similar method as corpse's InternalLoot_Struct [development: 0%]
|
||||
- merchants do not like to have their 'slot' enumerations non-contiguous
|
||||
- remove the slot identifier from database schema
|
||||
- enumerate merchant items upon loading and as players sell items to them
|
||||
- create per-client merchant windows and track them
|
||||
- as players transact per merchant window ids, cross-reference those back to merchant master list ids
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase ?: Increase number of allowed bag slots and remap all bag slots to an unused range [development: 0%]
|
||||
- hard-code the max server-allowed bag slot size to 100 slots (should account for anything we would ever support)
|
||||
- remap *all* bags slots into a new range .. 10000+ should be available
|
||||
- update EQDictionary to reflect the new maximum sizes
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase ?: Implement class ItemInstance::origin_tag [development: 100% complete, implementation: 0% complete]
|
||||
- a 16-byte char field that represents a base64-encoded unique identifier for every item (12 bytes of int data encoded into 16 ascii bytes)
|
||||
- used in numerous systems, such as: bazaar/barter, hotkey assignments, etc...
|
||||
- does not use the same encoding hash as SocketLib https://github.com/EQEmu/Server/tree/master/common/SocketLib
|
||||
- implementation allows for multiple encoding hash references
|
||||
|
||||
<br/>
|
||||
|
||||
### Phase ?: Rework bazaar code to make proper use of ItemInstance::origin_tag property [development: 80% complete]
|
||||
- this will also fix the 'broken' system for newer clients
|
||||
|
||||
<br/>
|
||||
Loading…
x
Reference in New Issue
Block a user