bd278e3c82
Changed Attriutes#base() to return StatListGetter instead of StatList
...
Changed Attriutes#base() to return StatListGetter instead of StatList
Unsure if this will change, but all calls require #first()
Attribute returns are all asserted to be StatLists of numLists = 1
StatList is by default delegated, or in the case of AggregatedAttributes, lazily initialized
Added support for retrieving StatListGetter parent StatList
Added support for creating a StatListBuilder from StatListGetter
Added support for clearing a StatList list from StatListGetter
2020-09-03 17:52:36 -07:00
5d9420a659
Moved aggregate list creation to Attributes#aggregate() to lazily init
2020-09-03 17:47:57 -07:00
e26b22c1ba
Changed Attriutes#aggregate() to return StatListGetter instead of StatList
...
Changed Attriutes#aggregate() to return StatListGetter instead of StatList
Unsure if this will change, but all calls require #first()
Attribute returns are all asserted to be StatLists of numLists = 1
2020-09-03 17:32:58 -07:00
eddd0e9b0a
Created StatList#add(int,StatGetter) to add stats
2020-09-03 17:14:11 -07:00
cac5236225
Added support for using StatGetter on StatListGetter operations
...
Added support for using StatGetter on StatListGetter operations
Created StatList#contains(int,short,int) to check a specific stat with param
2020-09-03 14:26:35 -07:00
07ad2d4af2
Created package-private StatList#forceClear() to allow clearing frozen list
...
StatList#clear() did not allow clearing when frozen for external APIs
Attributes re-uses stat lists, and requires the ability to force clear
Renamed Attributes#resetToBase() to #reset() (functionality is documented)
Attributes#reset() no longer clears Attributes#list
2020-09-03 14:08:17 -07:00
2b07fcc3d0
Added logged warning when StatListGetter#get(short) returns null
2020-09-03 03:12:04 -07:00
61eca6070f
Changed return type of Attributes#resetToBase() to support chaining
2020-09-03 03:11:22 -07:00
534df98623
Renamed StatListBuilder#list() to #build()
2020-09-03 02:16:38 -07:00
f929a99ab4
Renamed StatListBuilder#build() to #index()
2020-09-03 02:16:06 -07:00
5313629f27
Committing item writer test cases
2020-09-02 20:34:15 -07:00
2193040a6d
Added println to help differentiate between hex dumps
2020-09-02 20:33:43 -07:00
f0ea202ff3
Implemented character save writing and tests
2020-09-02 20:31:21 -07:00
3e5a49943c
Additional tests to validate StatListWriter
...
Validation that a reasonable number of item stat lists write correctly
2020-09-02 20:13:51 -07:00
e8601ec692
Fixed case where item prop lists was empty (stat termination required)
2020-09-02 20:11:09 -07:00
6b9a97949a
Changed access to static package from public local
2020-09-02 20:10:37 -07:00
d3cbca6b6f
Added boolean parameter to read/write StatList functions
...
entry.Saved was not appropriate for determining this feature
Implemented prop list flags into StatListWriterTest tests
Added additional logging to help with organizing encoded stats
2020-09-02 19:47:05 -07:00
57c12bd781
Renamed StatListFlags constants and added getter for gem property list names
2020-09-02 19:29:49 -07:00
ddd7b7d07f
Implemented MDC property for propList name
2020-09-02 18:57:55 -07:00
da9acd5977
Created StatListFlags to store stat list flags (copied from Item)
2020-09-02 18:55:35 -07:00
ca829a4025
Created StatListWriter and tests
...
Additional testing required, but workable code
2020-09-02 18:20:30 -07:00
e6f4a8b222
Changed to skip bits only (bytes included)
2020-09-02 18:19:22 -07:00
4ed61438db
Added bit mask for Long#Size
...
Reverted previous change
writeRaw performs logical-and with bit mask to ensure cache correctness
2020-09-02 18:18:26 -07:00
63e3cc0e8b
Fixed issue where flush would write more bits than cached
2020-09-02 18:03:15 -07:00
4ccce1dabf
StatListGetter now implements iterator to iterate over stat list
2020-09-02 17:30:48 -07:00
c3693a8761
Added put method in StatList to put a stat with all fields filled
2020-09-02 17:30:01 -07:00
9bcf4e2693
Added util for encoding stat params and values
2020-09-02 17:29:23 -07:00
1932c0fcd2
Added getter for StatGetter stat entry
2020-09-02 17:28:00 -07:00
4397ee742a
Removed extra test case
2020-09-02 17:09:28 -07:00
0daa272752
Fixed formatting
2020-09-02 17:08:35 -07:00
8cbcb814d1
inlined NUM_GEMPROPS so Item can remain unchanged for the time being
2020-09-02 16:27:55 -07:00
d4102d7fa7
Removed specific stat value getters (should use #get(short) instead)
2020-09-02 16:25:55 -07:00
1872c3e00c
Documented parent methods
2020-09-02 16:25:02 -07:00
a5b90dc868
Added test case for decoding grief stat list
2020-09-02 16:20:34 -07:00
1a6a522d37
Additional logging
2020-09-02 16:20:11 -07:00
ca170f7cfb
Added documentation regarding method intended use-case
2020-09-02 16:19:58 -07:00
251a691bd5
Added support for retrieving first entry of a stat regardless of params
2020-09-02 16:18:59 -07:00
03503a8f79
Added basic check for if stat required params
2020-09-02 16:13:14 -07:00
294d69ddc9
Removed unused params
2020-09-02 16:04:57 -07:00
0338325b26
Improved logging
2020-09-02 02:22:32 -07:00
a9cdd18309
Created StatListReader
2020-09-02 02:16:40 -07:00
74055272dc
Created StatList#maxLists getter
2020-09-02 02:16:01 -07:00
daf2314bac
Changed return type of StatList#clear to support chaining
2020-09-02 02:15:38 -07:00
4cc595da29
Renamed static factory method to match return type
2020-09-02 01:41:03 -07:00
28a219d5cd
Added support within StatListBuilder to retrieve previously put stat
2020-09-02 01:29:24 -07:00
294bb1ea61
Moved stat entry query methods to Stat
2020-09-02 00:47:54 -07:00
fc01a7dea9
First iteration of attributes revision
2020-09-01 23:47:16 -07:00
b1ddb912fe
Added tracef variant of traceEntry
2020-08-30 19:09:36 -07:00
8fb6bb5fa5
Added support for assigning float to stat
...
Created Stat#encodeFloat(float,int) to encode floats into fixed point int
Added maxhp stat to monster attributes
Changed debugging to output float stat
2020-08-30 15:51:44 -07:00
b4a77e02a2
Added debugging for attack action
2020-08-30 02:37:13 -07:00