From cbd7f4a71da3d5f265ad6f8c127df24aaac89146 Mon Sep 17 00:00:00 2001
From: Noah Stolk <31079637+NoahStolk@users.noreply.github.com>
Date: Tue, 30 Aug 2022 21:17:37 +0200
Subject: [PATCH] Add Skull page
---
.../Extensions/EnemyExtensions.cs | 15 +++++
.../Pages/Wiki/Enemies/Andras.razor | 3 +
.../Pages/Wiki/Enemies/Centipede.razor | 3 +
.../Pages/Wiki/Enemies/Ghostpede.razor | 3 +
.../Pages/Wiki/Enemies/Gigapede.razor | 3 +
.../Pages/Wiki/Enemies/Leviathan.razor | 5 ++
.../Pages/Wiki/Enemies/Skull.razor | 63 +++++++++++++++++++
.../Pages/Wiki/Enemies/Spider.razor | 3 +
.../Pages/Wiki/Enemies/Squid.razor | 3 +
.../Pages/Wiki/Enemies/Thorn.razor | 3 +
.../Pages/Wiki/EnemiesPage.razor | 8 +--
11 files changed, 108 insertions(+), 4 deletions(-)
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Andras.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Centipede.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Ghostpede.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Gigapede.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Leviathan.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Spider.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Squid.razor
create mode 100644 src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Thorn.razor
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Extensions/EnemyExtensions.cs b/src/web-client/DevilDaggersInfo.Web.Client/Extensions/EnemyExtensions.cs
index e9d17f425..ef1c39ff6 100644
--- a/src/web-client/DevilDaggersInfo.Web.Client/Extensions/EnemyExtensions.cs
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Extensions/EnemyExtensions.cs
@@ -15,4 +15,19 @@ public static string GetImageName(this Enemy enemy)
.Replace(' ', '-')
.ToLower();
}
+
+ public static string GetUrl(this Enemy enemy)
+ {
+ string enemyName = enemy.Name.ToLower();
+ if (enemyName.Contains("skull"))
+ return "skull";
+
+ if (enemyName.StartsWith("squid"))
+ return "squid";
+
+ if (enemyName.EndsWith("orb"))
+ return "leviathan";
+
+ return enemyName.StartsWith("spider") ? "spider" : enemyName;
+ }
}
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Andras.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Andras.razor
new file mode 100644
index 000000000..65e89a81e
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Andras.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/andras"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Centipede.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Centipede.razor
new file mode 100644
index 000000000..7ac26f4f8
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Centipede.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/centipede"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Ghostpede.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Ghostpede.razor
new file mode 100644
index 000000000..5abb7ee31
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Ghostpede.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/ghostpede"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Gigapede.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Gigapede.razor
new file mode 100644
index 000000000..7b11d6d72
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Gigapede.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/gigapede"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Leviathan.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Leviathan.razor
new file mode 100644
index 000000000..c88fe168c
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Leviathan.razor
@@ -0,0 +1,5 @@
+@page "/wiki/enemies/leviathan"
+
+
+
+@*TODO: Orb since V3, V1 HP was 600.*@
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Skull.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Skull.razor
index 451d37b2e..eae1bd8a8 100644
--- a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Skull.razor
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Skull.razor
@@ -1,3 +1,66 @@
@page "/wiki/enemies/skull"
+
+
+ @foreach (Enemy enemy in _skulls)
+ {
+
+ }
+
+
+
+ Skulls are the most common enemy in the game. They are spawned by Squids.
+
+
+
+
+
+ Skulls can be transmuted by Leviathan and The Orb. This means they are sucked up and thrown back into the arena with their HP reset to a much larger value, making them much more dangerous.
+
+
+
+ @foreach (Enemy enemy in _transmutedSkulls)
+ {
+
+ }
+
+
+
+
+
+ Skull
+ HP
+ Gems
+ Death type
+ Base velocity
+ Max velocity
+ @foreach (Enemy enemy in _skulls.Concat(_transmutedSkulls))
+ {
+ @MarkupUtils.EnemyString(enemy)
+ @enemy.Hp
+ @enemy.Gems
+ @MarkupUtils.DeathString(enemy.Death)
+ TODO
+ TODO
+ }
+
+
+@code
+{
+ private readonly Enemy[] _skulls =
+ {
+ EnemiesV3_2.Skull1,
+ EnemiesV3_2.Skull2,
+ EnemiesV3_2.Skull3,
+ EnemiesV3_2.Skull4,
+ };
+
+ private readonly Enemy[] _transmutedSkulls =
+ {
+ EnemiesV3_2.TransmutedSkull1,
+ EnemiesV3_2.TransmutedSkull2,
+ EnemiesV3_2.TransmutedSkull3,
+ EnemiesV3_2.TransmutedSkull4,
+ };
+}
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Spider.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Spider.razor
new file mode 100644
index 000000000..4b3f80c23
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Spider.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/spider"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Squid.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Squid.razor
new file mode 100644
index 000000000..b4ffeae18
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Squid.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/squid"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Thorn.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Thorn.razor
new file mode 100644
index 000000000..a9ada874d
--- /dev/null
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/Enemies/Thorn.razor
@@ -0,0 +1,3 @@
+@page "/wiki/enemies/thorn"
+
+
diff --git a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/EnemiesPage.razor b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/EnemiesPage.razor
index 0057d2ee4..1c211f4ca 100644
--- a/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/EnemiesPage.razor
+++ b/src/web-client/DevilDaggersInfo.Web.Client/Pages/Wiki/EnemiesPage.razor
@@ -30,7 +30,7 @@
@foreach (Enemy enemy in enemies)
{
-
+
}
@@ -165,12 +165,12 @@
{
private static MarkupString GetHomingDamage(int damage, int hp)
{
- if (damage == 0)
+ if (damage == 0)
return MarkupStrings.NoDataMarkup;
-
+
if (damage >= hp)
return new("Instant");
-
+
return new(damage.ToString());
}
}