Commit Graph

394 Commits

Author SHA1 Message Date
Collin Smith
7305ce40a6 Refactored Stat.stat to Stat.id 2019-04-06 20:32:52 -07:00
Collin Smith
d29e22ece5 Limited set bonus to only display for equipped items 2019-04-06 20:30:08 -07:00
Collin Smith
d210ae84dc Added support for adding dex modifier to armorclass
Added support for adding dex modifier to armorclass
Added Stat.add(int) method which only works with encodings 0,1,2
2019-04-06 15:38:14 -07:00
Collin Smith
878786a49f Added armorclass calculation support for player attributes 2019-04-06 15:29:30 -07:00
Collin Smith
7cb45f389d Fixed vitality and energy calculations
Fixed vitality and energy calculations
Small optimization to Attributes.update to reduce copying
Added updateStats function which will be used to operate on some stats, like skills
2019-04-06 15:18:00 -07:00
Collin Smith
e5fa9025fa Previous commit should have removed need for scratch, since the ops are no longer multiplicative 2019-04-06 14:49:08 -07:00
Collin Smith
512b6eb55a Fixed issue where opstats were applying to aggregate instead of base value 2019-04-06 04:44:54 -07:00
Collin Smith
377ddb1cc6 Fixed item property list application (See #36)
Fixed item property list application
Removed coupling between individual lists
Included set items to item property list applications
Created scratch property list within Attributes to assist with pre-aggregation
2019-04-06 04:37:02 -07:00
Collin Smith
0d66edcd9c Small formatting change 2019-04-06 04:03:59 -07:00
Collin Smith
5d0ee82cd3 Small fix for some of my custom items
I don't anticipate this being necessary for any game generated items
However the original client can display them, so why not mine
2019-04-06 04:03:33 -07:00
Collin Smith
561b8a8022 Fixed set property lists to be cumulative 2019-04-06 03:58:28 -07:00
Collin Smith
a7511cb741 Added support for charms 2019-04-06 03:29:37 -07:00
Collin Smith
62ef62c497 Removed Stat.Instance in favor of Stat (previously Stat was an enum, so Stat.Instance was necessary) 2019-04-06 02:41:41 -07:00
Collin Smith
47c63dce58 Added basic item-player stat aggregation (See #36) 2019-04-06 00:59:12 -07:00
Collin Smith
7b7146dcdf Redesigned Attributes (See #36) 2019-04-05 23:10:38 -07:00
Collin Smith
cdf196bcec Changed items to be assigned an empty sockets array by default 2019-04-05 03:07:10 -07:00
Collin Smith
fa956b47d1 Removed grouping of SET and UNIQUE cases 2019-04-05 02:46:24 -07:00
Collin Smith
699e905ba2 Refactored socketed to sockets 2019-04-05 02:44:52 -07:00
Collin Smith
39f0ada5a7 Moved attributes to update method within Item
Moved attributes to update method within Item
Modified attributes to be an accessor within Attributes
2019-04-05 00:56:48 -07:00
Collin Smith
87dd1f873b Fixed chance to block to include default character class block chance 2019-04-04 23:51:00 -07:00
Collin Smith
f0c06afed9 Added life, stamina, mana and defense to character panel 2019-04-04 22:06:11 -07:00
Collin Smith
c7576e4f99 Added error detection for multiple cursor items 2019-04-04 19:14:31 -07:00
Collin Smith
b1109882a6 Fixes #39
Fixes #39
Added Excel.EXPANSION declaration to weapons, armor and misc excels
2019-04-04 17:58:43 -07:00
Collin Smith
93e584df57 Added ValShift to starting hp,mana,stamina fields 2019-04-04 17:04:39 -07:00
Collin Smith
598f424f3a Temp fix for #37 2019-04-04 16:59:58 -07:00
Collin Smith
fe9cdd0fd8 Added remaining columns to CharStats excel 2019-04-04 16:17:49 -07:00
Collin Smith
3c40777ac8 Added DifficultyLevels excel
Added DifficultyLevels excel
Removed Files.loadObj -- was deprecated and Files.loadInternal works fine
2019-04-04 16:10:03 -07:00
Collin Smith
86ae7560f7 Fixed attrs to show correct, modded values
Fixed attrs to show correct, modded values
Fixed weapon damage description for 1h, 2h and both (if barb)
2019-04-03 06:22:27 -07:00
Collin Smith
57a554549c Added Stat.op function to format stat values correctly (See #38)
Added Stat.op function to format stat values correctly
Minor fixed to prevent a NPE if loading character with no hireling (See #40)
Added TODO for default resistances
2019-04-03 03:34:49 -07:00
Collin Smith
d5fcec07f8 Refactored D2S stat names to their correct names within ItemStatCost.txt 2019-04-03 01:51:23 -07:00
Collin Smith
5a5819329a Closes #35 2019-04-03 01:44:09 -07:00
Collin Smith
bdfbb5c922 Added set items tracking 2019-04-02 15:53:05 -07:00
Collin Smith
93f578373f Created Attributes class (see #36) 2019-04-02 15:32:28 -07:00
Collin Smith
d4858781c9 Created CharData (See #35) 2019-04-01 22:44:08 -07:00
Collin Smith
8b590d109c Removed item groups from D2S 2019-04-01 20:49:48 -07:00
Collin Smith
d05a3c6f3e Added horadric cube
Added horadric cube
Added support for usable item spells
2019-04-01 17:44:06 -07:00
Collin Smith
18c12515a3 Added gold transfer button 2019-04-01 17:26:40 -07:00
Collin Smith
b4b679ec66 Disabled control panel grouping cvar on mobile 2019-04-01 17:09:26 -07:00
Collin Smith
c7be4a6b8b Fixed bug where required code was run in an assertion and not running on android 2019-04-01 05:46:09 -07:00
Collin Smith
3c71976972 Fixed issue where blocked audio que played when no item was held 2019-04-01 03:37:27 -07:00
Collin Smith
33504d74d6 Removed incorrect assertion 2019-04-01 03:34:53 -07:00
Collin Smith
df40ff5acd BeltGrid will no longer allow non poti item types
BeltGrid will no longer allow non poti item types
Added support for ItemGrid to reject an item type
2019-04-01 02:57:49 -07:00
Collin Smith
8010dd9c4e Added hideable belt to control panel
Added hideable belt to control panel
Populated belt with d2s potions
2019-04-01 02:40:01 -07:00
Collin Smith
4cc26c8c03 Disabled debug mode for these classes 2019-04-01 01:29:24 -07:00
Collin Smith
fd7efd2b80 Added labels for stash and inventory gold counts 2019-04-01 01:19:45 -07:00
Collin Smith
a3c9475ef7 Added support for ungrouping control panel (configurable via Cvar)
Added support for ungrouping control panel (configurable via Cvar)
Health and mana widgets were obstructing panels in some resolutions
2019-03-31 23:34:00 -07:00
Collin Smith
f04e697f7b Rewrote D2S with deferred loading of non-header data (see https://github.com/collinsmith/riiablo/issues/35#issuecomment-478408263)
Rewrote D2S with deferred loading support
Reworked some D2S naming to be more in line with use
Added support for Iron Golem header
D2S codec now capable of parsing entire file
2019-03-31 22:22:56 -07:00
Collin Smith
e1a50fc30f Stash grid will now populated with player items
Stash grid will now populated with player items
Changed design of player store to retrieve lists by StoreLoc
2019-03-31 16:54:45 -07:00
Collin Smith
1642dd8ec5 Added hireling stats panel 2019-03-31 16:31:31 -07:00
Collin Smith
3fad7d4b6a Added hireling items to hireling panel 2019-03-31 05:12:36 -07:00
Collin Smith
5ec59b5040 Added hireling item read support
Added hireling item read support
Added support for slicing byte buffer based on a header or footer
2019-03-31 05:05:51 -07:00
Collin Smith
56294a25cd Added hireling panel 2019-03-31 02:36:46 -07:00
Collin Smith
2ee08b930a Fixes #33 2019-03-31 02:08:09 -07:00
Collin Smith
f7273556eb Possible fix for https://github.com/collinsmith/riiablo/issues/24#issuecomment-478314953 2019-03-30 23:10:51 -07:00
Collin Smith
9225c6bb1f Changing quest tabs will stop audio and reset dialog text to status 2019-03-30 22:55:21 -07:00
Collin Smith
e910f8b84f Replace number of quests per row with a constant 2019-03-30 22:51:45 -07:00
Collin Smith
7abd18d62e Minor fixes
Quest dialog scroller will reset to quest status text after finished
Reduced left padding on dialog scoller to 4
2019-03-30 22:48:00 -07:00
Collin Smith
09835a2071 Added quest status strings
Added quest status strings
Moved dialog scroll playback to playback button
2019-03-30 22:40:45 -07:00
Collin Smith
81f3a359f8 Added padding to DialogScroller text 2019-03-30 20:55:27 -07:00
Collin Smith
c9ae5e3dca Fixed error with previous commit
Fixed error with previous commit
Committing QuestsPanel fixes
Added Quests key
2019-03-30 20:49:33 -07:00
Collin Smith
4029b96634 Fixed quests order
Fixed quests order
Added quests.txt table
2019-03-30 20:42:44 -07:00
Collin Smith
b7dd3590dd Added quests panel
Added quests panel
Added quests panel to control and mobile panels
Created DialogScroller which NpcDialogBox will extend soon
2019-03-30 17:58:28 -07:00
Collin Smith
43c4e32ecb Suppressed compiler warning 2019-03-30 01:03:35 -07:00
Collin Smith
b1d6988785 Moved comparator to a declaration 2019-03-30 01:01:02 -07:00
Collin Smith
7ed4f059d5 Added waypoints panel
Added waypoints panel
Created IconTextButton which acts like a Button with a LabelButton next to it
Waypoint entity will open waypoints panel when selected
Fixed issue in Files where Levels was not flagged as having the Expansion row
2019-03-30 01:00:09 -07:00
Collin Smith
882286b3ea Added support for set bonus property list (See #24)
Added support for set bonus property list
Made Set.Instance comparable with itself
Added size method to PropertyList
Fixed partial set bonus fields (int to String)
2019-03-29 19:07:42 -07:00
Collin Smith
e818baaf61 Implemented SetItems and UniqueItems priority for item images/sounds, resolves #27 2019-03-29 16:51:25 -07:00
Collin Smith
90c992899f Fixed item Type class adding incorrect bits
Fixed item Type class adding incorrect bits
Removed support for Type adding it's own children in favor of a static method that can recurse better
2019-03-29 16:23:56 -07:00
Collin Smith
e203ccc6ca Deleted old mpq utils 2019-03-29 04:32:09 -07:00
Collin Smith
fc5786aa77 Deleted gdx.diablo 2019-03-29 04:00:50 -07:00
Collin Smith
2981e52e38 Added set item bonuses to item details (see #21, #24) 2019-03-29 02:50:22 -07:00
Collin Smith
a0a09d1a1a Added set detection on item loading (See #21, #24)
Added set detection on item loading
Added Player owner reference to Item
Added Player owner to format methods for stats
2019-03-29 01:53:08 -07:00
Collin Smith
150494b45e Implemented half of #21
Added Sets excel
Moved set items list from SetItems to Set
Added reference to Set.Entry in SetItems.Entry
Added reference to list of SetItems.Entry in Set.Entry
2019-03-28 20:59:33 -07:00
Collin Smith
22a1498d64 Changed item type lookup to use custom Bits implementation
Changed item type lookup to use custom Bits implementation
Item type lookup should now be O(1) -- I'll look into further optimizations
2019-03-28 20:10:21 -07:00
Collin Smith
c9c5ee346b Added note on possible use of SQ mode 2019-03-28 16:43:28 -07:00
Collin Smith
5adc3e84e4 Improved property list support (see #24)
Improved property list support
Added Stat.encodeValue and Stat.encodeParam to pack the values into single ints
Rewrote adding properties to property list to be closer to game code
2019-03-28 15:57:35 -07:00
Collin Smith
754f4be60d Switched to correct gem mode by using gemapplytype column (See #24) 2019-03-28 03:27:13 -07:00
Collin Smith
20b84c80b9 Added support for aggregating socket item properties with parent item properties 2019-03-28 02:33:40 -07:00
Collin Smith
207fe4fe97 Implemented https://github.com/collinsmith/diablo/issues/24#issuecomment-477507256 2019-03-28 02:27:15 -07:00
Collin Smith
7f6befd4d0 Added references to Gems and Properties excels 2019-03-28 01:45:02 -07:00
Collin Smith
b1cd95e481 Added support for gem/rune descriptions (see #24)
Added support for gen/rune descriptions (unsocketed only)
Rune names display as Riiablo.colors.orange
Expanded PropertyList API to support some package methods
Added Stat.Instance constructor including param field
Inherent item details are printed for all items now when present
Added Stat.Instance.format() and preparing to remove Stat.Instance.format(boolean)
Added description specific to socketables ("Can be Inserted into Socketed Items")
2019-03-28 01:28:20 -07:00
Collin Smith
71a00195ea Second iteration improvement for #24
Added support for stat aggregation
Added support for stat value adding
Organized property lists more appropriately with well-defined indexes
Disabled set item stats until support is added for only using the appropriate property list
2019-03-27 20:48:05 -07:00
Collin Smith
0d1fe7905c See https://github.com/collinsmith/diablo/issues/25#issue-426280304
Hack to disable first strModEnhancedDamage key in patchstring.tbl
2019-03-27 20:30:46 -07:00
Collin Smith
25ab0a7d4c Whoops, changed it to 0 on accident, should be 1 since this is parameterized now (see #19) 2019-03-27 19:43:46 -07:00
Collin Smith
2d132fd774 See https://github.com/collinsmith/diablo/issues/19#issuecomment-477423382 2019-03-27 19:42:24 -07:00
Collin Smith
2a362cf64a First iteration improvement for #24 2019-03-26 15:29:21 -07:00
Collin Smith
0ae8cddf60 Relaxed requirements on method added documentation for purpose 2019-03-25 22:42:40 -07:00
Collin Smith
96eff08efd Optimization to pixmap wrapper to upload pixels faster 2019-03-24 01:06:33 -07:00
Collin Smith
076adfe9b4 Committing toFloat method and minor cleanup 2019-03-23 04:44:40 -07:00
Collin Smith
376c574dd8 Added class only string to item label 2019-03-23 04:01:37 -07:00
Collin Smith
43e6eae12a Improved item drop labels
Improved item drop labels
Created Item Details header table
Changed Entity label to be an Actor
Changed ItemHolder label to the item details header
Added copy constructor to Label
2019-03-23 03:26:15 -07:00
Collin Smith
174c1cbb53 Added per-component alpha support
Added per-component alpha support
Added support for drawing equipped ethereal items as partly transparent
Cleaned up Animation.Layer API a bit
2019-03-23 02:35:29 -07:00
Collin Smith
747b877980 Added additional fields to item excel files 2019-03-23 02:19:46 -07:00
Collin Smith
d78d36f840 Added support for some item properties 2019-03-23 02:18:58 -07:00
Collin Smith
685c999425 Fixed class skill levels format string 2019-03-23 01:35:32 -07:00
Collin Smith
0393745c88 Added charm descriptor 2019-03-22 23:38:39 -07:00
Collin Smith
73ad05635a Added quantity stat and book stat
Added quantity stat and book stat
Moved wand to staff category
2019-03-22 23:36:01 -07:00
Collin Smith
e643ad5cae Rewrote stat format strings
Rewrote stat format strings (should be correct)
Rewrote item details builder
Changed stat impl to use a map for item inherent stats
Added inherent stats header
Added ethereal/socket footer
Added potion right click description
Added placeholders for many item inherent stats
2019-03-22 23:27:39 -07:00
Collin Smith
5af8068452 Updated ENCODED_COUNT to be more accurate (see #19) 2019-03-22 18:03:44 -07:00
Collin Smith
c547c36286 Tapping button to close quick spells panel will not longer cast spell 2019-03-22 15:25:59 -07:00
Collin Smith
d388d23acd Improved in-game input auto-focus and keyboard handling 2019-03-22 15:23:18 -07:00
Collin Smith
b3ef6de98b Added runes row to item details for socketed runes 2019-03-22 03:41:46 -07:00
Collin Smith
2567b4cf4f Improved set items impl (see #21) 2019-03-22 03:11:47 -07:00
Collin Smith
cdfc592a7d Added support for set item set list 2019-03-22 02:17:40 -07:00
Collin Smith
703571c989 Added item stat grouping (needs optimization) 2019-03-22 02:03:01 -07:00
Collin Smith
852dc8c889 Added support for descfunc 15 and 16 2019-03-22 01:19:12 -07:00
Collin Smith
29677d6269 Added item stat name format support for most stats
Added item stat name format support for most stats
Added CharStats excel
Added CharStats.Entry retrieval from CharacterClass
Fixed bug when retrieving class id from skill without a class
Added classId and CharacterClass lookups from Skills excel
2019-03-22 00:16:16 -07:00
Collin Smith
e239372540 Added item stat encoding support
Added item stat encoding support
Changed item stats to use array (items can have multiple copies of same stats, e.g., add 2 different skills)
Adjusted some item encoding count values (see issue #19)
2019-03-21 22:48:20 -07:00
Collin Smith
a649639e3a Minor fixes
ControlPanel left/right skills will change to aura color if aura
Moved yoffset down a bit for weapon alternates
2019-03-21 15:57:47 -07:00
Collin Smith
0aa620d79b Added item stat list to item details 2019-03-21 15:48:05 -07:00
Collin Smith
0429e456d8 Implemented item attr lists 2019-03-21 15:36:43 -07:00
Collin Smith
c31f4a969c Added support for extended item data (no magical data yet) 2019-03-21 05:21:11 -07:00
Collin Smith
46a0d81b23 Moved details init to Item.load() 2019-03-21 04:07:10 -07:00
Collin Smith
18f4325dff Added player actions array (left/right skills)
Added player actions array (left/right skills)
Temporary fix for non-existing complex casting modes
2019-03-21 01:56:11 -07:00
Collin Smith
c284e1f7fa Added support for stand-still casting for left skill 2019-03-21 01:53:12 -07:00
Collin Smith
5863c1ce71 Fixes #9 2019-03-20 17:42:51 -07:00
Collin Smith
6da8268c4a NPCs will now go to neutral mode when interacted with 2019-03-20 01:16:01 -07:00
Collin Smith
c160d4d76b Added a couple extra spell buttons 2019-03-20 01:09:31 -07:00
Collin Smith
c0e8a87876 Increased button sizes on mobile 2019-03-20 01:06:19 -07:00
Collin Smith
4624f6c3d3 Implemented default skills set by save file 2019-03-20 00:52:55 -07:00
Collin Smith
72164128c8 Fixed touchpad order (now behind left panels) 2019-03-19 23:24:48 -07:00
Collin Smith
3cfb3f1047 Added weapon swap button to mobile panel 2019-03-19 21:09:53 -07:00
Collin Smith
d1a8719ae5 Added casting on mobile 2019-03-19 21:03:06 -07:00
Collin Smith
24fe7a9583 Implemented HotkeyButton skill ids
Implemented HotkeyButton skill ids
Changed GameScreen to cast active right hand skill on right click
2019-03-19 21:01:26 -07:00
Collin Smith
ef8f298f92 Tapping skill button when SpellsQuickPanel is visible will hide it 2019-03-19 20:40:19 -07:00
Collin Smith
6734c9a614 Implemented SpellsQuickPanel changes to MobileControls buttons 2019-03-19 20:34:44 -07:00
Collin Smith
8965238c22 Added SpellsQuickPanel popup to MobileControls 2019-03-19 20:20:20 -07:00
Collin Smith
82ea6acae0 Added support for spells from other char classes 2019-03-19 18:26:49 -07:00
Collin Smith
1608ae5b3d Fixed assignment bugs within GdxKeyMapper
Fixed assignment bugs within GdxKeyMapper
Added bind and unbind console command to (un)assign keys
Added key and key value suggesters
Fixed issue where controlpanel left/right skill buttons was not getting correct blendmode
2019-03-19 16:47:32 -07:00
Collin Smith
18e10a70dd Fixed bug where D2S was stopping reading items too early (a couple item headers contained the section footer) 2019-03-19 14:45:02 -07:00
Collin Smith
ad1aeab45e Changed darken color reference to use existing grey color 2019-03-19 13:38:45 -07:00
Collin Smith
85b7602e15 Added aura icon color
Added aura icon color
Added default button state BlendMode
Changed level entry image to use BlendMode.DARKEN
Added darkenGold color
Changed darken colors to be references of existing colors (looks correct)
Clicking a SpellsQuickPanel button will hide the panel
2019-03-19 13:36:52 -07:00
Collin Smith
c3fcfc4f05 Added SpellsQuickPanel
Added SpellsQuickPanel
Added HotkeyButton assigned to MappedKey
Added Skill1-16 Keys
Button now has a customizable disabled and highlight state
Hacked together a couple skills for testing purposes
Added animation overlay support (will expand in future)
Added Entity.cast(int)
ControlPanel left and right skill corresponds and changes based on active skill
Mapped key now allows primary key as NOT_MAPPED
Added Map from string to mode index
Added Animation clamp function to play animation until over or stop at last frame
Added additional fields to excel Skills
Added excel Overlay
2019-03-19 03:03:25 -07:00
Collin Smith
3acd1ab0c5 Added DARKEN blendMode 2019-03-19 02:56:42 -07:00
Collin Smith
e5bd6e55f0 Redesigned UI on mobile
Redesigned UI on mobile
Added skill icons on desktop/mobile
Added mobile controls panel
2019-03-18 21:45:36 -07:00
Collin Smith
621d42f87d Exposed COF keyframes 2019-03-18 15:19:41 -07:00
Collin Smith
db627b0076 Added player entity zone detection
Added player entity zone detection
Player neutral and walk animations will display the correct town version if in town
2019-03-18 14:12:33 -07:00
Collin Smith
aa84393b27 Added support for more calc functions
Added support for more calc functions
Added StringTBLs.format(String, Object...)
Cleaned up SkillDesc and Skills
2019-03-17 03:10:43 -07:00
Collin Smith
960d1878e6 Added skill dsc2 for sorc 2019-03-17 01:15:19 -07:00
Collin Smith
1dcb773983 Added player skill levels to SpellsPanel
Added player skill levels to SpellsPanel
Increased visibility of D2S.SkillData
Added Skills class to Player to retrieve skill levels (without modifiers)
2019-03-16 14:45:11 -07:00
Collin Smith
244fa720f8 Added skill level labels for skills 2019-03-16 00:41:19 -07:00
Collin Smith
2e77266cd0 Added spell details label
Added spell details label
Created static ref to font16 modal background
Added constructor to Label that takes in a Color too
2019-03-16 00:27:03 -07:00
Collin Smith
5e258077cb Added skill choices remaining counter 2019-03-15 23:57:18 -07:00
Collin Smith
3a2a18aaf0 Reduced collision height of health/mana widgets to the control widget height 2019-03-15 23:52:15 -07:00
Collin Smith
58a17c394d Added close buttons to skill panels
Added close buttons to skill panels
Removed text wrapping (pre-wrapped using the i18n)
Improved readability of label creation
2019-03-15 23:48:39 -07:00
Collin Smith
61c94795ee Added spell tree names and fixed label layouts 2019-03-15 22:24:14 -07:00
Collin Smith
45b67e6cb8 Added spells panel with buttons 2019-03-15 21:54:06 -07:00
Collin Smith
e7a0228de4 Changed default clear color to match the in-game logical black -- will require adjustments with contrast/brightness/gamma 2019-03-15 17:14:34 -07:00
Collin Smith
f37960aa42 Tentative fix for #16 2019-03-15 17:10:01 -07:00
Collin Smith
54b502bb83 Fixed warp i18n
Fixed warp i18n
Temp workaround for #15
2019-03-15 16:54:53 -07:00