Merge pull request #4237 from Infinitay/dev-tools-varp-commands

Add Varp Commands To Developer Tools
This commit is contained in:
Adam
2018-07-09 09:10:34 -04:00
committed by GitHub
3 changed files with 54 additions and 2 deletions

View File

@@ -659,6 +659,28 @@ public interface Client extends GameEngine
@VisibleForDevtools @VisibleForDevtools
int getVarbitValue(int[] varps, int varbitId); int getVarbitValue(int[] varps, int varbitId);
/**
* Gets the value of a given VarPlayer.
*
* @param varps passed varps
* @param varpId the VarpPlayer id
* @return the value
* @see VarPlayer#id
*/
@VisibleForDevtools
int getVarpValue(int[] varps, int varpId);
/**
* Sets the value of a given VarPlayer.
*
* @param varps passed varps
* @param varpId the VarpPlayer id
* @param value the value
* @see VarPlayer#id
*/
@VisibleForDevtools
void setVarpValue(int[] varps, int varpId, int value);
/** /**
* Sets the value of a given variable. * Sets the value of a given variable.
* *

View File

@@ -187,14 +187,30 @@ public class DevToolsPlugin extends Plugin
client.addChatMessage(ChatMessageType.SERVER, "", message, null); client.addChatMessage(ChatMessageType.SERVER, "", message, null);
break; break;
} }
case "getvar": case "getvarp":
{
int varp = Integer.parseInt(args[0]);
int value = client.getVarpValue(client.getVarps(), varp);
client.addChatMessage(ChatMessageType.SERVER, "", "VarPlayer " + varp + ": " + value, null);
break;
}
case "setvarp":
{
int varp = Integer.parseInt(args[0]);
int value = Integer.parseInt(args[1]);
client.setVarpValue(client.getVarps(), varp, value);
client.addChatMessage(ChatMessageType.SERVER, "", "Set VarPlayer " + varp + " to " + value, null);
eventBus.post(new VarbitChanged()); // fake event
break;
}
case "getvarb":
{ {
int varbit = Integer.parseInt(args[0]); int varbit = Integer.parseInt(args[0]);
int value = client.getVarbitValue(client.getVarps(), varbit); int value = client.getVarbitValue(client.getVarps(), varbit);
client.addChatMessage(ChatMessageType.SERVER, "", "Varbit " + varbit + ": " + value, null); client.addChatMessage(ChatMessageType.SERVER, "", "Varbit " + varbit + ": " + value, null);
break; break;
} }
case "setvar": case "setvarb":
{ {
int varbit = Integer.parseInt(args[0]); int varbit = Integer.parseInt(args[0]);
int value = Integer.parseInt(args[1]); int value = Integer.parseInt(args[1]);

View File

@@ -385,6 +385,20 @@ public abstract class RSClientMixin implements RSClient
return varps[varPlayer.getId()]; return varps[varPlayer.getId()];
} }
@Inject
@Override
public int getVarpValue(int[] varps, int varpId)
{
return varps[varpId];
}
@Inject
@Override
public void setVarpValue(int[] varps, int varpId, int value)
{
varps[varpId] = value;
}
@Inject @Inject
@Override @Override
public boolean isPrayerActive(Prayer prayer) public boolean isPrayerActive(Prayer prayer)