diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java index bdcf503ceb..2f8972287e 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java @@ -24,14 +24,13 @@ */ package net.runelite.cache.definitions.loaders; +import java.util.HashMap; +import java.util.Map; import net.runelite.cache.definitions.ObjectDefinition; import net.runelite.cache.io.InputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashMap; -import java.util.Map; - public class ObjectLoader { private static final Logger logger = LoggerFactory.getLogger(ObjectLoader.class); @@ -54,6 +53,8 @@ public class ObjectLoader processOp(opcode, def, is); } + post(def); + return def; } @@ -375,4 +376,30 @@ public class ObjectLoader logger.warn("Unrecognized opcode {}", opcode); } } + + + private void post(ObjectDefinition def) + { + if (def.getAnInt2088() == -1) + { + def.setAnInt2088(0); + if (def.getObjectModels() != null && (def.getObjectTypes() == null || def.getObjectTypes()[0] == 10)) + { + def.setAnInt2088(1); + } + + for (int var1 = 0; var1 < 5; ++var1) + { + if (def.getActions()[var1] != null) + { + def.setAnInt2088(1); + } + } + } + + if (def.getAnInt2106() == -1) + { + def.setAnInt2106(def.getInteractType() != 0 ? 1 : 0); + } + } }