diff --git a/src/main/java/entralinked/model/player/DreamEncounter.java b/src/main/java/entralinked/model/player/DreamEncounter.java index 44db730..e5dd88b 100644 --- a/src/main/java/entralinked/model/player/DreamEncounter.java +++ b/src/main/java/entralinked/model/player/DreamEncounter.java @@ -2,8 +2,17 @@ package entralinked.model.player; import com.fasterxml.jackson.annotation.JsonProperty; +import entralinked.model.pkmn.PkmnGender; + public record DreamEncounter( - @JsonProperty(required = true) int species, - @JsonProperty(required = true) int move, - @JsonProperty(required = true) int form, - @JsonProperty(required = true) DreamAnimation animation) {} + @JsonProperty(required = true) int species, + @JsonProperty(required = true) int move, + @JsonProperty(required = true) int form, + @JsonProperty(required = false) PkmnGender gender, // Can't require cuz it's new + @JsonProperty(required = true) DreamAnimation animation) { + + @Override + public PkmnGender gender() { + return gender == null ? PkmnGender.GENDERLESS : gender; // Default to genderless (random gender) if not present + } +} diff --git a/src/main/java/entralinked/network/http/dashboard/DashboardHandler.java b/src/main/java/entralinked/network/http/dashboard/DashboardHandler.java index da1fc25..203b0a0 100644 --- a/src/main/java/entralinked/network/http/dashboard/DashboardHandler.java +++ b/src/main/java/entralinked/network/http/dashboard/DashboardHandler.java @@ -195,6 +195,8 @@ public class DashboardHandler implements HttpHandler { return "Species is out of range."; } else if(encounter.move() < 1 || encounter.move() > 559) { return "Move ID is out of range."; + } else if(encounter.gender() == null) { + return "Gender is undefined."; } else if(encounter.animation() == null) { return "Animation is undefined."; } diff --git a/src/main/java/entralinked/network/http/pgl/PglHandler.java b/src/main/java/entralinked/network/http/pgl/PglHandler.java index c2613ae..9579f91 100644 --- a/src/main/java/entralinked/network/http/pgl/PglHandler.java +++ b/src/main/java/entralinked/network/http/pgl/PglHandler.java @@ -214,7 +214,7 @@ public class PglHandler implements HttpHandler { outputStream.writeShort(encounter.species()); outputStream.writeShort(encounter.move()); outputStream.write(encounter.form()); - outputStream.write(0); // unknown + outputStream.write(encounter.gender().ordinal()); // Genderless = 2 = random outputStream.write(encounter.animation().ordinal()); outputStream.write(0); // unknown } diff --git a/src/main/resources/dashboard/profile.html b/src/main/resources/dashboard/profile.html index d6e6dde..732d2b9 100644 --- a/src/main/resources/dashboard/profile.html +++ b/src/main/resources/dashboard/profile.html @@ -138,6 +138,12 @@ + +