mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
* test: test that admin users can update guilds * test: test admin removeMember privileges * fix: allow admins to edit guilds * fix: add edit guild options for admins * test: test that admin can't remove current leader * Add error msg for removing current leader * Taskwoods Quest Line (#8156) * feat(content): Gold Quest 2016-10 * chore(news): Bailey * chore(i18n): update locales * chore(sprites): compile * 3.49.0 * chore: update express * Fix for the ReDOS vulnerability habitica is currently affected by the high-severity [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722). Vulnerable module: `tough-cookie` Introduced through: ` request` This PR fixes the ReDOS vulnerability by upgrading ` request` to version 2.74.0 Check out the [Snyk test report](https://snyk.io/test/github/HabitRPG/habitica) to review other vulnerabilities that affect this repo. [Watch the repo](https://snyk.io/add) to * get alerts if newly disclosed vulnerabilities affect this repo in the future. * generate pull requests with the fixes you want, or let us do the work: when a newly disclosed vulnerability affects you, we'll submit a fix to you right away. Stay secure, The Snyk team * Documentation - coupon closes #8109 * fix(client): Allow member hp to be clickable fixes #8016 closes #8155 * chore(npm): shrinkwrap * test: test isAbleToEditGroup * Add isAbleToEditGroup to groupsCtrl * Remove unnecessary ternary * Fix linting * Move edit permission logic out to groupsCtrl * fix: change ternary to boolean * Fix linting * Fixed merge issues
290 lines
21 KiB
JSON
290 lines
21 KiB
JSON
{
|
|
"tavern": "Tavern Chat",
|
|
"innCheckOut": "Check Out of Inn",
|
|
"innCheckIn": "Rest in the Inn",
|
|
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
|
|
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
|
|
"lfgPosts": "Looking for Group (Party Wanted) Posts",
|
|
"tutorial": "Tutorial",
|
|
"glossary": "<a target='_blank' href='http://habitica.wikia.com/wiki/Glossary'>Glossary</a>",
|
|
"wiki": "Wiki",
|
|
"wikiLink": "<a target='_blank' href='http://habitica.wikia.com/'>Wiki</a>",
|
|
"reportAP": "Report a Problem",
|
|
"requestAF": "Request a Feature",
|
|
"community": "<a target='_blank' href='http://habitica.wikia.com/wiki/Special:Forum'>Community Forum</a>",
|
|
"dataTool": "Data Display Tool",
|
|
"resources": "Resources",
|
|
"askQuestionNewbiesGuild": "Ask a Question (Habitica Help guild)",
|
|
"tavernAlert1": "To report a bug, visit",
|
|
"tavernAlert2": "the Report a Bug Guild",
|
|
"moderatorIntro1": "Tavern and guild moderators are: ",
|
|
"communityGuidelines": "Community Guidelines",
|
|
"communityGuidelinesRead1": "Please read our",
|
|
"communityGuidelinesRead2": "before chatting.",
|
|
"bannedWordUsed": "Oops! Looks like this post contains a swearword, religious oath, or reference to an addictive substance or adult topic. Habitica has users from all backgrounds, so we keep our chat very clean. Feel free to edit your message so you can post it!",
|
|
"party": "Party",
|
|
"createAParty": "Create A Party",
|
|
"updatedParty": "Party settings updated.",
|
|
"noPartyText": "You are either not in a party or your party is taking a while to load. You can either create one and invite friends, or if you want to join an existing party, have them enter your Unique User ID below and then come back here to look for the invitation:",
|
|
"LFG": "To advertise your new party or find one to join, go to the <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %> Guild.",
|
|
"wantExistingParty": "Want to join an existing party? Go to the <%= linkStart %>Party Wanted Guild<%= linkEnd %> and post this User ID:",
|
|
"joinExistingParty": "Join Someone Else's Party",
|
|
"needPartyToStartQuest": "Whoops! You need to <a href='http://habitica.wikia.com/wiki/Party' target='_blank'>create or join a party</a> before you can start a quest!",
|
|
"create": "Create",
|
|
"userId": "User ID",
|
|
"invite": "Invite",
|
|
"leave": "Leave",
|
|
"invitedTo": "Invited to <%= name %>",
|
|
"invitedToNewParty": "You were invited to join a party! Do you want to leave this party and join <%= partyName %>?",
|
|
"invitationAcceptedHeader": "Your Invitation has been Accepted",
|
|
"invitationAcceptedBody": "<%= username %> accepted your invitation to <%= groupName %>!",
|
|
"joinNewParty": "Join New Party",
|
|
"declineInvitation": "Decline Invitation",
|
|
"partyLoading1": "Your party is being summoned. Please wait...",
|
|
"partyLoading2": "Your party is coming in from battle. Please wait...",
|
|
"partyLoading3": "Your party is gathering. Please wait...",
|
|
"partyLoading4": "Your party is materializing. Please wait...",
|
|
"systemMessage": "System Message",
|
|
"newMsg": "New message in \"<%= name %>\"",
|
|
"chat": "Chat",
|
|
"sendChat": "Send Chat",
|
|
"toolTipMsg": "Fetch Recent Messages",
|
|
"sendChatToolTip": "You can send a chat from the keyboard by tabbing to the 'Send Chat' button and pressing Enter or by pressing Control (Command on a Mac) + Enter.",
|
|
"syncPartyAndChat": "Sync Party and Chat",
|
|
"guildBankPop1": "Guild Bank",
|
|
"guildBankPop2": "Gems which your guild leader can use for challenge prizes.",
|
|
"guildGems": "Guild Gems",
|
|
"editGroup": "Edit Group",
|
|
"newGroupName": "<%= groupType %> Name",
|
|
"groupName": "Group Name",
|
|
"groupLeader": "Group Leader",
|
|
"groupID": "Group ID",
|
|
"groupDescr": "Description shown in public Guilds list (Markdown OK)",
|
|
"logoUrl": "Logo URL",
|
|
"assignLeader": "Assign Group Leader",
|
|
"members": "Members",
|
|
"partyList": "Order for party members in header",
|
|
"banTip": "Boot Member",
|
|
"moreMembers": "more members",
|
|
"invited": "Invited",
|
|
"leaderMsg": "Message from group leader (Markdown OK)",
|
|
"name": "Name",
|
|
"description": "Description",
|
|
"public": "Public",
|
|
"inviteOnly": "Invite Only",
|
|
"gemCost": "The Gem cost promotes high quality Guilds, and is transferred into your Guild's bank for use as prizes in Guild Challenges!",
|
|
"search": "Search",
|
|
"publicGuilds": "Public Guilds",
|
|
"createGuild": "Create Guild",
|
|
"guild": "Guild",
|
|
"guilds": "Guilds",
|
|
"guildsLink": "<a href='http://habitica.wikia.com/wiki/Guilds' target='_blank'>Guilds</a>",
|
|
"sureKick": "Do you really want to remove this member from the party/guild?",
|
|
"optionalMessage": "Optional message",
|
|
"yesRemove": "Yes, remove them",
|
|
"foreverAlone": "Can't like your own message. Don't be that person.",
|
|
"sortLevel": "Sort by level",
|
|
"sortRandom": "Sort randomly",
|
|
"sortPets": "Sort by number of pets",
|
|
"sortName": "Sort by avatar name",
|
|
"sortBackgrounds": "Sort by background",
|
|
"sortHabitrpgJoined": "Sort by Habitica date joined",
|
|
"sortHabitrpgLastLoggedIn": "Sort by last time user logged in",
|
|
"ascendingSort": "Sort Ascending",
|
|
"descendingSort": "Sort Descending",
|
|
"confirmGuild": "Create Guild for 4 Gems?",
|
|
"leaveGroupCha": "Leave Guild challenges and...",
|
|
"confirm": "Confirm",
|
|
"leaveGroup": "Leave Guild?",
|
|
"leavePartyCha": "Leave party challenges and...",
|
|
"leaveParty": "Leave party?",
|
|
"sendPM": "Send private message",
|
|
"send": "Send",
|
|
"messageSentAlert": "Message sent",
|
|
"pmHeading": "Private message to <%= name %>",
|
|
"pmsMarkedRead": "Your private messages have been marked as read",
|
|
"possessiveParty": "<%= name %>'s Party",
|
|
"clearAll": "Delete All Messages",
|
|
"confirmDeleteAllMessages": "Are you sure you want to delete all messages in your inbox? Other users will still see messages you have sent to them.",
|
|
"optOutPopover": "Don't like private messages? Click to completely opt out",
|
|
"block": "Block",
|
|
"unblock": "Un-block",
|
|
"pm-reply": "Send a reply",
|
|
"inbox": "Inbox",
|
|
"messageRequired": "A message is required.",
|
|
"toUserIDRequired": "A User ID is required",
|
|
"gemAmountRequired": "A number of gems is required",
|
|
"notAuthorizedToSendMessageToThisUser": "Can't send message to this user.",
|
|
"privateMessageGiftGemsMessage": "Hello <%= receiverName %>, <%= senderName %> has sent you <%= gemAmount %> gems!",
|
|
"privateMessageGiftSubscriptionMessage": "<%= numberOfMonths %> months of subscription! ",
|
|
"cannotSendGemsToYourself": "Cannot send gems to yourself. Try a subscription instead.",
|
|
"badAmountOfGemsToSend": "Amount must be within 1 and your current number of gems.",
|
|
"abuseFlag": "Report violation of Community Guidelines",
|
|
"abuseFlagModalHeading": "Report <%= name %> for violation?",
|
|
"abuseFlagModalBody": "Are you sure you want to report this post? You should ONLY report a post that violates the <%= firstLinkStart %>Community Guidelines<%= linkEnd %> and/or <%= secondLinkStart %>Terms of Service<%= linkEnd %>. Inappropriately reporting a post is a violation of the Community Guidelines and may give you an infraction. Appropriate reasons to flag a post include but are not limited to:<br><br><ul style='margin-left: 10px;'><li>swearing, religous oaths</li><li>bigotry, slurs</li><li>adult topics</li><li>violence, including as a joke</li><li>spam, nonsensical messages</li></ul>",
|
|
"abuseFlagModalButton": "Report Violation",
|
|
"abuseReported": "Thank you for reporting this violation. The moderators have been notified.",
|
|
"abuseAlreadyReported": "You have already reported this message.",
|
|
"needsText": "Please type a message.",
|
|
"needsTextPlaceholder": "Type your message here.",
|
|
"copyMessageAsToDo": "Copy message as To-Do",
|
|
"messageAddedAsToDo": "Message copied as To-Do.",
|
|
"messageWroteIn": "<%= user %> wrote in <%= group %>",
|
|
"taskFromInbox": "<%= from %> wrote '<%= message %>'",
|
|
"taskTextFromInbox": "Message from <%= from %>",
|
|
"msgPreviewHeading": "Message Preview",
|
|
"leaderOnlyChallenges": "Only group leader can create challenges",
|
|
"sendGift": "Send Gift",
|
|
"inviteFriends": "Invite Friends",
|
|
"partyMembersInfo": "Your party currently has <%= memberCount %> members and <%= invitationCount %> pending invitations. The limit of members in a party is <%= limitMembers %>. Invitations above this limit cannot be sent.",
|
|
"inviteByEmail": "Invite by Email",
|
|
"inviteByEmailExplanation": "If a friend joins Habitica via your email, they'll automatically be invited to your party!",
|
|
"inviteFriendsNow": "Invite Friends Now",
|
|
"inviteFriendsLater": "Invite Friends Later",
|
|
"inviteAlertInfo": "If you have friends already using Habitica, invite them by <a href='http://habitica.wikia.com/wiki/API_Options' target='_blank'>User ID</a> here.",
|
|
"inviteExistUser": "Invite Existing Users",
|
|
"byColon": "By:",
|
|
"inviteNewUsers": "Invite New Users",
|
|
"sendInvitations": "Send Invitations",
|
|
"invitationsSent": "Invitations sent!",
|
|
"invitationSent": "Invitation sent!",
|
|
"inviteAlertInfo2": "Or share this link (copy/paste):",
|
|
"inviteLimitReached": "You have already sent the maximum number of email invitations. We have a limit to prevent spamming, however if you would like more, please contact us at <%= techAssistanceEmail %> and we'll be happy to discuss it!",
|
|
"sendGiftHeading": "Send Gift to <%= name %>",
|
|
"sendGiftGemsBalance": "From <%= number %> Gems",
|
|
"sendGiftCost": "Total: $<%= cost %> USD",
|
|
"sendGiftFromBalance": "From Balance",
|
|
"sendGiftPurchase": "Purchase",
|
|
"sendGiftMessagePlaceholder": "Personal message (optional)",
|
|
"sendGiftSubscription": "<%= months %> Month(s): $<%= price %> USD",
|
|
"gemGiftsAreOptional": "Please note that Habitica will never require you to gift gems to other players. Begging people for gems is a <strong>violation of the Community Guidelines</strong>, and all such instances should be reported to <%= hrefTechAssistanceEmail %>.",
|
|
"battleWithFriends": "Battle Monsters With Friends",
|
|
"startPartyWithFriends": "Start a Party with your friends!",
|
|
"startAParty": "Start a Party",
|
|
"addToParty": "Add someone to your party",
|
|
"likePost": "Click if you like this post!",
|
|
"partyExplanation1": "Play Habitica with friends to stay accountable!",
|
|
"partyExplanation2": "Battle monsters and create Challenges!",
|
|
"partyExplanation3": "Invite friends now to earn a Quest Scroll!",
|
|
"wantToStartParty": "Do you want to start a party?",
|
|
"exclusiveQuestScroll": "Inviting a friend to your party will grant you an exclusive Quest Scroll to battle the Basi-List together!",
|
|
"nameYourParty": "Name your new party!",
|
|
"partyEmpty": "You're the only one in your party. Invite your friends!",
|
|
"partyChatEmpty": "Your party chat is empty! Type a message in the box above to start chatting.",
|
|
"guildChatEmpty": "This guild's chat is empty! Type a message in the box above to start chatting.",
|
|
"possessiveParty": "<%= name %>'s Party",
|
|
"requestAcceptGuidelines": "If you would like to post messages in the Tavern or any party or guild chat, please first read our <%= linkStart %>Community Guidelines<%= linkEnd %> and then click the button below to indicate that you accept them.",
|
|
"partyUpName": "Party Up",
|
|
"partyOnName": "Party On",
|
|
"partyUpText": "Joined a Party with another person! Have fun battling monsters and supporting each other.",
|
|
"partyOnText": "Joined a Party with at least four people! Enjoy your increased accountability as you unite with your friends to vanquish your foes!",
|
|
"largeGroupNote": "Note: This Guild is now too large to support notifications! Be sure to check back every day to see new messages.",
|
|
"groupIdRequired": "\"groupId\" must be a valid UUID",
|
|
"groupNotFound": "Group not found or you don't have access.",
|
|
"groupTypesRequired": "You must supply a valid \"type\" query string.",
|
|
"questLeaderCannotLeaveGroup": "You cannot leave your party when you have started a quest. Abort the quest first.",
|
|
"cannotLeaveWhileActiveQuest": "You cannot leave party during an active quest. Please leave the quest first.",
|
|
"onlyLeaderCanRemoveMember": "Only group leader can remove a member!",
|
|
"cannotRemoveCurrentLeader": "You cannot remove the group leader. Assign a new a leader first.",
|
|
"memberCannotRemoveYourself": "You cannot remove yourself!",
|
|
"groupMemberNotFound": "User not found among group's members",
|
|
"mustBeGroupMember": "Must be member of the group.",
|
|
"keepOrRemoveAll": "req.query.keep must be either \"keep-all\" or \"remove-all\"",
|
|
"keepOrRemove": "req.query.keep must be either \"keep\" or \"remove\"",
|
|
"canOnlyInviteEmailUuid": "Can only invite using uuids or emails.",
|
|
"inviteMissingEmail": "Missing email address in invite.",
|
|
"inviteMissingUuid": "Missing user id in invite",
|
|
"inviteMustNotBeEmpty": "Invite must not be empty.",
|
|
"partyMustbePrivate": "Parties must be private",
|
|
"userAlreadyInGroup": "User already in that group.",
|
|
"cannotInviteSelfToGroup": "You cannot invite yourself to a group.",
|
|
"userAlreadyInvitedToGroup": "User already invited to that group.",
|
|
"userAlreadyPendingInvitation": "User already pending invitation.",
|
|
"userAlreadyInAParty": "User already in a party.",
|
|
"userWithIDNotFound": "User with id \"<%= userId %>\" not found.",
|
|
"userHasNoLocalRegistration": "User does not have a local registration (username, email, password).",
|
|
"uuidsMustBeAnArray": "User ID invites must be an array.",
|
|
"emailsMustBeAnArray": "Email address invites must be an array.",
|
|
"canOnlyInviteMaxInvites": "You can only invite \"<%= maxInvites %>\" at a time",
|
|
"partyExceedsMembersLimit": "Party size is limited to <%= maxMembersParty %> members",
|
|
"onlyCreatorOrAdminCanDeleteChat": "Not authorized to delete this message!",
|
|
"onlyGroupLeaderCanEditTasks": "Not authorized to manage tasks!",
|
|
"onlyGroupTasksCanBeAssigned": "Only group tasks can be assigned",
|
|
"chatPrivilegesRevoked": "Your chat privileges have been revoked.",
|
|
"newChatMessagePlainNotification": "New message in <%= groupName %> by <%= authorName %>. Click here to open the chat page!",
|
|
"newChatMessageTitle": "New message in <%= groupName %>",
|
|
"exportInbox": "Export Messages",
|
|
"exportInboxPopoverTitle": "Export your messages as HTML",
|
|
"exportInboxPopoverBody": "HTML allows easy reading of messages in a browser. For a machine-readable format, use Data > Export Data",
|
|
"to": "To:",
|
|
"from": "From:",
|
|
"desktopNotificationsText": "We need your permission to enable desktop notifications for new messages in party chat! Follow your browser's instructions to turn them on.<br><br>You'll receive these notifications only while you have Habitica open. If you decide you don't like them, they can be disabled in your browser's settings.<br><br>This box will close automatically when a decision is made.",
|
|
"confirmAddTag": "Do you want to assign this task to \"<%= tag %>\"?",
|
|
"confirmRemoveTag": "Do you really want to remove \"<%= tag %>\"?",
|
|
"groupHomeTitle": "Home",
|
|
"assignTask": "Assign Task",
|
|
"desktopNotificationsText": "We need your permission to enable desktop notifications for new messages in party chat! Follow your browser's instructions to turn them on.<br><br>You'll receive these notifications only while you have Habitica open. If you decide you don't like them, they can be disabled in your browser's settings.<br><br>This box will close automatically when a decision is made.",
|
|
"claim": "Claim",
|
|
"onlyGroupLeaderCanManageSubscription": "Only the group leader can manage the group's subscription",
|
|
"yourTaskHasBeenApproved": "Your task \"<%= taskText %>\" has been approved",
|
|
"userHasRequestedTaskApproval": "<%= user %> has requested task approval for <%= taskName %>",
|
|
"approve": "Approve",
|
|
"approvalTitle": "<%= text %> for user: <%= userName %>",
|
|
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
|
|
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
|
|
"groupAdditionalUserCost": " +$3.00/month/user",
|
|
|
|
"groupBenefitsTitle": "How a group plan can help you",
|
|
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
|
|
"groupBenefitOneTitle": "Create a shared task list",
|
|
"groupBenefitOneDescription": "Set up a shared task list for the group that everyone can easily view and edit.",
|
|
"groupBenefitTwoTitle": "Assign tasks to group members",
|
|
"groupBenefitTwoDescription": "Want a coworker to answer a critical email? Need your roommate to pick up the groceries? Just assign them the tasks you create, and they'll automatically appear in that person's task dashboard.",
|
|
"groupBenefitThreeTitle": "Claim a task that you are working on",
|
|
"groupBenefitThreeDescription": "Stake your claim on any group task with a simple click. Make it clear what everybody is working on!",
|
|
"groupBenefitFourTitle": "Mark tasks that require special approval",
|
|
"groupBenefitFourDescription": "Need to verify that a task really did get done before that user gets their rewards? Just adjust the approval settings for added control.",
|
|
"groupBenefitFiveTitle": "Chat privately with your group",
|
|
"groupBenefitFiveDescription": "Stay in the loop about important decisions in our easy-to-use chatroom!",
|
|
"groupBenefitSixTitle": "Get a free subscription",
|
|
"groupBenefitSixDescription": "Get full subscription benefits, including exclusive monthly items and the ability to buy gems with gold! (If you're already a subscriber, your old subscription will be cancelled but your consecutive subscription benefits such as monthly hourglasses will remain.)",
|
|
"groupBenefitSevenTitle": "Get a brand-new exclusive Jackalope Mount",
|
|
"groupBenefitEightTitle": "Add Group Managers to help manage tasks",
|
|
"groupBenefitEightDescription": "Want to share your group's responsibilities? Promote people to Group Managers to help the Leader add, assign, and approve tasks!",
|
|
"createAGroup": "Create a Group",
|
|
"assignFieldPlaceholder": "Type a group member's profile name",
|
|
"cannotDeleteActiveGroup": "You cannot remove a group with an active subscription",
|
|
"groupTasksTitle": "Group Tasks List",
|
|
"approvalsTitle": "Tasks Awaiting Approval",
|
|
"upgradeTitle": "Upgrade",
|
|
"blankApprovalsDescription": "When your group completes tasks that need your approval, they'll appear here! Adjust approval requirement settings under task editing.",
|
|
"userIsClamingTask": "`<%= username %> has claimed \"<%= task %>\"`",
|
|
"approvalRequested": "Approval Requested",
|
|
"refreshApprovals": "Refresh Approvals",
|
|
"refreshGroupTasks": "Refresh Group Tasks",
|
|
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
|
|
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
|
|
"confirmGuildPlanCreation": "Create this group?",
|
|
"onlyGroupLeaderCanInviteToGroupPlan": "Only the group leader can invite users to a group with a subscription.",
|
|
"remainOrLeaveChallenges": "req.query.keep must be either 'remain-in-challenges' or 'leave-challenges'",
|
|
"paymentDetails": "Payment Details",
|
|
"aboutToJoinCancelledGroupPlan": "You are about to join a group with a canceled plan. You will NOT receive a free subscription.",
|
|
"cannotChangeLeaderWithActiveGroupPlan": "You can not change the leader while the group has an active plan.",
|
|
"leaderCannotLeaveGroupWithActiveGroup": "A leader can not leave a group while the group has an active plan",
|
|
"youHaveGroupPlan": "You have a free subscription because you are a member of a group that has a Group Plan. This will end when you are no longer in the group that has a group plan. Any months of extra subscription credit you have will be applied at the end of the group plan.",
|
|
"cancelGroupSub": "Cancel Group Plan",
|
|
"confirmCancelGroupPlan": "Are you sure you want to cancel the group plan and remove its benefits from all members, including their free subscriptions?",
|
|
"canceledGroupPlan": "Canceled Group Plan",
|
|
"groupPlanCanceled": "Group Plan will become inactive on",
|
|
"purchasedGroupPlanPlanExtraMonths": "You have <%= months %> months of extra group plan credit.",
|
|
"addManagers": "Add Managers",
|
|
"addManager": "Add Manager",
|
|
"removeManager": "Remove",
|
|
"userMustBeMember": "User must be a member",
|
|
"userIsNotManager": "User is not manager",
|
|
"canOnlyApproveTaskOnce": "This task has already been approved.",
|
|
"leaderMarker": " - Leader",
|
|
"managerMarker": " - Manager",
|
|
"joinedGuild": "Joined a Guild",
|
|
"joinedGuildText": "Ventured into the social side of Habitica by joining a Guild!"
|
|
}
|