@@ -114,6 +114,9 @@ _New contributions may take up to 1 hour to be reflected._
| name | ratio | Description |
|------------------------------------------------------------------------------------------------------|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| QUOKKA
| 0.3 | |
+| QUOKKA_LEAF
| 0.1 | |
+| QUOKKA_SUNGLASSES
| 0.05 | |
| FISH_MAN
| 0.001 | |
| FISH_MAN_GLASSES
| 0.001 | |
| flamingo
| 0.08 | |
diff --git a/README.md b/README.md
index a2b99cd..07ff9c7 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
-
+
⭐스타를 눌러주세요 개발에 큰 도움이 됩니다!⭐️
@@ -109,6 +109,9 @@ _새로운 contribution은 반영은 최대 1시간이 소요될 수 있어요._
| name | ratio | Description |
|------------------------------------------------------------------------------------------------------|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| QUOKKA
| 0.3 | |
+| QUOKKA_LEAF
| 0.1 | |
+| QUOKKA_SUNGLASSES
| 0.05 | |
| FISH_MAN
| 0.001 | |
| FISH_MAN_GLASSES
| 0.001 | |
| flamingo
| 0.08 | |
diff --git a/docs/quokka-leaf.svg b/docs/quokka-leaf.svg
new file mode 100644
index 0000000..0cfe851
--- /dev/null
+++ b/docs/quokka-leaf.svg
@@ -0,0 +1,137 @@
+
diff --git a/docs/quokka-sunglasses.svg b/docs/quokka-sunglasses.svg
new file mode 100644
index 0000000..c6a44f9
--- /dev/null
+++ b/docs/quokka-sunglasses.svg
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/quokka.svg b/docs/quokka.svg
new file mode 100644
index 0000000..0bdc9b7
--- /dev/null
+++ b/docs/quokka.svg
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/kotlin/org/gitanimals/render/domain/PersonaType.kt b/src/main/kotlin/org/gitanimals/render/domain/PersonaType.kt
index 9f1c7d6..fc2155a 100644
--- a/src/main/kotlin/org/gitanimals/render/domain/PersonaType.kt
+++ b/src/main/kotlin/org/gitanimals/render/domain/PersonaType.kt
@@ -1010,7 +1010,52 @@ enum class PersonaType(private val weight: Double) {
override fun act(id: Long): String =
StringBuilder().moveRandomly("fishman", id, 15, "180s", 5, 16.5)
.toString()
- }
+ },
+ QUOKKA(0.3) {
+ override fun loadSvg(user: User, persona: Persona, mode: Mode): String {
+ return quokkaSvg.replace("*{act}", act(persona.id))
+ .replace("*{id}", persona.id.toString())
+ .replace("*{level}", persona.level.value.toSvg(14.0, 2.0))
+ .replace(
+ "*{levelx}",
+ (-9 + (-1 * (persona.level.value.toString().length))).toString()
+ )
+ }
+
+ override fun act(id: Long): String =
+ StringBuilder().moveRandomly("quokka", id, 40, "180s", 5, 10.0)
+ .toString()
+ },
+ QUOKKA_LEAF(0.1) {
+ override fun loadSvg(user: User, persona: Persona, mode: Mode): String {
+ return quokkaLeafSvg.replace("*{act}", act(persona.id))
+ .replace("*{id}", persona.id.toString())
+ .replace("*{level}", persona.level.value.toSvg(14.0, 2.0))
+ .replace(
+ "*{levelx}",
+ (-9 + (-1 * (persona.level.value.toString().length))).toString()
+ )
+ }
+
+ override fun act(id: Long): String =
+ StringBuilder().moveRandomly("quokka", id, 40, "180s", 5, 10.0)
+ .toString()
+ },
+ QUOKKA_SUNGLASSES(0.05) {
+ override fun loadSvg(user: User, persona: Persona, mode: Mode): String {
+ return quokkaSunglassesSvg.replace("*{act}", act(persona.id))
+ .replace("*{id}", persona.id.toString())
+ .replace("*{level}", persona.level.value.toSvg(14.0, 2.0))
+ .replace(
+ "*{levelx}",
+ (-9 + (-1 * (persona.level.value.toString().length))).toString()
+ )
+ }
+
+ override fun act(id: Long): String =
+ StringBuilder().moveRandomly("quokka", id, 40, "180s", 5, 10.0)
+ .toString()
+ },
;
init {
@@ -1082,7 +1127,7 @@ enum class PersonaType(private val weight: Double) {
speed: Int,
duration: String,
personaWidth: Long,
- flippedWidth: Double,
+ flippedWidth: Double, // flippedWidth = persona width * 3 / 2
): StringBuilder {
val movingPoints = getMovingPoints(speed)
diff --git a/src/main/kotlin/org/gitanimals/render/domain/Svgs.kt b/src/main/kotlin/org/gitanimals/render/domain/Svgs.kt
index 3884ade..fec10ae 100644
--- a/src/main/kotlin/org/gitanimals/render/domain/Svgs.kt
+++ b/src/main/kotlin/org/gitanimals/render/domain/Svgs.kt
@@ -178,6 +178,16 @@ val fishManSvg: String = ClassPathResource("persona/animal/fishman.svg")
val fishManGlassesSvg: String = ClassPathResource("persona/animal/fishman-glasses.svg")
.getContentAsString(Charset.defaultCharset())
+val quokkaSvg: String = ClassPathResource("persona/animal/quokka.svg")
+ .getContentAsString(Charset.defaultCharset())
+
+val quokkaLeafSvg: String = ClassPathResource("persona/animal/quokka-leaf.svg")
+ .getContentAsString(Charset.defaultCharset())
+
+val quokkaSunglassesSvg: String = ClassPathResource("persona/animal/quokka-sunglasses.svg")
+ .getContentAsString(Charset.defaultCharset())
+
+
val largeTextSvgs = lazy {
val map = mutableMapOf
()
for (i in 'A'..'Z') {
diff --git a/src/main/resources/persona/animal/quokka-leaf.svg b/src/main/resources/persona/animal/quokka-leaf.svg
new file mode 100644
index 0000000..b7cd672
--- /dev/null
+++ b/src/main/resources/persona/animal/quokka-leaf.svg
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{contribution}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{level}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/persona/animal/quokka-sunglasses.svg b/src/main/resources/persona/animal/quokka-sunglasses.svg
new file mode 100644
index 0000000..a2fe10a
--- /dev/null
+++ b/src/main/resources/persona/animal/quokka-sunglasses.svg
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{contribution}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{level}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/persona/animal/quokka.svg b/src/main/resources/persona/animal/quokka.svg
new file mode 100644
index 0000000..e59d10a
--- /dev/null
+++ b/src/main/resources/persona/animal/quokka.svg
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{contribution}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{level}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test/resources/persona/goose/test.svg b/src/test/resources/persona/goose/test.svg
index 54046b8..6924b02 100644
--- a/src/test/resources/persona/goose/test.svg
+++ b/src/test/resources/persona/goose/test.svg
@@ -1,330 +1,154 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *{contribution}
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+ *{level}
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+