From f9527c330ca10c715ad12fcc8ec10fe7ffbc0a05 Mon Sep 17 00:00:00 2001
From: insects <mail@liv.nrw>
Date: Tue, 11 Mar 2025 18:08:20 +0100
Subject: [PATCH] feat: add map locations for fairies

---
 app/assets/stylesheets/application.css |  4 ++
 app/views/instance/_fairies.html.erb   | 11 ++++-
 data/anemos.toml                       | 64 +++++++++++++-------------
 3 files changed, 46 insertions(+), 33 deletions(-)

diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index 1f88cb5..678ca52 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -261,3 +261,7 @@ span#password {
     color: #555;
     font-size: 14px;
 }
+
+.fairy-dot.unclaimed:hover {
+    cursor: pointer;
+}
diff --git a/app/views/instance/_fairies.html.erb b/app/views/instance/_fairies.html.erb
index 972587c..045994a 100644
--- a/app/views/instance/_fairies.html.erb
+++ b/app/views/instance/_fairies.html.erb
@@ -38,6 +38,7 @@
   <% else %>
     <div class="fairy-list">
       <% instance.fairies.to_a.each_index do |idx| %>
+        <% fdata = APP_DATA[instance.zone.to_sym][:fairies].find { |f| "#{f[:x]},#{f[:y]}" == instance.fairies[idx].location } %>
         <div>
           <% if idx == 0 %>
             <div>
@@ -57,6 +58,11 @@
             </div>
           <% end %>
 
+          <div>
+            <%#= instance.fairies[idx].location %>
+            <%= fdata[:mx] %>,<%= fdata[:my] %>
+          </div>
+
           <div>
             <div
               class="copyable action needs_pwd"
@@ -73,7 +79,10 @@
       <div class="note">
         <div
           class="copyable"
-          data-copy-content="Elementals: <%= instance.fairies[0..-1].map { |f| f.location }.join(", ") %>"
+          data-copy-content="Elementals: <%= instance.fairies[0..-1].map { |f|
+            fdata = APP_DATA[instance.zone.to_sym][:fairies].find { |fd| "#{fd[:x]},#{fd[:y]}" == f.location }
+            "#{fdata[:mx]},#{fdata[:my]}"
+          }.join(" | ") %>"
         >
           copy elemental positions for chat
         </div>
diff --git a/data/anemos.toml b/data/anemos.toml
index 9d7f668..815e29d 100644
--- a/data/anemos.toml
+++ b/data/anemos.toml
@@ -6,38 +6,38 @@ weather = [
 ]
 
 fairies = [
-    { x = 322, y = 125 },
-    { x = 444, y = 169 },
-    { x = 453, y = 309 },
-    { x = 134, y = 455 },
-    { x = 204, y = 566 },
-    { x = 180, y = 815 },
-    { x = 373, y = 1001 },
-    { x = 384, y = 731 },
-    { x = 349, y = 678 },
-    { x = 424, y = 634 },
-    { x = 567, y = 467 },
-    { x = 656, y = 513 },
-    { x = 675, y = 600 },
-    { x = 577, y = 699 },
-    { x = 808, y = 1107 },
-    { x = 914, y = 1047 },
-    { x = 829, y = 873 },
-    { x = 905, y = 738 },
-    { x = 834, y = 540 },
-    { x = 798, y = 304 },
-    { x = 698, y = 150 },
-    { x = 921, y = 401 },
-    { x = 1056, y = 466 },
-    { x = 1200, y = 543 },
-    { x = 1034, y = 616 },
-    { x = 1140, y = 756 },
-    { x = 1216, y = 862 },
-    { x = 1481, y = 591 },
-    { x = 1438, y = 242 },
-    { x = 1170, y = 161 },
-    { x = 1058, y = 240 },
-    { x = 1204, y = 308 }
+    { x = 322, y = 125, mx = 11.8, my = 12.3 },
+    { x = 444, y = 169, mx = 14.7, my = 13.1 },
+    { x = 453, y = 309, mx = 14.7, my = 16.2 },
+    { x = 134, y = 455, mx = 8.6, my = 19.5 },
+    { x = 204, y = 566, mx = 9.9, my = 21.4 },
+    { x = 180, y = 815, mx = 9.6, my = 26.7 },
+    { x = 373, y = 1001, mx = 13.2, my = 30.6 },
+    { x = 384, y = 731, mx = 13.4, my = 25.1 },
+    { x = 349, y = 678, mx = 12.7, my = 24.9 },
+    { x = 424, y = 634, mx = 14.1, my = 22.6 },
+    { x = 567, y = 467, mx = 17.2, my = 19.3 },
+    { x = 656, y = 513, mx = 18.7, my = 20.6 },
+    { x = 675, y = 600, mx = 18.7, my = 22.5 },
+    { x = 577, y = 699, mx = 17.9, my = 24.2 },
+    { x = 808, y = 1107, mx = 21.7, my = 32.1 },
+    { x = 914, y = 1047, mx = 23.7, my = 31.0 },
+    { x = 829, y = 873, mx = 22.2, my = 27.7 },
+    { x = 905, y = 738, mx = 23.5, my = 24.9 },
+    { x = 834, y = 540, mx = 22.3, my = 20.7 },
+    { x = 798, y = 304, mx = 21.5, my = 15.9 },
+    { x = 698, y = 150, mx = 19.6, my = 13.0 },
+    { x = 921, y = 401, mx = 23.9, my = 18.0 },
+    { x = 1056, y = 466, mx = 26.7, my = 19.7 },
+    { x = 1200, y = 543, mx = 29.3, my = 21.0 },
+    { x = 1034, y = 616, mx = 26.2, my = 22.2 },
+    { x = 1140, y = 756, mx = 28.3, my = 25.2 },
+    { x = 1216, y = 862, mx = 30.1, my = 27.3 },
+    { x = 1481, y = 591, mx = 35.2, my = 21.7 },
+    { x = 1438, y = 242, mx = 34.5, my = 14.9 },
+    { x = 1170, y = 161, mx = 29.4, my = 13.3 },
+    { x = 1058, y = 240, mx = 26.9, my = 15.1 },
+    { x = 1204, y = 308, mx = 29.9, my = 17.0 }
 ]
 
 [[nms]]