Fix pathfinding bug, add room descriptions for accessibility
- Fix BFS triple-list wrapping that caused stringp error on SPC G p - Add :desc field to all 131 rooms with physical/tactical descriptions - Rewrite where-am-i to show room names instead of IDs, deck names in shaft connections, and cross-deck passage labels Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
186
alien-rpg.el
186
alien-rpg.el
@@ -79,45 +79,58 @@
|
||||
'(;; === Paluba A ===
|
||||
(:id "A-observator" :deck "A" :name "Observatoř"
|
||||
:location "Celá paluba" :note "Jeden otevreny prostor — kopule."
|
||||
:desc "Kopulovitý prostor s panoramatickými okny do vesmíru. Teleskopy a citlivé přístroje. Izolované místo — jediný únik zpět na palubu B."
|
||||
:connections ("B-pruchod-A"))
|
||||
|
||||
;; === Paluba B ===
|
||||
(:id "B-observator" :deck "B" :name "Observatoř"
|
||||
:location "Sever" :note ""
|
||||
:desc "Pozorovací místnost na severu velitelské paluby. Konzole pro sledování okolního prostoru."
|
||||
:connections ("B-kancelar-vedouciho" "B-ridici-stredisko"))
|
||||
(:id "B-kancelar-vedouciho" :deck "B" :name "Kancelář vedoucího stanice"
|
||||
:location "Sever-střed" :note ""
|
||||
:desc "Kancelář velitele stanice. Pracovní stůl, terminál, trezor. Může obsahovat důvěrné dokumenty a přístupové kódy."
|
||||
:connections ("B-observator" "B-zasedaci" "B-chodba"))
|
||||
(:id "B-zasedaci" :deck "B" :name "Zasedací místnost"
|
||||
:location "Severozápad" :note ""
|
||||
:desc "Konferenční místnost s velkým stolem a křesly. Komunikační panel na stěně."
|
||||
:connections ("B-kancelar-vedouciho" "B-pruchod-A"))
|
||||
(:id "B-ridici-stredisko" :deck "B" :name "Řídící středisko"
|
||||
:location "Severovýchod" :note "Hlavní velín."
|
||||
:desc "Hlavní velín stanice. Řady konzolí, displeje se stavy systémů, komunikační panel. Odtud se řídí celá stanice."
|
||||
:connections ("B-observator" "B-wc-horni" "B-chodba"))
|
||||
(:id "B-wc-horni" :deck "B" :name "WC (horní)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Malá toaleta. Nic zajímavého."
|
||||
:connections ("B-ridici-stredisko" "B-wc-dolni"))
|
||||
(:id "B-wc-dolni" :deck "B" :name "WC (dolní)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Malá toaleta pod horním WC."
|
||||
:connections ("B-wc-horni" "B-chodba"))
|
||||
(:id "B-pruchod-A" :deck "B" :name "Průchod na palubu A"
|
||||
:location "Západ" :note "Jediný přístup na palubu A."
|
||||
:desc "Zabezpečený průchod na západní straně. Jediná cesta na izolovanou observatoř paluby A."
|
||||
:connections ("B-zasedaci" "B-chodba" "A-observator"))
|
||||
(:id "B-chodba" :deck "B" :name "Hlavní chodba"
|
||||
:location "Střed" :note ""
|
||||
:desc "Centrální koridor paluby B. Rozcestí — spojuje velín, kanceláře, šachtu a MU/TH/UR."
|
||||
:connections ("B-kancelar-vedouciho" "B-ridici-stredisko" "B-pruchod-A"
|
||||
"B-wc-dolni" "B-mu-th-ur" "B-centralni-sachta"))
|
||||
(:id "B-mu-th-ur" :deck "B" :name "MU/TH/UR"
|
||||
:location "Jih-střed" :note "Hlavní počítač stanice (Mother)."
|
||||
:desc "Místnost hlavního počítače stanice — Mother. Terminály pro přístup k databázím, logům, senzorům a řízení systémů celé stanice."
|
||||
:connections ("B-chodba" "B-kuchynka"))
|
||||
(:id "B-kuchynka" :deck "B" :name "Kuchyňka"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Malá kuchyňka pro posádku velitelské paluby. Automat na nápoje, mikrovlnka."
|
||||
:connections ("B-mu-th-ur" "B-sklad"))
|
||||
(:id "B-sklad" :deck "B" :name "Sklad"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Malý sklad s policemi. Kancelářské potřeby, náhradní díly pro elektroniku."
|
||||
:connections ("B-kuchynka"))
|
||||
(:id "B-centralni-sachta" :deck "B" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta spojující paluby B-J. Žebříky a servisní plošiny. Paluba A zde NENÍ — přístup jen přes průchod."
|
||||
:connections ("B-chodba"
|
||||
"C-centralni-sachta" "D-centralni-sachta" "E-centralni-sachta"
|
||||
"F-centralni-sachta" "G-centralni-sachta" "H-centralni-sachta"
|
||||
@@ -126,37 +139,48 @@
|
||||
;; === Paluba C ===
|
||||
(:id "C-spolecenska" :deck "C" :name "Společenská místnost"
|
||||
:location "Sever" :note ""
|
||||
:desc "Velká odpočinková místnost. Pohovky, stoly, obrazovky. Místo setkávání posádky."
|
||||
:connections ("C-sauna" "C-wc" "C-osetrovna" "C-zotavovaci" "C-centralni-sachta"))
|
||||
(:id "C-sauna" :deck "C" :name "Sauna a sprchy"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Sauna a sprchový kout. Vlhko, pára, omezený výhled — takticky nebezpečné."
|
||||
:connections ("C-spolecenska"))
|
||||
(:id "C-wc" :deck "C" :name "WC"
|
||||
:location "Východ" :note ""
|
||||
:desc "Toaleta paluby C."
|
||||
:connections ("C-spolecenska"))
|
||||
(:id "C-osetrovna" :deck "C" :name "Ošetřovna a laboratoř"
|
||||
:location "Severozápad" :note "Léčení, analýza vzorků."
|
||||
:desc "Ošetřovna s lékařským vybavením a analytická laboratoř. Lůžko, mikroskop, lékárnička, vzorkovnice. Klíčové místo pro léčení a výzkum."
|
||||
:connections ("C-spolecenska" "C-kajuta-lekar" "C-centralni-sachta"))
|
||||
(:id "C-zotavovaci" :deck "C" :name "Zotavovací místnost"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Klidná místnost pro rekonvalescenci. Lůžko, monitoring životních funkcí."
|
||||
:connections ("C-spolecenska" "C-kajuta-vedouci" "C-centralni-sachta"))
|
||||
(:id "C-kajuta-lekar" :deck "C" :name "Kajuta lékařského důstojníka"
|
||||
:location "Západ" :note ""
|
||||
:desc "Soukromá kajuta a pracoviště lékaře. Osobní terminál, lékařská dokumentace."
|
||||
:connections ("C-osetrovna" "C-arboretum" "C-centralni-sachta"))
|
||||
(:id "C-kajuta-vedouci" :deck "C" :name "Kajuta vedoucího stanice"
|
||||
:location "Východ" :note ""
|
||||
:desc "Soukromé bydlení velitele stanice. Prostornější než běžné kajuty. Může obsahovat speciální přístupy nebo dokumenty."
|
||||
:connections ("C-zotavovaci" "C-arboretum" "C-centralni-sachta"))
|
||||
(:id "C-arboretum" :deck "C" :name "Arboretum"
|
||||
:location "Střed-jih" :note "Velký zelený prostor."
|
||||
:desc "Rozlehlý botanický prostor s živými stromy a rostlinami. Umělé osvětlení simuluje denní cyklus. Vegetace poskytuje úkryt, ale i skrýš pro nepřátele."
|
||||
:connections ("C-kajuta-lekar" "C-kajuta-vedouci" "C-centralni-sachta"
|
||||
"C-hydro-z" "C-hydro-v"))
|
||||
(:id "C-hydro-z" :deck "C" :name "Hydroponická zahrada (Z)"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Hydroponická zahrada — pěstování potravin bez půdy. Regály s rostlinami, vodní systém. Slepá ulička."
|
||||
:connections ("C-arboretum"))
|
||||
(:id "C-hydro-v" :deck "C" :name "Hydroponická zahrada (V)"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Hydroponická zahrada — pěstování potravin. Regály s rostlinami, vodní systém. Slepá ulička."
|
||||
:connections ("C-arboretum"))
|
||||
(:id "C-centralni-sachta" :deck "C" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta spojující paluby B-J. Žebříky a servisní plošiny."
|
||||
:connections ("C-spolecenska" "C-osetrovna" "C-zotavovaci"
|
||||
"C-kajuta-lekar" "C-kajuta-vedouci" "C-arboretum"
|
||||
"B-centralni-sachta" "D-centralni-sachta" "E-centralni-sachta"
|
||||
@@ -166,30 +190,39 @@
|
||||
;; === Paluba D ===
|
||||
(:id "D-merici" :deck "D" :name "Měřící stanice"
|
||||
:location "Sever-střed" :note ""
|
||||
:desc "Vědecká měřící stanice. Senzory, analyzátory, datové terminály."
|
||||
:connections ("D-astro-lab" "D-kajuta-vedec"))
|
||||
(:id "D-astro-lab" :deck "D" :name "Astrofyzikální laboratoř"
|
||||
:location "Severozápad" :note ""
|
||||
:desc "Velká vědecká laboratoř. Spektrografy, teleskopická data, počítačové modely. Hlavní pracoviště pro výzkum."
|
||||
:connections ("D-merici" "D-centralni-sachta"))
|
||||
(:id "D-kajuta-vedec" :deck "D" :name "Kajuta vědeckého důstojníka"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Soukromá kajuta a pracoviště vědce. Osobní terminál, vědecké poznámky."
|
||||
:connections ("D-merici" "D-wc"))
|
||||
(:id "D-wc" :deck "D" :name "WC"
|
||||
:location "Východ" :note ""
|
||||
:desc "Toaleta paluby D."
|
||||
:connections ("D-kajuta-vedec" "D-recepce"))
|
||||
(:id "D-kancelar-inzenyr" :deck "D" :name "Kancelář vedoucího inženýra"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Kancelář šéfinženýra stanice. Technické výkresy, schémata systémů. Přístup k informacím o infrastruktuře."
|
||||
:connections ("D-sklad" "D-recepce"))
|
||||
(:id "D-sklad" :deck "D" :name "Sklad"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Sklad s policemi. Vědecké potřeby, náhradní díly. Slepá ulička."
|
||||
:connections ("D-kancelar-inzenyr"))
|
||||
(:id "D-recepce" :deck "D" :name "Recepce a VIP salónek"
|
||||
:location "Jih-střed" :note ""
|
||||
:desc "Reprezentativní prostor pro příjem návštěvníků. Otevřený prostor — špatné krytí, ale přehledný."
|
||||
:connections ("D-wc" "D-kancelar-inzenyr" "D-dokovaci-port" "D-centralni-sachta"))
|
||||
(:id "D-dokovaci-port" :deck "D" :name "Návštěvnický dokovací port"
|
||||
:location "Jih" :note "Přístup do vesmíru."
|
||||
:desc "Dokovací prostor pro návštěvnické lodě. Přímý přístup do vesmíru — potenciální úniková cesta, pokud je zde loď. Zabezpečené dveře."
|
||||
:connections ("D-recepce"))
|
||||
(:id "D-centralni-sachta" :deck "D" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta spojující paluby B-J. Žebříky a servisní plošiny."
|
||||
:connections ("D-astro-lab" "D-recepce"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "E-centralni-sachta"
|
||||
"F-centralni-sachta" "G-centralni-sachta" "H-centralni-sachta"
|
||||
@@ -198,49 +231,64 @@
|
||||
;; === Paluba E ===
|
||||
(:id "E-sklad" :deck "E" :name "Sklad"
|
||||
:location "Severozápad" :note ""
|
||||
:desc "Sklad zásob pro obytnou palubu. Police s potravinami a spotřebním materiálem."
|
||||
:connections ("E-kajuta-1" "E-pradelna"))
|
||||
(:id "E-pradelna" :deck "E" :name "Prádelna"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Průmyslová prádelna. Pračky, sušičky, chemikálie. Hlučné."
|
||||
:connections ("E-sklad" "E-kajuta-2"))
|
||||
(:id "E-kajuta-1" :deck "E" :name "Kajuta 1 (levá horní)"
|
||||
:location "Západ, rada 1" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl. Dá se zabarikádovat."
|
||||
:connections ("E-sklad" "E-kajuta-2" "E-kajuta-3" "E-chodba"))
|
||||
(:id "E-kajuta-2" :deck "E" :name "Kajuta 2 (pravá horní)"
|
||||
:location "Východ, rada 1" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl."
|
||||
:connections ("E-pradelna" "E-kajuta-1" "E-kajuta-4" "E-chodba"))
|
||||
(:id "E-kajuta-3" :deck "E" :name "Kajuta 3 (levá střední)"
|
||||
:location "Západ, rada 2" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl."
|
||||
:connections ("E-kajuta-1" "E-kajuta-4" "E-kajuta-5" "E-chodba"))
|
||||
(:id "E-kajuta-4" :deck "E" :name "Kajuta 4 (pravá střední)"
|
||||
:location "Východ, rada 2" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl."
|
||||
:connections ("E-kajuta-2" "E-kajuta-3" "E-kajuta-6" "E-chodba"))
|
||||
(:id "E-kajuta-5" :deck "E" :name "Kajuta 5 (levá dolní)"
|
||||
:location "Západ, rada 3" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl."
|
||||
:connections ("E-kajuta-3" "E-kajuta-6" "E-chodba"))
|
||||
(:id "E-kajuta-6" :deck "E" :name "Kajuta 6 (pravá dolní)"
|
||||
:location "Východ, rada 3" :note ""
|
||||
:desc "Standardní posádková kajuta. Palanda, skříňka, malý stůl."
|
||||
:connections ("E-kajuta-4" "E-kajuta-5" "E-chodba"))
|
||||
(:id "E-chodba" :deck "E" :name "Centrální chodba"
|
||||
:location "Střed" :note ""
|
||||
:desc "Dlouhá chodba mezi kajutami. Dveře po obou stranách, 6 kajut celkem (3+3)."
|
||||
:connections ("E-kajuta-1" "E-kajuta-2" "E-kajuta-3" "E-kajuta-4"
|
||||
"E-kajuta-5" "E-kajuta-6" "E-jidelna" "E-centralni-sachta"))
|
||||
(:id "E-jidelna" :deck "E" :name "Jídelna"
|
||||
:location "Střed-jih" :note ""
|
||||
:desc "Velký společný stravovací prostor. Stoly, židle, výdejní pult. Otevřený prostor — přehled, ale špatné krytí."
|
||||
:connections ("E-chodba" "E-wc" "E-sprchy-z" "E-satna" "E-centralni-sachta"))
|
||||
(:id "E-wc" :deck "E" :name "WC"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Toaleta paluby E."
|
||||
:connections ("E-jidelna" "E-sprchy-z"))
|
||||
(:id "E-sprchy-z" :deck "E" :name "Sprchy (západ)"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Sprchový kout. Vlhko, kluzká podlaha."
|
||||
:connections ("E-wc" "E-jidelna"))
|
||||
(:id "E-satna" :deck "E" :name "Šatna a sprchy (východ)"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Šatna se skříňkami a sprchami. Přístup k tělocvičně."
|
||||
:connections ("E-jidelna" "E-telocvicna"))
|
||||
(:id "E-telocvicna" :deck "E" :name "Tělocvična"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Fitness prostor. Posilovací stroje, tyče, závaží — potenciální improvizované zbraně. Slepá ulička."
|
||||
:connections ("E-satna"))
|
||||
(:id "E-centralni-sachta" :deck "E" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta spojující paluby B-J. Žebříky a servisní plošiny. Poslední civilizovaná paluba — níž začíná věznice."
|
||||
:connections ("E-chodba" "E-jidelna"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"F-centralni-sachta" "G-centralni-sachta" "H-centralni-sachta"
|
||||
@@ -249,160 +297,210 @@
|
||||
;; === Paluba F ===
|
||||
(:id "F-centralni-sachta" :deck "F" :name "Centrální šachta"
|
||||
:location "Sever (vrch paluby)" :note "Šachta navrchu, chodba vede ke zbrojnici."
|
||||
:desc "Šachta na vrchu vězeňské paluby. Chodba vede ke zbrojnici na jihu. Vstup do nebezpečné zóny."
|
||||
:connections ("F-zbrojnice"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"E-centralni-sachta" "G-centralni-sachta" "H-centralni-sachta"
|
||||
"I-centralni-sachta" "J-centralni-sachta"))
|
||||
(:id "F-zbrojnice" :deck "F" :name "Zbrojnice"
|
||||
:location "Sever-střed" :note "ZBRANE."
|
||||
:desc "ZBROJNICE — uzamčená místnost se zbraněmi. Pušky, pistole, munice, výstroj. Klíčové místo na celé stanici."
|
||||
:connections ("F-centralni-sachta" "F-kuchyne" "F-vezenska-sluzba" "F-priprava-stravy"))
|
||||
(:id "F-kuchyne" :deck "F" :name "Kuchyně"
|
||||
:location "Střed-sever" :note ""
|
||||
:desc "Vězeňská kuchyně. Průmyslové vybavení na přípravu jídla pro vězně. Nože a náčiní."
|
||||
:connections ("F-zbrojnice" "F-sklad-z" "F-sklad-v"))
|
||||
(:id "F-vezenska-sluzba" :deck "F" :name "Vězeňská služba"
|
||||
:location "Severozápad" :note ""
|
||||
:desc "Kanceláře vězeňského personálu. Monitorovací panely, komunikační systém, klíče."
|
||||
:connections ("F-zbrojnice" "F-udrzba-androidu"))
|
||||
(:id "F-priprava-stravy" :deck "F" :name "Příprava stravy"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Přípravna jídla pro vězeňský komplex. Velké sporáky, pracovní plochy."
|
||||
:connections ("F-zbrojnice" "F-osetrovna" "F-pradelna"))
|
||||
(:id "F-udrzba-androidu" :deck "F" :name "Údržba androidů"
|
||||
:location "Západ" :note ""
|
||||
:desc "Servisní dílna pro androidy. Diagnostické nástroje, náhradní díly. Možnost opravy nebo reprogramování androidů."
|
||||
:connections ("F-vezenska-sluzba" "F-sprchy-z" "F-sklad-z"))
|
||||
(:id "F-osetrovna" :deck "F" :name "Ošetřovna"
|
||||
:location "Východ" :note ""
|
||||
:desc "Vězeňská ošetřovna. Základní lékařské vybavení, lůžko, lékárnička."
|
||||
:connections ("F-priprava-stravy" "F-pradelna"))
|
||||
(:id "F-pradelna" :deck "F" :name "Prádelna"
|
||||
:location "Východ" :note ""
|
||||
:desc "Vězeňská prádelna. Průmyslové pračky, chemikálie na praní."
|
||||
:connections ("F-priprava-stravy" "F-osetrovna" "F-sprchy-v" "F-sklad-v"))
|
||||
(:id "F-sprchy-z" :deck "F" :name "Sprchy (západ)"
|
||||
:location "Krajní západ" :note ""
|
||||
:desc "Vězeňské sprchy, západní sekce. Otevřený prostor, kluzká podlaha."
|
||||
:connections ("F-udrzba-androidu" "F-sklad-z" "F-prulez-F1"))
|
||||
(:id "F-sprchy-v" :deck "F" :name "Sprchy (východ)"
|
||||
:location "Krajní východ" :note ""
|
||||
:desc "Vězeňské sprchy, východní sekce. Otevřený prostor, kluzká podlaha."
|
||||
:connections ("F-pradelna" "F-sklad-v" "F-prulez-F2"))
|
||||
(:id "F-sklad-z" :deck "F" :name "Sklad (západ)"
|
||||
:location "Střed-západ" :note ""
|
||||
:desc "Sklad západní sekce. Police se zásobami."
|
||||
:connections ("F-kuchyne" "F-udrzba-androidu" "F-sprchy-z" "F-wc-z"))
|
||||
(:id "F-sklad-v" :deck "F" :name "Sklad (východ)"
|
||||
:location "Střed-východ" :note ""
|
||||
:desc "Sklad východní sekce. Police se zásobami."
|
||||
:connections ("F-kuchyne" "F-pradelna" "F-sprchy-v" "F-wc-v"))
|
||||
(:id "F-wc-z" :deck "F" :name "WC (západ)"
|
||||
:location "Střed-západ" :note ""
|
||||
:desc "Toaleta západní sekce."
|
||||
:connections ("F-sklad-z" "F-prulez-F5" "F-prulez-F1"))
|
||||
(:id "F-wc-v" :deck "F" :name "WC (východ)"
|
||||
:location "Střed-východ" :note ""
|
||||
:desc "Toaleta východní sekce."
|
||||
:connections ("F-sklad-v" "F-prulez-F6" "F-prulez-F2"))
|
||||
(:id "F-cely-z" :deck "F" :name "Cely (západ)"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Západní celový blok. Řady zamřížovaných cel. Vězni mohou být spojenci i hrozby."
|
||||
:connections ("F-prulez-F1" "F-prulez-F7" "F-sklady-jih"))
|
||||
(:id "F-cely-v" :deck "F" :name "Cely (východ)"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Východní celový blok. Řady zamřížovaných cel. Zrcadlový obraz západního bloku."
|
||||
:connections ("F-prulez-F2" "F-prulez-F8" "F-sklady-jih"))
|
||||
(:id "F-sklady-jih" :deck "F" :name "Sklady (jih, 4 kusy)"
|
||||
:location "Jih-střed" :note ""
|
||||
:desc "Čtyři skladové místnosti v jižní části. Mohou obsahovat zásoby, materiál, nebo skrýše."
|
||||
:connections ("F-cely-z" "F-cely-v"))
|
||||
(:id "F-prulez-F1" :deck "F" :name "Průlez F1"
|
||||
:location "Západ" :note "-> G1"
|
||||
:desc "Úzký průlez mezi palubami. Žebřík dolů na palubu G (průlez G1)."
|
||||
:connections ("F-sprchy-z" "F-wc-z" "F-cely-z" "G-prulez-G1"))
|
||||
(:id "F-prulez-F2" :deck "F" :name "Průlez F2"
|
||||
:location "Východ" :note "-> G2"
|
||||
:desc "Úzký průlez mezi palubami. Žebřík dolů na palubu G (průlez G2)."
|
||||
:connections ("F-sprchy-v" "F-wc-v" "F-cely-v" "G-prulez-G2"))
|
||||
(:id "F-prulez-F5" :deck "F" :name "Průlez F5"
|
||||
:location "Střed-západ" :note "-> G5"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu G (průlez G5)."
|
||||
:connections ("F-wc-z" "G-prulez-G5"))
|
||||
(:id "F-prulez-F6" :deck "F" :name "Průlez F6"
|
||||
:location "Střed-východ" :note "-> G6"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu G (průlez G6)."
|
||||
:connections ("F-wc-v" "G-prulez-G6"))
|
||||
(:id "F-prulez-F7" :deck "F" :name "Průlez F7"
|
||||
:location "Jihozápad" :note "-> G7"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu G (průlez G7)."
|
||||
:connections ("F-cely-z" "G-prulez-G7"))
|
||||
(:id "F-prulez-F8" :deck "F" :name "Průlez F8"
|
||||
:location "Jihovýchod" :note "-> G8"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu G (průlez G8)."
|
||||
:connections ("F-cely-v" "G-prulez-G8"))
|
||||
|
||||
;; === Paluba G ===
|
||||
(:id "G-shromazdiste" :deck "G" :name "Nouzové shromaždiště"
|
||||
:location "Sever" :note ""
|
||||
:desc "Velký prostor pro nouzovou evakuaci. Sem se sbíhá posádka při poplachu. Přístup ke komunikační věži přes průlez G9."
|
||||
:connections ("G-nastupni-hala" "G-prulez-G9"))
|
||||
(:id "G-nastupni-hala" :deck "G" :name "Nástupní hala"
|
||||
:location "Sever-střed" :note ""
|
||||
:desc "Centrální hala paluby G. Rozcestí k hangárům, EVA podům, šachtě. Rozlehlý prostor."
|
||||
:connections ("G-shromazdiste" "G-prulez-G3" "G-prulez-G4"
|
||||
"G-eva-sz" "G-eva-sv" "G-servis-androidu" "G-centralni-sachta"))
|
||||
(:id "G-hangar-01" :deck "G" :name "Hangár 01"
|
||||
:location "Západ" :note ""
|
||||
:desc "Velký hangár pro menší plavidla. Vysoký strop, nákladní vrata. Možný únik, pokud je zde funkční loď."
|
||||
:connections ("G-dokovaci-01" "G-sklady-z" "G-prulez-G5"))
|
||||
(:id "G-dokovaci-01" :deck "G" :name "Dokovací port 01"
|
||||
:location "Krajní západ" :note "Přístup do vesmíru."
|
||||
:desc "Zabezpečený dokovací port. Přímý přístup do vesmíru — vzduchová komora. Slepá ulička."
|
||||
:connections ("G-hangar-01"))
|
||||
(:id "G-hangar-02" :deck "G" :name "Hangár 02"
|
||||
:location "Východ" :note ""
|
||||
:desc "Velký hangár pro menší plavidla. Vysoký strop, nákladní vrata. Zrcadlový obraz hangáru 01."
|
||||
:connections ("G-dokovaci-02" "G-sklady-v" "G-prulez-G6"))
|
||||
(:id "G-dokovaci-02" :deck "G" :name "Dokovací port 02"
|
||||
:location "Krajní východ" :note "Přístup do vesmíru."
|
||||
:desc "Zabezpečený dokovací port. Přímý přístup do vesmíru — vzduchová komora. Slepá ulička."
|
||||
:connections ("G-hangar-02"))
|
||||
(:id "G-eva-sz" :deck "G" :name "EVA pod (SZ)"
|
||||
:location "Střed-SZ" :note ""
|
||||
:desc "Stanice pro výstup do kosmu. Skafandry, kyslíkové lahve, bezpečnostní lana."
|
||||
:connections ("G-nastupni-hala" "G-servis-androidu"))
|
||||
(:id "G-eva-sv" :deck "G" :name "EVA pod (SV)"
|
||||
:location "Střed-SV" :note ""
|
||||
:desc "Stanice pro výstup do kosmu. Skafandry a vybavení pro EVA."
|
||||
:connections ("G-nastupni-hala" "G-servis-androidu"))
|
||||
(:id "G-eva-jz" :deck "G" :name "EVA pod (JZ)"
|
||||
:location "Střed-JZ" :note ""
|
||||
:desc "Stanice pro výstup do kosmu. Skafandry a EVA vybavení."
|
||||
:connections ("G-servis-androidu" "G-kryopody-z"))
|
||||
(:id "G-eva-jv" :deck "G" :name "EVA pod (JV)"
|
||||
:location "Střed-JV" :note ""
|
||||
:desc "Stanice pro výstup do kosmu. Skafandry a EVA vybavení."
|
||||
:connections ("G-servis-androidu" "G-kryopody-v"))
|
||||
(:id "G-sklady-z" :deck "G" :name "Sklady (západ)"
|
||||
:location "Západ" :note ""
|
||||
:desc "Rozlehlé sklady u hangáru 01. Náhradní díly, palivo, náklad."
|
||||
:connections ("G-hangar-01" "G-centralni-sachta"))
|
||||
(:id "G-sklady-v" :deck "G" :name "Sklady (východ)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Rozlehlé sklady u hangáru 02. Náhradní díly, palivo, náklad."
|
||||
:connections ("G-hangar-02" "G-centralni-sachta"))
|
||||
(:id "G-servis-androidu" :deck "G" :name "Servisní úložiště androidů"
|
||||
:location "Střed" :note ""
|
||||
:desc "Sklad a servis androidů. Nabíjecí stanice, diagnostika, náhradní díly. Centrální pozice — přístup ke všem EVA podům."
|
||||
:connections ("G-nastupni-hala" "G-eva-sz" "G-eva-sv"
|
||||
"G-eva-jz" "G-eva-jv" "G-centralni-sachta"))
|
||||
(:id "G-nakladovy-dok" :deck "G" :name "Nákladový dok"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Dok pro nakládání a vykládání nákladu. Jeřáby, palety, kontejnery. Další možný únikový bod."
|
||||
:connections ("G-kryopody-z" "G-prulez-G1" "G-prulez-G7"))
|
||||
(:id "G-opravarensky-dok" :deck "G" :name "Opravárenský dok"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Dok pro opravy plavidel. Svářečky, nářadí, diagnostické přístroje."
|
||||
:connections ("G-kryopody-v" "G-prulez-G2" "G-prulez-G8"))
|
||||
(:id "G-kryopody-z" :deck "G" :name "Nouzové kryopody (Z)"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Řada nouzových kryogenních lůžek. Nouzový kryospánek — útočiště poslední instance."
|
||||
:connections ("G-eva-jz" "G-nakladovy-dok"))
|
||||
(:id "G-kryopody-v" :deck "G" :name "Nouzové kryopody (V)"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Řada nouzových kryogenních lůžek. Záložní kryospánek."
|
||||
:connections ("G-eva-jv" "G-opravarensky-dok"))
|
||||
(:id "G-prulez-G1" :deck "G" :name "Průlez G1"
|
||||
:location "Jihozápad" :note "-> F1"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu F (průlez F1)."
|
||||
:connections ("G-nakladovy-dok" "F-prulez-F1"))
|
||||
(:id "G-prulez-G2" :deck "G" :name "Průlez G2"
|
||||
:location "Jihovýchod" :note "-> F2"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu F (průlez F2)."
|
||||
:connections ("G-opravarensky-dok" "F-prulez-F2"))
|
||||
(:id "G-prulez-G3" :deck "G" :name "Průlez G3"
|
||||
:location "Severozápad" :note "-> H3"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu H (průlez H3). Pozor — vede k nádrži toxických plynů!"
|
||||
:connections ("G-nastupni-hala" "H-prulez-H3"))
|
||||
(:id "G-prulez-G4" :deck "G" :name "Průlez G4"
|
||||
:location "Severovýchod" :note "-> H4"
|
||||
:desc "Úzký průlez. Žebřík dolů na palubu H (průlez H4). Pozor — vede k nádrži toxických plynů!"
|
||||
:connections ("G-nastupni-hala" "H-prulez-H4"))
|
||||
(:id "G-prulez-G5" :deck "G" :name "Průlez G5"
|
||||
:location "Západ" :note "-> F5"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu F (průlez F5)."
|
||||
:connections ("G-hangar-01" "F-prulez-F5"))
|
||||
(:id "G-prulez-G6" :deck "G" :name "Průlez G6"
|
||||
:location "Východ" :note "-> F6"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu F (průlez F6)."
|
||||
:connections ("G-hangar-02" "F-prulez-F6"))
|
||||
(:id "G-prulez-G7" :deck "G" :name "Průlez G7"
|
||||
:location "Jihozápad" :note "-> H7"
|
||||
:desc "Úzký průlez mezi třemi palubami. Žebřík nahoru na F7, dolů na H7."
|
||||
:connections ("G-nakladovy-dok" "F-prulez-F7" "H-prulez-H7"))
|
||||
(:id "G-prulez-G8" :deck "G" :name "Průlez G8"
|
||||
:location "Jihovýchod" :note "-> H8"
|
||||
:desc "Úzký průlez mezi třemi palubami. Žebřík nahoru na F8, dolů na H8."
|
||||
:connections ("G-opravarensky-dok" "F-prulez-F8" "H-prulez-H8"))
|
||||
(:id "G-prulez-G9" :deck "G" :name "Průlez G9 (komunikační věž)"
|
||||
:location "Sever (vez)" :note "-> komunikační věž / H9"
|
||||
:desc "Vstup do komunikační věže. Přes nouzové shromaždiště, NE přes centrální šachtu. Vede k DA/UT/UR."
|
||||
:connections ("G-shromazdiste" "GH-komunikacni-vez"))
|
||||
(:id "G-centralni-sachta" :deck "G" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta spojující paluby B-J. Žebříky a servisní plošiny. Rozlehlá paluba — přesuny trvají déle."
|
||||
:connections ("G-nastupni-hala" "G-sklady-z" "G-sklady-v" "G-servis-androidu"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"E-centralni-sachta" "F-centralni-sachta" "H-centralni-sachta"
|
||||
@@ -411,86 +509,113 @@
|
||||
;; === Komunikacni vez (G/H) ===
|
||||
(:id "GH-komunikacni-vez" :deck "GH" :name "Komunikační věž / DA/UT/UR"
|
||||
:location "Mezi G a H" :note "Komunikační počítač (Daughter)."
|
||||
:desc "Vertikální věž s komunikačním počítačem DA/UT/UR (Daughter). Úzká — snadno bránitelná, ale i past. Alternativa k MU/TH/UR na palubě B."
|
||||
:connections ("G-prulez-G9" "H-prulez-H9"))
|
||||
|
||||
;; === Paluba H ===
|
||||
(:id "H-plasma-sz" :deck "H" :name "Plasmová stanice (SZ)"
|
||||
:location "Severozápad" :note ""
|
||||
:desc "Průmyslová plasmová přenosová stanice. Horko, hluk, vysoké napětí. Poškození hrozí energetickou katastrofou."
|
||||
:connections ("H-nadrz-toxickych" "H-destilacni-z"))
|
||||
(:id "H-plasma-sv" :deck "H" :name "Plasmová stanice (SV)"
|
||||
:location "Severovýchod" :note ""
|
||||
:desc "Průmyslová plasmová přenosová stanice. Horko, hluk, vysoké napětí."
|
||||
:connections ("H-nadrz-toxickych" "H-destilacni-v"))
|
||||
(:id "H-nadrz-toxickych" :deck "H" :name "Nádrž toxických plynů"
|
||||
:location "Sever-střed" :note "NEBEZPEČNÉ — unik = smrt."
|
||||
:desc "EXTRÉMNĚ NEBEZPEČNÉ. Obrovská nádrž s jedovatými plyny. Únik znamená smrt na celé palubě. Bezpečnostní uzávěry na všech stranách."
|
||||
:connections ("H-plasma-sz" "H-plasma-sv" "H-prulez-H3" "H-prulez-H4"))
|
||||
(:id "H-destilacni-z" :deck "H" :name "Destilační nádrže (Z)"
|
||||
:location "Západ" :note ""
|
||||
:desc "Velké chemické destilační nádrže. Potrubí, ventily, tlakové manometry."
|
||||
:connections ("H-plasma-sz" "H-kondenzatory-z"))
|
||||
(:id "H-destilacni-v" :deck "H" :name "Destilační nádrže (V)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Velké chemické destilační nádrže. Potrubí, ventily, tlakové manometry."
|
||||
:connections ("H-plasma-sv" "H-kondenzatory-v"))
|
||||
(:id "H-kondenzatory-z" :deck "H" :name "Kondenzátory (Z)"
|
||||
:location "Západ" :note ""
|
||||
:desc "Průmyslové kondenzátory. Kovové povrchy, chladící systém, hluk."
|
||||
:connections ("H-destilacni-z" "H-sberac-01" "H-dilny-z"))
|
||||
(:id "H-kondenzatory-v" :deck "H" :name "Kondenzátory (V)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Průmyslové kondenzátory. Kovové povrchy, chladící systém, hluk."
|
||||
:connections ("H-destilacni-v" "H-sberac-02" "H-dilny-v"))
|
||||
(:id "H-sberac-01" :deck "H" :name "Plasmový sběrač 01"
|
||||
:location "Krajní západ" :note ""
|
||||
:desc "Masivní plasmový sběrač na kraji paluby. Kritická infrastruktura. Slepá ulička."
|
||||
:connections ("H-kondenzatory-z"))
|
||||
(:id "H-sberac-02" :deck "H" :name "Plasmový sběrač 02"
|
||||
:location "Krajní východ" :note ""
|
||||
:desc "Masivní plasmový sběrač na kraji paluby. Kritická infrastruktura. Slepá ulička."
|
||||
:connections ("H-kondenzatory-v"))
|
||||
(:id "H-dilny-z" :deck "H" :name "Dílny (Z)"
|
||||
:location "Střed-západ" :note "Nářadí."
|
||||
:desc "Dílna s nářadím — klíče, svářečky, řezné nástroje. Improvizované zbraně. Dobrý zdroj vybavení."
|
||||
:connections ("H-kondenzatory-z" "H-ridici-centrum"))
|
||||
(:id "H-dilny-v" :deck "H" :name "Dílny (V)"
|
||||
:location "Střed-východ" :note "Nářadí."
|
||||
:desc "Dílna s nářadím — klíče, svářečky, řezné nástroje. Zrcadlová kopie západních dílen."
|
||||
:connections ("H-kondenzatory-v" "H-ridici-centrum"))
|
||||
(:id "H-ridici-centrum" :deck "H" :name "Řídící centrum"
|
||||
:location "Střed" :note ""
|
||||
:desc "Řídící centrum průmyslové paluby. Konzole pro ovládání tavení, plasmy, destilace. Možnost sabotáže nebo nouzového vypnutí."
|
||||
:connections ("H-dilny-z" "H-dilny-v" "H-strojovna-z" "H-strojovna-v" "H-centralni-sachta"))
|
||||
(:id "H-strojovna-z" :deck "H" :name "Strojovna (Z)"
|
||||
:location "Jih-západ" :note ""
|
||||
:desc "Těžké strojní vybavení. Hlučné, horké, špatná viditelnost od páry."
|
||||
:connections ("H-ridici-centrum" "H-mag-cerpadlo"))
|
||||
(:id "H-strojovna-v" :deck "H" :name "Strojovna (V)"
|
||||
:location "Jih-východ" :note ""
|
||||
:desc "Těžké strojní vybavení. Hlučné, horké, špatná viditelnost."
|
||||
:connections ("H-ridici-centrum" "H-mag-cerpadlo"))
|
||||
(:id "H-mag-cerpadlo" :deck "H" :name "Magnetické čerpadlo"
|
||||
:location "Jih-střed" :note ""
|
||||
:desc "Velké magnetické čerpadlo pro přesun materiálu. Silné elektromagnetické pole — pozor na elektroniku."
|
||||
:connections ("H-strojovna-z" "H-strojovna-v" "H-taveni"))
|
||||
(:id "H-taveni" :deck "H" :name "Řídící stanice tavení"
|
||||
:location "Jih-střed" :note ""
|
||||
:desc "Řízení tavicího procesu. Vysoké teploty v okolí, ochranné štíty."
|
||||
:connections ("H-mag-cerpadlo" "H-plasma-jz" "H-plasma-jv"))
|
||||
(:id "H-plasma-jz" :deck "H" :name "Plasmová stanice (JZ)"
|
||||
:location "Jihozápad" :note ""
|
||||
:desc "Jižní plasmová přenosová stanice. Horko, hluk, nebezpečí popálenin."
|
||||
:connections ("H-taveni" "H-energie-z" "H-prulez-H7"))
|
||||
(:id "H-plasma-jv" :deck "H" :name "Plasmová stanice (JV)"
|
||||
:location "Jihovýchod" :note ""
|
||||
:desc "Jižní plasmová přenosová stanice. Horko, hluk, nebezpečí popálenin."
|
||||
:connections ("H-taveni" "H-energie-v" "H-prulez-H8"))
|
||||
(:id "H-energie-z" :deck "H" :name "Energetické sběrné články (Z)"
|
||||
:location "Krajní jihozápad" :note ""
|
||||
:desc "Zásobníky energie na okraji paluby. Kritická infrastruktura stanice. Slepá ulička."
|
||||
:connections ("H-plasma-jz"))
|
||||
(:id "H-energie-v" :deck "H" :name "Energetické sběrné články (V)"
|
||||
:location "Krajní jihovýchod" :note ""
|
||||
:desc "Zásobníky energie na okraji paluby. Kritická infrastruktura. Slepá ulička."
|
||||
:connections ("H-plasma-jv"))
|
||||
(:id "H-prulez-H3" :deck "H" :name "Průlez H3"
|
||||
:location "Západ" :note "-> G3"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu G (průlez G3)."
|
||||
:connections ("H-nadrz-toxickych" "G-prulez-G3"))
|
||||
(:id "H-prulez-H4" :deck "H" :name "Průlez H4"
|
||||
:location "Východ" :note "-> G4"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu G (průlez G4)."
|
||||
:connections ("H-nadrz-toxickych" "G-prulez-G4"))
|
||||
(:id "H-prulez-H7" :deck "H" :name "Průlez H7"
|
||||
:location "Jihozápad" :note "-> G7"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu G (průlez G7)."
|
||||
:connections ("H-plasma-jz" "G-prulez-G7"))
|
||||
(:id "H-prulez-H8" :deck "H" :name "Průlez H8"
|
||||
:location "Jihovýchod" :note "-> G8"
|
||||
:desc "Úzký průlez. Žebřík nahoru na palubu G (průlez G8)."
|
||||
:connections ("H-plasma-jv" "G-prulez-G8"))
|
||||
(:id "H-prulez-H9" :deck "H" :name "Průlez H9 (komunikační věž)"
|
||||
:location "Sever (vez)" :note "-> G9 / DA/UT/UR"
|
||||
:desc "Vstup do komunikační věže ze strany paluby H. Vede k DA/UT/UR a dál na palubu G."
|
||||
:connections ("H-centralni-sachta" "GH-komunikacni-vez"))
|
||||
(:id "H-centralni-sachta" :deck "H" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta na NEJVĚTŠÍ palubě stanice (měřítko 10 m). Žebříky a servisní plošiny. Průmyslový hluk ze všech stran."
|
||||
:connections ("H-ridici-centrum" "H-prulez-H9"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"E-centralni-sachta" "F-centralni-sachta" "G-centralni-sachta"
|
||||
@@ -499,9 +624,11 @@
|
||||
;; === Paluba I ===
|
||||
(:id "I-zachranne-moduly" :deck "I" :name "Záchranné moduly"
|
||||
:location "Celá paluba" :note "Únikové kapsle."
|
||||
:desc "Paluba se záchrannými moduly — únikové kapsle pro evakuaci posádky. Zjisti od GM, kolik kapslí je funkčních."
|
||||
:connections ("I-centralni-sachta"))
|
||||
(:id "I-centralni-sachta" :deck "I" :name "Centrální šachta"
|
||||
:location "Střed" :note ""
|
||||
:desc "Vertikální šachta. Pod touto palubou je už jen strojovna reaktoru (J)."
|
||||
:connections ("I-zachranne-moduly"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"E-centralni-sachta" "F-centralni-sachta" "G-centralni-sachta"
|
||||
@@ -510,15 +637,19 @@
|
||||
;; === Paluba J ===
|
||||
(:id "J-baterie-horni" :deck "J" :name "Baterie (horní)"
|
||||
:location "Sever-střed" :note ""
|
||||
:desc "Velká energetická baterie reaktoru. Hučení, vibrace. Poškození může vést k explozi nebo výpadku energie."
|
||||
:connections ("J-centralni-sachta"))
|
||||
(:id "J-baterie-leva" :deck "J" :name "Baterie (západ)"
|
||||
:location "Západ" :note ""
|
||||
:desc "Energetická baterie reaktoru, západní pozice. Hučení, vibrace. Slepá ulička."
|
||||
:connections ("J-centralni-sachta"))
|
||||
(:id "J-baterie-prava" :deck "J" :name "Baterie (východ)"
|
||||
:location "Východ" :note ""
|
||||
:desc "Energetická baterie reaktoru, východní pozice. Hučení, vibrace. Slepá ulička."
|
||||
:connections ("J-centralni-sachta"))
|
||||
(:id "J-centralni-sachta" :deck "J" :name "Centrální šachta"
|
||||
:location "Střed" :note "Nejnižší paluba — jen nahoru."
|
||||
:desc "Nejnižší bod stanice. Srdce reaktoru — tři baterie kolem. Odtud vede cesta jen nahoru. Nouzový protokol zničení stanice by začal zde."
|
||||
:connections ("J-baterie-horni" "J-baterie-leva" "J-baterie-prava"
|
||||
"B-centralni-sachta" "C-centralni-sachta" "D-centralni-sachta"
|
||||
"E-centralni-sachta" "F-centralni-sachta" "G-centralni-sachta"
|
||||
@@ -634,7 +765,7 @@
|
||||
|
||||
(defun alien-rpg--find-all-shortest-paths (start goal)
|
||||
"Najdi všechny nejkratší cesty z START do GOAL."
|
||||
(let ((queue (list (list (list start))))
|
||||
(let ((queue (list (list start)))
|
||||
(visited (make-hash-table :test 'equal))
|
||||
(found-paths nil)
|
||||
(found-dist most-positive-fixnum))
|
||||
@@ -711,32 +842,59 @@
|
||||
;; ====================================================================
|
||||
|
||||
(defun alien-rpg-where-am-i ()
|
||||
"Kde jsem — stručně."
|
||||
"Kde jsem — popis pro screen reader."
|
||||
(interactive)
|
||||
(let* ((room (alien-rpg--current-room))
|
||||
(deck (alien-rpg--get-deck (plist-get room :deck)))
|
||||
(my-deck (plist-get room :deck))
|
||||
(connected (alien-rpg--connected-rooms room))
|
||||
(same-deck (cl-remove-if-not
|
||||
(lambda (r) (string= (plist-get r :deck) (plist-get room :deck)))
|
||||
(lambda (r) (string= (plist-get r :deck) my-deck))
|
||||
connected))
|
||||
(other-deck (cl-remove-if
|
||||
(lambda (r) (string= (plist-get r :deck) (plist-get room :deck)))
|
||||
(shaft-rooms (cl-remove-if-not
|
||||
(lambda (r) (string-match-p "centralni-sachta"
|
||||
(plist-get r :id)))
|
||||
connected))
|
||||
(cross-deck (cl-remove-if
|
||||
(lambda (r) (or (string= (plist-get r :deck) my-deck)
|
||||
(string-match-p "centralni-sachta"
|
||||
(plist-get r :id))))
|
||||
connected)))
|
||||
(with-current-buffer (get-buffer-create "*Alien RPG*")
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert (format "%s: %s\n" (plist-get room :id) (plist-get room :name)))
|
||||
(insert (format "[%s] %s -- %s\n"
|
||||
(insert (format "%s [%s]\n" (plist-get room :name) (plist-get room :id)))
|
||||
(insert (format "Paluba %s: %s, %s\n"
|
||||
(plist-get deck :id) (plist-get deck :name) (plist-get room :location)))
|
||||
(when (and (plist-get room :note) (not (string-empty-p (plist-get room :note))))
|
||||
(insert (format "%s\n" (plist-get room :note))))
|
||||
(when (plist-get room :desc)
|
||||
(insert (format "%s\n" (plist-get room :desc))))
|
||||
(when same-deck
|
||||
(insert (format "Na palubě: %s\n"
|
||||
(mapconcat (lambda (r) (plist-get r :id)) same-deck ", "))))
|
||||
(when other-deck
|
||||
(let ((deck-ids (mapcar (lambda (r) (plist-get r :deck)) other-deck)))
|
||||
(insert (format "Východy: %s\n"
|
||||
(mapconcat (lambda (r)
|
||||
(format "%s [%s]"
|
||||
(plist-get r :name)
|
||||
(plist-get r :id)))
|
||||
same-deck ", "))))
|
||||
(when cross-deck
|
||||
(insert (format "Průchody: %s\n"
|
||||
(mapconcat (lambda (r)
|
||||
(let ((d (alien-rpg--get-deck (plist-get r :deck))))
|
||||
(format "%s [%s] (paluba %s)"
|
||||
(plist-get r :name)
|
||||
(plist-get r :id)
|
||||
(if d (plist-get d :id) (plist-get r :deck)))))
|
||||
cross-deck ", "))))
|
||||
(when shaft-rooms
|
||||
(let ((deck-ids (cl-remove-duplicates
|
||||
(mapcar (lambda (r) (plist-get r :deck)) shaft-rooms)
|
||||
:test #'string=)))
|
||||
(insert (format "Šachta: %s\n"
|
||||
(string-join (cl-remove-duplicates deck-ids :test #'string=) " "))))))
|
||||
(mapconcat (lambda (did)
|
||||
(let ((d (alien-rpg--get-deck did)))
|
||||
(if d
|
||||
(format "%s %s" did (plist-get d :name))
|
||||
did)))
|
||||
deck-ids ", "))))))
|
||||
(goto-char (point-min))
|
||||
(special-mode))
|
||||
(pop-to-buffer "*Alien RPG*")))
|
||||
|
||||
Reference in New Issue
Block a user