Merge branch 'develop' of github.com:lefnire/habitrpg into develop

This commit is contained in:
Daniel Saewitz 2013-05-12 14:00:33 -04:00
commit ce6914f0c8
13 changed files with 428 additions and 381 deletions

View file

@ -83,7 +83,7 @@
"Delete": "Изтрий",
"Progress": "Прогрес",
"Score": "Точки",
"Daily": "Ежедневни задачи",
"Dailies": "Ежедневни задачи",
"NewDaily": "Нова задача",
"Repeat": "Повтаряй",
"Su": "Нед",

View file

@ -1,63 +1,86 @@
{
"_commentfrontpage":"HABITRPG FRONT PAGE",
"Synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.",
"PlayButton" : "Play",
"synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.",
"playButton" : "Play",
"_commenttut": "TUTORIAL/TOUR",
"EndTourButton": "End Tour",
"NextButton" : "Next",
"PrevButton" : "Prev",
"Tour1Title" : "Welcome to HabitRPG",
"Tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.",
"Tour2Title" : "Habits",
"Tour2Text" : "Habits are good or bad goals that you constantly track.",
"Tour3Title" : "Dailies",
"Tour3Text" : "Dailies are goals that you want to complete once a day.",
"Tour4Title" : "Todos",
"Tour4Text" : "Todos are one-off goals which need to be completed eventually. ",
"Tour5Title" : "Rewards",
"Tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ",
"Tour6Title" : "Hover over comments",
"Tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.",
"endTourButton": "End Tour",
"nextButton" : "Next",
"prevButton" : "Prev",
"tour1Title" : "Welcome to HabitRPG",
"tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.",
"tour2Title" : "Habits",
"tour2Text" : "Habits are good or bad goals that you constantly track.",
"tour3Title" : "Dailies",
"tour3Text" : "Dailies are goals that you want to complete once a day.",
"tour4Title" : "Todos",
"tour4Text" : "Todos are one-off goals which need to be completed eventually. ",
"tour5Title" : "Rewards",
"tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ",
"tour6Title" : "Hover over comments",
"tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.",
"_commentdefaulttasks":"DEFAULT TASKS",
"habit1" : "1h Productive Work",
"habit1comment": "-- Habits: Constantly Track -- For some habits, it only makes sense to *gain* points (like this one)",
"habit2" : "Eat Junk Food",
"habit2comment" : "For others, it only makes sense to *lose* points",
"habit3" : "Take The Stairs",
"habit3comment" : "For the rest, both + and - make sense (stairs = gain, elevator = lose)",
"daily1" : "1h Personal Project",
"daily1comment" : "-- Dailies: Complete Once a Day -- At the end of each day, non-completed Dailies dock you points.",
"daily2" : "Exercise",
"daily2comment" : "If you are doing well, they turn green and are less valuable (experience, gold) and less damaging (HP). This means you can ease up on them for a bit.",
"daily3" : "45m Reading",
"daily3comment" : "But if you are doing poorly, they turn red. The worse you do, the more valuable (exp, gold) and more damaging (HP) these goals become. This encourages you to focus on your shortcomings, the reds.",
"todo1" : "Call Mom",
"todo1comment" : "-- Todos: Complete Eventually -- Non-completed Todos won't hurt you, but they will become more valuable over time. This will encourage you to wrap up stale Todos.",
"reward1" : "1 Episode of Game of Thrones",
"reward1comment": "-- Rewards: Treat Yourself! -- As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integral in forming good habits.",
"reward2" : "Cake",
"reward2comment" : "But only buy if you have enough gold - you lose HP otherwise.",
"_commentdefaulttags" : "DEFAULT TAGS",
"morning" : "morning",
"afternoon" : "afternoon",
"evening" : "evening",
"_commenthead": "HEADER",
"Health": "Health",
"Experience": "Experience",
"History": "History",
"Anonymous": "Anonymous",
"Level": "Level",
"GP": "GP",
"Tasks": "Tasks",
"Options": "Options",
"Logout": "Logout",
"health": "Health",
"experience": "Experience",
"history": "History",
"anonymous": "Anonymous",
"level": "Level",
"tasks": "Tasks",
"options": "Options",
"logout": "Logout",
"_commenttaskview": "TASK VIEW",
"Habits": "Habits",
"NewHabit": "New Habit",
"Edit": "Edit",
"Text": "Text",
"ExtraNotes": "Extra Notes",
"Directions/Actions": "Directions/Actions",
"AdvancedOptions": "Advanced Options",
"Difficulty": "Difficulty",
"DifficultyHelpTitle": "How difficult is this task?",
"DifficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.",
"Easy": "Easy",
"Medium": "Medium",
"Hard": "Hard",
"Delete": "Delete",
"Progress": "Progress",
"Score": "Score",
"Daily": "Dailys",
"NewDaily": "New Daily",
"Repeat": "Repeat",
"habits": "Habits",
"newHabit": "New Habit",
"edit": "Edit",
"text": "Text",
"extraNotes": "Extra Notes",
"directions/Actions": "Directions/Actions",
"advancedOptions": "Advanced Options",
"difficulty": "Difficulty",
"difficultyHelpTitle": "How difficult is this task?",
"difficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.",
"easy": "Easy",
"medium": "Medium",
"hard": "Hard",
"delete": "Delete",
"progress": "Progress",
"score": "Score",
"dailies": "Dailies",
"newDaily": "New Daily",
"repeat": "Repeat",
"Su": "Su",
"M": "M",
"T": "T",
@ -65,84 +88,106 @@
"Th": "Th",
"F": "F",
"S": "S",
"Todos": "Todos",
"NewTodo": "New Todo",
"DueDate": "Due Date",
"Remaining": "Remaining",
"Complete": "Complete",
"Rewards": "Rewards",
"Gold": "Gold",
"Silver": "Silver",
"NewReward": "New Reward",
"Price": "Price",
"todos": "Todos",
"newTodo": "New Todo",
"dueDate": "Due Date",
"remaining": "Remaining",
"complete": "Complete",
"rewards": "Rewards",
"gold": "Gold",
"silver": "Silver",
"newReward": "New Reward",
"price": "Price",
"_commentoptionsview": "OPTIONS VIEW",
"Profile": "Profile",
"Avatar": "Avatar",
"Head": "Head",
"ShowHelm": "Show Helm",
"Hair": "Hair",
"Skin": "Skin",
"PhotoUrl": "Photo Url",
"FullName": "Full Name",
"Blurb": "Blurb",
"Websites": "Websites",
"Add Websites": "Add Websites",
"profile": "Profile",
"avatar": "Avatar",
"head": "Head",
"showHelm": "Show Helm",
"hair": "Hair",
"skin": "Skin",
"photoUrl": "Photo Url",
"fullName": "Full Name",
"blurb": "Blurb",
"websites": "Websites",
"addWebsites": "Add Websites",
"stats" : "Stats",
"strength" : "Strength",
"defense" : "Defense",
"totalstrength" : "Total Strength",
"totaldefense" : "Total Defense",
"Party": "Party",
"CreateAParty":"Create A Party",
"NoPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:",
"PartyName": "Party Name",
"Create":"Create",
"UserId":"User Id",
"Invite":"Invite",
"Leave": "Leave",
"PartyChat": "Chat",
"Inventory": "Inventory",
"EggsTitle": "Eggs",
"EggsContent": "You don't have any eggs yet.",
"HatchingPotionsTitle": "Hatching Potions",
"HatchingPotionsContent": "You don't have any hatching potions yet.",
"Market": "Market",
"party": "Party",
"createAParty":"Create A Party",
"noPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:",
"partyName": "Party Name",
"create":"Create",
"userId":"User Id",
"invite":"Invite",
"leave": "Leave",
"partyChat": "Chat",
"Stable": "Stable",
"PetsFound":"Pets Found",
"RarePets": "Rare Pets",
"inventory": "Inventory",
"eggsTitle": "Eggs",
"eggsContent": "You don't have any eggs yet.",
"hatchingPotionsTitle": "Hatching Potions",
"hatchingPotionsContent": "You don't have any hatching potions yet.",
"market": "Market",
"Tavern": "Tavern",
"RestButton":"Rest In The Inn",
"CheckoutButton": "Check Out Of Inn",
"TavernTalkTitle":"Tavern Talk & LFG",
"stable": "Stable",
"petsFound":"Pets Found",
"rarePets": "Rare Pets",
"Achievements":"Achievements",
"tavern": "Tavern",
"restButton":"Rest In The Inn",
"checkoutButton": "Check Out Of Inn",
"tavernTalkTitle":"Tavern Talk & LFG",
"tavernRestingInfo" : "Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.",
"Settings":"Settings",
"CustomDayStart":"Custom Day Start",
"achievements":"Achievements",
"npctext" : "Backed the Kickstarter project at the maximum level!",
"contribname" : "Contributor",
"contribtext" : "Has contributed to HabitRPG (code, design, pixel art, legal advice, docs, etc). Want this badge? Fix a bug",
"kickstartname1" : "Kickstarter Backer - ",
"kickstartname2" : "Tier",
"kickstarttext" : "Backed the Kickstarter Project",
"streakname" : " Streak Achievement(s)",
"streaktext1" : "Has performed ",
"streaktext2" : " 21-day streaks on Dailies",
"origusername" : "Original User",
"origusertext" : "Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)",
"ultimgearname" : "Ultimate Gear",
"ultimgeartext" : "Has attained the maximum weapon and armor set",
"beastmastname" : "Beast Master",
"beastmasttext" : "Has found all 90 pets (insanely difficult, give this user props!)",
"settings":"Settings",
"customDayStart":"Custom Day Start",
"24HrClock": "24Hr Clock",
"ClockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).",
"Misc":"Misc",
"HideHeader":"Hide Header",
"ShowHeader":"Show Header",
"ChangePass":"Change Password",
"OldPass":"Old Password",
"NewPass":"New Password",
"ConfirmPass":"Confirm New Password",
"DangerZone": "Danger Zone",
"Reset":"Reset",
"ResetAltText":"Resets your entire account (dangerous)",
"ResetText1":"This resets your entire account - your tasks will be deleted and your character will start over.",
"ResetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.",
"Restore":"Restore",
"RestoreAltText":"Restores attributes to your character",
"RestoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.",
"Delete":"Delete",
"DeleteAltText":"Delete your account",
"DeleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type",
"DeleteText2":" DELETE ",
"DeleteText3":"into the text-box",
"clockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).",
"misc":"Misc",
"hideHeader":"Hide Header",
"showHeader":"Show Header",
"changePass":"Change Password",
"oldPass":"Old Password",
"newPass":"New Password",
"confirmPass":"Confirm New Password",
"dangerZone": "Danger Zone",
"reset":"Reset",
"resetAltText":"Resets your entire account (dangerous)",
"resetText1":"This resets your entire account - your tasks will be deleted and your character will start over.",
"resetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.",
"restore":"Restore",
"restoreAltText":"Restores attributes to your character",
"restoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.",
"delete":"Delete",
"deleteAltText":"Delete your account",
"deleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type",
"deleteText2":" DELETE ",
"deleteText3":"into the text-box",
"API":"API",
"APIText":"Copy these for use in third party applications.",
"APIToken":"Api Token",
@ -151,155 +196,161 @@
"_commentitems": "ITEMS",
"_commentitemsweps": "WEAPONS",
"Sword1Name" : "Sword",
"Sword1Text" : "Increases experience gain by 3%.",
"Sword2Name" : "Axe",
"Sword2Text" : "Increases experience gain by 6%.",
"Sword3Name" : "Morningstar",
"Sword3Text" : "Increases experience gain by 9%.",
"Sword4Name" : "Blue Sword",
"Sword4Text" : "Increases experience gain by 12%.",
"Sword5Name" : "Red Sword",
"Sword5Text" : "Increases experience gain by 15%.",
"Sword6Name" : "Golden Sword",
"Sword6Text" : "Increases experience gain by 18%.",
"sword0name" : "Training Sword",
"sword1Name" : "Sword",
"sword1Text" : "Increases experience gain by 3%.",
"sword2Name" : "Axe",
"sword2Text" : "Increases experience gain by 6%.",
"sword3Name" : "Morningstar",
"sword3Text" : "Increases experience gain by 9%.",
"sword4Name" : "Blue Sword",
"sword4Text" : "Increases experience gain by 12%.",
"sword5Name" : "Red Sword",
"sword5Text" : "Increases experience gain by 15%.",
"sword6Name" : "Golden Sword",
"sword6Text" : "Increases experience gain by 18%.",
"_commentitemsarmour": "ARMOUR",
"Armour1Name" : "Leather Armor" ,
"Armour1Text": "Decreases HP Loss by 4%",
"Armour2Name" : "Chain Mail",
"Armour2Text": "Decreases HP Loss by 6%",
"Armour3Name" : "Plate Mail",
"Armour3Text": "Decreases HP Loss by 7%",
"Armour4Name" : "Red Armor",
"Armour4Text": "Decreases HP Loss by 8%",
"Armour5Name" : "Golden Armor",
"Armour5Text": "Decreases HP Loss by 10%",
"armour0Name" : "Cloth Armour",
"armour1Name" : "Leather Armor" ,
"armour1Text": "Decreases HP Loss by 4%",
"armour2Name" : "Chain Mail",
"armour2Text": "Decreases HP Loss by 6%",
"armour3Name" : "Plate Mail",
"armour3Text": "Decreases HP Loss by 7%",
"armour4Name" : "Red Armor",
"armour4Text": "Decreases HP Loss by 8%",
"armour5Name" : "Golden Armor",
"armour5Text": "Decreases HP Loss by 10%",
"_commentitemshead" : "HEADGEAR",
"Head1Name" : "Leather Helm" ,
"Head1Text": "Decreases HP loss by 2%",
"Head2Name" : "Chain Coif",
"Head2Text": "Decreases HP loss by 3%",
"Head3Name" : "Plate Helm",
"Head3Text": "Decreases HP loss by 4%",
"Head4Name" : "Red Helm",
"Head4Text": "Decreases HP loss by 5%",
"Head5Name" : "Golden Helm",
"Head5Text": "Decreases HP loss by 6%",
"head0Name" : "No Helm",
"head1Name" : "Leather Helm" ,
"head1Text": "Decreases HP loss by 2%",
"head2Name" : "Chain Coif",
"head2Text": "Decreases HP loss by 3%",
"head3Name" : "Plate Helm",
"head3Text": "Decreases HP loss by 4%",
"head4Name" : "Red Helm",
"head4Text": "Decreases HP loss by 5%",
"head5Name" : "Golden Helm",
"head5Text": "Decreases HP loss by 6%",
"_commentitemsshield" : "SHIELDS",
"Shield1Name" : "Wooden Shield",
"Shield1Text": "Decreases HP loss by 3%",
"Shield2Name" : "Buckler",
"Shield2Text": "Decreases HP loss by 4%",
"Shield3Name" : "Enforced Shield",
"Shield3Text": "Decreases HP loss by 5%",
"Shield4Name" : "Red Shield",
"Shield4Text": "Decreases HP loss by 7%",
"Shield5Name" : "Golden Shield",
"Shield5Text": "Decreases HP loss by 8%",
"sheild0Name" : "No Shield",
"sheild1Name" : "Wooden Shield",
"sheild1Text": "Decreases HP loss by 3%",
"sheild2Name" : "Buckler",
"sheild2Text": "Decreases HP loss by 4%",
"sheild3Name" : "Enforced Shield",
"sheild3Text": "Decreases HP loss by 5%",
"sheild4Name" : "Red Shield",
"sheild4Text": "Decreases HP loss by 7%",
"sheild5Name" : "Golden Shield",
"sheild5Text": "Decreases HP loss by 8%",
"_commentitemsother" : "OTHER ITEMS",
"HealthPotionName" : "Health Potion",
"HealthPotionNotes" : "Recover 15 HP Instantly",
"RerollName" : "Re-Roll",
"RerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.",
"healthPotionName" : "Health Potion",
"healthPotionNotes" : "Recover 15 HP Instantly",
"rerollName" : "Re-Roll",
"rerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.",
"_commentitemspeteggs": "PET EGGS",
"WolfEgg": "Wolf Cub",
"TigerEgg": "Tiger Cub",
"PandaEgg": "Wolf Cub",
"LionEgg": "Lion Cub",
"FoxEgg": "Fox",
"PigEgg": "Flying Pig",
"DragonEgg": "Dragon",
"CactusEgg": "Cactus",
"BearEgg": "Bear Cub",
"WolfEgg": "Wolf",
"wolfEgg": "Wolf Cub",
"tigerEgg": "Tiger Cub",
"pandaEgg": "Wolf Cub",
"lionEgg": "Lion Cub",
"foxEgg": "Fox",
"pigEgg": "Flying Pig",
"dragonEgg": "Dragon",
"cactusEgg": "Cactus",
"bearEgg": "Bear Cub",
"wolfEgg": "Wolf",
"_commentitemshatchingpotions": "HATCHING POTIONS",
"BasePotName": "Base",
"BasePotText" : "Hatches your pet into its base form.",
"WhitePotName": "White",
"WhitePotText" : "Hatches your pet into its white form.",
"DesertPotName": "Desert",
"DesertPotText" : "Hatches your pet into its desert form.",
"RedPotName": "Red",
"RedPotText" : "Hatches your pet into its red form.",
"ShadePotName": "Shadepot",
"ShadePotText" : "Hatches your pet into its shade form.",
"SkeletonPotName": "Skeleton",
"SkeletonPotText" : "Hatches your pet into its skeleton form.",
"ZombiePotName": "Zombie",
"ZombiePotText" : "Hatches your pet into its zombie form.",
"CottonPinkPotName": "Cotton Candy Pink",
"CottonPinkPotText" : "Hatches your pet into its cotton candy pink form.",
"CottonBluePotName": "Cotton Candy Blue",
"CottonBluePotText" : "Hatches your pet into its cotton candy blue form.",
"GoldenPotName": "Golden",
"GoldenPotText" : "Hatches your pet into its golden form.",
"basePotName": "Base",
"basePotText" : "Hatches your pet into its base form.",
"whitePotName": "White",
"whitePotText" : "Hatches your pet into its white form.",
"desertPotName": "Desert",
"desertPotText" : "Hatches your pet into its desert form.",
"redPotName": "Red",
"redPotText" : "Hatches your pet into its red form.",
"shadePotName": "Shadepot",
"shadePotText" : "Hatches your pet into its shade form.",
"skeletonPotName": "Skeleton",
"skeletonPotText" : "Hatches your pet into its skeleton form.",
"zombiePotName": "Zombie",
"zombiePotText" : "Hatches your pet into its zombie form.",
"cottonPinkPotName": "Cotton Candy Pink",
"cottonPinkPotText" : "Hatches your pet into its cotton candy pink form.",
"cottonBluePotName": "Cotton Candy Blue",
"cottonBluePotText" : "Hatches your pet into its cotton candy blue form.",
"goldenPotName": "Golden",
"goldenPotText" : "Hatches your pet into its golden form.",
"_commentnpcsandchars": "NPCS & CHARACTERS",
"_commentNPCS" : "NPCS",
"NPCBaileyName" : "Bailey",
"NPCBaileyText" : "Bailey the Crier here! Announcing new stuff!",
"NPCBaileyText1" : "the Town Crier here! Announcing new stuff!",
"NPCAugustinName" : "Alexander Augustin",
"NPCAugustinText" : "Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!",
"NPCAugustinText1" : "Welcome to the Market! I'm the merchant,",
"NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!",
"NPCJohanssonName" : "Daniel Johansson",
"NPCJohanssonText" : "Welcome to the Tavern! I'm Daniel, the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.",
"NPCJohanssonText1" : "Welcome to the Tavern! I'm",
"NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.",
"NPCMelchiorName" : "Ian Melchior ",
"NPCMelchiorText" : "",
"NPCMelchiorText1" : "",
"NPCBowenName" : "Justin Bowen",
"NPCBowenText" : "",
"NPCBowenText1" : "",
"NPCBochName" : "Matt Boch",
"NPCBochText" : "",
"NPCBochText1" : "",
"_commentfooter": "FOOTER",
"FooterCompany" : "Company",
"CompanyAbout" : "About",
"CompanyBlog" : "Blog",
"CompanyTeam" : "Team",
"CompanyExtensions" : "Extensions",
"CompanyFAQ" : "FAQ",
"FooterLegal" : "Legal",
"LegalPrivacy" : "Privacy",
"LegamTerms" : "Terms",
"FooterCommunity" : "Community",
"CommunityBugs" : "Submit Bugs",
"CommunityFeatures" : "Request Feautres",
"CommunityAPI" : "API",
"CommunityExtensions" : "Add-ons / Extensions",
"CommunityForum" : "Forum",
"CommunityKickstarter" : "Kickstarter",
"CommunityFB" : "Facebook",
"CommunityReddit" : "Reddit",
"footerCompany" : "Company",
"companyAbout" : "About",
"companyBlog" : "Blog",
"companyTeam" : "Team",
"companyExtensions" : "Extensions",
"companyFAQ" : "FAQ",
"footerLegal" : "Legal",
"legalPrivacy" : "Privacy",
"legamTerms" : "Terms",
"footerCommunity" : "Community",
"communityBugs" : "Submit Bugs",
"communityFeatures" : "Request Feautres",
"communityAPI" : "API",
"communityExtensions" : "Add-ons / Extensions",
"communityForum" : "Forum",
"communityKickstarter" : "Kickstarter",
"communityFB" : "Facebook",
"communityReddit" : "Reddit",
"_commentmisc": "MISC & GLOBAL",
"Gems" : "Gems",
"RemoveAds": "Remove Ads",
"WhyAds": "Why Ads?",
"WhyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.",
"WhyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ",
"WhyAdsContent3": "these instructions.",
"gems" : "Gems",
"removeAds": "Remove Ads",
"whyAds": "Why Ads?",
"whyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.",
"whyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ",
"whyAdsContent3": "these instructions.",
"_commentbuttons": "BUTTONS",
"Submit":"Submit",
"Close":"Close",
"Save&Close": "Save & Close",
"Cancel":"Cancel",
"submit":"Submit",
"close":"Close",
"saveAndClose": "Save & Close",
"cancel":"Cancel",
"_commenttimestamps":"TIME STAMPS",
"JustNow":"Just now",
"AMinuteAgo":"A minute ago",
"MinutesAgo":"minutes ago",
"AnHourAgo": "An hour ago",
"HoursAgo": "hours ago",
"Yesterday":"Yesterday",
"DaysAgo":"days ago"
"justNow":"Just now",
"aMinuteAgo":"A minute ago",
"minutesAgo":"minutes ago",
"anHourAgo": "An hour ago",
"hoursAgo": "hours ago",
"yesterday":"Yesterday",
"daysAgo":"days ago"
}

