Implement Party Room, A bunch of client side changes, Other stuff (#503)

* Fixup Discord links

* Fix required level to chop Dramen tree

* More Discord link fixes

* Show bots as (store)

* Fixup port

move to port 8080 as used by file server

* Fixup report handler

* Some client changes

* minor changes

Show mod status

* Show item value on ground

* Mark stores and players differently on mini map

* Some tidy up

* default to world 1

* Update trade with text

* revert nodeID changes

* Update RS Guide name

* Remove some command aliases

* Log bots and players differently

* Fixup

* minor changes

* Fixup colors

* Update RSInterface.java

* Settings for controlling options

* Add memory command

* Update server skill magic numbers

* Update server skill magic numbers

* Update colors for ground item text

* Update .gitignore

* Update player health value more often

* Add in game item/NPC/object search

* Item amounts and value displayed

* Update examine text

* Start with volume off

* Fixup tab 7 still showing with other interfaces

* Fixup search

* Fixup entering numbers after letter in amounts

* minor fixup

* fix indentation

* change type of value

* Fixup values shown

* Fix when clicking while tab 7 open

* Fixup negative amounts

* Update some method names

* Fixup method name

* tidy up method values

* Initial move for overlays

* Update more method names, variables

* Update debug menu

* Update experience info area

* Update Signlink.java

* more refactoring/deob

* Tidy up

* refresh skills

* Update method name, debug display

* fixup

* Show wrench icon on custom settings tab

* alignment

* Modify zoom

* Use smaller numbers for exp/h

* Update interface command

* tidy up

* Fixup tele location

* Fixup if interface doesn't exist

* Add some interface options

* Update checks

* Open bank interface for item search

TODO:
change title
maybe not display in chat
change options for items?
change command to searchitem - open the bank interface, open a text input interface

* re-fix

* Show open interface ID

* Update bank string shown

* Update search function

* Scroll zooming

* Only fill chat with search if not searching for an item

* add comments

* Change system update message

* Remove fps command

* Increase draw distance

* fixup

* Draw distance option

* [Party Room] Fix party room stairs

* Add new free slots method to check for stackable items counting as a free slot

* [Party Room] Deposit/Withdraw items all working

* [Party Room] Fully working

* [Party Room] Don't spawn balloons on the table

Players cannot pickup the items

* Fixup boundary

* Drop items in random amounts up to 4 stacks

* Update swampy boat to work

* Minor fixup

* Update Game.java

* Move player name up slightly

* Update some naming

* Tidy up

* Add ectoplasm agility shortcuts

* Update ObjectsActions.java

* Ectofuntus stuff

* fixup

* Ectofuntus bone grinder get status

* auto worship

* Allow claiming ecto-tokens

* change variable

* fixup

* Make use of GameConstants.WORLD

* Randomize bot passwords

* Don't show player shops as online

* Update opening oysters

* Update GemCutting.java

* Dragontooth island transport

* Ectofuntus stuff

* More constants

* Bill teach travel to Mos Le'Harmless and back

Also able to explore the whole ship

* Use better looking buttons

* Update .gitignore
This commit is contained in:
Danial
2021-09-29 11:40:34 +13:00
committed by GitHub
parent d30e833dd8
commit 8589277ece
51 changed files with 1756 additions and 717 deletions
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3)
final class WorldController {
public static int drawDistance = 25;
public WorldController(int ai[][][]) {
int i = 104;// was parameter
@@ -794,7 +795,7 @@ final class WorldController {
anInt498 = l;
anInt493 = k / 2;
anInt494 = l / 2;
boolean aflag[][][][] = new boolean[9][32][53][53];
boolean aflag[][][][] = new boolean[9][32][256][256];
for (int i1 = 128; i1 <= 384; i1 += 32) {
for (int j1 = 0; j1 < 2048; j1 += 64) {
anInt458 = Model.modelIntArray1[i1];
@@ -803,8 +804,8 @@ final class WorldController {
anInt461 = Model.modelIntArray2[j1];
int l1 = (i1 - 128) / 32;
int j2 = j1 / 64;
for (int l2 = -26; l2 <= 26; l2++) {
for (int j3 = -26; j3 <= 26; j3++) {
for (int l2 = -(drawDistance + 1); l2 <= (drawDistance + 1); l2++) {
for (int j3 = -(drawDistance + 1); j3 <= (drawDistance + 1); j3++) {
int k3 = l2 * 128;
int i4 = j3 * 128;
boolean flag2 = false;
@@ -816,7 +817,7 @@ final class WorldController {
break;
}
aflag[l1][j2][l2 + 25 + 1][j3 + 25 + 1] = flag2;
aflag[l1][j2][l2 + drawDistance + 1][j3 + drawDistance + 1] = flag2;
}
}
@@ -827,19 +828,19 @@ final class WorldController {
for (int k1 = 0; k1 < 8; k1++) {
for (int i2 = 0; i2 < 32; i2++) {
for (int k2 = -25; k2 < 25; k2++) {
for (int i3 = -25; i3 < 25; i3++) {
for (int k2 = -drawDistance; k2 < drawDistance; k2++) {
for (int i3 = -drawDistance; i3 < drawDistance; i3++) {
boolean flag1 = false;
label0 : for (int l3 = -1; l3 <= 1; l3++) {
for (int j4 = -1; j4 <= 1; j4++) {
if (aflag[k1][i2][k2 + l3 + 25 + 1][i3 + j4 + 25 + 1]) {
if (aflag[k1][i2][k2 + l3 + drawDistance + 1][i3 + j4 + drawDistance + 1]) {
flag1 = true;
} else if (aflag[k1][(i2 + 1) % 31][k2 + l3 + 25 + 1][i3 + j4 + 25 + 1]) {
} else if (aflag[k1][(i2 + 1) % 31][k2 + l3 + drawDistance + 1][i3 + j4 + drawDistance + 1]) {
flag1 = true;
} else if (aflag[k1 + 1][i2][k2 + l3 + 25 + 1][i3 + j4 + 25 + 1]) {
} else if (aflag[k1 + 1][i2][k2 + l3 + drawDistance + 1][i3 + j4 + drawDistance + 1]) {
flag1 = true;
} else {
if (!aflag[k1 + 1][(i2 + 1) % 31][k2 + l3 + 25 + 1][i3 + j4 + 25 + 1]) {
if (!aflag[k1 + 1][(i2 + 1) % 31][k2 + l3 + drawDistance + 1][i3 + j4 + drawDistance + 1]) {
continue;
}
flag1 = true;
@@ -849,7 +850,7 @@ final class WorldController {
}
aBooleanArrayArrayArrayArray491[k1][i2][k2 + 25][i3 + 25] = flag1;
aBooleanArrayArrayArrayArray491[k1][i2][k2 + drawDistance][i3 + drawDistance] = flag1;
}
}
@@ -904,19 +905,19 @@ final class WorldController {
anInt453 = i / 128;
anInt454 = j / 128;
anInt447 = i1;
anInt449 = anInt453 - 25;
anInt449 = anInt453 - drawDistance;
if (anInt449 < 0) {
anInt449 = 0;
}
anInt451 = anInt454 - 25;
anInt451 = anInt454 - drawDistance;
if (anInt451 < 0) {
anInt451 = 0;
}
anInt450 = anInt453 + 25;
anInt450 = anInt453 + drawDistance;
if (anInt450 > anInt438) {
anInt450 = anInt438;
}
anInt452 = anInt454 + 25;
anInt452 = anInt454 + drawDistance;
if (anInt452 > anInt439) {
anInt452 = anInt439;
}
@@ -928,7 +929,7 @@ final class WorldController {
for (int k2 = anInt451; k2 < anInt452; k2++) {
Ground class30_sub3 = aclass30_sub3[i2][k2];
if (class30_sub3 != null) {
if (class30_sub3.anInt1321 > i1 || !aBooleanArrayArray492[i2 - anInt453 + 25][k2 - anInt454 + 25] && anIntArrayArrayArray440[k1][i2][k2] - l < 2000) {
if (class30_sub3.anInt1321 > i1 || !aBooleanArrayArray492[i2 - anInt453 + drawDistance][k2 - anInt454 + drawDistance] && anIntArrayArrayArray440[k1][i2][k2] - l < 50) {
class30_sub3.aBoolean1322 = false;
class30_sub3.aBoolean1323 = false;
class30_sub3.anInt1325 = 0;
@@ -947,11 +948,11 @@ final class WorldController {
for (int l1 = anInt442; l1 < anInt437; l1++) {
Ground aclass30_sub3_1[][] = groundArray[l1];
for (int l2 = -25; l2 <= 0; l2++) {
for (int l2 = -drawDistance; l2 <= 0; l2++) {
int i3 = anInt453 + l2;
int k3 = anInt453 - l2;
if (i3 >= anInt449 || k3 < anInt450) {
for (int i4 = -25; i4 <= 0; i4++) {
for (int i4 = -drawDistance; i4 <= 0; i4++) {
int k4 = anInt454 + i4;
int i5 = anInt454 - i4;
if (i3 >= anInt449) {
@@ -995,11 +996,11 @@ final class WorldController {
for (int j2 = anInt442; j2 < anInt437; j2++) {
Ground aclass30_sub3_2[][] = groundArray[j2];
for (int j3 = -25; j3 <= 0; j3++) {
for (int j3 = -drawDistance; j3 <= 0; j3++) {
int l3 = anInt453 + j3;
int j4 = anInt453 - j3;
if (l3 >= anInt449 || j4 < anInt450) {
for (int l4 = -25; l4 <= 0; l4++) {
for (int l4 = -drawDistance; l4 <= 0; l4++) {
int j5 = anInt454 + l4;
int k5 = anInt454 - l4;
if (l3 >= anInt449) {
@@ -1691,15 +1692,15 @@ final class WorldController {
for (int k = 0; k < j; k++) {
Class47 class47 = aclass47[k];
if (class47.anInt791 == 1) {
int l = class47.anInt787 - anInt453 + 25;
int l = class47.anInt787 - anInt453 + drawDistance;
if (l < 0 || l > 50) {
continue;
}
int k1 = class47.anInt789 - anInt454 + 25;
int k1 = class47.anInt789 - anInt454 + drawDistance;
if (k1 < 0) {
k1 = 0;
}
int j2 = class47.anInt790 - anInt454 + 25;
int j2 = class47.anInt790 - anInt454 + drawDistance;
if (j2 > 50) {
j2 = 50;
}
@@ -1731,15 +1732,15 @@ final class WorldController {
continue;
}
if (class47.anInt791 == 2) {
int i1 = class47.anInt789 - anInt454 + 25;
int i1 = class47.anInt789 - anInt454 + drawDistance;
if (i1 < 0 || i1 > 50) {
continue;
}
int l1 = class47.anInt787 - anInt453 + 25;
int l1 = class47.anInt787 - anInt453 + drawDistance;
if (l1 < 0) {
l1 = 0;
}
int k2 = class47.anInt788 - anInt453 + 25;
int k2 = class47.anInt788 - anInt453 + drawDistance;
if (k2 > 50) {
k2 = 50;
}
@@ -1771,20 +1772,20 @@ final class WorldController {
} else if (class47.anInt791 == 4) {
int j1 = class47.anInt796 - anInt456;
if (j1 > 128) {
int i2 = class47.anInt789 - anInt454 + 25;
int i2 = class47.anInt789 - anInt454 + drawDistance;
if (i2 < 0) {
i2 = 0;
}
int l2 = class47.anInt790 - anInt454 + 25;
int l2 = class47.anInt790 - anInt454 + drawDistance;
if (l2 > 50) {
l2 = 50;
}
if (i2 <= l2) {
int i3 = class47.anInt787 - anInt453 + 25;
int i3 = class47.anInt787 - anInt453 + drawDistance;
if (i3 < 0) {
i3 = 0;
}
int l3 = class47.anInt788 - anInt453 + 25;
int l3 = class47.anInt788 - anInt453 + drawDistance;
if (l3 > 50) {
l3 = 50;
}
@@ -2103,7 +2104,7 @@ final class WorldController {
private int anInt488;
private final int[][] anIntArrayArray489 = {new int[16], {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}};
private final int[][] anIntArrayArray490 = {{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}};
private static boolean[][][][] aBooleanArrayArrayArrayArray491 = new boolean[8][32][51][51];
private static boolean[][][][] aBooleanArrayArrayArrayArray491 = new boolean[8][32][256][256];
private static boolean[][] aBooleanArrayArray492;
private static int anInt493;
private static int anInt494;