Merge branch 'master' of https://github.com/zeruth/runeliteplus-ps
This commit is contained in:
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# RuneLitePlus-PS [](https://travis-ci.org/runelite-extended/runelite) [](https://discord.gg/HN5gf3m)
|
# RuneLitePlus-PS rev180 [](https://travis-ci.org/runelite-extended/runelite) [](https://discord.gg/HN5gf3m)
|
||||||
|
|
||||||
[RuneLitePlus-PS](https://runelitepl.us) is a fork of [RuneLite](https://github.com/runelite/runelite) that provides more functionality and less restrictions while staying open source. This is specific version meant for rs-mod which can be found here:
|
[RuneLitePlus-PS](https://runelitepl.us) is a fork of [RuneLite](https://github.com/runelite/runelite) that provides more functionality and less restrictions while staying open source. This is specific version meant for rs-mod which can be found here:
|
||||||
https://www.rune-server.ee/runescape-development/rs2-server/downloads/684206-180-rs-mod-release.html
|
https://www.rune-server.ee/runescape-development/rs2-server/downloads/684206-180-rs-mod-release.html
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
It's ran much like RuneLite or RuneLitePlus, install then run RuneLite.main()
|
To setup your rsa keys, navigate to runelite-mixins and go to RSBufferMixin and set modulus and exponent
|
||||||
|
|
||||||
First you will want to use [Recaf](https://github.com/Col-E/Recaf/releases) to modify the RSA class (currently cm.class for 180) <clinit> instructions for the server keys you use in the vanilla-RSVERSION.jar in the root of the project. I will implement mixins but this works for now.
|
After that it's ran much like RuneLite or RuneLitePlus, install then run RuneLite.main()
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
@@ -62,10 +62,12 @@ public class ClanManModePlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ClanManager clanManager;
|
private ClanManager clanManager;
|
||||||
|
|
||||||
|
private static final String CAST = "CAST";
|
||||||
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
||||||
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
|
ATTACK_OPTIONS_KEYWORDS.add(CAST);
|
||||||
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.lizardmenshaman;
|
package net.runelite.client.plugins.lizardmenshaman;
|
||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -36,8 +35,10 @@ import net.runelite.api.Actor;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
import net.runelite.api.coords.LocalPoint;
|
||||||
import net.runelite.api.events.AnimationChanged;
|
import net.runelite.api.events.AnimationChanged;
|
||||||
|
import net.runelite.api.events.ChatMessage;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginType;
|
import net.runelite.client.plugins.PluginType;
|
||||||
@@ -94,6 +95,18 @@ public class LizardmenShamanPlugin extends Plugin
|
|||||||
spawns.clear();
|
spawns.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onChatMessage(ChatMessage event)
|
||||||
|
{
|
||||||
|
if (config.notifyOnSpawn())
|
||||||
|
{
|
||||||
|
if (event.getMessage().contains(MESSAGE))
|
||||||
|
{
|
||||||
|
notifier.notify(MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onAnimationChanged(AnimationChanged event)
|
public void onAnimationChanged(AnimationChanged event)
|
||||||
{
|
{
|
||||||
@@ -102,17 +115,13 @@ public class LizardmenShamanPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (actor.getName().equals(SHAMAN) && actor.getAnimation() == 7157)
|
|
||||||
|
if (actor.getName().equals(SHAMAN) && actor.getAnimation() == 7157)
|
||||||
{
|
{
|
||||||
if (config.showTimer())
|
if (config.showTimer())
|
||||||
{
|
{
|
||||||
spawns.put(event.getActor().getLocalLocation(), new LizardmenShamanSpawn(8.4, null));
|
spawns.put(event.getActor().getLocalLocation(), new LizardmenShamanSpawn(8.4, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.notifyOnSpawn())
|
|
||||||
{
|
|
||||||
notifier.notify(MESSAGE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -727,8 +727,10 @@ public class MenuEntrySwapperPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
if (event.getType() == WALK.getId())
|
if (event.getType() == WALK.getId())
|
||||||
{
|
{
|
||||||
MenuEntry menuEntry = entries[entries.length - 1];
|
MenuEntry[] menuEntries = client.getMenuEntries();
|
||||||
|
MenuEntry menuEntry = menuEntries[menuEntries.length - 1];
|
||||||
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
|
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
|
||||||
|
client.setMenuEntries(menuEntries);
|
||||||
}
|
}
|
||||||
else if (option.equalsIgnoreCase("examine"))
|
else if (option.equalsIgnoreCase("examine"))
|
||||||
{
|
{
|
||||||
@@ -938,6 +940,11 @@ public class MenuEntrySwapperPlugin extends Plugin
|
|||||||
swap(client, "buy-plank", option, target, true);
|
swap(client, "buy-plank", option, target, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.claimDynamite() && target.equals("thirus"))
|
||||||
|
{
|
||||||
|
swap(client, "claim", option, target, true);
|
||||||
|
}
|
||||||
|
|
||||||
if (config.swapTrade())
|
if (config.swapTrade())
|
||||||
{
|
{
|
||||||
swap(client, "trade", option, target, true);
|
swap(client, "trade", option, target, true);
|
||||||
@@ -950,11 +957,6 @@ public class MenuEntrySwapperPlugin extends Plugin
|
|||||||
swap(client, "claim-slime", option, target, true);
|
swap(client, "claim-slime", option, target, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.claimDynamite() && target.contains("Thirus"))
|
|
||||||
{
|
|
||||||
swap(client, "claim-dynamite", option, target, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (config.swapTravel())
|
if (config.swapTravel())
|
||||||
{
|
{
|
||||||
swap(client, "travel", option, target, true);
|
swap(client, "travel", option, target, true);
|
||||||
|
|||||||
@@ -105,10 +105,12 @@ public class PvpToolsPlugin extends Plugin
|
|||||||
|
|
||||||
private static final String WALK_HERE = "WALK HERE";
|
private static final String WALK_HERE = "WALK HERE";
|
||||||
private static final String CANCEL = "CANCEL";
|
private static final String CANCEL = "CANCEL";
|
||||||
|
private static final String CAST = "CAST";
|
||||||
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
private static final String ATTACK_OPTIONS_ATTACK = "ATTACK";
|
||||||
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
public static final HashSet<String> ATTACK_OPTIONS_KEYWORDS = new HashSet<>();
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
|
ATTACK_OPTIONS_KEYWORDS.add(CAST);
|
||||||
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
ATTACK_OPTIONS_KEYWORDS.add(ATTACK_OPTIONS_ATTACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -158,89 +158,86 @@ public class RaidsOverlay extends Overlay
|
|||||||
boolean unknownCombat = false;
|
boolean unknownCombat = false;
|
||||||
String puzzles = "";
|
String puzzles = "";
|
||||||
String roomName = "";
|
String roomName = "";
|
||||||
if (config.enhanceScouterTitle() || config.scavsBeforeIce() || sharable)
|
for (Room layoutRoom : plugin.getRaid().getLayout().getRooms())
|
||||||
{
|
{
|
||||||
for (Room layoutRoom : plugin.getRaid().getLayout().getRooms())
|
int position = layoutRoom.getPosition();
|
||||||
{
|
RaidRoom room = plugin.getRaid().getRoom(position);
|
||||||
int position = layoutRoom.getPosition();
|
|
||||||
RaidRoom room = plugin.getRaid().getRoom(position);
|
|
||||||
|
|
||||||
if (room == null)
|
if (room == null)
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (room.getType())
|
|
||||||
{
|
|
||||||
case COMBAT:
|
|
||||||
combatCount++;
|
|
||||||
roomName = room.getBoss().getName();
|
|
||||||
switch (RaidRoom.Boss.fromString(roomName))
|
|
||||||
{
|
|
||||||
case VANGUARDS:
|
|
||||||
vanguards = true;
|
|
||||||
break;
|
|
||||||
case UNKNOWN:
|
|
||||||
unknownCombat = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PUZZLE:
|
|
||||||
roomName = room.getPuzzle().getName();
|
|
||||||
switch (RaidRoom.Puzzle.fromString(roomName))
|
|
||||||
{
|
|
||||||
case CRABS:
|
|
||||||
crabs = true;
|
|
||||||
break;
|
|
||||||
case ICE_DEMON:
|
|
||||||
iceDemon = true;
|
|
||||||
iceRooms.add(roomCount);
|
|
||||||
break;
|
|
||||||
case THIEVING:
|
|
||||||
thieving = true;
|
|
||||||
break;
|
|
||||||
case TIGHTROPE:
|
|
||||||
tightrope = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SCAVENGERS:
|
|
||||||
scavRooms.add(roomCount);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
roomCount++;
|
|
||||||
}
|
|
||||||
if (tightrope)
|
|
||||||
{
|
{
|
||||||
puzzles = crabs ? "cr" : iceDemon ? "ri" : thieving ? "tr" : "?r";
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((config.hideVanguards() && vanguards) || (config.hideRopeless() && !tightrope) || (config.hideUnknownCombat() && unknownCombat))
|
switch (room.getType())
|
||||||
{
|
{
|
||||||
panelComponent.getChildren().add(TitleComponent.builder()
|
case COMBAT:
|
||||||
.text("Bad Raid!")
|
combatCount++;
|
||||||
.color(Color.RED)
|
roomName = room.getBoss().getName();
|
||||||
.build());
|
switch (RaidRoom.Boss.fromString(roomName))
|
||||||
|
|
||||||
return panelComponent.render(graphics);
|
|
||||||
}
|
|
||||||
|
|
||||||
scouterActive = true;
|
|
||||||
displayLayout = (config.enhanceScouterTitle() ? "" + combatCount + "c " + puzzles + " " : "") + displayLayout;
|
|
||||||
|
|
||||||
for (Integer i : iceRooms)
|
|
||||||
{
|
|
||||||
int prev = 0;
|
|
||||||
for (Integer s : scavRooms)
|
|
||||||
{
|
|
||||||
if (s > i)
|
|
||||||
{
|
{
|
||||||
break;
|
case VANGUARDS:
|
||||||
|
vanguards = true;
|
||||||
|
break;
|
||||||
|
case UNKNOWN:
|
||||||
|
unknownCombat = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
prev = s;
|
break;
|
||||||
}
|
case PUZZLE:
|
||||||
scavsBeforeIceRooms.add(prev);
|
roomName = room.getPuzzle().getName();
|
||||||
|
switch (RaidRoom.Puzzle.fromString(roomName))
|
||||||
|
{
|
||||||
|
case CRABS:
|
||||||
|
crabs = true;
|
||||||
|
break;
|
||||||
|
case ICE_DEMON:
|
||||||
|
iceDemon = true;
|
||||||
|
iceRooms.add(roomCount);
|
||||||
|
break;
|
||||||
|
case THIEVING:
|
||||||
|
thieving = true;
|
||||||
|
break;
|
||||||
|
case TIGHTROPE:
|
||||||
|
tightrope = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SCAVENGERS:
|
||||||
|
scavRooms.add(roomCount);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
roomCount++;
|
||||||
|
}
|
||||||
|
if (tightrope)
|
||||||
|
{
|
||||||
|
puzzles = crabs ? "cr" : iceDemon ? "ri" : thieving ? "tr" : "?r";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((config.hideVanguards() && vanguards) || (config.hideRopeless() && !tightrope) || (config.hideUnknownCombat() && unknownCombat))
|
||||||
|
{
|
||||||
|
panelComponent.getChildren().add(TitleComponent.builder()
|
||||||
|
.text("Bad Raid!")
|
||||||
|
.color(Color.RED)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
return panelComponent.render(graphics);
|
||||||
|
}
|
||||||
|
|
||||||
|
scouterActive = true;
|
||||||
|
displayLayout = (config.enhanceScouterTitle() ? "" + combatCount + "c " + puzzles + " " : "") + displayLayout;
|
||||||
|
|
||||||
|
for (Integer i : iceRooms)
|
||||||
|
{
|
||||||
|
int prev = 0;
|
||||||
|
for (Integer s : scavRooms)
|
||||||
|
{
|
||||||
|
if (s > i)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
prev = s;
|
||||||
|
}
|
||||||
|
scavsBeforeIceRooms.add(prev);
|
||||||
}
|
}
|
||||||
int lastScavs = scavRooms.get(scavRooms.size() - 1);
|
int lastScavs = scavRooms.get(scavRooms.size() - 1);
|
||||||
panelComponent.getChildren().add(TitleComponent.builder()
|
panelComponent.getChildren().add(TitleComponent.builder()
|
||||||
|
|||||||
@@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, gazivodag <https://github.com/gazivodag>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
package net.runelite.client.plugins.runedoku;
|
package net.runelite.client.plugins.runedoku;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
|||||||
@@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, gazivodag <https://github.com/gazivodag>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
package net.runelite.client.plugins.runedoku;
|
package net.runelite.client.plugins.runedoku;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@@ -138,7 +162,14 @@ class RunedokuUtil
|
|||||||
item = sudokuScreen.getWidgetItem(myIndex);
|
item = sudokuScreen.getWidgetItem(myIndex);
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
myArr[i][ii] = RunedokuPiece.getById(item.getId()).getPieceForSudoku();
|
if (item.getId() != -1)
|
||||||
|
{
|
||||||
|
myArr[i][ii] = RunedokuPiece.getById(item.getId()).getPieceForSudoku();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
myArr[i][ii] = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -252,6 +252,7 @@ public class RuneLitePlusPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
if (client.getWidget(WidgetID.BANK_PIN_GROUP_ID, 0) == null
|
if (client.getWidget(WidgetID.BANK_PIN_GROUP_ID, 0) == null
|
||||||
|| !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Bank of Gielinor")
|
|| !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Bank of Gielinor")
|
||||||
|
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Chambers of Xeric")
|
||||||
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Grand Exchange")
|
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Grand Exchange")
|
||||||
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Housing Security System"))
|
&& !client.getWidget(WidgetInfo.BANK_PIN_TOP_LEFT_TEXT).getText().equals("Housing Security System"))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import net.runelite.client.plugins.PluginType;
|
|||||||
* Shift Walker Plugin. Credit to MenuEntrySwapperPlugin for code some code structure used here.
|
* Shift Walker Plugin. Credit to MenuEntrySwapperPlugin for code some code structure used here.
|
||||||
*/
|
*/
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Shift To Walk",
|
name = "Shift Walk Under",
|
||||||
description = "Use Shift to toggle the Walk Here menu option. While pressed you will Walk rather than interact with objects.",
|
description = "Use Shift to toggle the Walk Here menu option. While pressed you will Walk rather than interact with objects.",
|
||||||
tags = {"npcs", "items", "objects"},
|
tags = {"npcs", "items", "objects"},
|
||||||
type = PluginType.UTILITY,
|
type = PluginType.UTILITY,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Null (zeruth)
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package net.runelite.mixins;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import net.runelite.api.mixins.Copy;
|
||||||
|
import net.runelite.api.mixins.Inject;
|
||||||
|
import net.runelite.api.mixins.Mixin;
|
||||||
|
import net.runelite.api.mixins.Replace;
|
||||||
|
import net.runelite.rs.api.RSBuffer;
|
||||||
|
|
||||||
|
@Mixin(RSBuffer.class)
|
||||||
|
public abstract class RSBufferMixin implements RSBuffer
|
||||||
|
{
|
||||||
|
@Inject
|
||||||
|
private static BigInteger modulus = new BigInteger("10001", 16);
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private static BigInteger exponent = new BigInteger("db7adc8af6f44b1359c5d1701d6bddc3eb47ce3ff2c690521ec8a9ea27525bf69263cea25648540cb572db8c703eeab85e740d1b44342555ab5733e9884f979fb42929d0a21b79d4a180fe83e48e1abaf08ec41e9dc2c0d8b087dc1a9637df68a64b82dddfdfbc6ae31a3c077434c892c7e8425a0184eed3971fa77b0ec895399d7b683042ee981990d9dd2ce3c436be9b2ec93587fb25d1f17cbb771e0f0bf88b27c47af0fd5417f4d1977e3f5483f787a71f59820d1b29a9af9460c6ad8a713ee2a1bf4021e51ce9776aa4eddae3616a808174493b572218c957c15b06df5aef889dbfd5de3a1326ea2d47dbf68b5bd06201b36d6ca5dedb69a8be84c254bb", 16);
|
||||||
|
|
||||||
|
@Copy("encryptRsa")
|
||||||
|
public void rs$encryptRsa(BigInteger var1, BigInteger var2) { }
|
||||||
|
|
||||||
|
@Replace("encryptRsa")
|
||||||
|
public void rl$encryptRsa(BigInteger var1, BigInteger var2) {
|
||||||
|
rs$encryptRsa(modulus, exponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user