diff --git a/common/img/sprites/spritesmith/quests/inventory_quest_scroll_rock.png b/common/img/sprites/spritesmith/quests/inventory_quest_scroll_rock.png
new file mode 100644
index 0000000000..4734bc78a5
Binary files /dev/null and b/common/img/sprites/spritesmith/quests/inventory_quest_scroll_rock.png differ
diff --git a/common/locales/en/content.json b/common/locales/en/content.json
index a2ee7b3d20..c32c86ac82 100644
--- a/common/locales/en/content.json
+++ b/common/locales/en/content.json
@@ -72,6 +72,9 @@
"questEggTRexText": "Tyrannosaur",
"questEggTRexAdjective": "tiny-armed",
+ "questEggRockText": "Rock",
+ "questEggRockAdjective": "lively",
+
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into a <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
diff --git a/common/locales/en/questsContent.json b/common/locales/en/questsContent.json
index 961020b333..f116b8aa18 100644
--- a/common/locales/en/questsContent.json
+++ b/common/locales/en/questsContent.json
@@ -197,5 +197,11 @@
"questTRexUndeadRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Skeletal Tyrannosaur will heal 30% of its remaining health!",
"questTRexUndeadRageEffect": "`Skeletal Tyrannosaur uses SKELETON HEALING!`\n\nThe monster lets forth an unearthly roar, and some of its damaged bones knit back together!",
- "questTRexDropTRexEgg": "Tyrannosaur (Egg)"
+ "questTRexDropTRexEgg": "Tyrannosaur (Egg)",
+
+ "questRockText": "Escape the Cave Creature",
+ "questRockNotes": "Crossing Habitica's Meandering Mountains with some friends, you make camp one night in a beautiful cave laced with shining minerals. But when you wake up the next morning, the entrance has disappeared, and the floor of the cave is shifting underneath you.
\"The mountain's alive!\" shouts your companion @pfeffernusse. \"These aren't crystals - these are teeth!\"
@Painter de Cluster grabs your hand. \"We'll have to find another way out – stay with me and don't get distracted, or we could be trapped in here forever!\"",
+ "questRockBoss": "Crystal Colossus",
+ "questRockCompletion": "Your diligence has allowed you to find a safe path through the living mountain. Standing in the sunshine, your friend @intune notices something glinting on the ground by the cave’s exit. You stoop to pick it up, and see that it’s a small rock with a vein of gold running through it. Beside it are a number of other rocks with rather peculiar shapes. They almost look like… eggs?",
+ "questRockDropRockEgg": "Rock (Egg)"
}
diff --git a/common/script/content.coffee b/common/script/content.coffee
index a83dd9b2bd..08f40f33c2 100644
--- a/common/script/content.coffee
+++ b/common/script/content.coffee
@@ -798,6 +798,7 @@ api.questEggs =
Owl: text: t('questEggOwlText'), adjective: t('questEggOwlAdjective'), canBuy: false
Penguin: text: t('questEggPenguinText'), adjective: t('questEggPenguinAdjective'), canBuy: false
TRex: text: t('questEggTRexText'), adjective: t('questEggTRexAdjective'), canBuy: false
+ Rock: text: t('questEggRockText'), adjective: t('questEggRockAdjective'), canBuy: false
_.each api.questEggs, (egg,key) ->
_.defaults egg,
@@ -1511,6 +1512,24 @@ api.quests =
gp: 55
exp: 500
+ rock:
+ text: t('questRockText')
+ notes: t('questRockNotes')
+ completion: t('questRockCompletion')
+ value: 4
+ boss:
+ name: t('questRockBoss')
+ hp: 400
+ str: 1.5
+ drop:
+ items: [
+ {type: 'eggs', key: 'Rock', text: t('questRockDropRockEgg')}
+ {type: 'eggs', key: 'Rock', text: t('questRockDropRockEgg')}
+ {type: 'eggs', key: 'Rock', text: t('questRockDropRockEgg')}
+ ]
+ gp: 31
+ exp: 200
+
_.each api.quests, (v,key) ->
_.defaults v, {key,canBuy:true}
b = v.boss
diff --git a/website/views/options/inventory/inventory.jade b/website/views/options/inventory/inventory.jade
index 6ddb58fa21..ea94c8828d 100644
--- a/website/views/options/inventory/inventory.jade
+++ b/website/views/options/inventory/inventory.jade
@@ -183,7 +183,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html')
| {{::egg.value}}
span.Pet_Currency_Gem1x.inline-gems
//- buyable quest eggs
- each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin'}
+ each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin',rock:'Rock'}
div(ng-show='user.achievements.quests.#{quest} > 1')
button.customize-option(popover='{{::Content.eggs.#{egg}.notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.#{egg})', class='Pet_Egg_#{egg}')
p