詛咒色彩:舊城

精靈、吸血鬼,或獸人——無論如何,凱恩都會將你生吞活剝。一個垂死的辛迪加。沒有乾淨的退路。

劇情簡介

凱恩 :root { --black: #0a0a0a; --dark: #111; --panel: #141414; --border: #222; --yellow: #f5e642; --pink: #e91e8c; --cyan: #00d4ff; --orange: #ff6b00; --lime: #aaff00; --purple: #9b59b6; --white: #f0f0f0; --muted: #555; --text: #ccc; --font-display: Impact, 'Arial Narrow', 'Franklin Gothic Medium', Arial, sans-serif; --font-body: 'Trebuchet MS', 'Gill Sans', Arial, sans-serif; --font-mono: 'Courier New', 'Lucida Console', monospace; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--black); color: var(--text); font-family: var(--font-body); font-size: 16px; line-height: 1.7; overflow-x: hidden; } /* ===== SPRAY PAINT BLOB ===== */ .spray { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.15; pointer-events: none; } /* ===== HERO ===== */ .hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 80px 64px; overflow: hidden; background: var(--black); } .hero .spray-1 { width: 600px; height: 600px; background: var(--yellow); top: -100px; left: -100px; opacity: 0.12; } .hero .spray-2 { width: 500px; height: 500px; background: var(--pink); bottom: -50px; right: -50px; opacity: 0.1; } .hero .spray-3 { width: 400px; height: 400px; background: var(--cyan); top: 30%; left: 50%; opacity: 0.06; } /* brick texture via CSS */ .hero-brick { position: absolute; inset: 0; background-image: repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(255,255,255,0.012) 28px, rgba(255,255,255,0.012) 30px), repeating-linear-gradient(90deg, transparent, transparent 58px, rgba(255,255,255,0.008) 58px, rgba(255,255,255,0.008) 60px); opacity: 1; } .hero-content { position: relative; z-index: 2; max-width: 960px; } .tag-line { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em; color: var(--yellow); text-transform: uppercase; margin-bottom: 20px; opacity: 0.8; } /* GIANT GRAFFITI TITLE */ .hero-title { font-family: var(--font-display); font-size: clamp(120px, 22vw, 260px); line-height: 0.82; letter-spacing: 0.02em; color: var(--white); margin-bottom: 0; position: relative; text-shadow: 6px 6px 0 var(--pink), 12px 12px 0 rgba(233,30,140,0.3); } .hero-title-stroke { -webkit-text-stroke: 3px var(--yellow); color: transparent; display: block; font-size: clamp(40px, 7vw, 90px); letter-spacing: 0.15em; text-shadow: none; margin-top: 8px; } .hero-rule { display: flex; align-items: center; gap: 16px; margin: 28px 0; } .hero-rule-line { flex: 1; max-width: 120px; height: 3px; background: var(--yellow); } .hero-rule-dot { width: 10px; height: 10px; background: var(--pink); border-radius: 50%; } .hero-tagline { font-size: clamp(18px, 2.5vw, 26px); font-weight: 700; color: var(--white); max-width: 560px; line-height: 1.35; margin-bottom: 16px; } .hero-tagline em { font-style: normal; color: var(--yellow); } .hero-sub { font-size: 15px; color: var(--muted); max-width: 460px; line-height: 1.8; } /* sticker label */ .sticker { display: inline-block; background: var(--yellow); color: var(--black); font-family: var(--font-display); font-size: 13px; letter-spacing: 0.1em; padding: 6px 14px; transform: rotate(-2deg); margin-bottom: 24px; text-transform: uppercase; } /* ===== TICKER ===== */ .ticker { border-top: 2px solid var(--yellow); border-bottom: 2px solid var(--yellow); background: var(--yellow); padding: 10px 0; overflow: hidden; } .ticker-track { display: flex; gap: 48px; white-space: nowrap; animation: scrollTicker 28s linear infinite; } @keyframes scrollTicker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } .ticker-item { font-family: var(--font-display); font-size: 14px; letter-spacing: 0.08em; color: var(--black); text-transform: uppercase; flex-shrink: 0; } .ticker-sep { color: var(--pink); margin: 0 4px; } /* ===== LAYOUT ===== */ .wrap { max-width: 960px; margin: 0 auto; padding: 80px 64px; } .section-tag { display: inline-block; font-family: var(--font-display); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 12px; margin-bottom: 20px; border-left: 4px solid var(--yellow); color: var(--yellow); background: rgba(245,230,66,0.08); } h2 { font-family: var(--font-display); font-size: clamp(36px, 5vw, 60px); letter-spacing: 0.02em; color: var(--white); line-height: 0.95; margin-bottom: 28px; } .divider { border: none; border-top: 1px solid var(--border); } /* ===== HOOK ===== */ .hook-lead { font-size: 19px; font-weight: 700; color: var(--white); max-width: 680px; line-height: 1.5; margin-bottom: 18px; } .hook-body { font-size: 15px; color: #777; max-width: 620px; line-height: 1.9; margin-bottom: 14px; } .spray-quote { position: relative; padding: 24px 32px; margin: 40px 0; background: var(--panel); border-left: 5px solid var(--pink); overflow: hidden; } .spray-quote::before { content: '"'; position: absolute; font-family: var(--font-display); font-size: 200px; color: rgba(233,30,140,0.06); top: -20px; left: 10px; line-height: 1; pointer-events: none; } .spray-quote p { font-family: var(--font-mono); font-size: 13px; color: #888; line-height: 1.9; font-style: italic; position: relative; } /* ===== DISTRICTS ===== */ .district-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin-top: 32px; } .district-card { background: var(--panel); padding: 24px 20px; position: relative; overflow: hidden; transition: transform 0.15s, background 0.15s; border-top: 3px solid transparent; } .district-card:hover { background: #1a1a1a; transform: translateY(-2px); } .d-crown { border-top-color: var(--yellow); } .d-merchant { border-top-color: #7a8a7a; } .d-ashgate { border-top-color: var(--purple); } .d-foundry { border-top-color: var(--orange); } .d-dockside { border-top-color: var(--cyan); } .d-undercroft { border-top-color: var(--pink); } .district-name { font-family: var(--font-display); font-size: 24px; letter-spacing: 0.04em; color: var(--white); margin-bottom: 4px; } .district-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--muted); text-transform: uppercase; margin-bottom: 10px; } .district-desc { font-size: 13px; color: #666; line-height: 1.65; } /* ===== FACTIONS ===== */ .faction-list { display: flex; flex-direction: column; gap: 3px; margin-top: 32px; } .faction-row { background: var(--panel); display: grid; grid-template-columns: 200px 1fr 100px; padding: 20px 24px; gap: 28px; align-items: center; transition: background 0.15s; border-left: 3px solid transparent; } .faction-row:hover { background: #1a1a1a; } .fr-hand { border-left-color: var(--purple); } .fr-iron { border-left-color: #7a8a7a; } .fr-tide { border-left-color: var(--cyan); } .fr-pale { border-left-color: var(--pink); } .fr-ash { border-left-color: var(--orange); } .fr-null { border-left-color: var(--muted); } .fr-cop { border-left-color: #4466aa; } .fr-ven { border-left-color: var(--yellow); } .fr-drax { border-left-color: var(--orange); } .fr-crest { border-left-color: var(--cyan); } .faction-name { font-family: var(--font-display); font-size: 19px; letter-spacing: 0.04em; color: var(--white); margin-bottom: 2px; } .faction-type { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--muted); text-transform: uppercase; } .faction-desc { font-size: 13px; color: #666; line-height: 1.65; } .faction-status { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-align: right; line-height: 1.6; text-transform: uppercase; } .s-red { color: var(--pink); } .s-green { color: var(--lime); } .s-blue { color: var(--cyan); } .s-yellow { color: var(--yellow); } .s-muted { color: var(--muted); } /* ===== POWER WALL ===== */ .power-wall { position: relative; background: var(--dark); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); overflow: hidden; } .power-spray-1 { width: 700px; height: 700px; background: var(--pink); top: -200px; right: -200px; } .power-spray-2 { width: 500px; height: 500px; background: var(--yellow); bottom: -100px; left: -100px; } .power-inner { max-width: 960px; margin: 0 auto; padding: 80px 64px; position: relative; z-index: 2; } .big-label { font-family: var(--font-display); font-size: clamp(60px, 10vw, 120px); line-height: 0.88; color: rgba(255,255,255,0.04); position: absolute; top: 40px; right: 64px; letter-spacing: 0.05em; pointer-events: none; user-select: none; } .tier-stack { display: flex; flex-direction: column; gap: 3px; margin-top: 32px; } .tier { display: grid; grid-template-columns: 200px 1fr; background: var(--panel); overflow: hidden; } .tier-left { padding: 20px 22px; background: var(--black); display: flex; flex-direction: column; justify-content: center; } .tier-num { font-family: var(--font-display); font-size: 48px; line-height: 1; margin-bottom: 2px; } .t1 .tier-num { color: var(--yellow); } .t2 .tier-num { color: var(--orange); } .t3 .tier-num { color: #7a8a7a; } .t4 .tier-num { color: var(--cyan); } .t5 .tier-num { color: var(--purple); } .tier-name { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--muted); text-transform: uppercase; } .tier-right { padding: 20px 24px; font-size: 14px; color: #666; line-height: 1.7; display: flex; align-items: center; } .tier-right strong { color: var(--text); } /* ===== ALIVE ===== */ .alive-section { position: relative; overflow: hidden; } .alive-spray { width: 600px; height: 600px; background: var(--cyan); top: -100px; right: -200px; } .alive-inner { max-width: 960px; margin: 0 auto; padding: 80px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; position: relative; z-index: 2; } .alive-text p { font-size: 15px; color: #666; line-height: 1.85; margin-bottom: 16px; } .alive-text p strong { color: var(--white); } .cal-stack { display: flex; flex-direction: column; gap: 3px; } .cal-item { background: var(--panel); display: grid; grid-template-columns: 64px 1fr; overflow: hidden; } .cal-week { background: var(--black); padding: 14px 10px; font-family: var(--font-display); font-size: 13px; color: var(--yellow); display: flex; align-items: center; justify-content: center; text-align: center; letter-spacing: 0.05em; } .cal-week.now { color: var(--pink); } .cal-text { padding: 14px 16px; font-size: 13px; color: #666; line-height: 1.5; display: flex; align-items: center; } .cal-text.now { color: var(--pink); } /* ===== RULES ===== */ .rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 32px; } .rule-card { background: var(--panel); padding: 26px 24px; border-top: 3px solid var(--border); transition: border-top-color 0.2s, background 0.2s; } .rule-card:hover { background: #1a1a1a; border-top-color: var(--yellow); } .rule-title { font-family: var(--font-display); font-size: 20px; letter-spacing: 0.03em; color: var(--white); margin-bottom: 10px; } .rule-body { font-size: 14px; color: #666; line-height: 1.75; } .rule-body strong { color: var(--text); } /* ===== CTA ===== */ .cta-section { position: relative; overflow: hidden; text-align: center; padding: 100px 64px; background: var(--black); } .cta-spray-1 { width: 800px; height: 800px; background: var(--yellow); top: -200px; left: -200px; } .cta-spray-2 { width: 600px; height: 600px; background: var(--pink); bottom: -100px; right: -100px; } .cta-spray-3 { width: 400px; height: 400px; background: var(--cyan); top: 40%; left: 40%; } .cta-inner { position: relative; z-index: 2; } .cta-sticker { display: inline-block; background: var(--yellow); color: var(--black); font-family: var(--font-display); font-size: 14px; letter-spacing: 0.1em; padding: 8px 20px; transform: rotate(-1.5deg); margin-bottom: 32px; text-transform: uppercase; } .cta-title { font-family: var(--font-display); font-size: clamp(48px, 9vw, 100px); line-height: 0.9; color: var(--white); margin-bottom: 24px; text-shadow: 5px 5px 0 rgba(233,30,140,0.4); } .cta-title .accent { color: var(--yellow); } .cta-sub { font-size: 17px; color: #888; max-width: 500px; margin: 0 auto 44px; line-height: 1.8; } .cta-box { display: inline-block; border: 2px solid var(--pink); padding: 14px 32px; font-family: var(--font-display); font-size: 14px; letter-spacing: 0.14em; color: var(--pink); text-transform: uppercase; animation: pulsePink 2.5s ease-in-out infinite; } @keyframes pulsePink { 0%,100% { border-color: var(--pink); color: var(--pink); } 50% { border-color: #ff6ec7; color: #ff6ec7; } } .cta-foot { margin-top: 48px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.15em; color: #222; text-transform: uppercase; } /* ===== RESPONSIVE ===== */ @media (max-width: 720px) { .hero, .wrap, .power-inner, .alive-inner, .cta-section { padding-left: 24px; padding-right: 24px; } .district-grid { grid-template-columns: 1fr 1fr; } .faction-row { grid-template-columns: 1fr; gap: 6px; } .faction-status { text-align: left; } .rules-grid { grid-template-columns: 1fr; } .tier { grid-template-columns: 120px 1fr; } .alive-inner { grid-template-columns: 1fr; gap: 40px; } } 三百年前建立  ◆  屹立不搖 凱恩一座不在乎的城市 由精靈建造。被吸血鬼買下。為出價最高者維持治安。 六十萬人口。十一個派系。奴隸制結束二十年——擁有奴隸的人依然富有。你從底層開始。世界早已開始運轉。 奴隸制廢除 // 20年前 黑曜石之手 // 節節敗退 反辛迪加部門特遣隊 // 積極調查中 凡穆爾控股 // 收購灰燼門 腥紅浪潮 // 擴張中 德拉西斯工業 // 貨物失蹤 凱倫·沃斯 // 灰燼門監獄 奴隸制廢除 // 20年前 黑曜石之手 // 節節敗退 反辛迪加部門特遣隊 // 積極調查中 凡穆爾控股 // 收購灰燼門 腥紅浪潮 // 擴張中 德拉西斯工業 // 貨物失蹤 凱倫·沃斯 // 灰燼門監獄 世界 六十萬人口。無人為你駐足。 凱恩由不再擁有它的精靈建造,被不住在這裡的吸血鬼買下,並由一個為簽署預算者服務的機構維持治安。 奴隸制在二十年前被廢除。從中獲利的人們依然在此——同樣的建築,同樣的生意,同樣的律師。德拉西斯工業改變了文書,而非其行事作風。《安置法案》將自由變成了債務。城市進行了重組,並稱之為進步。 你從黑曜石之手的底層開始——這是一座在過去一個世代裡一直在瓦解所有精靈事物的城市中,最後一個精靈辛迪加。黑曜石之手正在垂死。警察步步進逼。對手正趁虛而入。這一切背後的企業不在乎誰控制碼頭區,只要有人控制,安靜地,以他們設定的價格。 「瑪倫·鐵田每晚六點鐘會在加冕雄鹿酒吧喝酒。她這麼做已經十一年了。那些認為這讓她變得可預測的人,已經不在世上修正他們的評估了。」 六大區 同一座城。不同的規則。 同樣的法律,執法方式卻因你被攔下的街道在哪一側而異。 皇冠山 吸血鬼與精靈貴族 舊錢。整夜的弧光燈。血坊與私人執法單位。市議會在此開會。告訴議會該做何決定的人們也在此會面。 商業區 人類中產階級 充滿抱負又惶恐不安。上層人類家庭,矮人實業家。鐵田幫在此活動,有聘用律師和市議會聯絡人。 灰燼門 舊精靈區 三百年歷史的建築,無人維護。煤氣燈照明。人口稠密。黑曜石之手佔據兩個街區。凡穆爾六年來一直在邊緣地帶收購。人人都知道這將如何收場。 鑄造區 工業與勞工 德拉西斯工廠。煤煙與煉金廢水。獸人與獸人人口大多仍在償還自由債務。腥紅浪潮在此勢力最強。 碼頭窄巷 中轉區 流動率高。人口混雜。黑曜石之手佔據此地二十年。上週鐵田幫的打手出現在兩個街角。黑曜石之手不戰而退。 地底密室 萬物之下 一座建立在自身之上的城市的地下網絡。黑市。一切未經註冊。法律唯一行動緩慢的地方。蒼白市集在此棲身。 十一大派系 全在行動。同時並進。 沒有人會等你先出手。 黑曜石之手精靈辛迪加 · 你的陣營 成立於法律不再保護精靈之時。在成為犯罪組織前是互助會。剩下28名活躍成員,兩個萎縮的區域,一位在獄中的創始人,以及一個身份不明的告密者。 垂死堅守 鐵田幫人類幫派 · 擴張中 三代舊錢犯罪。律師、議會聯絡人、合法掩護。有足夠的耐心讓警察完成工作後再介入。但耐心不是無限的。 擴張中觀察中 腥紅浪潮解放運動 不僅僅是個幫派。由曾被奴役的獸人、獸人與哥布林組成。互助、非法學校、安全通道——以及燒毀建築的意願。有政治動機。快速成長。 成長中動員中 蒼白市集情報掮客 沒有地盤。沒有代表色。向所有人出售情報,包括警察。目前正分批向反辛迪加部門出售黑曜石之手的成員資料。一個垂死的辛迪加是持續的收入來源。 隱藏獲利中 灰燼路兄弟會飛車黨 · 走私 經營城市間的補給線。半組織化,有行為準則。東方道路上的一個新檢查站讓他們損失慘重。他們想除掉它。方法可議。 穩定受挫 虛無騎士飛車黨 · 受僱 任何工作都接。沒有忠誠。刻意製造混亂。本週有三個派系與他們接觸。他們正在決定誰出價更高。 鬆散受僱 凱恩市警局 / 反辛迪加部門警察 · 派系分裂 並非鐵板一塊。高層指揮官是長壽種族和古老家族。貧困地區的巡警是薪資過低的人類和獸人。反辛迪加部門已建立案件三年。 活躍逼近中 凡穆爾控股企業 · 吸血鬼控制 擁有或持有凱恩40%可居住建築的債務。撰寫了將精靈排除在財產所有權之外的租賃條款。目前透過一項市政改善補助金資助反辛迪加部門的預算。 收購中等待中 德拉西斯工業企業 · 工業 三座鑄造廠。從奴役勞工轉為合約勞工,但條件未變。一批未經許可的煉金成分貨物失蹤。他們正在尋找,但未涉及警察。 暴露搜尋中 克雷斯威爾資訊企業 · 媒體 擁有水晶線網絡。出版兩大主要報紙。分層出售資訊——公開、私人,以及一個官方不存在的第三層級。無所不知。 觀察中始終 權力 事物的秩序 誰統治凱恩。依序排列。 01貴族階級 吸血鬼貴族家族與精靈古老家族——數世紀累積的財富,他們制定規則的機構,以及他們之間的一場冷戰,這場冷戰摧毀了數十個派系,卻從未觸及雙方都認為有共同利益的事物。 02企業 凡穆爾、德拉西斯、克雷斯威爾——比民選議會擁有更多實權。他們資助所需的機構,並重塑他們不喜歡的法律。從不顯露於後果之中。 03商人階級 上層人類、矮人實業家、順從的精靈——真正的舒適,真正的脆弱。一代不肖子孫就可能失去一切。對下層階級感到恐懼。對上層階級有用。 04工人階級 大多數人類、已註冊的獸人、有文件記載的哥布林——日復一日,沒有緩衝。犯罪地下世界與此階層相鄰,而非在其之下。黑曜石之手在此建立。 05其餘人等 曾被奴役者、未註冊者、無證件者——技術上自由了二十年。實際上對法律而言是隱形的,除非法律想找到他們。腥紅浪潮的成員來自這裡。如果凱恩有良知,這就是它的良知所在。 活生生的世界 這座城市從不等待。 每個派系都有當前的議程。無論你是否在看,鐵田幫都在向碼頭區調動人馬。反辛迪加部門在每十天的早上提交逮捕令。凡穆爾按照一個無人公佈的時間表在邊緣地帶收購。 你透過後果發現事件。上週還是黑曜石之手地盤的街角,現在出現了新面孔。一個掩護生意被警察封鎖線圍住。一個聯絡人不再回覆訊息。 在事件發生前讀懂城市是種技巧。對事件做出反應則是生存之道。世界不會暫停。它不在乎你是新人。 已發生的事 第1週 鐵田幫人馬佔據碼頭區兩個街角。黑曜石之手不戰而退。 第2週 反辛迪加部門逮捕黑曜石之手成員德克斯·馬爾。他知道三個安全屋地點。 第3週 腥紅浪潮在灰燼門邊界開設一個據點。黑曜石之手尚未回應。 第4週 蒼白市集向反辛迪加部門提供部分黑曜石之手成員名單。三個名字。還不是重要人物。 現在 你從這裡開始。其餘的已在進行中。 運作方式 無人寫下的規則。 奴隸制已是歷史 二十年前廢除。擁有奴隸的人依然富有。《安置法案》將自由變成了債務。德拉西斯工業改變了文書,而非其行事作風。 成文法 凱恩的法典沒有明確歧視。但效果是明確的。精靈需要人類共同簽署人。獸人每年註冊。吸血鬼擁有完整的公民權利——那種需要數世紀談判才能獲得的權利。 長壽,長記性 吸血鬼和精靈建立了這些機構。他們比所有反對者都活得久。他們不認為自己是壓迫者。他們認為自己是管理者。這個區別對他們很重要。 階級吞噬種族 灰燼門的一個貧窮精靈面臨來自工人階級人類的敵意,他們將所有精靈歸咎於一個貧窮精靈無法接觸的貴族階級。貴族階級從這種混亂中獲益,並且不費力去糾正它。 暴力有其代價 一具屍體意味著麻煩、調查、可能數週後才來的報復。一個安靜的解決方案總是比一個喧鬧的要好。長壽者尤其會注意到喧鬧。他們有時間回應。 警察有其忠誠 高層指揮官保護高層利益。貧困地區的巡警來自那些社區。有些人同情。有些人被收買。這個機構並非鐵板一塊,也從未被設計成那樣。 你從這裡開始 街頭執法者。黑曜石之手。灰燼門區。 黑曜石之手正在垂死,你心知肚明。你父親在灰燼門監獄。城市正朝著無人徵求你意見的方向發展。你有一個街角、一個聯絡人,以及足夠的信譽來接下一個工作。如何運用,全由你決定。 世界按自己的時間表運轉  ◆  你身在其中。而非凌駕其上。 凱恩  ·  黑暗奇幻犯罪劇  ·  活生生的世界  ·  無固定結局

開場場景

熱度:0 | 等級:街頭 | 天數:1 聲望 — 黑曜石之手:0 | 警察:0 | 鐵田幫:0 | 浪潮:0 | 街頭:0從你十六歲起,棒棒糖就一直是櫻桃口味的,你現在也看不出有任何改變的理由。黃昏時分的灰燼門聞起來有潮濕石塊的味道、樓上三層某戶人家的晚餐香氣,還有一種特別的寂靜,那意味著人們看到你來了就躲進了屋裡。煤氣燈剛喀噠一聲亮起。往東兩個街區,弧光燈開始的地方,就是商業區。你必須在那些燈完全亮起前回到線的這一邊,否則就得拿出你的證件。你對此瞭若指掌,就像了解自己的心跳一樣——不假思索,不再帶有苦澀。這只是城市允許你活動的地圖。塞娜的聯絡人告訴你,在煤氣燈全亮時到卡特街和瓦爾街的街角。你早到了。你總是早到。你父親教過你,準時的唯一代價是時間,而遲到的代價是其他一切。你父親就在這個區北端的灰燼門監獄裡,已經待了十四個月。你現在不去想那件事。街對面有個男人靠著牆在看你。從你轉進卡特街時他就在那裡了。他不是為黑曜石之手工作的——姿勢不對,靜止的方式也不對。可能是警察。可能是鐵田幫的人。也可能只是個時機不對的路人。煤氣燈全亮了。街角一片寂靜。你該怎麼做?

標籤: 遊戲 奇幻 科幻 家庭 升級 網絡龐克 未來感 男性POV 女性視角 任何POV 多個 人類 精靈 矮人 城市 吸血鬼 黑手黨 警察 政治陰謀

聊天次數: 6

作者: teirdel

故事

正在跳轉到 ISEKAI ZERO...