feat(pets): Improve egg canBuy logic

This commit is contained in:
Sabe Jones 2015-09-24 17:33:58 -04:00
parent 1aa5757847
commit 04416c4d73
4 changed files with 55 additions and 75 deletions

View file

@ -8,101 +8,101 @@
"armoireNotesEmpty": "The Armoire will have new Equipment in the first week of every month. Until then, keep clicking for Experience and Food!",
"dropEggWolfText": "Wolf",
"dropEggWolfAdjective": "loyal",
"dropEggWolfAdjective": "a loyal",
"dropEggTigerCubText": "Tiger Cub",
"dropEggTigerCubMountText": "Tiger",
"dropEggTigerCubAdjective": "fierce",
"dropEggTigerCubAdjective": "a fierce",
"dropEggPandaCubText": "Panda Cub",
"dropEggPandaCubMountText": "Panda",
"dropEggPandaCubAdjective": "gentle",
"dropEggPandaCubAdjective": "a gentle",
"dropEggLionCubText": "Lion Cub",
"dropEggLionCubMountText": "Lion",
"dropEggLionCubAdjective": "regal",
"dropEggLionCubAdjective": "a regal",
"dropEggFoxText": "Fox",
"dropEggFoxAdjective": "wily",
"dropEggFoxAdjective": "a wily",
"dropEggFlyingPigText": "Flying Pig",
"dropEggFlyingPigAdjective": "whimsical",
"dropEggFlyingPigAdjective": "a whimsical",
"dropEggDragonText": "Dragon",
"dropEggDragonAdjective": "mighty",
"dropEggDragonAdjective": "a mighty",
"dropEggCactusText": "Cactus",
"dropEggCactusAdjective": "prickly",
"dropEggCactusAdjective": "a prickly",
"dropEggBearCubText": "Bear Cub",
"dropEggBearCubMountText": "Bear",
"dropEggBearCubAdjective": "cuddly",
"dropEggBearCubAdjective": "a cuddly",
"questEggGryphonText": "Gryphon",
"questEggGryphonAdjective": "proud",
"questEggGryphonAdjective": "a proud",
"questEggHedgehogText": "Hedgehog",
"questEggHedgehogAdjective": "spiky",
"questEggHedgehogAdjective": "a spiky",
"questEggDeerText": "Deer",
"questEggDeerAdjective": "elegant",
"questEggDeerAdjective": "an elegant",
"questEggEggText": "Egg",
"questEggEggMountText": "Egg Basket",
"questEggEggAdjective": "colorful",
"questEggEggAdjective": "a colorful",
"questEggRatText": "Rat",
"questEggRatAdjective": "dirty",
"questEggRatAdjective": "a dirty",
"questEggOctopusText": "Octopus",
"questEggOctopusAdjective": "slippery",
"questEggOctopusAdjective": "a slippery",
"questEggSeahorseText": "Seahorse",
"questEggSeahorseAdjective": "prize",
"questEggSeahorseAdjective": "a prize",
"questEggParrotText": "Parrot",
"questEggParrotAdjective": "vibrant",
"questEggParrotAdjective": "a vibrant",
"questEggRoosterText": "Rooster",
"questEggRoosterAdjective": "strutting",
"questEggRoosterAdjective": "a strutting",
"questEggSpiderText": "Spider",
"questEggSpiderAdjective": "creepy",
"questEggSpiderAdjective": "a creepy",
"questEggOwlText": "Owl",
"questEggOwlAdjective": "wise",
"questEggOwlAdjective": "a wise",
"questEggPenguinText": "Penguin",
"questEggPenguinAdjective": "perspicacious",
"questEggPenguinAdjective": "a perspicacious",
"questEggTRexText": "Tyrannosaur",
"questEggTRexAdjective": "tiny-armed",
"questEggTRexAdjective": "a tiny-armed",
"questEggRockText": "Rock",
"questEggRockAdjective": "lively",
"questEggRockAdjective": "a lively",
"questEggBunnyText": "Bunny",
"questEggBunnyAdjective": "snuggly",
"questEggBunnyAdjective": "a snuggly",
"questEggSlimeText": "Marshmallow Slime",
"questEggSlimeAdjective": "sweet",
"questEggSlimeAdjective": "a sweet",
"questEggSheepText": "Sheep",
"questEggSheepAdjective": "woolly",
"questEggSheepAdjective": "a woolly",
"questEggCuttlefishText": "Cuttlefish",
"questEggCuttlefishAdjective": "cuddly",
"questEggCuttlefishAdjective": "a cuddly",
"questEggWhaleText": "Whale",
"questEggWhaleAdjective": "splashy",
"questEggWhaleAdjective": "a splashy",
"questEggCheetahText": "Cheetah",
"questEggCheetahAdjective": "honest",
"questEggCheetahAdjective": "an honest",
"questEggHorseText": "Horse",
"questEggHorseAdjective": "galloping",
"questEggHorseAdjective": "a galloping",
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into a <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
"hatchingPotionWhite": "White",

