Add more item flags (#69)
* Add more item flags - Add more item flags - Modify some of the stat strings * fix ethereal * Rename flag
This commit is contained in:
@@ -85,6 +85,14 @@ type Item struct {
|
|||||||
Stats stat.Stats
|
Stats stat.Stats
|
||||||
Identified bool
|
Identified bool
|
||||||
IsRuneword bool
|
IsRuneword bool
|
||||||
|
IsNamed bool
|
||||||
|
IsStartItem bool
|
||||||
|
IsEar bool
|
||||||
|
IsBroken bool
|
||||||
|
IsEquipped bool
|
||||||
|
HasSockets bool
|
||||||
|
InTradeOrStoreScreen bool
|
||||||
|
IsInSocket bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type Drop struct {
|
type Drop struct {
|
||||||
|
|||||||
@@ -785,15 +785,15 @@ var StatStringMap = map[int]map[int]string{
|
|||||||
19: {0: "+# to Attack Rating"}, // tohit
|
19: {0: "+# to Attack Rating"}, // tohit
|
||||||
20: {0: "#% Increased Chance of Blocking"}, // toblock
|
20: {0: "#% Increased Chance of Blocking"}, // toblock
|
||||||
21: {
|
21: {
|
||||||
0: "Adds #-# Damage", // mindamage
|
0: "#-# Damage", // mindamage
|
||||||
1: "+# to Minimum Damage", // plusmindamage
|
1: "+# to Minimum Damage", // plusmindamage
|
||||||
},
|
},
|
||||||
22: {
|
22: {
|
||||||
0: "maxdamage ????",
|
0: "#", // maxdamage
|
||||||
1: "+# to Maximum Damage", // plusmaxdamage
|
1: "+# to Maximum Damage", // plusmaxdamage
|
||||||
},
|
},
|
||||||
23: {0: "secondarymindamage ????"},
|
23: {0: "#"}, //minimum dmg for 2hand weapons - secondarymindamage
|
||||||
24: {0: "secondarymaxdamage ????"},
|
24: {0: "#"}, // maximum dmg for 2hand weapons - secondarymaxdamage
|
||||||
25: {0: "damagepercent ????"},
|
25: {0: "damagepercent ????"},
|
||||||
26: {0: "manarecovery ????"},
|
26: {0: "manarecovery ????"},
|
||||||
27: {0: "Regenerate Mana #%"}, // manarecoverybonus
|
27: {0: "Regenerate Mana #%"}, // manarecoverybonus
|
||||||
@@ -840,17 +840,17 @@ var StatStringMap = map[int]map[int]string{
|
|||||||
65: {0: "stamdrainmaxdam ????"},
|
65: {0: "stamdrainmaxdam ????"},
|
||||||
66: {0: "stunlength ????"},
|
66: {0: "stunlength ????"},
|
||||||
67: {0: "+#% Faster Run/Walk"},
|
67: {0: "+#% Faster Run/Walk"},
|
||||||
68: {0: "+#% Increased Attack Speed"},
|
68: {0: "#"}, // attackrate
|
||||||
69: {0: "otheranimrate ????"},
|
69: {0: "otheranimrate ????"},
|
||||||
70: {0: "Quantity: #"},
|
70: {0: "Quantity: #"},
|
||||||
71: {0: "Value: #"},
|
71: {0: "Value: #"},
|
||||||
72: {0: "Durability: # of #"}, // durability
|
72: {0: "Durability: # of #"}, // durability
|
||||||
73: {0: "Increase Maximum Durability #%"}, // maxdurability
|
73: {0: "#"}, // maxdurability
|
||||||
74: {0: "Replenish Life +#"}, // hpregen
|
74: {0: "Replenish Life +#"}, // hpregen
|
||||||
75: {0: "Increase Maximum Durability #%"}, //itemmaxdurabilitypercent
|
75: {0: "Increase Maximum Durability #%"}, //itemmaxdurabilitypercent
|
||||||
76: {0: "Increase Maximum Life #%"}, //itemmaxmanapercent
|
76: {0: "Increase Maximum Life #%"}, //itemmaxmanapercent
|
||||||
77: {0: "Increase Maximum Mana #%"}, //itemmaxmanapercent
|
77: {0: "Increase Maximum Mana #%"}, //itemmaxmanapercent
|
||||||
78: {0: "itemattackertakesdamage"}, //itemattackertakesdamage
|
78: {0: "Attacker Takes Damage of #"}, //itemattackertakesdamage
|
||||||
79: {0: "#% Extra Gold from Monsters"}, //itemgoldbonus
|
79: {0: "#% Extra Gold from Monsters"}, //itemgoldbonus
|
||||||
80: {0: "#% Better Chance of Getting Magic Items"}, //itemmagicbonus
|
80: {0: "#% Better Chance of Getting Magic Items"}, //itemmagicbonus
|
||||||
81: {0: "Knockback"}, //itemknockback
|
81: {0: "Knockback"}, //itemknockback
|
||||||
|
|||||||
@@ -266,13 +266,38 @@ func (gd *GameReader) getItemStats(statsListExPtr uintptr) (stat.Stats, stat.Sta
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setProperties(item *data.Item, flags uint32) {
|
func setProperties(item *data.Item, flags uint32) {
|
||||||
if 0x00400000&flags != 0 {
|
if 0x4000000&flags != 0 {
|
||||||
item.Ethereal = true
|
|
||||||
}
|
|
||||||
if 0x00000010&flags != 0 {
|
|
||||||
item.Identified = true
|
|
||||||
}
|
|
||||||
if 0x04000000&flags != 0 {
|
|
||||||
item.IsRuneword = true
|
item.IsRuneword = true
|
||||||
}
|
}
|
||||||
|
if 0x1000000&flags != 0 {
|
||||||
|
item.IsNamed = true
|
||||||
|
}
|
||||||
|
if 0x400000&flags != 0 {
|
||||||
|
item.Ethereal = true
|
||||||
|
}
|
||||||
|
if 0x20000&flags != 0 {
|
||||||
|
item.IsStartItem = true
|
||||||
|
}
|
||||||
|
if 0x10000&flags != 0 {
|
||||||
|
item.IsEar = true
|
||||||
|
}
|
||||||
|
if 0x2000&flags != 0 {
|
||||||
|
item.InTradeOrStoreScreen = true
|
||||||
|
}
|
||||||
|
if 0x800&flags != 0 {
|
||||||
|
item.HasSockets = true
|
||||||
|
}
|
||||||
|
if 0x100&flags != 0 {
|
||||||
|
item.IsBroken = true
|
||||||
|
}
|
||||||
|
if 0x10&flags != 0 {
|
||||||
|
item.Identified = true
|
||||||
|
}
|
||||||
|
// Only jewels and runes, gems don't work
|
||||||
|
if 0x8&flags != 0 {
|
||||||
|
item.IsInSocket = true
|
||||||
|
}
|
||||||
|
if 0x1&flags != 0 {
|
||||||
|
item.IsEquipped = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user