mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-07-13 23:42:12 +00:00
feat(pets): Improve egg canBuy logic
This commit is contained in:
parent
1aa5757847
commit
04416c4d73
4 changed files with 55 additions and 75 deletions
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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}}
|
||||
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}}
|
||||
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}}
|
||||
span.Pet_Currency_Gem1x.inline-gems
|
||||
|
||||
li.customize-menu
|
||||
menu.pets-menu(label=env.t('hatchingPotions'))
|
||||
|
|
|
|||
Loading…
Reference in a new issue