Skip to content

Commit

Permalink
alternate experience set logic
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jan 18, 2021
1 parent edbfa41 commit 95d42b5
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 20 deletions.
Expand Up @@ -1548,9 +1548,6 @@ else if (!trait.isSneaking() && mechanism.getValue().asBoolean()) {
// TODO
// -->
if (mechanism.matches("clear_waypoints")) {
if (!getCitizen().hasTrait(Waypoints.class)) {
getCitizen().addTrait(Waypoints.class);
}
Waypoints wp = getCitizen().getOrAddTrait(Waypoints.class);
if ((wp.getCurrentProvider() instanceof WaypointProvider.EnumerableWaypointProvider)) {
((List<Waypoint>) ((WaypointProvider.EnumerableWaypointProvider) wp.getCurrentProvider()).waypoints()).clear();
Expand All @@ -1574,9 +1571,6 @@ else if ((wp.getCurrentProvider() instanceof WanderWaypointProvider)) {
// TODO
// -->
if (mechanism.matches("add_waypoint") && mechanism.requireObject(LocationTag.class)) {
if (!getCitizen().hasTrait(Waypoints.class)) {
getCitizen().addTrait(Waypoints.class);
}
Waypoints wp = getCitizen().getOrAddTrait(Waypoints.class);
if ((wp.getCurrentProvider() instanceof WaypointProvider.EnumerableWaypointProvider)) {
((List<Waypoint>) ((WaypointProvider.EnumerableWaypointProvider) wp.getCurrentProvider()).waypoints())
Expand Down
Expand Up @@ -59,7 +59,10 @@ public ExperienceCommand() {
private enum Type {SET, GIVE, TAKE}

public static void setTotalExperience(Player player, int exp) {
player.setTotalExperience(exp);
player.setTotalExperience(0);
player.setLevel(0);
player.setExp(0);
player.giveExp(exp);
}

public static void takeExperience(Player player, int toTake) {
Expand All @@ -83,9 +86,7 @@ public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException
Type type = Type.SET;
boolean level = false;
boolean silent = false;

for (Argument arg : scriptEntry.getProcessedArgs()) {

if (arg.matchesInteger()) {
amount = arg.asElement().asInt();
}
Expand All @@ -102,32 +103,24 @@ else if (arg.matches("silent")) {
arg.reportUnhandled();
}
}

scriptEntry.addObject("quantity", amount)
.addObject("type", type)
.addObject("level", level)
.addObject("silent", silent);

}

@Override
public void execute(ScriptEntry scriptEntry) {

Type type = (Type) scriptEntry.getObject("type");
int quantity = (int) scriptEntry.getObject("quantity");
Boolean level = (Boolean) scriptEntry.getObject("level");
//Boolean silent = (Boolean) scriptEntry.getObject("silent");

if (scriptEntry.dbCallShouldDebug()) {

Debug.report(scriptEntry, name, ArgumentHelper.debugObj("Type", type.toString())
+ ArgumentHelper.debugObj("Quantity", level ? quantity + " levels" : quantity)
+ ArgumentHelper.debugObj("Player", Utilities.getEntryPlayer(scriptEntry).getName()));

}

Player player = Utilities.getEntryPlayer(scriptEntry).getPlayerEntity();

switch (type) {
case SET:
if (level) {
Expand All @@ -137,7 +130,6 @@ public void execute(ScriptEntry scriptEntry) {
setTotalExperience(player, quantity);
}
break;

case GIVE:
if (level) {
player.setLevel(player.getLevel() + quantity);
Expand All @@ -146,7 +138,6 @@ public void execute(ScriptEntry scriptEntry) {
player.giveExp(quantity);
}
break;

case TAKE:
if (level) {
int value = player.getLevel() - quantity;
Expand All @@ -157,6 +148,5 @@ public void execute(ScriptEntry scriptEntry) {
}
break;
}

}
}

0 comments on commit 95d42b5

Please sign in to comment.