diff --git a/frontend/app/wiki/data/getting-started.ts b/frontend/app/wiki/data/getting-started.ts index 30e83755..823bbe11 100644 --- a/frontend/app/wiki/data/getting-started.ts +++ b/frontend/app/wiki/data/getting-started.ts @@ -1,6 +1,6 @@ import type { WikiCommandSet, WikiSection } from "./types"; -// ---------- Lobby RuleQuiz, ActivityTF, VotingPlugin and Essentials /helpop ---------- +// ---------- Lobby RuleQuiz, ActivityTF (activity and referrals), VotingPlugin and Essentials /helpop ---------- export const gettingStartedCommands: WikiCommandSet = { system: "Getting Started", @@ -15,6 +15,16 @@ export const gettingStartedCommands: WikiCommandSet = { command: "/activity", description: "Opens your daily tasks and weekly activity bar, where you also claim the rewards.", }, + { + command: "/referral", + aliases: ["/referrals"], + description: "Opens the referral menu, where you name who invited you and claim referral rewards.", + }, + { + command: "/referral invitedby ", + description: "Names the player who invited you. You confirm before it is saved, and it cannot be changed.", + notes: "Anyone can do this in the first 14 days of a referral season, after that only in your first week.", + }, { command: "/vote", description: "Lists the sites where you can vote for the server.", diff --git a/frontend/app/wiki/data/materials.ts b/frontend/app/wiki/data/materials.ts index 6c77f113..3570b513 100644 --- a/frontend/app/wiki/data/materials.ts +++ b/frontend/app/wiki/data/materials.ts @@ -8,7 +8,8 @@ import type { CatalogMaterial, MaterialAcquisition, WikiSection } from "./types" // perk drops), `Dowsing/production_methods.yml` (node focuses), the active // detector list in `geiger_counter/config.yml`, `TrialRooms/loot-tables.yml`, // `CustomFishing` loot, `Cooking/husbandry.yml` and the MMOItems station -// configs. Drop chances stay off the wiki. +// configs; referral rewards from `activity/referral.yml` (2026-10-24). Drop +// chances stay off the wiki. // // Recipes are not written here: every station recipe comes from // `generated/stationRecipes.ts`, and `catalog.ts` attaches the ones that make @@ -58,6 +59,10 @@ const activity: MaterialAcquisition = { method: "Weekly activity rewards", detail: "Part of the rewards for reaching your weekly activity goals.", }; +const referrals: MaterialAcquisition = { + method: "Referral rewards", + detail: "Part of the rewards for inviting a player, or for being invited, as the invited player's playtime grows.", +}; const infestationMonsters: MaterialAcquisition = { method: "Infestations", detail: "Monsters from an infestation can drop it.", @@ -239,6 +244,7 @@ export const dropOnlyMaterials: CatalogMaterial[] = [ fishing, trialRooms, activity, + referrals, infestationMonsters, { method: "Faction battles", @@ -259,6 +265,7 @@ export const dropOnlyMaterials: CatalogMaterial[] = [ detector, actFishing("an Abyssalite Rod"), activity, + referrals, infestationMonsters, ], usedFor: "A crystal catalyst at the Forging Station.", @@ -274,6 +281,7 @@ export const dropOnlyMaterials: CatalogMaterial[] = [ detector, actFishing("an Abyssalite Rod"), activity, + referrals, infestationMonsters, ], usedFor: "A catalyst at the Forging Station.", diff --git a/frontend/app/wiki/getting-started/page.tsx b/frontend/app/wiki/getting-started/page.tsx index 21d9a715..6c1e19ee 100644 --- a/frontend/app/wiki/getting-started/page.tsx +++ b/frontend/app/wiki/getting-started/page.tsx @@ -129,6 +129,28 @@ export default function GettingStartedPage() { reroll their daily tasks once a day before earning any points.

+ Referrals +

+ If someone invited you to the server, name them as your inviter and you both get rewards as you play. Open{" "} + /referral, or click the Referrals head in{" "} + /activity, then click Who invited you? and pick the player. You + can also type /referral invitedby <name>. Either way you confirm the choice + before it is saved. You can only name one inviter, and you cannot change them later. +

+

+ Referrals run in seasons. During the first 14 days of a season, any player can name an inviter. After that, only + accounts in their first week on the server can. Your playtime this season counts even before you name anyone. +

+

+ Rewards unlock at 1, 4, 12 and 24 hours of the invited player's playtime, and both of you claim them in the + same menu. AFK time does not count. The invited player's first reward is steel tools, rations and denars, + and the later ones add metals of the current act. The inviter gets denars and act metals for each player they + invited. Inviters also have a rare track that pays Tin and Abyssalite Fragments: its first step + opens once two of your invited players have reached 24 hours, and the next ones at four, six, eight and ten + players, where it ends. Claim each reward while playing a character, because it goes to the character you are + playing. +

+ Where to go next