add and fix heist story + misc

This commit is contained in:
TFT
2026-03-21 11:02:52 +02:00
parent e11f34c57c
commit a16296edbf

View File

@@ -138,7 +138,7 @@ CMD: dict[str, str] = {
"leaderboard": "TipiBOTi edetabel - kes on kõige rikkam?",
"shop": "Sirvi TipiBOTi poodi",
"buy": "Osta ese TipiBOTi poodist",
"rps": "Kivi-paber-käärid: boti või mõne teise mängija vastu",
"rps": "Kivi-paber-käärid mõne teise mängija vastu",
"slots": "Proovi oma õnne TipiBOTi mänguautomaadiga",
"request": "Kerja TipiCOINe teistelt mängijatelt - nagu crowdfunding, aga halvem",
"reminders": "Halda DM meeldetuletusi - kõik on vaikimisi sees, lülita need siin välja",
@@ -216,16 +216,16 @@ HELP_CATEGORIES: dict[str, dict] = {
"description": "TipiCOIN majandus",
"color": 0xF4C430,
"fields": [
("/balance [@user]", "Vaata enda (või kellegi teise) TipiCOINi saldot"),
("/balance [@user]", "Vaata enda (või kellegi teise) TipiCOINide saldot"),
("/rank [@user]", "Vaata oma EXP, taset, progressi ja edetabeli positsiooni. T2 pood avaneb tasemel 10, T3 tasemel 20."),
("/cooldowns", "Vaata kõikide käskude ooteaegu. Näitab ka vangla ooteaega."),
("/daily", "Võta enda päevane TipiCOINi boonus. 20h ooteaeg. Streak boonus: 3d=+50%, 7d=+100%, 14d=+200%."),
("/daily", "Võta enda päevane TipiCOINide boonus. 20h ooteaeg. Streak'i boonus: 3d=+50%, 7d=+100%, 14d=+200%."),
("/work", "Tööta ja teeni TipiCOINe (1h ooteaeg)"),
("/beg", "Kerja mõnda TipiCOINi (5min ooteaeg)"),
("/crime", "Proovi oma õnne kriminaalsete tegevustega. 60% edu, 40% trahv + 30min vanglas. 2h ooteaeg."),
("/beg", "Kerja TipiCOINe (5min ooteaeg)"),
("/crime", "Proovi oma õnne kriminaalse tegevusega. 60% edu, 40% trahv + 30min vanglas. 2h ooteaeg."),
("/rob @user", "Proovi kelleltki TipiCOINe varastada. 45% edu. Ebaõnnestumisel saad trahvi."),
("/heist", "Alusta grupirööv pangahoidlasse. Min 2 mängijat, max 8, 5 min ühinemisaeg. Õnnestumisel jagatakse saak võrdselt - ebaõnnestumisel 1h 30min vangis + trahv. 4h serveri ooteaeg (ei ole isiklik)."),
("/jailbreak", "Kui satud vanglasse, proovi täringuid visata, et duublit saada (3 katset). Duublit saades saad vabaks. Ebaõnnestumisel saad valida - maksa kautsjon (20-30% saldost, min 350 ⬡) või jää vanglasse kuni aja lõpuni."),
("/heist", "Alusta grupiröövi pangahoidlasse. Min 2 mängijat, max 8. 5 min ühinemisaeg. Õnnestumisel jagatakse saak võrdselt - ebaõnnestumisel 1h 30min vangis + trahv. 4h serveri ooteaeg (ei ole isiklik)."),
("/jailbreak", "Proovi vanglas olles täringuid visata, et duublit saada (3 katset). Duubli korral saad vabaks. Ebaõnnestumisel saad valida: maksa kautsjon (20-30% saldost, min 350 ⬡) või jää vanglasse kuni aja lõpuni."),
("/give @user <amount>", "Anna TipiCOINe teisele mängijale"),
("/leaderboard", "TipiBOTi edetabel - kes on kõige rikkam?"),
("/shop", "Sirvi TipiBOTi poodi"),
@@ -243,9 +243,9 @@ HELP_CATEGORIES: dict[str, dict] = {
("<:TipiMATT:1483387697132208128> XL hiirematt - 600 ⬡", "Kerjamise ooteaeg 5min → 3min."),
("<:TipiKLAPID:1483387694083084349> Kõrvaklapid - 1200 ⬡", "Päevase boonuse ooteaeg 20h → 18h."),
("<:TipiPILET:1483004308353060904> LAN pilet (2025) - 1200 ⬡", "Päevane boonus on duubeldatud."),
("<:TipiVAC:1483004309510819860> Anticheat - 750 ⬡", "Röövimine sinu vastu ebaõnnestub. 2 kasutust, siis pead ostma uue."),
("<:TipiVAC:1483004309510819860> Anticheat - 750 ⬡", "Röövimine sinu vastu ebaõnnestub. Pärast 2 kasutust pead ostma uue."),
("<:TipiBULL:1483004310924300409> Red Bull - 800 ⬡", "30% tõenäosus, et teenid töötades 3x rohkem."),
("<:TipiLAP:1483004307161874566> Botikoobas - 1500 ⬡", "RTX 4090 jooksutab botte 24/7. Päevane boonus genereerib 5% intressi sinu saldo pealt."),
("<:TipiLAP:1483004307161874566> Botikoobas - 1500 ⬡", "RTX 5090 jooksutab botte 24/7. Päevane boonus genereerib 5% intressi sinu saldo pealt."),
("<:TipiLAUD:1483387695576125440> Reguleeritav laud - 3500 ⬡ *(T2)*", "/work teenib 25% rohkem (stackib mängurihiirega)."),
("<:TipiSERVER:1483387701032910969> Jellyfin server - 4000 ⬡ *(T2)*", "Röövimise edu tõenäosus 45% → 60%."),
("<:TipiMIC:1483387698499551313> Mikrofon - 2800 ⬡ *(T2)*", "Teeni 30% rohkem eduka /crime puhul."),
@@ -259,13 +259,13 @@ HELP_CATEGORIES: dict[str, dict] = {
},
"games": {
"label": "🎮 Mängud",
"description": "Lõbusad mängud ja võistlused",
"description": "Lõbusad mängud",
"color": 0x5865F2,
"fields": [
("/roulette <bet> <colour>", "Panusta TipiCOINe punasele, mustale või rohelisele (1/37 võimalus, 14x payout)"),
("/rps [bet] [opponent]", "Kivi-paber-käärid: boti või mõne teise mängija vastu"),
("/rps [bet] [opponent]", "Kivi-paber-käärid mõne teise mängija vastu"),
("/slots <bet>", "Proovi oma õnne TipiBOTi mänguautomaadiga"),
("/blackjack <bet>", "Mängi blackjacki TipiBOTi vastu. Blackjack maksab 3:2. Kakskordistad (double down) vaid esimese käigu korral."),
("/blackjack <bet>", "Mängi blackjacki TipiBOTi vastu. Blackjack maksab 3:2. Kakskordistamine (double down) on võimalik vaid esimese käigu ajal."),
],
},
"admin": {
@@ -278,10 +278,10 @@ HELP_CATEGORIES: dict[str, dict] = {
("/sync", "Sünkroniseeri käsklused Discordi serveriga"),
("/restart", "Tee taaskäivitus botile"),
("/send #channel message", "Saada sõnum valitud kanalisse"),
("/admincoins @user <amount> <reason>", "Anna või võta TipiCOINe kasutajalt"),
("/admincoins @user <amount> <reason>", "Anna või võta TipiCOINe kasutajale/kasutajalt"),
("/adminjail @user <minutes> <reason>", "Saada kasutaja vangi"),
("/adminunjail @user", "Vabasta kasutaja vangist"),
("/adminban @user <reason>", "Keela kasutaja osalemine majandussüsteemis"),
("/adminban @user <reason>", "Keela kasutajal majandussüsteemis osaleda"),
("/adminunban @user", "Eemalda majandussüsteemi keeld kasutajalt"),
("/adminreset @user <reason>", "Lähtesta kasutaja majandusandmed"),
("/adminview @user", "Vaata kasutaja majandusandmeid"),
@@ -298,8 +298,8 @@ HELP_CATEGORIES: dict[str, dict] = {
# Repeated system messages
# ---------------------------------------------------------------------------
MSG_BANNED = "🚫 Sind on TipiBOTi majandusest keelustatud."
MSG_SPAM_JAIL = "⚠️ Liiga kiire! Automaatne kasutamine on keelatud. Oled **30 minutit vangis**. Kasuta `/jailbreak`, et varem välja pääseda."
MSG_BANNED = "🚫 Sul keelati TipiBOTi majandussüsteemis osaleda."
MSG_SPAM_JAIL = "⚠️ Liiga kiire! Automaatsed skriptid/spam on keelatud. Oled **30 minutit vangis**. Kasuta `/jailbreak`, et varem välja pääseda."
MSG_PONG = "🏓 Pong!"
MSG_RESTART_DONE = "✅ Bot on taaskäivitatud!"
MSG_RESTARTING = "🔄 Taaskäivitan..."
@@ -365,82 +365,122 @@ HEIST_STORY: dict = {
],
"arrival": [
"{leader} keerab nurga taga {vehicle} mootori kinni. Maskid ette. Keegi ei räägi.",
"{vehicle} peatub ühe kvartali kaugusel sihtmärgist. {leader}: *\"Pank on seal. Hoiame plaanist kinni.\"*",
"Meeskond astub {vehicle}st välja. {leader} kontrollib kõrvaklappi. *\"Kaks valvurit, üks pimeala. Liigume nüüd.\"*",
"{leader} jälgib {vehicle}st sissepääsu. *\"Vahetus 40 sekundi pärast. See on meie aken.\"*",
"Kell 3 öösel. Tänav on tühi. {vehicle} töötab väljas tühikäigul. {leader} tõmbab maski ette.",
"{vehicle} peatub ühe kvartali kaugusel sihtmärgist. {leader}: *\"Pank on seal. Tegutseme plaani järgi.\"*",
"Meeskond astub {vehicle}st välja. {leader} kuulab kõrvamonitori. *\"Kaks valvurit, üks pimeala. Liigume nüüd.\"*",
"{leader} jälgib {vehicle}st sissepääsu. *\"Valvurite vahetus 40 sekundi pärast. See on meie ajaaken.\"*",
"Kell 3 öösel. Tänav on tühi. {vehicle} seisab väljas tühikäigul. {leader} tõmbab maski ette.",
"{vehicle} veereb aeglaselt vaiksesse pimedasse vahetänavasse. {leader}: *\"Viimane kontroll. Kõik valmis?\"*",
"{leader} koputab armatuurlauale. *\"Kui midagi läheb valesti, me lahkume kohe.\"* Vaikus vastuseks.",
"Tuul sahiseb mööda tühja tänavat. {vehicle} uksed avanevad korraga.",
"{member} kontrollib relva. {leader} vaatab kella. *\"Me oleme graafikus.\"*",
"{vehicle} tuled kustuvad. Linn jääb vaikseks. Nad liiguvad.",
],
"entry_sneaky": [
"{member} tõmbab kloonitud kaarti külgukse juures. Lukk klõpsab hääleta lahti.",
"Meeskond libiseb sisse laadimisestakaadi kaudu, riietatud öiste koristajatena.",
"{leader} on kaks nädalat valvurite graafikut pähe õppinud. Nad kõnnivad sisse vahetuse ajal.",
"Võltsitud alltöövõtja kaart laseb neil vastuvõtust läbi ilma lisaküsimuseta.",
"{member} lülitab eeskaamera sülearvutist välja. {leader} kõnnib sisse, nagu see oleks tema oma maja.",
"Meeskond libiseb sisse laadimisestakaadi kaudu, riietatud öisteks koristajateks.",
"{leader} on kaks nädalat valvurite graafikut pähe õppinud. Röövlid kõnnivad sisse vahetuse ajal.",
"Võltsitud alltöövõtja kaardi abil saavad nad fuajeest läbi ilma lisaküsimuseta.",
"{member} lülitab välikaamerad sülearvutist välja. {leader} kõnnib sisse, nagu see oleks tema oma maja.",
"{member} kasutab signaaliblokeerijat. Häired ei jõua kunagi süsteemi.",
"{leader} avab ventilatsiooniluugi. *\"Läheme ülevalt.\"*",
"Turvamees haigutab. Sekund hiljem on ta seotud ja vaikselt nurka lohistatud.",
"{member} süstib lukku mikrokaamera. Mehhanism kaardistatakse sekunditega.",
],
"entry_loud": [
"{leader} lööb esiuksed lahti. *\"KÕIK PÕRANDALE - KOHE!\"*",
"Esmalt suitsugranaadid. Selleks ajaks, kui suits vaibub, on meeskond juba sees.",
"{leader} tulistab ühe lasu lakke. Haudvaikus. *\"Oleme siin seifi pärast. Tehke koostööd ja minge koju.\"*",
"*\"Keegi ei liigu, keegi ei saa viga.\"* {leader} omab ruumi täielikku tähelepanu.",
"{member} lõikab elektri ära. Pimeduses juhib {leader} meeskonna mälu järgi läbi.",
"{leader} tulistab ühe lasu lakke. Haudvaikus. *\"Oleme siin seifi pärast! Kui teete koostööd, siis pääsete elusana.\"*",
"*\"Kui keegi ei liigu, ei saa keegi ka viga.\"* {leader} omab ruumi täielikku tähelepanu.",
"{member} lükkab kilbist elektri välja. Pimeduses juhib {leader} meeskonna mälu järgi edasi.",
"*\"See on rööv! Kõik pikali!\"* {leader} hääl kajab läbi saali.",
"Alarm hakkab ulguma juba enne, kui nad täielikult sisse jõuavad.",
"Klaas puruneb. Inimesed karjuvad. Täielik kaos.",
],
"inside": [
"{names} liiguvad kiiresti läbi fuajee, sidudes turvamehi postide külge kinni.",
"{member} katab väljapääsud. {leader} suundub otse seifi poole.",
"Üks kassapidajatest käivitab vaikse häire, kuid {member} märkab märgutulukest ja lülitab selle välja.",
"Üks kassapidajatest proovib käivitada vaikset häiret, kuid {member} märkab ta nihelemist ja peatab ta hoiatuslasuga.",
"{leader} hoiab töötajad rahulikuna samal ajal, kui teised suunduvad alumisele korrusele.",
"Turvakaamerad on tsüklil. {names} on korrusel üksi.",
"{member} kontrollib kellaaega. *\"Me oleme 30 sekundit ees.\"*",
"{leader} annab käemärgi. Meeskond jaguneb ilma sõnadeta.",
"Koridor on tühi. Liiga tühi. {leader} peatub hetkeks.",
"{names} liiguvad trepist alla, sammud summutatud.",
"Üks uks on lukus. {member} avab selle sekundiga.",
],
"vault": [
"4nda taseme ajalukuga seif. {member} tõmbab puuri välja. *\"Anna mulle kolm minutit.\"*",
"{leader} vahib seifi ust. *\"Dünamiit.\"* Keegi ei vaidle.",
"Neljanda taseme ajalukuga seif. {member} tõmbab puuri välja. *\"Anna mulle kolm minutit.\"*",
"{leader} vaatab seifi ust. *\"Dünamiit.\"* Keegi ei vaidle.",
"{member} ühendub seifi juhtpaneeliga. Vana tarkvara. Ülevõtmine võtab 90 sekundit.",
"Seifil on käsikombinatsiooni lukk. Hea, et {leader} veetis kuu aega juhatajaga, teenides tema usaldust.",
"{member} paigutab lõhkeained. Meeskond astub tagasi. Üks kontrollitud plahvatus.",
"{leader} teeb magnetlukule tühistuse. Nagu õpikust võetud. Mehhanism annab järgi.",
"{member} higistab. *\"See pole standardlukk... anna mulle aega.\"*",
"{leader} kuulab vastu seifi ust. *\"Sees on liikumisandur.\"*",
"{member} lõikab läbi metallkihi nagu võid.",
"Ajurünnak. {leader} meenutab skeemi ja leiab nõrga koha.",
"{member} ühendab juhtmed ümber. Säde. Vaikus. Lukk avaneb.",
],
"vault_open": [
"Uks avaneb. Kuhi-kuhja järel raha, põrandast laeni. Täpselt nagu plaanitud.",
"*\"...jackpot.\"* {leader} vahtib seifi sisse. Meeskond seisab hetkeks vaikuses.",
"{member} hakkab kotte laadima. {leader} loeb juba väljapääse.",
"*\"...jackpot.\"* {leader} piilub seifi sisse. Meeskond seisab hetkeks vaikuses.",
"{member} hakkab kotte täis laduma. {leader} piilub juba väljapääsu poole.",
"Puhas. Kiire. {names} on seifis ja täidavad kotte enne, kui tolm settib.",
"Seif on lahti. {leader} võtab hinge. *\"Okei. Kottidesse ja liikuma.\"*",
"{leader} naeratab esimest korda. *\"See oli seda väärt.\"*",
"Raha lõhn täidab õhu. {member}: *\"Võtame kõik.\"*",
"{names} töötavad vaikides. Iga liigutus loeb.",
"Kotid täituvad kiiremini kui oodatud.",
"{leader} pilk muutub tõsiseks. *\"Aeg otsas. Liigume.\"*",
],
"police_inbound": [
"Raadio krõbiseb. *\"Kõik üksused, relvastatud rööv Keskpangas-\"*",
"Väljas ulgub esimene sireen eemalt. {leader}: *\"Meil on umbes neli minutit. Liikuma.\"*",
"Punased ja sinised tuled vilguvad ülemistest akendest läbi. Varualarmsignaal käivitati.",
"Väljas on kuulda eemalt ulguvaid sireene. {leader}: *\"Meil on umbes neli minutit. Liikuma.\"*",
"Punased ja sinised tuled vilguvad ülemistest akendest läbi. Varualarm käivitati.",
"Politsei helikopter skaneerib piirkonda prožektoriga. Aken sulgub kiiresti.",
"{member} kontrollib politsei skannerit. *\"Nad teavad. Kolm üksust, kaks minutit eemal.\"*",
"{member} kontrollib politsei skännerit. *\"Nad teavad. Kolm üksust, kaks minutit eemal.\"*",
"{member} kuulab raadiosidet. *\"Nad sulgevad kvartaleid.\"*",
"Sireenid lähenevad kiiremini kui plaanitud.",
"Helikopteri valgus libiseb üle akna. Liiga lähedal.",
],
"getaway_success": [
"Adrenalin. {names} jooksevad {vehicle} juurde. Kõik sees. {leader} keerab mootori käima.",
"Adrenaliin. {names} jooksevad {vehicle} juurde. Kõik sees. {leader} keerab mootori käima.",
"{member} haarab roolist. {leader} on kõrval. *\"Lähme.\"* Rahulikult.",
"{leader} libistab {vehicle} tagauksest välja. Sireen kaugel taga. Nad on kiiremad.",
"{leader} libistab {vehicle} kõrvalteed pidi minema. Sireen kaugel taga. Nad on kiiremad.",
"Rohelised tuled. {vehicle} sõidab vaikselt mööda parklas ootavast patrullautost. Keegi ei märka.",
"{member} näitab teed. {leader} sõidab vaikselt läbi tagakvartali. Käed lõdvad.",
"{vehicle} rehvid vilisevad, kui nad pööravad kitsasse tänavasse.",
"{leader} sõidab ilma tuledeta. Ainult mälu juhib teda.",
"{member} vaatab kaarti. *\"Vasak, siis kohe parem!\"*",
"Mootor möirgab. Nad kaovad öösse.",
"{vehicle} libiseb läbi viimase rohelise tule.",
],
"getaway_fail": [
"{names} jooksevad {vehicle} juurde. Sireenid igalt poolt.",
"{member} haarab roolist. {leader} on kõrval. *\"Mine! MINE!\"*",
"{vehicle} kihutab tänavale, kuid teevalgustus lülitub sisse. Kõik on nähtaval.",
"Kolm patrullauto tuleb taha. {member} vaatab üle õla. *\"Nad on meile järel.\"*",
"{vehicle} kihutab tänavale, kuid helikopteri valgusvihk osutab neile. Kõik on nähtaval.",
"Kolm patrullautot jõuavad nende taha. {member} vaatab üle õla. *\"Nad on meil kannul.\"*",
"Raadio krõbiseb. *\"Sihtmärk kinnitatud. Blokeeri Liivalaia tänav.\"*",
"{vehicle} ei käivitu. {member}: *\"Päriselt ka või?!\"*",
],
"escape_success": [
"{names} murravad läbi perimeetri enne väravate sulgemist. Puhas põgenemine.",
"{leader} oli planeerinud kolm väljumisteed. Läks vaja ühte. {vehicle} kaob linna.",
"{leader} oli planeerinud kolm väljumisteed. Vaja läks ühte. {vehicle} kaob linna.",
"Kahe kvartali kaugusel asuv peibutushäire tõmbab üksused eemale. {names} on kadunud enne, kui keegi seifi kontrollib.",
"Naelribad? Juba eemaldatud. Teeblokk? Vale tänav. {leader} mõtles kõigele.",
"{vehicle} sõidab maanteele nagu poleks midagi juhtunud. {leader} hingab esimest korda tunnis välja.",
"*\"Oleme vabad.\"* {member} piilub kardinate tagant välja. Tühi tänav. Nad tegid ära.",
"{names} kaovad sügavale linna nagu neid poleks kunagi olnud.",
"Raadio jääb vaikseks. Keegi ei jälita enam.",
"{vehicle} jäetakse maha. Uus plaan aktiveerub.",
"{leader}: *\"See oli liiga lihtne...\"*",
],
"escape_fail": [
"Patrullauto lõikab {vehicle} sillal ära. Mõlemalt poolt surutud. Ongi läbi.",
"Patrullauto lõikab {vehicle} teekonna sillal ära. Mõlemalt poolt ümbritsetud. Ongi läbi.",
"{member} kukutab koti. Kolm sekundit kõhklust - ja uksed on ümber piiratud.",
"Helikopter jälgib neid kuni varjupaigani. Kõik väljapääsud on kaetud.",
"Helikopter jälgib neid kuni pelgupaigani. Kõik väljapääsud on kaetud.",
"{leader} arvutab võimalusi. *\"Väljapääsu pole.\"* Käed lähevad üles.",
"Naelribad lõhuvad {vehicle} rehvid. Meeskond libiseb liikluse keskel seisma.",
"Naelribad lõhuvad {vehicle} rehvid. Meeskond libiseb liikluse keskele seisma.",
"{vehicle} põrkub vastu teetõket. Mootor sureb. Igast suunast tuled.",
],
}
@@ -456,7 +496,7 @@ HEIST_UI: dict[str, str] = {
"btn_join": "Ühine röövimisega 🔫",
"btn_start": "Alusta kohe ▶",
"already_joined": "Sa oled juba sees!",
"only_organizer": "Ainult algataja saab heisti alustada.",
"only_organizer": "Ainult heisti algataja saab heisti alustada.",
"lobby_desc": "**Osalejad ({n}/{max}):**\n{names}\n\nÕnnestumise tõenäosus: **{chance}%**\n\n*Ühinemisaken sulgub <t:{ts}:R>*",
"cancel_desc": "Ei piisanud osalejaid (vajad vähemalt **{min}**). Heist tühistati.",
"started_title": "🔫 Grupirööv käib...",