Added Entrance/Stairs unittype5 table lvlwrap.txt (#64)

This commit is contained in:
elb
2024-12-23 13:06:15 -05:00
committed by GitHub
parent 8203394c9f
commit 2924189fe8
10 changed files with 378 additions and 0 deletions

View File

@@ -35,6 +35,7 @@ type Data struct {
NPCs NPCs
Inventory Inventory
Objects Objects
Entrances Entrances
AdjacentLevels []Level
Rooms []Room
OpenMenus OpenMenus

View File

@@ -0,0 +1,13 @@
package entrance
type Description struct {
ID int
Name string
SelectX int
SelectY int
SelectDX int
SelectDY int
OffsetX int
OffsetY int
Direction string
}

View File

@@ -0,0 +1,94 @@
// Code generated by cmd/txttocode. DO NOT EDIT.
// source: cmd/txttocode/txt/lvlwarp.txt
package entrance
var Desc = map[int]Description{
0: {ID: 0, Name: "Act 1 Wilderness to Cave Cliff L", SelectX: -90, SelectY: -100, SelectDX: 90, SelectDY: 110, OffsetX: 1, OffsetY: -1, Direction: "b"},
1: {ID: 1, Name: "Act 1 Wilderness to Cave Cliff R", SelectX: -15, SelectY: -90, SelectDX: 90, SelectDY: 110, OffsetX: 3, OffsetY: 1, Direction: "b"},
2: {ID: 2, Name: "Act 1 Wilderness to Cave Floor L", SelectX: -60, SelectY: -60, SelectDX: 85, SelectDY: 100, OffsetX: -1, OffsetY: 1, Direction: "b"},
3: {ID: 3, Name: "Act 1 Wilderness to Cave Floor R", SelectX: -25, SelectY: -60, SelectDX: 85, SelectDY: 100, OffsetX: 1, OffsetY: -1, Direction: "b"},
4: {ID: 4, Name: "Act 1 Cave Up", SelectX: -30, SelectY: -120, SelectDX: 120, SelectDY: 150, OffsetX: 2, OffsetY: 5, Direction: "b"},
5: {ID: 5, Name: "Act 1 Cave Down", SelectX: -25, SelectY: -75, SelectDX: 80, SelectDY: 100, OffsetX: 1, OffsetY: 3, Direction: "b"},
6: {ID: 6, Name: "Act 1 Graveyard to Crypt 1", SelectX: -90, SelectY: -110, SelectDX: 110, SelectDY: 140, OffsetX: 5, OffsetY: 0, Direction: "b"},
7: {ID: 7, Name: "Act 1 Graveyard to Crypt 2", SelectX: -70, SelectY: -90, SelectDX: 90, SelectDY: 120, OffsetX: 5, OffsetY: 2, Direction: "b"},
8: {ID: 8, Name: "Act 1 Crypt Up", SelectX: -10, SelectY: -90, SelectDX: 60, SelectDY: 110, OffsetX: 5, OffsetY: 1, Direction: "b"},
9: {ID: 9, Name: "Act 1 Crypt Down", SelectX: -30, SelectY: -90, SelectDX: 60, SelectDY: 110, OffsetX: 1, OffsetY: 1, Direction: "b"},
10: {ID: 10, Name: "Act 1 Wilderness to Tower", SelectX: -10, SelectY: -50, SelectDX: 150, SelectDY: 80, OffsetX: -4, OffsetY: 0, Direction: "b"},
11: {ID: 11, Name: "Act 1 Tower to Wilderness", SelectX: -50, SelectY: -130, SelectDX: 60, SelectDY: 140, OffsetX: 4, OffsetY: -2, Direction: "b"},
12: {ID: 12, Name: "Act 1 Tower to Crypt", SelectX: -50, SelectY: -90, SelectDX: 80, SelectDY: 110, OffsetX: 2, OffsetY: 3, Direction: "b"},
13: {ID: 13, Name: "Act 1 Jail Up", SelectX: -50, SelectY: -110, SelectDX: 110, SelectDY: 150, OffsetX: 5, OffsetY: 1, Direction: "b"},
14: {ID: 14, Name: "Act 1 Jail Down", SelectX: -40, SelectY: -80, SelectDX: 210, SelectDY: 110, OffsetX: -1, OffsetY: 3, Direction: "b"},
15: {ID: 15, Name: "Act 1 Cathedral To Catacombs", SelectX: -30, SelectY: -110, SelectDX: 85, SelectDY: 130, OffsetX: 3, OffsetY: 1, Direction: "b"},
16: {ID: 16, Name: "Act 1 Catacombs to Cathedral", SelectX: -35, SelectY: -130, SelectDX: 90, SelectDY: 150, OffsetX: 7, OffsetY: 1, Direction: "b"},
17: {ID: 17, Name: "Act 1 Catacombs Up", SelectX: -50, SelectY: -110, SelectDX: 110, SelectDY: 150, OffsetX: 5, OffsetY: 1, Direction: "b"},
18: {ID: 18, Name: "Act 1 Catacombs Down", SelectX: -60, SelectY: -80, SelectDX: 210, SelectDY: 110, OffsetX: -1, OffsetY: 3, Direction: "b"},
19: {ID: 19, Name: "Act 2 Town to Sewer Trap", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
20: {ID: 20, Name: "Act 2 Town to Sewer Dock", SelectX: -25, SelectY: -95, SelectDX: 70, SelectDY: 130, OffsetX: -2, OffsetY: 0, Direction: "b"},
21: {ID: 21, Name: "Act 2 Sewer Dock to Town", SelectX: 20, SelectY: -80, SelectDX: 65, SelectDY: 140, OffsetX: 10, OffsetY: -2, Direction: "b"},
22: {ID: 22, Name: "Act 2 Sewer Up", SelectX: -25, SelectY: -160, SelectDX: 100, SelectDY: 180, OffsetX: 5, OffsetY: 3, Direction: "b"},
23: {ID: 23, Name: "Act 2 Sewer Down", SelectX: -65, SelectY: -55, SelectDX: 150, SelectDY: 110, OffsetX: 0, OffsetY: 0, Direction: "b"},
24: {ID: 24, Name: "Act 2 Town to Harem", SelectX: -120, SelectY: -20, SelectDX: 150, SelectDY: 130, OffsetX: 5, OffsetY: 2, Direction: "b"},
25: {ID: 25, Name: "Act 2 Harem to Town", SelectX: -35, SelectY: -70, SelectDX: 95, SelectDY: 130, OffsetX: 0, OffsetY: -2, Direction: "b"},
26: {ID: 26, Name: "Act 2 Harem Up 1", SelectX: -25, SelectY: -150, SelectDX: 80, SelectDY: 180, OffsetX: 4, OffsetY: 0, Direction: "b"},
27: {ID: 27, Name: "Act 2 Harem Up 2", SelectX: -40, SelectY: -160, SelectDX: 80, SelectDY: 180, OffsetX: 0, OffsetY: 5, Direction: "b"},
28: {ID: 28, Name: "Act 2 Harem Down 1", SelectX: -20, SelectY: -40, SelectDX: 170, SelectDY: 100, OffsetX: -3, OffsetY: 1, Direction: "b"},
29: {ID: 29, Name: "Act 2 Harem Down 2", SelectX: -50, SelectY: -20, SelectDX: 160, SelectDY: 85, OffsetX: -1, OffsetY: -3, Direction: "b"},
30: {ID: 30, Name: "Act 2 Basement Up 1", SelectX: -25, SelectY: -100, SelectDX: 60, SelectDY: 125, OffsetX: 2, OffsetY: 0, Direction: "b"},
31: {ID: 31, Name: "Act 2 Basement Up 2", SelectX: -40, SelectY: -100, SelectDX: 60, SelectDY: 125, OffsetX: 0, OffsetY: 2, Direction: "b"},
32: {ID: 32, Name: "Act 2 Basement Down", SelectX: -30, SelectY: -30, SelectDX: 170, SelectDY: 90, OffsetX: -3, OffsetY: 0, Direction: "b"},
33: {ID: 33, Name: "Act 2 Desert to Tomb L 1", SelectX: -70, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 1, OffsetY: 1, Direction: "b"},
34: {ID: 34, Name: "Act 2 Desert to Tomb L 2", SelectX: -50, SelectY: -120, SelectDX: 90, SelectDY: 150, OffsetX: 1, OffsetY: 1, Direction: "b"},
35: {ID: 35, Name: "Act 2 Desert to Tomb R 1", SelectX: -30, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 6, OffsetY: 2, Direction: "b"},
36: {ID: 36, Name: "Act 2 Desert to Tomb R 2", SelectX: 0, SelectY: -140, SelectDX: 100, SelectDY: 150, OffsetX: 1, OffsetY: 2, Direction: "b"},
37: {ID: 37, Name: "Act 2 Desert to Tomb Viper", SelectX: -30, SelectY: -140, SelectDX: 80, SelectDY: 160, OffsetX: 4, OffsetY: 1, Direction: "b"},
38: {ID: 38, Name: "Act 2 Desert to Tomb Tal 1", SelectX: -40, SelectY: -190, SelectDX: 90, SelectDY: 210, OffsetX: 0, OffsetY: 0, Direction: "b"},
39: {ID: 39, Name: "Act 2 Desert to Tomb Tal 2", SelectX: -40, SelectY: -210, SelectDX: 50, SelectDY: 230, OffsetX: -1, OffsetY: 1, Direction: "b"},
40: {ID: 40, Name: "Act 2 Desert to Tomb Tal 3", SelectX: -30, SelectY: -100, SelectDX: 60, SelectDY: 140, OffsetX: 0, OffsetY: 1, Direction: "b"},
41: {ID: 41, Name: "Act 2 Desert to Tomb Tal 4", SelectX: -90, SelectY: -140, SelectDX: 70, SelectDY: 160, OffsetX: -1, OffsetY: -5, Direction: "b"},
42: {ID: 42, Name: "Act 2 Desert to Tomb Tal 5", SelectX: -10, SelectY: -110, SelectDX: 60, SelectDY: 150, OffsetX: -2, OffsetY: -3, Direction: "b"},
43: {ID: 43, Name: "Act 2 Desert to Tomb Tal 6", SelectX: 0, SelectY: -130, SelectDX: 90, SelectDY: 150, OffsetX: -1, OffsetY: 0, Direction: "b"},
44: {ID: 44, Name: "Act 2 Desert to Tomb Tal 7", SelectX: -10, SelectY: -210, SelectDX: 70, SelectDY: 240, OffsetX: 0, OffsetY: -3, Direction: "b"},
45: {ID: 45, Name: "Act 2 Tomb Up", SelectX: -30, SelectY: -115, SelectDX: 75, SelectDY: 145, OffsetX: 2, OffsetY: 0, Direction: "b"},
46: {ID: 46, Name: "Act 2 Tomb Down", SelectX: -45, SelectY: -120, SelectDX: 85, SelectDY: 145, OffsetX: 0, OffsetY: 2, Direction: "b"},
47: {ID: 47, Name: "Act 2 Desert to Lair", SelectX: -10, SelectY: -60, SelectDX: 90, SelectDY: 90, OffsetX: -2, OffsetY: 2, Direction: "b"},
48: {ID: 48, Name: "Act 2 Lair Up", SelectX: -20, SelectY: -70, SelectDX: 80, SelectDY: 85, OffsetX: 1, OffsetY: 0, Direction: "b"},
49: {ID: 49, Name: "Act 2 Lair Down", SelectX: -115, SelectY: -10, SelectDX: 160, SelectDY: 70, OffsetX: -3, OffsetY: -5, Direction: "b"},
50: {ID: 50, Name: "Act 2 Desert to Sewer Trap", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
51: {ID: 51, Name: "Act 3 Jungle to Spider", SelectX: -60, SelectY: -70, SelectDX: 70, SelectDY: 90, OffsetX: 0, OffsetY: 1, Direction: "b"},
52: {ID: 52, Name: "Act 3 Spider to Jungle", SelectX: 10, SelectY: -100, SelectDX: 80, SelectDY: 110, OffsetX: 4, OffsetY: 1, Direction: "b"},
53: {ID: 53, Name: "Act 3 Jungle to Dungeon Fort", SelectX: -15, SelectY: -70, SelectDX: 70, SelectDY: 110, OffsetX: 0, OffsetY: 0, Direction: "b"},
54: {ID: 54, Name: "Act 3 Jungle to Dungeon Hole", SelectX: -130, SelectY: -10, SelectDX: 170, SelectDY: 100, OffsetX: -4, OffsetY: -6, Direction: "b"},
55: {ID: 55, Name: "Act 3 Dungeon Up", SelectX: -10, SelectY: -100, SelectDX: 90, SelectDY: 130, OffsetX: 3, OffsetY: 1, Direction: "b"},
56: {ID: 56, Name: "Act 3 Dungeon Down", SelectX: -40, SelectY: -20, SelectDX: 170, SelectDY: 100, OffsetX: -4, OffsetY: -1, Direction: "b"},
57: {ID: 57, Name: "Act 3 Kurast to Sewer", SelectX: -60, SelectY: -40, SelectDX: 120, SelectDY: 90, OffsetX: 0, OffsetY: 0, Direction: "b"},
58: {ID: 58, Name: "Act 3 Sewer Up L", SelectX: -75, SelectY: -110, SelectDX: 100, SelectDY: 150, OffsetX: 1, OffsetY: 1, Direction: "b"},
59: {ID: 59, Name: "Act 3 Sewer Up R", SelectX: -25, SelectY: -110, SelectDX: 100, SelectDY: 150, OffsetX: 6, OffsetY: 1, Direction: "b"},
60: {ID: 60, Name: "Act 3 Sewer Down", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
61: {ID: 61, Name: "Act 3 Kurast to Temple", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
62: {ID: 62, Name: "Act 3 Temple Up L", SelectX: -50, SelectY: -110, SelectDX: 80, SelectDY: 140, OffsetX: 1, OffsetY: 2, Direction: "b"},
63: {ID: 63, Name: "Act 3 Temple Up R", SelectX: -30, SelectY: -110, SelectDX: 80, SelectDY: 140, OffsetX: 2, OffsetY: 1, Direction: "b"},
64: {ID: 64, Name: "Act 3 Travincal to Mephisto", SelectX: -10, SelectY: -10, SelectDX: 0, SelectDY: 0, OffsetX: 0, OffsetY: 0, Direction: "b"},
65: {ID: 65, Name: "Act 3 Mephisto Up L", SelectX: -65, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 1, OffsetY: 0, Direction: "b"},
66: {ID: 66, Name: "Act 3 Mephisto Up R", SelectX: -60, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 5, OffsetY: 1, Direction: "b"},
67: {ID: 67, Name: "Act 3 Mephisto Down L", SelectX: -65, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 1, OffsetY: 0, Direction: "b"},
68: {ID: 68, Name: "Act 3 Mephisto Down R", SelectX: -60, SelectY: -150, SelectDX: 125, SelectDY: 180, OffsetX: 5, OffsetY: 1, Direction: "b"},
69: {ID: 69, Name: "Act 4 Mesa to Lava", SelectX: -60, SelectY: -40, SelectDX: 150, SelectDY: 160, OffsetX: 2, OffsetY: 2, Direction: "b"},
70: {ID: 70, Name: "Act 4 Lava to Mesa", SelectX: -90, SelectY: -50, SelectDX: 160, SelectDY: 120, OffsetX: 0, OffsetY: 0, Direction: "b"},
71: {ID: 71, Name: "Act 5 Barricade Down Wall L", SelectX: -70, SelectY: -80, SelectDX: 80, SelectDY: 100, OffsetX: 2, OffsetY: 6, Direction: "l"},
72: {ID: 72, Name: "Act 5 Barricade Down Wall R", SelectX: -15, SelectY: -90, SelectDX: 70, SelectDY: 100, OffsetX: 6, OffsetY: 2, Direction: "r"},
73: {ID: 73, Name: "Act 5 Barricade Down Floor", SelectX: -20, SelectY: -120, SelectDX: 75, SelectDY: 100, OffsetX: 2, OffsetY: 2, Direction: "b"},
74: {ID: 74, Name: "Act 5 Ice Caves Up L", SelectX: -60, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 0, OffsetY: 5, Direction: "l"},
75: {ID: 75, Name: "Act 5 Ice Caves Up R", SelectX: -10, SelectY: -120, SelectDX: 100, SelectDY: 120, OffsetX: 5, OffsetY: 1, Direction: "r"},
76: {ID: 76, Name: "Act 5 Ice Caves Down L", SelectX: -60, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 0, OffsetY: 5, Direction: "l"},
77: {ID: 77, Name: "Act 5 Ice Caves Down R", SelectX: -20, SelectY: -110, SelectDX: 90, SelectDY: 115, OffsetX: 4, OffsetY: 0, Direction: "r"},
78: {ID: 78, Name: "Act 5 Ice Caves Down Floor", SelectX: -5, SelectY: -110, SelectDX: 80, SelectDY: 110, OffsetX: 6, OffsetY: 3, Direction: "b"},
79: {ID: 79, Name: "Act 5 Temple Entrance", SelectX: 0, SelectY: -110, SelectDX: 95, SelectDY: 100, OffsetX: 2, OffsetY: 0, Direction: "b"},
80: {ID: 80, Name: "Act 5 Temple Down", SelectX: 0, SelectY: -70, SelectDX: 140, SelectDY: 80, OffsetX: -2, OffsetY: 3, Direction: "b"},
81: {ID: 81, Name: "Act 5 Temple Up", SelectX: -20, SelectY: -110, SelectDX: 100, SelectDY: 110, OffsetX: 3, OffsetY: 0, Direction: "b"},
82: {ID: 82, Name: "Act 5 Mountain Top To Ice", SelectX: -40, SelectY: -110, SelectDX: 0, SelectDY: 0, OffsetX: 2, OffsetY: 1, Direction: "b"},
83: {ID: 83, Name: "Act 5 Mountain Top To Baal", SelectX: -20, SelectY: -110, SelectDX: 0, SelectDY: 0, OffsetX: 2, OffsetY: 1, Direction: "b"},
84: {ID: 84, Name: "Act 5 Baal Temple Up L", SelectX: -70, SelectY: -110, SelectDX: 95, SelectDY: 115, OffsetX: 1, OffsetY: 4, Direction: "l"},
85: {ID: 85, Name: "Act 5 Baal Temple Up R", SelectX: -20, SelectY: -110, SelectDX: 80, SelectDY: 115, OffsetX: 4, OffsetY: 1, Direction: "r"},
86: {ID: 86, Name: "Act 5 Baal Temple Down L", SelectX: -70, SelectY: -110, SelectDX: 95, SelectDY: 115, OffsetX: 1, OffsetY: 4, Direction: "l"},
87: {ID: 87, Name: "Act 5 Baal Temple Down R", SelectX: -20, SelectY: -110, SelectDX: 80, SelectDY: 115, OffsetX: 4, OffsetY: 1, Direction: "r"},
}

94
pkg/data/entrance/name.go Normal file
View File

@@ -0,0 +1,94 @@
package entrance
type Name int
const (
A1WildernessToCliffL Name = iota
A1WildernessToCliffR
A1WildernessToFloorL
A1WildernessToFloorR
A1CaveUp
A1CaveDown
A1GraveyardToCrypt1
A1GraveyardToCrypt2
A1CryptUp
A1CryptDown
A1WildernessToTower
A1TowertoWilderness
A1TowertoCrypt
A1JailUp
A1JailDown
A1CathedralToCatacombs
A1CatacombstoCathedral
A1CatacombsUp
A1CatacombsDown
A2TowntoSewerTrap
A2TowntoSewerDock
A2SewerDocktoTown
A2SewerUp
A2SewerDown
A2TowntoHarem
A2HaremtoTown
A2HaremUp1
A2HaremUp2
A2HaremDown1
A2HaremDown2
A2BasementUp1
A2BasementUp2
A2BasementDown
A2DeserttoTombL1
A2DeserttoTombL2
A2DeserttoTombR1
A2DeserttoTombR2
A2DeserttoTombViper
A2DeserttoTombTal1
A2DeserttoTombTal2
A2DeserttoTombTal3
A2DeserttoTombTal4
A2DeserttoTombTal5
A2DeserttoTombTal6
A2DeserttoTombTal7
A2TombUp
A2TombDown
A2DeserttoLair
A2LairUp
A2LairDown
A2DeserttoSewerTrap
A3JungletoSpider
A3SpidertoJungle
A3JungletoDungeonFort
A3JungletoDungeonHole
A3DungeonUp
A3DungeonDown
A3KurasttoSewer
A3SewerUpL
A3SewerUpR
A3SewerDown
A3KurasttoTemple
A3TempleUpL
A3TempleUpR
A3TravincaltoMephisto
A3MephistoUpL
A3MephistoUpR
A3MephistoDownL
A3MephistoDownR
A4MesatoLava
A4LavatoMesa
A5BarricadeDownWallL
A5BarricadeDownWallR
A5BarricadeDownFloor
A5IceCavesUpL
A5IceCavesUpR
A5IceCavesDownL
A5IceCavesDownR
A5iceCavesDownFloor
A5TempleEntrance
A5TempleDown
A5TempleUp
A5MountainTopToIce
A5MountainTopToBaal
A5BaalTempleUpL
A5BaalTempleUpR
A5BaalTempleDownL
A5BaalTempleDownR
)

33
pkg/data/entrances.go Normal file
View File

@@ -0,0 +1,33 @@
package data
import (
"github.com/hectorgimenez/d2go/pkg/data/entrance"
)
type Entrance struct {
ID UnitID
entrance.Name
IsHovered bool
Selectable bool
Position Position
}
type Entrances []Entrance
func (e Entrances) FindOne(name entrance.Name) (Entrance, bool) {
for _, ent := range e {
if ent.Name == name {
return ent, true
}
}
return Entrance{}, false
}
func (e Entrances) FindByID(id UnitID) (Entrance, bool) {
for _, ent := range e {
if ent.ID == id {
return ent, true
}
}
return Entrance{}, false
}