mirror of
https://github.com/bdnugget/IdleRSC.git
synced 2026-11-07 07:57:27 +00:00
Implement new compiling methods to work with current client system
* Use included scripts to update client from remote github repo
* Hide patcher debug messages, only shows actually patched methods now
* Add spotless support to openrsc client subproject (automatic when building)
* this isn't required to pass pipeline right now
* Add patcher automatic spotless apply (required for pipeline)
* Remove create zip cache for now
* update resource folder path
* update cache sprites in assets
* always replace our jar when compiling (for now)
- our method of task (not copy specific task) does not respect MD5 hash checking, so we can't check versions here (yet)
* Move resources for client into main/java/bot folder for easier access
* always copyJar AFTER jar is finished running
* update release to include cache and exclude run files
* turn back on cache generation but include cache with main repo
- this is more for a fall back if cache gets removed, and for server and world switching in the future!!!
* include zipcache in the repo,
This commit is contained in:
1 parent
fd49f71b00
commit
bfbb5aec94
50 files changed
+800
-294
No files matched your search
+6
-10
@@ -60,18 +60,14 @@ tasks.named('jar') {
|
||||
'Build-Jdk' : "${System.properties['java.version']}",
|
||||
)
|
||||
}
|
||||
|
||||
// FTBFS: Set duplicate handling strategy for module-info.class.
|
||||
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
||||
}
|
||||
|
||||
tasks.register('copyJar') {
|
||||
// Final JAR
|
||||
group 'build'
|
||||
description 'copy app.jar to main dir'
|
||||
|
||||
inputs.file "${project(':app').getBuildDir()}/libs/app.jar"
|
||||
outputs.file "Idlersc.jar"
|
||||
description 'copy app.jar to main dir and rename to IdleRSC.jar'
|
||||
dependsOn('build')
|
||||
|
||||
doLast {
|
||||
copy {
|
||||
@@ -81,19 +77,19 @@ tasks.register('copyJar') {
|
||||
into '../'
|
||||
}
|
||||
}
|
||||
|
||||
//File appJar = new File(project(':app').getBuildDir(), "libs/${project(':app').getName()}.jar")
|
||||
// from("${project(':app').getBuildDir()}/libs/app.jar")
|
||||
// into "."
|
||||
}
|
||||
|
||||
tasks.named('testClasses') {
|
||||
finalizedBy('copyJar')
|
||||
}
|
||||
tasks.named('build') {
|
||||
finalizedBy('copyJar')
|
||||
}
|
||||
|
||||
// Add additional files to clean task
|
||||
tasks.named('clean') {
|
||||
delete 'src/main/resources'
|
||||
delete '../IdleRSC.jar'
|
||||
}
|
||||
|
||||
// Create resources before processResources runs
|
||||
|
||||
@@ -18,7 +18,7 @@ final class AuthFrame extends JFrame {
|
||||
private Color backgroundColor = Main.getColorCode(1, 0);
|
||||
private Color textColor = Main.getColorCode(0, 0);
|
||||
private boolean loadSettings = false;
|
||||
private final String resourceLocation = "src/main/resources/";
|
||||
private final String resourceLocation = "app/src/main/java/bot/res/";
|
||||
private static final Dimension fieldSize = new Dimension(100, 25);
|
||||
private final Window parent;
|
||||
private JPasswordField password;
|
||||
|
||||
@@ -18,7 +18,7 @@ public final class EntryFrame extends JFrame {
|
||||
private static String account = "";
|
||||
private final Choice accountChoice;
|
||||
private String themeName = "RuneDark Theme";
|
||||
private final String resourceLocation = "src/main/resources/";
|
||||
private final String resourceLocation = "app/src/main/java/bot/res/";
|
||||
private boolean okie = false;
|
||||
|
||||
// todo add theme select to cli
|
||||
@@ -26,21 +26,6 @@ public final class EntryFrame extends JFrame {
|
||||
return account;
|
||||
}
|
||||
|
||||
private String getStringProperty(final String name, String propertyName) {
|
||||
if (name == null || propertyName == null) {
|
||||
System.out.println("Error accessing string property");
|
||||
}
|
||||
final Properties p = new Properties();
|
||||
final File file = Paths.get("accounts").resolve(name + ".properties").toFile();
|
||||
try (final FileInputStream stream = new FileInputStream(file)) {
|
||||
p.load(stream);
|
||||
return p.getProperty(propertyName, " ");
|
||||
} catch (final Throwable t) {
|
||||
System.out.println("Error loading account " + name + ": " + t);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
private void loadAccounts() {
|
||||
try {
|
||||
final File dir = Paths.get("accounts").toFile();
|
||||
@@ -75,14 +60,14 @@ public final class EntryFrame extends JFrame {
|
||||
new ImageIcon(resourceLocation + "icons/welcome.icon.png")
|
||||
.getImage()
|
||||
.getScaledInstance(230, 30, java.awt.Image.SCALE_SMOOTH);
|
||||
Image okImage =
|
||||
new ImageIcon(resourceLocation + "icons/ok.icon.png")
|
||||
.getImage()
|
||||
.getScaledInstance(120, 26, java.awt.Image.SCALE_SMOOTH);
|
||||
Image cancelImg =
|
||||
new ImageIcon(resourceLocation + "icons/cancel2.icon.png")
|
||||
.getImage()
|
||||
.getScaledInstance(120, 26, java.awt.Image.SCALE_SMOOTH);
|
||||
// Image okImage =
|
||||
// new ImageIcon(resourceLocation + "icons/ok.icon.png")
|
||||
// .getImage()
|
||||
// .getScaledInstance(120, 26, java.awt.Image.SCALE_SMOOTH);
|
||||
// Image cancelImg =
|
||||
// new ImageIcon(resourceLocation + "icons/cancel2.icon.png")
|
||||
// .getImage()
|
||||
// .getScaledInstance(120, 26, java.awt.Image.SCALE_SMOOTH);
|
||||
// ImageIcon icon = new ImageIcon("res/ui/present_edit.png"); // Christmas mode
|
||||
// ImageIcon icon = new ImageIcon("res/ui/scales.png"); // Red
|
||||
|
||||
@@ -283,6 +268,21 @@ public final class EntryFrame extends JFrame {
|
||||
dispose();
|
||||
}
|
||||
|
||||
private String getStringProperty(final String name, String propertyName) {
|
||||
if (name == null || propertyName == null) {
|
||||
System.out.println("Error accessing string property");
|
||||
}
|
||||
final Properties p = new Properties();
|
||||
final File file = Paths.get("accounts").resolve(name + ".properties").toFile();
|
||||
try (final FileInputStream stream = new FileInputStream(file)) {
|
||||
p.load(stream);
|
||||
return p.getProperty(propertyName, " ");
|
||||
} catch (final Throwable t) {
|
||||
System.out.println("Error loading account " + name + ": " + t);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisible(final boolean visible) {
|
||||
if (visible) {
|
||||
|
||||
@@ -12,6 +12,8 @@ import compatibility.apos.Script;
|
||||
import controller.Controller;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.net.MalformedURLException;
|
||||
@@ -38,6 +40,7 @@ import orsc.OpenRSC;
|
||||
import orsc.mudclient;
|
||||
import reflector.Reflector;
|
||||
import scripting.idlescript.IdleScript;
|
||||
import utils.Extractor;
|
||||
import utils.Version;
|
||||
|
||||
/**
|
||||
@@ -263,7 +266,7 @@ public class Main {
|
||||
}
|
||||
|
||||
config.absorb(parseResult);
|
||||
// handleCache(config);
|
||||
handleCache(config);
|
||||
|
||||
Reflector reflector = new Reflector(); // start up our reflector helper
|
||||
OpenRSC client = reflector.createClient(); // start up our client jar
|
||||
@@ -946,92 +949,96 @@ public class Main {
|
||||
};
|
||||
}
|
||||
|
||||
// /** Checks if the user has made a Cache/ folder. If not, spawns a wizard to create the folder.
|
||||
// */
|
||||
// private static void handleCache(Config config) {
|
||||
// final int COLESLAW_PORT = 43599;
|
||||
// final int URANIUM_PORT = 43601;
|
||||
// // Does the directory exist?
|
||||
// File cacheDirectory = new File("Cache/");
|
||||
//
|
||||
// if (cacheDirectory.exists()) return;
|
||||
//
|
||||
// // If --init-cache argument is used, bypass the GUI
|
||||
// if (!config.getInitCache().isEmpty()) {
|
||||
// if (config.getInitCache().equals("uranium")) {
|
||||
// // Create Uranium cache
|
||||
// createCache(URANIUM_PORT);
|
||||
// return;
|
||||
// } else if (config.getInitCache().equals("coleslaw")) {
|
||||
// // Create Coleslaw cache
|
||||
// createCache(COLESLAW_PORT);
|
||||
// return;
|
||||
// } else {
|
||||
// System.out.println("Server (" + config.getInitCache() + ") is not known.");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// JFrame cacheFrame = new JFrame("Cache Setup");
|
||||
// JLabel cacheLabel = new JLabel("First setup: you must select either Uranium or Coleslaw.");
|
||||
// JButton uraniumButton = new JButton("Uranium (2018 RSC)");
|
||||
// JButton coleslawButton = new JButton("Coleslaw (modified RSC, new content)");
|
||||
//
|
||||
// uraniumButton.addActionListener(
|
||||
// e -> {
|
||||
// // Create Uranium cache
|
||||
// createCache(URANIUM_PORT);
|
||||
// });
|
||||
//
|
||||
// coleslawButton.addActionListener(
|
||||
// e -> {
|
||||
// // Create Coleslaw cache
|
||||
// createCache(COLESLAW_PORT);
|
||||
// });
|
||||
//
|
||||
// cacheFrame.setLayout(new GridLayout(0, 1));
|
||||
// cacheFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
// cacheFrame.add(cacheLabel);
|
||||
// cacheFrame.add(uraniumButton);
|
||||
// cacheFrame.add(coleslawButton);
|
||||
//
|
||||
// cacheFrame.pack();
|
||||
// cacheFrame.setLocationRelativeTo(null);
|
||||
// cacheFrame.setVisible(true);
|
||||
// cacheFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
//
|
||||
// while (!cacheDirectory.exists()) {
|
||||
// try {
|
||||
// Thread.sleep(100);
|
||||
// } catch (InterruptedException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// cacheDirectory = new File("Cache/");
|
||||
// }
|
||||
// cacheFrame.setVisible(false);
|
||||
// cacheFrame.dispose();
|
||||
// }
|
||||
/** Checks if the user has made a Cache/ folder. If not, spawns a wizard to create the folder. */
|
||||
private static void handleCache(Config config) {
|
||||
final int COLESLAW_PORT = 43599;
|
||||
final int URANIUM_PORT = 43601;
|
||||
// Does the directory exist?
|
||||
File cacheDirectory = new File("Cache/");
|
||||
|
||||
// private static void createCache(int ServerPort) {
|
||||
// // Create Cache directory
|
||||
// File dir = new File("." + File.separator + "Cache");
|
||||
// dir.mkdirs();
|
||||
//
|
||||
// // Copy embedded cache to cache directory
|
||||
// try {
|
||||
// Extractor.extractZipResource("/cache/ZipCache.zip", dir.toPath());
|
||||
// } catch (IOException ignored) {
|
||||
// System.out.print(ignored);
|
||||
// }
|
||||
//
|
||||
// // Add port to client cache
|
||||
// try {
|
||||
// FileWriter portFile = new FileWriter("Cache/port.txt");
|
||||
// portFile.write(Integer.toString(43599));
|
||||
// portFile.close();
|
||||
// } catch (IOException ignored) {
|
||||
// System.out.print(ignored);
|
||||
// }
|
||||
// }
|
||||
if (cacheDirectory.exists()) return;
|
||||
|
||||
// If --init-cache argument is used, bypass the GUI
|
||||
if (!config.getInitCache().isEmpty()) {
|
||||
if (config.getInitCache().equals("uranium")) {
|
||||
// Create Uranium cache
|
||||
createCache(URANIUM_PORT);
|
||||
return;
|
||||
} else if (config.getInitCache().equals("coleslaw")) {
|
||||
// Create Coleslaw cache
|
||||
createCache(COLESLAW_PORT);
|
||||
return;
|
||||
} else {
|
||||
System.out.println("Server (" + config.getInitCache() + ") is not known.");
|
||||
}
|
||||
} else {
|
||||
createCache(COLESLAW_PORT);
|
||||
return;
|
||||
}
|
||||
|
||||
JFrame cacheFrame = new JFrame("Cache Setup");
|
||||
JLabel cacheLabel = new JLabel("First setup: you must select either Uranium or Coleslaw.");
|
||||
JButton uraniumButton = new JButton("Uranium (2018 RSC)");
|
||||
JButton coleslawButton = new JButton("Coleslaw (modified RSC, new content)");
|
||||
|
||||
uraniumButton.addActionListener(
|
||||
e -> {
|
||||
// Create Uranium cache
|
||||
createCache(URANIUM_PORT);
|
||||
});
|
||||
|
||||
coleslawButton.addActionListener(
|
||||
e -> {
|
||||
// Create Coleslaw cache
|
||||
createCache(COLESLAW_PORT);
|
||||
});
|
||||
|
||||
cacheFrame.setLayout(new GridLayout(0, 1));
|
||||
cacheFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
cacheFrame.add(cacheLabel);
|
||||
cacheFrame.add(uraniumButton);
|
||||
cacheFrame.add(coleslawButton);
|
||||
|
||||
cacheFrame.pack();
|
||||
cacheFrame.setLocationRelativeTo(null);
|
||||
cacheFrame.setVisible(true);
|
||||
cacheFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
while (!cacheDirectory.exists()) {
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
cacheDirectory = new File("Cache/");
|
||||
}
|
||||
cacheFrame.setVisible(false);
|
||||
cacheFrame.dispose();
|
||||
}
|
||||
|
||||
private static void createCache(int ServerPort) {
|
||||
// Create Cache directory
|
||||
File dir = new File("." + File.separator + "Cache");
|
||||
dir.mkdirs();
|
||||
|
||||
// Copy embedded cache to cache directory
|
||||
try {
|
||||
Extractor.extractZipResource("/cache/ZipCache.zip", dir.toPath());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
// Add port to client cache
|
||||
try {
|
||||
FileWriter portFile = new FileWriter("Cache/port.txt");
|
||||
portFile.write(Integer.toString(43599));
|
||||
portFile.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private static void copyDirectory(
|
||||
String sourceDirectoryLocation, String destinationDirectoryLocation) {
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Vendored
+53
@@ -0,0 +1,53 @@
|
||||
70a77a7b18554b81941b23e966b76561 ./config.txt
|
||||
f900366006fb6f98b73a07c265694e53 ./OpenRSC.jar
|
||||
4ee4ae8bf5c68343effce65d6697ed71 ./openrsc.apk
|
||||
59f8d97492fdb1286018ec89b0755657 ./Open_RSC_Client_dev.jar
|
||||
b8419160170a41ae01abab13a3b887df ./ip.txt
|
||||
2bc77ee6aff6405a4233e55c87138d8c ./port.txt
|
||||
e7db55346a3c9e1e2dc4156a5080e3e3 ./audio/spellfail.wav
|
||||
a35f59926c22a2763a898509ac46ac05 ./audio/chisel.wav
|
||||
e975b69136d8cea9eafd1f7dad2f6e92 ./audio/spellok.wav
|
||||
1a6bd03dc01873ca5a2a3e51c6f13b12 ./audio/combat2b.wav
|
||||
98395590acfc5a09ca6838d2c73846ca ./audio/foundgem.wav
|
||||
3ba2c9d80d3876bbd53e03a16ad415bb ./audio/potato.wav
|
||||
9c48528aa1856071bddd96f1ccf0280d ./audio/sounds.mem
|
||||
4e5da6ef24f2f1d51d6cab1d38b40e17 ./audio/prayeroff.wav
|
||||
67d5e5731f6fee2bd0825f1f886ac7b1 ./audio/recharge.wav
|
||||
2987aa4c8fa1d396ace73b71eda3118d ./audio/closedoor.wav
|
||||
9f266ba9ec03a5f6d25c27434b447e6d ./audio/retreat.wav
|
||||
5eca4d35fc8ee3ea435560da0eca6c6d ./audio/anvil.wav
|
||||
eeaafe253ccb7f566fc2d30c03915842 ./audio/cooking.wav
|
||||
821a71555b8e0924784ad07b02e63582 ./audio/death.wav
|
||||
6d8f9ccb2338ec9b5579da52cfd51195 ./audio/outofammo.wav
|
||||
a2237aa906d418df12f801a67948710b ./audio/secretdoor.wav
|
||||
19f3c3b2d2dc7d0a8bb190c2c4d1c8fd ./audio/prayeron.wav
|
||||
e2721d63e3df7b55e081ee71c66e56c3 ./audio/underattack.wav
|
||||
8f3b3864c52cf51814fdf0fa0b2b741b ./audio/advance.wav
|
||||
bbe470bcd82a2e2dc605760d7d0ffaa5 ./audio/takeobject.wav
|
||||
ef610914a731786b42bbce9bb622d3a0 ./audio/combat1b.wav
|
||||
da1e22c96fb52e7f72dd0464e833b4d2 ./audio/filljug.wav
|
||||
7b3039a8bd7120135d50679ea5d8f792 ./audio/combat3a.wav
|
||||
652c31cb123c1a7260827294ebaa80ab ./audio/mine.wav
|
||||
b88a5f4a16ed18b0665b459723fd2211 ./audio/dropobject.wav
|
||||
06da45374b5113d1aea98a72c9699539 ./audio/combat1a.wav
|
||||
6be1531321281f9099b3184f938f1715 ./audio/eat.wav
|
||||
9fab30ff683e4933115549efcce1aa16 ./audio/shoot.wav
|
||||
55ef3d424e79626e32748b9032ed48df ./audio/combat2a.wav
|
||||
347fc00ecee0aad4a75909599fc4b21c ./audio/mix.wav
|
||||
6fabaf1726a553115835427a7f3ae269 ./audio/victory.wav
|
||||
7da40aec7309e78fdc338cc1ea809711 ./audio/opendoor.wav
|
||||
5ffadf2eebd5da8e852351193455af02 ./audio/coins.wav
|
||||
82e2da66cecbcf84002461ca47cdb37d ./audio/click.wav
|
||||
532df52e741613540730be1ca109a424 ./audio/prospect.wav
|
||||
3493216d321637c2c56237ce3c161ae9 ./audio/fish.wav
|
||||
daa945fd3476cb088b7822ad44a000ac ./audio/mechanical.wav
|
||||
2bdc3e524ce56419c10079f05b74786e ./audio/combat3b.wav
|
||||
d41d8cd98f00b204e9800998ecf8427e ./uid.dat
|
||||
3bbc851bd8a0aff7dc4a01ca327b30bc ./video/Authentic_Sprites.orsc
|
||||
f868a8fb9266f219edd7f47ef0028a6b ./video/Custom_Landscape.orsc
|
||||
1a8c3f966fc4259a6f3d6ff32cebd6a8 ./video/models.orsc
|
||||
c95ded5d48c3a78c5a267e0301160367 ./video/spritepacks/Menus.osar
|
||||
6cdb4549a7813f54a3473564a3231399 ./video/Authentic_Landscape.orsc
|
||||
8ccf8b4697c432ccdcd84be3979b91b3 ./video/Custom_Sprites.osar
|
||||
4445d7d9c1535a6f47a09ef33c02c15f ./video/library.orsc
|
||||
8101c301d8ad141b92842f6a1e4d295c ./Open_RSC_Client.jar
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
## Cache
|
||||
|
||||
This contains all the models, sprites, landscapes, sounds required for the
|
||||
Open RSC client. The cache can be refreshed when `make update-cache` is
|
||||
invoked in the root of the repository.
|
||||
|
||||
It is found [here][1] in the core repository.
|
||||
|
||||
## Map
|
||||
|
||||
This can be considered the "walkability" of the entire Runescape game, and
|
||||
features heavily in all of the path walker algorithms present in the bot
|
||||
codebase.
|
||||
|
||||
In order to view the data, run `hexdump -C data`. A small snippet is shown
|
||||
below:
|
||||
|
||||
```shell
|
||||
002e7650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 |................|
|
||||
002e7660 01 01 01 01 00 01 00 01 01 01 01 01 01 01 01 01 |................|
|
||||
002e7670 00 01 00 01 01 01 00 01 01 01 01 01 00 01 01 01 |................|
|
||||
002e7680 01 00 01 01 00 00 00 01 01 01 01 01 01 01 01 00 |................|
|
||||
002e7690 01 01 00 01 01 01 01 00 01 01 00 01 00 00 01 01 |................|
|
||||
002e76a0 00 00 00 00 00 01 01 00 00 01 00 01 01 01 01 00 |................|
|
||||
002e76b0 00 01 01 00 00 01 01 01 01 00 01 01 01 01 00 00 |................|
|
||||
002e76c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||||
```
|
||||
|
||||
[0]: https://gitlab.com/open-runescape-classic/core
|
||||
[1]: https://gitlab.com/open-runescape-classic/core/-/tree/develop/Client_Base/Cache
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
0
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
game.openrsc.com
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
#---open runescape classic launcher config---
|
||||
preferred_client_preservation=winrune
|
||||
preferred_client_openpk=openrsc
|
||||
show_prerelease_servers=false
|
||||
preferred_client_coleslaw=idlersc
|
||||
preferred_client_2001scape=mudclient38
|
||||
undecorated_window=true
|
||||
preferred_client_cabbage=openrsc
|
||||
show_bot_buttons=true
|
||||
auto_update=false
|
||||
first_run=false
|
||||
preferred_client_uranium=winrune
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
43599
|
||||
Vendored
Whitespace-only changes.
BIN
Binary file not shown.
+7
-10
@@ -22,7 +22,7 @@ tasks.register('run', JavaExec) {
|
||||
tasks.register('buildPatchedClient', JavaExec) {
|
||||
group 'build'
|
||||
description 'Create patched client jar archive.'
|
||||
dependsOn ':client:build', ':patcher:build'
|
||||
dependsOn ':client:build', ':patcher:build', ':patcher:spotlessApply'
|
||||
|
||||
File patcherJar = new File(project(':patcher').getBuildDir(), "libs/${project(':patcher').getName()}.jar")
|
||||
File clientJar = new File(project(':client').getBuildDir(), "libs/${project(':client').getName()}.jar")
|
||||
@@ -41,8 +41,9 @@ tasks.register('createClientCache', Zip) {
|
||||
description 'Create client cache for inclusion in the jar archive.'
|
||||
archiveFileName = 'ZipCache.zip'
|
||||
destinationDirectory = project(':app').file('src/main/resources/cache/')
|
||||
from 'assets/cache/'
|
||||
from('assets/cache/')
|
||||
include '**/*'
|
||||
//Thread.sleep(300)
|
||||
}
|
||||
|
||||
tasks.register('copyMapData', Copy) {
|
||||
@@ -62,16 +63,12 @@ tasks.register('prepareRelease', Copy) {
|
||||
rename 'app.jar', "${rootProject.name}.jar"
|
||||
}
|
||||
|
||||
// documentation
|
||||
// documentation and cache
|
||||
from ("${rootProject.projectDir}") {
|
||||
include 'doc/*'
|
||||
include 'doc/'
|
||||
include 'README.md', 'LICENSE'
|
||||
exclude 'doc/run_*'
|
||||
}
|
||||
|
||||
// run_* scripts
|
||||
from ("${rootProject.projectDir}/doc") {
|
||||
include 'run_*'
|
||||
include 'accounts/username.properties'
|
||||
include 'Cache/'
|
||||
}
|
||||
|
||||
into "build/${releaseName()}"
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
plugins {
|
||||
// Facilitates Java compilation
|
||||
id 'java'
|
||||
// For formatting source-code
|
||||
// alias(libs.plugins.spotless)
|
||||
// Ensure jars are reproducible
|
||||
id 'reproducible-archives'
|
||||
// Bundle all dependencies (a.k.a. create a fat jar)
|
||||
id 'bundle-dependencies'
|
||||
}
|
||||
|
||||
// Tasks not related to build are split out into their own gradle scripts
|
||||
// in order to keep build.gradle as compact as possible.
|
||||
//apply from: "$project.rootDir/spotless.gradle"
|
||||
|
||||
// Required for patcher, as the asm dependency is unable to automatically
|
||||
// infer the bytecode version.
|
||||
java {
|
||||
@@ -23,6 +29,10 @@ dependencies {
|
||||
implementation libs.discord.rpc
|
||||
}
|
||||
|
||||
//tasks.named('build') {
|
||||
// dependsOn(':client:spotlessApply')
|
||||
//}
|
||||
|
||||
tasks.named('jar') {
|
||||
// Define entry point for application
|
||||
manifest {
|
||||
|
||||
@@ -51,7 +51,7 @@ public class EntityHandler {
|
||||
|
||||
public static NPCDef getNpcDef(int id) {
|
||||
if (id < 0 || id >= npcs.size()) {
|
||||
return null;
|
||||
return npcs.get(825); //Default NPC is Ana (not in a barrel)
|
||||
}
|
||||
return npcs.get(id);
|
||||
}
|
||||
@@ -67,15 +67,16 @@ public class EntityHandler {
|
||||
newId = (newId + 1) * -1;
|
||||
noted = true;
|
||||
}
|
||||
|
||||
if (id >= items.size()) {
|
||||
return items.get(1544); //Default Item is Unobtanium
|
||||
}
|
||||
return findItem(newId, noted);
|
||||
}
|
||||
|
||||
public static ItemDef getItemDef(int id, boolean isNote) {
|
||||
if (id < 0) {
|
||||
return null;
|
||||
if (id < 0 || id >= items.size()) {
|
||||
return items.get(1544); //Default Item is Unobtanium
|
||||
}
|
||||
|
||||
return findItem(id, isNote);
|
||||
}
|
||||
|
||||
@@ -174,7 +175,7 @@ public class EntityHandler {
|
||||
if (objects.get(i).id == id)
|
||||
return objects.get(i);
|
||||
}
|
||||
return null;
|
||||
return objects.get(4); // Default Object is tree stump
|
||||
}
|
||||
return objects.get(id);
|
||||
}
|
||||
@@ -1288,7 +1289,11 @@ public class EntityHandler {
|
||||
npcs.add(new NPCDef("Kortan", "He helps run the adventurers store", shopOption, 15, 22, 22, 6, false, sprites, 16761440, 2, 8409120, 15523536, 155, 230, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("zoo keeper", "He looks after Ardougne city zoo", "", 20, 20, 20, 20, true, sprites, 16752704, 187, 187, 15523536, 160, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{6, 1, 2, -1, 122, -1, 84, -1, -1, -1, -1, 68};
|
||||
if (Config.S_PRIDE_MONTH) {
|
||||
sprites = new int[]{6, 1, 2, -1, 122, -1, 84, -1, -1, -1, -1, 509};
|
||||
} else {
|
||||
sprites = new int[]{6, 1, 2, -1, 122, -1, 84, -1, -1, -1, -1, 68};
|
||||
}
|
||||
npcs.add(new NPCDef("Make over mage", "He can change how I look", "", 0, 0, 3, 0, false, sprites, 3158064, 16763952, 15609986, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Bartender", "I could get a beer off him", "", 0, 0, 3, 0, false, sprites, 1, 8409120, 8409120, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
@@ -2250,12 +2255,12 @@ public class EntityHandler {
|
||||
npcs.add(new NPCDef("Subscription Vendor", "Exchange your subscription token to subscription time", "", 0, 0, 3, 0, false, sprites, 16761440, 143190, 143190, 15523536, 145, 230, 6, 6, 5, i++));
|
||||
sprites = new int[]{241, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Gaia", "The earth queen with a rotten heart", "", 78, 79, 79, 80, true, sprites, 0, 0, 0, 0, 275, 262, 11, 11, 30, i++));
|
||||
sprites = new int[]{0, 318, 319, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Iron Man", "An Iron Man", "Armour", 0, 0, 0, 0, false, sprites, 6751590, 0, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, 321, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Ultimate Iron Man", "An Ultimate Iron Man", "Armour", 0, 0, 0, 0, false, sprites, 11167296, 8, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{323, 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Hardcore Iron Man", "A Hardcore Iron Man", "Armour", 0, 0, 0, 0, false, sprites, 11167296, 8, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, -1, -1, -1, -1, -1, 318, 319, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Ironman", "An Ironman", "Armour", 0, 0, 0, 0, false, sprites, 6751590, 0, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{3, -1, -1, -1, -1, -1, 535, 538, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Ultimate Ironman", "An Ultimate Ironman", "Armour", 0, 0, 0, 0, false, sprites, 11167296, 8, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Hardcore Ironman", "A Hardcore Ironman", "Armour", 0, 0, 0, 0, false, sprites, 11167296, 8, 14, 13415270, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Greatwood", "A scary hard slamming tree", "", 255, 245, 400, 300, true, sprites, 0, 0, 0, 0, 345, 410, 11, 11, 30, i++));
|
||||
sprites = new int[]{6, 1, 2, -1, -1, 77, 76, 81, -1, -1, -1, -1};
|
||||
@@ -2303,6 +2308,28 @@ public class EntityHandler {
|
||||
npcs.add(new NPCDef("Kresh", "He's kind of like an onion", "", 123, 123, 123, 123, false, sprites, 0, 0xFFFFFF, 0x802415, 0xb5ff1d, 160, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{3, 1, 2, -1, -1, -1, -1, -1, 46, -1, 10, 519};
|
||||
npcs.add(new NPCDef("Lily", "She has a green thumb", "", 1, 1, 10, 1, false, sprites, 0xEEBB70, 0x006600, 0x663300, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{5, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Peter Skippin", "Shut up, Meg", "", 20, 20, 20, 20, false, sprites, 11167296, 0xFFFFFF, 0x014E00, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, -1, 2, -1, -1, -1, 531, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Mortimer", "A not-so-wealthy tradesman", "", 11, 8, 7, 11, false, sprites, 15921906, 2, 0x5C5C5C, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{0, -1, 2, -1, -1, -1, 532, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Randolph", "A not-so-wealthy tradesman", "", 11, 8, 7, 11, false, sprites, 15921906, 2, 0x303030, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{3, 1, 2, -1, -1, -1, 213, 214, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Ana (not in a barrel)", "I should update my client.", "", 17, 15, 16, 18, false, sprites, 16760880, 8409120, 8409120, 10056486, 120, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{533, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Biggum Flodrot", "Biggum Flodrot, goblin hero", "", 99, 99, 99, 99, false, sprites, 0, 0, 0, 0, 219, 206, 9, 8, 5, i++));
|
||||
sprites = new int[]{133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Spookie", "A spooky, scary skeleton!", "", 0, 0, 10, 1, false, sprites, 0, 0, 0, 0, 216, 234, 11, 11, 5, i++));
|
||||
npcs.add(new NPCDef("Scarie", "A spooky, scary skeleton!", "", 0, 0, 10, 1, false, sprites, 0, 0, 0, 0, 216, 234, 11, 11, 5, i++));
|
||||
// head, shirt, pants, shield, weapon, hat, body, legs, gloves, boots, amulet, cape
|
||||
sprites = new int[]{0, 1, 2, -1, 109, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Todd Sandyman", "Some of the children call him \"The White Ogre\"", "", 0, 0, 3, 0, false, sprites, 16753488, 0xFFFFFF, 0x663300, 15523536, 145, 220, 6, 6, 5, i++));
|
||||
sprites = new int[]{137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Praeteritum", "The ghost of Christmas past", "", 15, 15, 5, 15, false, sprites, 0, 0, 0, 0, 201, 243, 9, 9, 5, i++));
|
||||
sprites = new int[]{137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Praesens", "The ghost of Christmas present", "", 15, 15, 5, 15, false, sprites, 0, 0, 0, 0, 201, 243, 9, 9, 5, i++));
|
||||
sprites = new int[]{137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
||||
npcs.add(new NPCDef("Futurum", "The ghost of Christmas future", "", 15, 15, 5, 15, false, sprites, 0, 0, 0, 0, 201, 243, 9, 9, 5, i++));
|
||||
|
||||
if (Config.S_WANT_CUSTOM_SPRITES) {
|
||||
// Ranael
|
||||
@@ -2601,11 +2628,11 @@ public class EntityHandler {
|
||||
items.add(new ItemDef("arrow shafts", "I need to attach feathers to these", "", 1, 121, "items:121", true, false, 0, 0, true, false, false, 280));
|
||||
items.add(new ItemDef("Woad Leaf", "slightly bluish leaves", "", 1, 122, "items:122", true, false, 0, 0, false, false, false, 281));
|
||||
items.add(new ItemDef("Orangedye", "A little bottle of dye", "", 5, 104, "items:104", false, false, 0, 16755200, false, false, true, 282));
|
||||
items.add(new ItemDef("Gold ring", "A valuable ring", "", 350, 123, "items:123", false, false, 0, 16763980, false, false, true, 283));
|
||||
items.add(new ItemDef("Sapphire ring", "A valuable ring", "", 900, 123, "items:123", false, false, 0, 19711, false, false, true, 284));
|
||||
items.add(new ItemDef("Emerald ring", "A valuable ring", "", 1275, 123, "items:123", false, false, 0, 3394611, false, false, true, 285));
|
||||
items.add(new ItemDef("Ruby ring", "A valuable ring", "", 2025, 123, "items:123", false, false, 0, 16724736, false, false, true, 286));
|
||||
items.add(new ItemDef("Diamond ring", "A valuable ring", "", 3525, 123, "items:123", false, false, 0, 0, false, false, true, 287));
|
||||
items.add(new ItemDef("Gold ring", "A valuable ring", "", 350, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 16763980, false, false, true, 283));
|
||||
items.add(new ItemDef("Sapphire ring", "A valuable ring", "", 900, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 19711, false, false, true, 284));
|
||||
items.add(new ItemDef("Emerald ring", "A valuable ring", "", 1275, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 3394611, false, false, true, 285));
|
||||
items.add(new ItemDef("Ruby ring", "A valuable ring", "", 2025, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 16724736, false, false, true, 286));
|
||||
items.add(new ItemDef("Diamond ring", "A valuable ring", "", 3525, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 0, false, false, true, 287));
|
||||
items.add(new ItemDef("Gold necklace", "I wonder if this is valuable", "", 450, 57, "items:57", false, true, 1024, 16763980, false, false, true, 288));
|
||||
items.add(new ItemDef("Sapphire necklace", "I wonder if this is valuable", "", 1050, 57, "items:57", false, true, 1024, 19711, false, false, true, 289));
|
||||
items.add(new ItemDef("Emerald necklace", "I wonder if this is valuable", "", 1425, 57, "items:57", false, true, 1024, 3394611, false, false, true, 290));
|
||||
@@ -2861,7 +2888,7 @@ public class EntityHandler {
|
||||
items.add(new ItemDef("magnet", "A very attractive magnet", "", 3, 184, "items:184", false, false, 0, 0, true, true, false, 540));
|
||||
items.add(new ItemDef("Grey wolf fur", "This would make warm clothing", "", 50, 68, "items:68", false, false, 0, 15658734, true, false, true, 541));
|
||||
items.add(new ItemDef("uncut dragonstone", "this would be worth more cut", "", 1000, 73, "items:73", false, false, 0, 12255487, true, false, true, 542));
|
||||
items.add(new ItemDef("Dragonstone ring", "A valuable ring", "", 17625, 123, "items:123", false, false, 0, 12255487, true, false, true, 543));
|
||||
items.add(new ItemDef("Dragonstone ring", "A valuable ring", "", 17625, 123, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 12255487, true, false, true, 543));
|
||||
items.add(new ItemDef("Dragonstone necklace", "I wonder if this is valuable", "", 18375, 57, "items:57", false, true, 1024, 12255487, true, false, true, 544));
|
||||
items.add(new ItemDef("Raw Shark", "I should try cooking this", "", 300, 185, "items:185", false, false, 0, 5263488, true, false, true, 545));
|
||||
items.add(new ItemDef("Shark", "I'd better be careful eating this!", "Eat", 300, 185, "items:185", false, false, 0, 11558912, true, false, true, 546));
|
||||
@@ -3751,7 +3778,7 @@ public class EntityHandler {
|
||||
items.add(new ItemDef("Ring of wealth", "An enchanted ring.", "", 17625, -1, "items:502", false, true, 1200, 12255487, true, false, true, 1318));
|
||||
items.add(new ItemDef("Ring of avarice", "An enchanted ring.", "", 17625, -1, "items:503", false, true, 1200, 12255487, true, false, true, 1319));
|
||||
items.add(new ItemDef("Dwarven ring", "An enchanted ring.", "Check,Break", 400, -1, "items:503", false, true, 1200, 16777124, true, false, true, 1320));
|
||||
items.add(new ItemDef("Opal ring", "A valuable ring", "", 1050, -1, "items:123", false, false, 0, 16777124, false, false, true, 1321));
|
||||
items.add(new ItemDef("Opal ring", "A valuable ring", "", 1050, -1, "items:123", false, Config.S_WANT_CUSTOM_SPRITES, Config.S_WANT_CUSTOM_SPRITES ? 1200 : 0, 16777124, false, false, true, 1321));
|
||||
|
||||
// Wolf masks
|
||||
items.add(new ItemDef("White wolf mask", "Awoooo", "", 1, 86, "items:509", false, true, 32, 16777215, 16777215, false, false, true, 1322));
|
||||
@@ -3892,7 +3919,7 @@ public class EntityHandler {
|
||||
items.add(new ItemDef("Dragon Plate Mail Body", "Provides excellent protection", "", 5000000, -1, "items:498", false, true, 322, 0, false, false, true, 1427));
|
||||
items.add(new ItemDef("Dragon Plate Mail Top", "Armour designed for females", "", 5000000, -1, "items:500", false, true, 322, 0, false, false, true, 1428));
|
||||
items.add(new ItemDef("Dragon Plate Mail Legs", "These look pretty heavy", "", 5000000, -1, "items:499", false, true, 644, 0, false, false, true, 1429));
|
||||
items.add(new ItemDef("Dragon Plated Skirt", "Designer leg protection", "", 5000000, -1, "items:88", false, true, 640, 16711748, false, false, true, 1430));
|
||||
items.add(new ItemDef("Dragon Plated Skirt", "Designer leg protection", "", 5000000, -1, "items:88", false, true, 640, 0x960018, false, false, true, 1430));
|
||||
|
||||
items.add(new ItemDef("White CTF Flag", "White Capture the flag banner", "", 1, -1, "items:554", false, true, 16, 0, false, false, true, 1431));
|
||||
items.add(new ItemDef("Guthix CTF Flag", "Guthix capture the flag banner", "", 1, -1, "items:554", false, true, 16, 4246592, false, false, true, 1432));
|
||||
@@ -3997,7 +4024,7 @@ public class EntityHandler {
|
||||
|
||||
// Halloween 2022
|
||||
items.add(new ItemDef("halloween mask", "aaaarrrghhh ... i'm a monster", "", 15, 284, "items:284", false, true, 32, 16711935, false, false, true, 1515));
|
||||
items.add(new ItemDef("Cape of Inclusion", "A colourful cape made from many different pieces of cloth.", "", 3, -1, "items:pridecape", false, true, 2048, 0xFFFFFF, false, false, true, 1516));
|
||||
items.add(new ItemDef("Cape of Inclusion", "A colourful cape made from many different pieces of cloth.", "", 3, -1, "items:pridecape", false, true, 2048, 0xFFFFFF, false, true, false, 1516));
|
||||
items.add(new ItemDef("halloween mask", "aaaarrrghhh ... i'm a monster", "", 15, 284, "items:284", false, true, 32, 4, false, false, true, 1517));
|
||||
|
||||
// Rest of the skillcapes
|
||||
@@ -4025,6 +4052,78 @@ public class EntityHandler {
|
||||
items.add(new ItemDef("Rune Chain Mail Top", "A series of connected metal rings", "", 50000, -1, "items:595", false, true, 64, 65535, false, false, true, 1536));
|
||||
items.add(new ItemDef("Dragon Scale Mail Top", "A dragon chain mail reinforced with dragon scales", "", 1500000, -1, "items:596", false, true, 64, 0x0000FF, true, false, true, 1537));
|
||||
|
||||
// Custom leather making
|
||||
items.add(new ItemDef("Animal fat", "Thick and gelatinous", "", 0, -1, "items:animalfat", false, false, 0, 0, false, false, true, 1538));
|
||||
items.add(new ItemDef("Treated hide", "I should use this on a fire to dry it", "", 1, -1, "items:treatedhide", false, false, 0, 0, false, false, true, 1539));
|
||||
items.add(new ItemDef("lean bear meat", "I need to cook this first", "", 1, 60, "items:60", false, false, 0, 0xE57C2B, false, false, true, 1540));
|
||||
items.add(new ItemDef("lean rat meat", "I need to cook this first", "", 1, 60, "items:60", false, false, 0, 0xE57C2B, false, false, true, 1541));
|
||||
items.add(new ItemDef("lean beef", "I need to cook this first", "", 1, 60, "items:60", false, false, 0, 0xE57C2B, false, false, true, 1542));
|
||||
|
||||
items.add(new ItemDef("Rune stone certificate", "Each certificate exchangable at Varrock for 5 rune stone", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1543));
|
||||
|
||||
items.add(new ItemDef("Unobtanium", "I should update my client.", "", 17, 70, "items:70", false, false, 0, 0xCC4CFF, false, false, true, 1544));
|
||||
items.add(new ItemDef("Unobtanium", "I should update my client.", "", 17, 70, "items:70", true, false, 0, 0xCC4CFF, false, false, false, 1545));
|
||||
|
||||
items.add(new ItemDef("stat restoration Potion certificate", "Each certificate exchangable at Varrock for 5 stat restore potions", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1546));
|
||||
items.add(new ItemDef("giant carp certificate", "Each certificate exchangable at Varrock for 5 giant carp", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1547));
|
||||
items.add(new ItemDef("Lava eel certificate", "Each certificate exchangable at Varrock for 5 lava eels", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1548));
|
||||
items.add(new ItemDef("Poison antidote certificate", "Each certificate exchangable at Varrock for 5 poison antidote potions", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1549));
|
||||
items.add(new ItemDef("Manta ray certificate", "Each certificate exchangable at Varrock for 5 manta rays", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1550));
|
||||
items.add(new ItemDef("Sea turtle certificate", "Each certificate exchangable at Varrock for 5 sea turtles", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1551));
|
||||
items.add(new ItemDef("Cure poison Potion certificate", "Each certificate exchangable at Varrock for 5 cure poison potions", "", 10, 180, "items:180", true, false, 0, 0, false, false, false, 1552));
|
||||
|
||||
items.add(new ItemDef("Biggum Flodrot", "Biggum Flodrot, goblin hero", "Talk", 0, -1, "items:597", false, false, 0, 0, true, true, false, 1553));
|
||||
|
||||
// Ironman plate tops
|
||||
items.add(new ItemDef("Ironman plate top", "Take it off and what are you?", "", 560, -1, "items:130", false, true, 322, 11189164, false, true, true, 1554));
|
||||
items.add(new ItemDef("Ultimate ironman plate top", "Take it off and what are you?", "", 560, -1, "items:130", false, true, 322, 16768685, false, true, true, 1555));
|
||||
items.add(new ItemDef("Hardcore ironman plate top", "Take it off and what are you?", "", 560, -1, "items:130", false, true, 322, 10027084, false, true, true, 1556));
|
||||
|
||||
// Ironman plated skirts
|
||||
items.add(new ItemDef("Ironman plated skirt", "Take it off and what are you?", "", 280, -1, "items:88", false, true, 644, 0x6F7A70, false, true, true, 1557));
|
||||
items.add(new ItemDef("Ultimate ironman plated skirt", "Take it off and what are you?", "", 280, -1, "items:88", false, true, 644, 0xA69070, false, true, true, 1558));
|
||||
items.add(new ItemDef("Hardcore ironman plated skirt", "Take it off and what are you?", "", 280, -1, "items:88", false, true, 644, 0x640031, false, true, true, 1559));
|
||||
|
||||
// Halloween 2023
|
||||
items.add(new ItemDef("Bonecrusher", "A contraption that crushes bones to dust", "", 0, -1, "items:598", false, false, 0, 0, false, true, false, 1560));
|
||||
items.add(new ItemDef("Chipped pestle and mortar", "The apothecary's old pestle & mortar", "", 4, 147, "items:147", false, false, 0, 0, false, true, false, 1561));
|
||||
items.add(new ItemDef("aluminium bar", "this looks malleable", "", 150, 79, "items:79", false, false, 0, 0xFFFFFF, false, true, true, 1562));
|
||||
items.add(new ItemDef("aluminium cog", "A piece of machinery", "", 150, -1, "items:599", false, false, 0, 0, false, true, true, 1563));
|
||||
items.add(new ItemDef("Wooden box", "A box made of wood", "", 25, -1, "items:600", false, false, 0, 0xFFFFFF, false, true, true, 1564));
|
||||
items.add(new ItemDef("Ring of Skull", "Imbued with the powers of a bonafide skeleton", "", 0, -1, "items:601", false, true, 1200, 0, false, true, false, 1565));
|
||||
items.add(new ItemDef("halloween mask", "aaaarrrghhh ... i'm a monster", "", 15, 284, "items:602", false, true, 32, 65280, false, false, true, 1566));
|
||||
items.add(new ItemDef("Spookie's Bones", "Better do something about these", "", 1, 20, "items:20", false, false, 0, 0, false, true, true, 1567));
|
||||
items.add(new ItemDef("Scarie's Bones", "Better do something about these", "", 1, 20, "items:20", false, false, 0, 0, false, true, true, 1568));
|
||||
items.add(new ItemDef("Lily's Pumpkin", "A pumpkin harvested from Lily's field", "eat", 30, 149, "items:149", false, false, 0, 0, false, false, true, 1569));
|
||||
items.add(new ItemDef("Uncooked Lily's pumpkin pie", "I need to cook this first", "", 1, 112, "items:603", false, false, 0, 16633518, false, false, true, 1570));
|
||||
items.add(new ItemDef("Lily's pumpkin pie", "Mmm a pie made with Lily's pumpkins", "eat", 30, 112, "items:604", false, false, 0, 16633518, false, false, true, 1571));
|
||||
items.add(new ItemDef("Half a Lily's pumpkin pie", "Mmm a pie made with Lily's pumpkins", "eat", 5, 113, "items:605", false, false, 0, 16633518, false, false, true, 1572));
|
||||
|
||||
// Christmas 2023
|
||||
items.add(new ItemDef("Duke Horacio's Journal", "This is a journal not a diary", "read", 1, 28, "items:28", false, false, 0, 0xFF0000, false, true, false, 1573));
|
||||
items.add(new ItemDef("parchment", "I can write on this", "write", 1, 244, "items:244", false, false, 0, 14540253, false, true, false, 1574));
|
||||
items.add(new ItemDef("Apology letter", "A heartfelt apology letter", "read", 1, 244, "items:244", false, false, 0, 14540253, false, true, false, 1575));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x820101, false, true, false, 1576));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0xc3c90e, false, true, false, 1577));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x012c82, false, true, false, 1578));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x6804b5, false, true, false, 1579));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0xcf7602, false, true, false, 1580));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x106105, false, true, false, 1581));
|
||||
items.add(new ItemDef("Party Hat", "Party!!!", "", 2, 189, "items:189", false, true, 32, 1, false, false, true, 1582));
|
||||
items.add(new ItemDef("Santa's hat", "It's a santa claus' hat", "", 160, -1, "items:pinksantahat", false, true, 32, 0, false, false, true, 1583));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x820101, false, true, false, 1584));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0xc3c90e, false, true, false, 1585));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x012c82, false, true, false, 1586));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x6804b5, false, true, false, 1587));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0xcf7602, false, true, false, 1588));
|
||||
items.add(new ItemDef("Christmas sweater", "Knitted with love!", "", 5, 87, "items:christmassweater", false, true, 64, 0x106105, false, true, false, 1589));
|
||||
|
||||
// Custom certificate names
|
||||
if (Config.S_WANT_BANK_NOTES && !Config.S_WANT_CERT_AS_NOTES) {
|
||||
for (int i : new int[]{1543, 1546, 1547, 1548, 1549, 1550, 1551, 1552}) {
|
||||
items.get(i).name = items.get(i).getName() + " (market)";
|
||||
}
|
||||
}
|
||||
|
||||
// Add muddy herb sprite
|
||||
items.get(165).spriteLocation = "items:588";
|
||||
@@ -4720,6 +4819,39 @@ public class EntityHandler {
|
||||
animations.add(new AnimationDef("fchainmail", "equipment", 65535, 0, true, false, 0));//528 rune
|
||||
animations.add(new AnimationDef("fchainmail", "equipment", 3158064, 0, true, false, 0));//529 black
|
||||
animations.add(new AnimationDef("fdragonscalemail", "equipment", 0, 0, true, false, 0));//530
|
||||
animations.add(new AnimationDef("mortimertorso", "equipment", 0, 0, true, false, 0));//531
|
||||
animations.add(new AnimationDef("randolphtorso", "equipment", 0, 0, true, false, 0));//532
|
||||
animations.add(new AnimationDef("biggum", "npc", 0xFFFFFF, 0, true, false, 0));//533
|
||||
|
||||
// Ironman plate tops
|
||||
animations.add(new AnimationDef("fplatemailtop", "equipment", 11189164, 0, true, false, 0)); //534 - ironman plate top
|
||||
animations.add(new AnimationDef("fplatemailtop", "equipment", 16768685, 0, true, false, 0)); //535 - ultimate ironman plate top
|
||||
animations.add(new AnimationDef("fplatemailtop", "equipment", 10027084, 0, true, false, 0)); //536 - hc ironman plate top
|
||||
|
||||
// Ironman plated skirts
|
||||
animations.add(new AnimationDef("armorskirt", "equipment", 11189164, 0, true, false, 0));//537 - ironman plated skirt
|
||||
animations.add(new AnimationDef("armorskirt", "equipment", 16768685, 0, true, false, 0));//538 - ultimate ironman palted skirt
|
||||
animations.add(new AnimationDef("armorskirt", "equipment", 10027084, 0, true, false, 0));//539 - hc ironman plated skirt
|
||||
|
||||
// Halloween 2023
|
||||
animations.add(new AnimationDef("halloweenmask_pink", "equipment", 0, 0, true, false, 0));//540 - pink halloween mask
|
||||
animations.add(new AnimationDef("skeletonmorph", "npc", 16777215, 0, true, false, 0));//541
|
||||
|
||||
// Christmas 2023
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0x820101, 0, true, false, 0));//542 - red
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0xc3c90e, 0, true, false, 0));//543 - yellow
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0x012c82, 0, true, false, 0));//544 - blue
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0x6804b5, 0, true, false, 0));//545 - purple
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0xcf7602, 0, true, false, 0));//546 - orange
|
||||
animations.add(new AnimationDef("christmassweater", "equipment", 0x106105, 0, true, false, 0));//547 - green
|
||||
animations.add(new AnimationDef("partyhat", "equipment", 0x1a1a1a, 0, true, false, 0));//548 - black party hat
|
||||
animations.add(new AnimationDef("pinksantahat", "equipment", 0, 0, true, false, 0));//549 - pink santa hat
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0x820101, 0, true, false, 0));//550 - red
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0xc3c90e, 0, true, false, 0));//551 - yellow
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0x012c82, 0, true, false, 0));//552 - blue
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0x6804b5, 0, true, false, 0));//553 - purple
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0xcf7602, 0, true, false, 0));//554 - orange
|
||||
animations.add(new AnimationDef("fchristmassweater", "equipment", 0x106105, 0, true, false, 0));//555 - green
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6666,7 +6798,7 @@ public class EntityHandler {
|
||||
objects.add(new GameObjectDef("Boulder", "A large boulder blocking the way", "WalkTo", "Smash to pieces", 1, 2, 2, 0, "cave bolder", i++));
|
||||
objects.add(new GameObjectDef("Damaged Earth", "Disturbed earth - it will heal itself in time", "WalkTo", "Examine", 0, 1, 1, 0, "dugupsoil1", i++));
|
||||
objects.add(new GameObjectDef("Ladder", "it's a ladder leading upwards", "Climb-Up", "Examine", 1, 1, 1, 0, "ladder", i++));
|
||||
objects.add(new GameObjectDef("Ladder", "it's a ladder leading downwards", "Climb-Down", "Examine", 1, 1, 1, 0, "ladderdown", i++));
|
||||
objects.add(new GameObjectDef("Ladder", "it's a ladder leading downwards", "Climb-Down", "Examine", 1, 1, 1, 0, "ladderdown", i++)); //1188
|
||||
objects.add(new GameObjectDef("Vine", "A creepy creeper", "Grab", "Examine", 0, 1, 1, 0, "vinejunction", i++));
|
||||
|
||||
//Runecraft Objects
|
||||
@@ -6761,7 +6893,7 @@ public class EntityHandler {
|
||||
objects.add(new GameObjectDef("Depleted corn plant", "A plant that got its produce taken away", "WalkTo", "Examine", 0, 1, 1, 0, "depletedcorn", ++i));
|
||||
objects.add(new GameObjectDef("Snape Grass", "Some interesting snape grass growing here", "Clip", "Examine", 1, 1, 1, 0, "snapegrass", ++i));
|
||||
objects.add(new GameObjectDef("Herb", "I wonder what herb is around", "Clip", "Examine", 1, 1, 1, 0, "herb", ++i));
|
||||
objects.add(new GameObjectDef("Pumpkin", "A pumpkin of autumn", "Collect", "Examine", 0, 1, 1, 0, "pumpkin", ++i));
|
||||
objects.add(new GameObjectDef("Pumpkin", "A pumpkin of autumn", "Harvest", "Examine", 0, 1, 1, 0, "pumpkin", ++i));
|
||||
objects.add(new GameObjectDef("Soil Mound", "A pile of very good soil", "WalkTo", "Examine", 1, 1, 1, 0, "soilmound", ++i));
|
||||
objects.add(new GameObjectDef("Barrel of water", "A barrel filled with filtered water", "WalkTo", "Examine", 1, 1, 1, 0, "barrelwater", ++i));
|
||||
objects.add(new GameObjectDef("Compost Bin", "A bin of compost", "Open", "Examine", 1, 1, 1, 0, "compostbin", ++i));
|
||||
|
||||
@@ -38,7 +38,6 @@ public final class AuctionHouse {
|
||||
|
||||
private boolean visible = false;
|
||||
private int selectedFilter;
|
||||
private String[] resources = {"log", "bones", "pickaxe", "dough"};
|
||||
private int orderingBy = 0;
|
||||
private Comparator<AuctionItem> auctionComparator = (o1, o2) -> {
|
||||
if (orderingBy == 0) { /* price down */
|
||||
@@ -668,41 +667,49 @@ public final class AuctionHouse {
|
||||
continue;
|
||||
} else if (selectedFilter == 2 && ((24 & def.wearableID) != 0 || !def.isWieldable()) && !itemName.contains("shield")) {
|
||||
continue;
|
||||
} else if (selectedFilter == 3) {
|
||||
} else if (selectedFilter == 3) { // Consumable
|
||||
commandFilter = new String[]{"drink", "eat"};
|
||||
nameFilter = new String[]{"raw"};
|
||||
} else if (selectedFilter == 4) {
|
||||
nameFilter = new String[]{"-rune", "arrow", "bolt"};
|
||||
} else if (selectedFilter == 5) {
|
||||
nameFilter = new String[]{"uncut", "sapphire", "emerald", "ruby", "diamond", "dragonstone"};
|
||||
} else if (selectedFilter == 4) { // Projectile
|
||||
nameFilter = new String[]{"-rune", "arrow", "bolt", "rune stone"};
|
||||
} else if (selectedFilter == 5) { // Jewelry
|
||||
nameFilter = new String[]{"uncut", "sapphire", "emerald", "ruby", "diamond", "dragonstone", "crown"};
|
||||
exactNameFilter = new String[]{"opal", "jade", "amulet of accuracy", "gold amulet", "brass necklace",
|
||||
"gold necklace", "holy symbol of saradomin", "unblessed holy symbol", "ring of wealth",
|
||||
"ring of avarice", "ring of recoil", "ring of forging", "ring of splendor", "dwarven ring"};
|
||||
} else if (selectedFilter == 6) {
|
||||
"ring of avarice", "ring of recoil", "ring of forging", "ring of splendor",
|
||||
"dwarven ring", "ring of life"};
|
||||
} else if (selectedFilter == 6) { // Ore and Bar
|
||||
nameFilter = new String[]{" ore", "coal", "bar", "clay"};
|
||||
exactNameFilter = new String[]{"gold", "silver", "silver certificate", "gold certificate"};
|
||||
} else if (selectedFilter == 7) {
|
||||
} else if (selectedFilter == 7) { // Herblaw
|
||||
commandFilter = new String[]{"identify"};
|
||||
nameFilter = new String[]{"unfinished", "vial", "weed", "ground", "root", "scale"};
|
||||
exactNameFilter = new String[]{"Guam Leaf", "Marrentill", "Tarromin", "Harralander", "Irit leaf",
|
||||
"Avantoe", "Kwuarm", "Cadantine", "Torstol", "Pestle and mortar", "Eye of newt", "Jangerberries",
|
||||
"Red spiders eggs", "White berries", "Snape grass", "Wine of zamorak"};
|
||||
} else if (selectedFilter == 8) {
|
||||
nameFilter = new String[]{"halloween", "bunny", "party", "pumpkin", "easter", "scythe", "cracker"};
|
||||
exactNameFilter = new String[]{"Disc of returning", "santa's hat"};
|
||||
nameFilter = new String[]{"unfinished", "vial", "weed", "ground", "root", "wine of",
|
||||
"dragonfruit", "coconut"};
|
||||
exactNameFilter = new String[]{"guam Leaf", "marrentill", "tarromin", "harralander", "irit leaf",
|
||||
"avantoe", "kwuarm", "cadantine", "torstol", "pestle and mortar", "eye of newt", "jangerberries",
|
||||
"red spiders eggs", "white berries", "snape grass", "blue dragon scale", "fish oil",
|
||||
"unicorn horn", "grapes"};
|
||||
} else if (selectedFilter == 8) { // Rare
|
||||
nameFilter = new String[]{"halloween", "christmas", "bunny", "party", "easter", "scythe", "cracker",
|
||||
"santa's", "mask", "antlers"};
|
||||
exactNameFilter = new String[]{"disc of returning", "pumpkin", "present", "rubber chicken cap",
|
||||
"half full wine jug", "rune spear", "star cookie", "cane cookie", "glass of milk", "tree cookie"};
|
||||
}
|
||||
if (selectedFilter == 9) {
|
||||
nameFilter = resources;
|
||||
if (selectedFilter == 9) { // Misc
|
||||
nameFilter = new String[]{"log", "bones", "pickaxe", "dough", "bead", "key", "mould",
|
||||
"hatchet", "watering can"};
|
||||
exactNameFilter = new String[]{
|
||||
"fur", "leather", "wool", "bow string", "flax", "cow hide",
|
||||
"knife", "egg", "bucket", "milk", "flour", "skull", "grain",
|
||||
"needle", "thread", "holy", "water", "cadavaberries",
|
||||
"pot", "jug", "grapes", "shears", "tinderbox",
|
||||
"pot", "bowl", "pie dish", "jug", "grapes", "shears", "tinderbox",
|
||||
"chisel", "hammer", "ashes", "apron", "chef's hat", "skirt", "silk",
|
||||
"flier", "garlic", "redberries", "rope", "bad wine", "cape",
|
||||
"flier", "garlic", "redberries", "rope", "bad wine", "cape", "mixing bowl",
|
||||
"eye of newt", "lobster pot", "net", "fishing rod", "fly fishing rod", "harpoon",
|
||||
"fishing bait", "feather"
|
||||
};
|
||||
"fishing bait", "feather", "hand shovel", "herb clippers", "fruit picker",
|
||||
"redberry pie", "broken shield", "king black dragon scale", "chipped dragon scale",
|
||||
"dragon metal chain", "bronze axe", "iron axe", "steel axe", "black axe", "mithril axe",
|
||||
"adamantite axe", "rune axe" };
|
||||
}
|
||||
boolean skip = true;
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ public final class CustomBankInterface extends BankInterface {
|
||||
private int x, y;
|
||||
private int[] bankItemSelector = {0, 0, 40, 80, 120, 160, 200};
|
||||
private BankTabShow bankTabShow = BankTabShow.FIRST_ITEM_IN_TAB;
|
||||
private long totalWealth;
|
||||
|
||||
public CustomBankInterface(mudclient mc) {
|
||||
super(mc);
|
||||
@@ -107,7 +108,8 @@ public final class CustomBankInterface extends BankInterface {
|
||||
mc.getSurface().drawBoxAlpha(x, y + 21, width, 309, colour, 160);
|
||||
mc.getSurface().drawBoxBorder(x, width, y, 331, 0x000000);
|
||||
|
||||
drawString("The Bank of " + Config.SERVER_NAME, x + 196, y + 15, 1, 0xFFFFFF);
|
||||
int wealthLength = String.valueOf(totalWealth).length();
|
||||
drawString("Total wealth: " + this.totalWealth + " gp", x + (196 - (4 * wealthLength)), y + 15, 1, 0xFFFF00);
|
||||
|
||||
int j3 = 0xFFFFFF;
|
||||
if (mc.getMouseX() > x + 415 && mc.getMouseY() >= y && mc.getMouseX() < x + width && mc.getMouseY() < y + 12 + 9) {
|
||||
@@ -1425,6 +1427,26 @@ public final class CustomBankInterface extends BankInterface {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate the value of the player's tradeable items
|
||||
*/
|
||||
public void calculateWealth() {
|
||||
long totalWealth = 0;
|
||||
for (BankItem item : bankItems) {
|
||||
// Get the item's definition
|
||||
ItemDef itemDef = item.getItem().getItemDef();
|
||||
int amount = item.getItem().getAmount();
|
||||
|
||||
if (itemDef == null) continue;
|
||||
|
||||
if (!itemDef.untradeable) {
|
||||
totalWealth += (itemDef.getBasePrice() * amount);
|
||||
}
|
||||
}
|
||||
|
||||
this.totalWealth = totalWealth;
|
||||
}
|
||||
|
||||
public static class Preset {
|
||||
public Item[] inventory;
|
||||
public Item[] equipment;
|
||||
|
||||
@@ -10,7 +10,7 @@ public final class ExperienceConfigInterface {
|
||||
public Panel experienceConfig;
|
||||
public int experienceConfigScroll;
|
||||
public boolean selectSkillMenu = false;
|
||||
int width = 350, height = 195;
|
||||
int width = 350, height = 225;
|
||||
private boolean visible = false;
|
||||
private mudclient mc;
|
||||
private int panelColour, textColour, bordColour, lineColour;
|
||||
@@ -143,29 +143,41 @@ public final class ExperienceConfigInterface {
|
||||
Config.C_EXPERIENCE_COUNTER_COLOR = 4;
|
||||
}
|
||||
});
|
||||
this.drawButton(x + 145, y + 135, 50, 20, "@pin@Pink", 2, Config.C_EXPERIENCE_COUNTER_COLOR == 5 ? true : false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_COUNTER_COLOR = 5;
|
||||
}
|
||||
});
|
||||
this.drawButton(x + 205, y + 135, 50, 20, "@mag@Magenta", 2, Config.C_EXPERIENCE_COUNTER_COLOR == 6 ? true : false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_COUNTER_COLOR = 6;
|
||||
}
|
||||
});
|
||||
|
||||
this.drawString("Speed: ", x + 10, y + 150, 3, textColour);
|
||||
this.drawButton(x + 105, y + 135, 50, 20, "Slow", 2, Config.C_EXPERIENCE_DROP_SPEED == 0 ? true : false, new ButtonHandler() {
|
||||
this.drawString("Speed: ", x + 10, y + 180, 3, textColour);
|
||||
this.drawButton(x + 105, y + 165, 50, 20, "Slow", 2, Config.C_EXPERIENCE_DROP_SPEED == 0 ? true : false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_DROP_SPEED = 0;
|
||||
}
|
||||
});
|
||||
this.drawButton(x + 175, y + 135, 50, 20, "Medium", 2, Config.C_EXPERIENCE_DROP_SPEED == 1 ? true : false, new ButtonHandler() {
|
||||
this.drawButton(x + 175, y + 165, 50, 20, "Medium", 2, Config.C_EXPERIENCE_DROP_SPEED == 1 ? true : false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_DROP_SPEED = 1;
|
||||
}
|
||||
});
|
||||
this.drawButton(x + 245, y + 135, 50, 20, "Fast", 2, Config.C_EXPERIENCE_DROP_SPEED == 2 ? true : false, new ButtonHandler() {
|
||||
this.drawButton(x + 245, y + 165, 50, 20, "Fast", 2, Config.C_EXPERIENCE_DROP_SPEED == 2 ? true : false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_DROP_SPEED = 2;
|
||||
}
|
||||
});
|
||||
|
||||
this.drawString("Controls: ", x + 10, y + 180, 3, textColour);
|
||||
this.drawButton(x + 135, y + 165, 50, 20, "Reset", 2, false, new ButtonHandler() {
|
||||
this.drawString("Controls: ", x + 10, y + 210, 3, textColour);
|
||||
this.drawButton(x + 135, y + 195, 50, 20, "Reset", 2, false, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
long time = System.currentTimeMillis();
|
||||
@@ -182,7 +194,7 @@ public final class ExperienceConfigInterface {
|
||||
|
||||
}
|
||||
});
|
||||
this.drawButton(x + 200, y + 165, 60, 20, "Submenu", 2, Config.C_EXPERIENCE_CONFIG_SUBMENU, new ButtonHandler() {
|
||||
this.drawButton(x + 200, y + 195, 60, 20, "Submenu", 2, Config.C_EXPERIENCE_CONFIG_SUBMENU, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
Config.C_EXPERIENCE_CONFIG_SUBMENU = Config.C_EXPERIENCE_CONFIG_SUBMENU == false ? true : false;
|
||||
|
||||
@@ -15,19 +15,19 @@ public final class IronManInterface {
|
||||
private boolean deactivationMenu = false;
|
||||
private boolean visible;
|
||||
private mudclient mc;
|
||||
private String[] ironManTitle = {"Standard Iron Man", "Hardcore Iron Man", "Ultimate Iron Man", "None"};
|
||||
private String[] ironManTitle = {"Standard Ironman", "Hardcore Ironman", "Ultimate Ironman", "None"};
|
||||
private String[] ironManDescription =
|
||||
{
|
||||
"An Iron Man cannot trade, stake, receive PK loot, scavenge dropped items, nor play certain multiplayer minigames.",
|
||||
"In addition to the standard Iron Man rules, a Hardcore Iron Man only has 1 life. A dangerous death will result in being downgraded to a standard Iron Man.",
|
||||
"In addition to the standard Iron Man rules, an Ultimate Iron Man cannot use banks, nor retain any items on death in dangerous areas.",
|
||||
"- No Iron Man restrictions will apply to this account."
|
||||
"An Ironman cannot trade, stake, receive PK loot, scavenge dropped items, nor play certain multiplayer minigames.",
|
||||
"In addition to the standard Ironman rules, a Hardcore Ironman only has 1 life. A dangerous death will result in being downgraded to a standard Ironman.",
|
||||
"In addition to the standard Ironman rules, an Ultimate Ironman cannot use banks, nor retain any items on death in dangerous areas.",
|
||||
"- No Ironman restrictions will apply to this account."
|
||||
};
|
||||
private String[] restrictionTitle = {"PIN", "Permanent"};
|
||||
private String[] restrictionDesc =
|
||||
{
|
||||
"You must enter your Bank Pin to request that Iron Man restrictions be removed.",
|
||||
"- The Iron Man restrictions can never be removed."
|
||||
"You must enter your Bank Pin to request that Ironman restrictions be removed.",
|
||||
"- The Ironman restrictions can never be removed."
|
||||
};
|
||||
private int[] order = {3, 0, 2, 1};
|
||||
private int[] selectMode = {1, 3, 2, 0};
|
||||
@@ -78,14 +78,14 @@ public final class IronManInterface {
|
||||
graphics.drawBoxAlpha(x, y, width, height, 0x483E33, 255);
|
||||
graphics.drawLineHoriz(x, y + 24, width, 0x2A2926);
|
||||
graphics.drawBoxBorder(x, width, y, height, 0x2A2926);
|
||||
graphics.drawColoredStringCentered(mc.getGameWidth() / 2, "Iron Man Setup", 0xFF981F, 0, 3, y + 17);
|
||||
graphics.drawColoredStringCentered(mc.getGameWidth() / 2, "Ironman Setup", 0xFF981F, 0, 3, y + 17);
|
||||
|
||||
//content box
|
||||
graphics.drawBoxAlpha(x + 5, y + 29, 380, 185, 0x534A3F, 255);
|
||||
graphics.drawBoxBorder(x + 5, 380, y + 29, 185, 0x777775);
|
||||
graphics.drawLineHoriz(x + 5, y + 48, 380, 0x777775);
|
||||
graphics.drawLineHoriz(x + 5, y + 49, 380, 0x777775);
|
||||
graphics.drawColoredStringCentered(mc.getGameWidth() / 2 - 46, "Iron Man Mode", 0xFFFFFF, 0, 2, y + 43);
|
||||
graphics.drawColoredStringCentered(mc.getGameWidth() / 2 - 46, "Ironman Mode", 0xFFFFFF, 0, 2, y + 43);
|
||||
|
||||
|
||||
//deactivation box
|
||||
@@ -163,7 +163,7 @@ public final class IronManInterface {
|
||||
}
|
||||
}
|
||||
|
||||
drawClickBox(graphics, drawBoxX + 5, drawBoxY + 58, 250, 222, 34, " Deactivation settings", titleY - 3, "Set restrictions on deactivating or downgrading your Iron Man status.", descX - 5, descY + 10, new ButtonHandler() {
|
||||
drawClickBox(graphics, drawBoxX + 5, drawBoxY + 58, 250, 222, 34, " Deactivation settings", titleY - 3, "Set restrictions on deactivating or downgrading your Ironman status.", descX - 5, descY + 10, new ButtonHandler() {
|
||||
@Override
|
||||
void handle() {
|
||||
if (getIronManMode() >= 1 && getIronManMode() <= 3) {
|
||||
|
||||
@@ -300,16 +300,19 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(546, "", "Shark - Heals 20"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1193, "", "Sea Turtle - Heals 20"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1191, "", "Manta Ray - Heals 20"));
|
||||
} else if (curTab == 1) { // Pies
|
||||
skillMenuEntries.add(new SkillMenuItem(258, "", "Redberry Pie - Heals 6 (3 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(259, "", "Meat Pie - Heals 8 (4 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(257, "", "Apple Pie - Heals 10 (5 per slice)"));
|
||||
} else if (curTab == 1) { // Pizzas
|
||||
skillMenuEntries.add(new SkillMenuItem(325, "", "Plain Pizza - Heals 11"));
|
||||
skillMenuEntries.add(new SkillMenuItem(326, "", "Meat Pizza - Heals 14 (7 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(327, "", "Anchovie Pizza - Heals 16 (8 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(750, "", "Pineapple Pizza - Heals 20 (10 per slice)"));
|
||||
} else if (curTab == 2) { // Pies
|
||||
skillMenuEntries.add(new SkillMenuItem(258, "", "Redberry Pie - Heals 6 (3 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(259, "", "Meat Pie - Heals 8 (4 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(257, "", "Apple Pie - Heals 10 (5 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1571, "", "Lily's pumpkin pie - Heals 12 (6 per slice)"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1490, "", "Pumkpin pie - Heals 24 (12 per slice)"));
|
||||
} else if (curTab == 2) { // Produce
|
||||
skillMenuEntries.add(new SkillMenuItem(1492, "", "White pumkpin pie - Heals 24 (12 per slice)"));
|
||||
} else if (curTab == 3) { // Produce
|
||||
skillMenuEntries.add(new SkillMenuItem(18, "", "Cabbage - Heals 1"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1352, "", "Red Cabbage - Heals 1"));
|
||||
skillMenuEntries.add(new SkillMenuItem(765, "", "Dwellberries - Heals 1"));
|
||||
@@ -334,9 +337,10 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(1245, "", "Edible seaweed - Heals 4"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1348, "", "red apple - Heals 4"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1353, "", "Corn - Heals 6"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1569, "", "Lily's Pumpkin - Heals 7"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1350, "", "papaya - Heals 8"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1354, "", "White Pumpkin - Heals 10"));
|
||||
} else if (curTab == 3) { // Gnome Food
|
||||
} else if (curTab == 4) { // Gnome Food
|
||||
skillMenuEntries.add(new SkillMenuItem(897, "", "King worm - Heals 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(896, "", "Toad legs - Heals 3"));
|
||||
skillMenuEntries.add(new SkillMenuItem(911, "", "Choc crunchies - Heals 7"));
|
||||
@@ -352,7 +356,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(909, "", "Worm hole - Heals 12"));
|
||||
skillMenuEntries.add(new SkillMenuItem(907, "", "Chocolate bomb - Heals 15"));
|
||||
skillMenuEntries.add(new SkillMenuItem(910, "", "Tangled toads legs - Heals 15"));
|
||||
} else if (curTab == 4) { // Drinks
|
||||
} else if (curTab == 5) { // Drinks
|
||||
skillMenuEntries.add(new SkillMenuItem(193, "", "Beer - Heals 1"));
|
||||
skillMenuEntries.add(new SkillMenuItem(269, "", "Dwarven Stout - Heals 1"));
|
||||
skillMenuEntries.add(new SkillMenuItem(830, "", "Greenmans ale - Heals 1"));
|
||||
@@ -374,7 +378,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(879, "", "pineapple punch - Heals 9"));
|
||||
skillMenuEntries.add(new SkillMenuItem(142, "", "wine - Heals 11"));
|
||||
skillMenuEntries.add(new SkillMenuItem(737, "", "Poison chalice - ???"));
|
||||
} else if (curTab == 5) { // Other
|
||||
} else if (curTab == 6) { // Other
|
||||
if (runecraft) skillMenuEntries.add(new SkillMenuItem(1410, "", "Fish oil - 50% chance to heal 1"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1459, "", "Sweetened Slices - Heals 1 or 2"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1460, "", "Sweetened Chunks - Heals 1 or 2"));
|
||||
@@ -553,6 +557,9 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(258, "10", "Redberry Pie"));
|
||||
skillMenuEntries.add(new SkillMenuItem(259, "20", "Meat Pie"));
|
||||
skillMenuEntries.add(new SkillMenuItem(257, "30", "Apple Pie"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1571, "40", "Lily's pumpkin pie"));
|
||||
if (Config.S_WANT_CUSTOM_SPRITES) skillMenuEntries.add(new SkillMenuItem(1490, "80", "Pumpkin pie"));
|
||||
if (harvesting) skillMenuEntries.add(new SkillMenuItem(1492, "80", "White pumpkin pie"));
|
||||
} else if (curTab == 3) {
|
||||
skillMenuEntries.add(new SkillMenuItem(346, "25", "Stew"));
|
||||
skillMenuEntries.add(new SkillMenuItem(709, "60", "Curry"));
|
||||
@@ -601,7 +608,6 @@ public final class SkillGuideInterface {
|
||||
} else if (curTab == 1) {
|
||||
skillMenuEntries.add(new SkillMenuItem(405, "1", "All axes"));
|
||||
} else if (curTab == 2) {
|
||||
skillMenuEntries.add(new SkillMenuItem(88, "", "Woodcutting Guild (Coming soon)"));
|
||||
if (Config.S_WANT_CUSTOM_SPRITES) {
|
||||
skillMenuEntries.add(new SkillMenuItem(1525, "99", "Woodcutting Cape"));
|
||||
}
|
||||
@@ -791,6 +797,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(108, "7", "Bronze Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1076, "7", "Bronze Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(124, "8", "Bronze Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1418, "9", "Bronze Chaim Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(205, "10", "Bronze Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(113, "11", "Bronze Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(128, "12", "Bronze Kiteshields - 3 Bars"));
|
||||
@@ -811,6 +818,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(6, "22", "Iron Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1075, "22", "Iron Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(3, "23", "Iron Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1419, "23", "Iron Chain Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(89, "25", "Iron Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(7, "26", "Iron Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(2, "27", "Iron Kiteshields - 3 Bars"));
|
||||
@@ -833,6 +841,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(109, "37", "Steel Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1077, "37", "Steel Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(125, "38", "Steel Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1420, "39", "Steel Chain Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(90, "40", "Steel Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(114, "41", "Steel Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(129, "42", "Steel Kiteshields - 3 Bars"));
|
||||
@@ -853,6 +862,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(110, "57", "Mithril Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1078, "57", "Mithril Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(126, "58", "Mithril Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1421, "59", "Mithril Chain Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(91, "60", "Mithril Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(115, "61", "Mithril Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(130, "62", "Mithril Kiteshields - 3 Bars"));
|
||||
@@ -869,10 +879,11 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(1066, "74", "Adamantite Dart Tips - 1 Bar makes 7"));
|
||||
skillMenuEntries.add(new SkillMenuItem(86, "75", "Adamant Scimitars - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(673, "75", "Adamant Arrowheads - 1 Bar makes 10"));
|
||||
skillMenuEntries.add(new SkillMenuItem(71, "76", "Adamant Longswords - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(74, "76", "Adamant Longswords - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(111, "77", "Adamant Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1079, "77", "Adamant Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(127, "78", "Adamant Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1422, "79", "Adamant Chain Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(92, "80", "Adamant Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(116, "81", "Adamant Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(131, "82", "Adamant Kiteshields - 3 Bars"));
|
||||
@@ -893,6 +904,7 @@ public final class SkillGuideInterface {
|
||||
skillMenuEntries.add(new SkillMenuItem(112, "92", "Rune Full Helms - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1080, "92", "Rune Throwing Knives - 1 Bar makes 2"));
|
||||
skillMenuEntries.add(new SkillMenuItem(403, "93", "Rune Square Shields - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(1423, "94", "Rune Chain Mail Legs - 2 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(93, "95", "Rune Battleaxes - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(400, "96", "Rune Chainbodies - 3 Bars"));
|
||||
skillMenuEntries.add(new SkillMenuItem(404, "97", "Rune Kiteshields - 3 Bars"));
|
||||
|
||||
@@ -3,9 +3,9 @@ package com.openrsc.interfaces.misc.clan;
|
||||
import orsc.mudclient;
|
||||
|
||||
public class Clan {
|
||||
public String[] username = new String[25];
|
||||
public int[] clanRank = new int[25];
|
||||
public int[] onlineClanMember = new int[25];
|
||||
public String[] username = new String[200];
|
||||
public int[] clanRank = new int[200];
|
||||
public int[] onlineClanMember = new int[200];
|
||||
public boolean[] allowed = new boolean[2];
|
||||
private boolean inClan;
|
||||
private String clanName;
|
||||
|
||||
@@ -18,7 +18,7 @@ public class Config {
|
||||
public static String WELCOME_TEXT = "You need a members account to use this server";
|
||||
public static String SERVER_IP = null; // Modify this to override "Cache/ip.txt"
|
||||
public static int SERVER_PORT; // Modify SERVER_IP above to override "Cache/port.txt" with this value
|
||||
public static final int CLIENT_VERSION = 10009;
|
||||
public static final int CLIENT_VERSION = 10069;
|
||||
private static final int CACHE_VERSION = 4;
|
||||
public static boolean MEMBER_WORLD = false;
|
||||
public static boolean DISPLAY_LOGO_SPRITE = false;
|
||||
@@ -35,7 +35,8 @@ public class Config {
|
||||
|
||||
/* Configurable: */
|
||||
public static boolean C_EXPERIENCE_DROPS = false;
|
||||
public static boolean C_NPC_KC = false;
|
||||
public static boolean C_TOTAL_NPC_KC = false;
|
||||
public static boolean C_RECENT_NPC_KC = false;
|
||||
public static boolean C_BATCH_PROGRESS_BAR = false;
|
||||
public static boolean C_HIDE_ROOFS = false;
|
||||
public static boolean C_HIDE_FOG = false;
|
||||
@@ -89,7 +90,7 @@ public class Config {
|
||||
public static boolean S_WANT_EQUIPMENT_TAB = false;
|
||||
public static boolean S_WANT_BANK_PRESETS = false;
|
||||
public static boolean S_WANT_LEFTCLICK_WEBS = false;
|
||||
public static boolean S_NPC_KILL_MESSAGES = false;
|
||||
public static boolean S_NPC_KILL_COUNTERS = false;
|
||||
// if you change these, and the config file,
|
||||
// they will also change the options menu to
|
||||
// 2-tabs (3 on android). (Not enough room for
|
||||
@@ -146,6 +147,7 @@ public class Config {
|
||||
public static boolean S_WANT_OPENPK_PRESETS = false;
|
||||
public static boolean S_DISABLE_MINIMAP_ROTATION = true;
|
||||
public static boolean S_ALLOW_BEARDED_LADIES = false;
|
||||
public static boolean S_PRIDE_MONTH = false;
|
||||
|
||||
public static void set(String key, Object value) {
|
||||
prop.setProperty(key, value.toString());
|
||||
|
||||
@@ -12,6 +12,9 @@ import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* The class used to initialise and set user status on Discord.
|
||||
*/
|
||||
public class Discord {
|
||||
|
||||
public static DiscordEventHandlers discord;
|
||||
@@ -26,6 +29,11 @@ public class Discord {
|
||||
private static ScheduledFuture scheduled;
|
||||
private static String lastUpdate = "Open source RSC MMO";
|
||||
|
||||
/**
|
||||
* Write whether or not Discord is currently in use. This prevents race conditions when multiple clients are
|
||||
* initialised at the same time.
|
||||
* @param inuse Status to set.
|
||||
*/
|
||||
public static void setInUse(final boolean inuse) {
|
||||
try {
|
||||
Files.write(Paths.get(Config.F_CACHE_DIR + File.separator + "discord_inuse.txt"), (inuse ? "1" : "0").getBytes());
|
||||
@@ -33,6 +41,10 @@ public class Discord {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get lockfile status.
|
||||
* @return True if Discord is already initialised.
|
||||
*/
|
||||
public static boolean getInUse() {
|
||||
try {
|
||||
final String read = Files.readAllLines(Paths.get(Config.F_CACHE_DIR + File.separator + "discord_inuse.txt")).get(0);
|
||||
@@ -43,6 +55,9 @@ public class Discord {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Task to check for Discord presence.
|
||||
*/
|
||||
static class PresenceCheck implements Runnable {
|
||||
public void run() {
|
||||
// discord natives not in use and have not started discord
|
||||
@@ -70,6 +85,9 @@ public class Discord {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize an instance of Discord.
|
||||
*/
|
||||
public static void InitalizeDiscord() {
|
||||
// users may (likely) have multiple instances of the game open at once
|
||||
// so we have to run a timer task to only have one initialized at a time
|
||||
@@ -79,6 +97,9 @@ public class Discord {
|
||||
scheduled = scheduledExecutorService.scheduleAtFixedRate(presenceTask, 0L, 15L, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Task to update Discord status.
|
||||
*/
|
||||
static class DiscordUpdate implements Runnable {
|
||||
public void run() {
|
||||
DiscordRPC.discordRunCallbacks();
|
||||
@@ -91,6 +112,10 @@ public class Discord {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set status message on Discord.
|
||||
* @param update Message content.
|
||||
*/
|
||||
public static void setLastUpdate(String update) {
|
||||
lastUpdate = update;
|
||||
}
|
||||
|
||||
@@ -708,6 +708,36 @@ public class ORSCApplet extends Applet implements MouseListener, MouseMotionList
|
||||
return "../OpenRSC/";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Sprite getBattery(int level) {
|
||||
// This would be needed to be implemented if was desired to display Battery Status Icon
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBatteryPercent() {
|
||||
// This would be needed to be implemented if was desired to display Battery Percent
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getBatteryCharging() {
|
||||
// This would be needed to be implemented if was desired to display Battery Charging
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Sprite getConnectivity(int level) {
|
||||
// This would be needed to be implemented if was desired to display Network Connectivity Status Icon
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConnectivityText() {
|
||||
// This would be needed to be implemented if was desired to display Network Connectivity Status Text
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resized() {
|
||||
imageProducer.setDimensions(mudclient.getSurface().width2, mudclient.getSurface().height2);
|
||||
|
||||
@@ -428,8 +428,11 @@ public class PacketHandler {
|
||||
}
|
||||
|
||||
// Kills2
|
||||
else if (opcode == 147)
|
||||
mc.setStatKills2(packetsIncoming.getShort());
|
||||
else if (opcode == 147) {
|
||||
mc.setStatKills2(packetsIncoming.get32());
|
||||
mc.setLastNpcKilledId(packetsIncoming.get32());
|
||||
mc.setStatKills3(packetsIncoming.get32());
|
||||
}
|
||||
|
||||
else if (opcode == 148) // Set OpenPK Points
|
||||
mc.setPoints(packetsIncoming.getLong(0));
|
||||
@@ -939,10 +942,10 @@ public class PacketHandler {
|
||||
int wantDecanting, wantCertsToBank, wantCustomRankDisplay, wantRightClickBank, wantPlayerCommands;
|
||||
int getFPS, wantEmail, wantRegistrationLimit, allowResize, lenientContactDetails, wantFatigue, wantCustomSprites;
|
||||
int fishingSpotsDepletable, improvedItemObjectNames, wantRunecraft, wantCustomLandscape, wantEquipmentTab;
|
||||
int wantBankPresets, wantParties, miningRocksExtended, movePerFrame, wantLeftclickWebs, npcKillMessages;
|
||||
int wantBankPresets, wantParties, miningRocksExtended, movePerFrame, wantLeftclickWebs, npcKillCounters;
|
||||
int wantCustomUI, wantGlobalFriend, characterCreationMode, skillingExpRate, wantHarvesting, hideLoginBox;
|
||||
int globalFriendChat, wantRightClickTrade, featuresSleep, wantExtendedCatsBehavior, wantCertAsNotes, wantOpenPkPoints, openPkPointsToGpRatio, wantOpenPkPresets;
|
||||
int disableMinimapRotation, allowBeardedLadies;
|
||||
int disableMinimapRotation, allowBeardedLadies, prideMonth;
|
||||
|
||||
String logoSpriteID;
|
||||
|
||||
@@ -1014,7 +1017,7 @@ public class PacketHandler {
|
||||
miningRocksExtended = this.getClientStream().getUnsignedByte(); //65
|
||||
movePerFrame = this.getClientStream().getByte(); //66
|
||||
wantLeftclickWebs = this.getClientStream().getByte(); //67
|
||||
npcKillMessages = this.getClientStream().getByte(); //68
|
||||
npcKillCounters = this.getClientStream().getByte(); //68
|
||||
wantCustomUI = this.getClientStream().getUnsignedByte(); //69
|
||||
wantGlobalFriend = this.getClientStream().getUnsignedByte(); //70
|
||||
characterCreationMode = this.getClientStream().getUnsignedByte(); //71
|
||||
@@ -1032,6 +1035,7 @@ public class PacketHandler {
|
||||
showUndergroundFlickerToggle = this.getClientStream().getUnsignedByte(); // 83
|
||||
disableMinimapRotation = this.getClientStream().getUnsignedByte(); // 84
|
||||
allowBeardedLadies = this.getClientStream().getUnsignedByte(); // 85
|
||||
prideMonth = this.getClientStream().getUnsignedByte(); // 86
|
||||
} else {
|
||||
serverName = packetsIncoming.readString(); // 1
|
||||
serverNameWelcome = packetsIncoming.readString(); // 2
|
||||
@@ -1100,7 +1104,7 @@ public class PacketHandler {
|
||||
miningRocksExtended = packetsIncoming.getUnsignedByte(); //65
|
||||
movePerFrame = packetsIncoming.getByte(); //66
|
||||
wantLeftclickWebs = packetsIncoming.getByte(); //67
|
||||
npcKillMessages = packetsIncoming.getByte(); //68
|
||||
npcKillCounters = packetsIncoming.getByte(); //68
|
||||
wantCustomUI = packetsIncoming.getUnsignedByte(); //69
|
||||
wantGlobalFriend = packetsIncoming.getUnsignedByte(); //70
|
||||
characterCreationMode = packetsIncoming.getUnsignedByte(); //71
|
||||
@@ -1118,6 +1122,7 @@ public class PacketHandler {
|
||||
showUndergroundFlickerToggle = packetsIncoming.getUnsignedByte(); // 83
|
||||
disableMinimapRotation = packetsIncoming.getUnsignedByte(); // 84
|
||||
allowBeardedLadies = packetsIncoming.getUnsignedByte(); // 85
|
||||
prideMonth = packetsIncoming.getUnsignedByte(); // 86
|
||||
}
|
||||
|
||||
if (Config.DEBUG) {
|
||||
@@ -1189,7 +1194,7 @@ public class PacketHandler {
|
||||
"\nS_MINING_ROCKS_EXTENDED " + miningRocksExtended + // 65
|
||||
"\nC_MOVE_PER_FRAME " + movePerFrame + // 66
|
||||
"\nS_WANT_LEFTCLICK_WEBS " + wantLeftclickWebs + // 67
|
||||
"\nS_NPC_KILL_MESSAGES " + npcKillMessages + // 68
|
||||
"\nS_NPC_KILL_COUNTERS " + npcKillCounters + // 68
|
||||
"\nS_WANT_CUSTOM_UI " + wantCustomUI + // 69
|
||||
"\nS_WANT_GLOBAL_FRIEND" + wantGlobalFriend + // 70
|
||||
"\nS_CHARACTER_CREATION_MODE" + characterCreationMode + // 71
|
||||
@@ -1206,7 +1211,8 @@ public class PacketHandler {
|
||||
"\nS_WANT_OPENPK_PRESETS " + wantOpenPkPresets + // 82
|
||||
"\nS_SHOW_UNDERGROUND_FLICKER_TOGGLE " + showUndergroundFlickerToggle + // 83
|
||||
"\nS_DISABLE_MINIMAP_ROTATION " + disableMinimapRotation + // 84
|
||||
"\nS_ALLOW_BEARDED_LADIES " + allowBeardedLadies // 85
|
||||
"\nS_ALLOW_BEARDED_LADIES " + allowBeardedLadies + // 85
|
||||
"\nS_PRIDE_MONTH " + prideMonth // 86
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1281,7 +1287,7 @@ public class PacketHandler {
|
||||
props.setProperty("S_MINING_ROCKS_EXTENDED", miningRocksExtended == 1 ? "true" : "false"); //65
|
||||
props.setProperty("C_MOVE_PER_FRAME", String.valueOf(movePerFrame)); //66
|
||||
props.setProperty("S_WANT_LEFTCLICK_WEBS", wantLeftclickWebs == 1 ? "true" : "false"); //67
|
||||
props.setProperty("S_NPC_KILL_MESSAGES", npcKillMessages == 1 ? "true" : "false"); //68
|
||||
props.setProperty("S_NPC_KILL_COUNTERS", npcKillCounters == 1 ? "true" : "false"); //68
|
||||
props.setProperty("S_WANT_CUSTOM_UI", wantCustomUI == 1 ? "true" : "false"); //69
|
||||
props.setProperty("S_WANT_GLOBAL_FRIEND", wantGlobalFriend == 1 ? "true" : "false"); //70
|
||||
props.setProperty("S_CHARACTER_CREATION_MODE", Integer.toString(characterCreationMode)); //71
|
||||
@@ -1299,6 +1305,7 @@ public class PacketHandler {
|
||||
props.setProperty("S_SHOW_UNDERGROUND_FLICKER_TOGGLE", showUndergroundFlickerToggle == 1 ? "true" : "false"); // 83
|
||||
props.setProperty("S_DISABLE_MINIMAP_ROTATION", disableMinimapRotation == 1 ? "true" : "false"); // 84
|
||||
props.setProperty("S_ALLOW_BEARDED_LADIES", allowBeardedLadies == 1 ? "true" : "false"); // 85
|
||||
props.setProperty("S_PRIDE_MONTH", prideMonth == 1 ? "true" : "false"); // 86
|
||||
Config.updateServerConfiguration(props);
|
||||
|
||||
mc.authenticSettings = !(
|
||||
@@ -2124,6 +2131,8 @@ public class PacketHandler {
|
||||
mc.setHideLoginBox(packetsIncoming.getUnsignedByte() == 1); // 40
|
||||
mc.setBlockGlobalFriend(packetsIncoming.getUnsignedByte() == 1); // 41
|
||||
mc.setOptionHideUndergroundFlicker(packetsIncoming.getUnsignedByte() == 1); // 42
|
||||
mc.setStatusBar(packetsIncoming.getUnsignedByte()); // 43
|
||||
mc.setShowRecentNPCKC(packetsIncoming.getUnsignedByte() == 1); // 44
|
||||
}
|
||||
|
||||
private void togglePrayer(int length) {
|
||||
@@ -2173,6 +2182,10 @@ public class PacketHandler {
|
||||
mc.getBank().addBank(slot, packetsIncoming.getShort(), packetsIncoming.get32());
|
||||
}
|
||||
|
||||
if (Config.S_WANT_CUSTOM_BANKS) {
|
||||
mc.getBank().calculateWealth();
|
||||
}
|
||||
|
||||
// Discord update
|
||||
Discord.setLastUpdate("Banking");
|
||||
}
|
||||
@@ -2271,6 +2284,9 @@ public class PacketHandler {
|
||||
int item = packetsIncoming.getShort();
|
||||
int itemCount = packetsIncoming.get32();
|
||||
mc.getBank().updateBank(slot, item, itemCount);
|
||||
if (Config.S_WANT_CUSTOM_BANKS) {
|
||||
mc.getBank().calculateWealth();
|
||||
}
|
||||
}
|
||||
|
||||
private void updateExperience() {
|
||||
@@ -2699,6 +2715,10 @@ public class PacketHandler {
|
||||
player.colourTop = packetsIncoming.getUnsignedByte();
|
||||
player.colourBottom = packetsIncoming.getUnsignedByte();
|
||||
player.colourSkin = packetsIncoming.getUnsignedByte();
|
||||
if (Config.S_WANT_CUSTOM_SPRITES && player == mc.getLocalPlayer()) {
|
||||
// Change mum's skin color to match the player's
|
||||
EntityHandler.getNpcDef(812).skinColour = mc.getPlayerSkinColors()[player.colourSkin];
|
||||
}
|
||||
player.level = packetsIncoming.getUnsignedByte();
|
||||
player.skullVisible = packetsIncoming.getUnsignedByte();
|
||||
if (packetsIncoming.getByte() == 1) {
|
||||
|
||||
@@ -1575,6 +1575,8 @@ public class GraphicsController {
|
||||
color = 0x44eadf;
|
||||
} else if (key.equalsIgnoreCase("cla")) {
|
||||
color = 0x7CADDA;
|
||||
} else if (key.equalsIgnoreCase("pin")) {
|
||||
color = 0xFF8ED9;
|
||||
}
|
||||
i += 4;
|
||||
} else {
|
||||
|
||||
@@ -621,6 +621,8 @@ public final class mudclient implements Runnable {
|
||||
private int statFatigue = 0;
|
||||
private int statFatigueAuthentic = 0;
|
||||
private int statKills2 = 0;
|
||||
private int lastNpcKilledId = -1;
|
||||
private int statKills3 = 0;
|
||||
private int expShared = 0;
|
||||
private int petFatigue = 0;
|
||||
private long openPkPoints = 0;
|
||||
@@ -5335,9 +5337,20 @@ public final class mudclient implements Runnable {
|
||||
this.getSurface().drawString(
|
||||
"Prayer: " + this.playerStatCurrent[5] + "@gre@/@whi@" + this.playerStatBase[5], 7, i, 0xffffff, 1);
|
||||
i += 14;
|
||||
if (C_NPC_KC) {
|
||||
if (C_TOTAL_NPC_KC) {
|
||||
this.getSurface().drawString(
|
||||
"Kills: " + this.statKills2 + "@whi@", 7, i, 0xffffff, 1);
|
||||
"Kills: " + getStatKills2() + "@whi@", 7, i, 0xffffff, 1);
|
||||
i += 14;
|
||||
}
|
||||
if (C_RECENT_NPC_KC) {
|
||||
if (getLastNpcKilledId() != -1) {
|
||||
this.getSurface().drawString(
|
||||
"Last NPC Kills: " + getStatKills3() + "@whi@", 7, i, 0xffffff, 1);
|
||||
} else {
|
||||
this.getSurface().drawString(
|
||||
"Last NPC Kills: None@whi@", 7, i, 0xffffff, 1);
|
||||
}
|
||||
i += 14;
|
||||
}
|
||||
if (Config.S_WANT_FATIGUE) {
|
||||
i += 14;
|
||||
@@ -5388,6 +5401,25 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (osConfig.C_STATUS_BAR == 0) { // icons + text
|
||||
this.getSurface().drawSprite(clientPort.getBattery(0), uiX - 50, 10);
|
||||
this.getSurface().drawColoredStringCentered(uiX - 40, clientPort.getBatteryPercent() + "%", 0xffffff, 0, 2, 10);
|
||||
this.getSurface().drawSprite(clientPort.getConnectivity(0), uiX - 30, 10);
|
||||
} else if (osConfig.C_STATUS_BAR == 1) { // icons only
|
||||
this.getSurface().drawSprite(clientPort.getBattery(0), uiX - 50, 10);
|
||||
this.getSurface().drawSprite(clientPort.getConnectivity(0), uiX - 30, 10);
|
||||
} else if (osConfig.C_STATUS_BAR == 2) { // text only
|
||||
this.getSurface().drawColoredStringCentered(uiX - 50, "BAT:", 0xffff00, 0, 2, 15);
|
||||
this.getSurface().drawColoredStringCentered(uiX - 50, clientPort.getBatteryPercent() + "%", 0xffffff, 0, 2, 30);
|
||||
if (clientPort.getBatteryCharging()) {
|
||||
this.getSurface().drawColoredStringCentered(uiX - 50, "(C)", 0xffffff, 0, 2, 45);
|
||||
}
|
||||
this.getSurface().drawColoredStringCentered(uiX - 20, "NET:", 0xffff00, 0, 2, 15);
|
||||
this.getSurface().drawColoredStringCentered(uiX - 20, clientPort.getConnectivityText(), 0xffffff, 0, 2, 30);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (isAndroid() && Config.S_WANT_PLAYER_COMMANDS) { // on screen buttons for various player chat commands
|
||||
@@ -7065,15 +7097,31 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
private int getExperienceCounterColor() {
|
||||
switch (C_EXPERIENCE_COUNTER_COLOR) {
|
||||
case 1:
|
||||
return 0xFFFF00; // Yellow
|
||||
case 2:
|
||||
return 0xFF0000; // Red
|
||||
case 3:
|
||||
return 0x0000FF; // Blue
|
||||
case 4:
|
||||
return 0x00FF00; // Green
|
||||
case 5:
|
||||
return 0xFF8ED9; // Pink
|
||||
case 6:
|
||||
return 0xFF00FF; // Magenta
|
||||
default:
|
||||
return 0xFFFFFF; // White
|
||||
}
|
||||
}
|
||||
|
||||
private void drawExperienceCounter(int skill) {
|
||||
if (!S_EXPERIENCE_COUNTER_TOGGLE) return;
|
||||
if (selectedSkill >= 0) {
|
||||
skill = selectedSkill;
|
||||
}
|
||||
int textColor = C_EXPERIENCE_COUNTER_COLOR == 0 ? 0xFFFFFF :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 1 ? 0xFFFF00 :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 2 ? 0xFF0000 :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 3 ? 0x0000FF : 0x00FF00;
|
||||
int textColor = getExperienceCounterColor();
|
||||
long totalXp = 0;
|
||||
long timePassed = 0;
|
||||
if (C_EXPERIENCE_COUNTER_MODE == 1 || skill < 0) {
|
||||
@@ -9417,13 +9465,20 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// npc kill count messages
|
||||
if (S_NPC_KILL_MESSAGES) {
|
||||
if (!C_NPC_KC) {
|
||||
if (S_NPC_KILL_COUNTERS) {
|
||||
if (!C_TOTAL_NPC_KC) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show NPC killcount - @red@Off", 38, null, null);
|
||||
"@whi@Total NPC Killcounter - @red@Off", 38, null, null);
|
||||
} else {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show NPC killcount - @gre@On", 38, null, null);
|
||||
"@whi@Total NPC Killcounter - @gre@On", 38, null, null);
|
||||
}
|
||||
if (!C_RECENT_NPC_KC) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Last NPC Killcounter - @red@Off", 44, null, null);
|
||||
} else {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Last NPC Killcounter - @gre@On", 44, null, null);
|
||||
}
|
||||
}
|
||||
// show roof
|
||||
@@ -9607,120 +9662,135 @@ public final class mudclient implements Runnable {
|
||||
int index = 0;
|
||||
this.getSurface().drawString("Android options", 3 + baseX, y, 0, 1);
|
||||
|
||||
// Status Bar
|
||||
if (osConfig.C_STATUS_BAR == 0) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show Status Bar - @gre@Icons & Text", 0, null, null);
|
||||
} else if (osConfig.C_STATUS_BAR == 1) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show Status Bar - @gr1@Icons", 0, null, null);
|
||||
} else if (osConfig.C_STATUS_BAR == 2) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show Status Bar - @yel@Text", 0, null, null);
|
||||
} else if (osConfig.C_STATUS_BAR == 3) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Show Status Bar - @red@None", 0, null, null);
|
||||
}
|
||||
|
||||
// Color changing long press timer option
|
||||
// -> red
|
||||
if (osConfig.C_LONG_PRESS_TIMER < 3) { // 1-2
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold-time for Menu - @red@" + (osConfig.C_LONG_PRESS_TIMER), 0, null, null);
|
||||
"@whi@Hold-time for Menu - @red@" + (osConfig.C_LONG_PRESS_TIMER), 1, null, null);
|
||||
}
|
||||
// -> light red
|
||||
if (osConfig.C_LONG_PRESS_TIMER > 2 && osConfig.C_LONG_PRESS_TIMER < 5) { // 3-4
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold-time for Menu - @lre@" + (osConfig.C_LONG_PRESS_TIMER), 0, null, null);
|
||||
"@whi@Hold-time for Menu - @lre@" + (osConfig.C_LONG_PRESS_TIMER), 1, null, null);
|
||||
}
|
||||
// -> green
|
||||
if (osConfig.C_LONG_PRESS_TIMER > 4 && osConfig.C_LONG_PRESS_TIMER < 9) { // 5-8
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold-time for Menu - @gre@" + (osConfig.C_LONG_PRESS_TIMER), 0, null, null);
|
||||
"@whi@Hold-time for Menu - @gre@" + (osConfig.C_LONG_PRESS_TIMER), 1, null, null);
|
||||
}
|
||||
// -> light red
|
||||
if (osConfig.C_LONG_PRESS_TIMER > 8 && osConfig.C_LONG_PRESS_TIMER < 11) { // 9-10
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold-time for Menu - @lre@" + (osConfig.C_LONG_PRESS_TIMER), 0, null, null);
|
||||
"@whi@Hold-time for Menu - @lre@" + (osConfig.C_LONG_PRESS_TIMER), 1, null, null);
|
||||
}
|
||||
// -> red
|
||||
if (osConfig.C_LONG_PRESS_TIMER > 10) { // 11
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold-time for Menu - @red@" + (osConfig.C_LONG_PRESS_TIMER), 0, null, null);
|
||||
"@whi@Hold-time for Menu - @red@" + (osConfig.C_LONG_PRESS_TIMER), 1, null, null);
|
||||
}
|
||||
|
||||
// Color changing font size toggle
|
||||
// -> light red
|
||||
if (osConfig.C_MENU_SIZE < 3) { // 1-2
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Font Size - @lre@" + (osConfig.C_MENU_SIZE), 1, null, null);
|
||||
"@whi@Font Size - @lre@" + (osConfig.C_MENU_SIZE), 2, null, null);
|
||||
}
|
||||
// -> green
|
||||
if (osConfig.C_MENU_SIZE > 2 && osConfig.C_MENU_SIZE < 5) { // 3-4
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Font Size - @gre@" + (osConfig.C_MENU_SIZE), 1, null, null);
|
||||
"@whi@Font Size - @gre@" + (osConfig.C_MENU_SIZE), 2, null, null);
|
||||
}
|
||||
// -> light red
|
||||
if (osConfig.C_MENU_SIZE > 4 && osConfig.C_MENU_SIZE < 7) { // 5-6
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Font Size - @lre@" + (osConfig.C_MENU_SIZE), 1, null, null);
|
||||
"@whi@Font Size - @lre@" + (osConfig.C_MENU_SIZE), 2, null, null);
|
||||
}
|
||||
|
||||
// menu size
|
||||
if (osConfig.C_MENU_SIZE == 7) { // 7
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Font Size - @red@" + (osConfig.C_MENU_SIZE), 1, null, null);
|
||||
"@whi@Font Size - @red@" + (osConfig.C_MENU_SIZE), 2, null, null);
|
||||
}
|
||||
|
||||
// hold and choose
|
||||
if (!osConfig.C_HOLD_AND_CHOOSE) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold and Choose - @red@Off", 2, null, null);
|
||||
"@whi@Hold and Choose - @red@Off", 3, null, null);
|
||||
} else {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Hold and Choose - @gre@On", 2, null, null);
|
||||
"@whi@Hold and Choose - @gre@On", 3, null, null);
|
||||
}
|
||||
|
||||
// swipe to scroll
|
||||
if (osConfig.C_SWIPE_TO_SCROLL_MODE == 0) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Scroll - @red@Unset", 3, null, null);
|
||||
"@whi@Swipe to Scroll - @red@Unset", 4, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_SCROLL_MODE == 1) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Scroll - @yel@Normal", 3, null, null);
|
||||
"@whi@Swipe to Scroll - @yel@Normal", 4, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_SCROLL_MODE == 2) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Scroll - @gre@Invert", 3, null, null);
|
||||
"@whi@Swipe to Scroll - @gre@Invert", 4, null, null);
|
||||
}
|
||||
|
||||
// swipe to zoom
|
||||
if (osConfig.C_SWIPE_TO_ZOOM_MODE == 0) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Zoom - @red@Unset", 4, null, null);
|
||||
"@whi@Swipe to Zoom - @red@Unset", 5, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_ZOOM_MODE == 1) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Zoom - @yel@Normal", 4, null, null);
|
||||
"@whi@Swipe to Zoom - @yel@Normal", 5, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_ZOOM_MODE == 2) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Zoom - @gre@Invert", 4, null, null);
|
||||
"@whi@Swipe to Zoom - @gre@Invert", 5, null, null);
|
||||
}
|
||||
|
||||
// swipe to rotate
|
||||
if (osConfig.C_SWIPE_TO_ROTATE_MODE == 0) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Rotate - @red@Unset", 5, null, null);
|
||||
"@whi@Swipe to Rotate - @red@Unset", 6, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_ROTATE_MODE == 1) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Rotate - @yel@Normal", 5, null, null);
|
||||
"@whi@Swipe to Rotate - @yel@Normal", 6, null, null);
|
||||
} else if (osConfig.C_SWIPE_TO_ROTATE_MODE == 2) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Swipe to Rotate - @gre@Invert", 5, null, null);
|
||||
"@whi@Swipe to Rotate - @gre@Invert", 6, null, null);
|
||||
}
|
||||
|
||||
// volume to rotate
|
||||
if (osConfig.C_VOLUME_FUNCTION == 0) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Volume buttons - @red@Rotate", 6, null, null);
|
||||
"@whi@Volume buttons - @red@Rotate", 7, null, null);
|
||||
} else if (osConfig.C_VOLUME_FUNCTION == 1) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Volume buttons - @yel@Zoom", 6, null, null);
|
||||
"@whi@Volume buttons - @yel@Zoom", 7, null, null);
|
||||
} else if (osConfig.C_VOLUME_FUNCTION == 2) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Volume buttons - @gre@Volume", 6, null, null);
|
||||
"@whi@Volume buttons - @gre@Volume", 7, null, null);
|
||||
}
|
||||
|
||||
// inventory close
|
||||
if (!osConfig.C_ANDROID_INV_TOGGLE) {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Close inventory with menu - @red@Off", 7, null, null);
|
||||
"@whi@Close inventory with menu - @red@Off", 8, null, null);
|
||||
} else {
|
||||
this.panelSettings.setListEntry(this.controlSettingPanel, index++,
|
||||
"@whi@Close inventory with menu - @gre@On", 7, null, null);
|
||||
"@whi@Close inventory with menu - @gre@On", 8, null, null);
|
||||
}
|
||||
|
||||
// logout text
|
||||
@@ -9974,12 +10044,21 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// npc killcount shows
|
||||
if (settingIndex == 38 && this.mouseButtonClick == 1 && S_NPC_KILL_MESSAGES) {
|
||||
C_NPC_KC = !C_NPC_KC;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(38);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(C_NPC_KC ? 1 : 0);
|
||||
this.packetHandler.getClientStream().finishPacket();
|
||||
if (S_NPC_KILL_COUNTERS) {
|
||||
if (settingIndex == 38 && this.mouseButtonClick == 1) {
|
||||
C_TOTAL_NPC_KC = !C_TOTAL_NPC_KC;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(38);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(C_TOTAL_NPC_KC ? 1 : 0);
|
||||
this.packetHandler.getClientStream().finishPacket();
|
||||
}
|
||||
if (settingIndex == 44 && this.mouseButtonClick == 1) {
|
||||
C_RECENT_NPC_KC = !C_RECENT_NPC_KC;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(44);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(C_RECENT_NPC_KC ? 1 : 0);
|
||||
this.packetHandler.getClientStream().finishPacket();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10162,8 +10241,17 @@ public final class mudclient implements Runnable {
|
||||
// android menu tab
|
||||
private void handleAndroidSettingsClicks(short var5, int var6, int yFromTopDistance) {
|
||||
|
||||
// hold to right click delay control
|
||||
// status bar control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 0 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_STATUS_BAR = ++osConfig.C_STATUS_BAR % 4;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(43);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(osConfig.C_STATUS_BAR);
|
||||
this.packetHandler.getClientStream().finishPacket();
|
||||
}
|
||||
|
||||
// hold to right click delay control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 1 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_LONG_PRESS_TIMER++;
|
||||
if (osConfig.C_LONG_PRESS_TIMER == 13)
|
||||
osConfig.C_LONG_PRESS_TIMER = 1;
|
||||
@@ -10174,7 +10262,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// font size control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 1 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 2 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_MENU_SIZE++;
|
||||
if (osConfig.C_MENU_SIZE == 8)
|
||||
osConfig.C_MENU_SIZE = 1;
|
||||
@@ -10188,7 +10276,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// hold to right click toggle
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 2 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 3 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_HOLD_AND_CHOOSE = !osConfig.C_HOLD_AND_CHOOSE;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(21);
|
||||
@@ -10197,7 +10285,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// swipe scroll control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 3 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 4 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_SWIPE_TO_SCROLL_MODE = ++osConfig.C_SWIPE_TO_SCROLL_MODE%3;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(18);
|
||||
@@ -10206,7 +10294,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// swipe camera zoom control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 4 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 5 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_SWIPE_TO_ZOOM_MODE = ++osConfig.C_SWIPE_TO_ZOOM_MODE%3;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(22);
|
||||
@@ -10215,7 +10303,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// swipe camera rotation control
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 5 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 6 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_SWIPE_TO_ROTATE_MODE = ++osConfig.C_SWIPE_TO_ROTATE_MODE%3;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(17);
|
||||
@@ -10224,7 +10312,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// volume button function control (rotate, zoom, volume)
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 6 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 7 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_VOLUME_FUNCTION = ++osConfig.C_VOLUME_FUNCTION %3;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(16);
|
||||
@@ -10233,7 +10321,7 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
// android inventory toggle
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 7 && this.mouseButtonClick == 1) {
|
||||
if (this.panelSettings.getControlSelectedListIndex(this.controlSettingPanel) == 8 && this.mouseButtonClick == 1) {
|
||||
osConfig.C_ANDROID_INV_TOGGLE = !osConfig.C_ANDROID_INV_TOGGLE;
|
||||
this.packetHandler.getClientStream().newPacket(111);
|
||||
this.packetHandler.getClientStream().bufferBits.putByte(37);
|
||||
@@ -16287,6 +16375,26 @@ public final class mudclient implements Runnable {
|
||||
this.statKills2 = kills2;
|
||||
}
|
||||
|
||||
public int getStatKills3() {
|
||||
return this.statKills3;
|
||||
}
|
||||
|
||||
public void setStatKills3(int kills3) {
|
||||
if (DEBUG)
|
||||
System.out.println("Kills3: " + kills3);
|
||||
this.statKills3 = kills3;
|
||||
}
|
||||
|
||||
public int getLastNpcKilledId() {
|
||||
return this.lastNpcKilledId;
|
||||
}
|
||||
|
||||
public void setLastNpcKilledId(int lastNpcKilledId) {
|
||||
if (DEBUG)
|
||||
System.out.println("Last Npc Killed Id: " + lastNpcKilledId);
|
||||
this.lastNpcKilledId = lastNpcKilledId;
|
||||
}
|
||||
|
||||
public int getPetFatigue() {
|
||||
return this.petFatigue;
|
||||
}
|
||||
@@ -16634,10 +16742,7 @@ public final class mudclient implements Runnable {
|
||||
drawExperienceCounter(xpdrop.skill);
|
||||
}
|
||||
|
||||
int textColor = C_EXPERIENCE_COUNTER_COLOR == 0 ? 0xFFFFFF :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 1 ? 0xFFFF00 :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 2 ? 0xFF0000 :
|
||||
C_EXPERIENCE_COUNTER_COLOR == 3 ? 0x0000FF : 0x00FF00;
|
||||
int textColor = getExperienceCounterColor();
|
||||
|
||||
if (!xpdrop.levelUp) {
|
||||
if (textColor == 0xFFFFFF) {
|
||||
@@ -17227,7 +17332,7 @@ public final class mudclient implements Runnable {
|
||||
return playerClothingColors;
|
||||
}
|
||||
|
||||
private int[] getPlayerSkinColors() {
|
||||
public int[] getPlayerSkinColors() {
|
||||
return playerSkinColors;
|
||||
}
|
||||
|
||||
@@ -17373,6 +17478,7 @@ public final class mudclient implements Runnable {
|
||||
skillGuideChosenTabs.add("Armour");
|
||||
} else if (skillGuideChosen.equalsIgnoreCase("Hits")) {
|
||||
skillGuideChosenTabs.add("Fish");
|
||||
skillGuideChosenTabs.add("Pizzas");
|
||||
skillGuideChosenTabs.add("Pies");
|
||||
skillGuideChosenTabs.add("Produce");
|
||||
skillGuideChosenTabs.add("Gnome Food");
|
||||
@@ -17713,6 +17819,10 @@ public final class mudclient implements Runnable {
|
||||
osConfig.C_MENU_SIZE = i;
|
||||
}
|
||||
|
||||
public void setStatusBar(int i) {
|
||||
osConfig.C_STATUS_BAR = i;
|
||||
}
|
||||
|
||||
public void setHoldAndChoose(boolean b) {
|
||||
osConfig.C_HOLD_AND_CHOOSE = b;
|
||||
}
|
||||
@@ -17776,7 +17886,11 @@ public final class mudclient implements Runnable {
|
||||
}
|
||||
|
||||
public void setShowNPCKC(boolean b) {
|
||||
C_NPC_KC = b;
|
||||
C_TOTAL_NPC_KC = b;
|
||||
}
|
||||
|
||||
public void setShowRecentNPCKC(boolean b) {
|
||||
C_RECENT_NPC_KC = b;
|
||||
}
|
||||
|
||||
public void setHideNameTag(boolean b) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
|
||||
@@ -38,6 +39,16 @@ public interface ClientPort {
|
||||
|
||||
String getCacheLocation();
|
||||
|
||||
Sprite getBattery(int level);
|
||||
|
||||
int getBatteryPercent();
|
||||
|
||||
boolean getBatteryCharging();
|
||||
|
||||
Sprite getConnectivity(int level);
|
||||
|
||||
String getConnectivityText();
|
||||
|
||||
void resized();
|
||||
|
||||
Sprite getSpriteFromByteArray(ByteArrayInputStream byteArrayInputStream);
|
||||
|
||||
@@ -6,8 +6,9 @@ public class osConfig {
|
||||
public static final String DL_URL = "game.openrsc.com"; // needs to be set as public for the Android client to use
|
||||
public static final String ANDROID_DOWNLOAD_PATH = "https://" + DL_URL + "/downloads/";
|
||||
public static final String CACHE_URL = "https://" + DL_URL + "/downloads/";
|
||||
public static final int ANDROID_CLIENT_VERSION = 144; // Important! Depends on web server android_version.txt to check for an updated version
|
||||
public static final int ANDROID_CLIENT_VERSION = 143; // Important! Depends on web server android_version.txt to check for an updated version
|
||||
public static boolean F_SHOWING_KEYBOARD = false;
|
||||
public static int C_STATUS_BAR = 0; // default to icons and text
|
||||
public static boolean C_HOLD_AND_CHOOSE = true;
|
||||
public static int C_LONG_PRESS_TIMER = 5; // default hold timer setting
|
||||
public static int C_MENU_SIZE = 3; // default font choice
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
java -jar IdleRSC.jar --username "username" --password "password"
|
||||
java -jar IdleRSC.jar
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
java -jar IdleRSC.jar --username "username" --password "password"
|
||||
@@ -30,50 +30,61 @@ public class MasterAdapter extends ClassVisitor {
|
||||
int access, String name, String desc, String signature, String[] exceptions) {
|
||||
|
||||
MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
|
||||
System.out.print("Visiting Method: " + className + "." + name + " " + desc);
|
||||
String result = "";
|
||||
|
||||
// to show debug messages, uncomment this println
|
||||
// todo debug mode
|
||||
// System.out.print("Visiting Method: " + className + "." + name + " " + desc);
|
||||
|
||||
if (name.equals("drawUi") && desc.equals("(I)V")) {
|
||||
System.out.println(" (Passing to DrawAdapter...)");
|
||||
result = " (Passing to DrawAdapter...)";
|
||||
mv = new DrawAdapter(mv);
|
||||
} else if (name.equals("showMessage")
|
||||
&& desc.equals(
|
||||
"(ZLjava/lang/String;Ljava/lang/String;Lorsc/enumerations/MessageType;ILjava/lang/String;Ljava/lang/String;)V")) {
|
||||
System.out.println(" (Passing to MessageAdapter...)");
|
||||
result = " (Passing to MessageAdapter...)";
|
||||
mv = new MessageAdapter(mv);
|
||||
} else if (name.equals("updateNPCAppearances")) {
|
||||
System.out.println(" (Passing to DamageAdapter...)");
|
||||
result = " (Passing to DamageAdapter...)";
|
||||
mv = new NPCDamageAdapter(mv);
|
||||
} else if (name.equals("drawNearbyPlayers")) {
|
||||
System.out.println(" (Passing to PlayerDamageAdapter...)");
|
||||
result = " (Passing to PlayerDamageAdapter...)";
|
||||
mv = new PlayerDamageAdapter(mv);
|
||||
} else if (name.equals("sendCommandString")) {
|
||||
System.out.println(" (Passing to CommandAdapter...)");
|
||||
result = " (Passing to CommandAdapter...)";
|
||||
mv = new CommandAdapter(mv);
|
||||
} else if (name.equals("draw")
|
||||
&& desc.equals("()V")
|
||||
&& className.equals(
|
||||
"orsc/mudclient")) { // we don't want to patch ORSCApplet's draw() method.
|
||||
System.out.println(" (Passing to GraphicsAdapter...)");
|
||||
result = " (Passing to GraphicsAdapter...)";
|
||||
mv = new GraphicsAdapter(mv);
|
||||
} else if (name.equals("showSleepScreen")) {
|
||||
System.out.println(" (Passing to SleepAdapter...)");
|
||||
result = " (Passing to SleepAdapter...)";
|
||||
mv = new SleepAdapter(mv);
|
||||
} else if (name.equals("setFatigueSleeping")) {
|
||||
System.out.println(" (Passing to FatigueAdapter...)");
|
||||
result = " (Passing to FatigueAdapter...)";
|
||||
mv = new FatigueAdapter(mv);
|
||||
} else if (name.equals("keyPressed")) {
|
||||
System.out.println(" (Passing to KeyAdapter...)");
|
||||
result = " (Passing to KeyAdapter...)";
|
||||
mv = new KeyAdapter(mv);
|
||||
} else if (name.equals("mouseWheelMoved")) {
|
||||
System.out.println(" (Passing to ZoomAdapter...)");
|
||||
result = " (Passing to ZoomAdapter...)";
|
||||
mv = new ZoomAdapter(mv);
|
||||
} else if (name.equals("logChat") && className.equals("orsc/mudclient")) {
|
||||
System.out.println(" (Passing to LogChatAdapter...");
|
||||
result = " (Passing to LogChatAdapter...";
|
||||
mv = new LogChatAdapter(mv);
|
||||
// } else if(name.equals("drawPlayer")) { //draws hp over player heads
|
||||
// System.out.println(" (Passing to DrawPlayerAdapter...)");
|
||||
// mv = new DrawPlayerAdapter(mv);
|
||||
} else {
|
||||
System.out.println(" (Skipped -- no patching needed)");
|
||||
result = " (Skipped -- no patching needed)";
|
||||
}
|
||||
|
||||
// to show debug messages, uncomment this println
|
||||
// todo debug mode
|
||||
// System.out.println(result);
|
||||
|
||||
return mv;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user