From d09a733f2a25dd15baa26ac136f4e975c0b56169 Mon Sep 17 00:00:00 2001
From: punchready <marlin.gorsleben@gmail.com>
Date: Mon, 31 May 2021 17:50:15 +0200
Subject: [PATCH] feat: add CharacterConfig

---
 .../json/config/CharacterConfig.java           |  8 ++++++++
 .../json/config/CharacterProperties.java       | 18 ++++++++++++++++++
 .../json/config/ScenarioConfig.java            |  1 -
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterConfig.java
 create mode 100644 src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterProperties.java

diff --git a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterConfig.java b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterConfig.java
new file mode 100644
index 0000000..0b0f0b6
--- /dev/null
+++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterConfig.java
@@ -0,0 +1,8 @@
+package uulm.teamname.marvelous.gamelibrary.json.config;
+
+/**
+ * POJO describing the CharacterConfig as defined by the standard document.
+ */
+public class CharacterConfig {
+    public CharacterProperties[] characters;
+}
diff --git a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterProperties.java b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterProperties.java
new file mode 100644
index 0000000..130ff68
--- /dev/null
+++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/CharacterProperties.java
@@ -0,0 +1,18 @@
+package uulm.teamname.marvelous.gamelibrary.json.config;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents properties of a character in the {@link CharacterConfig}.
+ */
+public class CharacterProperties {
+    public String name;
+    public int HP;
+    public int MP;
+    public int AP;
+    public int meleeDamage;
+    @JsonProperty("rangeCombatDamage")
+    public int rangedDamage;
+    @JsonProperty("rangeCombatReach")
+    public int attackRange;
+}
diff --git a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/ScenarioConfig.java b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/ScenarioConfig.java
index eeebbce..a330e5e 100644
--- a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/ScenarioConfig.java
+++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/config/ScenarioConfig.java
@@ -6,7 +6,6 @@ import uulm.teamname.marvelous.gamelibrary.json.config.FieldType;
  * POJO describing the ScenarioConfig as defined by the standard document
  */
 public class ScenarioConfig {
-
     /** An array containing the map based on the {@link FieldType} enum. So, ROCK and GRASS basically. */
     public FieldType[][] scenario;