From 7c09ab1433051ef5c0bddd28404140cbc8a7feb5 Mon Sep 17 00:00:00 2001 From: Ryley Kimmel Date: Thu, 26 Feb 2015 00:25:05 -0500 Subject: [PATCH] Add object obstruction to object definitions. --- .../fs/decoder/ObjectDefinitionDecoder.java | 2 ++ .../game/model/def/ObjectDefinition.java | 30 +++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/org/apollo/fs/decoder/ObjectDefinitionDecoder.java b/src/org/apollo/fs/decoder/ObjectDefinitionDecoder.java index 765acfda..672e633b 100644 --- a/src/org/apollo/fs/decoder/ObjectDefinitionDecoder.java +++ b/src/org/apollo/fs/decoder/ObjectDefinitionDecoder.java @@ -120,6 +120,8 @@ public final class ObjectDefinitionDecoder { data.get(); } else if (opcode >= 70 && opcode <= 72) { data.getShort(); + } else if (opcode == 73) { + definition.setObstructive(true); } else if (opcode == 75) { data.get(); } else { diff --git a/src/org/apollo/game/model/def/ObjectDefinition.java b/src/org/apollo/game/model/def/ObjectDefinition.java index 98e1aa02..a890b4cc 100644 --- a/src/org/apollo/game/model/def/ObjectDefinition.java +++ b/src/org/apollo/game/model/def/ObjectDefinition.java @@ -82,6 +82,11 @@ public final class ObjectDefinition { */ private boolean interactive; + /** + * Denotes whether or not this object obstructs the ground. + */ + private boolean obstructive; + /** * This object's length. */ @@ -173,7 +178,8 @@ public final class ObjectDefinition { /** * Indicates the impenetrability of this object. * - * @return {@code true} if this object is impenetrable, otherwise {@code false}. + * @return {@code true} if this object is impenetrable, otherwise + * {@code false}. */ public boolean isImpenetrable() { return impenetrable; @@ -182,12 +188,23 @@ public final class ObjectDefinition { /** * Indicates the interactivity of this object. * - * @return {@code true} if the object is interactive, otherwise {@code false}. + * @return {@code true} if the object is interactive, otherwise + * {@code false}. */ public boolean isInteractive() { return interactive; } + /** + * Indicates whether or not this object obstructs the ground. + * + * @return {@code true} if the object obstructs the ground otherwise + * {@code false}. + */ + public boolean isObstructive() { + return obstructive; + } + /** * Indicates the solidity of this object. * @@ -269,4 +286,13 @@ public final class ObjectDefinition { this.width = width; } + /** + * Sets whether or not this object is obstructive to the ground. + * + * @param obstructive Whether or not this object obstructs the ground. + */ + public void setObstructive(boolean obstructive) { + this.obstructive = obstructive; + } + } \ No newline at end of file