mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-03-06 07:30:41 +07:00
Extracted RunewordData and RareQualityData to upper level
This commit is contained in:
parent
2db28a4c4f
commit
90971e57b8
@ -16,7 +16,6 @@ import com.riiablo.codec.excel.ItemTypes;
|
||||
import com.riiablo.codec.excel.MagicAffix;
|
||||
import com.riiablo.codec.excel.Misc;
|
||||
import com.riiablo.codec.excel.Weapons;
|
||||
import com.riiablo.codec.util.BitStream;
|
||||
import com.riiablo.item.Attributes;
|
||||
import com.riiablo.item.BodyLoc;
|
||||
import com.riiablo.item.Location;
|
||||
@ -491,40 +490,4 @@ public class Item {
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
static class RareQualityData {
|
||||
static final int NUM_AFFIXES = 3;
|
||||
int[] prefixes, suffixes;
|
||||
RareQualityData(BitStream bitStream) {
|
||||
prefixes = new int[NUM_AFFIXES];
|
||||
suffixes = new int[NUM_AFFIXES];
|
||||
for (int i = 0; i < NUM_AFFIXES; i++) {
|
||||
prefixes[i] = bitStream.readBoolean() ? bitStream.readUnsigned15OrLess(MAGIC_AFFIX_SIZE) : 0;
|
||||
suffixes[i] = bitStream.readBoolean() ? bitStream.readUnsigned15OrLess(MAGIC_AFFIX_SIZE) : 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this)
|
||||
.append("prefixes", prefixes)
|
||||
.append("suffixes", suffixes)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
static class RunewordData {
|
||||
static final int RUNEWORD_ID_SHIFT = 0;
|
||||
static final int RUNEWORD_ID_MASK = 0xFFF << RUNEWORD_ID_SHIFT;
|
||||
static final int RUNEWORD_EXTRA_SHIFT = 12;
|
||||
static final int RUNEWORD_EXTRA_MASK = 0xF << RUNEWORD_EXTRA_SHIFT;
|
||||
|
||||
static int id(int pack) {
|
||||
return (pack & RUNEWORD_ID_MASK) >>> RUNEWORD_ID_SHIFT;
|
||||
}
|
||||
|
||||
static int extra(int pack) {
|
||||
return (pack & RUNEWORD_EXTRA_MASK) >>> RUNEWORD_EXTRA_SHIFT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
26
core/src/com/riiablo/item/item4/RareQualityData.java
Normal file
26
core/src/com/riiablo/item/item4/RareQualityData.java
Normal file
@ -0,0 +1,26 @@
|
||||
package com.riiablo.item.item4;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
import com.riiablo.codec.util.BitStream;
|
||||
|
||||
class RareQualityData {
|
||||
static final int NUM_AFFIXES = 3;
|
||||
int[] prefixes, suffixes;
|
||||
RareQualityData(BitStream bitStream) {
|
||||
prefixes = new int[NUM_AFFIXES];
|
||||
suffixes = new int[NUM_AFFIXES];
|
||||
for (int i = 0; i < NUM_AFFIXES; i++) {
|
||||
prefixes[i] = bitStream.readBoolean() ? bitStream.readUnsigned15OrLess(Item.MAGIC_AFFIX_SIZE) : 0;
|
||||
suffixes[i] = bitStream.readBoolean() ? bitStream.readUnsigned15OrLess(Item.MAGIC_AFFIX_SIZE) : 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this)
|
||||
.append("prefixes", prefixes)
|
||||
.append("suffixes", suffixes)
|
||||
.build();
|
||||
}
|
||||
}
|
16
core/src/com/riiablo/item/item4/RunewordData.java
Normal file
16
core/src/com/riiablo/item/item4/RunewordData.java
Normal file
@ -0,0 +1,16 @@
|
||||
package com.riiablo.item.item4;
|
||||
|
||||
class RunewordData {
|
||||
static final int RUNEWORD_ID_SHIFT = 0;
|
||||
static final int RUNEWORD_ID_MASK = 0xFFF << RUNEWORD_ID_SHIFT;
|
||||
static final int RUNEWORD_EXTRA_SHIFT = 12;
|
||||
static final int RUNEWORD_EXTRA_MASK = 0xF << RUNEWORD_EXTRA_SHIFT;
|
||||
|
||||
static int id(int pack) {
|
||||
return (pack & RUNEWORD_ID_MASK) >>> RUNEWORD_ID_SHIFT;
|
||||
}
|
||||
|
||||
static int extra(int pack) {
|
||||
return (pack & RUNEWORD_EXTRA_MASK) >>> RUNEWORD_EXTRA_SHIFT;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user