Update AdventureQuestStage.java

format
This commit is contained in:
Anthony Calosa
2023-04-17 00:55:09 +08:00
committed by GitHub
parent 21d4478f28
commit 3948a6df8a

View File

@@ -81,14 +81,12 @@ public class AdventureQuestStage implements Serializable {
} }
public void setTargetPOI(Dictionary<String, PointOfInterest> poiTokens) { public void setTargetPOI(Dictionary<String, PointOfInterest> poiTokens) {
if (POIToken != null && POIToken.length() > 0) { if (POIToken != null && POIToken.length() > 0) {
PointOfInterest tokenTarget = poiTokens.get(POIToken); PointOfInterest tokenTarget = poiTokens.get(POIToken);
if (tokenTarget != null) { if (tokenTarget != null) {
setTargetPOI(tokenTarget); setTargetPOI(tokenTarget);
return; return;
} } else {
else{
System.out.println("Quest Stage '" + this.name + "' failed to generate POI from token reference: '" + POIToken + "'"); System.out.println("Quest Stage '" + this.name + "' failed to generate POI from token reference: '" + POIToken + "'");
} }
} }
@@ -98,12 +96,10 @@ public class AdventureQuestStage implements Serializable {
} }
if (!anyPOI) { if (!anyPOI) {
List<PointOfInterest> candidates = Current.world().getAllPointOfInterest(); List<PointOfInterest> candidates = Current.world().getAllPointOfInterest();
for (String tag : POITags) for (String tag : POITags) {
{
candidates.removeIf(q -> Arrays.stream(q.getData().questTags).noneMatch(tag::equals)); 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 //no POI matched, fall back to anyPOI valid for the objective that doesn't match all tags
candidates = Current.world().getAllPointOfInterest(); candidates = Current.world().getAllPointOfInterest();
if (objective == AdventureQuestController.ObjectiveTypes.Clear) if (objective == AdventureQuestController.ObjectiveTypes.Clear)
@@ -119,8 +115,7 @@ public class AdventureQuestStage implements Serializable {
if (targetIndex < candidates.size() && targetIndex > 0 && count1 > 0) { if (targetIndex < candidates.size() && targetIndex > 0 && count1 > 0) {
candidates.sort(new AdventureQuestController.DistanceSort()); candidates.sort(new AdventureQuestController.DistanceSort());
setTargetPOI(candidates.get(targetIndex)); setTargetPOI(candidates.get(targetIndex));
} } else {
else{
if (count1 != 0 || count2 != 0) { if (count1 != 0 || count2 != 0) {
System.out.println("Quest Stage '" + this.name + "' has invalid count1 ('" + count1 + "') and/or count2 ('" + count2 + "') value"); System.out.println("Quest Stage '" + this.name + "' has invalid count1 ('" + count1 + "') and/or count2 ('" + count2 + "') value");
} }
@@ -133,9 +128,11 @@ public class AdventureQuestStage implements Serializable {
public EnemySprite getTargetSprite() { public EnemySprite getTargetSprite() {
return targetSprite; return targetSprite;
} }
public void setTargetEnemyData(EnemyData target) { public void setTargetEnemyData(EnemyData target) {
targetEnemyData = target; targetEnemyData = target;
} }
public EnemyData getTargetEnemyData() { public EnemyData getTargetEnemyData() {
if (targetEnemyData == null & targetSprite != null) if (targetEnemyData == null & targetSprite != null)
return targetSprite.getData(); return targetSprite.getData();
@@ -149,11 +146,9 @@ public class AdventureQuestStage implements Serializable {
public AdventureQuestController.QuestStatus updateEnterPOI(PointOfInterest entered) { public AdventureQuestController.QuestStatus updateEnterPOI(PointOfInterest entered) {
if (getStatus() == AdventureQuestController.QuestStatus.Complete) { if (getStatus() == AdventureQuestController.QuestStatus.Complete) {
return status; return status;
} } else if (getStatus() == AdventureQuestController.QuestStatus.Failed) {
else if (getStatus() == AdventureQuestController.QuestStatus.Failed){
return status; return status;
} } else {
else{
checkIfInTargetLocation(entered); checkIfInTargetLocation(entered);
if (inTargetLocation && if (inTargetLocation &&
(this.objective == AdventureQuestController.ObjectiveTypes.Delivery || (this.objective == AdventureQuestController.ObjectiveTypes.Delivery ||
@@ -167,11 +162,9 @@ public class AdventureQuestStage implements Serializable {
public AdventureQuestController.QuestStatus updateMapFlag(String mapFlag, int mapFlagValue) { public AdventureQuestController.QuestStatus updateMapFlag(String mapFlag, int mapFlagValue) {
if (getStatus() == AdventureQuestController.QuestStatus.Complete) { if (getStatus() == AdventureQuestController.QuestStatus.Complete) {
return status; return status;
} } else if (getStatus() == AdventureQuestController.QuestStatus.Failed) {
else if (getStatus() == AdventureQuestController.QuestStatus.Failed){
return status; return status;
} } else {
else {
if (this.objective == AdventureQuestController.ObjectiveTypes.MapFlag) { if (this.objective == AdventureQuestController.ObjectiveTypes.MapFlag) {
if (mapFlag.equals(this.mapFlag) && mapFlagValue >= this.mapFlagValue) if (mapFlag.equals(this.mapFlag) && mapFlagValue >= this.mapFlagValue)
status = AdventureQuestController.QuestStatus.Complete; status = AdventureQuestController.QuestStatus.Complete;
@@ -179,6 +172,7 @@ public class AdventureQuestStage implements Serializable {
return status; return status;
} }
} }
public AdventureQuestController.QuestStatus updateLeave() { public AdventureQuestController.QuestStatus updateLeave() {
if (status == AdventureQuestController.QuestStatus.Complete) { if (status == AdventureQuestController.QuestStatus.Complete) {
return status; return status;
@@ -201,14 +195,11 @@ public class AdventureQuestStage implements Serializable {
if (status == AdventureQuestController.QuestStatus.Failed) { if (status == AdventureQuestController.QuestStatus.Failed) {
return status; return status;
} }
if (this.objective == AdventureQuestController.ObjectiveTypes.Clear) if (this.objective == AdventureQuestController.ObjectiveTypes.Clear) {
{ if (mapCleared && inTargetLocation) {
if (mapCleared && inTargetLocation)
{
status = AdventureQuestController.QuestStatus.Complete; status = AdventureQuestController.QuestStatus.Complete;
} }
} } else if (this.objective == AdventureQuestController.ObjectiveTypes.Defeat) {
else if (this.objective == AdventureQuestController.ObjectiveTypes.Defeat) {
{ {
if (mixedEnemies) { if (mixedEnemies) {
List<String> defeatedTags = Arrays.stream(defeated.getData().questTags).collect(Collectors.toList()); List<String> defeatedTags = Arrays.stream(defeated.getData().questTags).collect(Collectors.toList());
@@ -218,8 +209,7 @@ public class AdventureQuestStage implements Serializable {
return status; return status;
} }
} }
} } else {
else{
if (defeated.getData() != targetEnemyData) if (defeated.getData() != targetEnemyData)
//Does not count //Does not count
return status; return status;
@@ -229,9 +219,7 @@ public class AdventureQuestStage implements Serializable {
status = AdventureQuestController.QuestStatus.Complete; status = AdventureQuestController.QuestStatus.Complete;
} }
} }
} } else if (this.objective == AdventureQuestController.ObjectiveTypes.Hunt) {
else if (this.objective == AdventureQuestController.ObjectiveTypes.Hunt)
{
if (defeated.equals(targetSprite)) { if (defeated.equals(targetSprite)) {
status = AdventureQuestController.QuestStatus.Complete; status = AdventureQuestController.QuestStatus.Complete;
} }
@@ -249,8 +237,7 @@ public class AdventureQuestStage implements Serializable {
return; return;
} }
} }
} } else if (!targetPOI.getPosition().equals(entered.getPosition())) {
else if (!targetPOI.getPosition().equals(entered.getPosition())){
inTargetLocation = false; inTargetLocation = false;
return; return;
} }
@@ -258,7 +245,6 @@ public class AdventureQuestStage implements Serializable {
} }
public AdventureQuestController.QuestStatus updateLose(EnemySprite defeatedBy) { public AdventureQuestController.QuestStatus updateLose(EnemySprite defeatedBy) {
if (status != AdventureQuestController.QuestStatus.Failed && this.objective == AdventureQuestController.ObjectiveTypes.Defeat) { if (status != AdventureQuestController.QuestStatus.Failed && this.objective == AdventureQuestController.ObjectiveTypes.Defeat) {
{ {
if (mixedEnemies) { if (mixedEnemies) {
@@ -269,8 +255,7 @@ public class AdventureQuestStage implements Serializable {
return status; return status;
} }
} }
} } else {
else{
if (defeatedBy.getData() != targetEnemyData) if (defeatedBy.getData() != targetEnemyData)
//Does not count //Does not count
return status; return status;
@@ -283,9 +268,7 @@ public class AdventureQuestStage implements Serializable {
} }
} }
} } else if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) {
else if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt)
{
if (defeatedBy.equals(targetSprite)) { if (defeatedBy.equals(targetSprite)) {
status = AdventureQuestController.QuestStatus.Failed; status = AdventureQuestController.QuestStatus.Failed;
} }
@@ -294,8 +277,7 @@ public class AdventureQuestStage implements Serializable {
} }
public AdventureQuestController.QuestStatus updateDespawn(EnemySprite despawned) { public AdventureQuestController.QuestStatus updateDespawn(EnemySprite despawned) {
if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) if (status == AdventureQuestController.QuestStatus.Active && this.objective == AdventureQuestController.ObjectiveTypes.Hunt) {
{
if (despawned.equals(targetSprite)) { if (despawned.equals(targetSprite)) {
status = AdventureQuestController.QuestStatus.Failed; status = AdventureQuestController.QuestStatus.Failed;
} }
@@ -304,13 +286,11 @@ public class AdventureQuestStage implements Serializable {
} }
public void updateArenaComplete(boolean winner) { public void updateArenaComplete(boolean winner) {
if (this.objective == AdventureQuestController.ObjectiveTypes.Arena) if (this.objective == AdventureQuestController.ObjectiveTypes.Arena) {
{
if (inTargetLocation) { if (inTargetLocation) {
if (winner) { if (winner) {
status = AdventureQuestController.QuestStatus.Complete; status = AdventureQuestController.QuestStatus.Complete;
} } else {
else {
status = AdventureQuestController.QuestStatus.Failed; status = AdventureQuestController.QuestStatus.Failed;
} }
} }
@@ -320,6 +300,7 @@ public class AdventureQuestStage implements Serializable {
public AdventureQuestStage() { public AdventureQuestStage() {
} }
public AdventureQuestStage(AdventureQuestStage other) { public AdventureQuestStage(AdventureQuestStage other) {
this.status = other.status; this.status = other.status;
this.prologueDisplayed = other.prologueDisplayed; this.prologueDisplayed = other.prologueDisplayed;