Commit Graph

1312 Commits

Author SHA1 Message Date
94c30110de Implemented basic stat mod tracking support 2020-09-08 13:13:55 -07:00
13fc89b9f8 StatListReader will apply ValShift to read stats that aren't cs 2020-09-08 13:02:20 -07:00
f45168a133 Improved Fixed utils
Made class final
Changed from bit shift to lookup table
2020-09-08 13:01:51 -07:00
73e1be417a op stats now add with agg stats 2020-09-08 13:00:54 -07:00
027f923409 Implemented StatListBuilder#add(short,int) 2020-09-07 13:58:21 -07:00
92a4061173 Implemented stat mod flag and checking 2020-09-07 13:57:42 -07:00
bbf3fa1eb6 Exposed exposed param() as params() to avoid misuse 2020-09-07 13:57:15 -07:00
5115403733 Created StatList#put(short,StatGetter) to copy other stats into a stat 2020-09-07 13:23:08 -07:00
fc23ab05b5 Added copy method for StatGetter to preserve a reference 2020-09-07 13:22:12 -07:00
1c9e858798 Updated test with interleaved update sequences 2020-09-07 01:35:34 -07:00
f215a7f191 Added support for pooling UpdateSequence instances to allow asynchronous sequencing 2020-09-07 01:28:19 -07:00
aadc9d2de8 Removed requirement for AttributesUpdater to be stateful
Used a clever trick on StatList.StatIterator, where read stats can be pushed onto the list starting from the front. The result is a sorted list not containing elements which were not added back.
2020-09-07 01:15:55 -07:00
f121cc8a7a Replaced AttributesUpdater with Updater and renamed it
Replaced AttributesUpdater with Updater and renamed it
Fixed existing StatListLabeler tests
2020-09-07 00:12:42 -07:00
7ccebec402 Created boolean parameter to determine stat list capacity
Created boolean parameter to determine stat list capacity for AggregateAttributes initialization
2020-09-06 23:48:44 -07:00
d69de2b357 Added experimental iteration of AttributeUpdater called Updater 2020-09-06 21:29:35 -07:00
e6f97c2025 Added support for larger StatList instances
Aggregate lists may contain many stats, added special instance
2020-09-06 20:40:11 -07:00
b7bf3ca62a Disabled warning message for StatListGetter#get(short)
assigning #get() and checking null is a common usage
2020-09-06 16:16:18 -07:00
947862be1a Changed visibility of item flag management static functions to public
Created StatListFlags#getAggItemFlags to update flags for agg list
2020-09-06 16:06:18 -07:00
d55eb801d8 Added assertion trigger if undefined case ever occurs 2020-09-06 15:41:29 -07:00
f47c949101 Tightened up AttributesUpdater
Renamed opAttrs to opBase
Reorganized params more logically to function
Added note regarding possibly deficiency from original impl and op stats
2020-09-06 15:39:04 -07:00
d0e69cf74c Added additional check on gem attributes listFlags 2020-09-06 13:06:38 -07:00
fc1b7a73a1 Created StatListGetter#getValue(short,int) to retrieve a default int or value if non-null 2020-09-06 12:42:31 -07:00
f21bf0339a Renamed Attributes#update methods to #aggregate 2020-09-06 12:31:03 -07:00
5cb04016cc Changed attributes log level to debug 2020-09-06 05:09:14 -07:00
c127475007 Significantly tightened up code
Touched about every line of code to validate behavior
2020-09-06 05:05:47 -07:00
f69db25728 Changed from instanceof to check if attrs is simple 2020-09-06 01:41:42 -07:00
b5c33a313f Removed unneeded block -- managed by StatListReader 2020-09-06 01:29:44 -07:00
85303c28cc Replaced Attributes in com.riiablo.item with com.riiablo.attributes for D2SReader 2020-09-06 01:28:31 -07:00
a72b317dc9 Added logging for all value modifications and set to info level 2020-09-06 01:22:44 -07:00
96069e98e2 Fixed GemGenerator not checking attrs type properly 2020-09-06 00:59:06 -07:00
9ed7b82c08 Added type marker to Attributes
Added byte type value to represent what kind of attrs it is
Rolled GemAttributes into AggregateAttributes
GemAttributes are now marked using added marker
`Complex` attribute lists have types > 0
StatListWrapper set to type 0
2020-09-06 00:42:20 -07:00
1dabb6f6b8 Removed content, ultimately not needed 2020-09-06 00:20:45 -07:00
6f86f4048c Added method for accessing gem attribute selected flag 2020-09-06 00:18:03 -07:00
49f293c494 Added method to validate flags for gem stat lists 2020-09-06 00:17:25 -07:00
57e1052e9f Created consts for gem list flags 2020-09-06 00:06:58 -07:00
ec802d7c04 Changed visibility of StatListGetter#builder to public 2020-09-05 19:50:04 -07:00
fd07613913 Created stat constants for synthetic reqstr and reqdex 2020-09-05 19:49:38 -07:00
03d7e9a458 Added int flags parameter to AttributesUpdater to specify which lists to include
Added int flags parameter to AttributesUpdater to specify which lists to include
AttributesUpdater checks and logs if flags includes more than 1 set (unusual)
Renamed set item constants and methods within SetListFlags to be more consistent
Added Aldur's Advance StatListLabeler test
Added runes to Grief StatListLabeler test
2020-09-05 19:48:53 -07:00
181cd3eb6f Renamed field to correct name 2020-09-05 19:36:40 -07:00
f3fc76e366 Added better descriptors for StatList toString methods 2020-09-05 19:35:49 -07:00
938064bcbd Fixed log message format 2020-09-05 19:03:03 -07:00
fa9add8e6f Fixed log message format 2020-09-05 19:01:46 -07:00
670d6c5e1b Fixed log message format 2020-09-05 19:00:53 -07:00
3025f4d05d Fixed log message format 2020-09-05 19:00:23 -07:00
0bfa47bd83 Changed GemAttributes to be a subclass of AggregatedAttributes
Gems require item_levelreq stat in their base and are more complex than originally thought
2020-09-05 18:29:31 -07:00
eb011ed471 Changed ItemReader#readSingleItem to package-private
readSingleItem visibility was provided for backcompat which is no longer needed
2020-09-05 17:45:11 -07:00
c96f787cf9 Removed Item#loadFromStream(BitStream)
ClientNetworkReceiver requires injection of ItemReader
Changed ClientNetworkReceiver to read item instead of single item
Removed workaround comment for ItemReader
2020-09-05 17:43:44 -07:00
4571f8ce18 Fixed crash on android due to missing control panel buttons 2020-09-05 17:11:43 -07:00
b522365d25 Fixed crash on android
Moved Actioneer and related systems outside of desktop restriction
MobileControls will cast spells 12 units in front of player target angle
2020-09-05 16:59:19 -07:00
9c33689b35 Added some comments for fields that will require injection
Added some comments for fields that will require injection (or looked into for plausibility of injection)
2020-09-05 16:42:51 -07:00