From 3948a6df8a4143323ba48cd0d26bc3a0d5f7400c Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 17 Apr 2023 00:55:09 +0800 Subject: [PATCH] Update AdventureQuestStage.java format --- .../adventure/data/AdventureQuestStage.java | 155 ++++++++---------- 1 file changed, 68 insertions(+), 87 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java index 4ac705cd8d7..c1edff19067 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java @@ -50,8 +50,8 @@ public class AdventureQuestStage implements Serializable { public UUID stageID; - public void initialize(){ - if (stageID == null){ + public void initialize() { + if (stageID == null) { stageID = UUID.randomUUID(); } } @@ -60,12 +60,12 @@ public class AdventureQuestStage implements Serializable { //Todo - implement } - public AdventureQuestController.QuestStatus getStatus(){ + public AdventureQuestController.QuestStatus getStatus() { return status; } - public void setStatus(AdventureQuestController.QuestStatus newStatus){ - if (!status.equals(newStatus) && newStatus.equals(AdventureQuestController.QuestStatus.Active)){ + public void setStatus(AdventureQuestController.QuestStatus newStatus) { + if (!status.equals(newStatus) && newStatus.equals(AdventureQuestController.QuestStatus.Active)) { AdventureQuestController.instance().addQuestSprites(this); } status = newStatus; @@ -80,30 +80,26 @@ public class AdventureQuestStage implements Serializable { targetPOI = target; } - public void setTargetPOI(Dictionary poiTokens){ - - if (POIToken != null && POIToken.length() > 0){ + public void setTargetPOI(Dictionary poiTokens) { + if (POIToken != null && POIToken.length() > 0) { PointOfInterest tokenTarget = poiTokens.get(POIToken); - if (tokenTarget != null){ + if (tokenTarget != null) { setTargetPOI(tokenTarget); return; - } - else{ - System.out.println("Quest Stage '" + this.name+ "' failed to generate POI from token reference: '" + POIToken +"'"); + } else { + System.out.println("Quest Stage '" + this.name + "' failed to generate POI from token reference: '" + POIToken + "'"); } } - if (here){ + if (here) { setTargetPOI(AdventureQuestController.instance().mostRecentPOI); return; } if (!anyPOI) { List candidates = Current.world().getAllPointOfInterest(); - for (String tag : POITags) - { + for (String tag : POITags) { candidates.removeIf(q -> Arrays.stream(q.getData().questTags).noneMatch(tag::equals)); } - if (candidates.size() < 1) - { + if (candidates.size() < 1) { //no POI matched, fall back to anyPOI valid for the objective that doesn't match all tags candidates = Current.world().getAllPointOfInterest(); if (objective == AdventureQuestController.ObjectiveTypes.Clear) @@ -112,16 +108,15 @@ public class AdventureQuestStage implements Serializable { candidates.removeIf(q -> Arrays.asList(q.getData().questTags).contains("Hostile")); return; } - count1 = (count1* candidates.size()/ 100); - count2 = (count2* candidates.size()) /100; - int targetIndex = Math.max(0,(int) (count1 - count2 + (new Random().nextFloat() * count2 * 2))); + count1 = (count1 * candidates.size() / 100); + count2 = (count2 * candidates.size()) / 100; + int targetIndex = Math.max(0, (int) (count1 - count2 + (new Random().nextFloat() * count2 * 2))); if (targetIndex < candidates.size() && targetIndex > 0 && count1 > 0) { candidates.sort(new AdventureQuestController.DistanceSort()); setTargetPOI(candidates.get(targetIndex)); - } - else{ - if (count1 !=0 || count2 != 0) { + } else { + if (count1 != 0 || count2 != 0) { System.out.println("Quest Stage '" + this.name + "' has invalid count1 ('" + count1 + "') and/or count2 ('" + count2 + "') value"); } setTargetPOI(Aggregates.random(candidates)); @@ -133,11 +128,13 @@ public class AdventureQuestStage implements Serializable { public EnemySprite getTargetSprite() { return targetSprite; } + public void setTargetEnemyData(EnemyData target) { targetEnemyData = target; } + public EnemyData getTargetEnemyData() { - if (targetEnemyData == null & targetSprite!=null) + if (targetEnemyData == null & targetSprite != null) return targetSprite.getData(); return targetEnemyData; } @@ -147,13 +144,11 @@ public class AdventureQuestStage implements Serializable { } public AdventureQuestController.QuestStatus updateEnterPOI(PointOfInterest entered) { - if (getStatus() == AdventureQuestController.QuestStatus.Complete){ + if (getStatus() == AdventureQuestController.QuestStatus.Complete) { return status; - } - else if (getStatus() == AdventureQuestController.QuestStatus.Failed){ + } else if (getStatus() == AdventureQuestController.QuestStatus.Failed) { return status; - } - else{ + } else { checkIfInTargetLocation(entered); if (inTargetLocation && (this.objective == AdventureQuestController.ObjectiveTypes.Delivery || @@ -164,14 +159,12 @@ public class AdventureQuestStage implements Serializable { return status; } - public AdventureQuestController.QuestStatus updateMapFlag(String mapFlag, int mapFlagValue){ - if (getStatus() == AdventureQuestController.QuestStatus.Complete){ + public AdventureQuestController.QuestStatus updateMapFlag(String mapFlag, int mapFlagValue) { + if (getStatus() == AdventureQuestController.QuestStatus.Complete) { return status; - } - else if (getStatus() == AdventureQuestController.QuestStatus.Failed){ + } else if (getStatus() == AdventureQuestController.QuestStatus.Failed) { return status; - } - else { + } else { if (this.objective == AdventureQuestController.ObjectiveTypes.MapFlag) { if (mapFlag.equals(this.mapFlag) && mapFlagValue >= this.mapFlagValue) status = AdventureQuestController.QuestStatus.Complete; @@ -179,38 +172,36 @@ public class AdventureQuestStage implements Serializable { return status; } } - public AdventureQuestController.QuestStatus updateLeave(){ - if (status == AdventureQuestController.QuestStatus.Complete){ + + public AdventureQuestController.QuestStatus updateLeave() { + if (status == AdventureQuestController.QuestStatus.Complete) { return status; } - if (status == AdventureQuestController.QuestStatus.Failed){ + if (status == AdventureQuestController.QuestStatus.Failed) { return status; } inTargetLocation = false; //todo: handle case when called between multi-map PoIs (if necessary) - if (this.objective == AdventureQuestController.ObjectiveTypes.Leave){ + if (this.objective == AdventureQuestController.ObjectiveTypes.Leave) { status = AdventureQuestController.QuestStatus.Complete; } return status; } - public AdventureQuestController.QuestStatus updateWin(EnemySprite defeated, boolean mapCleared){ + public AdventureQuestController.QuestStatus updateWin(EnemySprite defeated, boolean mapCleared) { //todo - Does this need to also be called for alternate mob removal types? - if (status == AdventureQuestController.QuestStatus.Complete){ + if (status == AdventureQuestController.QuestStatus.Complete) { return status; } - if (status == AdventureQuestController.QuestStatus.Failed){ + if (status == AdventureQuestController.QuestStatus.Failed) { return status; } - if (this.objective == AdventureQuestController.ObjectiveTypes.Clear) - { - if (mapCleared && inTargetLocation) - { + if (this.objective == AdventureQuestController.ObjectiveTypes.Clear) { + if (mapCleared && inTargetLocation) { status = AdventureQuestController.QuestStatus.Complete; } - } - else if (this.objective == AdventureQuestController.ObjectiveTypes.Defeat) { + } else if (this.objective == AdventureQuestController.ObjectiveTypes.Defeat) { { - if (mixedEnemies){ + if (mixedEnemies) { List defeatedTags = Arrays.stream(defeated.getData().questTags).collect(Collectors.toList()); for (String targetTag : enemyTags) { if (!defeatedTags.contains(targetTag)) { @@ -218,50 +209,45 @@ public class AdventureQuestStage implements Serializable { return status; } } - } - else{ - if (defeated.getData()!=targetEnemyData) + } else { + if (defeated.getData() != targetEnemyData) //Does not count return status; } //All tags matched, kill confirmed - if (++progress1 >= count1){ + if (++progress1 >= count1) { status = AdventureQuestController.QuestStatus.Complete; } } - } - else if (this.objective == AdventureQuestController.ObjectiveTypes.Hunt) - { - if (defeated.equals(targetSprite)){ + } else if (this.objective == AdventureQuestController.ObjectiveTypes.Hunt) { + if (defeated.equals(targetSprite)) { status = AdventureQuestController.QuestStatus.Complete; - } + } } return status; } - public void checkIfInTargetLocation(PointOfInterest entered){ - if (targetPOI == null){ + public void checkIfInTargetLocation(PointOfInterest entered) { + if (targetPOI == null) { List enteredTags = Arrays.stream(entered.getData().questTags).collect(Collectors.toList()); - for (String tag : POITags){ + for (String tag : POITags) { if (!enteredTags.contains(tag)) { inTargetLocation = false; return; } } - } - else if (!targetPOI.getPosition().equals(entered.getPosition())){ + } else if (!targetPOI.getPosition().equals(entered.getPosition())) { inTargetLocation = false; return; } inTargetLocation = true; } - public AdventureQuestController.QuestStatus updateLose(EnemySprite defeatedBy){ - + public AdventureQuestController.QuestStatus updateLose(EnemySprite defeatedBy) { if (status != AdventureQuestController.QuestStatus.Failed && this.objective == AdventureQuestController.ObjectiveTypes.Defeat) { { - if (mixedEnemies){ + if (mixedEnemies) { List defeatedByTags = Arrays.stream(defeatedBy.getData().questTags).collect(Collectors.toList()); for (String targetTag : enemyTags) { if (!defeatedByTags.contains(targetTag)) { @@ -269,58 +255,53 @@ public class AdventureQuestStage implements Serializable { return status; } } - } - else{ - if (defeatedBy.getData()!=targetEnemyData) + } else { + if (defeatedBy.getData() != targetEnemyData) //Does not count return status; } //All tags matched //progress2: number of times defeated by a matching enemy //count2: if > 0, fail once defeated this many times - if (status == AdventureQuestController.QuestStatus.Active && ++progress2 >= count2 && count2 > 0){ + if (status == AdventureQuestController.QuestStatus.Active && ++progress2 >= count2 && count2 > 0) { status = AdventureQuestController.QuestStatus.Failed; } } - } - else if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) - { - if (defeatedBy.equals(targetSprite)){ + } else if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) { + if (defeatedBy.equals(targetSprite)) { status = AdventureQuestController.QuestStatus.Failed; } } return status; } - public AdventureQuestController.QuestStatus updateDespawn(EnemySprite despawned){ - if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) - { - if (despawned.equals(targetSprite)){ + public AdventureQuestController.QuestStatus updateDespawn(EnemySprite despawned) { + if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) { + if (despawned.equals(targetSprite)) { status = AdventureQuestController.QuestStatus.Failed; } } return status; } - public void updateArenaComplete(boolean winner){ - if (this.objective == AdventureQuestController.ObjectiveTypes.Arena) - { - if (inTargetLocation){ - if (winner){ + public void updateArenaComplete(boolean winner) { + if (this.objective == AdventureQuestController.ObjectiveTypes.Arena) { + if (inTargetLocation) { + if (winner) { status = AdventureQuestController.QuestStatus.Complete; - } - else { + } else { status = AdventureQuestController.QuestStatus.Failed; } } } } - public AdventureQuestStage(){ + public AdventureQuestStage() { } - public AdventureQuestStage(AdventureQuestStage other){ + + public AdventureQuestStage(AdventureQuestStage other) { this.status = other.status; this.prologueDisplayed = other.prologueDisplayed; this.prologue = new DialogData(other.prologue);