View file

@ -15,7 +15,7 @@
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> un-equipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch that egg with this potion. Try a different egg!",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",
"messageAlreadyPet": "You already have that pet. Try hatching a different combination!",
"messageHatched": "Your egg hatched! Visit your stable to equip your pet.",
"messageNotEnoughGold": "Not Enough Gold",

View file

@ -1088,7 +1088,7 @@ api.dropEggs =
_.each api.dropEggs, (egg,key) ->
_.defaults egg,
canBuy:true
canBuy: (()->true)
value: 3
key: key
notes: t('eggNotes', {eggText: egg.text, eggAdjective: egg.adjective})
@ -1096,27 +1096,27 @@ _.each api.dropEggs, (egg,key) ->
api.questEggs =
# value & other defaults set below
Gryphon: text: t('questEggGryphonText'), adjective: t('questEggGryphonAdjective'), canBuy: false
Hedgehog: text: t('questEggHedgehogText'), adjective: t('questEggHedgehogAdjective'), canBuy: false
Deer: text: t('questEggDeerText'), adjective: t('questEggDeerAdjective'), canBuy: false
Egg: text: t('questEggEggText'), adjective: t('questEggEggAdjective'), canBuy: false, mountText: t('questEggEggMountText')
Rat: text: t('questEggRatText'), adjective: t('questEggRatAdjective'), canBuy: false
Octopus: text: t('questEggOctopusText'), adjective: t('questEggOctopusAdjective'), canBuy: false
Seahorse: text: t('questEggSeahorseText'), adjective: t('questEggSeahorseAdjective'), canBuy: false
Parrot: text: t('questEggParrotText'), adjective: t('questEggParrotAdjective'), canBuy: false
Rooster: text: t('questEggRoosterText'), adjective: t('questEggRoosterAdjective'), canBuy: false
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
Rock: text: t('questEggRockText'), adjective: t('questEggRockAdjective'), canBuy: false
Bunny: text: t('questEggBunnyText'), adjective: t('questEggBunnyAdjective'), canBuy: false
Slime: text: t('questEggSlimeText'), adjective: t('questEggSlimeAdjective'), canBuy: false
Sheep: text: t('questEggSheepText'), adjective: t('questEggSheepAdjective'), canBuy: false
Cuttlefish: text: t('questEggCuttlefishText'), adjective: t('questEggCuttlefishAdjective'), canBuy: false
Whale: text: t('questEggWhaleText'), adjective: t('questEggWhaleAdjective'), canBuy: false
Cheetah: text: t('questEggCheetahText'), adjective: t('questEggCheetahAdjective'), canBuy: false
Horse: text: t('questEggHorseText'), adjective: t('questEggHorseAdjective'), canBuy: false
Gryphon: text: t('questEggGryphonText'), adjective: t('questEggGryphonAdjective'), canBuy: ((q)-> q.gryphon? > 0)
Hedgehog: text: t('questEggHedgehogText'), adjective: t('questEggHedgehogAdjective'), canBuy: ((q)-> q.hedgehog? > 0)
Deer: text: t('questEggDeerText'), adjective: t('questEggDeerAdjective'), canBuy: ((q)-> q.ghost_stag? > 0)
Egg: text: t('questEggEggText'), adjective: t('questEggEggAdjective'), canBuy: (()->false), mountText: t('questEggEggMountText')
Rat: text: t('questEggRatText'), adjective: t('questEggRatAdjective'), canBuy: ((q)-> q.rat? > 0)
Octopus: text: t('questEggOctopusText'), adjective: t('questEggOctopusAdjective'), canBuy: ((q)-> q.octopus? > 0)
Seahorse: text: t('questEggSeahorseText'), adjective: t('questEggSeahorseAdjective'), canBuy: ((q)-> q.dilatory_derby? > 0)
Parrot: text: t('questEggParrotText'), adjective: t('questEggParrotAdjective'), canBuy: ((q)-> q.harpy? > 0)
Rooster: text: t('questEggRoosterText'), adjective: t('questEggRoosterAdjective'), canBuy: ((q)-> q.rooster? > 0)
Spider: text: t('questEggSpiderText'), adjective: t('questEggSpiderAdjective'), canBuy: ((q)-> q.spider? > 0)
Owl: text: t('questEggOwlText'), adjective: t('questEggOwlAdjective'), canBuy: ((q)-> q.owl? > 0)
Penguin: text: t('questEggPenguinText'), adjective: t('questEggPenguinAdjective'), canBuy: ((q)-> q.penguin? > 0)
TRex: text: t('questEggTRexText'), adjective: t('questEggTRexAdjective'), canBuy: ((q)-> (q.trex? > 0 or q.trex_undead? > 0))
Rock: text: t('questEggRockText'), adjective: t('questEggRockAdjective'), canBuy: ((q)-> q.rock? > 0)
Bunny: text: t('questEggBunnyText'), adjective: t('questEggBunnyAdjective'), canBuy: ((q)-> q.bunny? > 0)
Slime: text: t('questEggSlimeText'), adjective: t('questEggSlimeAdjective'), canBuy: ((q)-> q.slime? > 0)
Sheep: text: t('questEggSheepText'), adjective: t('questEggSheepAdjective'), canBuy: ((q)-> q.sheep? > 0)
Cuttlefish: text: t('questEggCuttlefishText'), adjective: t('questEggCuttlefishAdjective'), canBuy: ((q)-> q.kraken? > 0)
Whale: text: t('questEggWhaleText'), adjective: t('questEggWhaleAdjective'), canBuy: ((q)-> q.whale? > 0)
Cheetah: text: t('questEggCheetahText'), adjective: t('questEggCheetahAdjective'), canBuy: ((q)-> q.cheetah? > 0)
Horse: text: t('questEggHorseText'), adjective: t('questEggHorseAdjective'), canBuy: ((q)-> q.horse? > 0)
_.each api.questEggs, (egg,key) ->
_.defaults egg,

