diff --git a/README.md b/README.md new file mode 100644 index 0000000..6ec6634 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +

d2go

+ +--- + +Tooling for Diablo II: Resurrected written in Go. It provides a library to read game memory and a public SDK to be +imported, along with data structures and some other tools. + +### Libraries + +- [data](https://github.com/hectorgimenez/d2go/tree/main/pkg/data) - D2R Game data structures +- [memory](https://github.com/hectorgimenez/d2go/tree/main/pkg/memory) - D2R memory reader (it provides the data + structures) +- [nip](https://github.com/hectorgimenez/d2go/tree/main/pkg/nip) - A very basic NIP file parser +- [itemfilter](https://github.com/hectorgimenez/d2go/tree/main/pkg/itemfilter) - Based on game data, it provides an item + pickup filtering + +### Tools + +- [cmd/itemwatcher](https://github.com/hectorgimenez/d2go/tree/main/cmd/itemwatcher) - Small tool that plays a sound + when an item passing the filtering process is dropped diff --git a/pkg/data/objects.go b/pkg/data/objects.go index 65d2f4e..26b1158 100644 --- a/pkg/data/objects.go +++ b/pkg/data/objects.go @@ -47,6 +47,38 @@ func (o Object) IsChest() bool { return false } +func (o Object) IsDoor() bool { + switch o.Name { + case object.DoorCathedralLeft, + object.DoorCathedralRight, + object.DoorCourtyardLeft, + object.DoorCourtyardRight, + object.DoorGateLeft, + object.DoorGateRight, + object.DoorMonasteryDoubleRight, + object.DoorWoodenLeft, + object.DoorWoodenLeft2, + object.DoorWoodenRight, + object.IronGrateDoorLeft, + object.IronGrateDoorRight, + object.SlimeDoor1, + object.SlimeDoor2, + object.TombDoorLeft, + object.TombDoorLeft2, + object.TombDoorRight, + object.TombDoorRight2, + object.WoodenDoorLeft, + object.WoodenDoorRight, + object.WoodenGrateDoorLeft, + object.WoodenGrateDoorRight, + object.AndarielDoor, + object.PenBreakableDoor, + object.SecretDoor1: + return true + } + + return false +} func (o Object) IsSuperChest() bool { switch o.Name {