From 2ffe0aecf91c99a5b91320268264de4400b27d8a Mon Sep 17 00:00:00 2001 From: Daniel Saewitz Date: Sat, 16 Mar 2013 11:18:27 -0400 Subject: [PATCH] FeedEgg --- public/img/sprites/egg.png | Bin 0 -> 1756 bytes public/img/sprites/pet_sprites.css | 1 + src/app/character.coffee | 22 ++++++++++- src/app/helpers.coffee | 4 ++ src/app/pets.coffee | 2 +- src/app/scoring.coffee | 6 +-- views/app/avatar.html | 57 +++++++++++++++++++++-------- views/app/pets.html | 3 +- 8 files changed, 73 insertions(+), 22 deletions(-) create mode 100644 public/img/sprites/egg.png diff --git a/public/img/sprites/egg.png b/public/img/sprites/egg.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf8cf7caff756e15475453330d04e46107743d9 GIT binary patch literal 1756 zcmaJ?c~BE)6ki}>M5thmCMvQEwJhnxp5inmjonwM3RKSep zNnxor083N_Z`Waw+tP)_#%I=*QYbHViT*d?D7$n2=c#2L*9$dl#tCbcB&|wM!*U51_dAy6^i8z7l6LBpV5Xob6z-W~Q z#SQvVyi|&WX!L|aqr^hQ0w$@zR;f@#=*{zn14W*`JPyp^NVvXa%Z0w4-r@kh2p04B z<6JSWOi^PRVw{V9<$6uXwT^;XOFD}&ohlVW19i9>94#49O`Hp7LcK9AI&m)C3AqrN z3}ijne;xGr7CAlE<(IJ~gD-=RX~=2Ukz<{hT;5FHmhcdY)TpjgS5H>E4Lmyh8(k7Cze_Dl320}W zovzHSXseI)kQmLk|4K`L?wc1Y3*9F=XPa&FFqJ+hY{tyPpVHp;K1@48iJ24(EUZoF zLu$YU*>-gRI{(H_`?CE#_e&mBmY23sy>EA3ot5mEZ9iyZOYL1i_kT-mq2v#nJ^{n) z^J%Vp9mU+=-#3}z6rX-^k4?9#CZ}c51=E=V_apY14-4Ch=nSFI=~hm)^USPpz{e$- zc4LR7I4Zr_Vc0d>$=S4KX^Ra#LwKc^RrKVQ#jUv5L%MqItZB@8|BYF7vdmo6xsf-k z+z=T8zxh~rkTZSoQKiSg`#4JU!t#se4r*P+K;_Z0RV|SMxmzu1g=u=SiuLse{W zW%BEhI_4dtNLk51o@f~jyg(<~i#B_w?z61$qn|Qww%%#=p9e9V`xfq=_s)(RjXLDd zpZ%1P)?MS_dh5`yHjJkBOWBPJ^@$M`<>&IxpLj6mTIFN+V>dROzw1$QAad{>3#dvt zZVOXwZ4PBwEY~_S_|?c6@S~}?ZU=2q<_T1kj~GfGwO<)NBH5o>=B9YJu0Z++uJCb) zU9sra>(br+19>|!pcm8oos9g zGHJ|llj7(Z#g1<+PyAAyMM++%-`sn1XaBtP+V{zOH%XT3Cv|4=N_1-@D7Aiz(Wsdn zuT*~`O(mJG*|Z>Y!;WXICG?W?zV){wmJ*k@AMN_kSrIlPbcS0_WMw5Ab-b6q=e?m< zy{toiX4>^2e|L^7YEk1*YmZrZNg}W`SA~Wy$)ItIchTom5B>fs-aMk-SR4DaCMVSx z{&!)4i{0AmjOXfjQS*yp+Ok2*N%gUsj@-gM_mjckm%E=e7*>kPJ?(^|0YDTMqDk5OaBLTHKrT@ literal 0 HcmV?d00001 diff --git a/public/img/sprites/pet_sprites.css b/public/img/sprites/pet_sprites.css index b13ae3206c..2483c609d2 100644 --- a/public/img/sprites/pet_sprites.css +++ b/public/img/sprites/pet_sprites.css @@ -90,3 +90,4 @@ .Pet-BearCub-CottonCandyPink {background-position: -7128px 0; width: 81px; height: 99px} .Pet-BearCub-CottonCandyBlue {background-position: -7209px 0; width: 81px; height: 99px} .Pet-BearCub-Base {background-position: -7290px 0; width: 81px; height: 99px} +.Pet-Egg {background: url("/img/sprites/egg.png") no-repeat; width: 39px; height: 42px;} diff --git a/src/app/character.coffee b/src/app/character.coffee index 2fe875e563..6ad397b9a5 100644 --- a/src/app/character.coffee +++ b/src/app/character.coffee @@ -78,6 +78,27 @@ module.exports.app = (appExports, model) -> appExports.customizeArmorSet = (e, el) -> user.set 'preferences.armorSet', $(el).attr('data-value') + appExports.chooseEgg = (e, el) -> + egg = model.at el + + model.ref '_feedEgg', egg + + appExports.feedEgg = (e, el) -> + food = $(el).children('select').val() + foods = user.get 'items.food' + egg = model.get '_feedEgg' + eggs = user.get 'items.eggs' + + foodIdx = foods.indexOf food + eggIdx = eggs.indexOf egg + + return alert "You don't own that food :\\" if foodIdx is -1 + return alert "You don't own that egg :\\" if eggIdx is -1 + + user.push 'items.pets', egg.name + '-' + food + user.remove 'items.food', foodIdx, 1 + user.remove 'items.eggs', eggIdx, 1 + appExports.restoreSave = (e, el) -> batch = new BatchUpdate(model) batch.startTransaction() @@ -99,7 +120,6 @@ module.exports.app = (appExports, model) -> content: html $('.main-avatar').popover 'show' - userSchema = # _id stats: { gp: 0, exp: 0, lvl: 1, hp: 50 } diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 91826457d5..7f4ffcc41d 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -46,3 +46,7 @@ module.exports.viewHelpers = (view) -> view.fn "encodeiCalLink", (uid, apiToken) -> loc = window?.location.host or process.env.BASE_URL encodeURIComponent "http://#{loc}/v1/users/#{uid}/calendar.ics?apiToken=#{apiToken}" + + view.fn 'removeWhitespace', (str) -> + return '' unless str + str.replace /\s/g, '' diff --git a/src/app/pets.coffee b/src/app/pets.coffee index 3e9d7cad1c..31675ddb12 100644 --- a/src/app/pets.coffee +++ b/src/app/pets.coffee @@ -31,7 +31,7 @@ module.exports.app = (appExports, model) -> if tokens > pet.value r = confirm("Buy this pet with #{pet.value} of your #{tokens} tokens?"); if r - user.push "items.pets", name + user.push 'items.pets', name user.set 'items.currentPet', pet user.set 'balance', (tokens - pet.value)/4 else diff --git a/src/app/scoring.coffee b/src/app/scoring.coffee index 3a89a4fcc4..3c3d0bbdae 100644 --- a/src/app/scoring.coffee +++ b/src/app/scoring.coffee @@ -116,15 +116,15 @@ score = (model, taskId, direction, times, batch, cron) -> batch.commit() # 1% chance of getting a pet or meat - if obj.flags.dropsEnabled and Math.random() < .01 + if obj.flags.dropsEnabled and Math.random() < .50 if Math.random() < .5 drop = randomProp(food) user.push 'items.food', drop.name - drop.type = 'food' + drop.type = 'Food' else drop = randomProp(pets) user.push 'items.eggs', drop - drop.type = 'egg' + drop.type = 'Egg' model.set '_drop', drop $('#item-dropped-modal').modal 'show' diff --git a/views/app/avatar.html b/views/app/avatar.html index 37b82cc78d..a96ebfccd0 100644 --- a/views/app/avatar.html +++ b/views/app/avatar.html @@ -189,32 +189,57 @@
-

