Files
runelite/runescape-client/src/main/java/NPC.java
Lucwousin e7a1983158 rev185
2019-10-31 16:57:45 +01:00

174 lines
3.9 KiB
Java

import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("cv")
@Implements("NPC")
public final class NPC extends Actor {
@ObfuscatedName("v")
@ObfuscatedSignature(
signature = "Llw;"
)
@Export("titleboxSprite")
static IndexedSprite titleboxSprite;
@ObfuscatedName("a")
@ObfuscatedSignature(
signature = "Lit;"
)
@Export("definition")
NPCDefinition definition;
NPC() {
}
@ObfuscatedName("a")
@ObfuscatedSignature(
signature = "(IBI)V",
garbageValue = "9999999"
)
final void method2174(int var1, byte var2) {
int var3 = super.pathX[0];
int var4 = super.pathY[0];
if (var1 == 0) {
--var3;
++var4;
}
if (var1 == 1) {
++var4;
}
if (var1 == 2) {
++var3;
++var4;
}
if (var1 == 3) {
--var3;
}
if (var1 == 4) {
++var3;
}
if (var1 == 5) {
--var3;
--var4;
}
if (var1 == 6) {
--var4;
}
if (var1 == 7) {
++var3;
--var4;
}
if (super.sequence != -1 && PlayerType.SequenceDefinition_get(super.sequence).field3513 == 1) {
super.sequence = -1;
}
if (super.pathLength < 9) {
++super.pathLength;
}
for (int var5 = super.pathLength; var5 > 0; --var5) {
super.pathX[var5] = super.pathX[var5 - 1];
super.pathY[var5] = super.pathY[var5 - 1];
super.pathTraversed[var5] = super.pathTraversed[var5 - 1];
}
super.pathX[0] = var3;
super.pathY[0] = var4;
super.pathTraversed[0] = var2;
}
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "(IIZB)V",
garbageValue = "111"
)
final void method2178(int var1, int var2, boolean var3) {
if (super.sequence != -1 && PlayerType.SequenceDefinition_get(super.sequence).field3513 == 1) {
super.sequence = -1;
}
if (!var3) {
int var4 = var1 - super.pathX[0];
int var5 = var2 - super.pathY[0];
if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) {
if (super.pathLength < 9) {
++super.pathLength;
}
for (int var6 = super.pathLength; var6 > 0; --var6) {
super.pathX[var6] = super.pathX[var6 - 1];
super.pathY[var6] = super.pathY[var6 - 1];
super.pathTraversed[var6] = super.pathTraversed[var6 - 1];
}
super.pathX[0] = var1;
super.pathY[0] = var2;
super.pathTraversed[0] = 1;
return;
}
}
super.pathLength = 0;
super.field983 = 0;
super.field982 = 0;
super.pathX[0] = var1;
super.pathY[0] = var2;
super.x = super.field927 * 64 + super.pathX[0] * 128;
super.y = super.field927 * 64 + super.pathY[0] * 128;
}
@ObfuscatedName("i")
@ObfuscatedSignature(
signature = "(B)Ldv;",
garbageValue = "-40"
)
@Export("getModel")
protected final Model getModel() {
if (this.definition == null) {
return null;
} else {
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? PlayerType.SequenceDefinition_get(super.sequence) : null;
SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? PlayerType.SequenceDefinition_get(super.movementSequence) : null;
Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame);
if (var3 == null) {
return null;
} else {
var3.calculateBoundsCylinder();
super.defaultHeight = var3.height;
if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) {
Model var4 = MenuAction.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame);
if (var4 != null) {
var4.offsetBy(0, -super.field965, 0);
Model[] var5 = new Model[]{var3, var4};
var3 = new Model(var5, 2);
}
}
if (this.definition.size == 1) {
var3.isSingleTile = true;
}
return var3;
}
}
}
@ObfuscatedName("h")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "-25"
)
@Export("isVisible")
final boolean isVisible() {
return this.definition != null;
}
}