View file

@ -102,7 +102,7 @@
menu.pets-menu(label=env.t('eggs'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='egg in Content.eggs', ng-if='egg.canBuy')
div(ng-repeat='egg in Content.eggs', ng-if='egg.canBuy(user.achievements.quests)')
button.customize-option(class='Pet_Egg_{{::egg.key}}',
popover='{{::egg.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{::egg.text()}}"}),
@ -110,26 +110,6 @@
ng-click='purchase("eggs", egg)')
p {{::egg.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
//- buyable quest eggs. TODO: Get this from a collection so we don't have to maintain this ridiculous comma-delimited list
//- The hard part will be the trex stuff, since it is allowed to exist with two quests
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',bunny:'Bunny',slime:'Slime',sheep:'Sheep',kraken:'Cuttlefish',whale:'Whale',cheetah:'Cheetah',horse:'Horse'}
div(ng-show='user.achievements.quests.#{quest} > 0')
button.customize-option(class='Pet_Egg_#{egg}',
popover='{{::Content.eggs.#{egg}.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("eggs", Content.eggs.#{egg})')
p {{::Content.eggs.#{egg}.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='(user.achievements.quests.trex + user.achievements.quests.trex_undead) > 0')
button.customize-option(class='Pet_Egg_TRex',
popover='{{::Content.eggs.TRex.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{Content.eggs.TRex.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("eggs", Content.eggs.TRex)')
p {{::Content.eggs.TRex.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('hatchingPotions'))