Commit Graph

41 Commits

Author SHA1 Message Date
guiyomu-dev
0ad15efcf8 temp fix on qty 2026-02-17 02:54:20 +01:00
crazywh1t3
0d6fc4a8f8 read stack quantity from DLC tabs 2026-02-16 22:22:47 +01:00
crazywh1t3
e743f207c8 fix(item): process all 6 shared stash pages instead of 5
The loop was breaking at i > 4 (processing 5 pages) while the
stashedGold array is [6]int. Changed to i > 5 to process all
6 shared stash pages correctly.
2026-02-16 22:22:47 +01:00
guiyomu-dev
50eb39853c remove unecessary code due to bad game update 2026-02-15 00:04:18 +01:00
guiyomu-dev
48aa3aee66 adjustement 2026-02-14 21:10:31 +01:00
crazywh1t3
211abf01f0 add new location types and enhance inventory structure for shared stash support and DLC support. 2026-02-13 22:28:16 +02:00
guiyomu-dev
828db2029f adjustment 2026-02-13 12:34:48 +01:00
4d9c6e75cd Allow partially socketed items to populate Item.Sockets by relaxing the strict socket-count check
Allow partially socketed items to populate Item.Sockets by relaxing the strict socket-count check
2026-01-28 07:42:34 +01:00
vzsecure
bc31952e6f Add Orbs to Staffmod eval 2025-12-23 12:11:31 +02:00
guiyomu-dev
049d1cae07 use data from skills.txt 2025-12-12 14:37:48 +01:00
Polivox
38645e1167 Fix for staffmod level requirement eval 2025-12-12 09:56:14 +02:00
guiyomu-dev
af2f8c7d5c fix crash when trying to access to stashPlayerUnits when not in game 2025-10-31 15:25:49 +01:00
elb
5455fd9772 Fix broken negative stats, update some stat description (#79)
* Fix broken negative stats, update some stat description

* ###

* #2

* curses is necro, frw on armor is velocity percent ( unused)

* Update rules to accept negative value

fix a bug with unique grand charm tz

[name] == grandcharm && [quality] == unique # ([fireresist] + [coldresist] + [lightresist]) >= -75

Single stat rules like [coldresist] >= -75 require the stat to exist

expressions like ([fireresist] + [coldresist] + [lightresist]) >= -75 treat missing stats as 0

Unidentified items with any stat requirements need identification first

* LevelReq + identifiedName added for all Crafted items

* Fix issue with rule.go

* Update stat throw damage and basename: GrandCharm -- Grand Charm

* Adjusting rule for ItemLevelReq  = 0

* update rule again
2025-02-21 18:11:27 +02:00
elb
1aa957dd96 Linking Item.LevelReq to stat(92) stat.LevelRequire + nip parser, Upped item levelreq (#78)
* Linking Item.LevelReq to stat(92) stat.LevelRequire . Update nip parser

* LevelReq for upgraded items

LevelReq is now accurate for upgraded and double upgraded set/unique items

Fixed an issue with levelreq not working with socketed jewels on items.
2025-02-17 19:28:27 +02:00
elb
120c2ba144 Prefix,Suffix,LevelReq Socketed items on bases, bodyloc, Merc equipment (#74)
* Prefix,Suffix, Socketed with base, bodyloc, Merc equipment

Will add better description later:

Item that has socketed items now display their linked runes/jewels/gems in accurate order

Rare prefix, rare suffix id
Magic prefix1,2,3  magic suffix1,2,3
Prefix1 also used to tell wich runeword it is
Spirit 20635, cta 20519 , infinity 20566 see : getlocalestring.txt

Mercenary equipment now displaying in inventory list . Also has custom location : mercenary instead of equipped

Bodyloc :
	// Body locations
	LocNone              LocationType = "none"
	LocHead              LocationType = "head"
	LocNeck              LocationType = "neck"
	LocTorso             LocationType = "torso"
	LocLeftArm           LocationType = "left_arm"
	LocRightArm          LocationType = "right_arm"
	LocLeftRing          LocationType = "left_ring"
	LocRightRing         LocationType = "right_ring"
	LocBelt              LocationType = "belt"
	LocFeet              LocationType = "feet"
	LocGloves            LocationType = "gloves"
	LocLeftArmSecondary  LocationType = "left_arm_secondary"
	LocRightArmSecondary LocationType = "right_arm_secondary"

	Note that if you begin game on secondary slot it will be left_arm  then primary will be  left_arm_secondary (inversed):  With pr 62 (activeweaponslot) we will be able to solve this potential issue.

* small optimization

* Socketed items to base from pointer

new helper functions.
AutoAffix offset.

* remove helpers fnc, flag isEquipped to HasBeenEquipped

* Runewords names mapped

* helper function not needed

* Optimization

* adjust pre-allocations

* readd removed itemloc comment

* Addex prefix/suffix to rules .nip

new structure:
[Type], [Quality],[Class], [Name], [Flag], [Color], [Prefix], [Suffix]  #  Stats

Exemple : [name] == ring && [quality] == rare && [suffix] == 174 #

Any magic ring with suffix 'of The Apprentice'  ( 10 faster cast rate)

Will be useful for trophy items with fool/cruel  [prefix] == 1416 [prefix] == 1273

* LevelReq + Affixes mapping rare/magic/base/runewords. Nip parser LevelReq

* Unique and set items mapping + LevelReq
2025-02-16 23:02:03 +02:00
Arto Simonyan
09dfe3c65d Add more item flags (#69)
* Add more item flags

- Add more item flags
- Modify some of the stat strings

* fix ethereal

* Rename flag
2025-02-09 01:08:58 +02:00
elb
8bce23b039 fix missing stats (#68)
Credits to gogigogi1  thanks!
2025-01-06 03:50:39 +02:00
Arto Simonyan
8203394c9f Revert "Update missing itemstat offset (#65)" (#66)
This reverts commit 5eae82b847.
2024-12-23 19:51:50 +02:00
elb
5eae82b847 Update missing itemstat offset (#65) 2024-12-23 16:59:01 +02:00
joffreybesos
2270b7c621 fixed following patch (#50) 2024-12-06 15:54:59 +09:00
Héctor Giménez
b2c710dc5c fix necro revive and proper locate items from cube 2024-11-07 21:56:02 +09:00
SoundsLegit
938bfeb753 Minimum value per level and enhanced damage item stats fix (#26)
* Added a temporary fix to have a minimum value of 1 for per level mods

* Expose Stat Aliases and Type Aliases (#25)

* Fixed setting a minimum value of 1 for per level item stats

* Added minimum value of attack rating per level to be 15

* Added min value for replenish durability/quantity

* Added fix for reading item modifiers - enhanced damage now works

* Delete .idea/.gitignore

* Delete .idea/d2go.iml

* Delete .idea/modules.xml

* Delete .idea/vcs.xml

* Added gitignore file

* Refactored code

---------

Co-authored-by: dmeli <d.melia@outlook.fr>
Co-authored-by: Arto Simonyan <artosimonyan@protonmail.com>
2024-08-05 17:48:06 +03:00
Arto Simonyan
a141c9a110 Add runeword flag (#24) 2024-07-01 16:30:29 +03:00
Héctor Giménez
99fb4bb5fc don't read equipped items from other players 2024-06-04 22:44:38 +09:00
Héctor Giménez
45f860bf0f oops 2024-05-21 00:03:43 +09:00
Héctor Giménez
b685ee4c05 better logic to detect when an item is in the backpack 2024-05-20 21:28:44 +09:00
Héctor Giménez
e4b4f8e1b5 Add Location struct and fixed possible panic 2024-05-19 20:40:20 +09:00
Héctor Giménez
2a5f31885e get stashed gold 2024-05-15 17:23:53 +09:00
Héctor Giménez
ffae8296af let's save some nanoseconds 2024-05-09 20:57:08 +09:00
Héctor Giménez
c398062b57 bugfixing, performance improvements and added casting frames formula 2024-05-09 20:27:31 +09:00
Héctor Giménez
0c6a2c17ab remove full stats from the modifier 2024-05-08 23:10:00 +09:00
Héctor Giménez
ffbad48018 early return 2024-05-08 22:04:26 +09:00
Héctor Giménez
aa2a1aaeb3 fetch static data from txt files and properly get all the item stats... maybe? 2024-05-08 21:31:40 +09:00
Héctor Giménez
bb0ec2555d NIP parser v2 (#17) 2024-05-05 12:15:08 +09:00
Héctor Giménez
e27064213f check if item is being hold 2024-04-29 22:07:54 +09:00
Héctor Giménez
51ec9e0dca fixed bug causing some items to be marked in inventory after selling them to vendor 2023-09-23 15:42:09 +09:00
Héctor Giménez
1c8aab1580 Item refactor and more (#1) 2023-08-18 22:33:54 +09:00
Héctor Giménez
bc1c9583bd add belt type to calculate potion capacity 2023-05-13 14:29:15 +09:00
Héctor Giménez
04c30b2fe8 Add layers on stats and small refactor 2023-03-13 21:28:12 +09:00
Héctor Giménez
c0459ce99f Oops... 2023-03-13 15:44:22 +09:00
Héctor Giménez
dde3cd19b0 Add some memory reading stuff, based on many other open source projects 2023-03-11 22:08:18 +09:00