diff --git a/public/img/sprites/egg.png b/public/img/sprites/egg.png new file mode 100644 index 0000000000..bdf8cf7caf Binary files /dev/null and b/public/img/sprites/egg.png differ 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>