mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-05-08 10:00:46 +00:00
Cs2 page
This commit is contained in:
221
src/app/[locale]/turniirid/cs2/page.tsx
Normal file
221
src/app/[locale]/turniirid/cs2/page.tsx
Normal file
@@ -0,0 +1,221 @@
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import CS2Sidebar from "@/components/CS2Sidebar";
|
||||
import CS2Rules from "@/components/CS2Rules";
|
||||
import Link from "next/link";
|
||||
import { getTranslations, setRequestLocale } from "next-intl/server";
|
||||
|
||||
const sectionKeys = [
|
||||
{ id: "intro", labelKey: "cs2page.nav.intro" },
|
||||
{ id: "info", labelKey: "cs2page.nav.info" },
|
||||
{ id: "prizes", labelKey: "cs2page.nav.prizes" },
|
||||
{ id: "format", labelKey: "cs2page.nav.format" },
|
||||
{ id: "vrs", labelKey: "cs2page.nav.vrs" },
|
||||
{ id: "faq", labelKey: "cs2page.nav.faq" },
|
||||
{ id: "rules", labelKey: "cs2page.nav.rules" },
|
||||
];
|
||||
|
||||
export default async function CS2Tournament({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ locale: string }>;
|
||||
}) {
|
||||
const { locale } = await params;
|
||||
setRequestLocale(locale);
|
||||
const t = await getTranslations({ locale });
|
||||
|
||||
const sections = sectionKeys.map((section) => ({
|
||||
id: section.id,
|
||||
label: t(section.labelKey),
|
||||
}));
|
||||
|
||||
return (
|
||||
<div className="bg-[#0E0F19] min-h-screen pt-16 md:pt-20">
|
||||
<div className="max-w-[1920px] mx-auto px-6 md:px-12 py-8 md:py-16">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-[1fr_300px] gap-8 lg:gap-16">
|
||||
{/* Main content */}
|
||||
<div>
|
||||
{/* Header */}
|
||||
<h1
|
||||
className={`${vipnagorgialla.className} font-bold italic text-[clamp(2.5rem,2rem+3vw,4rem)] leading-tight text-[#00A3E0] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.title")}
|
||||
</h1>
|
||||
|
||||
{/* Buttons */}
|
||||
<div className="flex flex-wrap gap-4 mb-12">
|
||||
<Link
|
||||
href="https://fienta.com/et/tipilan"
|
||||
target="_blank"
|
||||
className={`${vipnagorgialla.className} font-bold italic px-4 py-2 bg-[#007CAB] hover:bg-[#00A3E0] text-[#EEE5E5] uppercase transition`}
|
||||
>
|
||||
{t("cs2page.buyTicket")}
|
||||
</Link>
|
||||
<Link
|
||||
href="https://git.edunaut.ee/slunk/TipiLAN_reeglistik_ruleset/src/branch/main/CS2%20tournament"
|
||||
target="_blank"
|
||||
className={`${vipnagorgialla.className} font-bold italic px-4 py-2 bg-[#1F5673] hover:bg-[#007CAB] text-[#EEE5E5] uppercase transition`}
|
||||
>
|
||||
{t("cs2page.viewGithub")}
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* SISSEJUHATUS */}
|
||||
<section id="intro" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.intro.title")}
|
||||
</h2>
|
||||
<p className="text-[#EEE5E5]/80 mb-6">
|
||||
{t("cs2page.intro.description")}
|
||||
</p>
|
||||
|
||||
<h3
|
||||
className={`${vipnagorgialla.className} font-bold italic text-xl text-[#EEE5E5] uppercase mb-2`}
|
||||
>
|
||||
{t("cs2page.intro.previousWinners")}
|
||||
</h3>
|
||||
<p className="text-[#EEE5E5]/80 font-bold">2025</p>
|
||||
<ol className="text-[#EEE5E5]/80 list-decimal list-inside mb-4">
|
||||
<li>RAID (Eesti)</li>
|
||||
<li>hypewrld (Läti)</li>
|
||||
<li>CSDIILIT (Soome/Eesti)</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
{/* ÜLDINE INFO */}
|
||||
<section id="info" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.info.title")}
|
||||
</h2>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.info.description")}
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* AUHINNAFOND */}
|
||||
<section id="prizes" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.prizes.title")}
|
||||
</h2>
|
||||
|
||||
<h3
|
||||
className={`${vipnagorgialla.className} font-bold italic text-xl text-[#00A3E0] uppercase mb-2`}
|
||||
>
|
||||
{t("cs2page.prizes.mainTitle")}
|
||||
</h3>
|
||||
<ul className="text-[#EEE5E5]/80 mb-2">
|
||||
<li>1. koht - 3000€, 600€ inimese kohta, 50% ehk 1/2 auhinnafondist.</li>
|
||||
<li>2. koht - 2000€, 400€ inimese kohta, 33.3...(3)% ehk 1/3 auhinnafondist.</li>
|
||||
<li>3. koht - 1000€, 200€ inimese kohta, 16.6...(6)% ehk 1/6 auhinnafondist.</li>
|
||||
</ul>
|
||||
<p className="text-[#EEE5E5]/60 text-sm mb-6">
|
||||
{t("cs2page.prizes.mainNote")}
|
||||
</p>
|
||||
|
||||
<h3
|
||||
className={`${vipnagorgialla.className} font-bold italic text-xl text-[#00A3E0] uppercase mb-2`}
|
||||
>
|
||||
{t("cs2page.prizes.secondTitle")}
|
||||
</h3>
|
||||
<ul className="text-[#EEE5E5]/80 mb-2">
|
||||
<li>1. koht - 500€, 100€ inimese kohta, 66.6...(6)% ehk 2/3 auhinnafondist.</li>
|
||||
<li>2. koht - 250€, 50€ inimese kohta, 33.3...(3)% ehk 1/3 auhinnafondist.</li>
|
||||
</ul>
|
||||
<p className="text-[#EEE5E5]/60 text-sm">
|
||||
{t("cs2page.prizes.secondNote")}
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* TURNIIRI FORMAAT */}
|
||||
<section id="format" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.format.title")}
|
||||
</h2>
|
||||
<p className="text-[#EEE5E5]/80 mb-4">
|
||||
{t("cs2page.format.description")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.format.day1")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.format.day23")}
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* VRS INFO */}
|
||||
<section id="vrs" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.vrs.title")}
|
||||
</h2>
|
||||
<p className="text-[#EEE5E5]/80 mb-4">
|
||||
{t("cs2page.vrs.description1")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.vrs.description2")}
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* FAQ */}
|
||||
<section id="faq" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.faq.title")}
|
||||
</h2>
|
||||
<h3
|
||||
className={`${vipnagorgialla.className} font-bold italic text-lg text-[#EEE5E5] uppercase mb-2`}
|
||||
>
|
||||
{t("cs2page.faq.q1")}
|
||||
</h3>
|
||||
<p className="text-[#EEE5E5]/80 mb-4">
|
||||
{t("cs2page.faq.a1")}
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* REEGLID */}
|
||||
<section id="rules" className="mb-12">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
{t("cs2page.rules.title")}
|
||||
</h2>
|
||||
<p className="text-[#EEE5E5]/80 mb-6">
|
||||
{t("cs2page.rules.description")}
|
||||
</p>
|
||||
|
||||
<CS2Rules sections={t.raw("cs2page.rules.sections")} />
|
||||
|
||||
<div className="mt-8">
|
||||
<p className="text-[#EEE5E5]/80 mb-2">{t("cs2page.rules.contact")}</p>
|
||||
<p className="text-[#00A3E0] font-bold">{t("cs2page.rules.contactName")}</p>
|
||||
<p className="text-[#EEE5E5]/70">{t("cs2page.rules.contactRole")}</p>
|
||||
<p className="text-[#EEE5E5]/70">
|
||||
Discord:{" "}
|
||||
<a
|
||||
href="https://discord.com/users/292372329747710013"
|
||||
target="_blank"
|
||||
className="text-[#00A3E0] hover:text-[#EEE5E5] transition"
|
||||
>
|
||||
hrkruger
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{/* Sidebar navigation */}
|
||||
<CS2Sidebar sections={sections} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
86
src/components/CS2Rules.tsx
Normal file
86
src/components/CS2Rules.tsx
Normal file
@@ -0,0 +1,86 @@
|
||||
"use client";
|
||||
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
|
||||
interface RuleSection {
|
||||
title: string;
|
||||
rules: (string | { main: string; sub: (string | { main: string; sub: string[] })[] })[];
|
||||
}
|
||||
|
||||
interface CS2RulesProps {
|
||||
sections: RuleSection[];
|
||||
}
|
||||
|
||||
function RuleItem({ rule, index }: { rule: string | { main: string; sub: (string | { main: string; sub: string[] })[] }; index: number }) {
|
||||
if (typeof rule === "string") {
|
||||
return (
|
||||
<li className="text-[#EEE5E5]/80 mb-2">
|
||||
<span className="text-[#00A3E0] mr-2">{index}.</span>
|
||||
{rule}
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<li className="text-[#EEE5E5]/80 mb-3">
|
||||
<span className="text-[#00A3E0] mr-2">{index}.</span>
|
||||
{rule.main}
|
||||
{rule.sub && rule.sub.length > 0 && (
|
||||
<ol className="ml-6 mt-2">
|
||||
{rule.sub.map((subRule, subIndex) => {
|
||||
if (typeof subRule === "string") {
|
||||
return (
|
||||
<li key={subIndex} className="text-[#EEE5E5]/70 mb-1">
|
||||
<span className="text-[#00A3E0]/70 mr-2">{index}.{subIndex + 1}.</span>
|
||||
{subRule}
|
||||
</li>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<li key={subIndex} className="text-[#EEE5E5]/70 mb-2">
|
||||
<span className="text-[#00A3E0]/70 mr-2">{index}.{subIndex + 1}.</span>
|
||||
{subRule.main}
|
||||
{subRule.sub && subRule.sub.length > 0 && (
|
||||
<ol className="ml-6 mt-1">
|
||||
{subRule.sub.map((subSubRule, subSubIndex) => (
|
||||
<li key={subSubIndex} className="text-[#EEE5E5]/60 mb-1">
|
||||
<span className="text-[#00A3E0]/50 mr-2">{index}.{subIndex + 1}.{subSubIndex + 1}.</span>
|
||||
{subSubRule}
|
||||
</li>
|
||||
))}
|
||||
</ol>
|
||||
)}
|
||||
</li>
|
||||
);
|
||||
})}
|
||||
</ol>
|
||||
)}
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
export default function CS2Rules({ sections }: CS2RulesProps) {
|
||||
let ruleCounter = 0;
|
||||
|
||||
return (
|
||||
<div>
|
||||
{sections.map((section, sectionIndex) => {
|
||||
const startIndex = ruleCounter;
|
||||
ruleCounter += section.rules.length;
|
||||
|
||||
return (
|
||||
<div key={sectionIndex} className="mb-8">
|
||||
<h3 className={`${vipnagorgialla.className} font-bold italic text-xl text-[#00A3E0] uppercase mb-4`}>
|
||||
{sectionIndex + 1}) {section.title}
|
||||
</h3>
|
||||
<ol className="list-none">
|
||||
{section.rules.map((rule, ruleIndex) => (
|
||||
<RuleItem key={ruleIndex} rule={rule} index={ruleIndex + 1} />
|
||||
))}
|
||||
</ol>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
66
src/components/CS2Sidebar.tsx
Normal file
66
src/components/CS2Sidebar.tsx
Normal file
@@ -0,0 +1,66 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
interface CS2SidebarProps {
|
||||
sections: { id: string; label: string }[];
|
||||
}
|
||||
|
||||
export default function CS2Sidebar({ sections }: CS2SidebarProps) {
|
||||
const [activeSection, setActiveSection] = useState<string>(sections[0]?.id || "");
|
||||
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
entries.forEach((entry) => {
|
||||
if (entry.isIntersecting) {
|
||||
setActiveSection(entry.target.id);
|
||||
}
|
||||
});
|
||||
},
|
||||
{
|
||||
rootMargin: "-20% 0px -70% 0px",
|
||||
threshold: 0,
|
||||
}
|
||||
);
|
||||
|
||||
sections.forEach((section) => {
|
||||
const element = document.getElementById(section.id);
|
||||
if (element) {
|
||||
observer.observe(element);
|
||||
}
|
||||
});
|
||||
|
||||
return () => {
|
||||
sections.forEach((section) => {
|
||||
const element = document.getElementById(section.id);
|
||||
if (element) {
|
||||
observer.unobserve(element);
|
||||
}
|
||||
});
|
||||
};
|
||||
}, [sections]);
|
||||
|
||||
return (
|
||||
<aside className="hidden lg:block">
|
||||
<nav className="sticky top-24 border-l border-[#1F5673] pl-6">
|
||||
<ul className="flex flex-col gap-2">
|
||||
{sections.map((section) => (
|
||||
<li key={section.id}>
|
||||
<a
|
||||
href={`#${section.id}`}
|
||||
className={`transition ${
|
||||
activeSection === section.id
|
||||
? "text-[#EEE5E5] font-bold"
|
||||
: "text-[#00A3E0] hover:text-[#EEE5E5]"
|
||||
}`}
|
||||
>
|
||||
{section.label}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</nav>
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
@@ -157,6 +157,172 @@
|
||||
"buyTicket": "BUY TICKETS"
|
||||
}
|
||||
},
|
||||
"cs2page": {
|
||||
"title": "COUNTER-STRIKE 2 TOURNAMENT",
|
||||
"buyTicket": "BUY TICKET",
|
||||
"viewGithub": "FULL RULES",
|
||||
"nav": {
|
||||
"intro": "Introduction",
|
||||
"info": "General info",
|
||||
"prizes": "Prize pool",
|
||||
"format": "Tournament format",
|
||||
"vrs": "VRS info",
|
||||
"faq": "FAQ",
|
||||
"rules": "Rules"
|
||||
},
|
||||
"intro": {
|
||||
"title": "INTRODUCTION",
|
||||
"description": "CS competitions have been organized at TalTech for nearly 20 years, from CS1.6 to CS:GO. TipiLAN organized its first CS2 tournament in 2025 at its debut event. TipiLAN 2025 CS tournament became the first in Estonian history to award VRS points, achieving Tier 2 Ranked tournament status. Teams from Estonia, Latvia, Lithuania, Finland, Norway, and Ukraine participated, proving the tournament's international reach and strong competition.",
|
||||
"previousWinners": "PREVIOUS WINNERS"
|
||||
},
|
||||
"info": {
|
||||
"title": "GENERAL INFO",
|
||||
"description": "TipiLAN 2026 CS2 tournament takes place September 11-13 at TalTech, Tallinn, Estonia. This is a BYOC LAN tournament. On-site, each participant is provided with: desk, chair, wired internet connection, power connection (2 outlets)."
|
||||
},
|
||||
"prizes": {
|
||||
"title": "PRIZE POOL",
|
||||
"mainTitle": "MAIN TOURNAMENT - 6000€",
|
||||
"mainNote": "Teams and players outside the prize pool will not receive additional compensation.",
|
||||
"secondTitle": "SECOND CHANCE TOURNAMENT - 750€",
|
||||
"secondNote": "Teams and players outside the prize pool will not receive additional compensation."
|
||||
},
|
||||
"format": {
|
||||
"title": "TOURNAMENT FORMAT",
|
||||
"description": "The entire tournament is BYOC (bring your own computer) LAN, no qualifications take place.",
|
||||
"day1": "Day 1: 5 rounds Swiss style tournament (Bo1)",
|
||||
"day23": "Day 2 & 3: Double Elimination playoffs (Winners' Bracket Bo3, Losers' Bracket Bo1)"
|
||||
},
|
||||
"vrs": {
|
||||
"title": "VRS INFO, INVITES",
|
||||
"description1": "TipiLAN team will submit an application to HLTV for tournament results to be recorded in VRS standings. HLTV ranking status cannot be guaranteed before official confirmation. HLTV decides which matches count towards VRS points.",
|
||||
"description2": "TipiLAN CS2 tournament follows Valve Ranked Tier 2 tournament requirements. TipiLAN does not send VRS invites to teams."
|
||||
},
|
||||
"faq": {
|
||||
"title": "FREQUENTLY ASKED QUESTIONS",
|
||||
"q1": "QUESTION?",
|
||||
"a1": "Answer"
|
||||
},
|
||||
"rules": {
|
||||
"title": "RULES",
|
||||
"description": "Official TipiLAN 2026 Counter-Strike 2 tournament rules.",
|
||||
"contact": "For questions, contact:",
|
||||
"contactName": "Harles Kadanik",
|
||||
"contactRole": "Game Official - CS2 Tournament",
|
||||
"contactDiscord": "Discord: hrkruger",
|
||||
"sections": [
|
||||
{
|
||||
"title": "General Information",
|
||||
"rules": [
|
||||
"The Counter-Strike 2 (CS2) tournament will take place on September 11-13, 2026 at Tallinn University of Technology (TalTech), Ehitajate tee 5, Tallinn.",
|
||||
{"main": "The prize pool of the tournament is €6750, distributed as follows:", "sub": [{"main": "Main Championship TOP 3 prize pool is €6000:", "sub": ["1st place - €600 per player (total €3000)", "2nd place - €400 per player (total €2000)", "3rd place - €200 per player (total €1000)"]}, {"main": "Second Chance Tournament prize pool is €750:", "sub": ["1st place - €100 per player (total €500)", "2nd place - €50 per player (total €250)"]}]},
|
||||
{"main": "TipiLAN is classified as a Valve Tier 2 (No Invitations) event.", "sub": ["Top 3 results of the Main Championship will be submitted for VRS calculation. HLTV.org will determine which matches count toward VRS. Ranking status cannot be guaranteed prior to official confirmation."]},
|
||||
{"main": "Prize money will be paid to the player's bank account within 30 days.", "sub": ["In the case of a minor, the prize will be paid to the parent's/guardian's bank account."]},
|
||||
"Throughout the tournament, every participant must comply with the laws of the Republic of Estonia, the TipiLAN regulations, and the event regulations.",
|
||||
"By purchasing a ticket, each participant gives consent to be photographed, filmed, and recorded for documentation and marketing purposes.",
|
||||
"The CS2 main tournament will be recorded and broadcasted on streaming platforms Twitch and YouTube.",
|
||||
"All communication related to the tournament between team members (in-game chat, voice chat, Discord/TeamSpeak conversations) will be recorded.",
|
||||
"When streaming independently, the live stream delay must be at least 5 minutes.",
|
||||
"The organizers have the right to use participants' personal information solely for the purpose of carrying out the event.",
|
||||
"The organizing team has the right to change and edit the rules without prior notice, provided such changes align with Valve's tournament requirements.",
|
||||
"The organizing team remains impartial and fair towards all participants."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CS2 Main Tournament Team and Team Lineup",
|
||||
"rules": [
|
||||
"The CS2 main tournament team consists of five core members, one of whom is the team captain.",
|
||||
"By August 28th 2026 (two weeks before the tournament), each team must confirm its participation, final core roster and team name.",
|
||||
{"main": "The team captain is the team's representative, who:", "sub": ["Acts as the contact person for the organizing team", "Registers the team for the tournament", "Is responsible for the team's behavior and actions", "Represents the team in matters of warnings, disqualifications, disputes, and timeouts"]},
|
||||
{"main": "Each team may have one substitute player, who is not part of the core roster:", "sub": ["The substitute must purchase a separate substitute ticket", "The substitute may replace any of the team's core members during the tournament", "The substitute is subject to the same rights and requirements as the core roster"]},
|
||||
{"main": "Each team may have one coach:", "sub": ["The coach must purchase a separate coach ticket", "The coach can only communicate with the team between matches and during tactical timeouts"]},
|
||||
{"main": "Changes to the core roster are allowed before the team registration deadline:", "sub": ["Player changes must be made through Fienta", "If a member is replaced, the team still retains the right to have a substitute", "A replacement player is subject to the same rights and requirements as the core roster"]},
|
||||
"If the team captain is replaced, the team itself decides who will assume the captain's rights and responsibilities.",
|
||||
"If a team withdraws before the registration deadline, the participation fee will be refunded.",
|
||||
"All team members may only belong to one team during the tournament and represent only themselves.",
|
||||
"All team members must be at least 16 years old by the day before the tournament starts.",
|
||||
"No team member may be a citizen of the Russian Federation or the Republic of Belarus.",
|
||||
{"main": "Teams are not allowed to:", "sub": ["Display team sponsors during the tournament", "Play in the interest of another team or team member"]},
|
||||
{"main": "Team name:", "sub": ["Must not be offensive, vulgar, political, or otherwise inappropriate", "Must not contain emojis or other symbols that are not characters", "Must be changed if requested by the organizing team"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Equipment",
|
||||
"rules": [
|
||||
"The organizing team will provide participating players with internet access, an internet cable, extension cords, and a seat with a table.",
|
||||
"Coaches will not be provided with dedicated seating, desk space or internet connections.",
|
||||
"Each participant is responsible for bringing and ensuring the functionality of all other equipment necessary for participation."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Schedule",
|
||||
"rules": [
|
||||
"All team members must arrive one hour before the scheduled start of the tournament.",
|
||||
"Teams competing in a match round must be ready at their designated spots 10 minutes before the start of the round.",
|
||||
"Match start times are determined by the organizing team at the start of the tournament or after the previous round concludes.",
|
||||
"If a player experiences technical or game-related issues, they must immediately inform the game official or the organizing team.",
|
||||
"Participants will have at least a 10 minute break between matches and 8 minutes between maps in a Bo3 match.",
|
||||
"The organizing team has the right to make changes to the schedule.",
|
||||
"The organizing team is obliged to keep all participants informed about delays or schedule changes."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Game Version and Settings",
|
||||
"rules": [
|
||||
"The most recent version of CS2 will be used throughout the tournament.",
|
||||
{"main": "The following settings will be used in the CS2 tournament:", "sub": ["Best of 24 rounds (mp_maxrounds 24)", "Round time: 1 minute 55 seconds (mp_roundtime 1.92)", "Starting money: $800 (mp_startmoney 800)", "Freeze time at the start of each round: 20 seconds (mp_freezetime 20)", "Buy time: 20 seconds (mp_buytime 20)", "C4 timer: 40 seconds (mp_c4timer 40)", "Overtime rounds: Best of 6 (mp_overtime_maxrounds 6)", "Overtime starting money: $12,500 (mp_overtime_startmoney 12500)"]},
|
||||
"Overtime: If the match ends in a tie after 24 rounds, overtime will be played as Best of 6. Overtimes continue until a winner is determined.",
|
||||
"Timeout: Each team is allowed to call a 30 second timeout up to 3 times during regulation rounds. Use \"!pause\" in the in-game chat.",
|
||||
"Technical timeout: Each team has the right to call a technical timeout if needed. Use \".tech\" in the in-game chat. Tactical communication is forbidden during all technical timeouts."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Map Selection & Tournament Structure",
|
||||
"rules": [
|
||||
{"main": "The 32-team tournament will take place in two stages:", "sub": ["Swiss stage: 5 rounds, initial phase Bo1, deciding matches Bo3. 3 wins = playoffs (Top 16). 3 losses = Second Chance Tournament.", "Playoffs: Double elimination. Upper bracket Bo3, lower bracket Bo1, Lower Final is Bo3.", "Second Chance Tournament: Double elimination. All matches except Final are Bo1, Final is Bo3."]},
|
||||
{"main": "Seeding will be conducted according to VRS priority:", "sub": ["Teams with Global VRS rank will be seeded higher than unranked teams", "Teams without Global VRS rank will be assigned initial seeds randomly", "After the initial round, standings will be determined by the Buchholz system"]},
|
||||
"The map pool will consist of maps from the current Valve Active Duty Map Group.",
|
||||
{"main": "Best of 1 (Bo1) veto:", "sub": ["Team A removes 2 maps", "Team B removes 3 maps", "Team A removes 1 map", "The remaining map will be played"]},
|
||||
{"main": "Best of 3 (Bo3) veto:", "sub": ["Team A removes 1 map", "Team B removes 1 map", "Team A picks 1 map", "Team B picks 1 map", "Team A removes 1 map", "Team B removes 1 map", "The remaining map will be played as the decider if necessary"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Forbidden Actions in the CS2 Tournament",
|
||||
"rules": [
|
||||
"Any kind of cheating, including methods not listed here, is strictly prohibited.",
|
||||
"The use of scripts is forbidden (except for weapon/grenade purchase scripts and jump-throw scripts).",
|
||||
"Moving through walls, floors, and ceilings, including \"sky-walking,\" is forbidden.",
|
||||
"Pixel walking - standing, crouching, walking on invisible map edges - is forbidden.",
|
||||
"Bombs must be planted in such a way that they can be defused.",
|
||||
"Players are not allowed to plant an armed bomb in a location where it cannot be defused.",
|
||||
"Players are not allowed to assign names (nametags) to items that violate the TipiLAN regulations.",
|
||||
"Custom game files/data/drivers are not allowed.",
|
||||
"The use of character models (agent skins) is not allowed.",
|
||||
"Exploiting in-game bugs is forbidden.",
|
||||
"Any kind of match-fixing, result manipulation, fraud, or collusion is strictly forbidden and will result in immediate team disqualification."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Penalties",
|
||||
"rules": [
|
||||
"Violations of in-game and out-of-game rules as well as breaches of the TipiLAN regulations are punishable.",
|
||||
"Teams must maintain at least 4 of their 5 originally registered core members for all matches to remain eligible.",
|
||||
"A team member who violates the rules will first receive a verbal warning. For a second violation, they will receive a second warning. On the third violation, the player will be disqualified.",
|
||||
"A team member who does not show up for the tournament or match round without a valid reason will be disqualified.",
|
||||
"A team member who is not present and ready 10 minutes before their match (no-show situation) will be disqualified.",
|
||||
"If the organizing team determines that a player has violated section 7 rules, the entire team will be immediately disqualified. The violating player will receive a permanent ban from all future TipiLAN tournaments.",
|
||||
"A team has the right to voluntarily withdraw from the tournament.",
|
||||
"In case of a team disqualification, the opposing team will automatically win the current match round.",
|
||||
"In case of disqualification, the participation fee will not be refunded.",
|
||||
{"main": "Only the team captain may dispute a disqualification:", "sub": ["A dispute must be submitted within 15 minutes", "The organizing team has up to 25 minutes to make a decision"]},
|
||||
{"main": "Teams have the right to file a protest:", "sub": ["A protest must be submitted within 5 minutes of discovering the issue", "The organizing team has up to 25 minutes to make a decision"]},
|
||||
"The game official will inform the violating player, their team, and the opposing team about the violation and its consequences.",
|
||||
"The organizing team has the right to pause and resume a match round at any time if necessary.",
|
||||
"The organizing team is obliged to publicly announce all eliminations, disqualifications, and subsequent changes."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"schedule": {
|
||||
"title": "Schedule",
|
||||
"day": "Day",
|
||||
|
||||
@@ -158,6 +158,172 @@
|
||||
"buyTicket": "OSTA PILET"
|
||||
}
|
||||
},
|
||||
"cs2page": {
|
||||
"title": "COUNTER-STRIKE 2 TURNIIR",
|
||||
"buyTicket": "OSTA PILET",
|
||||
"viewGithub": "TÄISREEGLID",
|
||||
"nav": {
|
||||
"intro": "Sissejuhatus",
|
||||
"info": "Üldine info",
|
||||
"prizes": "Auhinnafond",
|
||||
"format": "Turniiri formaat",
|
||||
"vrs": "VRS info",
|
||||
"faq": "Korduma kippuvad küsimused",
|
||||
"rules": "Reeglid"
|
||||
},
|
||||
"intro": {
|
||||
"title": "SISSEJUHATUS",
|
||||
"description": "TalTechis on korraldatud CS võistlusi nii CS1.6 kui ka CS:GOs juba ligi 20 aastat. TipiLAN korraldas esimese CS2 turniiri 2025. aastal oma debüütüritusel. TipiLAN 2025 CS turniir sai esimesena Eesti ajaloos jagada välja VRS punkte, saavutades Tier 2 Ranked turniiri staatuse. Kohal käis tiime Eestist, Lätist, Leedust, Soomest, Norrast ja Ukrainast, mis tõestas turniiri rahvusvahelist haaret ja tugevat konkurentsi.",
|
||||
"previousWinners": "VARASEMAD VÕITJAD"
|
||||
},
|
||||
"info": {
|
||||
"title": "ÜLDINE INFO",
|
||||
"description": "TipiLAN 2026 CS2 turniir toimub 11.-13. septembril TalTechis, Tallinnas, Eestis. Tegemist on BYOC LAN turniiriga. Kohapeal pakutakse igale osalejale: laud, tool, võrgukaabliga internetiühendus, vooluühendus (2 pesa)."
|
||||
},
|
||||
"prizes": {
|
||||
"title": "AUHINNAFOND",
|
||||
"mainTitle": "PEATURNIIR - 6000€",
|
||||
"mainNote": "Auhinnafondist väljaspoole jäävatele meeskondadele ja mängijatele lisahüvitisi ei pakuta.",
|
||||
"secondTitle": "TEISE VÕIMALUSE TURNIIR - 750€",
|
||||
"secondNote": "Auhinnafondist väljaspoole jäävatele meeskondadele ja mängijatele lisahüvitisi ei pakuta."
|
||||
},
|
||||
"format": {
|
||||
"title": "TURNIIRI FORMAAT",
|
||||
"description": "Terve turniir on BYOC (bring your own computer) LAN, kvalifikatsioone ei toimu.",
|
||||
"day1": "Päev 1: 5 raundi Swiss stiilis turniiri (Bo1)",
|
||||
"day23": "Päev 2 & 3: Double Elimination playoff'id (Winners' Bracket Bo3, Losers' Bracket Bo1)"
|
||||
},
|
||||
"vrs": {
|
||||
"title": "VRS INFO, KUTSED",
|
||||
"description1": "TipiLANi meeskond esitab HLTV-le avalduse, et turniiri tulemused läheksid VRS arvestusse kirja. HLTV rankingu staatust ei saa enne ametlikku kinnitust garanteerida. HLTV otsustab, millised mängud loevad VRS punktide arvestuses.",
|
||||
"description2": "TipiLANi CS2 turniir jälgib Valve Ranked Tier 2 turniiri nõudeid. TipiLAN ei saada VRS kutseid meeskondadele."
|
||||
},
|
||||
"faq": {
|
||||
"title": "KORDUMA KIPPUVAD KÜSIMUSED",
|
||||
"q1": "KÜSIMUS?",
|
||||
"a1": "Vastus"
|
||||
},
|
||||
"rules": {
|
||||
"title": "REEGLID",
|
||||
"description": "TipiLAN 2026 Counter-Strike 2 turniiri ametlikud reeglid.",
|
||||
"contact": "Küsimuste korral võta ühendust:",
|
||||
"contactName": "Harles Kadanik",
|
||||
"contactRole": "Mänguvana - CS2 turniir",
|
||||
"contactDiscord": "Discord: hrkruger",
|
||||
"sections": [
|
||||
{
|
||||
"title": "Üldist",
|
||||
"rules": [
|
||||
"Counter-Strike 2 (edaspidi CS2) turniir toimub 11.-13. september, 2026 Tallinna Tehnikaülikooli (TalTech) ruumides, Ehitajate tee 5, Tallinn.",
|
||||
{"main": "Turniiri auhinnafondiks on 6750€, mis jaguneb järgnevalt:", "sub": [{"main": "Põhiturniiri TOP 3 auhinnafond on 6000€:", "sub": ["Esimene koht - 600€ võistleja kohta (kokku 3000€)", "Teine koht - 400€ võistleja kohta (kokku 2000€)", "Kolmas koht - 200€ võistleja kohta (kokku 1000€)"]}, {"main": "Second Chance turniiri auhinnafond on 750€:", "sub": ["Esimene koht - 100€ võistleja kohta (kokku 500€)", "Teine koht - 50€ võistleja kohta (kokku 250€)"]}]},
|
||||
{"main": "TipiLAN on Valve Tier 2 (No Invitations) nõuetele vastav võistlus.", "sub": ["Põhiturniiri 1.-3. koha tulemused esitatakse VRS-i arvutamiseks. HLTV.org (pärast meiepoolset taotlust) määrab, millised mängud lähevad VRS-i arvestusse. VRS punktide jagamist ei saa enne ametlikku kinnitust garanteerida."]},
|
||||
{"main": "Võidusumma makstakse välja võistleja pangakontole 30 päeva jooksul.", "sub": ["Alaealise võistleja puhul makstakse võit vanema/eestkostja pangakontole."]},
|
||||
"Terve turniiri vältel tuleb igal osalejal lähtuda Eesti Vabariigi seadusest, TipiLAN kodukorrast ja ürituse reeglistikust.",
|
||||
"Piletiostuga annab iga osaleja loa end pildistada, filmida ja kasutada kogu fotograafilist, audio- ja videomaterjali ürituse jäädvustamiseks ja turundamiseks.",
|
||||
"CS2 põhiturniiri salvestatakse ning kantakse üle voogedastusplatvormidel Twitch ja YouTube.",
|
||||
"Kõik turniiriga seotud suhtlused tiimiliikmete vahel (nt mängusisene chat, häälvestlused, Discordi ja TeamSpeaki vestlused jne) salvestatakse.",
|
||||
"Ise mängu üle kandmise puhul peab otseülekande viivis (delay) olema vähemalt 5 minutit.",
|
||||
"Korraldajatel on õigus kasutada osalejate isiklikku informatsiooni vaid ürituse läbiviimise raames.",
|
||||
"Korraldustiimil on õigus reegleid vajadusel muuta ja redigeerida etteteatamata, eeldusel et muudatused on kooskõlas Valve'i turniiride nõuetega.",
|
||||
"Korraldustiim on kõikide osalejate suhtes erapooletu."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CS2 põhiturniiri tiim ja tiimi koosseis",
|
||||
"rules": [
|
||||
"CS2 põhiturniiri tiim (edaspidi tiim) põhikoosseisu kuulub viis põhiliiget, kellest üks on tiimikapten.",
|
||||
"Hiljemalt 28. augustiks 2026 (kaks nädalat enne turniiri) peab iga tiim kinnitama oma osaluse, lõpliku tiimi põhikoosseisu ning tiimi nime.",
|
||||
{"main": "Tiimikapten on tiimi esindaja, kes:", "sub": ["On kontaktisikuks korraldustiimile", "Registreerib tiimi turniirile", "Vastutab tiimi käitumise ja tegude eest", "Esindab tiimi hoiatuste, diskvalifikatsioonide, vaidlustuste ja timeout-ide korral"]},
|
||||
{"main": "Igal tiimil võib olla üks varumängija, kes ei kuulu tiimi põhikoosseisu:", "sub": ["Varumängija peab soetama endale eraldi varumängija pileti", "Varumängija võib asendada ükskõik millist tiimi põhikoosseisu liiget turniiri toimumisel ajal", "Varumängijale kehtivad samad õigused ja nõuded, mis tiimi põhikoosseisule"]},
|
||||
{"main": "Igal tiimil võib olla üks treener:", "sub": ["Treener peab ostma eraldi treeneri pileti", "Treener võib oma meeskonnaga suhelda ainult mängude vahel ja taktikaliste pauside ajal"]},
|
||||
{"main": "Tiimi põhikoosseisus on lubatud välja vahetada mängijaid enne tiimide registreerimiskuupäeva lõppemist:", "sub": ["Mängijate väljavahetamine toimub läbi Fienta", "Liikme välja vahetamisel jääb tiimil jätkuvalt õigus varumängijale", "Asendusmängijale kehtivad samad õigused ja nõuded, mis tiimi põhikoosseisule"]},
|
||||
"Tiimikapteni väljavahetamisel otsustab tiim ise, kellele tiimikapteni õigused ja kohustused tiimisiseselt üle kanduvad.",
|
||||
"Kui tiim astub turniiril osalemisest tagasi enne registreerimistähtaega, makstakse osalemistasu tiimile tagasi.",
|
||||
"Kõik tiimiliikmed võivad turniiril kuuluda vaid ühte tiimi korraga ja esindada vaid iseennast.",
|
||||
"Kõik tiimiliikmed peavad päev enne turniiri algust olema vähemalt 16-aastased.",
|
||||
"Mitte ükski tiimiliige ei tohi olla Venemaa Föderatsiooni ega Valgevene Rahvavabariigi kodanik.",
|
||||
{"main": "Tiimidel pole lubatud:", "sub": ["Tiimisponsorite kajastamine turniiril", "Mängida teise tiimi või tiimiliikme huvides"]},
|
||||
{"main": "Tiimi nimi:", "sub": ["Ei tohi olla solvav, vulgaarne, poliitiline või muud moodi maitsetu", "Ei tohi sisaldada emotikone ega muid sümboleid, mis pole tähemärgid", "Tuleb korraldustiimi poolsel nõudel ära muuta"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Varustus",
|
||||
"rules": [
|
||||
"Korraldustiimi poolt on turniiril osalevatele mängijatele tagatud internet, internetikaabel, pikendusjuhtmed ja istekoht lauaga.",
|
||||
"Treeneritele ei tagata eraldi istekohta, lauapinda ega internetiühendust.",
|
||||
"Turniiril osaleja vastutab selle eest, et temal on osalemiseks muu vajalik varustus kaasas ja töötab."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Ajakava",
|
||||
"rules": [
|
||||
"Kõik tiimiliikmed peavad kohal olema tund aega enne ettenähtud turniiri algust.",
|
||||
"Mänguvoorus võistlevad tiimid peavad 10 minutit enne vooru algust olema valmis oma ettenähtud kohtadel.",
|
||||
"Mänguvoorude algusajad on korraldustiimi välja pandud turniiri alguseks või eelmise mänguvooru lõpuks.",
|
||||
"Kui mängijal esinevad tehnika või mänguga seotud tehnilised probleemid, peab ta sellest koheselt teavitama mänguvana või korraldustiimi.",
|
||||
"Osalejatele tagatakse mängude vahel vähemalt 10-minutiline paus ja Bo3 mängude puhul kaartide vahel vähemalt 8-minutiline paus.",
|
||||
"Korraldustiimil on õigus teha ajakavas muudatusi.",
|
||||
"Korraldustiimil on kohustus hoida kõiki osalejaid kursis tekkinud viivituste ja muudatusega."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Mängu versioon ja seaded",
|
||||
"rules": [
|
||||
"Terve turniiri jooksul kasutatakse CS2 kõige uuemat versiooni.",
|
||||
{"main": "CS2 turniiril kasutatakse järgnevaid seadeid:", "sub": ["Parim 24st (mp_maxrounds 24)", "Raundi aeg: 1 minut 55 sekundit (mp_roundtime 1.92)", "Alustusraha: $800 (mp_startmoney 800)", "Liikumise keelu aeg raundi alguses: 20 sekundit (mp_freezetime 20)", "Aeg ostmiseks: 20 sekundit (mp_buytime 20)", "Pommi taimer: 40 sekundit (mp_c4timer 40)", "Lisaajal raunde: parim kuuest (mp_overtime_maxrounds 6)", "Lisaaja alustusraha: $12,500 (mp_overtime_startmoney 12500)"]},
|
||||
"Lisaaeg: juhul, kui pärast kõigi 24 raundi mängimist on viik, mängitakse lisaaega parim kuuest. Võistkonnad jätkavad lisaaegu, kuni võitja on leitud.",
|
||||
"Paus: iga tiimil on lubatud kutsuda esile paus (timeout) 30 sekundit kuni 3 korda regulatsiooniraundide ajal. Pausi saavad kutsuda osalejad kirjutades mängusisesesse chatti \"!pause\".",
|
||||
"Tehniline paus: igal tiimil on vajadusel õigus kasutada tehnilist pausi. Pausi alustamiseks tuleb mängusisesesse chatti sisestada käsklus \".tech\". Taktikaline suhtlus on kõigi tehniliste pauside ajal keelatud."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Kaardivalik & turniiri struktuur",
|
||||
"rules": [
|
||||
{"main": "32 meeskonnaga turniir toimub kahes etapis:", "sub": ["Swiss-süsteem: 5 roundi, algfaasis Bo1, otsustavad mängud Bo3. 3 võitu = playoffid (Top 16). 3 kaotust = Second Chance turniir.", "Playoffid: double elimination. Upper bracket Bo3, lower bracket Bo1, Lower finaal Bo3.", "Second Chance turniir: double elimination. Kõik mängud peale finaali Bo1, finaal Bo3."]},
|
||||
{"main": "Seeding viiakse läbi vastavalt VRS-i järjestusele:", "sub": ["VRS edetabelis kohaga meeskonnad seeditakse kõrgemale kui edetabelikohata meeskonnad", "Ilma VRS edetabelikohata meeskondadele määratakse esmane paigutus juhuslikult", "Pärast esmast roundi jaotatakse tabeliseis vastavalt Buchholz süsteemile"]},
|
||||
"Mängitav kaart valitakse välja hetkel aktiivsete Valve'i kaardigrupi kaartidest.",
|
||||
{"main": "Bo1 kaardivalik:", "sub": ["Võistkond A eemaldab 2 kaarti", "Võistkond B eemaldab 3 kaarti", "Võistkond A eemaldab 1 kaardi", "Järelejäänud kaarti mängitakse"]},
|
||||
{"main": "Bo3 kaardivalik:", "sub": ["Võistkond A eemaldab 1 kaardi", "Võistkond B eemaldab 1 kaardi", "Võistkond A valib 1 kaardi", "Võistkond B valib 1 kaardi", "Võistkond A eemaldab 1 kaardi", "Võistkond B eemaldab 1 kaardi", "Järelejäänud kaart on vajadusel otsustav"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CS2 turniiril keelatud tegevused",
|
||||
"rules": [
|
||||
"Igasugune sohitegemine, sealhulgas meetodid mis siin ei ole mainitud, on keelatud.",
|
||||
"Skriptide kasutamine on keelatud (v.a. relvade/granaatide ostmine, hüppeviskamine).",
|
||||
"Liikumine läbi seinte, põrandate ja katuste, k.a. taevas jalutamine (sky-walking) on keelatud.",
|
||||
"Piksel-jalutamine (Pixel walking) ehk seismine, kükitamine, kõndimine nähtamatutel kaardipiiridel on keelatud.",
|
||||
"Pomme tuleb asetada nii, et neid saaks desarmeerida.",
|
||||
"Mängijatel ei ole lubatud armeeritud pommi asetada kohta, kus seda ei saa desarmeerida.",
|
||||
"Mängijatel ei ole lubatud panna esemetele nimesid (nametags), mis rikuvad TipiLAN kodukorras väljatoodut.",
|
||||
"Kohandatud mängufailid/andmed/draiverid ei ole lubatud.",
|
||||
"Mängukarakteri mudelite (agent skins) kasutamine ei ole lubatud.",
|
||||
"Mängusiseste vigade ära kasutamine on keelatud.",
|
||||
"Igasugune tulemuste kokkuleppimine, mõjutamine, pettus ja manipuleerimine on rangelt keelatud ning tähendab kohest tiimi diskvalifitseerimist."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Karistused",
|
||||
"rules": [
|
||||
"Karistatav on mängusiseste ja mänguväliste reeglite ning kodukorra rikkumine.",
|
||||
"Meeskonnad on kohustatud säilitama vähemalt 4 viiest algselt registreeritud mängijast kõigi mängude jaoks.",
|
||||
"Reegleid rikkunud tiimiliikmele tehakse esmalt esimene verbaalne hoiatus. Teise rikkumise järel tehakse teine hoiatus. Kolmandal korral saab tiimiliige diskvalifikatsiooni.",
|
||||
"Tiimiliige, kes ei ilmu turniiriks ega mänguvooruks kohale või lahkub turniiri ajal mõjuva põhjuseta, saab turniirilt diskvalifikatsiooni.",
|
||||
"Tiimiliige, kes pole 10 minutit enne oma mänguvooru algust kohal (no-show olukord), saab turniirilt diskvalifikatsiooni.",
|
||||
"Kui korraldustiim tuvastab punktis 7 väljatoodud rikkumise, diskvalifitseeritakse kogu tiim koheselt. Reegleid rikkunud mängijale antakse TipiLAN turniiridelt igavene mängukeeld.",
|
||||
"Tiimil on õigus astuda turniiril osalemisest tagasi.",
|
||||
"Tiimi diskvalifitseerimise korral võidab vastastiim automaatselt käesoleva mänguvooru.",
|
||||
"Diskvalifitseerimise puhul ei tagastata osalustasu.",
|
||||
{"main": "Ainult tiimikapten saab diskvalifitseerimist vaidlustada:", "sub": ["Vaidlustus tuleb esitada 15 minuti jooksul", "Korraldustiimil on aega kuni 25 minutit otsuse tegemiseks"]},
|
||||
{"main": "Tiimidel on õigus esitada protest:", "sub": ["Protest tuleb esitada 5 minuti jooksul probleemi avastamisest", "Korraldustiimil on aega kuni 25 minutit otsuse tegemiseks"]},
|
||||
"Mänguvana teavitab eksimusest, selle sisust ja tagajärjest reegleid rikkunud tiimiliiget, tema tiimi ja vastastiimi.",
|
||||
"Korraldustiimil on õigus panna mänguvoor pausile ja lõpetada paus ükskõik millisel hetkel.",
|
||||
"Korraldustiimil on kohustus kõikidest väljalangemistest ja diskvalifikatsioonidest avalikult teada anda."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"schedule": {
|
||||
"title": "Ajakava",
|
||||
"day": "Päev",
|
||||
|
||||
Reference in New Issue
Block a user