Food

- {#if not(_user.items.food)} -

You don't have any food yet.

- {/if} - {#each _user.items.food as :food} - {:food} - {/each} -

Eggs

- {#if not(_user.items.eggs)} -

You don't have any eggs yet.

- {/if} - {#each _user.items.eggs as :egg} -

{:egg.text}

- {/each} + +

Food

+ {#if not(_user.items.food)} +

You don't have any food yet.

+ {/if} +
  • + {#each _user.items.food as :food} + + {/each} +
  • +

    Eggs

    + {#if not(_user.items.eggs)} +

    You don't have any eggs yet.

    + {/if} +
  • + {#each _user.items.eggs as :egg} + +

    {:egg.text}

    + {/each} +
  • +
    + {#if _feedEgg} +
    +

    Feed Your Egg

    + {#if not(_user.items.food)} +

    You don't have any food yet.

    + {else} +

    What would you like to feed your {_feedEgg.text}?

    +
    + + +
    + {/if} +
    + {/if}
    -
    +

    Stable

    {#if not(_user.items.pets)}

    You don't have any pets yet.

    {/if} {#each _user.items.pets as :pet} -

    {:pet}

    +
    {:pet}
    {/each}
    diff --git a/views/app/pets.html b/views/app/pets.html index a6e4e19bd5..9644c86c93 100644 --- a/views/app/pets.html +++ b/views/app/pets.html @@ -9,7 +9,8 @@

    An item has dropped!

    -

    Here's your first {_drop.type} – {_drop.text}!

    +

    Here's your {_drop.type} – {_drop.text}!

    +

    {_drop.notes}

    <@footer>