pets: use pet.name for unique identifier, not pet.text. general cleanup

This commit is contained in:
Tyler Renelle 2013-03-22 22:17:25 -06:00
parent b490133bd8
commit 6fd9bfbab4
5 changed files with 20 additions and 27 deletions

View file

@ -57,7 +57,6 @@ viewHelpers = (view) ->
view.fn "and", -> _.reduce arguments, (cumm, curr) -> cumm && curr
view.fn "or", -> _.reduce arguments, (cumm, curr) -> cumm || curr
view.fn "truarr", (num) ->
return num-1
view.fn "truarr", (num) -> num-1
module.exports = { viewHelpers, removeWhitespace, randomVal, daysBetween, dayMapping }

View file

@ -1,5 +1,5 @@
_ = require 'underscore'
{ randomVal, removeWhitespace } = require './helpers'
{ randomVal } = require './helpers'
{ pets, food } = require('./items').items
###
@ -15,16 +15,14 @@ module.exports.app = (appExports, model) ->
dontPersist = model._dontPersist
model._dontPersist = false if dontPersist
model._dontPersist = false
user.push 'items.eggs', egg
model._dontPersist = true if dontPersist
model._dontPersist = dontPersist
$('#drops-enabled-modal').modal 'show'
appExports.chooseEgg = (e, el) ->
egg = model.at el
model.ref '_feedEgg', egg
model.ref '_feedEgg', e.at()
appExports.feedEgg = (e, el) ->
foodName = $(el).children('select').val()
@ -38,16 +36,16 @@ module.exports.app = (appExports, model) ->
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.text + '-' + foodName
user.push 'items.pets', egg.name + '-' + foodName
user.remove 'items.food', foodIdx, 1
user.remove 'items.eggs', eggIdx, 1
appExports.choosePet = (e, el) ->
petArray = $(el).attr('data-pet').split '-'
text = petArray[0]
name = petArray[0]
modifier = petArray[1]
petStr = "#{text}-#{modifier}"
pet = _.findWhere pets, text: text
petStr = "#{name}-#{modifier}"
pet = _.findWhere pets, name: name
pet.modifier = modifier
pet.str = petStr
ownsThisPet = user.get('items.pets').indexOf petStr
@ -60,7 +58,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', text
user.push 'items.pets', name
user.set 'items.currentPet', pet
user.set 'balance', (tokens - pet.value)/4
else
@ -72,7 +70,7 @@ module.exports.app = (appExports, model) ->
tokens = user.get('balance') * 4
if tokens > newFood.value
if confirm "Buy this food with #{newFood.value} of your #{tokens} tokens?"
user.push 'items.food', newFood.text
user.push 'items.food', newFood.name
user.set 'balance', (tokens - newFood.value) / 4
else
$('#more-tokens-modal').modal 'show'

View file

@ -119,7 +119,7 @@ score = (model, taskId, direction, times, batch, cron) ->
if direction is 'up' and obj.flags.dropsEnabled and Math.random() < .5
if Math.random() < .5
drop = randomVal(food)
user.push 'items.food', drop.text
user.push 'items.food', drop.name
drop.type = 'Food'
drop.dialog = "You've found #{drop.text} Hatching Powder! #{drop.notes}"
else

View file

@ -24,7 +24,7 @@
<app:avatar:inventory user="{_user}" main="true" />
</div>
<div class="tab-pane" id="profileStable">
<app:pets:stable user="{_user}" main="true" />
<app:pets:stable />
</div>
</div>
{/}

View file

@ -75,14 +75,10 @@
</div>
<stable:>
<div class='row-fluid'>
<div class='span12 well'>
<h3>Stable</h3>
{#if not(_user.items.pets)}
<p>You don't have any pets yet.</p>
{/if}
{#each _user.items.pets as :pet}
<div class="Pet-{removeWhitespace(:pet)} {#if equal(_user.items.currentPet.str, :pet)}active{/if}" data-pet="{:pet}" x-bind="click:choosePet">{:pet}</div>
{/each}
</div>
</div>
{#if _user.items.pets}
{#each _user.items.pets as :pet}
<div class="Pet-{:pet} {#if equal(_user.items.currentPet.name, :pet)}active{/if}" data-pet="{:pet}" x-bind="click:choosePet">{:pet}</div>
{/}
{else}
<p>You don't have any pets yet.</p>
{/}