View file

@ -125,14 +125,17 @@ viewHelpers = (view) ->
###
Tasks
###
view.fn 'taskClasses', (task, filters, dayStart, lastCron) ->
view.fn 'taskClasses', (task, filters, dayStart, lastCron, showCompleted=false) ->
return unless task
{type, completed, value, repeat} = task
# completed / remaining toggle
return 'hidden' if (type is 'todo') and (completed != showCompleted)
for filter, enabled of filters
if enabled and not task.tags?[filter]
# All the other classes don't matter
return 'hide'
return 'hidden'
classes = type
@ -150,6 +153,8 @@ viewHelpers = (view) ->
classes += " completed"
else
classes += " uncompleted"
else if type is 'habit'
classes += ' habit-wide' if task.down and task.up
if value < -20
classes += ' color-worst'

View file

@ -94,8 +94,8 @@ setupSubscriptions = (page, model, params, next, cb) ->
return next(err) if err
model.ref '_partyMembers', members
# Note - selfQ *must* come after membersQ in subscribe, otherwise _user will only get the fields restricted by party-members in store.coffee. Strang bug, but easy to get around
return finished([partyQ, selfQ, 'tavern'], ['_party', '_user', '_tavern'])
# Note - selfQ *must* come after membersQ in subscribe, otherwise _user will only get the fields restricted by party-members in store.coffee. Strang bug, but easy to get around
return finished([partyQ, selfQ, 'tavern'], ['_party', '_user', '_tavern'])
# ========== ROUTES ==========

