From 0608ac5caa8e753ba4e9c3a92b5fb3c7424f4f30 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 17 Feb 2015 20:02:06 -0600 Subject: [PATCH] feat(quest): Pet Rocks --- .../quests/inventory_quest_scroll_rock.png | Bin 0 -> 7462 bytes common/locales/en/content.json | 3 +++ common/locales/en/questsContent.json | 8 +++++++- common/script/content.coffee | 19 ++++++++++++++++++ .../views/options/inventory/inventory.jade | 2 +- 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 common/img/sprites/spritesmith/quests/inventory_quest_scroll_rock.png 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 0000000000000000000000000000000000000000..4734bc78a5e9165ca0bb6ec1a29d34135f292da7 GIT binary patch literal 7462 zcmV+>9ogcEP)KLZ*U+Fu3VHuXeZJq% z`@Vnt*81%~&f4oa&))ml`3_vsr3Zn-D2-N|=>ged$U;v>}0FV#-k36COl{4^f zPC7mGum8Ij001CcgvZB4(No}m+oGcq|J0BK0BRW1#ti^?0FaW%SbH}BpaLM5Vgj9< z0e}ktsSghZSn)f<5^X$J_`^Z*=6(Rc2Y~ztrd!wpfCvCeNsRO~UGZhx@V#d0yL?%hZ*sf?teHT;a0W)zyW|(q=tET|JI4tC53xA z0RS5S+8Q6}Zod-Sn;K^B^oPStbn^rNX#jLQglXmWn}boKFd+VKoEgx82@FVr7+Cs?{yr*02+)BENx*=3h=ljRglJp{ zH^L2Y2iyoZ!HsYYTo2d(6DPs`rz+8sXhF0gS`iig>Ii~Zh=N#PLiqm!vxg{PKq4@K z0Wp7i_$MFXJ)wv2me5BSCOii(7zHMT|6y$mPiOv1xdb@EFeI)_g#m#O0~3EZxGb)L zYvX3PA#Q~0g9Ofp3xP7Oh3ny_xG`>kYvcO=r7-cYwtr^%?|KY~`LBLfa5hCY?G+V) zf3J-BU)H~~nE%I&f*}^{|INhqVpp*?>@M~YtH)|V0&B$Tunz1FR{I}!!YD8y^lvpc zU_cB+LKKAm;iy%qO{gvYU)AX=3Yfrvcz^`P<^%u$^Vql)W_V~=f`n;YTogmXHYP}A zwS-q7#N!z1X1K6nAc@D4u06wJT^f*>S>hHxW-h&UpHC?Oh%9%6)8 zA`XZf;)?_zp-2pph-^i6A=$`bA1KbAp#Dnln_;!3hehja`Z{V%? z6Z{Q6h5sVZ2qFX}!Wx1t!G{n^NG45kmO9FlM+aoq@$z@q()LN=^bf~%t{s~YmlwTe&iT( zI=PU1p4>q0C6AF8SU6Z@Sk|yOvjnrGu;j3mv)p3oVtL21K;fjwQ4A>_lnBaBN)e@+ za*y(o@|~5Hbrq{Vt1D|bYZ_}2>m}9)tZ!K7sa#Y=syWr4nn*oJJx6V#KBs=C(P*+X z6Ph0_fp(BqNo%1E(dO8=*;LqU*@D@2uobi2VC!Z3%+A6t!*0sHfjyPIko_uq7yBd! z3x_O+IR~9%J4Z3cO^yMMX-;lVbxvo_XwLnd=Q$s8j&qT?WVtN4g1Iud%D7s%Mz}F< zDQ*xE)FUoJq&*0z3U(MgkKPwG{0&oX)&};Xg$;B)^^n1qus2%q@%0D)T!2)(3RE=&@Is& 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 <%= 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