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
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.
*

View File

@@ -187,14 +187,30 @@ public class DevToolsPlugin extends Plugin
client.addChatMessage(ChatMessageType.SERVER, "", message, null);
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 value = client.getVarbitValue(client.getVarps(), varbit);
client.addChatMessage(ChatMessageType.SERVER, "", "Varbit " + varbit + ": " + value, null);
break;
}
case "setvar":
case "setvarb":
{
int varbit = Integer.parseInt(args[0]);
int value = Integer.parseInt(args[1]);

View File

@@ -385,6 +385,20 @@ public abstract class RSClientMixin implements RSClient
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
@Override
public boolean isPrayerActive(Prayer prayer)