View file

@ -99,28 +99,8 @@ module.exports.app = (appExports, model) ->
chart = new google.visualization.LineChart(document.getElementById( chartSelector ))
chart.draw(data, options)
appExports.changeContext = (e, el) ->
# Get the data from the element
targetSelector = $(el).attr('data-target')
newContext = $(el).attr('data-context')
newActiveNav = $(el).parent('li')
# If the clicked nav is already active, do nothing
if newActiveNav.hasClass('active')
return
# Find the old active nav and context
oldActiveNav = $(el).closest('ul').find('> .active')
oldContext = oldActiveNav.find('a').attr('data-context')
# Set the new active nav
oldActiveNav.removeClass('active')
newActiveNav.addClass('active')
# Set the new context on the target
target = $(targetSelector)
target.removeClass(oldContext)
target.addClass(newContext)
appExports.todosShowRemaining = -> model.set '_showCompleted', false
appExports.todosShowCompleted = -> model.set '_showCompleted', true
setUndo = (stats, task) ->
previousUndo = model.get('_undo')

View file

@ -84,7 +84,7 @@ hr
/* Gems
-------------------------------------------------- */
/* Adaptation of GH's social-count for Tokens */
/* Adaptation of GH's social-count for Gems */
.gem-cost
border: 1px solid #D4D4D4;

