diff --git a/world/npcs/forestsatyr.json b/world/npcs/forestsatyr.json
new file mode 100644
index 0000000000000000000000000000000000000000..8a5a463cc5a4f5056c2278a9b3dee690bcffe469
--- /dev/null
+++ b/world/npcs/forestsatyr.json
@@ -0,0 +1,51 @@
+{
+  "name": "forest satyr",
+  "colorName": "forest \u001B[1m\u001B[35msatyr\u001B[0m",
+  "dieMessage": "the forest \u001B[1m\u001B[35msatyr\u001B[0m falls to the ground and convulses in death.",
+  "loot": {
+    "lootGoldMin": 700000000,
+    "lootGoldMax": 900000000,
+    "lootItems": [107]
+  },
+  "roamAreas": [
+    "north14_zone",
+    "north15_zone"
+  ],
+  "stats": {
+    "agile": 140000,
+    "aim": 128000,
+    "armorRating": 600000,
+    "currentHealth": 30000000,
+    "currentMana": 22000000,
+    "experience": 200000000,
+    "maxHealth": 30000000,
+    "maxMana": 12000000,
+    "meleSkill": 1500000,
+    "numberOfWeaponRolls": 75,
+    "strength": 1250000,
+    "weaponRatingMax": 2200000,
+    "weaponRatingMin": 1300000,
+    "willPower": 1100000
+  },
+  "spawnAreas": {
+    "north14_zone": {
+      "randomChance": 90,
+      "maxPerRoom": 1,
+      "spawnIntervalTicks": 600,
+      "maxInstances": 1
+    }, 
+    "north15_zone": {
+      "randomChance": 90,
+      "maxPerRoom": 1,
+      "spawnIntervalTicks": 600,
+      "maxInstances": 1
+    } 
+  },
+  "validTriggers": [
+    "forest satyr",
+    "f",
+    "s",
+    "forest",
+    "satyr"
+  ]
+}