devtools: add addxp

This commit is contained in:
Adam
2018-04-29 14:21:53 -04:00
parent 17c988b8a9
commit 87da5aed68
3 changed files with 54 additions and 0 deletions

View File

@@ -419,4 +419,22 @@ public interface Client extends GameEngine
void setProjectilesHidden(boolean state);
CollisionData[] getCollisionMaps();
@VisibleForDevtools
int[] getBoostedSkillLevels();
@VisibleForDevtools
int[] getRealSkillLevels();
@VisibleForDevtools
int[] getSkillExperiences();
@VisibleForDevtools
int[] getChangedSkills();
@VisibleForDevtools
int getChangedSkillsCount();
@VisibleForDevtools
void setChangedSkillsCount(int i);
}

View File

@@ -29,6 +29,7 @@ import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import java.awt.Font;
import java.awt.image.BufferedImage;
import static java.lang.Math.min;
import java.util.Arrays;
import java.util.Collection;
import javax.imageio.ImageIO;
@@ -36,6 +37,8 @@ import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.Experience;
import net.runelite.api.Skill;
import net.runelite.api.events.CommandExecuted;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.widgets.Widget;
@@ -157,6 +160,24 @@ public class DevToolsPlugin extends Plugin
eventBus.post(new VarbitChanged()); // fake event
break;
}
case "addxp":
{
Skill skill = Skill.valueOf(args[0].toUpperCase());
int xp = Integer.parseInt(args[1]);
int totalXp = client.getSkillExperience(skill) + xp;
int level = min(Experience.getLevelForXp(totalXp), 99);
client.getBoostedSkillLevels()[skill.ordinal()] = level;
client.getRealSkillLevels()[skill.ordinal()] = level;
client.getSkillExperiences()[skill.ordinal()] = totalXp;
int[] skills = client.getChangedSkills();
int count = client.getChangedSkillsCount();
skills[++count - 1 & 31] = skill.ordinal();
client.setChangedSkillsCount(count);
break;
}
}
}

View File

@@ -101,14 +101,29 @@ public interface RSClient extends RSGameEngine, Client
int getBaseY();
@Import("boostedSkillLevels")
@Override
int[] getBoostedSkillLevels();
@Import("realSkillLevels")
@Override
int[] getRealSkillLevels();
@Import("skillExperiences")
@Override
int[] getSkillExperiences();
@Import("changedSkills")
@Override
int[] getChangedSkills();
@Import("changedSkillsCount")
@Override
int getChangedSkillsCount();
@Import("changedSkillsCount")
@Override
void setChangedSkillsCount(int i);
@Import("gameState")
int getRSGameState();