View file

@ -383,21 +383,6 @@ form
// todos ui
// --------
// context switching
.context-enabled
.display-context-dependant,
.task-list > li
display: none
&.context-completed
.show-for-completed, .completed
display: block
&.context-uncompleted
.show-for-uncompleted, .uncompleted
display: block
// nav tabs
.nav-tabs
margin-top: 1.5em

View file

@ -14,6 +14,11 @@
<p>
<h4>5/12/2013</h4>
<ul>
<li>Renamed "Tokens" to "Gems". Tokens caused confusion.</li>
</ul>
<h4>5/10/2013</h4>
<ul>
<li>Less harsh death: Used to be you lose everything, now you lose GP & one random gear piece, 1 level. We're working on a <a _target='blank' href="https://trello.com/card/death-mechanic/50e5d3684fe3a7266b0036d6/204">really cool death mechanic here.</a>, but this is a stop-gap so people don't lose heart presently.</li>

View file

@ -2,7 +2,7 @@
<div class="module full-width">
<span class='option-box pull-right wallet'>
<app:rewards:userGems />
<app:rewards:user-gems />
</span>
<ul class="nav nav-tabs game-tabs">
@ -12,7 +12,7 @@
<li><a data-toggle='tab' data-target="#profileInventory"><i class='icon-gift'></i> Inventory</a></li>
<li><a data-toggle='tab' data-target="#profileStable"><i class='icon-leaf'></i> Stable</a></li>
{/if}
<li><a data-toggle='tab' data-target="#profileTavern"><i class='icon-glass'></i> Tavern</a></li>
<li><a data-toggle='tab' data-target="#profileTavern"><i class='icon-eye-close'></i> Tavern</a></li>
<li><a data-toggle='tab' data-target="#profileAchievements"><i class='icon-certificate'></i> Achievements</a></li>
{{#if _loggedIn}}
<li><a data-toggle='tab' data-target="#profileSettings"><i class='icon-wrench'></i> Settings</a></li>
@ -88,7 +88,7 @@
</div>
</div>
<div class='alert alert-info {#unless _user.flags.rest}hidden{/}'>While you're resting, your dailies aren't calculated. <span class='label label-warning'>Warning:</span> this means that if you check in today, do some dailies, and check out tomorrow - they won't get un-checked until the day <strong>after</strong> tomorrow. You start where you left off before vacation / illness, and it prevents abusing the inn. See <a _target='blank' href='https://trello.com/card/rest-in-tavern/50e5d3684fe3a7266b0036d6/14'><strong>Trello</strong></a> for more information.</div>
<div class='alert alert-info {#unless _user.flags.rest}hidden{/}'>Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.</div>
<div class=well>
<h3>Resources</h3>

View file

@ -42,8 +42,18 @@
<div id="exp-chart" style="display:none;"></div>
<div id=main class="grid">
<div class='{#if _gamePane}hidden{/}'><app:tasks:taskLists /></div>
<div class='{#unless _gamePane}hidden{/}'><app:game-pane:main /></div>
<div class='{#if _gamePane}hidden{/}'>
<app:tasks:task-lists
habits={_habitList}
dailys={_dailyList}
todos={_todoList}
rewards={_rewardList}
main=true
editable=true />
</div>
<div class='{#unless _gamePane}hidden{/}'>
<app:game-pane:main />
</div>
</div>
</div>
<app:footer:footer />

View file

@ -34,7 +34,7 @@
<!-- Re-Roll modal -->
<app:modals:modal modalId='reroll-modal' header="Reset Your Tasks">
<app:rewards:userGems />
<app:rewards:user-gems />
<p>Highly discouraged because red tasks provide good incentive to improve (<a target="_blank" href="https://github.com/lefnire/habitrpg#all-my-tasks-are-red-im-dying-too-fast">read more</a>). However, this becomes necessary after long bouts of bad habits.</p>
<@footer>
{#if lt(_user.balance,1)}
@ -47,7 +47,7 @@
<!-- Buy more Gems modal -->
<app:modals:modal modalId='more-gems-modal' header="Out Of Gems">
<app:rewards:userGems />
<app:rewards:user-gems />
<p>Oops, out of Gems, which are used to buy special items! Habit is an open source project, and can use all the help it can get - buy more Gems to receive this pet, and consider it a donation to the contributors</p>
<@footer>
<a data-dismiss="modal" x-bind="click:showStripe" class="btn btn-success btn-large">Buy More Gems</a><span class='gem-cost'>Not enough Gems</span>

View file

@ -8,51 +8,7 @@
</@footer>
</app:modals:modal>
<rewardsColumn:>
<div class="module rewards-module">
<div class="task-column rewards">
<!-- cash or gems -->
<span class='option-box pull-right wallet'>
<div class="money">
{gold(floor(_user.stats.gp))}
<span class='shop_gold' rel='tooltip' title='Gold'></span>
</div>
<div class="money">
{silver(_user.stats.gp)}
<span class='shop_silver' rel='tooltip' title='Silver'></span>
</div>
</span>
<h2 class="task-column_title">Rewards</h2>
<!-- add new reward -->
<app:tasks:newTask type="reward" inputValue="{_newReward}" placeHolder="New Reward" />
<!-- Custom Rewards -->
<ul class='rewards' style="{#unless _rewardList}display:none{/}">
{#each _rewardList as :task}<app:tasks:task />{/}
</ul>
<!-- Static Rewards -->
<ul class='items' style="{#unless _user.flags.itemsEnabled}display:none{/}">
<app:rewards:item item={_items.next.weapon} />
<app:rewards:item item={_items.next.armor} />
<app:rewards:item item={_items.next.head} />
<app:rewards:item item={_items.next.shield} />
<app:rewards:item item={_items.potion} />
<app:rewards:item item={_items.reroll} />
</ul>
<app:tasks:ads>
<a href="http://www.amazon.com/gp/product/1594484805/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1594484805&linkCode=as2&tag=ha0d2-20">Drive: The Surprising Truth About What Motivates Us</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=1594484805" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</app:tasks:ads>
</div>
</div>
<userGems:>
<user-gems:>
<a class="pull-right gem-wallet" rel='popover' data-trigger='hover' data-title='Gems' data-content="Used for buying special items (reroll, eggs, hatching potions, etc). You'll need to unlock those features before being able to use Gems." data-placement='bottom'>
<span class="task-action-btn tile flush bright add-gems-btn" x-bind="click:showStripe"></span>
<span class="task-action-btn tile flush neutral"><div class="Gems"></div> {gems(_user.balance)} Gems
@ -69,7 +25,7 @@
<!-- left-hand size commands -->
<div class="task-controls">
{#if equal(@item.type),'reroll')}
{#if equal(@item.type,'reroll')}
<a class="task-action-btn btn-reroll" data-toggle="modal" data-target="#reroll-modal"><i class='icon-repeat'></i></a>
{else}
<a class="money btn-buy item-btn" x-bind=click:buyItem data-type={@item.type} data-value={@item.value} data-index={@item.index}>

View file

@ -8,53 +8,48 @@
</@footer>
</app:modals:modal>
<ads: nonvoid>
{{#if and( _loggedIn, notEqual(_user.flags.ads,'hide') )}}
<span class='pull-right'>
<a x-bind="click:showStripe" rel='tooltip' title='Remove Ads'><i class='icon-remove'></i></a><br/>
<a href="#" data-target="#why-ads-modal" data-toggle="modal" rel='tooltip' title='Why Ads?'><i class='icon-question-sign'></i></a>
</span>
{{@content}}
{{/}}
<taskLists:>
<task-lists:>
<!--helpTitle & helpContent moved to tour -->
<!-- Habits Column -->
<div class="module">
<div class="task-column habits">
<h2 class="task-column_title">{{t("Habits")}}</h2>
<app:tasks:newTask type="habit" inputValue="{_newHabit}" placeHolder="New Habit" />
<ul class="habits">
{#each _habitList as :task}<app:tasks:task />{/}
</ul>
<br/>
<app:tasks:ads>
<a href="http://www.amazon.com/gp/product/1400069289/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1400069289&linkCode=as2&tag=ha0d2-20">The Power of Habit: Why We Do What We Do in Life and Business</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=1400069289" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</app:tasks:ads>
<app:tasks:task-list
header="habits"
type="habit"
inputValue={_newHabit}
placeHolder="New Habit"
list={@habits}
main={{@main}}
editable={{@editable}}
>
<@ads><a href="http://www.amazon.com/gp/product/1400069289/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1400069289&linkCode=as2&tag=ha0d2-20">The Power of Habit: Why We Do What We Do in Life and Business</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=1400069289" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></@ads>
</app:tasks:task-list>
</div>
</div>
<!-- Dailys Column -->
<div class="module">
<div class="task-column dailys">
<h2 class="task-column_title">Dailies</h2>
<app:tasks:newTask type="daily" inputValue="{_newDaily}" placeHolder="New Daily" />
<ul class='dailys'>
{#each _dailyList as :task}<app:tasks:task />{/}
</ul>
<br/>
<app:tasks:ads>
<a href="http://www.amazon.com/gp/product/0142000280/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0142000280&linkCode=as2&tag=ha0d2-20">Getting Things Done: The Art of Stress-Free Productivity</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=0142000280" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</app:tasks:ads>
<app:tasks:task-list
header="dailies"
type="daily"
inputValue={_newDaily}
placeHolder="New Daily"
list={@dailys}
main={{@main}}
editable={{@editable}}
>
<@ads><a href="http://www.amazon.com/gp/product/0142000280/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0142000280&linkCode=as2&tag=ha0d2-20">Getting Things Done: The Art of Stress-Free Productivity</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=0142000280" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></@ads>
</app:tasks:task-list>
</div>
</div>
<!-- Todos Column -->
<div class="module">
<div class="task-column todos context-enabled context-uncompleted tabbable tabs-below" id="todo-well">
<div class="task-column todos tabbable tabs-below">
{{#if @main}}
<!-- todo export/graph options -->
<span class='option-box pull-right'>
{#if _user.history.todos}
@ -63,47 +58,107 @@
<a class="option-action" href="/v1/users/{{_user.id}}/calendar.ics?apiToken={{_user.apiToken}}" rel=tooltip title="iCal"><i class=icon-calendar></i></a>
<!-- <a href="https://www.google.com/calendar/render?cid={{encodeiCalLink(_user.id, _user.apiToken)}}" rel=tooltip title="Google Calendar"><i class=icon-calendar></i></a> -->
</span>
<h2 class="task-column_title">Todos</h2>
<div id="todos-chart" style="display:none;"></div>
{{/}}
<!-- create new todo -->
<div class="display-context-dependant show-for-uncompleted">
<app:tasks:newTask type="todo" inputValue="{_newTodo}" placeHolder="New Todo" />
</div>
<!-- list of all the todos -->
<ul class='todos task-list'>
{#each _todoList as :task}<app:tasks:task />{/}
</ul>
<br/>
<app:tasks:ads>
<a href="http://www.amazon.com/gp/product/0312430000/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0312430000&linkCode=as2&tag=ha0d2-20">The Checklist Manifesto: How to Get Things Right</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=0312430000" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</app:tasks:ads>
<app:tasks:task-list
header="todos"
type="todo"
inputValue="{_newTodo}"
placeHolder="New Todo"
list={@todos}
main={{@main}}
editable={{@editable}}
>
<@ads><a href="http://www.amazon.com/gp/product/0312430000/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0312430000&linkCode=as2&tag=ha0d2-20">The Checklist Manifesto: How to Get Things Right</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=0312430000" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></@ads>
</app:tasks:task-list>
<button class='task-action-btn tile spacious bright display-context-dependant show-for-completed' x-bind=click:clearCompleted>Clear Completed</button>
<button class='task-action-btn tile spacious bright {#unless _showCompleted}hidden{/}' x-bind=click:clearCompleted>Clear Completed</button>
<!-- remaining/completed tabs -->
<ul class="todo-status-toggler nav nav-tabs">
<li class="active"><a x-bind=click:changeContext data-target="#todo-well" data-context="context-uncompleted">Remaining</a></li>
<li><a x-bind=click:changeContext data-target="#todo-well" data-context="context-completed">Complete</a></li>
<ul class="nav nav-tabs">
<li class="{#unless _showCompleted}active{/}"><a x-bind="click:todosShowRemaining">Remaining</a></li>
<li class="{#if _showCompleted}active{/}"><a x-bind="click:todosShowCompleted">Complete</a></li>
</ul>
</div>
</div>
<!-- Rewards Column -->
<app:rewards:rewardsColumn />
<div class="module rewards-module">
<div class="task-column rewards">
{{#if @main}}
<!-- cash or gems -->
<span class='option-box pull-right wallet'>
<div class="money">
{gold(floor(_user.stats.gp))}
<span class='shop_gold' rel='tooltip' title='Gold'></span>
</div>
<div class="money">
{silver(_user.stats.gp)}
<span class='shop_silver' rel='tooltip' title='Silver'></span>
</div>
</span>
{{/}}
<app:tasks:task-list
header="rewards"
type="reward"
inputValue="{_newReward}"
placeHolder="New Reward"
list={@rewards}
main={{@main}}
editable={{@editable}}
>
<@extra>
{{#if @main}}
<!-- Static Rewards -->
<ul class='items {#unless _user.flags.itemsEnabled}hidden{/}'>
<app:rewards:item item={_items.next.weapon} />
<app:rewards:item item={_items.next.armor} />
<app:rewards:item item={_items.next.head} />
<app:rewards:item item={_items.next.shield} />
<app:rewards:item item={{_items.potion}} />
<app:rewards:item item={{_items.reroll}} />
</ul>
{{/}}
</@extra>
<@ads><a href="http://www.amazon.com/gp/product/1594484805/ref=as_li_tf_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1594484805&linkCode=as2&tag=ha0d2-20">Drive: The Surprising Truth About What Motivates Us</a><img src="//www.assoc-amazon.com/e/ir?t=ha0d2-20&l=as2&o=1&a=1594484805" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></@ads>
</app:tasks:task-list>
</div>
</div>
<!-- Templates -->
<newTask:>
<form class="addtask-form form-inline new-task-form" id="new-{@type}" data-task-type="{@type}" x-bind="submit:addTask">
<span class="addtask-field"><input value="{@inputValue}" type="text" name="new-task" placeholder="{@placeHolder}"/></span>
<task-list: nonvoid>
<h2 class="task-column_title">{{t(@header)}}</h2>
{{#if equal(@type,'todo')}}<div id="todos-chart" class="hidden"></div>{{/}}
{{#if @editable}}
<form class="addtask-form form-inline new-task-form {#if and(_showCompleted,equal(@type,'todo'))}hidden{/}" id="new-{{@type}}" data-task-type="{{@type}}" x-bind="submit:addTask">
<span class="addtask-field"><input value="{@inputValue}" type="text" placeholder="{{@placeHolder}}"/></span>
<input class="addtask-btn" type="submit" value="">
</form>
<hr>
{{/}}
<ul class="{{@type}}s {#unless @list}hidden{/}">
{#each @list as :task}<app:tasks:task />{/}
</ul>
{{@extra}}
<br/>
<!-- ads -->
{{#if and( _loggedIn, notEqual(_user.flags.ads,'hide'), @main )}}
<span class='pull-right'>
<a x-bind="click:showStripe" rel='tooltip' title='Remove Ads'><i class='icon-remove'></i></a><br/>
<a href="#" data-target="#why-ads-modal" data-toggle="modal" rel='tooltip' title='Why Ads?'><i class='icon-question-sign'></i></a>
</span>
{{@ads}}
{{/}}
<!-- all the parts of a single task -->
<task:>
<li data-id={{:task.id}} class="task {taskClasses(:task, _user.filters, _user.preferences.dayStart, _user.lastCron)} {#if :task.down}{#if :task.up}habit-wide{/}{/}">
<li data-id={{:task.id}} class="task {taskClasses(:task, _user.filters, _user.preferences.dayStart, _user.lastCron, _showCompleted)}">
<!-- right-hand side control buttons -->
<div class="task-meta-controls">
@ -238,4 +293,4 @@
</form>
</div>
<div style="display:none;" id={{:task.id}}-chart></div>
<div style="display:none;" id={{:task.id}}-chart></div>