Browse Source

Merge pull request 'fix unit modifier indexes' (#185) from unit_mods into master

Reviewed-by: jake <jake@sharnoth.com>
pbs
jake 5 years ago
parent
commit
6cc42360c2
  1. 14
      src/entity/item/unit.rs

14
src/entity/item/unit.rs

@ -346,18 +346,18 @@ impl Unit {
if let Some(modifier) = self.modifier { if let Some(modifier) = self.modifier {
match modifier { match modifier {
UnitModifier::PlusPlus => { UnitModifier::PlusPlus => {
result[7] = 3;
result[6] = 2;
}, },
UnitModifier::Plus => { UnitModifier::Plus => {
result[7] = 1;
result[6] = 1;
}, },
UnitModifier::Minus => { UnitModifier::Minus => {
result[6] = 0xFF;
result[7] = 0xFF; result[7] = 0xFF;
result[8] = 0xFF;
}, },
UnitModifier::MinusMinus => { UnitModifier::MinusMinus => {
result[7] = 0xFE;
result[8] = 0xFF;
result[6] = 0xFE;
result[7] = 0xFF;
}, },
} }
} }
@ -368,8 +368,8 @@ impl Unit {
pub fn from_bytes(data: [u8; 16]) -> Result<Unit, ItemParseError> { pub fn from_bytes(data: [u8; 16]) -> Result<Unit, ItemParseError> {
let u = UnitType::parse_type([data[0], data[1], data[2]]); let u = UnitType::parse_type([data[0], data[1], data[2]]);
if u.is_ok() { if u.is_ok() {
let m = match u16::from_le_bytes([data[7], data[8]]) {
0x03 => Some(UnitModifier::PlusPlus),
let m = match u16::from_le_bytes([data[6], data[7]]) {
0x02 => Some(UnitModifier::PlusPlus),
0x01 => Some(UnitModifier::Plus), 0x01 => Some(UnitModifier::Plus),
0xFEFF => Some(UnitModifier::Minus), 0xFEFF => Some(UnitModifier::Minus),
0xFFFF => Some(UnitModifier::MinusMinus), 0xFFFF => Some(UnitModifier::MinusMinus),

Loading…
Cancel
Save