diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index 8028e31..951477e 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -223,7 +223,7 @@ span#password {
     position: absolute;
     vertical-align: top;
     margin-top: -9px;
-    margin-left: -1px;
+    margin-left: -3px;
 }
 
 .fairy-marker {
diff --git a/app/helpers/instance_helper.rb b/app/helpers/instance_helper.rb
index 1c5d39a..58e9abc 100644
--- a/app/helpers/instance_helper.rb
+++ b/app/helpers/instance_helper.rb
@@ -24,6 +24,7 @@ module InstanceHelper
     case zone
     when "anemos" then 1584
     when "pagos" then 1825
+    when "pyros" then 1586
     end
   end
 
@@ -31,6 +32,7 @@ module InstanceHelper
     case zone
     when "anemos" then 1249
     when "pagos" then 1158
+    when "pyros" then 1696
     end
   end
 
diff --git a/data/pyros.toml b/data/pyros.toml
index 930ec6d..3360bdc 100644
--- a/data/pyros.toml
+++ b/data/pyros.toml
@@ -6,3 +6,220 @@ weather = [
     ["umbral_wind", 18],
     ["snow", 18]
 ]
+
+fairies = [
+    { x = 441, y = 271, mx = 16.7, my = 10.4 },
+    { x = 699, y = 623, mx = 21.9, my = 17.4 },
+    { x = 856, y = 456, mx = 25.1, my = 15.8 },
+    { x =  899, y = 229, mx = 26.0, my = 9.4 },
+    { x = 1022, y = 145, mx = 28.4, my = 7.8 },
+    { x = 1144, y = 194, mx = 30.8, my = 8.9 },
+    { x = 1135, y = 495, mx = 30.6, my = 14.5 },
+    { x = 869, y = 1130, mx = 25.4, my = 27.5 },
+    { x = 310, y = 1172, mx =  14.4, my = 28.3 },
+    { x = 338, y = 1444, mx = 14.8, my = 33.7 },
+    { x = 570, y = 1293, mx = 19.4, my = 30.7 },
+    { x = 933, y = 1581, mx =  26.6, my = 36.4 },
+    { x = 983, y = 1342, mx = 27.7, my = 31.7 },
+    { x = 1095, y = 1204, mx = 29.9, my = 28.9 }
+]
+
+[[nms]]
+name = "Leucosia"
+level = 35
+element = "water"
+x = 27
+y = 26
+
+[nms.spawned_by]
+name = "Pyros Bhoot"
+level = 40
+night_only = true
+
+[[nms]]
+name = "Flauros"
+level = 36
+element = "lightning"
+x = 29
+y = 29
+
+[nms.spawned_by]
+name = "Thunderstorm Sprite"
+level = 41
+weather = "thunder"
+
+[[nms]]
+name = "The Sophist"
+level = 37
+element = "wind"
+x = 31
+y = 31
+
+[nms.spawned_by]
+name = "Pyros Apanda"
+level = 42
+
+[[nms]]
+name = "Graffiacane"
+level = 38
+element = "ice"
+x = 23
+y = 37
+drops = "Calca (minion)"
+
+[nms.spawned_by]
+name = "Valking"
+level = 43
+
+[[nms]]
+name = "Askalaphos"
+level = 39
+element = "wind"
+x = 19
+y = 29
+weather = "umbral_wind"
+
+[nms.spawned_by]
+name = "Overdue Tome"
+level = 44
+
+[[nms]]
+name = "Grand Duke Batym"
+level = 40
+element = "earth"
+x = 18
+y = 14
+
+[nms.spawned_by]
+name = "Dark Troubadour"
+level = 45
+night_only = true
+
+[[nms]]
+name = "Aetolus"
+level = 41
+element = "lightning"
+x = 10
+y = 14
+
+[nms.spawned_by]
+name = "Islandhander"
+level = 46
+
+[[nms]]
+name = "Lesath"
+level = 42
+element = "fire"
+x = 13
+y = 11
+
+[nms.spawned_by]
+name = "Bird Eater"
+level = 47
+
+[[nms]]
+name = "Eldthurs"
+level = 43
+element = "fire"
+x = 13
+y = 6
+
+[nms.spawned_by]
+name = "Pyros Crab"
+level = 48
+
+[[nms]]
+name = "Iris"
+level = 44
+element = "water"
+x = 21
+y = 11
+
+[nms.spawned_by]
+name = "Northern Swallow"
+level = 49
+
+[[nms]]
+name = "Lamebrix Strikebocks"
+level = 45
+element = "earth"
+x = 21
+y = 7
+drops = "Lamebrix's Dice (magicite)"
+
+[nms.spawned_by]
+name = "Illuminati Escapee"
+level = 50
+
+[[nms]]
+name = "Dux"
+level = 46
+element = "lightning"
+x = 27
+y = 9
+weather = "thunder"
+
+[nms.spawned_by]
+name = "Matanga Castaway"
+level = 51
+
+[[nms]]
+name = "Lumber Jack"
+level = 47
+element = "earth"
+x = 29
+y = 11
+drops = "Wind-up Elvaan"
+
+[nms.spawned_by]
+name = "Pyros Treant"
+level = 52
+
+[[nms]]
+name = "Glaukopis"
+level = 48
+element = "fire"
+x = 31
+y = 15
+
+[nms.spawned_by]
+name = "Val Skatene"
+level = 53
+
+[[nms]]
+name = "Ying-Yang"
+level = 49
+element = "water"
+x = 11
+y = 34
+drops = "Ying-Yang's Tissue (magicite)"
+
+[nms.spawned_by]
+name = "Pyros Hecteyes"
+level = 54
+
+[[nms]]
+name = "Skoll"
+level = 50
+element = "ice"
+x = 23
+y = 29
+weather = "blizzards"
+drops = "Skoll's Claw (magicite)"
+
+[nms.spawned_by]
+name = "Pyros Shuck"
+level = 55
+
+[[nms]]
+name = "Penthesilea"
+level = 50
+element = "fire"
+x = 35
+y = 6
+drops = "Penthesilea (card)"
+weather = "heat"
+
+[nms.spawned_by]
+name = "Val Bloodglider"
+level = 55
diff --git a/lib/weather.rb b/lib/weather.rb
index cd6c24f..e0226cc 100644
--- a/lib/weather.rb
+++ b/lib/weather.rb
@@ -9,7 +9,7 @@ class Weather
     end
   end
 
-  def self.forecast(zone, seed = get_seed, count = 20)
+  def self.forecast(zone, seed = get_seed, count = 50)
     res = []
     prev_hash = hash(seed - 1)
     prev_weather = get_weather(zone, prev_hash)
diff --git a/public/maps/pyros.jpg b/public/maps/pyros.jpg
index d6a3a7b..a01c3c1 100644
Binary files a/public/maps/pyros.jpg and b/public/maps/pyros.jpg differ