diff --git a/img/sprites/spritesmith/quests/quest_trex.png b/img/sprites/spritesmith/quests/quest_trex.png
new file mode 100644
index 0000000000..e096bfe838
Binary files /dev/null and b/img/sprites/spritesmith/quests/quest_trex.png differ
diff --git a/img/sprites/spritesmith/quests/quest_trex_undead.png b/img/sprites/spritesmith/quests/quest_trex_undead.png
new file mode 100644
index 0000000000..f035174397
Binary files /dev/null and b/img/sprites/spritesmith/quests/quest_trex_undead.png differ
diff --git a/img/sprites/spritesmith/stable/eggs/Pet_Egg_TRex.png b/img/sprites/spritesmith/stable/eggs/Pet_Egg_TRex.png
new file mode 100644
index 0000000000..decc2b6230
Binary files /dev/null and b/img/sprites/spritesmith/stable/eggs/Pet_Egg_TRex.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Base.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Base.png
new file mode 100644
index 0000000000..4ea25ba2c3
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Base.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyBlue.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyBlue.png
new file mode 100644
index 0000000000..ce7a1ee303
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyBlue.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyPink.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyPink.png
new file mode 100644
index 0000000000..92b7429b06
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-CottonCandyPink.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Desert.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Desert.png
new file mode 100644
index 0000000000..21419b56f5
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Desert.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Golden.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Golden.png
new file mode 100644
index 0000000000..cb6cdaddfe
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Golden.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Red.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Red.png
new file mode 100644
index 0000000000..908b710a19
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Red.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Shade.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Shade.png
new file mode 100644
index 0000000000..bd6831514d
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Shade.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Skeleton.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Skeleton.png
new file mode 100644
index 0000000000..34fe45c516
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Skeleton.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-White.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-White.png
new file mode 100644
index 0000000000..9f48c5d24f
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-White.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Zombie.png b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Zombie.png
new file mode 100644
index 0000000000..eae0fded53
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Body_TRex-Zombie.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Base.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Base.png
new file mode 100644
index 0000000000..774e7ecd56
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Base.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyBlue.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyBlue.png
new file mode 100644
index 0000000000..bcc7f94609
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyBlue.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyPink.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyPink.png
new file mode 100644
index 0000000000..6631557563
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-CottonCandyPink.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Desert.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Desert.png
new file mode 100644
index 0000000000..4bf529ba03
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Desert.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Golden.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Golden.png
new file mode 100644
index 0000000000..ad6139d93a
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Golden.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Red.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Red.png
new file mode 100644
index 0000000000..139888c20b
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Red.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Shade.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Shade.png
new file mode 100644
index 0000000000..1b731a139d
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Shade.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Skeleton.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Skeleton.png
new file mode 100644
index 0000000000..ae87d6bbfd
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Skeleton.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-White.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-White.png
new file mode 100644
index 0000000000..bffbebfa46
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-White.png differ
diff --git a/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Zombie.png b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Zombie.png
new file mode 100644
index 0000000000..02836fdcf6
Binary files /dev/null and b/img/sprites/spritesmith/stable/mounts/Mount_Head_TRex-Zombie.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Base.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Base.png
new file mode 100644
index 0000000000..c263a693ff
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Base.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyBlue.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyBlue.png
new file mode 100644
index 0000000000..81a88de321
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyBlue.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyPink.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyPink.png
new file mode 100644
index 0000000000..4eec4b78b5
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-CottonCandyPink.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Desert.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Desert.png
new file mode 100644
index 0000000000..8e31ff468c
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Desert.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Golden.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Golden.png
new file mode 100644
index 0000000000..67d3746ed6
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Golden.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Red.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Red.png
new file mode 100644
index 0000000000..5b4f546eba
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Red.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Shade.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Shade.png
new file mode 100644
index 0000000000..1ffa5b5793
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Shade.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Skeleton.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Skeleton.png
new file mode 100644
index 0000000000..4e094aec20
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Skeleton.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-White.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-White.png
new file mode 100644
index 0000000000..0d1fe93b12
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-White.png differ
diff --git a/img/sprites/spritesmith/stable/pets/Pet-TRex-Zombie.png b/img/sprites/spritesmith/stable/pets/Pet-TRex-Zombie.png
new file mode 100644
index 0000000000..7ecf568b0f
Binary files /dev/null and b/img/sprites/spritesmith/stable/pets/Pet-TRex-Zombie.png differ
diff --git a/locales/en/content.json b/locales/en/content.json
index 941bde2144..be79d23c42 100644
--- a/locales/en/content.json
+++ b/locales/en/content.json
@@ -69,6 +69,9 @@
"questEggPenguinText": "Penguin",
"questEggPenguinAdjective": "perspicacious",
+ "questEggTRexText": "Tyrannosaur",
+ "questEggTRexAdjective": "tiny-armed",
+
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into a <%= eggAdjective() %> <%= eggText() %>.",
"hatchingPotionBase": "Base",
diff --git a/locales/en/questsContent.json b/locales/en/questsContent.json
index 6358647103..b9f26738c0 100644
--- a/locales/en/questsContent.json
+++ b/locales/en/questsContent.json
@@ -181,5 +181,20 @@
"questStressbeastBossRageBailey": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nAhh!!! Our incomplete Dailies caused the Abominable Stressbeast to become madder than ever and regain some of its health! Bailey the Town Crier was shouting for citizens to get to safety, and now it has seized her in its other hand! Look at her, valiantly reporting on the news as the Stressbeast swings her around viciously... Let's be worthy of her bravery by being as productive as we can to save our NPCs!",
"questStressbeastBossRageGuide": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nLook out! Justin the Guide is trying to distract the Stressbeast by running around its ankles, yelling productivity tips! The Abominable Stressbeast is stomping madly, but it seems like we're really wearing this beast down. I doubt it has enough energy for another strike. Don't give up... we're so close to finishing it off!",
"questStressbeastCompletion": "The Abominable Stressbeast is DEFEATED!
We've done it! With a final bellow, the Abominable Stressbeast dissipates into a cloud of snow. The flakes twinkle down through the air as cheering Habiticans embrace their pets and mounts. Our animals and our NPCs are safe once more!
Stoïkalm is Saved!
SabreCat speaks gently to a small sabertooth. \"Please find the citizens of the Stoïkalm Steppes and bring them to us,\" he says. Several hours later, the sabertooth returns, with a herd of mammoth riders following slowly behind. You recognize the head rider as Lady Glaciate, the leader of Stoïkalm.
\"Mighty Habiticans,\" she says, \"My citizens and I owe you the deepest thanks, and the deepest apologies. In an effort to protect our Steppes from turmoil, we began to secretly banish all of our stress into the icy mountains. We had no idea that it would build up over generations into the Stressbeast that you saw! When it broke loose, it trapped all of us in the mountains in its stead and went on a rampage against our beloved animals.\" Her sad gaze follows the falling snow. \"We put everyone at risk with our foolishness. Rest assured that in the future, we will come to you with our problems before our problems come to you.\"
She turns to where @Baconsaur is snuggling with some of the baby mammoths. \"We have brought your animals an offering of food to apologize for frightening them, and as a symbol of trust, we will leave some of our pets and mounts with you. We know that you will all take care good care of them.\"",
- "questStressbeastCompletionChat": "`The Abominable Stressbeast is DEFEATED!`\n\nWe've done it! With a final bellow, the Abominable Stressbeast dissipates into a cloud of snow. The flakes twinkle down through the air as cheering Habiticans embrace their pets and mounts. Our animals and our NPCs are safe once more!\n\n`Stoïkalm is Saved!`\n\nSabreCat speaks gently to a small sabertooth. \"Please find the citizens of the Stoïkalm Steppes and bring them to us,\" he says. Several hours later, the sabertooth returns, with a herd of mammoth riders following slowly behind. You recognize the head rider as Lady Glaciate, the leader of Stoïkalm.\n\n\"Mighty Habiticans,\" she says, \"My citizens and I owe you the deepest thanks, and the deepest apologies. In an effort to protect our Steppes from turmoil, we began to secretly banish all of our stress into the icy mountains. We had no idea that it would build up over generations into the Stressbeast that you saw! When it broke loose, it trapped all of us in the mountains in its stead and went on a rampage against our beloved animals.\" Her sad gaze follows the falling snow. \"We put everyone at risk with our foolishness. Rest assured that in the future, we will come to you with our problems before our problems come to you.\"\n\nShe turns to where @Baconsaur is snuggling with some of the baby mammoths. \"We have brought your animals an offering of food to apologize for frightening them, and as a symbol of trust, we will leave some of our pets and mounts with you. We know that you will all take care good care of them.\""
+ "questStressbeastCompletionChat": "`The Abominable Stressbeast is DEFEATED!`\n\nWe've done it! With a final bellow, the Abominable Stressbeast dissipates into a cloud of snow. The flakes twinkle down through the air as cheering Habiticans embrace their pets and mounts. Our animals and our NPCs are safe once more!\n\n`Stoïkalm is Saved!`\n\nSabreCat speaks gently to a small sabertooth. \"Please find the citizens of the Stoïkalm Steppes and bring them to us,\" he says. Several hours later, the sabertooth returns, with a herd of mammoth riders following slowly behind. You recognize the head rider as Lady Glaciate, the leader of Stoïkalm.\n\n\"Mighty Habiticans,\" she says, \"My citizens and I owe you the deepest thanks, and the deepest apologies. In an effort to protect our Steppes from turmoil, we began to secretly banish all of our stress into the icy mountains. We had no idea that it would build up over generations into the Stressbeast that you saw! When it broke loose, it trapped all of us in the mountains in its stead and went on a rampage against our beloved animals.\" Her sad gaze follows the falling snow. \"We put everyone at risk with our foolishness. Rest assured that in the future, we will come to you with our problems before our problems come to you.\"\n\nShe turns to where @Baconsaur is snuggling with some of the baby mammoths. \"We have brought your animals an offering of food to apologize for frightening them, and as a symbol of trust, we will leave some of our pets and mounts with you. We know that you will all take care good care of them.\"",
+
+ "questTRexText": "King of the Dinosaurs",
+ "questTRexNotes": "Now that ancient creatures from the Stoïkalm Steppes are roaming throughout all of Habitica, @Urse has decided to adopt a full-grown Tyrannosaur. What could go wrong?
Everything.",
+ "questTRexCompletion": "The wild dinosaur finally stops its rampage and settles down to make friends with the giant roosters. @Urse beams down at it. \"They're not such terrible pets, after all! They just need a little discipline. Here, take some Tyrannosaur eggs for yourself.\"",
+ "questTRexBoss": "Flesh Tyrannosaur",
+
+ "questTRexUndeadText": "The Dinosaur Unearthed",
+ "questTRexUndeadNotes": "As the ancient dinosaurs from the Stoïkalm Steppes roam through Habit City, a cry of terror emanates from the Grand Museum. @Baconsaur shouts, \"The Tyrannosaur skeleton in the museum is stirring! It must have sensed its kin!\" The bony beast bares its teeth and clatters towards you. How can you defeat a creature that is already dead? You'll have to strike fast before it heals itself!",
+ "questTRexUndeadCompletion": "The Tyrannosaur's glowing eyes grow dark, and it settles back onto its familiar pedestal. Everyone sighs with relief. \"Look!\" @Baconsaur says. \"Some of the fossilized eggs are shiny and new! Maybe they'll hatch for you.\"",
+ "questTRexUndeadBoss": "Skeletal Tyrannosaur",
+ "questTRexUndeadRageTitle": "Skeleton Healing",
+ "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)"
}
diff --git a/script/content.coffee b/script/content.coffee
index af8729bb79..c8ed2998aa 100644
--- a/script/content.coffee
+++ b/script/content.coffee
@@ -766,6 +766,7 @@ api.questEggs =
Spider: text: t('questEggSpiderText'), adjective: t('questEggSpiderAdjective'), canBuy: false
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
_.each api.questEggs, (egg,key) ->
_.defaults egg,
@@ -1423,6 +1424,48 @@ api.quests =
gp: 31
exp: 200
+ trex:
+ text: t('questTRexText')
+ notes: t('questTRexNotes')
+ completion: t('questTRexCompletion')
+ value: 4
+ boss:
+ name: t('questTRexBoss')
+ hp: 800
+ str: 2
+ drop:
+ items: [
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ ]
+ gp: 55
+ exp: 500
+
+ trex_undead:
+ text: t('questTRexUndeadText')
+ notes: t('questTRexUndeadNotes')
+ completion: t('questTRexUndeadCompletion')
+ value: 4
+ boss:
+ name: t('questTRexUndeadBoss')
+ hp: 500
+ str: 2
+ rage:
+ title: t("questTRexUndeadRageTitle")
+ description: t("questTRexUndeadRageDescription")
+ value: 50
+ healing: .3
+ effect:t('questTRexUndeadRageEffect')
+ drop:
+ items: [
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ {type: 'eggs', key: 'TRex', text: t('questTRexDropTRexEgg')}
+ ]
+ gp: 55
+ exp: 500
+
_.each api.quests, (v,key) ->
_.defaults v, {key,canBuy:true}
b = v.boss