mirror of
https://github.com/kuroppoi/entralinked.git
synced 2026-09-30 11:26:36 -05:00
Add option to choose encounter gender
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.";
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -138,6 +138,12 @@
|
||||
<input id="encounter-form-move" name="move" type="number" value="1" min="1" max="559"/>
|
||||
<label for="encounter-form-form">Forme Index</label>
|
||||
<input id="encounter-form-form" name="form" type="number" value="0" min="0" max="31"/>
|
||||
<label for="encounter-form-gender">Gender</label>
|
||||
<select id="encounter-form-gender" name="gender" value="GENDERLESS">
|
||||
<option value="MALE">Male</option>
|
||||
<option value="FEMALE">Female</option>
|
||||
<option value="GENDERLESS">Random</option>
|
||||
</select>
|
||||
<label for="encounter-form-animation">Animation</label>
|
||||
<select id="encounter-form-animation" name="animation">
|
||||
<option value="LOOK_AROUND">Look Around</option>
|
||||
|
||||
@@ -14,6 +14,7 @@ const ELEMENT_DREAMER_LEVEL = document.getElementById("dreamer-level");
|
||||
const ELEMENT_ENCOUNTER_SPECIES = document.getElementById("encounter-form-species");
|
||||
const ELEMENT_ENCOUNTER_MOVE = document.getElementById("encounter-form-move");
|
||||
const ELEMENT_ENCOUNTER_FORM = document.getElementById("encounter-form-form");
|
||||
const ELEMENT_ENCOUNTER_GENDER = document.getElementById("encounter-form-gender");
|
||||
const ELEMENT_ENCOUNTER_ANIMATION = document.getElementById("encounter-form-animation");
|
||||
|
||||
// Item form elements
|
||||
@@ -60,6 +61,7 @@ function configureEncounter(index) {
|
||||
ELEMENT_ENCOUNTER_SPECIES.value = encounter ? encounter.species : 1;
|
||||
ELEMENT_ENCOUNTER_MOVE.value = encounter ? encounter.move : 1;
|
||||
ELEMENT_ENCOUNTER_FORM.value = encounter ? encounter.form : 0;
|
||||
ELEMENT_ENCOUNTER_GENDER.value = encounter ? encounter.gender : "GENDERLESS";
|
||||
ELEMENT_ENCOUNTER_ANIMATION.value = encounter ? encounter.animation : "WALK_AROUND";
|
||||
}
|
||||
|
||||
@@ -73,6 +75,7 @@ function saveEncounter() {
|
||||
species: ELEMENT_ENCOUNTER_SPECIES.value,
|
||||
move: ELEMENT_ENCOUNTER_MOVE.value,
|
||||
form: ELEMENT_ENCOUNTER_FORM.value,
|
||||
gender: ELEMENT_ENCOUNTER_GENDER.value,
|
||||
animation: ELEMENT_ENCOUNTER_ANIMATION.value
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user