<center>[img[setup.ImagePath+'start.png']]</center>
<br>
<h1>Version 0.5</h1>
<<lang>>
这是一个关于末日生存与救赎的故事。
<br><br>
<h2>音乐</h2>
本游戏包含背景音乐及视频也会自动播放,默认游戏音量为50%;如果您想调整游戏声音及视频自动播放,可以在SETTINGS里进行设置。<br><br>
<h2>装备</h2>
<h3>主武器:提供伤害类技能。</h3>
手枪--特殊技能:爆头--对最近的敌人造成 350% 伤害,自动结束回合,且下回合无法行动。<br>
霰弹枪--特殊技能:风筝--造成 150% 伤害,击杀敌人时回复敌人50%的击杀血量。<br>
长枪--特殊技能:多重射击--对最近的敌人造成 3 次 150% 伤害,自动进入一下回合,且下回合无法行动。<br>
狙击枪--特殊技能:狙杀后排--越过前排,直接攻击最后面的敌人,造成260%的伤害。<br>
<h3>副武器:提供增伤或位移技能。</h3>
<h3>衣服:提供防御类技能。</h3>
<h3>头盔与鞋子:只增加魅力值,不提供任何战斗类属性。</h3>
<h2>战斗失败惩罚</h2>
无论何种原因导致HP归0,则本轮游戏结束,背包内的所有物品将会丢失(不包含已装备的物品)。所以,请规划好您的每次探险行动。<br><br>
<h2>注意</h2>
本游戏包含大量暴力、血腥、 残酷杀戮、恐怖元素,以及露骨的性描写、色情镜头、性暴力、裸露等成人内容。这些内容可能引起强烈不适、心理冲击或生理反应。如果你对以上任何内容感到敏感、厌恶或不适,请立即关闭游戏,不要继续游玩。<br>
本游戏仅适合年满18周岁(或所在国家/地区法定成年年龄)且心理承受能力较强的玩家。<br>
游戏中的一切暴力、性行为均为虚构剧情,不代表任何现实价值观或鼓励现实行为。<br>
<h3>进入游戏即表示你:</h3>
已确认自己年满18岁(或法定成年年龄)。<br>
理解并自愿接受游戏中可能出现的极端、血腥、色情内容。<br>
不会因游戏内容向开发者、发行方或任何相关方追究责任。<br>
<br><br>
如果你未满18岁,或对上述内容无法接受,请立刻退出并删除本游戏。感谢你的理解与配合。<br>
祝游戏体验……尽可能安全。<br>
|EN|
This is a story about doomsday survival and redemption.
<br><br>
<h2>Music</h2>
This game includes background music and videos that will also play automatically. The default game volume is 50%; if you want to adjust the game sound and video autoplay, you can do so in SETTINGS.<br><br>
<h2>Equipment</h2>
<h3>Mainhand Weapons: Provide damage skills.</h3>
Pistol--Special Skill: Headshot--Deals 350% damage to the nearest enemy. Ends turn immediately; user is stunned next turn.<br>
Shotgun--Special Skill: Kiting--Deals 150% damage, restores 50% of the killed enemy's health upon killing an enemy.<br>
Rifle--Special Skill: Multi-Shot--Deals 3 times 150% damage to the nearest enemy, automatically advances to the next turn, and cannot act in the following turn.<br>
Sniper Rifle--Special Skill: Rear Snipe--Bypasses the front row, directly attacks the rearmost enemy, dealing 260% damage.<br>
<h3>Offhand Weapons: Provide damage boost or displacement skills.</h3>
<h3>Body: Provide defensive skills.</h3>
<h3>Head & Feet: Only increase Charm value, provide no combat attributes.</h3>
<h2>Combat Failure Penalty</h2>
If HP reaches 0 for any reason, the current game round ends, and all items in the backpack will be lost (excluding equipped items). Therefore, please plan your exploration actions carefully.<br><br>
<h2>Notice</h2>
This game contains a large amount of violence, gore, brutal killings, horror elements, as well as explicit sexual descriptions, erotic scenes, sexual violence, nudity, and other adult content. These may cause strong discomfort, psychological shock, or physiological reactions. If you are sensitive, disgusted, or uncomfortable with any of the above content, please close the game immediately and do not continue playing.<br>
This game is only suitable for players aged 18 and above (or the legal adult age in your country/region) with strong psychological resilience.<br>
All violence and sexual behaviors in the game are fictional plot elements and do not represent any real-world values or encourage real-world behavior.<br>
<h3>Entering the game means you:</h3>
Have confirmed that you are 18 years old or older (or the legal adult age).<br>
Understand and voluntarily accept the extreme, gory, and erotic content that may appear in the game.<br>
Will not hold the developer, publisher, or any related parties responsible for the game content.<br>
<br><br>
If you are under 18, or cannot accept the above content, please exit immediately and delete the game. Thank you for your understanding and cooperation.<br>
Wishing you a game experience... as safe as possible.<br>
<</lang>>
<br><br>
[[Start Game(18+)|Intro]]<<script>>
/* 没办法调试,最后再放开
setup.lockID = LoadScreen.lock(); // Lock loading screen
let _timestamp = Math.floor(Date.now() / 1000);
importScripts(setup.Path + "js/actions.js?v=" + _timestamp)
.then(function () {
memorize('actions', setup.actions);
// Reload current passage since imported scripts can function now.
Engine.play(passage(), true);
LoadScreen.unlock(setup.lockID); // Unlock loading screen
})
.catch(function (err) {
// There was an error loading the script, log it to the console
alert(err);
});
*/
<</script>>
<<include "WuQi">>
<<include "ZhuangBei">>
<<include "WuPin">>
<<include "ShiWu">>
/* ================ 地图配置区域 ================= */
/* 当前关卡数 */
<<set $currentStage = 1>>
/* 存档结构版本 */
<<set $saveVersion = setup.SAVE_SCHEMA_VERSION>>
/* 当前运行中的关卡地图(给后续通用地图重构预留) */
<<set $mapStage = 1>>
/* 已访问过的具体场景ID,防止重复抽取 (直到撤退重置) */
<<set $usedContent = []>>
/* 当前地图的节点队列(牌堆) */
<<set $mapQueue = []>>
/* 当前屏幕上显示的节点(手牌) */
<<set $visibleNodes = []>>
/* ================= 地图配置结束 ================= */
/*游戏设置*/
<<set $game to {},
$game.start to false,
$game.nandu to 'putong',
$game.version to setup.GAME_VERSION,
$game.lang = 'en',
$game.hpAdd = 0.5,
$game.baoshiXiaohao = 30,
$game.yinshuiXiaohao = 30,
$game.zaotang to false,
$game.chufang to false,
$game.keybao to false,
$game.isdebug to false,
$game.day = 1
>>
/*玩家信息*/
<<set
$player to {},
$player.name to "you",
$player.money to 0,
$player.xingdongli = 2,/*行动力*/
$player.shanghai = 0,
$player.fangyu = 0,
$player.charm = 0,
$player.isHome = true,
$player.baoshidiaolv = 0,
$player.yinshuidiaolv = 0,
$player.goodwill = 0,
$player.sexp = 0,
$player.xizao to false,
$player.chifan to false,
$player.mast to false,
$player.companions = {},
$player.stats = {}
>>
/* 装备损耗计数器 */
<<set $player.attackCount = 0>>
<<set $player.hitCount = 0>>
/*玩家状态条定义*/
<<set $player.hp to 70, $player.maxhp to 70>>
<<newmeter '$hpBar' '$player.hp / $player.maxhp'>>
<<sizing '100%'>>
<<label '$player.hp'>>
<</newmeter>>
/*饱食*/
<<set $player.baoshi to 100, $player.maxBaoshi to 100>>
<<newmeter '$baoshiBar' '$player.baoshi / $player.maxBaoshi'>>
<<sizing '100%'>>
<<label '$player.baoshi'>>
<</newmeter>>
/*饮水*/
<<set $player.yinshui to 100, $player.maxYinshui to 100>>
<<newmeter '$yinshuiBar' '$player.yinshui / $player.maxYinshui'>>
<<sizing '100%'>>
<<label '$player.yinshui'>>
<</newmeter>>
/*负重*/
<<set $player.fuzhong = 0, $player.maxFuzhong = 80, $player.orgMaxFuzhong = 80>>
<<newmeter '$fuzhongBar' '0'>>
<<colors 'red' 'green'>>
<<sizing '100%'>>
<<label '$player.fuzhong'>>
<</newmeter>>
/*欲望*/
<<set $player.yuwang to 1, $player.maxYuwang to 100>>
<<newmeter '$yuwangBar' 1>>
<<sizing '100%'>>
<<label '$player.yuwang'>>
<<colors '#ff00ee' '#ff00ee' 'black'>>
<</newmeter>>
/*角色初始化*/
<<character 'you' "$player.name" setup.ImagePath+'npc/you/avatar.png'>>
<<character 'yua' setup.ImagePath+'npc/yua/touxiang.png'>>
<<character 'saika' setup.ImagePath+'npc/saika/touxiang.png'>>
<<character 'jynx' setup.ImagePath+'npc/jynx/jynx.png'>>
<<character 'heishang' setup.ImagePath+'npc/heishang/heishang.png'>>
<<character 'tasha' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>
<<set $enemyHp = 100>>
/*初始化装备栏*/
<<set $equipment = {
mainhand: null, offhand: null, head: null, body: null, feet: null
};>>
/*初始化任务管理器*/
<<run setup.QuestManager.init()>>
/*初始化背包*/
<<newinv $beibao>>
<<set $maxBeibaoSize = 20>>
/*初始化仓库*/
<<newinv $cangku>>
<<set $maxCangkuSize = 30>>
/*初始化钥匙包*/
<<newinv $keybao>>
<<set $maxKeybaoSize = 30>>
/*初始化yua的商店*/
<<set $shopYuaObj = {}>> /*用来处理商店刷新等状态*/
<<newinv $shopyua>>
<<set $maxShopyuaSize = 20>>
/*初始化黑市商人的商店*/
<<set $shopHeishiObj = {}>> /*用来处理商店刷新等状态*/
<<newinv $shopheishi>>
<<set $maxShopheishiSize = 20>>
/* 初始化待修理装备id */
<<set $repairTarget = ''>>
<<set $reforgeTarget = ''>>
<<set $enchantTarget = ''>>
<<set $breakdownTarget = ''>>
<<set $dixiaQuantaiBet to {}>>
<<set $saikaReturnHomeAfterLianluoyuan to false>>
<<set $enchantCount = 1>>
<<set $breakdownCount = 1>>
<<set $workbenchSource = 'beibao'>>
<<set
$characters to {
yua: {
quests: {},
relationship: 0,
sexCount: 0
},
saika: {
quests: {},
relationship: 0,
sexCount: 0,
location: ""
},
tasha: {
quests: {},
relationship: 0,
sexCount: 0,
location: "zacaocharu01"
},
heishang: {
quests: {},
relationship: 0,
sexCount: 0,
location: "Heishi"
},
jynx: {
quests: {},
relationship: 0,
sexCount: 0,
location: ""
},
liaison: {
quests: {},
relationship: 0,
sexCount: 0,
location: ""
},
lily: {}
}>>
/*初始化掉落*/
<<set $diaoluo to Inventory.create()>>
/* 初始化物品生成器 */
<<set $itemInstances to {}>>
/* 执行初始化物品掉落函数 */
<<run setup.initLootSystem()>>
/* 初始化物品掉落数组 */
<<set setup.dropTable = []>>
/* 初始化物品掉落控制为未掉落
<<set setup.isLootGenerated to false>>*/
<!-- 启动计时器 -->
<<run setup.startTimeFlow()>>
<!-- 初始化玩家状态计算起始周期 -->
<<set $cycleStates to {}>>
/* 注册战斗音效 */
<<cacheaudio "putong" setup.audioPath+"putong.wav">>
<<cacheaudio "yiban" setup.audioPath+"yiban.wav">>
<<cacheaudio "duochong" setup.audioPath+"duochong.wav">>
<<cacheaudio "zhong" setup.audioPath+"zhongji.wav">>
<<cacheaudio "fushou" setup.audioPath+"fushou.mp3">>
/* 注册bgm */
<<cacheaudio "bgm_huodui" setup.audioPath+"bg/huodui.mp3">>
<<cacheaudio "bgm_tansuo" setup.audioPath+"bg/tansuo.mp3">>
<<cacheaudio "bgm_zhandou" setup.audioPath+"bg/zhandou.wav">>
/* 把所有BGM放在一个组里,方便统一停止或调整音量 */
<<createaudiogroup ":bgm">>
<<track "bgm_huodui">>
<<track "bgm_tansuo">>
<<track "bgm_zhandou">>
<</createaudiogroup>>
<<run forget("patreon code")>>
OK!
<br><br>
[[start]]
2222
<<transfer $beibao $cangku "bengdai" 1 "tudou" 1>>
<<say 'Lisa' 'images/portraits/lisa.jpg'>>Hey there!<</say>>
/* without an image */
<<say 'Some Guy'>>You n'wah!<</say>>
/*
<<pickup $beibao "bengdai" 10>>
<<pickup $beibao "tudou" 10>>
<<pickup $beibao "mucai" 10>>
<<pickup $beibao "gangtie" 10>>
<<pickup $cangku "minfang key" 1 "dixiashi key" 1>>
*/
/*把背包里的东西全部移到仓库*/
/*
<<merge $cangku $beibao>>
<<dropall $beibao>>
<<run $cangku.merge($beibao)>>
<<drop $beibao $mutou.name 3>>
<<if $beibao.has("minfang key")>>
我包里有民房钥匙,可以进民房
<</if>>
<<if $beibao.hasAll("minfang key", "dixiashi key")>>
我包里还有地下室钥匙
<<else>>
我哪也进不去
<</if>>
<<pickup $beibao $mutou.name 10>>
<<inv $beibao use drop inspect stack all>>
*/
[[getBengdai|getBengdai]] <<link "Cangku">><<set $cangkuReturn = passage()>><<goto "Cangku">><</link>><<set _pStats = setup.Battle.getPlayerTotalStats()>>
<!-- 1. 语言 -->
<div class="top-bar">
<button @class="'lang-btn ' + ($game.lang === 'zh' ? 'active' : '')" onclick="SugarCube.State.variables.game.lang = 'zh'; SugarCube.Engine.show();">ZH</button>
<button @class="'lang-btn ' + ($game.lang === 'en' ? 'active' : '')" onclick="SugarCube.State.variables.game.lang = 'en'; SugarCube.Engine.show();">EN</button>
</div>
<!-- 2. 时钟 -->
<div class="time-module">
<div class="day-badge">Day <<gameday>></div>
<div class="time-display"><<time24hr>></div>
<div class="date-display"><<date>></div>
</div>
<<if $game.start>>
<!-- 3. 玩家信息 -->
<<set _playerImg = setup.ImagePath + '/npc/you/avatar.png'>>
<div class="player-module">
<img @src="_playerImg" class="player-avatar" onerror="this.style.display='none'">
<div class="player-details">
<span class="player-name">$player.name</span>
<div class="player-money">
<<= formatUSD($player.money)>>
</div>
</div>
</div>
<!-- 4. 战术仪表盘 (战斗属性) -->
<div class="combat-dashboard">
<!-- ATK -->
<div class="c-stat-box atk">
<div class="c-stat-label">⚔️ ATK</div>
<div class="c-stat-val"><<= _pStats.damage>></div>
</div>
<!-- DEF -->
<div class="c-stat-box def">
<div class="c-stat-label">🛡️ DEF</div>
<div class="c-stat-val"><<= _pStats.defence>></div>
</div>
<!-- AP -->
<div class="c-stat-box ap">
<div class="c-stat-label">⚡ MAX AP</div>
<div class="c-stat-val"><<= $player.xingdongli>></div>
</div>
<!-- CHARM (Spirit) -->
<div class="c-stat-box chm">
<div class="c-stat-label">✨ CHM</div>
<div class="c-stat-val"><<= _pStats.charm || 0>></div>
</div>
</div>
<!-- 5. 生存属性条 -->
<div class="stats-module">
<!-- HP -->
<div class="stat-row">
<span class="stat-label">HP</span>
<div class="meter-track">
<<showmeter '$hpBar' `$player.hp / $player.maxhp`>>
</div>
</div>
<div class="stat-row">
<span class="stat-label"><<lang>>饱食|EN|Satiety<</lang>></span>
<div class="meter-track">
<<showmeter '$baoshiBar' `$player.baoshi / $player.maxBaoshi`>>
</div>
</div>
<div class="stat-row">
<span class="stat-label"><<lang>>饮水|EN|Thirst<</lang>></span>
<div class="meter-track">
<<showmeter '$yinshuiBar' `$player.yinshui / $player.maxYinshui`>>
</div>
</div>
<div class="stat-row">
<span class="stat-label"><<lang>>负重|EN|Load<</lang>></span>
<div class="meter-track">
<<showmeter '$fuzhongBar' `$player.fuzhong / $player.maxFuzhong`>>
</div>
</div>
<div class="stat-row">
<span class="stat-label"><<lang>>欲望|EN|Horny<</lang>></span>
<div class="meter-track">
<<showmeter '$yuwangBar' `$player.yuwang / $player.maxYuwang`>>
</div>
</div>
</div>
<</if>>
<div class="menu-grid">
/* --背包
图标网址
<img src="https://api.iconify.design/game-icons:scroll-unfurled.svg?color=%23ff9800" class="menu-icon">
<<goto "Beibao">>
<<set _bagHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-backpack.svg'}" class="menu-icon">
<span class="menu-label">Bag</span>
</div>
`>>
<<link _bagHtml>>
<<script>>
Dialog.setup("INVENTORY", "Beibao");
Dialog.wiki(Story.get("Beibao").processText());
Dialog.open({onClose: function() {window.refreshStoryCaption();}});
<</script>>
<</link>>*/
<!--任务列表 -->
<<set _questHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-scroll-unfurled.svg'}" class="menu-icon">
<span class="menu-label">Quest</span>
</div>
`>>
<<link _questHtml>>
<<script>>
Dialog.setup("Quest List", "RenWuList");
Dialog.wiki(Story.get("RenWuList").processText());
Dialog.open({onClose: function() {window.refreshStoryCaption();}});
<</script>>
<</link>>
<!-- GUIDE手册 -->
<<set _guideHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-open-book.svg'}" class="menu-icon">
<span class="menu-label">Guide</span>
</div>
`>>
<<link _guideHtml>>
<<run window.open("https://www.patreon.com/posts/doomsday-to-149575035", "_blank")>>
<</link>>
<!-- SUPPORT -->
<<set _supportHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-baby-bottle.svg'}" class="menu-icon">
<span class="menu-label">Support</span>
</div>
`>>
<<link _supportHtml>>
<<script>>
Dialog.create("Patreon Code", "Patreon Code");
Dialog.wiki(Story.get("Patreon Code").processText());
Dialog.open();
<</script>>
<</link>>
<!-- 物品列表 -->
<<if $game.isdebug >>
<<set _guideHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-open-book.svg'}" class="menu-icon">
<span class="menu-label"><<= setup.t("物品图鉴|Item Database")>></span>
</div>
`>>
<<link _guideHtml>>
/* 这里写你的 Guide 逻辑,或者跳转 */
<<goto "WupinTujian">>
<</link>>
<<set _enemyGuideHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-open-book.svg'}" class="menu-icon">
<span class="menu-label"><<= setup.t("怪物图鉴|Monster Database")>></span>
</div>
`>>
<<link _enemyGuideHtml>>
<<goto "MonsterTujian">>
<</link>>
<</if>>
<!-- 技能列表 -->
<<set _skillHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-bouncing-sword.svg'}" class="menu-icon">
<span class="menu-label"><<= setup.t("技能图鉴|Skill Database")>></span>
</div>
`>>
<<link _skillHtml>>
<<goto "SkillTujian">>
<</link>>
<<set _npcHtml = `
<div class="menu-btn">
<img src="${setup.ImagePath + '/game/svg/game-icons-open-book.svg'}" class="menu-icon">
<span class="menu-label"><<= setup.t("NPC图鉴|NPC Database")>></span>
</div>
`>>
<<link _npcHtml>>
<<goto "NpcTujian">>
<</link>>
</div><<include "EquipmentDisplay">>
<br><br>
<<include "InventoryListRefresher">>
<<return "Back">>
<style>
/* 让 SugarCube 的链接看起来像上面的按钮 */
.item-actions a {
display: block;
width: 80%;
text-align: center;
margin: 2px 0;
padding: 4px 0;
border: 1px solid #00bcd4;
background: rgba(0,0,0,0.5);
color: #00bcd4 !important; /* 覆盖默认蓝色 */
text-decoration: none !important;
font-size: 10px;
text-transform: uppercase;
border-radius: 3px;
}
.item-actions a:hover {
background: #00bcd4;
color: black !important;
}
</style>
/*
<<script>>
console.log("beibao:", setup.Item.list);
<</script>>*/<div id="battle-tactical-pack-root">
<div id="battle-tactical-pack-equip"><<include "EquipmentDisplay">></div>
<br><br>
<div id="battle-tactical-pack-list"><<include "BattleTacticalBagContent">></div>
</div><div class="panel-container">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>战术背包|EN|TACTICAL PACK<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<div class="grid-layout inv-grid">
<<if Object.keys($beibao.table).length is 0>>
<div class="slot" style="padding: 1rem; width: 100%;"><<lang>>背包是空的。|EN|The pack is empty.<</lang>></div>
<<else>>
<<for _item, _amount range $beibao.table>>
<<set _imgName to _item>>
<<set _itemInfo to setup.Item.get(_item)>>
<<capture _item, _amount, _itemInfo, _imgName>>
<<if $itemInstances[_item]>>
<<set _imgName to _item.substring(0, _item.lastIndexOf('_'))>>
<</if>>
<div class="slot occupied">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_itemInfo.name)>></div>
<div class="item-amount">x<<= _amount>></div>
</div>
<div class="tooltip-content">
<div class="tooltip-section">
<h4><<= setup.t(_itemInfo.name)>></h4>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_itemInfo.description)>></p>
<</if>>
</div>
</div>
<div class="item-actions">
<<if _itemInfo.consumable>>
<<link 'Use'>>
<<run $beibao.use(_item)>>
<<run setup.Battle.refreshUI()>>
<<replace "#battle-tactical-pack-equip">><<include "EquipmentDisplay">><</replace>>
<<replace "#battle-tactical-pack-list">><<include "BattleTacticalBagContent">><</replace>>
<</link>>
<</if>>
<<if _itemInfo.hasTag("equipable")>>
<<link 'Equip'>>
<<run setup.Equipment.equip($beibao, _item)>>
<<run setup.Battle.refreshUI()>>
<<replace "#battle-tactical-pack-equip">><<include "EquipmentDisplay">><</replace>>
<<replace "#battle-tactical-pack-list">><<include "BattleTacticalBagContent">><</replace>>
<</link>>
<</if>>
</div>
</div>
<</capture>>
<</for>>
<</if>>
</div>
</div>/* ==========================================
材料 (Materials)
tag: 'material' 'no_use'
========================================== */
/* 兽皮 */
<<item "animal_skin" "兽皮|Animal Skin">>
<<price>> 35
<<weight>> 1.2
<<description>> 一张生兽皮。可以腌制和鞣制成皮革。|A raw animal hide. Can be cured and tanned to make leather.
<<tags 'material' 'no_use'>>
<</item>>
/* 玻璃瓶 */
<<item "boliping" "玻璃瓶|Glass Bottle">>
<<price>> 5
<<weight>> 0.2
<<description>> 一个空玻璃瓶。可以用来装液体或化学混合物。|An empty glass bottle. Can be used to hold liquids or chemical mixtures.
<<tags 'misc' 'no_use'>>
<</item>>
/* 布料 */
<<item "buliao" "布料|Cloth">>
<<price>> 10
<<weight>> 0.3
<<description>> 一块折叠的布料。制作衣服和绷带必不可少。|A folded piece of fabric. Essential for crafting clothes and bandages.
<<tags 'material' 'no_use'>>
<</item>>
/* 塑料 */
<<item "suliao" "塑料|plastic">>
<<price>> 10
<<weight>> 0.1
<<description>> 一堆老旧的塑料制品,可以废物再利用。|A pile of old plastic products can be recycled.
<<tags 'material' 'no_use'>>
<</item>>
/* 电子元件 */
<<item "dianziyuanjian" "电子元件|Electronic Components">>
<<price>> 10
<<weight>> 0.1
<<description>> 从各种电子设备里拆出来的小型元件。积少成多后,维修和改装时总能派上用场。|Small components salvaged from all kinds of electronic devices. Once you gather enough of them, they always come in handy for repairs and modifications.
<<tags 'material' 'no_use'>>
<</item>>
/* 细线 */
<<item "xian" "线|thread">>
<<price>> 10
<<weight>> 0.1
<<description>> 缠在线轴上的线,看起来很结实。|The thread wrapped around the spool looks very strong.
<<tags 'material' 'no_use'>>
<</item>>
/* 电缆 */
<<item "cable" "电缆|Heavy Cable">>
<<price>> 45
<<weight>> 0.8
<<description>> 重型电缆。里面包含铜线。|Heavy duty electrical cable. Contains copper wire inside.
<<tags 'material' 'no_use'>>
<</item>>
/* 煤炭 */
<<item "coal" "煤炭|Coal">>
<<price>> 15
<<weight>> 1.0
<<description>> 一块黑煤。用于火堆和熔炉的好燃料。|A lump of black coal. Good fuel for fires and furnaces.
<<tags 'material' 'no_use'>>
<</item>>
/* 电池 */
<<item "dianchi" "电池|Battery">>
<<price>> 60
<<weight>> 0.1
<<description>> 标准化学电池。仍然存有一些电量。|A standard chemical battery. Still holds some charge.
<<tags 'misc' 'no_use'>>
<</item>>
/* 电机/马达 */
<<item "electro_engine" "电机|Electric Motor">>
<<level>> 10
<<price>> 350
<<weight>> 4.5
<<description>> 从机器上拆下来的重型电机。铜绕组完好无损。|A heavy electric motor salvaged from machinery. Copper windings are intact.
<<tags 'misc' 'machine' 'no_use'>>
<</item>>
/* 齿轮 */
<<item "gears" "齿轮|Gears">>
<<price>> 25
<<weight>> 0.3
<<description>> 各种尺寸的金属齿轮。修复机械设备至关重要。|Metal gears of various sizes. Vital for repairing mechanical devices.
<<tags 'material' 'no_use'>>
<</item>>
/* 矿石 */
<<item "kuangshi" "矿石|Iron Ore">>
<<level>> 11
<<price>> 500
<<weight>> 3.0
<<description>> 含有可提取金属的原矿。需要提炼。|Raw ore containing extractable metals. Needs refining.
<<tags 'material' 'no_use'>>
<</item>>
/* 零件 */
<<item "lingjian" "零件|Mechanical Parts">>
<<price>> 15
<<weight>> 0.2
<<description>> 各种各样的螺丝、螺母和螺栓。拾荒者的主食。|Assorted screws, nuts, and bolts. A scavenger's staple.
<<tags 'material' 'no_use'>>
<</item>>
/* 木板 */
<<item "muban" "木板|Wood Board">>
<<price>> 12
<<weight>> 2.5
<<description>> 准备用于建筑的加工木板。|Processed timber planks ready for building.
<<tags 'material' 'no_use'>>
<</item>>
/* 绳子 */
<<item "shengzi" "绳子|Rope">>
<<price>> 15
<<weight>> 0.6
<<description>> 一卷结实的麻绳。|A coil of strong hemp rope.
<<tags 'misc' 'no_use'>>
<</item>>
/* 铁丝 */
<<item "tiesi" "铁丝|Iron Wire">>
<<price>> 8
<<weight>> 0.3
<<description>> 柔韧的铁丝。用于陷阱和捆绑。|Flexible iron wire. Useful for traps and binding.
<<tags 'material' 'no_use'>>
<</item>>
/* 水管 */
<<item "water_pipe" "水管|Metal Pipe">>
<<price>> 20
<<weight>> 1.2
<<description>> 生锈的金属管。|A rusted metal pipe.
<<tags 'misc' 'no_use'>>
<</item>>
/* 武器零件*/
<<item "weapons_parts" "武器零件|Weapon Kit">>
<<price>> 150
<<weight>> 1.5
<<description>> 一个装有弹簧、扳机和枪管的盒子,用于枪械制造。|A box containing springs, triggers, and barrels for gunsmithing.
<<tags 'material' 'no_use'>>
<</item>>
/* 芯片 */
<<item "xinpian" "芯片|Microchip">>
<<level>> 10
<<price>> 2000
<<weight>> 0.05
<<description>> 先进的电子芯片。旧世界的稀有技术。|An advanced electronic chip. Rare technology from the old world.
<<tags 'valuable' 'electronic' 'no_use'>>
<</item>>
/* 油桶 */
<<item "youtong" "油桶|Oil Drum">>
<<price>> 80
<<weight>> 15.0
<<description>> 一个大油桶。很重,闻起来有柴油味。|A large oil drum. It's heavy and smells of diesel.
<<tags 'misc' 'no_use'>>
<</item>>
/* ==========================================
工具 (Tools) - 非武器
tag: 'tool' 'no_use'
========================================== */
/* 扳手 */
<<item "banshou" "扳手|Wrench">>
<<price>> 120
<<weight>> 0.8
<<description>> 活动扳手。机械维修必不可少。|An adjustable wrench. Essential for mechanical repairs.
<<tags 'tool' 'no_use'>>
<</item>>
/* 锤头 */
<<item "chuitou" "锤头|Hammer Head">>
<<price>> 80
<<weight>> 1.2
<<description>> 羊角锤。适合建筑和拔钉子。|A claw hammer. Good for construction and removing nails.
<<tags 'tool' 'no_use'>>
<</item>>
/* 电钻 */
<<item "drill" "电钻|Power Drill">>
<<price>> 300
<<weight>> 2.2
<<description>> 电池供电的电钻。|A battery-powered power drill.
<<tags 'tool' 'no_use'>>
<</item>>
/* 手电筒 */
<<item "flashlight" "手电筒|Tactical Flashlight">>
<<price>> 60
<<weight>> 0.4
<<description>> 战术手电筒。照亮黑暗角落。|A tactical flashlight. Illuminates dark corners.
<<tags 'tool' 'no_use'>>
<</item>>
/* 生锈平底锅 */
<<item "pan_rust" "生锈平底锅|Rusted Frying Pan">>
<<price>> 300
<<weight>> 1.5
<<description>> 一个满是铁锈的重型铸铁锅。出乎意料地能有效阻挡子弹(有时)。|A heavy cast-iron pan covered in rust. Surprisingly effective at blocking bullets (sometimes).
<<tags 'tool' 'no_use'>>
<</item>>
/* 撬棍 */
<<item "crowbar" "撬棍|Crowbar">>
<<price>> 300
<<weight>> 2.5
<<description>> 专为破拆障碍设计的实用撬棍。破障高效且可格挡,但攻击距离较短。|A practical crowbar designed for obstacle breaching. Highly effective at breaking barriers and blocking attacks but with a short attack range.
<<tags 'tool' 'no_use'>>
<</item>>
/* 稿件 */
<<item "gaozhi" "稿件|Manuscript">>
<<price>> 1
<<weight>> 0.3
<<description>> 某种稿件,上面写满无法读懂的计算公式。|A certain type of manuscript filled with incomprehensible calculation formulas.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 钢铲 */
<<item "steel_shovel" "钢铲|Steel Shovel">>
<<price>> 350
<<weight>> 2.0
<<description>> 一把坚固的钢铲。磨锋利后可以作为可怕的双手武器。|A sturdy steel shovel. Can be sharpened to act as a formidable two-handed weapon.
<<tags 'tool' 'no_use'>>
<</item>>
/* 盖革计数器 */
<<item "geiger_counter" "盖革计数器|Geiger Counter">>
<<price>> 500
<<weight>> 0.6
<<description>> 检测辐射水平。咔哒声很吓人。|Detects radiation levels. The clicking sound is terrifying.
<<tags 'misc' 'no_use'>>
<</item>>
/* 工具箱 */
<<item "gongjuxiang" "工具箱|Toolbox">>
<<price>> 450
<<weight>> 5.0
<<description>> 一个装满各种专业工具的沉重箱子。|A heavy box filled with various professional tools.
<<tags 'tool' 'no_use'>>
<</item>>
/* 打火机 */
<<item "lighter" "打火机|Lighter">>
<<price>> 25
<<weight>> 0.05
<<description>> 便宜的一次性打火机。火就是生命。|A cheap disposable lighter. Fire is life.
<<tags 'tool' 'no_use'>>
<</item>>
/* 门禁卡 1-4 */
<<item "menjinka1" "门禁卡 Lv.1|Key Card Lv.1">>
<<price>> 1000
<<weight>> 0.01
<<description>> 1级安全门禁卡。|Level 1 Security Access Card.
<<tags 'card' 'no_use'>>
<</item>>
<<item "menjinka2" "门禁卡 Lv.2|Key Card Lv.2">>
<<price>> 2000
<<weight>> 0.01
<<description>> 2级安全门禁卡。|Level 2 Security Access Card.
<<tags 'card' 'no_use'>>
<</item>>
<<item "menjinka3" "门禁卡 Lv.3|Key Card Lv.3">>
<<price>> 3000
<<weight>> 0.01
<<description>> 3级安全门禁卡。|Level 3 Security Access Card.
<<tags 'card' 'no_use'>>
<</item>>
<<item "menjinka4" "门禁卡 Lv.4|Key Card Lv.4">>
<<price>> 4000
<<weight>> 0.01
<<description>> 4级安全门禁卡。|Level 4 Security Access Card.
<<tags 'card' 'no_use'>>
<</item>>
/* 牛奶桶 */
<<item "niunaitong" "牛奶桶|Milk Churn">>
<<price>> 40
<<weight>> 1.0
<<description>> 一个铝制奶桶。|An aluminum milk churn.
<<tags 'misc' 'no_use'>>
<</item>>
/* 浴缸 */
<<item "yugang" "浴缸|Bathtub">>
<<price>> 200
<<weight>> 30.0
<<description>> 保存完好的浴缸,洗洗就跟新的一样。|The well-preserved bathtub will look as good as new after cleaning.
<<tags 'misc' 'no_use'>>
<</item>>
/* 收音机 */
<<item "radio" "收音机|Radio">>
<<price>> 150
<<weight>> 1.5
<<description>> 便携式无线电接收器。大多数时候只有静电噪音。|A portable radio receiver. Only static noise most of the time.
<<tags 'misc' 'no_use'>>
<</item>>
/* 铁桶 */
<<item "tietong" "铁桶|Iron Bucket">>
<<price>> 30
<<weight>> 1.2
<<description>> 一个生锈的铁桶。|A rusty iron bucket.
<<tags 'misc' 'no_use'>>
<</item>>
/* 渔网 */
<<item "yuwang" "渔网|Fishing Net">>
<<price>> 90
<<weight>> 1.0
<<description>> 捕鱼用的网。需要水源。|A net for catching fish. Requires a water source.
<<tags 'misc' 'no_use'>>
<</item>>
/* ==========================================
贵重品 (Valuables)
tag: 'valuable' 'no_use'
========================================== */
/* 雕花项链 */
<<item "diaohuaxianglian" "雕花项链|Carved Necklace">>
<<price>> 1500
<<weight>> 0.1
<<description>> 雕刻精美的银项链。|A silver necklace with intricate carvings.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 狗牌 (01-08) */
<<item "goupai01" "狗牌01|Dog Tag01">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai02" "狗牌02|Dog Tag02">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai03" "狗牌03|Dog Tag03">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai04" "狗牌04|Dog Tag04">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai05" "狗牌05|Dog Tag05">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai06" "狗牌06|Dog Tag06">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai07" "狗牌07|Dog Tag07">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
<<item "goupai08" "狗牌08|Dog Tag08">>
<<price>> 50
<<weight>> 0.02
<<description>> 阵亡士兵的身份牌。|Identification tag of a fallen soldier.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 红包 */
<<item "hongbao" "红包|Red Envelope">>
<<price>> 100
<<weight>> 0.01
<<description>> 装有旧世界货币的红包。好运符。|A red envelope containing old world currency. Good luck charm.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 戒指 */
<<item "jiezhi" "金戒指|Gold Ring">>
<<price>> 800
<<weight>> 0.01
<<description>> 金结婚戒指。有人丢了这个。|A gold wedding ring. Someone is missing this.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 十字项链 */
<<item "shizixianglian" "十字项链|Cross Necklace">>
<<price>> 600
<<weight>> 0.05
<<description>> 链子上的银十字架。|A silver cross on a chain.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 民房钥匙 */
<<item "minfangkey" "民房钥匙|Private house key">>
<<level>> 1
<<price>> 50
<<weight>> 0.1
<<description>> 一把普通的民房钥匙。|An ordinary key to a private house
<<tags 'key' 'no_use'>>
<</item>>
/* 古籍藏室钥匙 */
<<item "gujicangshikey" "古籍藏室钥匙|AncientBookRoom Key">>
<<level>> 1
<<price>> 50
<<weight>> 0.1
<<description>> 能打开旧城图书馆的古籍藏室。|Can open the Ancient Book Room of the Old Town Library.
<<tags 'key' 'no_use'>>
<</item>>
/* 金表 */
<<item "watch_gold" "金表|Gold Watch">>
<<price>> 2500
<<weight>> 0.2
<<description>> 奢华的金腕表。走时依然精准。|A luxury gold wrist watch. It still keeps perfect time.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 服务器 */
<<item "fuwuqi" "服务器|Server Unit">>
<<level>> 10
<<price>> 20000
<<weight>> 8.0
<<description>> 计算机服务器单元。很重,满是电路。|A computer server unit. Heavy and full of circuits.
<<tags 'valuable' 'electronic' 'no_use'>>
<</item>>
/* ==========================================
黑市电子货 (Black Market Electronics)
tag: 'heishi'
========================================== */
/* CPU */
<<item "cpu" "CPU|CPU">>
<<price>> 180
<<weight>> 0.2
<<description>> 电源管理尚可的旧世界处理器。只要主板没坏,仍然能驱动不少设备。|An old-world processor with decent power handling. If the board still lives, it can run plenty of hardware.
<<tags 'heishi'>>
<</item>>
/* 显卡 */
<<item "gpu" "显卡|Graphics Card">>
<<price>> 320
<<weight>> 1.4
<<description>> 一块独立显卡。对于图像处理、并行计算和高端终端来说仍有价值。|A dedicated graphics card. Still valuable for rendering, parallel workloads, and high-end terminals.
<<tags 'heishi'>>
<</item>>
/* 胶带 */
<<item "duct_tape" "胶带|Duct Tape">>
<<price>> 12
<<weight>> 0.2
<<description>> 结实的工业胶带。修补外壳、封住裂口和临时固定零件都很好用。|A sturdy roll of industrial tape. Great for patching shells, sealing cracks, and holding parts in place.
<<tags 'heishi'>>
<</item>>
/* 笔记本电脑 */
<<item "laptop" "笔记本电脑|Laptop">>
<<price>> 650
<<weight>> 2.2
<<description>> 还能开机的笔记本电脑。里面也许有资料,也许只有一堆加密垃圾。|A laptop that still powers on. It might contain useful data, or just a pile of encrypted junk.
<<tags 'heishi'>>
<</item>>
/* 摄像头 */
<<item "webcam" "摄像头|Webcam">>
<<price>> 30
<<weight>> 0.3
<<description>> 旧时代的网络摄像头。监控、直播或者做识别模块都派得上用场。|A webcam from the old days. Useful for surveillance, streaming, or improvised recognition rigs.
<<tags 'heishi'>>
<</item>>
/* 鼠标 */
<<item "mouse" "鼠标|Mouse">>
<<price>> 25
<<weight>> 0.1
<<description>> 标准电脑鼠标。单独价值不高,但成套设备总有人收。|A standard computer mouse. Worth little on its own, but buyers want complete setups.
<<tags 'heishi'>>
<</item>>
/* 机械硬盘 */
<<item "hard_drive" "机械硬盘|Hard Drive">>
<<price>> 40
<<weight>> 0.5
<<description>> 传统机械硬盘。容量还行,但得祈祷磁头没先报废。|A mechanical hard drive. Capacity is decent, if the read head hasn't already died.
<<tags 'heishi'>>
<</item>>
/* DVD光驱 */
<<item "dvd_drive" "DVD光驱|DVD Drive">>
<<price>> 45
<<weight>> 0.7
<<description>> 老式 DVD 光驱。如今少见,但档案站和旧机器偶尔还离不开它。|An old DVD drive. Rarely needed now, but archive rooms and legacy systems still use them.
<<tags 'heishi'>>
<</item>>
/* 内存条 */
<<item "ram" "内存条|RAM">>
<<price>> 80
<<weight>> 0.05
<<description>> 一条内存。品相好的话,修机器的人会愿意出钱。|A RAM stick. If it's in good shape, repair techs will pay for it.
<<tags 'heishi'>>
<</item>>
/* M.2 固态硬盘 */
<<item "m2_ssd" "M.2固态硬盘|M.2 SSD">>
<<price>> 120
<<weight>> 0.03
<<description>> M.2 固态硬盘。体积小、速度快,是很多便携设备最想要的存储件。|An M.2 solid-state drive. Small, fast, and highly desirable for compact hardware.
<<tags 'heishi'>>
<</item>>
/* 电源 */
<<item "power_supply" "电源|Power Supply">>
<<price>> 70
<<weight>> 1.8
<<description>> 电脑电源。只要供电稳定,它就是搭建工作站时最难替代的那一块。|A PC power supply. If the rails are stable, it's one of the hardest parts to replace in a workstation.
<<tags 'heishi'>>
<</item>>
/* U盘 */
<<item "usb_drive" "U盘|USB Drive">>
<<price>> 20
<<weight>> 0.02
<<description>> U 盘。容量不一定大,但拿来转移数据足够方便。|A USB flash drive. Capacity varies, but it's still convenient for moving data around.
<<tags 'heishi'>>
<</item>>
/* 键盘 */
<<item "keyboard" "键盘|Keyboard">>
<<price>> 50
<<weight>> 0.8
<<description>> 一把键盘。键帽有点旧,但输入设备在废土里总不嫌多。|A keyboard. The caps are worn, but input devices are never truly surplus in the wasteland.
<<tags 'heishi'>>
<</item>>
/* 固态硬盘 */
<<item "ssd" "固态硬盘|SSD">>
<<price>> 100
<<weight>> 0.1
<<description>> 标准 2.5 寸固态硬盘。速度和可靠性都比老硬盘强得多。|A standard 2.5-inch SSD. Faster and far more reliable than an old spinning drive.
<<tags 'heishi'>>
<</item>>
/* 太阳能板 */
<<item "solar_panel" "太阳能板|Solar Panel">>
<<price>> 120
<<weight>> 6.0
<<description>> 单块太阳能板。对想维持长期供电的人来说,这就是实打实的生命线。|A single solar panel. For anyone trying to keep power running long-term, this is a lifeline.
<<tags 'heishi'>>
<</item>>
/* 铜锭 */
<<item "tongding" "铜锭|Copper Ingot">>
<<price>> 3000
<<weight>> 5
<<description>> 纯铜锭。用于制造导电元件、锻造小型金属器具。|Pure copper ingot. Used for making conductive components and forging small metal appliances.
<<tags 'valuable' 'no_use'>>
<</item>>
/* 钢锭 */
<<item "gangding" "钢锭|Steel Ingot">>
<<price>> 5000
<<weight>> 5
<<description>> 精炼钢锭。用于冶炼合金、锻造各类金属构件。|Refined steel ingot. Used for smelting alloys and forging various metal components.
<<tags 'valuable' 'no_use'>>
<</item>>
/* ==========================================
杂物 (Misc)
tag: 'misc' 'no_use'
========================================== */
/* 广告电视 */
<<item "ad_tv" "广告电视|CRT Monitor">>
<<price>> 1500
<<weight>> 5.0
<<description>> 显示静态广告的小型CRT显示器。|A small CRT monitor displaying static advertising.
<<tags 'misc' 'no_use'>>
<</item>>
/* 闹钟 */
<<item "alarm" "闹钟|Alarm Clock">>
<<price>> 20
<<weight>> 0.3
<<description>> 旧式机械闹钟。声音大且烦人。|An old mechanical alarm clock. Loud and annoying.
<<tags 'misc' 'no_use'>>
<</item>>
/* 报纸 */
<<item "baozhi" "报纸|Newspaper">>
<<price>> 1
<<weight>> 0.1
<<description>> 崩溃前的旧新闻。|Old news from before the collapse.
<<tags 'misc' 'no_use'>>
<</item>>
/* 书籍 */
<<item "book" "书|Book">>
<<price>> 30
<<weight>> 0.5
<<description>> 精装小说。适合消磨时间。|A hardcover novel. Good for passing the time.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 书籍-武器使用说明 */
<<item "book_wuqi" "武器手册|Weapon Manual">>
<<price>> 30
<<weight>> 0.5
<<description>> 印着武器拆解与使用的精装手册,纸页厚实,既能翻查知识也能随手防身,末日里难得的实用读物。|A hardcover manual of weapon disassembly and usage. Thick pages for both reference and self-defense, a practical read in the apocalypse.
<<tags 'misc' 'no_use'>>
<</item>>
/* 书籍-装备使用说明 */
<<item "book_zhuangbei" "装备指南|Gear Guide">>
<<price>> 30
<<weight>> 0.5
<<description>> 详解各类户外、生存装备的使用与调试,精装封皮耐磨,塞进背包角落也不怕折损。|A detailed guide to using and debugging all kinds of outdoor and survival gear. Wear-resistant hardcover, no fear of damage in a backpack.
<<tags 'misc' 'no_use'>>
<</item>>
/* 书籍-配件大全 */
<<item "book_peijian" "配件图鉴|Part Atlas">>
<<price>> 30
<<weight>> 0.5
<<description>> 收录各类器械配件的规格与适配性,图文对照清晰,找配件、拼改装时能派上大用场。|Includes specs and compatibility of various equipment parts with clear illustrations, useful for finding and modifying parts.
<<tags 'misc' 'no_use'>>
<</item>>
/* 书籍-维修手册 */
<<item "book_weixiu" "维修宝典|Repair Book">>
<<price>> 30
<<weight>> 0.5
<<description>> 通用器械的维修与故障排查指南,精装装订不易散页,末日里修修补补的必备参考。|A guide to repairing and troubleshooting general equipment. Sturdy hardcover that won't fall apart, a must-have reference for fixing things in the apocalypse.
<<tags 'misc' 'no_use'>>
<</item>>
/* 丧尸血清 */
<<item "sangshixueqing" "丧尸血清|Zombie Serum">>
<<price>> 1
<<weight>> 0.1
<<description>> <<description>> 透明玻璃瓶封装的深紫色液体,萃取自刚完成变异的丧尸血液样本。|A dark purple liquid sealed in a clear glass vial, extracted from the blood sample of a newly mutated zombie.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 录音笔 */
<<item "dictophone" "录音笔|Dictaphone">>
<<price>> 400
<<weight>> 0.1
<<description>> 录有某人遗言的录音机。|A voice recorder containing someone's last words.
<<tags 'misc' 'no_use'>>
<</item>>
/* 玩偶 */
<<item "doll" "玩偶|Porcelain Doll">>
<<price>> 15
<<weight>> 0.3
<<description>> 令人毛骨悚然的瓷娃娃。|A creepy porcelain doll.
<<tags 'misc' 'no_use'>>
<</item>>
/* 福袋 */
<<item "fudai" "福袋|Lucky Bag">>
<<price>> 500
<<weight>> 0.2
<<description>> 神秘袋子。你想知道里面是什么。|A mystery bag. You wonder what is inside.
<<tags 'misc' 'no_use'>>
<</item>>
/* 信件 */
<<item "letter" "信件|Old Letter">>
<<price>> 0
<<weight>> 0.01
<<description>> 手写信。墨水褪色了。|A handwritten letter. The ink is faded.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 遗失物品 */
<<item "lost" "遗失物品|Lost Item">>
<<price>> 0
<<weight>> 0.5
<<description>> 幸存者掉落的东西。无法辨认。|Something dropped by a survivor. Unidentifiable.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 玫瑰花束 */
<<item "meiguihuashu" "玫瑰花束|Dried Roses">>
<<price>> 10
<<weight>> 0.5
<<description>> 干枯的玫瑰花束。浪漫的回忆。|A bouquet of dried roses. A memory of romance.
<<tags 'misc' 'no_use'>>
<</item>>
/* 玩具熊 */
<<item "wanjuxiong" "玩具熊|Teddy Bear">>
<<price>> 20
<<weight>> 0.4
<<description>> 毛绒泰迪熊。少了一只眼睛。|A plush teddy bear. One eye is missing.
<<tags 'misc' 'no_use'>>
<</item>>
/* 信封 */
<<item "xinfeng" "信封|Empty Envelope">>
<<price>> 1
<<weight>> 0.01
<<description>> 一个空信封。|An empty envelope.
<<tags 'renwu' 'no_use'>>
<</item>>
/* 药瓶(空) */
<<item "yaoping_kong" "药瓶(空)|Empty Bottle">>
<<price>> 2
<<weight>> 0.1
<<description>> 空的塑料药瓶。|An empty plastic medicine bottle.
<<tags 'misc' 'no_use'>>
<</item>>
/* 音响 */
<<item "yinxiang" "音响|Speaker">>
<<price>> 60
<<weight>> 3.0
<<description>> 扬声器单元。可以拆解出磁铁。|A speaker unit. Can be salvaged for magnets.
<<tags 'misc' 'no_use'>>
<</item>>
/* 精油 */
<<item "jingyou" "精油|Massage Oil">>
<<price>> 120
<<weight>> 0.5
<<description>> 天然植物提取的舒缓精油。可缓解肌肉酸痛与精神紧绷,在废土的残酷环境中提供短暂的放松与慰藉。|Natural plant-extracted soothing essential oil. Relieves muscle soreness and mental tension, offering brief relaxation and comfort in the harsh wasteland.
<<tags 'misc' 'no_use'>>
<</item>>
/* 酒精 */
<<item "jiujing" "酒精|Alcohol">>
<<price>> 40
<<weight>> 0.4
<<description>> 工业强度酒精。用于制作医疗用品或燃料。|Industrial strength alcohol. Used for crafting medical supplies or fuel.
<<tags 'misc' 'no_use'>>
<</item>>
<div class="cangku-page">
<!-- 左侧:背包区域 -->
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>背包|EN|INVENTORY<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<<itemGrid $beibao "store" $cangku $maxBeibaoSize>>
<<weightDisplay>>
<div>
<<link "Store All">>
<<storeAll>>
<</link>>
</div>
</div>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>仓库|EN|WARE HOUSE<</lang>></span>
<span class="capacity-bar"><<lang>>仓库容量|EN|Capacity<</lang>>: $cangku.uniqueLength / $maxCangkuSize </span>
</div>
<<itemGrid $cangku "withdraw" $beibao $maxCangkuSize>>
<div style="text-align: right; ">Sort:
<<button "Name">>
<<run $cangku.sortByName()>>
<<run Engine.play(passage())>>
<</button>>
<<button "Price">>
<<run $cangku.sortByPrice(true)>>
<<run Engine.play(passage(), true)>>
<</button>>
<<button "Weight">>
<<run $cangku.sortByWeight(true)>>
<<run Engine.play(passage())>>
<</button>>
</div>
</div>
</div>
<<if $cangkuReturn and Story.has($cangkuReturn)>>
<<link "Back">><<goto $cangkuReturn>><</link>>
<<else>>
[[Back|Home]]
<</if>>
/*
[[Back|Home]]
<<return "Back">>
*//*
Widget: 初始化关卡地图
用法: <<initStage 1>>
*/
<<widget "initStage">>
<<set _stage = $args[0]>>
<<set $mapQueue = []>>
<<set $visibleNodes = []>>
/* 临时数组,用于存放非特殊节点 */
<<set _pool = []>>
/* 获取配置 */
<<set _cfg = setup.stageConfig[_stage]>>
/* 1. 构建普通节点池 */
<<for _type, _count range _cfg>>
<<capture _type, _count>>
<<if _type is "name">> <<continue>> <</if>>
/* 排除必须在最后的特殊节点 */
<<if _type isnot "boss">>
<<for _i = 0; _i < _count; _i++>>
<<set _pName = setup.resolvePassage(_type, _stage)>>
<<run _pool.push({
type: _type,
passage: _pName,
isFixed: false
})>>
<</for>>
<</if>>
<</capture>>
<</for>>
/* 2. 打乱普通节点 */
<<run _pool.shuffle()>>
/* 3. 将打乱的节点放入队列 */
<<set $mapQueue = _pool>>
/* 4. 将特殊节点(Boss, 撤退)追加到队尾
这样保证它们是最后出现的 */
/* A. 处理 BOSS (保证在倒数第二的位置,或者最后) */
<<if _cfg["boss"] > 0>>
<<set _bossName = setup.resolvePassage("boss", _stage)>>
<<run $mapQueue.push({
type: "boss",
passage: _bossName,
isFixed: true
})>>
<</if>>
/* B. 处理 撤退点 (保证绝对在最后) */
<<set _retreatName = setup.resolvePassage("retreat", _stage)>>
<<run $mapQueue.push({
type: "retreat",
passage: _retreatName,
isFixed: true
})>>
/* 5. 初始发牌(抽3个) */
<<drawNodes>>
<</widget>>
/*
Widget: 补充显示节点
逻辑:如果当前没有可见节点,从队列里抽3个
*/
<<widget "drawNodes">>
<<if $visibleNodes.length == 0 and $mapQueue.length > 0>>
<<for _i = 0; _i < 3; _i++>>
<<if $mapQueue.length > 0>>
<<set _node = $mapQueue.shift()>>
<<run $visibleNodes.push(_node)>>
<</if>>
<</for>>
<</if>>
<</widget>>
/*
Widget: 生成节点链接
这是你要求的“同一类型的场景做成一个widget”
用法: <<nodeLink _type _index>>
*/
<<widget "nodeLink">>
<<set _nodeObj = $args[0]>> /* 拿到的是对象 */
<<set _index = $args[1]>> /* 它是visibleNodes里的第几个 */
/* 1. 从对象里取出真实的 Passage 名字 */
<<set _realPassage = _nodeObj.passage>>
<<set _type = _nodeObj.type>>
/* 2. 查 setup.SceneDB 获取图片和名字 */
<<set _meta = setup.SceneDB[_realPassage]>>
<<if _meta && _nodeObj.passage is "Item_01">>
<<set _meta.thumb to setup.ImagePath + "changjing/1/1-" + random(1, 10) + ".png">>
<<set _meta.name to setup.t(either("旧货架|old shelves", "废品堆|scrap heap", "杂物间|utility room"))>>
<<elseif _meta && _nodeObj.passage is "Item_02">>
<<set _meta.thumb to setup.ImagePath + "changjing/2/" + random(1, 10) + ".png">>
<<set _meta.name to setup.t(either("旧货架|old shelves", "废品堆|scrap heap", "杂物间|utility room"))>>
<</if>>
/* 防错兜底 */
<<if !_meta>>
<<set _meta = { name: "未知区域", thumb: "images/default.png" }>>
<</if>>
<div class="map-node">
<<capture _nodeObj, _index, _realPassage, _type, _meta>>
/* 1. 先判断图标 (这样写在模板字符串里比较干净) */
<<set _icon = "未知">>
<<if _type == "item">> <<set _icon = "📦">>
<<elseif _type == "normal_combat">> <<set _icon = "⚔️">>
<<elseif _type == "elite_combat">> <<set _icon = "☠️">>
<<elseif _type == "event">> <<set _icon = "❔">>
<<elseif _type == "boss">> <<set _icon = "👹">>
<<elseif _type == "retreat">> <<set _icon = "⛺">>
<</if>>
/* 2. 构建 HTML 内容 (使用反引号模板字符串) */
/* 注意:这里把原来的 node-content 整个包进去了 */
<<set _cardHtml = `
<div class="node-content">
<div class="node-icon">${_icon}</div>
<!-- 图片 -->
<img src="${_meta.thumb}" style="width:100px; height:100px; object-fit:cover; border:2px solid #333;">
<!-- 标题 -->
<div class="node-title">${setup.t(_meta.name)}</div>
</div>
`>>
/* 3. 生成链接 (整个卡片可点) */
<<link _cardHtml>>
/* A. 逻辑处理 */
<<if _type isnot "retreat">>
<<run $visibleNodes.deleteAt(_index)>>
<</if>>
/* B. 跳转 */
<<goto _realPassage>>
<</link>>
<</capture>>
</div>
<</widget>>
<<widget "rerollMap">>
<<if $player.money < 0>>
<<run UI.alert(setup.t("你没有足够的金币!|You don't have enough money!"))>>
<<else>>
<<set $player.money -= 0>>
/* 2. 执行智能洗牌 */
<<run setup.smartReshuffle()>>
/* 3. 重新抽牌 */
<<drawNodes>>
/* 4. 刷新当前页面显示 */
/* 你的 nodeLink 是在页面渲染时生成的,所以必须刷新 Passage 才能看到变化 */
<<script>>Engine.show();<</script>>
<</if>>
<</widget>><<set $player.isHome = false>>
<<lang>>离开栖身的小窝,我来到了城外,空气也立刻变得浑浊而沉重。四周一片寂静,但并非安全。我放轻脚步,耳朵捕捉着任何细微的声响——远处滴水的声音,风吹过缝隙的呜咽,以及……某种拖沓的摩擦声。
<br><br>
下面,我该去哪?
|EN|
Leaving our little shelter, I stepped outside, and the air immediately turned foul and heavy. Silence reigned all around, but it was far from safe. I softened my steps, my ears straining to catch the slightest sound—the distant drip of water, the wail of the wind through the cracks, and... a dragging, shuffling noise.
<br><br>
Where should I go next?
<</lang>>
<br><br>
<div class="column">
<a data-passage="map-tushuguan">
<img @src="setup.ImagePath + 'changjing/tushuguan.png'" width="100%">
</a>
<div class="o-text"><<lang>>旧城图书馆|EN|Old Town Library<</lang>></div>
</div>
<<if $currentStage gte 2>>
<div class="column">
<a data-passage="map-xiashuidao">
<img @src="setup.ImagePath + 'changjing/xiashuidao.png'" width="100%">
</a>
<div class="o-text"><<lang>>枢纽城下水道|EN|Sewage System of Hub City<</lang>></div>
</div>
<</if>>
<br>
<<link "Go Home">>
<<goto "Home">>
<</link>>
<style>
/* 1. 容器样式 (负责边框、动画、尺寸) */
.column {
position: relative;
display: block;
width: 100%;
height: 200px; /* 固定高度 */
margin-bottom: 15px;
background: #000;
border: 1px solid #444;
border-radius: 6px;
overflow: hidden;
cursor: pointer;
box-shadow: 0 4px 6px rgba(0,0,0,0.3);
transition: all 0.3s ease;
}
.column:hover {
border-color: #9400d3;
box-shadow: 0 0 15px rgba(0, 188, 212, 0.4);
transform: translateX(5px);
}
/* 2. 链接重置 (关键修复部分) */
.passage .column a.link-internal,
.passage .column a.macro-link {
margin: 0 !important;
padding: 0 !important;
background: transparent !important;
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
width: 100%;
height: 100%;
display: block;
transform: none !important;
}
.passage .column a.link-internal:hover {
background: transparent !important;
border: none !important;
box-shadow: none !important;
transform: none !important;
}
/* 3. 图片样式 */
.column img {
width: 100%;
height: 100%;
object-fit: cover !important;
display: block;
border: none !important;
opacity: 0.6;
transition: opacity 0.3s, transform 0.5s;
}
.column:hover img {
opacity: 0.8;
transform: scale(1.05);
}
/* 4. 文字叠加层 */
.o-text {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
display: flex;
align-items: center;
padding-left: 20px;
background: linear-gradient(90deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
color: #eee;
font-size: 16px;
font-weight: bold;
letter-spacing: 1px;
text-shadow: 0 2px 4px rgba(0,0,0,0.8);
z-index: 10;
pointer-events: none;
transition: color 0.3s, text-shadow 0.3s;
}
.column:hover .o-text {
color: #fff;
text-shadow: 0 0 8px rgba(0, 188, 212, 0.8);
}
/* 5. 扫描光动画 */
.column::after {
content: "";
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: linear-gradient(120deg, transparent 0%, transparent 30%, rgba(255, 255, 255, 0.2) 45%, rgba(0, 188, 212, 0.4) 50%, rgba(255, 255, 255, 0.2) 55%, transparent 70%, transparent 100%);
transform: translateX(-100%);
z-index: 5;
pointer-events: none;
}
.column:hover::after {
animation: scanEffect 0.6s ease-in-out;
}
@keyframes scanEffect {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style><<toggleclass "body" "home">>
<<set $player.isHome = true>>
<<if $characters["saika"].location is "">>
<<if $quests.completed.includes("q_heishang_shili1") and !$quests.active.includes("q_Saika_lianluoyuan") and !$quests.completed.includes("q_Saika_lianluoyuan")>>
<<set $characters["saika"].location to "Home">>
<<elseif $saikaReturnHomeAfterLianluoyuan>>
<<set $characters["saika"].location to "Home">>
<<set $saikaReturnHomeAfterLianluoyuan to false>>
<</if>>
<</if>>
[img[setup.ImagePath+'/changjing/home/h-0.png']]
[[Yua|yua]]
<<if $characters["saika"].location is "Home" && $quests.completed.includes("q_kill_Buxingzhe")>>
[[Saika|saika]]
<</if>>
<<set _action = setup.t("仓库|Warehouse")>>
<<link _action>><<set $cangkuReturn = passage()>><<goto "Cangku">><</link>>
<<if $game.zaotang>>
<<set _action = setup.t("浴室|Bath Room")>>
<<if $player.xizao>>
<a class="link-disabled">_action</a>
<<else>>
[[_action|Bath Room]]
<</if>>
<</if>>
<<if $game.chufang>>
<<set _action = setup.t("厨房|Kitchen")>>
<<if $player.chifan>>
<a class="link-disabled">_action</a>
<<else>>
[[_action|Kitchen]]
<</if>>
<</if>>
[[Go Sleep(+HP)|Sleep]]
<!-- 探索的开放时间: 06:00 - 22:00 -->
<!-- 1. 获取当前小时数 -->
<<set _hour = $gameDate.getHours()>>
<!-- 2. 判断是否是深夜 (22点以后 或 6点以前) -->
<<set _isNight = (_hour >= 21 || _hour < 6)>>
<!-- 3. 判断是否有武器 -->
<<set _hasWeapon = $equipment["mainhand"]>>
<!-- 4. 显示逻辑 -->
<<if _isNight>>
<!-- A. 如果是晚上:显示不可点击的灰色按钮 -->
<a class="link-disabled">
<<=setup.t("探索(晚上外面太危险 开放时间: 06:00 - 21:00)|Explore (Too dangerous at night Opening hours: 06:00 - 21:00)")>>
</a>
<<else>>
<!-- B. 如果是白天:正常显示 -->
<<if _hasWeapon>>
<!-- B1. 有武器 -->
<<link "Explore" "Map">>
<</link>>
<<else>>
<!-- B2. 没武器 (提示文字不同,但依然允许作死?) -->
/* 如果没武器也不让去,就把这里也改成 link-disabled */
<<set _expl = setup.t("探索(未装备主手武器)|Explore(Not equipped with mainhand)")>>
<<link _expl "Map">>
<</link>>
<</if>>
<</if>><<set _imgPath to setup.ImagePath + "changjing/1/b1-" + random(1, 5) + ".png">>
<center>[img[_imgPath]]</center>
<<lang>>地下档案馆弥漫着浓重的霉菌和纸张腐烂的气味。大部分书架都倒了,文件泡在不知名的水渍里。我在废墟中翻找,仔细的搜索四周,总算有所收获。|EN|The underground archives were filled with a strong smell of mold and decaying paper. Most of the bookshelves had collapsed, and the documents were soaked in unknown water stains. I rummaged through the ruins, carefully searching around, and finally found something.<</lang>>
<br><br>
<<link "Pickup" Diaoluo>>
<<generateLoot 5
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "misc",
max: 1,
chance: 0.5
}`
`{
tags: "food",
max: 1,
chance: 0.2
}`
`{
tags: "drink",
max: 1,
chance: 0.2
}`
`{
tags: "tool head feet",
max: 1,
chance: 0.2
}`
`{
tags: "key",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.3
}`
`{
tags: "valuable",
min: 0,
max: 1,
chance: 0.01
}`
>>
<</link>>
<<backToMap "StageMap">><<set setup.Battle.start(setup.getActiveMapStage(), "normal")>>
<<goto "ZhandouTest">>
<<set setup.Battle.start(setup.getActiveMapStage(), "elite")>>
<<goto "ZhandouTest">>
<<video 'changjing/1/buxingzhe'>>
<br><br>
<<lang>>
我终于杀到图书馆最深处时,走廊尽头只剩一片死寂的黑暗。应急灯早就灭了,只剩我手电筒的冷白光柱,像一把刀切开浓稠的夜色。空气里混着霉纸、尘土和一种更沉、更腥的味道——那是步行者独有的气息,像腐烂的铁锈混着陈年血块。
<br><br>
他就站在走廊中央,背对着我,缓慢移动。他的身高近两米,脊背佝偻却肌肉虬结,灰白的皮肤裂开无数道口子,里面渗出黑绿色的脓液,像在缓慢蠕动。头颅畸形肿胀,颅骨外翻,露出里面层层叠叠的肉瘤和骨刺,嘴巴裂到耳根,牙齿参差不齐,像一把生锈的锯。手臂垂在身侧,指甲长得像刀片,指尖滴着黏液,每一滴落地都发出“嗒”的一声,像在倒计时。
<br><br>
他时不时的肩膀微微耸动,像在嗅空气里的血腥味。他的呼吸粗重而缓慢,每一次吸气都带起低沉的呼噜声,像破风箱在拉锯。
<br><br>
我关掉战术手电,退到楼道的阴影里,屏住呼吸。心跳声在耳边轰鸣,我强迫自己冷静下来,这个家伙一看就不一般,我必须要小心应对。
|EN|
When I finally fought my way to the deepest part of the abandoned library, the end of the corridor was swallowed by absolute, dead silence. The emergency lights had long gone out; only the cold white beam of my flashlight sliced through the thick darkness like a blade. The air reeked of moldy paper, dust, and something heavier and more metallic— the distinct stench of the Tyrant, like rusted iron mixed with clotted old blood.
<br><br>
It stood right in the middle of the hallway, back turned to me, moving with agonizing slowness. Nearly two meters tall, its hunched spine was knotted with muscle beneath grayish skin that split open in countless fissures, oozing thick black-green pus that seemed to writhe on its own. Its head was grotesquely swollen, skull everted to expose layers of tumorous flesh and jagged bone spurs. The mouth gaped from ear to ear, teeth uneven like a rusted saw. Arms hung at its sides; the nails had grown into blade-like claws, viscous fluid dripping from the tips with a soft “tap” each time it hit the floor—like a slow countdown.
<br><br>
Its shoulders twitched now and then, as if sniffing the blood in the air. Its breathing was heavy and deliberate, each inhale pulling a low, rattling wheeze—like a broken bellows being worked.
<br><br>
I switched off the tactical flashlight and melted back into the stairwell’s shadow, holding my breath. My heartbeat thundered in my ears; I forced myself to stay calm. This thing clearly wasn’t ordinary—I had to handle it with extreme care.
<</lang>>
<<link "Fight">>
<<set setup.Battle.start(setup.getActiveMapStage(), "boss")>>
<<goto "ZhandouTest">>
<</link>>
<<backToMap "StageMap">><<if $characters["saika"].location is "AncientBookRoom">>
<center>[img[setup.videoPath + "saika/tushuguan0/xie.png"]]</center>
<br>
<<lang>>
我回来时Saika正低着头在本子上记录着什么。
|EN|
When I returned, Saika was bent over her notebook, quietly jotting something down.
<</lang>>
<br><br>
<<set _action = setup.t("Saika的任务板|Saika's Mission Board")>>
[[_action|saika-RenWuBan]]
<<if $quests.completed.includes("q_Saika_zs2")>>
<<set _action = setup.t("装备修理|Equipment Repair")>>
[[_action|zbXiuLi]]
<</if>>
<<if $quests.completed.includes("q_Saika_recalibrate")>>
<<set _action = setup.t("装备重铸|Equipment Reforge")>>
[[_action|zbChongZhu]]
<</if>>
<<if $quests.completed.includes("q_Saika_enchantment")>>
<<set _action = setup.t("装备附魔|Equipment Enchantment")>>
[[_action|zbFuMo]]
<</if>>
<<if $quests.completed.includes("q_zx_gongzuotai")>>
<<set _action = setup.t("工作台|Workbench")>>
[[_action|zbGongZuoTai]]
<</if>>
<<set _action = setup.t("打开(需要古籍藏室钥匙)|Open(Need AncientBookRoom Key)")>>
<<if $beibao.has("gujicangshikey") || $keybao.has("gujicangshikey")>>
<<link _action "AncientBookRoom01">>
<</link>>
<<else>>
<a class="link-disabled">_action</a>
<</if>>
<<else>>
<center>[img[setup.ImagePath + "changjing/1/AncientBookRoom.png"]]</center>
<<lang>>
当我推开古籍藏室的门时,一股浓郁的纸张腐烂的气味扑面而来。但是令我惊讶的是,这里面的书竟然保存的很好。我在这里仔细的搜索四周,总算有所收获。
|EN|
When I pushed open the door to the ancient book repository, a thick, pungent odor of rotting paper hit me right in the face. To my surprise, though, the books inside were remarkably well preserved. I rummaged through the ruins, searching carefully in every corner, and finally found something worthwhile.
<</lang>>
<br><br>
<!-- 检查是否有关于这个 NPC 的任务 -->
<<if $quests.active.includes("q_Saika_shizong")>>
<<lang>>我以前没留意,这次才发现这里竟然还有一扇暗门,可惜它被锁住了。
|EN|
I hadn't noticed it before, but this time I discovered there was actually a hidden door here—unfortunately, it's locked.
<</lang>>
<<set _action = setup.t("打开(需要古籍藏室钥匙)|Open(Need AncientBookRoom Key)")>>
<<if $beibao.has("gujicangshikey")>>
<<link _action "AncientBookRoom01">>
<</link>>
<<else>>
<a class="link-disabled">_action</a>
<</if>>
<<else>>
<<link "Pickup" Diaoluo>>
<<generateLoot 5
`{
tags: "food drink",
max: 1,
chance: 0.3
}`
`{
tags: "key",
max: 1,
chance: 0.2
}`
`{
tags: "valuable",
min: 0,
max: 1,
chance: 0.01
}`
>>
<<run $diaoluo.pickup("book", 1)>>
<</link>>
<</if>>
<</if>>
<<backToMap "StageMap">><center>[img[setup.ImagePath+'/changjing/retreat.png']]</center>
<<you>><<lang>>我很幸运,在探索的间隙找到了一个还算安全的地方,我可以在这里短暂的歇歇脚,进行一下补给。<</lang>><</you>>
[[Inventory|Beibao]]
<<backToMap "StageMap">>
<<link "Retreat">>
<<resetRun>>
<</link>><<run setup.ensureEquipmentQualityStyles()>>
<div class="panel-container" id="equip-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>装备栏|EN|ACTIVE EQUIPMENT<</lang>></span>
</div>
<div class="grid-layout equip-grid">
<<for _slot range setup.Equipment.slots>>
<<capture _slot>>
<<if $equipment[_slot]>>
<<set _equId = $equipment[_slot]>>
<<set _equInfo to setup.Item.get(_equId)>>
<<if !_equInfo and $itemInstances[_equId]>>
<<set _equInfo to $itemInstances[_equId]>>
<</if>>
<<set _imgName to _equId.substring(0, _equId.lastIndexOf('_'))>>
<<set _qualityData = setup.getEquipmentQualityData(_equId)>>
<<set _qualityClass = _qualityData ? ' equip-quality-' + _qualityData.tier : ''>>
<<set _durabilityClass = _qualityData ? ' durability-' + _qualityData.durabilityState : ''>>
<div @class="'slot occupied tooltip-down' + _qualityClass + _durabilityClass" @data-slot="_slot">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_equInfo.name)>></div>
<<if _qualityData and _qualityData.hasDurability>>
<div class="item-durability-bar">
<div class="item-durability-fill" @style="'width:' + _qualityData.durabilityPercent + '%'"></div>
</div>
<</if>>
</div>
<!-- Tooltip 显示在下方 -->
<div class="tooltip-content">
<h4><<= setup.t(_equInfo.name)>></h4>
/* 显示伤害 (如果是武器) */
<<if _equInfo.damage>>
<p>Damage: <span class="highlight"><<= _equInfo.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _equInfo.defence>>
<p>Defence: <span class="highlight"><<= _equInfo.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _equInfo.charm>>
<p>Charm: <span class="highlight"><<= _equInfo.charm>></span></p>
<</if>>
<p>Price: <span class="highlight"><<= _equInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _equInfo.weight>></span></p>
/* 显示耐久 */
<<if _equInfo.durability >= 0>>
<p>Durability: <span class="highlight"><<= _equInfo.durability>></span></p>
<</if>>
<<if _equInfo.level>>
<p>Level: <span class="highlight"><<= _equInfo.level>></span></p>
<</if>>
<<if _equInfo.description>>
<p style="color:#aaa; margin-top:5px;"><<=setup.t(_equInfo.description)>></p>
<</if>>
</div>
<div class="item-actions">
<<link 'Unequip'>>
<<run setup.Equipment.unequip($beibao, _slot)>>
<<replace "#equip-display">><<include "EquipmentDisplay">><</replace>>
<<replace "#inv-display">><<include "InventoryListRefresher">><</replace>>
<</link>>
</div>
</div>
<<else>>
<div class="slot empty tooltip-down" @data-slot="_slot"></div>
<</if>>
<</capture>>
<</for>>
</div>
</div><div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>背包|EN|INVENTORY<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<div class="grid-layout inv-grid">
<<for _item, _amount range $beibao.table>>
<<set _imgName to _item>>
<<set _itemInfo to setup.Item.get(_item)>>
<<capture _item, _amount, _itemInfo>>
<<if $itemInstances[_item]>>
<<set _imgName to _item.substring(0, _item.lastIndexOf('_'))>>
<</if>>
<div class="slot occupied">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_itemInfo.name)>></div>
<div class="item-amount">x_amount</div>
</div>
/* 1. 准备数据:检查是否需要对比 */
<<set _showCompare = false>>
<<set _equippedItem = null>>
/* 注意:你的 item 定义里用的是 <<slot>>,对应 JS 属性通常是 .slot (单数) */
<<if _itemInfo.slot>>
<<set _equippedId = $equipment[_itemInfo.slot]>>
/* 只有当身上有装备,且不是当前这件时,才显示对比 */
<<if _equippedId and _equippedId neq _item>>
<<set _showCompare = true>>
<<set _equippedItem = setup.Item.get(_equippedId)>>
<</if>>
<</if>>
/* 2. 渲染 Tooltip 容器 */
/* 如果需要对比,加上 comparison-mode 类 */
<div @class="'tooltip-content ' + (_showCompare ? 'comparison-mode' : '')">
/* --- 左侧:当前查看的物品 --- */
<div class="tooltip-section">
<h4><<= setup.t(_itemInfo.name)>></h4>
/* 显示伤害 (如果是武器) */
<<if _itemInfo.damage>>
<p>Damage: <span class="highlight"><<= _itemInfo.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _itemInfo.defence>>
<p>Defence: <span class="highlight"><<= _itemInfo.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _itemInfo.charm>>
<p>Charm: <span class="highlight"><<= _itemInfo.charm>></span></p>
<</if>>
<p>Price: <span class="highlight"><<= _itemInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _itemInfo.weight>></span></p>
/* 显示耐久 */
<<if _itemInfo.durability >= 0>>
<p>Durability: <span class="highlight"><<= _itemInfo.durability>></span></p>
<</if>>
<<if _itemInfo.level>>
<p>Level: <span class="highlight"><<= _itemInfo.level>></span></p>
<</if>>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_itemInfo.description)>></p>
<</if>>
</div>
/* --- 右侧:已穿戴的物品 (对比栏) --- */
<<if _showCompare>>
<!-- 中间分隔线 -->
<div class="tooltip-divider"></div>
<div class="tooltip-section" style="opacity: 0.8;"> <!--稍微暗一点区分-->
<h4>
<<= setup.t(_equippedItem.name)>>
<span class="equipped-badge">Equipped</span>
</h4>
/* 简单的属性对比逻辑 */
<<if _equippedItem.damage>>
<p>Damage: <span><<= _equippedItem.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _itemInfo.defence>>
<p>Defence: <span><<= _equippedItem.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _itemInfo.charm>>
<p>Charm: <span><<= _equippedItem.charm>></span></p>
<</if>>
<p>Price: <span><<= _equippedItem.price>></span></p>
<p>Weight: <span><<= _equippedItem.weight>></span></p>
<<if _equippedItem.durability>>
<p>Durability: <span><<= _equippedItem.durability>></span></p>
<</if>>
<<if _equippedItem.level>>
<p>Level: <span><<= _equippedItem.level>></span></p>
<</if>>
<<if _equippedItem.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_equippedItem.description)>></p>
<</if>>
/* 如果你想做更高级的绿色/红色数值对比,可以在这里写 JS 逻辑判断数值大小 */
</div>
<</if>>
</div>
<div class="item-actions">
<<if _itemInfo.consumable>>
<<link 'Use'>>
<<run $beibao.use(_item)>>
<<updateCaptionInfo>>
<</link>>
<</if>>
<<if _itemInfo.hasTag("equipable")>>
<<link 'Equip'>>
<<run setup.Equipment.equip($beibao, _item)>>
<<replace "#equip-display">><<include "EquipmentDisplay">><</replace>>
<<replace "#inv-display">><<include "InventoryListRefresher">><</replace>>
<</link>>
<</if>>
<<link 'Drop'>>
<<dialog 'Drop'>>
How much do you want to drop <<=Item.get(_item).name>>? <<textbox "_dropAmount" _amount>>
<<link 'OK'>>
<<set _dropAmount = Number(_dropAmount) || 0>>
<<drop $beibao _item _dropAmount>>
<<updateCaptionInfo>>
<<script>>
Dialog.setup("Beibao", "Beibao");
Dialog.wiki(Story.get("Beibao").processText());
Dialog.open();
<</script>>
<</link>>
<</dialog>>
<</link>>
</div>
</div>
<</capture>>
<</for>>
/* --- 第二部分:渲染剩余的空格子 --- */
<<set _currentCount to Object.keys($beibao.table).length>>
<<if _currentCount < $maxBeibaoSize>>
/* 算出需要补多少个空格子 */
<<for _i to 0; _i lt ($maxBeibaoSize - _currentCount); _i++>>
<div class="slot empty"></div>
<</for>>
<</if>>
</div>
<<weightDisplay>>
</div><<widget "generateLoot">>
/*
参数1: _levelCap (当前掉落的物品最高等级限制)
参数2...N: 掉落配置对象 (Object)
*/
<<set _levelCap to $args[0]>>
<<if setup.isLootGenerated>>
/* 读档情况:什么都不做,保留存档里的物品 */
<<elseif $diaoluo and not $diaoluo.empty()>>
/* 掉落背包不为空,属于读档情况:什么都不做,保留存档里的物品 */
<<else>>
/* 1. 初始化 */
<<set $diaoluo to Inventory.create()>>
/* 2. 获取列表 */
<<set setup.dropTable to []>>
/* 遍历从第2个参数开始的所有配置对象 */
/* $args.length 是总参数个数,我们从索引 1 开始遍历 */
<<for _i = 1; _i < $args.length; _i++>>
<<capture _i >>
<<set _cfg to $args[_i]>>
/* --- 解析配置 --- */
<<if typeof _cfg.tags === 'string'>>
/* 用空格分割 */
<<set _cfg.tags to _cfg.tags.split(" ")>>
<</if>>
/* 必须有 tags */
<<if def _cfg.tags>>
/* 1. 计算概率 (chance) */
/* 如果没写 chance,默认是 1 (100% 必掉) */
<<set _chance to (_cfg.chance !== undefined ? _cfg.chance : 1.0)>>
/* 如果随机数小于概率,则执行掉落 */
<<if Math.random() <= _chance>>
/* 2. 计算数量 */
<<set _min to (_cfg.min !== undefined ? _cfg.min : 0)>>
<<set _max to (_cfg.max !== undefined ? _cfg.max : _min)>>
<<set _count to random(_min, _max)>>
<<if _count > 0>>
/* 3. 调用 JS 获取具体物品 ID 列表 */
<<set _ids to setup.getDropList(_cfg.tags, _count, _levelCap)>>
/* 4. 合并到总掉落表中 */
<<set setup.dropTable to setup.dropTable.concat(_ids)>>
<</if>>
<</if>>
<</if>>
<</capture>>
<</for>>
/* 3. 追加任务物品掉落 10%概率 */
<<set _questDrops = setup.QuestManager.getNeededQuestItems(0.1)>>
<<set setup.dropTable to setup.dropTable.concat(_questDrops)>>
/* 4. 上锁!标记本次掉落已完成 */
<<set setup.isLootGenerated to true>>
<</if>>
/* 3. 生成循环 */
<<if setup.dropTable.length gt 0>>
/* 清理掉落包,把已经生成的掉落物品塞到掉落包里 */
<<dropall $diaoluo>>
<<for _i, _templateId range setup.dropTable>>
<<capture _i, _templateId>>
<<set _templateItem to setup.Item.get(_templateId)>>
<<if _templateItem.hasTag('equipable')>>
<<set _newItemId to setup.generateEquipment(_templateId)>>
<<if _newItemId>>
<<run $diaoluo.pickup(_newItemId, 1)>>
<</if>>
<<else>>
<<run $diaoluo.pickup(_templateId, 1)>>
<</if>>
<</capture>>
<</for>>
<</if>>
<</widget>>
<<widget "diaoluo">>
<<set _backPassage to $args[0] || "Map">>
<div class="cangku-page">
<!-- 左侧:背包区域 -->
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>背包|EN|INVENTORY<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<<itemGrid $beibao "store" $diaoluo $maxBeibaoSize>>
<<weightDisplay>>
</div>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>收集品|EN|Collectibles<</lang>></span>
<span class="capacity-bar"><<lang>>容量|EN|Capacity<</lang>>: $diaoluo.uniqueLength / 8 </span>
</div>
<<if $diaoluo.count() gt 0>>
<<set _takeAllLabel to setup.t("全部拾取|Take All")>>
<div style="margin: 8px 0 10px;">
<<link _takeAllLabel>>
<<run setup.performInventoryTransferAll($diaoluo, $beibao, $maxBeibaoSize)>>
<</link>>
</div>
<</if>>
<<itemGrid $diaoluo "withdraw" $beibao 8>>
</div>
</div>
<<link "Leave">>
/* === 关键:清理现场 === */
<<set setup.isLootGenerated to false>>
<<dropall $diaoluo>>
<<goto _backPassage>>
<</link>>
<</widget>><<diaoluo 'StageMap'>>
/*
<<script>>
console.log("beibao:", setup.Item.list, State.variables.itemInstances);
<</script>>
*//*
宏:<<moveItem>>
用途:在两个容器间移动 (自动判断是存仓库还是取回背包)
参数:源容器, 目标容器, 物品ID, 数量
*/
<<widget "moveItem">>
<<set _fromInv to $args[0]>>
<<set _toInv to $args[1]>>
<<set _item to $args[2]>>
<<set _amount to $args[3] || 1>>
<<set _maxSize to $args[4] || 9999>>
/* 1. 确定目标容器的限制 */
<<set _targetMaxCount to _maxSize>>
<<set _targetMaxWeight to Infinity>> /* 默认无限重 */
/* 如果目标是背包,使用玩家的限制 */
<<if _toInv is $beibao>>
<<set _targetMaxCount to $maxBeibaoSize>>
<<set _targetMaxWeight to $player.maxFuzhong>>
/* 如果目标是仓库,使用仓库的限制 (假设仓库不限重,只限格) */
<<elseif _toInv is $cangku>>
<<set _targetMaxCount to $maxCangkuSize>>
/* _targetMaxWeight 保持 Infinity,即不检查重量 */
<</if>>
/* 2. 执行双重检查 */
<<set _checkResult to setup.checkLimits(_toInv, _targetMaxCount, _targetMaxWeight, _item, _amount)>>
<<if _checkResult === true>>
/* 移动物品 */
<<run _fromInv.transfer(_toInv, _item, _amount)>>
<<updateCaptionInfo>>
<<run Engine.show()>>
<<else>>
/* 报错 */
<<run UI.alert(_checkResult)>>
<</if>>
<</widget>>
<<widget "weightDisplay">>
<div style="text-align: right; ">
/* 计算当前重量 */
<<set _curW to setup.getInvWeight($beibao)>>
/* 根据负重程度改变颜色 (可选) */
<<if _curW >= $player.maxFuzhong>>
@@color:red;Font-weight:bold; _curW / $player.maxFuzhong kg (超重!)@@
<<elseif _curW >= $player.maxFuzhong * 0.9>>
@@color:orange; _curW / $player.maxFuzhong kg@@
<<else>>
@@color:green; _curW / $player.maxFuzhong kg@@
<</if>>
</div>
<</widget>>
/*
宏:<<itemGrid>>
参数1: _targetInv (目标容器对象,如 $beibao)
参数2: _mode (模式字符串,决定显示什么按钮)
参数3: _otherInv (可选,交互的目标容器,如 $cangku)
*/
<<widget "itemGrid">>
<<set _targetInv to $args[0]>>
<<set _mode to $args[1] || "view">>
<<set _otherInv to $args[2]>>
<<set _maxSize to $args[3]>>
<<capture _targetInv, _mode, _otherInv>>
<<run setup.ensureEquipmentQualityStyles()>>
<div class="grid-layout wed-inv-grid">
<<for _item, _amount range _targetInv.table>>
<<set _imgName to _item>>
<<set _itemInfo to setup.Item.get(_item)>>
<<if !_itemInfo and $itemInstances[_item]>>
<<set _itemInfo to $itemInstances[_item]>>
<</if>>
<<capture _item, _amount, _itemInfo>>
<<if $itemInstances[_item]>>
<<set _imgName to _item.substring(0, _item.lastIndexOf('_'))>>
<</if>>
<<set _qualityData = setup.getEquipmentQualityData(_item)>>
<<set _benchSelected = (_mode is "repair" and $repairTarget is _item) or (_mode is "reforge" and $reforgeTarget is _item) or (_mode is "enchant" and $enchantTarget is _item) or (_mode is "breakdown" and $breakdownTarget is _item)>>
<<set _qualityClass = _qualityData ? ' equip-quality-' + _qualityData.tier : ''>>
<<set _durabilityClass = _qualityData ? ' durability-' + _qualityData.durabilityState : ''>>
<div @class="'slot occupied' + (_benchSelected ? ' selected' : '') + _qualityClass + _durabilityClass">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_itemInfo.name)>></div>
<div class="item-amount">x_amount</div>
<<if _qualityData and _qualityData.hasDurability>>
<div class="item-durability-bar">
<div class="item-durability-fill" @style="'width:' + _qualityData.durabilityPercent + '%'"></div>
</div>
<</if>>
</div>
/* 1. 准备数据:检查是否需要对比 */
<<set _showCompare = false>>
<<set _equippedItem = null>>
/* 注意:你的 item 定义里用的是 <<slot>>,对应 JS 属性通常是 .slot (单数) */
<<if _itemInfo.slot>>
<<set _equippedId = $equipment[_itemInfo.slot]>>
/* 只有当身上有装备,且不是当前这件时,才显示对比 */
<<if _equippedId and _equippedId neq _item>>
<<set _showCompare = true>>
<<set _equippedItem = setup.Item.get(_equippedId)>>
<</if>>
<</if>>
/* 2. 渲染 Tooltip 容器 */
/* 如果需要对比,加上 comparison-mode 类 */
<div @class="'tooltip-content ' + (_showCompare ? 'comparison-mode' : '')">
/* --- 左侧:当前查看的物品 --- */
<div class="tooltip-section">
<h4>
<<= setup.t(_itemInfo.name)>>
<<if (_mode is "store" or _mode is "withdraw") and _amount > 1>>
<span style="font-size:0.75em; color:#8fb7ff; margin-left:8px;">Alt/Command+Click: All</span>
<</if>>
</h4>
/* 显示伤害 (如果是武器) */
<<if _itemInfo.damage>>
<p>Damage: <span class="highlight"><<= _itemInfo.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _itemInfo.defence>>
<p>Defence: <span class="highlight"><<= _itemInfo.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _itemInfo.charm>>
<p>Charm: <span class="highlight"><<= _itemInfo.charm>></span></p>
<</if>>
<p>Price: <span class="highlight"><<= _itemInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _itemInfo.weight>></span></p>
/* 显示耐久 */
<<if _itemInfo.durability >= 0>>
<p>Durability: <span class="highlight"><<= _itemInfo.durability>></span></p>
<</if>>
<<if _itemInfo.level>>
<p>Level: <span class="highlight"><<= _itemInfo.level>></span></p>
<</if>>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_itemInfo.description)>></p>
<</if>>
</div>
/* --- 右侧:已穿戴的物品 (对比栏) --- */
<<if _showCompare>>
<!-- 中间分隔线 -->
<div class="tooltip-divider"></div>
<div class="tooltip-section" style="opacity: 0.8;"> <!--稍微暗一点区分-->
<h4>
<<= setup.t(_equippedItem.name)>>
<span class="equipped-badge">Equipped</span>
</h4>
/* 简单的属性对比逻辑 */
<<if _equippedItem.damage>>
<p>Damage: <span><<= _equippedItem.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _itemInfo.defence>>
<p>Defence: <span><<= _equippedItem.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _itemInfo.charm>>
<p>Charm: <span><<= _equippedItem.charm>></span></p>
<</if>>
<p>Price: <span><<= _equippedItem.price>></span></p>
<p>Weight: <span><<= _equippedItem.weight>></span></p>
<<if _equippedItem.durability>>
<p>Durability: <span><<= _equippedItem.durability>></span></p>
<</if>>
<<if _equippedItem.level>>
<p>Level: <span><<= _equippedItem.level>></span></p>
<</if>>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_equippedItem.description)>></p>
<</if>>
/* 如果你想做更高级的绿色/红色数值对比,可以在这里写 JS 逻辑判断数值大小 */
</div>
<</if>>
</div>
/* --- 3. 操作按钮区域 (保留你的结构) --- */
<div class="item-actions">
/* [Use] 按钮 */
<<if _itemInfo.consumable and _mode neq "sell">>
<<link 'Use'>>
<<run _targetInv.use(_item)>>
<<updateCaptionInfo>>
<<run Engine.play(passage())>>
<</link>>
<</if>>
/* 装备按钮 */
<<if _itemInfo.hasTag("equipable")>>
<<link 'Equip'>>
<<set _equipSource = _targetInv is $diaoluo ? "diaoluo" : (setup.isWorkbenchPassage(passage()) ? setup.getActiveWorkbenchSource(passage()) : (_targetInv is $cangku ? "cangku" : "beibao"))>>
<<set _equipResult = setup.Equipment.equipToSource(_equipSource, _item)>>
<<if _equipResult !== true>>
<<run UI.alert(_equipResult)>>
<<else>>
<<run Engine.play(passage())>>
<</if>>
<</link>>
<</if>>
/* --- 特定模式下的按钮 --- */
<<switch _mode>>
<<case "store">> /* 存入 */
<<invTransferAction 'Store' 'Store' _targetInv _otherInv _item _amount _maxSize>>
<<case "withdraw">> /* 取出 */
<<invTransferAction 'Withdraw' 'Withdraw' _targetInv _otherInv _item _amount _maxSize>>
<<case "sell">> /* 贩卖 */
<<link 'Sell One'>>
<<drop $beibao _item 1>>
<<set $player.money += _itemInfo.price>>
<<updateCaptionInfo>>
<<run Engine.play(passage())>>
<</link>>
/* 按钮2: 卖全部 (只有数量大于1时才显示) */
<<if _amount > 1>>
<<link 'Sell All'>>
<<drop $beibao _item _amount>>
/* 计算总价:单价 * 数量 */
<<set $player.money += (_itemInfo.price * _amount)>>
<<updateCaptionInfo>>
<<run Engine.play(passage())>>
<</link>>
<</if>>
<<case "repair">> /* --- 修理模式 --- */
/* 只有耐久度不满的装备才能选 */
<<if _itemInfo.durability !== undefined and _itemInfo.durability < _itemInfo.maxDurability>>
<<link "Select">>
/* 设置当前选中的物品 ID */
<<set $repairTarget = _item>>
/* 局部刷新右侧面板 */
<<replace "#repair-bench">><<include "renderZBXiuLi">><</replace>>
<</link>>
<</if>>
<<case "reforge">> /* --- 重铸模式 --- */
<<if _itemInfo.slot and _itemInfo.slot neq "offhand" and $itemInstances[_item] and _itemInfo.maxDurability !== undefined>>
<<link "Select">>
<<set $reforgeTarget = _item>>
<<replace "#reforge-bench">><<include "renderZBChongZhu">><</replace>>
<</link>>
<</if>>
<<case "enchant">> /* --- 附魔模式 --- */
<<if _itemInfo.slot and _itemInfo.slot neq "offhand" and $itemInstances[_item] and _itemInfo.maxDurability !== undefined>>
<<link "Select">>
<<set $enchantTarget = _item>>
<<set $enchantCount = 1>>
<<replace "#enchant-bench">><<include "renderZBFuMo">><</replace>>
<</link>>
<</if>>
<<case "breakdown">> /* --- 分解模式 --- */
<<set _breakdownRecipe = setup.getBreakdownRecipe(_item)>>
<<if _breakdownRecipe and _itemInfo and (setup.ItemBreakdownDB[_item] or (_itemInfo.slot and setup.isBreakdownEquipmentSlot(_itemInfo.slot)))>>
<<link "Select">>
<<set $breakdownTarget = _item>>
<<set $breakdownCount = 1>>
<<replace "#breakdown-bench">><<include "renderZBGongZuoTai">><</replace>>
<</link>>
<</if>>
<</switch>>
/* [Drop] 按钮 (保留你之前的逻辑) */
<<if _mode neq "sell" && _mode neq "repair" && _mode neq "reforge" && _mode neq "enchant" && _mode neq "breakdown">>
<<link 'Drop'>>
<<if _amount > 1>>
<<dialog 'Drop'>> How much do you want to drop <<=setup.t(_itemInfo.name)>>? <<textbox "_dropAmount" _amount>>
<<link 'OK'>>
<<set _dropAmount = Number(_dropAmount) || 0>>
<<if _dropAmount > 0>>
<<drop _targetInv _item _dropAmount>>
<<script>>Dialog.close();<</script>>
<<run Engine.play(passage())>>
<<updateCaptionInfo>>
<</if>>
<</link>>
<</dialog>>
<<else>>
<<drop _targetInv _item 1>>
<<run Engine.play(passage())>>
<</if>>
<<updateCaptionInfo>>
<</link>>
<</if>>
</div> <!-- End action -->
</div> <!-- End opt -->
<</capture>>
<</for>>
/* --- 第二部分:渲染剩余的空格子 --- */
<<set _currentCount to Object.keys(_targetInv.table).length>>
<<if _currentCount < _maxSize>>
/* 算出需要补多少个空格子 */
<<for _i to 0; _i lt (_maxSize - _currentCount); _i++>>
<div class="slot empty"></div>
<</for>>
<</if>>
</div> <!-- End item-grid -->
<</capture>>
<</widget>>
<<widget "storeAll">>
<<script>>
/* 使用块注释防止语法解析错误 */
var sv = State.variables;
var backpack = sv.beibao;
var warehouse = sv.cangku;
/* 检查变量是否存在 */
if (!backpack || !warehouse) {
UI.alert("变量丢失:请检查 $beibao 和 $cangku 是否已定义");
} else {
/* 变量存在,开始逻辑 */
var maxSlots = sv.maxCangkuSize || 999;
var itemIds = Object.keys(backpack.data);
var movedCount = 0;
/* 遍历背包物品 */
itemIds.forEach(function(itemId) {
var qty = backpack.data[itemId];
/* 计算仓库容量 */
var usedSlots = 0;
if (warehouse.uniqueLength !== undefined) {
usedSlots = warehouse.uniqueLength;
} else {
usedSlots = Object.keys(warehouse.data).length;
}
var hasItem = warehouse.has(itemId);
var hasSpace = usedSlots < maxSlots;
/* 移动逻辑 */
if (hasItem || hasSpace) {
backpack.transfer(warehouse, itemId, qty);
movedCount++;
}
});
/* 反馈结果 */
if (movedCount > 0) {
Engine.show();
} else {
if (itemIds.length === 0) {
} else {
UI.alert("仓库已满");
}
}
}
<</script>>
<<updateCaptionInfo>>
<</widget>><!-- 战斗舞台。这里是持久战斗舞台根节点,HUD 可以局部刷新,但玩家和敌人的根节点不要每次动作都重建。 -->
<div id="battle-stage">
<div id="battle-stage-effects" aria-hidden="true"></div>
<div id="battle-boss-fx-layer" aria-hidden="true"></div>
<div class="turn-hud">
<div class="turn-label">TURN</div>
<div class="turn-value" id="hud-turn"><<print $battle.turn>></div>
<!-- 装饰线 -->
<div class="turn-deco"></div>
</div>
<div id="battle-stage-camera">
<div id="battle-player-layer">
<!-- 玩家区域首屏模板。进入战斗后,BattleRenderer 会持续复用 player-unit 这个根节点。 -->
<div id="all-player-unit">
<<include "BattlePlayerUnit">>
</div>
</div>
<div id="battle-enemy-layer">
<!-- 敌人区域首屏模板。进入战斗后,BattleRenderer 会持续复用 enemy-* 根节点,只同步内部内容。 -->
<div id="enemies-group">
<<include "BattleEnemies">>
</div>
</div>
</div>
</div>
<div id="battle-hud">
<!-- 左:日志(按当前需求先注释掉,不再显示) -->
<!--
<div class="hud-panel" id="combat-log">
<<include "BattleLog">>
</div>
-->
<!-- 中:技能卡组 -->
<div id="skill-bar">
<<include "BattleSkillBar">>
</div>
<!-- 右:玩家数据 -->
<div class="hud-panel player-detail" id="hud-player-stats">
<<include "BattlePlayerHUD">>
</div>
</div>
<<script>>
// 中文注释:这里主动刷新一次,让 HUD 继续走 Twine replace,
// 但战斗舞台里的玩家/敌人节点会切到 BattleRenderer 的持久同步模式。
setTimeout(function () {
if (setup.Battle && typeof setup.Battle.refreshUI === "function") {
setup.Battle.refreshUI();
}
}, 0);
<</script>><h2>Victory!</h2>
<center>[img[setup.ImagePath+'kill.gif']]</center>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo>>
<<if $battle.type is "normal">>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "food drink",
max: 1,
chance: 0.2
}`
`{
tags: "key",
max: 1,
chance: 0.3
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.5
}`
>>
<<elseif $battle.type is "elite">>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
max: 1,
chance: 0.5
}`
`{
tags: "key",
max: 1,
chance: 0.5
}`
`{
tags: "tool",
max: 1,
chance: 0.3
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
min: 1,
max: 3,
chance: 1
}`
>>
<<else>>
/* BOSS 或其他情况 */
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "tool",
max: 1,
chance: 0.5
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
min: 3,
max: 5,
chance: 1
}`
>>
<</if>>
<</link>>
<<backToMap "StageMap">><!-- 定义一个容器,给它一个唯一的 ID,比如 quest-list-container -->
<div id="quest-list-container">
<!-- 初始化时调用一次 widget -->
<<include "renderRenWuList">>
</div>You are at the Village Square. The Elder is looking at you.
<!-- 检查是否有关于这个 NPC 的任务 -->
<<if $quests.active.includes("q_visit_elder")>>
<<link "Report to the Elder">>
<<run setup.QuestManager.complete("q_visit_elder")>>
<<script>>Dialog.setup("Mission Update", "Quest Completed!"); Dialog.open();<</script>>
<<goto "FindNpc">>
<</link>>
<<else>>
The Elder seems busy.
<</if>>
[[Home]]<<missionBoard "yua" "Yua">>
<<return "Back">>
<<lang>>
世界被啃食得只剩下骨架,而我们就在这骨架的缝隙里苟延残喘。
<br><br>
<<video 'changjing/0/shichao'>>
<br><br>
三年前,丧尸病毒像一场黑色的海啸,吞没了城市、国家,以及我们所熟知的一切。国家崩溃了,文明变成了回忆录里的名词。然后,新的东西从废墟上长出来——不是更好的东西,只是更适应这个残酷现实的东西。
<br><br>
我叫<<textbox "$player.name" "Tony">>——至少现在这么叫。
<br><br>
我曾经是“永恒联邦”的一名士兵,编号89757。联邦宣称自己是旧日荣光的继承者,秩序的守护者,人类的最后希望。他们说,服从,就能活下去;奉献,就能重建。
<br>
<center>[img[setup.ImagePath+'/changjing/0/0-1.png']]</center>
<br>
我相信过。直到他们给我们这些底层士兵注射“适应性强化剂”的那天。他们说那是为了让我们在污染区作业时多一层保障。但我的排里有五个人注射后一周内器官衰竭而死,剩下的,包括我,开始“变化”。
<br><br>
我失去了痛觉。
<br><br>
不是麻木,是彻底的消失。子弹擦过手臂,我只感觉到冲击力和温热的血,但没有痛。骨折时,我只听到骨头断裂的声响,但神经沉默得像死了。军医说这是“罕见的副作用”,是“福音”——无畏的士兵。
<br><br>
<<linkreplace 'continue'>>
<br><br>
但我知道这不是恩赐。我在后勤部做过,见过运输清单上那些被标记为“普罗米修斯计划”的密封箱,听过研究员醉后的低语。我们不是士兵,我们是实验体,是这个新世界秩序用来测试“永生”可能性的小白鼠。
<br>
<center>[img[setup.ImagePath+'/changjing/0/0-3.gif']]</center><br>
<br>
我逃了。带着Yua——她是基地的数据分析师,在清理旧档案时发现了关于“副作用”真实统计数据的加密文件。我们趁夜溜出警戒区,穿过辐射区,躲过巡逻队和尸群,最后流落到了“枢纽城”。
<br><br>
现在,我是“送货的”。什么都可以送,只要付得起价。Yua负责在酒吧、黑市和信息站织起一张关系网,接那些不太适合公开讨论的委托。我负责执行。
<br><br>
[[Continue|Intro2]]
<</linkreplace>>
|EN|
The world has been gnawed down to its bare bones, and we linger in the cracks of its skeleton, struggling to survive.
<br><br>
<<video 'changjing/0/shichao'>>
<br><br>
Three years ago, the zombie virus swept through like a black tsunami, swallowing cities, nations, and everything we knew. Nations collapsed, and civilization became a noun found only in memoirs. Then, something new grew from the ruins—not something better, just something more adapted to this cruel reality.
<br><br>
My name is <<textbox "$player.name" "Tony">>—at least, that's what I go by now.
<br><br>
I used to be a soldier of the "Eternal Federation," number 89757. The Federation claimed to be the heirs of past glory, the guardians of order, humanity's last hope. They said: Obey, and you survive; Dedicate, and we rebuild.
<br>
<center>[img[setup.ImagePath+'/changjing/0/0-1.png']]</center>
<br>
I believed them. Until the day they injected us low-ranking soldiers with "Adaptive Enhancers." They said it was to give us an extra layer of protection when operating in contamination zones. But five men in my platoon died of organ failure within a week of the injection. The rest, including me, began to "change."
<br><br>
I lost the ability to feel pain.
<br><br>
Not numbness, but complete disappearance. When a bullet grazed my arm, I felt the impact and the warm blood, but no pain. When a bone fractured, I heard the snap, but my nerves remained as silent as the dead. The medic called it a "rare side effect," a "blessing"—the fearless soldier.
<br><br>
<<linkreplace 'Continue'>>
<br><br>
But I knew it wasn't a gift. I had worked in logistics; I had seen the sealed crates on transport manifests marked "Project Prometheus," and heard the drunken whispers of researchers. We weren't soldiers; we were test subjects, lab rats used by this new world order to test the possibility of "immortality."
<br>
<center>[img[setup.ImagePath+'/changjing/0/0-3.gif']]</center><br>
<br>
I ran. I took Yua with me—she was a data analyst at the base who found encrypted files regarding the true statistics of the "side effects" while clearing old archives. We slipped out of the quarantine zone at night, crossed the radiation zone, dodged patrols and hordes, and finally ended up in "Hub City."
<br><br>
Now, I'm a "Courier." I deliver anything, as long as the price is met. Yua weaves a network of connections in bars, black markets, and info stations to pick up commissions that aren't suitable for public discussion. I handle the execution.
<br><br>
[[Continue|Intro2]]
<</linkreplace>>
<</lang>><<toggleclass "body" "home">>
[img[setup.ImagePath+'/changjing/home/h-1.png']]
<br><br>
<<lang>>Yua整在忙着清点物资,看见我回来后用手指了指任务板,示意我自己去查看新的委托。|EN|Yua was busy taking inventory of the supplies. Seeing me return, she pointed to the mission board, signaling for me to check the new commissions myself.<</lang>>
<br><br>
<<set _action = setup.t("Yua的任务板|Yua's Mission Board")>>
[[_action|yua-RenWuBan]]
<<set _action = setup.t("Yua的商店|Yua's Shop")>>
<<link _action "yuaShop">>
<</link>>
[[Go Back|Home]]
<<sleep>>
[[Wake UP|Home]]
/* ==========================================
主手装备 (Mainhand) - damage按等级划分,durability固定100
========================================== */
/* 自制土枪 - Lv.1 (起步武器,配合技能可破第一关肉盾) */
<<item "homemade_gun" "自制土枪|Pipe Gun">>
<<level>> 1
<<price>> 300
<<weight>> 2.0
<<damage>> 12-16
<<durability>> 100
<<slot>> mainhand
<<description>> 用废金属制成的简陋枪械。它可能会杀死敌人,也可能会在你手中爆炸。|A crude firearm made from scrap metal. It might kill the enemy, or it might explode in your hands.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* 自制步枪 - Lv.3 (稳定的远程伤害) */
<<item "homemade_rifle" "自制步枪|Scrap Rifle">>
<<level>> 3
<<price>> 500
<<weight>> 3.5
<<damage>> 15-20
<<durability>> 100
<<slot>> mainhand
<<description>> 凑合用的远程武器。不可靠且不精准,但总比扔石头强。|A makeshift long-range weapon. Unreliable and inaccurate, but better than throwing stones.
<<tags "equipable" "mainhand-tier1" "rifle" "mainhand">>
<</item>>
/* 截短霰弹枪 - Lv.4 (高爆发) */
<<item "xiandanqiang" "截短霰弹枪|Sawn-off Shotgun">>
<<level>> 4
<<price>> 1500
<<weight>> 1.8
<<damage>> 10-25
<<durability>> 100
<<slot>> mainhand
<<description>> 一把锯短了枪管的双管霰弹枪。散布极大,近距离极其致命。|A double-barrel shotgun with the barrel sawn off for concealment. Massive spread, extremely lethal point-blank.
<<tags "equipable" "mainhand-tier1" "shotgun" "mainhand">>
<</item>>
/* 马卡洛夫PM手枪 - Lv.5 (第一关神器,高精准) */
<<item "pm" "马卡洛夫PM|Makarov PM">>
<<level>> 5
<<price>> 900
<<weight>> 0.73
<<damage>> 18-24
<<durability>> 100
<<slot>> mainhand
<<description>> 一把传奇的苏联手枪。小巧、简单,且几乎坚不可摧。|A legendary Soviet pistol. Small, simple, and virtually indestructible.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* 托卡列夫TT手枪 - Lv.7 (第二关过渡,高穿透) */
<<item "tt" "托卡列夫TT|TT-33 Tokarev">>
<<level>> 7
<<price>> 1100
<<weight>> 0.85
<<damage>> 20-26
<<durability>> 100
<<slot>> mainhand
<<description>> 一把旧式苏联制式手枪。作为手枪穿透力高,但缺乏人体工学设计。|An old Soviet service pistol. High penetration for a handgun, but lacks ergonomic features.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* 执法者手枪 - Lv.10 (第二关毕业武器) */
<<item "Law_Enforcers" "执法者|Law_Enforcers">>
<<level>> 10
<<price>> 900
<<weight>> 0.7
<<damage>> 24-30
<<durability>> 100
<<slot>> mainhand
<<description>> 美国警方的制式装备。该枪全长182毫米,约9.1毫米口径,弹容量为6发。|Standard equipment of the U.S. police. The total length of this gun is 182 millimeters, with a caliber of approximately 9.1 millimeters and a magazine capacity of 6 rounds.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* PPS-43冲锋枪 - Lv.12 (进入Tier 2,适合配合AOE) */
<<item "pps43" "PPS-43冲锋枪|PPS-43">>
<<level>> 12
<<price>> 1800
<<weight>> 3.0
<<damage>> 22-32
<<durability>> 100
<<slot>> mainhand
<<description>> 二战时期的冲压钢制冲锋枪。做工粗糙,但倾泻子弹的速度很快。|A stamped-steel SMG from WWII. Rough finish, but spews lead rapidly.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* APS斯捷奇金手枪 - Lv.14 (全自动手枪) */
<<item "aps" "APS斯捷奇金手枪|APS Stechkin">>
<<level>> 14
<<price>> 2200
<<weight>> 1.22
<<damage>> 26-34
<<durability>> 100
<<slot>> mainhand
<<description>> 一款能够全自动射击的苏联冲锋手枪。弥补了手枪和冲锋枪之间空白的稀有发现。|A Soviet machine pistol capable of fully automatic fire. A rare find that bridges the gap between pistol and SMG.
<<tags "equipable" "mainhand-tier2" "pistol" "mainhand">>
<</item>>
/* AKS-74U短突击步枪 - Lv.15 (第三关毕业武器) */
<<item "aks74u" "AKS-74U短突击步枪|AKS-74U">>
<<level>> 15
<<price>> 3200
<<weight>> 2.7
<<damage>> 30-38
<<durability>> 100
<<slot>> mainhand
<<description>> AK-74的紧凑卡宾枪版本。非常适合近距离作战,但有效射程较短。|A compact carbine version of the AK-74. Great for close-quarters combat but suffers from effective range.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* 十字弩 - Lv.16 (特殊武器,高单发) */
<<item "crossbow" "十字弩|Crossbow">>
<<level>> 16
<<price>> 2800
<<weight>> 3.5
<<damage>> 40-50
<<durability>> 100
<<slot>> mainhand
<<description>> 无声且致命。发射具有高制止力的弩箭,非常适合潜行行动。|Silent and deadly. Fires bolts with high stopping power, perfect for stealth operations.
<<tags "equipable" "mainhand-tier2" "special" "mainhand">>
<</item>>
/* AK74突击步枪 - Lv.18 (第四关标准武器) */
<<item "ak74" "AK74突击步枪|AK-74 Assault Rifle">>
<<level>> 18
<<price>> 3500
<<weight>> 3.3
<<damage>> 35-45
<<durability>> 100
<<slot>> mainhand
<<description>> 苏联设计的5.45x39mm口径突击步枪。坚固、可靠,在废土上随处可见。|A Soviet-designed assault rifle chambered in 5.45x39mm. Rugged, reliable, and ubiquitous in the wasteland.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* 波波沙冲锋枪 - Lv.19 (弹鼓压制) */
<<item "ppsh" "波波沙冲锋枪|PPSh-41">>
<<level>> 19
<<price>> 2100
<<weight>> 3.6
<<damage>> 30-40
<<durability>> 100
<<slot>> mainhand
<<description>> “爸爸沙”。以高射速和大弹鼓闻名。非常适合在走廊里扫射。|The 'Papasha'. Famous for its high rate of fire and large drum magazines. Great for spraying down corridors.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* DP-27轻机枪 - Lv.20 (第四关毕业重武器) */
<<item "dp27" "DP-27轻机枪|DP-27 LMG">>
<<level>> 20
<<price>> 4800
<<weight>> 9.1
<<damage>> 40-50
<<durability>> 100
<<slot>> mainhand
<<description>> “唱片机”机枪。笨重且古老,但其7.62x54mmR子弹能轻松撕裂掩体。|The "Record Player" machine gun. Heavy and old, but its 7.62x54mmR rounds tear through cover effortlessly.
<<tags "equipable" "mainhand-tier2" "heavy" "mainhand">>
<</item>>
/* SVD狙击步枪 - Lv.22 (进入Tier 3,远程点杀) */
<<item "svd" "SVD狙击步枪|SVD Dragunov">>
<<level>> 22
<<price>> 5500
<<weight>> 4.3
<<damage>> 45-60
<<durability>> 100
<<slot>> mainhand
<<description>> 经典的班组精确射手步枪。可靠的半自动射击,射程良好。|The classic squad designated marksman rifle. Reliable semi-auto fire with good range.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* MK48轻机枪 - Lv.25 (第五关持续火力) */
<<item "MK48" "MK48轻机枪|MK48 LMG">>
<<level>> 25
<<price>> 8200
<<weight>> 8.2
<<damage>> 50-62
<<durability>> 100
<<slot>> mainhand
<<description>> 一款较轻的7.62mm北约口径机枪。为小队提供便携火力。|A lighter weight machine gun chambered in 7.62mm NATO. Portable firepower for the squad.
<<tags "equipable" "mainhand-tier3" "heavy" "mainhand">>
<</item>>
/* 沙漠之鹰 - Lv.25 (第五关破甲手枪) */
<<item "Desert_Eagle" "沙漠之鹰|Desert Eagle">>
<<level>> 25
<<price>> 4500
<<weight>> 1.9
<<damage>> 55-70
<<durability>> 100
<<slot>> mainhand
<<description>> 一把强大的.50 AE口径手枪,具有极高的制止力,但后坐力大且装填缓慢。|A powerful .50 AE caliber pistol with extreme stopping power, though hindered by heavy recoil and slow reloads.
<<tags "equipable" "mainhand-tier3" "pistol" "mainhand">>
<</item>>
/* HK416突击步枪 - Lv.27 (第六关通用武器) */
<<item "HK416" "HK416突击步枪|HK416 Assault Rifle">>
<<level>> 27
<<price>> 7500
<<weight>> 3.4
<<damage>> 60-75
<<durability>> 100
<<slot>> mainhand
<<description>> 特种部队使用的高阶现代突击步枪。具有卓越的精度和模块化设计。|A high-tier modern assault rifle used by special forces. Exceptional accuracy and modularity.
<<tags "equipable" "mainhand-tier3" "rifle" "mainhand">>
<</item>>
/* MG5通用机枪 - Lv.28 (第六关重火力) */
<<item "MG5" "MG5通用机枪|MG5 Machine Gun">>
<<level>> 28
<<price>> 8500
<<weight>> 11.2
<<damage>> 65-80
<<durability>> 100
<<slot>> mainhand
<<description>> 一款现代弹链供弹机枪。以高可靠性提供压倒性的火力压制。|A modern belt-fed machine gun. Provides overwhelming suppressive fire with high reliability.
<<tags "equipable" "mainhand-tier3" "heavy" "mainhand">>
<</item>>
/* PSG-1狙击步枪 - Lv.28 (极致精度) */
<<item "PSG_1" "PSG-1狙击步枪|PSG-1 Sniper">>
<<level>> 28
<<price>> 9500
<<weight>> 7.2
<<damage>> 70-85
<<durability>> 100
<<slot>> mainhand
<<description>> 一把高精度半自动狙击步枪。沉重且昂贵,但提供无与伦比的精度。|A high-precision semi-automatic sniper rifle. Heavy and expensive, but offers unmatched accuracy.
<<tags "equipable" "mainhand-tier3" "sniper" "mainhand">>
<</item>>
/* 反坦克导弹 - Lv.29 (对付重甲BOSS) */
<<item "ptrk" "反坦克导弹|ATGM Launcher">>
<<level>> 29
<<price>> 12000
<<weight>> 11.5
<<damage>> 75-90
<<durability>> 100
<<slot>> mainhand
<<description>> 便携式反坦克导弹系统。对付步兵是大材小用,但对付装甲目标必不可少。|A portable anti-tank guided missile system. Overkill for infantry, essential for armored targets.
<<tags "equipable" "mainhand-tier3" "heavy" "mainhand">>
<</item>>
/* 巴雷特M82A1 - Lv.30 (游戏毕业武器) */
<<item "M82A1" "巴雷特M82A1|Barrett M82A1">>
<<level>> 30
<<price>> 15000
<<weight>> 14.0
<<damage>> 80-100
<<durability>> 100
<<slot>> mainhand
<<description>> 一把反器材狙击步枪。.50 BMG子弹能粉碎任何击中的目标,包括轻型载具。|An anti-material sniper rifle. The .50 BMG round obliterates anything it hits, including light vehicles.
<<tags "equipable" "mainhand-tier3" "sniper" "mainhand">>
<</item>>
/* ==========================================
扩展枪械库 (Imported Firearms)
来源:Samsung_T3/图片/13.E013三角洲行动道具物品/1.枪械
规则:只导入基础样式,图片文件名统一与物品 ID 对齐
========================================== */
/* G17手枪 - Lv.6 (制式手枪) */
<<item "G17" "G17手枪|Glock 17">>
<<level>> 6
<<price>> 1000
<<weight>> 0.91
<<damage>> 19-25
<<durability>> 100
<<slot>> mainhand
<<description>> 经典的聚合物制式手枪。结构简单、故障率低,是废土里非常可靠的副武器。|A classic polymer service pistol. Simple, dependable, and very reliable in the wasteland.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* M1911手枪 - Lv.8 (制式手枪) */
<<item "M1911" "M1911手枪|M1911 Pistol">>
<<level>> 8
<<price>> 1400
<<weight>> 1.1
<<damage>> 21-28
<<durability>> 100
<<slot>> mainhand
<<description>> 历经百年的大口径手枪。后坐力明显,但命中后很有分量。|A century-old large-caliber pistol. Kicks hard, but every hit lands with authority.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* UZI冲锋枪 - Lv.8 (冲锋枪) */
<<item "UZI" "UZI冲锋枪|UZI SMG">>
<<level>> 8
<<price>> 1300
<<weight>> 3.5
<<damage>> 21-27
<<durability>> 100
<<slot>> mainhand
<<description>> 近距离火力凶猛的紧凑冲锋枪。精度一般,但泼洒子弹的效率很高。|A compact SMG with brutal close-range firepower. Modest accuracy, but excellent bullet output.
<<tags "equipable" "mainhand-tier1" "smg" "mainhand">>
<</item>>
/* QSZ92G手枪 - Lv.9 (制式手枪) */
<<item "QSZ92G" "QSZ92G手枪|QSZ92G Pistol">>
<<level>> 9
<<price>> 1500
<<weight>> 0.76
<<damage>> 22-28
<<durability>> 100
<<slot>> mainhand
<<description>> 轻便的现代制式手枪。携带负担小,适合长时间探索时使用。|A lightweight modern service pistol. Easy to carry and well suited for long scavenging trips.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* 357左轮 - Lv.9 (制式手枪) */
<<item "revolver_357" "357左轮|.357 Revolver">>
<<level>> 9
<<price>> 1600
<<weight>> 1.1
<<damage>> 22-29
<<durability>> 100
<<slot>> mainhand
<<description>> 老派左轮手枪。装填慢,但每一发子弹都很有威慑力。|An old-school revolver. Slow to reload, but every round is intimidating.
<<tags "equipable" "mainhand-tier1" "pistol" "mainhand">>
<</item>>
/* 勇士冲锋枪 - Lv.10 (冲锋枪) */
<<item "Yongshi" "勇士冲锋枪|Warrior SMG">>
<<level>> 10
<<price>> 1700
<<weight>> 3.2
<<damage>> 23-31
<<durability>> 100
<<slot>> mainhand
<<description>> 结构厚实的冲锋枪,擅长中近距离压制。它不精巧,但很能打。|A stout SMG built for mid-close suppression. Not elegant, but very effective.
<<tags "equipable" "mainhand-tier1" "smg" "mainhand">>
<</item>>
/* M870霰弹枪 - Lv.11 (霰弹枪) */
<<item "M870" "M870霰弹枪|M870 Shotgun">>
<<level>> 11
<<price>> 1900
<<weight>> 3.2
<<damage>> 18-38
<<durability>> 100
<<slot>> mainhand
<<description>> 经典泵动霰弹枪。操作直接粗暴,贴脸时威力惊人。|A classic pump-action shotgun. Direct, brutal, and devastating up close.
<<tags "equipable" "mainhand-tier2" "shotgun" "mainhand">>
<</item>>
/* 93R手枪 - Lv.12 (制式手枪) */
<<item "M93R" "93R手枪|Beretta 93R">>
<<level>> 12
<<price>> 2100
<<weight>> 1.2
<<damage>> 24-33
<<durability>> 100
<<slot>> mainhand
<<description>> 能够三连发的冲锋手枪。短时间爆发很高,但压枪并不轻松。|A machine pistol capable of burst fire. High short-term burst, but not easy to control.
<<tags "equipable" "mainhand-tier2" "pistol" "mainhand">>
<</item>>
/* 0CQ171冲锋枪 - Lv.13 (冲锋枪) */
<<item "0CQ171" "0CQ171冲锋枪|0CQ171 SMG">>
<<level>> 13
<<price>> 2400
<<weight>> 3.1
<<damage>> 24-34
<<durability>> 100
<<slot>> mainhand
<<description>> 紧凑而现代的冲锋枪,射速快、操控灵活,适合巷战。|A compact modern SMG with fast fire and agile handling, ideal for urban fights.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* G18手枪 - Lv.13 (制式手枪) */
<<item "G18" "G18手枪|Glock 18">>
<<level>> 13
<<price>> 2300
<<weight>> 0.95
<<damage>> 25-34
<<durability>> 100
<<slot>> mainhand
<<description>> 可全自动射击的手枪。火力猛得不像手枪,但弹匣也会飞快见底。|A fully automatic pistol. Delivers absurd handgun firepower, but empties magazines quickly.
<<tags "equipable" "mainhand-tier2" "pistol" "mainhand">>
<</item>>
/* MP5冲锋枪 - Lv.14 (冲锋枪) */
<<item "MP5" "MP5冲锋枪|MP5 SMG">>
<<level>> 14
<<price>> 2600
<<weight>> 2.9
<<damage>> 25-35
<<durability>> 100
<<slot>> mainhand
<<description>> 久经考验的经典冲锋枪。后坐柔和、手感稳定,适合持续输出。|A time-tested classic SMG. Soft recoil and stable handling make it great for sustained fire.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* CAR-15突击步枪 - Lv.14 (突击步枪/战斗步枪) */
<<item "CAR15" "CAR-15突击步枪|CAR-15 Assault Rifle">>
<<level>> 14
<<price>> 2900
<<weight>> 2.7
<<damage>> 28-36
<<durability>> 100
<<slot>> mainhand
<<description>> 轻量化卡宾枪,机动性很好。比长步枪更适合狭窄环境快速反应。|A lightweight carbine with excellent mobility. Better than full-length rifles in tight spaces.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* MP7冲锋枪 - Lv.15 (冲锋枪) */
<<item "MP7" "MP7冲锋枪|MP7 SMG">>
<<level>> 15
<<price>> 3000
<<weight>> 1.9
<<damage>> 27-36
<<durability>> 100
<<slot>> mainhand
<<description>> 小口径高速弹冲锋枪。穿透力和射速兼具,非常适合近距离快速清场。|A PDW-style SMG firing small high-velocity rounds. Fast, punchy, and excellent for clearing rooms.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* Mini-14射手步枪 - Lv.16 (射手/狙击武器) */
<<item "Mini14" "Mini-14射手步枪|Mini-14 DMR">>
<<level>> 16
<<price>> 3400
<<weight>> 3.0
<<damage>> 29-38
<<durability>> 100
<<slot>> mainhand
<<description>> 轻便的半自动射手步枪。比真正的狙击枪更灵活,适合中距离点杀。|A lightweight semi-auto marksman rifle. More agile than a true sniper rifle, ideal for mid-range picks.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* 野牛冲锋枪 - Lv.16 (冲锋枪) */
<<item "Yeniu" "野牛冲锋枪|PP-19 Bizon">>
<<level>> 16
<<price>> 3200
<<weight>> 2.9
<<damage>> 29-38
<<durability>> 100
<<slot>> mainhand
<<description>> 采用大容量弹筒供弹的冲锋枪,压制能力很强,续航优秀。|An SMG fed by a large helical magazine, offering strong suppression and excellent endurance.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* QBZ95-1突击步枪 - Lv.17 (突击步枪/战斗步枪) */
<<item "QBZ95_1" "QBZ95-1突击步枪|QBZ-95-1 Assault Rifle">>
<<level>> 17
<<price>> 3700
<<weight>> 3.25
<<damage>> 32-42
<<durability>> 100
<<slot>> mainhand
<<description>> 现代化制式步枪,综合性能均衡。在各种距离都能稳定发挥。|A modern service rifle with balanced all-round performance and dependable reach.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* AKM突击步枪 - Lv.17 (突击步枪/战斗步枪) */
<<item "AKM" "AKM突击步枪|AKM Assault Rifle">>
<<level>> 17
<<price>> 3900
<<weight>> 3.3
<<damage>> 32-43
<<durability>> 100
<<slot>> mainhand
<<description>> 经典7.62毫米突击步枪。后坐偏大,但单发威力十足。|A classic 7.62mm assault rifle. Kicks hard, but each shot hits with real force.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* SKS射手步枪 - Lv.17 (射手/狙击武器) */
<<item "SKS" "SKS射手步枪|SKS DMR">>
<<level>> 17
<<price>> 3900
<<weight>> 3.9
<<damage>> 33-44
<<durability>> 100
<<slot>> mainhand
<<description>> 老式半自动步枪,射速和威力折中,是很扎实的早期射手武器。|An old semi-auto rifle that balances fire rate and power, making it a solid early marksman weapon.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* P90冲锋枪 - Lv.18 (冲锋枪) */
<<item "P90" "P90冲锋枪|P90 SMG">>
<<level>> 18
<<price>> 3600
<<weight>> 2.6
<<damage>> 31-41
<<durability>> 100
<<slot>> mainhand
<<description>> 拥有超大容量弹匣的先进冲锋枪。持续泼水时非常有压迫感。|An advanced SMG with a very high-capacity magazine. Extremely oppressive when spraying continuously.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* SMG-45冲锋枪 - Lv.18 (冲锋枪) */
<<item "SMG-45" "SMG-45冲锋枪|SMG-45 SMG">>
<<level>> 18
<<price>> 3800
<<weight>> 2.8
<<damage>> 33-43
<<durability>> 100
<<slot>> mainhand
<<description>> 大口径冲锋枪,单发停止作用更强,适合追求近战爆发。|A large-caliber SMG with stronger stopping power per shot, great for close-range burst damage.
<<tags "equipable" "mainhand-tier2" "smg" "mainhand">>
<</item>>
/* M14射手步枪 - Lv.18 (射手/狙击武器) */
<<item "M14" "M14射手步枪|M14 DMR">>
<<level>> 18
<<price>> 4200
<<weight>> 4.5
<<damage>> 35-47
<<durability>> 100
<<slot>> mainhand
<<description>> 传统全威力弹射手步枪。重量不轻,但中远距离打击很有底气。|A traditional full-power marksman rifle. Heavy, but very reassuring at medium and long range.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* S12K霰弹枪 - Lv.19 (霰弹枪) */
<<item "S12K" "S12K霰弹枪|S12K Shotgun">>
<<level>> 19
<<price>> 4100
<<weight>> 4.0
<<damage>> 24-50
<<durability>> 100
<<slot>> mainhand
<<description>> 半自动霰弹枪,连续开火能力远胜传统泵动型号。|A semi-auto shotgun that can fire much faster than traditional pump-actions.
<<tags "equipable" "mainhand-tier2" "shotgun" "mainhand">>
<</item>>
/* SR-3M紧凑突击步枪 - Lv.19 (突击步枪/战斗步枪) */
<<item "SR-3M" "SR-3M紧凑突击步枪|SR-3M Compact Assault Rifle">>
<<level>> 19
<<price>> 4300
<<weight>> 2.1
<<damage>> 34-44
<<durability>> 100
<<slot>> mainhand
<<description>> 极其紧凑的特种突击步枪。体积小、火力猛,非常适合突入作战。|An extremely compact special-purpose assault rifle. Small, fierce, and perfect for assault work.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* VSS射手步枪 - Lv.19 (射手/狙击武器) */
<<item "VSS" "VSS射手步枪|VSS DMR">>
<<level>> 19
<<price>> 4500
<<weight>> 2.6
<<damage>> 35-46
<<durability>> 100
<<slot>> mainhand
<<description>> 带消音器的特种射手步枪。虽然弹道偏软,但隐蔽性和点杀能力很好。|A suppressed special marksman rifle. Ballistics are softer, but stealth and precision are excellent.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* PTR-32突击步枪 - Lv.20 (突击步枪/战斗步枪) */
<<item "PTR32" "PTR-32突击步枪|PTR-32 Assault Rifle">>
<<level>> 20
<<price>> 5000
<<weight>> 3.6
<<damage>> 40-52
<<durability>> 100
<<slot>> mainhand
<<description>> 威力更激进的现代突击步枪,适合对付穿着厚重护甲的目标。|A more aggressive modern assault rifle built to hit armored targets harder.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* SG552突击步枪 - Lv.20 (突击步枪/战斗步枪) */
<<item "SG552" "SG552突击步枪|SG552 Assault Rifle">>
<<level>> 20
<<price>> 4800
<<weight>> 3.2
<<damage>> 40-50
<<durability>> 100
<<slot>> mainhand
<<description>> 短小精悍的高精度步枪。操作很顺手,适合快节奏战斗。|A compact, accurate rifle with excellent handling, ideal for fast-paced fights.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* M4A1突击步枪 - Lv.21 (突击步枪/战斗步枪) */
<<item "M4A1" "M4A1突击步枪|M4A1 Assault Rifle">>
<<level>> 21
<<price>> 5200
<<weight>> 3.1
<<damage>> 42-54
<<durability>> 100
<<slot>> mainhand
<<description>> 高泛用性的现代卡宾枪。可靠、顺手,几乎没有明显短板。|A versatile modern carbine. Reliable, comfortable, and lacking obvious weaknesses.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* SR9射手步枪 - Lv.21 (射手/狙击武器) */
<<item "SR9" "SR9射手步枪|SR-9 DMR">>
<<level>> 21
<<price>> 5400
<<weight>> 4.2
<<damage>> 43-55
<<durability>> 100
<<slot>> mainhand
<<description>> 偏重精度和稳定性的射手步枪,适合稳稳处理后排危险目标。|A marksman rifle focused on accuracy and stability, ideal for dealing with dangerous backliners.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* QJB201轻机枪 - Lv.21 (班用机枪) */
<<item "QJB201" "QJB201轻机枪|QJB-201 LMG">>
<<level>> 21
<<price>> 5600
<<weight>> 5.8
<<damage>> 41-53
<<durability>> 100
<<slot>> mainhand
<<description>> 较轻的新式班用机枪。便携性不错,能比传统机枪更灵活地提供压制。|A lighter modern squad machine gun. More portable than older MGs while still offering strong suppression.
<<tags "equipable" "mainhand-tier2" "heavy" "mainhand">>
<</item>>
/* M16A4突击步枪 - Lv.22 (突击步枪/战斗步枪) */
<<item "M16A4" "M16A4突击步枪|M16A4 Assault Rifle">>
<<level>> 22
<<price>> 5600
<<weight>> 3.4
<<damage>> 44-56
<<durability>> 100
<<slot>> mainhand
<<description>> 长枪管步枪,精度和射程表现优秀。只要你不嫌它长。|A long-barreled rifle with excellent accuracy and reach, if you can tolerate its length.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* PKM通用机枪 - Lv.23 (班用机枪) */
<<item "PKM" "PKM通用机枪|PKM Machine Gun">>
<<level>> 23
<<price>> 6600
<<weight>> 8.8
<<damage>> 47-60
<<durability>> 100
<<slot>> mainhand
<<description>> 著名的全威力弹通用机枪。沉重、暴躁,但压制力极其可怕。|A famous full-power general-purpose machine gun. Heavy and violent, with terrifying suppression.
<<tags "equipable" "mainhand-tier2" "heavy" "mainhand">>
<</item>>
/* AS Val突击步枪 - Lv.23 (突击步枪/战斗步枪) */
<<item "AS_VAL" "AS Val突击步枪|AS Val Assault Rifle">>
<<level>> 23
<<price>> 6000
<<weight>> 2.5
<<damage>> 47-58
<<durability>> 100
<<slot>> mainhand
<<description>> 特种消音突击步枪。擅长在中近距离迅速击倒高价值目标。|A special suppressed assault rifle built to quickly eliminate high-value targets at close to mid range.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* G3战斗步枪 - Lv.23 (突击步枪/战斗步枪) */
<<item "G3" "G3战斗步枪|G3 Battle Rifle">>
<<level>> 23
<<price>> 6100
<<weight>> 4.4
<<damage>> 46-59
<<durability>> 100
<<slot>> mainhand
<<description>> 老牌7.62战斗步枪。威力凶猛,后坐也同样毫不客气。|A classic 7.62 battle rifle. Brutal power matched by equally brutal recoil.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* SR-25射手步枪 - Lv.23 (射手/狙击武器) */
<<item "SR25" "SR-25射手步枪|SR-25 DMR">>
<<level>> 23
<<price>> 6500
<<weight>> 4.6
<<damage>> 48-61
<<durability>> 100
<<slot>> mainhand
<<description>> 高性能半自动射手步枪,在精准和连续火力之间取得了优秀平衡。|A high-performance semi-auto DMR that balances precision with sustained fire very well.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* M249轻机枪 - Lv.24 (班用机枪) */
<<item "M249" "M249轻机枪|M249 LMG">>
<<level>> 24
<<price>> 7000
<<weight>> 7.5
<<damage>> 49-61
<<durability>> 100
<<slot>> mainhand
<<description>> 经典北约轻机枪,持续火力稳定,是小队级火力支柱。|A classic NATO light machine gun with stable sustained fire, perfect as a squad fire base.
<<tags "equipable" "mainhand-tier2" "heavy" "mainhand">>
<</item>>
/* AK-12突击步枪 - Lv.24 (突击步枪/战斗步枪) */
<<item "AK12" "AK-12突击步枪|AK-12 Assault Rifle">>
<<level>> 24
<<price>> 6200
<<weight>> 3.5
<<damage>> 48-60
<<durability>> 100
<<slot>> mainhand
<<description>> 新一代俄式突击步枪,精度、控制和可靠性都很出色。|A next-generation Russian assault rifle with strong accuracy, control, and reliability.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* AUG突击步枪 - Lv.24 (突击步枪/战斗步枪) */
<<item "AUG" "AUG突击步枪|AUG Assault Rifle">>
<<level>> 24
<<price>> 6400
<<weight>> 3.6
<<damage>> 49-61
<<durability>> 100
<<slot>> mainhand
<<description>> 布局紧凑的无托步枪。枪身短,但依然保持了完整步枪的火力水平。|A compact bullpup rifle. Short overall, yet still delivers full-rifle performance.
<<tags "equipable" "mainhand-tier2" "rifle" "mainhand">>
<</item>>
/* M700狙击步枪 - Lv.24 (射手/狙击武器) */
<<item "M700" "M700狙击步枪|M700 Sniper Rifle">>
<<level>> 24
<<price>> 7200
<<weight>> 4.1
<<damage>> 50-64
<<durability>> 100
<<slot>> mainhand
<<description>> 经典手动狙击步枪。每一枪都要认真,但认真就会有回报。|A classic bolt-action sniper rifle. Every shot demands focus, but focus pays off.
<<tags "equipable" "mainhand-tier2" "sniper" "mainhand">>
<</item>>
/* M1014霰弹枪 - Lv.25 (霰弹枪) */
<<item "M1014" "M1014霰弹枪|M1014 Shotgun">>
<<level>> 25
<<price>> 6800
<<weight>> 3.8
<<damage>> 28-58
<<durability>> 100
<<slot>> mainhand
<<description>> 高阶半自动军用霰弹枪。近距离连续输出非常凶狠。|A high-tier military semi-auto shotgun with ferocious close-range follow-up fire.
<<tags "equipable" "mainhand-tier3" "shotgun" "mainhand">>
<</item>>
/* SCAR-H战斗步枪 - Lv.25 (突击步枪/战斗步枪) */
<<item "SCAR_H" "SCAR-H战斗步枪|SCAR-H Battle Rifle">>
<<level>> 25
<<price>> 6900
<<weight>> 3.8
<<damage>> 52-65
<<durability>> 100
<<slot>> mainhand
<<description>> 使用全威力弹的现代战斗步枪。对付硬目标时特别有说服力。|A modern full-power battle rifle that feels especially convincing against tough targets.
<<tags "equipable" "mainhand-tier3" "rifle" "mainhand">>
<</item>>
/* Vector冲锋枪 - Lv.26 (冲锋枪) */
<<item "Vector" "Vector冲锋枪|Vector SMG">>
<<level>> 26
<<price>> 7000
<<weight>> 2.7
<<damage>> 54-68
<<durability>> 100
<<slot>> mainhand
<<description>> 以后坐控制闻名的先进冲锋枪。能把高射速火力更稳定地压在目标身上。|An advanced SMG famous for recoil control, keeping high-rate fire on target more easily.
<<tags "equipable" "mainhand-tier3" "smg" "mainhand">>
<</item>>
/* M250通用机枪 - Lv.26 (班用机枪) */
<<item "M250" "M250通用机枪|M250 Machine Gun">>
<<level>> 26
<<price>> 7800
<<weight>> 6.1
<<damage>> 55-68
<<durability>> 100
<<slot>> mainhand
<<description>> 更现代、更轻量的通用机枪。兼顾机动性和持续压制能力。|A more modern and lighter general-purpose machine gun that balances mobility and suppression.
<<tags "equipable" "mainhand-tier3" "heavy" "mainhand">>
<</item>>
/* M7战斗步枪 - Lv.26 (突击步枪/战斗步枪) */
<<item "M7" "M7战斗步枪|M7 Battle Rifle">>
<<level>> 26
<<price>> 7600
<<weight>> 4.1
<<damage>> 58-72
<<durability>> 100
<<slot>> mainhand
<<description>> 新世代高性能战斗步枪。弹道硬、精度高,属于后期标准强枪。|A next-generation high-performance battle rifle with hard-hitting rounds and excellent accuracy.
<<tags "equipable" "mainhand-tier3" "rifle" "mainhand">>
<</item>>
/* SV-98狙击步枪 - Lv.26 (射手/狙击武器) */
<<item "SV98" "SV-98狙击步枪|SV-98 Sniper Rifle">>
<<level>> 26
<<price>> 9000
<<weight>> 5.8
<<damage>> 60-74
<<durability>> 100
<<slot>> mainhand
<<description>> 重型手动狙击步枪,专门为了稳定精确的远距离击杀而生。|A heavy bolt-action sniper rifle purpose-built for stable, precise long-range kills.
<<tags "equipable" "mainhand-tier3" "sniper" "mainhand">>
<</item>>
/* 腾龙突击步枪 - Lv.27 (突击步枪/战斗步枪) */
<<item "Tenglong" "腾龙突击步枪|Tenglong Assault Rifle">>
<<level>> 27
<<price>> 8000
<<weight>> 3.7
<<damage>> 61-76
<<durability>> 100
<<slot>> mainhand
<<description>> 高阶定制突击步枪,火力与操控都很激进,属于后期强力主武器。|A high-tier custom assault rifle with aggressive firepower and handling, built as a late-game mainstay.
<<tags "equipable" "mainhand-tier3" "rifle" "mainhand">>
<</item>>
/* R93狙击步枪 - Lv.27 (射手/狙击武器) */
<<item "R93" "R93狙击步枪|R93 Sniper Rifle">>
<<level>> 27
<<price>> 9800
<<weight>> 5.2
<<damage>> 63-78
<<durability>> 100
<<slot>> mainhand
<<description>> 高精度直拉式狙击步枪。拉栓更快,连续点杀能力极强。|A high-precision straight-pull sniper rifle that cycles faster for vicious follow-up shots.
<<tags "equipable" "mainhand-tier3" "sniper" "mainhand">>
<</item>>
/* ASh-12战斗步枪 - Lv.28 (突击步枪/战斗步枪) */
<<item "ASh12" "ASh-12战斗步枪|ASh-12 Battle Rifle">>
<<level>> 28
<<price>> 9200
<<weight>> 5.2
<<damage>> 66-82
<<durability>> 100
<<slot>> mainhand
<<description>> 发射超大口径弹药的重型战斗步枪。后坐惊人,但近中距离的破坏力同样惊人。|A heavy battle rifle firing oversized rounds. The recoil is savage, but so is the damage.
<<tags "equipable" "mainhand-tier3" "rifle" "mainhand">>
<</item>>
/* AWM狙击步枪 - Lv.29 (射手/狙击武器) */
<<item "AWM" "AWM狙击步枪|AWM Sniper Rifle">>
<<level>> 29
<<price>> 12500
<<weight>> 6.5
<<damage>> 76-92
<<durability>> 100
<<slot>> mainhand
<<description>> 顶级寒区狙击步枪,威力和远距离精度都达到了非常夸张的水准。|A top-tier arctic sniper rifle with outrageous power and long-range precision.
<<tags "equipable" "mainhand-tier3" "sniper" "mainhand">>
<</item>>
/* ==========================================
副手装备 (Offhand) - 移除damage属性,durability固定100
========================================== */
/* 斧头 */
<<item "axe" "斧头|Fire Axe">>
<<price>> 1000
<<weight>> 2.5
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 专为紧急服务设计的重型斧头。近战破坏力巨大,但挥动缓慢。|A heavy duty axe intended for emergency services. Devastating in melee combat but slow to swing.
<<tags "equipable" "offhand-tier1" "melee" "offhand">>
<<skill>> pikan
<</item>>
/* 宝剑 */
<<item "baojian" "宝剑|Precious Sword">>
<<price>> 1200
<<weight>> 1.5
<<damage>> 1-5
<<level>> 10
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 一把装饰华丽的精制利刃。它切开护甲就像切开空气一样容易。|An exquisitely crafted blade with ornate decorations. It cuts through armor as easily as it cuts through air.
<<tags "equipable" "offhand-tier3" "melee" "offhand">>
<<skill>> burn_amplify
<</item>>
/* 棒球棍 */
<<item "Baseball_bat" "棒球棍|Baseball Bat">>
<<price>> 1000
<<weight>> 1.0
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 一根木制运动球棒。虽然不锋利,但狠狠敲一下头足以击倒任何人。|A wooden sports bat. Not sharp, but a solid hit to the head is enough to knock anyone out.
<<tags "equipable" "offhand-tier1" "melee" "offhand">>
<<skill>> huiji
<</item>>
/* 战术刀/反手刀 */
<<item "Batons_Knife_fanjie" "战术刀|Tactical Knife">>
<<price>> 1000
<<weight>> 0.4
<<damage>> 1-5
<<level>> 20
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 一把军用级格斗刀,反手握持以进行致命的近身格斗。|A military-grade combat knife held in a reverse grip for lethal CQC encounters.
<<tags "equipable" "offhand-tier1" "melee" "offhand">>
<<skill>> poison_amplify
<</item>>
/* 铁刀 */
<<item "iron_knife" "铁刀|Iron Knife">>
<<price>> 1000
<<weight>> 0.5
<<damage>> 1-5
<<level>> 5
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 用铁锻造的简单刀具。适合生存任务和绝境自卫。|A simple knife forged from iron. Good for survival tasks and desperate self-defense.
<<tags "equipable" "offhand-tier1" "melee" "offhand">>
<<skill>> tear_hunt
<</item>>
/* 钩索 */
<<item "gousuo" "钩索|Grappling Hook">>
<<price>> 1000
<<weight>> 0.5
<<durability>> 100 /* 固定100 */
<<slot>> offhand
<<description>> 用铁锻造的简单刀具。适合生存任务和绝境自卫。|A simple knife forged from iron. Good for survival tasks and desperate self-defense.
<<tags "equipable" "offhand-tier1" "melee" "offhand">>
<<skill>> tuozhuai
<</item>>/* ==========================================
身体装备 (Body) - 属性: Defence
========================================== */
/* 衬衫 - Lv.1 (起步护甲) */
<<item "chenshan" "衬衫|Dress Shirt">>
<<level>> 1
<<price>> 50
<<weight>> 0.3
<<defence>> 2-5
<<durability>> 100
<<slot>> body
<<description>> 一件简单的棉衬衫。比光着身子强,但也强不到哪去。|A simple cotton shirt. Better than being naked, but not by much.
<<tags "equipable" "body-tier1" "clothes" "body">>
<</item>>
/* 风衣 - Lv.3 (稍微好一点的衣服) */
<<item "piyi" "风衣|Trench Coat">>
<<level>> 3
<<price>> 180
<<weight>> 1.8
<<defence>> 4-8
<<durability>> 100
<<slot>> body
<<description>> 一件长皮大衣。主要是挡风遮雨。|A long leather coat. protects against the wind and rain, mostly.
<<tags "equipable" "body-tier1" "clothes" "body">>
<</item>>
/* 皮夹克 - Lv.5 (第一关毕业甲) */
<<item "jiake" "皮夹克|Leather Jacket">>
<<level>> 5
<<price>> 200
<<weight>> 1.5
<<defence>> 6-10
<<durability>> 100
<<slot>> body
<<description>> 时髦的皮夹克。提供微弱的防刮擦保护。|A stylish leather jacket. Provides minor protection against scratches.
<<tags "equipable" "body-tier1" "clothes" "body">>
<</item>>
/* 便服 - Lv.8 (第二关起步) */
<<item "clothes" "便服|Casual Clothes">>
<<level>> 8
<<price>> 80
<<weight>> 0.5
<<defence>> 8-13
<<durability>> 100
<<slot>> body
<<description>> 日常平民服装。舒适,但没有真正的防护作用。|Everyday civilian clothing. Comfortable, but offers no real protection.
<<tags "equipable" "body-tier1" "clothes" "body">>
<</item>>
/* 强化夹克 - Lv.9 (过渡) */
<<item "homemade_jacket" "强化夹克|Reinforced Jacket">>
<<level>> 9
<<price>> 150
<<weight>> 2.0
<<defence>> 10-15
<<durability>> 100
<<slot>> body
<<description>> 用废金属板和轮胎加强的皮夹克。|A leather jacket reinforced with scrap metal plates and tires.
<<tags "equipable" "body-tier1" "clothes" "scavenged" "body">>
<</item>>
/* 公路护甲 - Lv.12 (进入Tier 2) */
<<item "motorway_armor" "飞车党护甲|Biker Armor">>
<<level>> 12
<<price>> 550
<<weight>> 3.2
<<defence>> 14-18
<<durability>> 100
<<slot>> body
<<description>> 公路帮派喜爱的强化皮甲。耐磨性很好。|Reinforced leather armor favored by motorway gangs. Good abrasion resistance.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 军用迷彩服 - Lv.14 (过渡) */
<<item "army_clothes" "军用迷彩服|Army Fatigues">>
<<level>> 14
<<price>> 250
<<weight>> 1.2
<<defence>> 12-16
<<durability>> 100
<<slot>> body
<<description>> 迷彩作战服。适合伪装,但对子弹几乎没有防护力。|Camouflage fatigues. Good for blending in, but offers minimal protection against bullets.
<<tags "equipable" "body-tier2" "clothes" "military" "body">>
<</item>>
/* 轻型防弹背心 - Lv.15 (第三关毕业甲) */
<<item "fangdanbeixin" "轻型防弹背心|Light Ballistic Vest">>
<<level>> 15
<<price>> 400
<<weight>> 2.8
<<defence>> 18-22
<<durability>> 100
<<slot>> body
<<description>> 通常由保安穿着的轻型背心。|A light vest typically worn by security guards.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 一级安保背心 - Lv.16 (第四关起步) */
<<item "yijijia" "一级安保背心|Lv.1 Security Vest">>
<<level>> 16
<<price>> 300
<<weight>> 2.0
<<defence>> 20-24
<<durability>> 100
<<slot>> body
<<description>> 软质凯夫拉背心。对付拾荒者总比没有好。|A soft kevlar vest. Better than nothing against scavengers.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 标准盔甲 - Lv.17 (通用型) */
<<item "armor" "标准盔甲|Standard Armor">>
<<level>> 17
<<price>> 600
<<weight>> 4.5
<<defence>> 21-25
<<durability>> 100
<<slot>> body
<<description>> 标准制式防护背心。对轻武器射击提供不错的防护。|A standard issue protective vest. Offers decent protection against small arms fire.
<<tags "equipable" "body-tier2" "armor" "vest" "body">>
<</item>>
/* 二级警用背心 - Lv.18 (第四关中段) */
<<item "erjijia" "二级警用背心|Lv.2 Police Vest">>
<<level>> 18
<<price>> 600
<<weight>> 3.5
<<defence>> 22-26
<<durability>> 100
<<slot>> body
<<description>> 标准警用背心。能有效阻挡手枪子弹。|Standard police issue vest. Stops pistol rounds effectively.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 三级军用背心 - Lv.20 (第四关毕业甲) */
<<item "sanjijia" "三级军用背心|Lv.3 Military Vest">>
<<level>> 20
<<price>> 1500
<<weight>> 5.0
<<defence>> 25-29
<<durability>> 100
<<slot>> body
<<description>> 带有防弹插板的标准军用背心。|Standard military issue vest with trauma plates.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 铁板甲 - Lv.21 (进入Tier 3,高防御但重) */
<<item "iron_armor" "铁板甲|Iron Plate Mail">>
<<level>> 21
<<price>> 800
<<weight>> 8.0
<<defence>> 26-30
<<durability>> 100
<<slot>> body
<<description>> 用铁皮打造的简陋盔甲。非常沉重,但能很好地抵挡近战攻击。|Crude armor forged from iron sheets. Very heavy, but blocks melee attacks well.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 军用护甲 - Lv.23 (第五关中段) */
<<item "army_armor" "军用护甲|Military Body Armor">>
<<level>> 23
<<price>> 1200
<<weight>> 6.0
<<defence>> 28-34
<<durability>> 100
<<slot>> body
<<description>> 正规军使用的重型护甲。包含高防护力的陶瓷插板。|Heavy-duty body armor used by the regular army. Includes ceramic plates for high protection.
<<tags "equipable" "body-tier2" "armor" "military" "body">>
<</item>>
/* 甲壳护甲 - Lv.24 (稀有轻甲) */
<<item "chitin_armor" "甲壳护甲|Chitin Plate Armor">>
<<level>> 24
<<price>> 3500
<<weight>> 3.0
<<defence>> 29-35
<<durability>> 100
<<slot>> body
<<description>> 用变异生物外骨骼制成的护甲。极轻且耐用。|Armor crafted from the exoskeleton of mutated creatures. Extremely light and durable.
<<tags "equipable" "body-tier2" "armor" "rare" "body">>
<</item>>
/* 四级突击护甲 - Lv.25 (第五关毕业甲) */
<<item "sijijia" "四级突击护甲|Lv.4 Assault Armor">>
<<level>> 25
<<price>> 2800
<<weight>> 6.5
<<defence>> 30-36
<<durability>> 100
<<slot>> body
<<description>> 为前线步兵提供卓越防护的重型突击护甲。|Heavy assault armor providing superior protection for frontline infantry.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 五级战术携板背心 - Lv.27 (第六关起步) */
<<item "wujijia" "五级战术携板背心|Lv.5 Tactical Rig">>
<<level>> 27
<<price>> 4500
<<weight>> 7.0
<<defence>> 35-42
<<durability>> 100
<<slot>> body
<<description>> 完美平衡防护与机动性的精英战术护甲。|Elite tactical armor that balances protection and mobility perfectly.
<<tags "equipable" "body-tier2" "armor" "body">>
<</item>>
/* 钢板甲 - Lv.30 (第六关最高物理防御) */
<<item "steel_armor" "钢板甲|Steel Plate Armor">>
<<level>> 30
<<price>> 2200
<<weight>> 10.0
<<defence>> 45-55
<<durability>> 100
<<slot>> body
<<description>> 由硬化钢制成的盔甲。防护极佳但严重限制行动。|Armor made of hardened steel. Offers excellent protection but severely restricts movement.
<<tags "equipable" "body-tier3" "armor" "body">>
<</item>>
/* 六级重型护甲 - Lv.30 (游戏毕业甲) */
<<item "liujijia" "六级重型护甲|Lv.6 Heavy Armor">>
<<level>> 30
<<price>> 8000
<<weight>> 9.0
<<defence>> 40-50
<<durability>> 100
<<slot>> body
<<description>> 终极防护。能够阻挡穿甲弹。|The ultimate protection. Capable of stopping armor-piercing rounds.
<<tags "equipable" "body-tier3" "armor" "body">>
<</item>>
/* ==========================================
头部装备 (Head) - 属性: Charm
========================================== */
/* 棒球帽 - tier1 */
<<item "bangqiumao" "棒球帽|Baseball Cap">>
<<price>> 40
<<weight>> 0.1
<<charm>> 3-9 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 遮挡阳光。略微提高注意力。|Keeps the sun out of your eyes. Slightly improves focus.
<<tags "equipable" "tier1" "hat" "head">> /* 新增head标签 */
<</item>>
/* 甲壳盔 - tier3(6件之一) */
<<item "chitin_head" "甲壳盔|Chitin Helmet">>
<<price>> 2800
<<weight>> 1.5
<<charm>> 25-30 /* 22-30区间,tier3核心 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 用几丁质制成的外星风格头盔。看着很吓人。|An alien-looking helmet made from chitin. Terrifying to behold.
<<tags "equipable" "tier3" "helmet" "rare" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 二级头 - tier2 */
<<item "erjitou" "二级战斗头盔|Lv.2 Combat Helmet">>
<<price>> 500
<<weight>> 1.2
<<charm>> 11-18 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 标准制式战斗头盔。在战斗中提供信心。|A standard issue combat helmet. Provides confidence in battle.
<<tags "equipable" "tier2" "helmet" "head">> /* 新增head标签 */
<</item>>
/* 防毒面具 - tier2 */
<<item "fangdumianju" "防毒面具|Gas Mask">>
<<price>> 800
<<weight>> 0.8
<<charm>> 10-17 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 在污染区生存必不可少。呼吸困难,但能保命。|Essential for surviving in contaminated zones. Hard to breathe in, but keeps you alive.
<<tags "equipable" "tier2" "mask" "head">> /* 新增head标签 */
<</item>>
/* 飞行帽 - tier1 */
<<item "fengxingmao" "飞行帽|Aviator Hat">>
<<price>> 120
<<weight>> 0.3
<<charm>> 4-11 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 带护目镜的皮帽。让你感觉像个飞行员。|A leather cap with goggles. Makes you feel like a pilot.
<<tags "equipable" "tier1" "hat" "head">> /* 新增head标签 */
<</item>>
/* 头盔 (通用) - tier1 */
<<item "head" "标准头盔|Standard Helmet">>
<<price>> 300
<<weight>> 1.0
<<charm>> 6-12 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 基础头盔。保护脑瓜子。|A basic helmet. Protects the noggin.
<<tags "equipable" "tier1" "helmet" "head">> /* 新增head标签 */
<</item>>
/* 自制帽子 - tier1 */
<<item "homemade_hat" "废料头盔|Scrap Helmet">>
<<price>> 80
<<weight>> 1.5
<<charm>> 2-8 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 改装成适合人头大小的水桶或锅。看起来很滑稽。|A bucket or pot modified to fit a human head. Looks ridiculous.
<<tags "equipable" "tier1" "helmet" "scavenged" "head">> /* 新增head标签 */
<</item>>
/* 铁盔 - tier2 */
<<item "iron_head" "铁盔|Iron Helmet">>
<<price>> 600
<<weight>> 2.5
<<charm>> 13-20 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 沉重的铁盔。限制视野但让你感觉刀枪不入。|Heavy iron helmet. Limits visibility but makes you feel invincible.
<<tags "equipable" "tier2" "helmet" "head">> /* 新增head标签 */
<</item>>
/* 机车帽 - tier1 */
<<item "jichemao" "机车头盔|Motorcycle Helmet">>
<<price>> 350
<<weight>> 1.4
<<charm>> 7-13 /* 1-12区间(最高13),加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 全覆式头盔。对付路面擦伤和僵尸咬击很有效。|Full-face helmet. Good protection against road rash and zombies.
<<tags "equipable" "tier1" "helmet" "head">> /* 新增head标签 */
<</item>>
/* 六级头 - tier3(6件之一) */
<<item "liujitou" "六级阿尔京头盔|Lv.6 Altyn Helmet">>
<<price>> 6500
<<weight>> 4.0
<<charm>> 27-30 /* 22-30区间,tier3天花板 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 带有电焊面罩的重型突击头盔。你就是行走的人形坦克。|Heavy assault helmet with a welding mask visor. You are a walking tank.
<<tags "equipable" "tier3" "helmet" "legendary" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 公路帽 - tier1 */
<<item "motorway_hat" "飞车党头巾|Biker Bandana">>
<<price>> 100
<<weight>> 0.1
<<charm>> 5-10 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 一条结实的头巾。显示你属于公路。|A tough bandana. Shows you belong to the road.
<<tags "equipable" "tier1" "hat" "head">> /* 新增head标签 */
<</item>>
/* 破布帽 - tier1 */
<<item "pobumao" "破布帽|Rag Hat">>
<<price>> 20
<<weight>> 0.2
<<charm>> 1-7 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 用脏布条缝合而成。闻起来很臭。|Stitched together from dirty rags. Smells bad.
<<tags "equipable" "tier1" "hat" "head">> /* 新增head标签 */
<</item>>
/* 三级头 - tier2 */
<<item "sanjitou" "三级特种部队头盔|Lv.3 Spetsnaz Helmet">>
<<price>> 1200
<<weight>> 1.8
<<charm>> 16-23 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 特种部队常用的军用头盔。|Military helmet often used by special forces.
<<tags "equipable" "tier2" "helmet" "head">> /* 新增head标签 */
<</item>>
/* 四级头 - tier3(6件之一) */
<<item "sijitou" "四级突击头盔|Lv.4 Assault Helmet">>
<<price>> 2200
<<weight>> 2.2
<<charm>> 22-28 /* 22-30区间,tier3基础 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 带有侧面防护的先进战斗头盔。|Advanced combat helmet with side protection.
<<tags "equipable" "tier3" "helmet" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 钢盔 - tier3(6件之一) */
<<item "steel_head" "钢盔|Steel Helmet">>
<<price>> 1500
<<weight>> 3.0
<<charm>> 22-28 /* 22-30区间,tier3基础 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 由优质钢材锻造。极其坚硬。|Forged from high-quality steel. Extremely tough.
<<tags "equipable" "tier3" "helmet" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 五级头 - tier3(6件之一) */
<<item "wujitou" "五级重型头盔|Lv.5 Heavy Helmet">>
<<price>> 3800
<<weight>> 3.0
<<charm>> 25-30 /* 22-30区间,tier3核心 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 提供近乎全方位的头部保护。|Offers almost complete head protection.
<<tags "equipable" "tier3" "helmet" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 武士盔 - tier3(6件之一) */
<<item "wushikui" "武士盔|Samurai Helmet">>
<<price>> 5000
<<weight>> 2.5
<<charm>> 28-30 /* 22-30区间,tier3顶级 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 用现代材料重现的古代设计。散发着武士之魂。|An ancient design recreated with modern materials. Radiates a warrior's spirit.
<<tags "equipable" "tier3" "helmet" "rare" "head">> /* 新增head标签+调整tier3 */
<</item>>
/* 一级头 - tier1 */
<<item "yijitou" "一级安全帽|Lv.1 Hard Hat">>
<<price>> 200
<<weight>> 0.8
<<charm>> 5-12 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> head
<<description>> 建筑安全帽或类似的轻型防护。|A construction hard hat or similar light protection.
<<tags "equipable" "tier1" "helmet" "head">> /* 新增head标签 */
<</item>>
/* ==========================================
脚部装备 (Feet) - 属性: Charm
========================================== */
/* 板鞋 - tier1 */
<<item "banxie" "帆布鞋|Canvas Shoes">>
<<price>> 100
<<weight>> 0.4
<<charm>> 6-12 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 轻便舒适的帆布鞋。适合逃跑。|Light and comfortable canvas shoes. Good for running away.
<<tags "equipable" "tier1" "shoes" "feet">> /* 新增feet标签 */
<</item>>
/* 靴子 (通用) - tier1 */
<<item "boots" "皮靴|Leather Boots">>
<<price>> 250
<<weight>> 1.0
<<charm>> 4-10 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 耐用的靴子,适合崎岖地形。|Durable boots suitable for rough terrain.
<<tags "equipable" "tier1" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 甲壳靴 - tier2 */
<<item "chitin_boots" "甲壳战靴|Chitin Greaves">>
<<price>> 2500
<<weight>> 1.2
<<charm>> 18-25 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 轻量化的装甲靴,似乎能帮你跑得更快。|Lightweight armored boots that seem to help you move faster.
<<tags "equipable" "tier2" "boots" "rare" "feet">> /* 新增feet标签 */
<</item>>
/* 二级鞋 - tier2 */
<<item "erjixie" "二级战术靴|Lv.2 Tactical Boots">>
<<price>> 450
<<weight>> 1.1
<<charm>> 11-18 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 标准制式战术靴。抓地力和支撑性良好。|Standard issue tactical boots. Good grip and support.
<<tags "equipable" "tier2" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 自制靴子 - tier1 */
<<item "homemade_boots" "废料靴子|Scrap Boots">>
<<price>> 80
<<weight>> 1.5
<<charm>> 1-7 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 裹着胶带和金属片的靴子。笨重且噪音大。|Boots wrapped in tape and metal. Clunky and loud.
<<tags "equipable" "tier1" "boots" "scavenged" "feet">> /* 新增feet标签 */
<</item>>
/* 铁靴 - tier1 */
<<item "iron_boots" "铁战靴|Iron Sabatons">>
<<price>> 550
<<weight>> 2.5
<<charm>> 1-6 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 沉重的铁靴。极好地保护脚趾,但跑步极其费劲。|Heavy iron boots. Great protection for your toes, but terrible for running.
<<tags "equipable" "tier1" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 六级鞋 - tier3 */
<<item "liujixie" "六级外骨骼靴|Lv.6 Exo-Boots">>
<<price>> 6000
<<weight>> 3.0
<<charm>> 24-30
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 增强步伐的机械化靴子。|Mechanized boots that augment your stride.
<<tags "equipable" "tier3" "boots" "legendary" "feet">> /* 新增feet标签 */
<</item>>
/* 公路靴 - tier2 */
<<item "motorway_boots" "机车靴|Biker Boots">>
<<price>> 350
<<weight>> 1.3
<<charm>> 9-16 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 带钢头的重型皮靴。|Heavy leather boots with steel toes.
<<tags "equipable" "tier2" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 皮靴 - tier1 */
<<item "pixue" "时尚皮靴|Dress Boots">>
<<price>> 180
<<weight>> 0.8
<<charm>> 3-9 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 时髦的靴子,虽然不是为战斗设计的。|Stylish boots, though not designed for combat.
<<tags "equipable" "tier1" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 三级鞋 - tier2 */
<<item "sanjixie" "三级作战靴|Lv.3 Combat Boots">>
<<price>> 900
<<weight>> 1.2
<<charm>> 13-20 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 精锐步兵使用的高品质作战靴。|High-quality combat boots used by elite infantry.
<<tags "equipable" "tier2" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 四级鞋 - tier2 */
<<item "sijixie" "四级突击靴|Lv.4 Assault Boots">>
<<price>> 1600
<<weight>> 1.4
<<charm>> 15-22 /* 9-25区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 专为城市战设计的强化靴子。|Reinforced boots designed for urban warfare.
<<tags "equipable" "tier2" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 钢靴 - tier1 */
<<item "steel_boots" "钢板靴|Steel Plated Boots">>
<<price>> 1300
<<weight>> 2.8
<<charm>> 2-8 /* 1-12区间,加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 用厚钢板加固的靴子。你不用踢门,直接撞开就行。|Boots reinforced with thick steel plates. You won't be kicking down doors, you'll be walking through them.
<<tags "equipable" "tier1" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 五级鞋 - tier2 */
<<item "wujixie" "五级特战靴|Lv.5 Spec-Ops Boots">>
<<price>> 3200
<<weight>> 1.3
<<charm>> 18-25 /* 9-25区间,tier2顶级 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 顶级的鞋履,步伐无声且敏捷。|Top-tier footwear offering silent steps and high agility.
<<tags "equipable" "tier2" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 一级鞋 - tier1 */
<<item "yijixie" "一级登山靴|Lv.1 Hiking Boots">>
<<price>> 200
<<weight>> 0.9
<<charm>> 7-13 /* 1-12区间(最高13),加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 结实的靴子,适合徒步旅行。|Sturdy boots meant for hiking.
<<tags "equipable" "tier1" "boots" "feet">> /* 新增feet标签 */
<</item>>
/* 运动鞋 - tier1 */
<<item "yundongxie" "运动鞋|Running Shoes">>
<<price>> 120
<<weight>> 0.3
<<charm>> 8-13 /* 1-12区间(最高13),加宽重叠 */
<<durability>> 100 /* 固定100 */
<<slot>> feet
<<description>> 轻便的运动鞋。逃离危险时提供最佳的机动性。|Lightweight sneakers. They provide the best mobility for fleeing danger.
<<tags "equipable" "tier1" "shoes" "feet">> /* 新增feet标签 */
<</item>>/* ==========================================
食物 - 干粮/肉类 (通常扣除饮水或不加水)
========================================== */
/* 饼干 (干) */
<<consumable "binggan" "饼干|Biscuits">>
<<set $player.baoshi to Math.clamp($player.baoshi + 15, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 5, 0, $player.maxYinshui)>>
<<price>> 20
<<weight>> 0.2
<<description>>
干脆的饼干。补充能量不错,但会让嘴巴发干。
饱食度 +15, 饮水 -5 | Dry crackers. Good for energy but makes your mouth dry.
Satiety +15, Thirst -5
<<tags 'food' 'loot'>>
<</consumable>>
/* 面包 (干) */
<<consumable "bread" "面包|Bread">>
<<set $player.baoshi to Math.clamp($player.baoshi + 35, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 3, 0, $player.maxYinshui)>>
<<price>> 30
<<weight>> 0.5
<<description>>
一条面包。内部松软,但会吸收水分。
饱食度 +35, 饮水 -3 | A loaf of bread. Soft inside but absorbs moisture.
Satiety +35, Thirst -3
<<tags 'food' 'loot'>>
<</consumable>>
/* 牛肉罐头 (咸) */
<<consumable "beef_can" "牛肉罐头|Canned Beef">>
<<set $player.baoshi to Math.clamp($player.baoshi + 50, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 8, 0, $player.maxYinshui)>>
<<price>> 120
<<weight>> 0.4
<<description>>
腌制牛肉。非常咸且顶饱。
饱食度 +50, 饮水 -8 | Preserved beef. Very salty and filling.
Satiety +50, Thirst -8
<<tags 'food' 'loot'>>
<</consumable>>
/* 肉干 (极干) */
<<consumable "dry_meat" "肉干|Jerky">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 10, 0, $player.maxYinshui)>>
<<price>> 50
<<weight>> 0.1
<<description>>
风干的咸肉。需要好牙口和大量的水。
饱食度 +25, 饮水 -10 | Dried and salted meat. Requires good teeth and plenty of water.
Satiety +25, Thirst -10
<<tags 'food' 'loot'>>
<</consumable>>
/* 大饼 (干) */
<<consumable "flatbread" "薄脆饼|Flatbread">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 4, 0, $player.maxYinshui)>>
<<price>> 25
<<weight>> 0.3
<<description>>
简单的烘焙面团。顶饱且干。
饱食度 +30, 饮水 -4 | Simple baked dough. Filling and dry.
Satiety +30, Thirst -4
<<tags 'food' 'loot'>>
<</consumable>>
/* 炸土豆 (油炸/咸) */
<<consumable "friedpotato" "炸土豆|Fried Potato">>
<<set $player.baoshi to Math.clamp($player.baoshi + 35, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 5, 0, $player.maxYinshui)>>
<<price>> 40
<<weight>> 0.3
<<description>>
油腻且咸的炸土豆。
饱食度 +35, 饮水 -5 | Greasy and salty fried potatoes.
Satiety +35, Thirst -5
<<tags 'food' 'loot'>>
<</consumable>>
/* 汉堡包 */
<<consumable "hambuger" "汉堡包|Hamburger">>
<<set $player.baoshi to Math.clamp($player.baoshi + 55, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 2, 0, $player.maxYinshui)>>
<<price>> 80
<<weight>> 0.4
<<description>>
夹着肉饼的面包。
饱食度 +55, 饮水 -2 | Meat patty between buns.
Satiety +55, Thirst -2
<<tags 'food' 'loot'>>
<</consumable>>
/* 烤肉 */
<<consumable "kaorou" "烤肉|Roast Meat">>
<<set $player.baoshi to Math.clamp($player.baoshi + 50, 0, $player.maxBaoshi)>>
<<price>> 100
<<weight>> 0.4
<<description>>
在明火上烤制的肉。
饱食度 +50 | Meat roasted over an open fire.
Satiety +50
<<tags 'food' 'loot'>>
<</consumable>>
/* 臭鳜鱼 (咸) */
<<consumable "fish_chouyu" "臭鳜鱼|Fermented Fish">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 10, 0, $player.maxYinshui)>>
<<price>> 70
<<weight>> 0.5
<<description>>
闻起来很糟糕,而且非常咸。
饱食度 +30, 饮水 -10 | Smells terrible and extremely salty.
Satiety +30, Thirst -10
<<tags 'food' 'loot'>>
<</consumable>>
/* 辣椒 (辛辣) */
<<consumable "pepper" "辣椒|Pepper">>
<<set $player.baoshi to Math.clamp($player.baoshi + 2, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 5, 0, $player.maxYinshui)>>
<<price>> 5
<<weight>> 0.05
<<description>>
火辣的红辣椒。辣得嘴巴疼。
饱食度 +2, 饮水 -5 | Hot chili pepper. It burns your mouth.
Satiety +2, Thirst -5
<<tags 'food' 'loot'>>
<</consumable>>
/* 小麦 (生) */
<<consumable "wheat" "小麦|Wheat">>
<<set $player.baoshi to Math.clamp($player.baoshi + 5, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 2, 0, $player.maxYinshui)>>
<<price>> 5
<<weight>> 0.1
<<description>>
生麦粒。很难嚼。
饱食度 +5, 饮水 -2 | Raw wheat grains. Hard to chew.
Satiety +5, Thirst -2
<<tags 'food' 'loot'>>
<</consumable>>
/* 面包 (重复项) */
<<consumable "mianbao" "面包(条)|Loaf of Bread">>
<<set $player.baoshi to Math.clamp($player.baoshi + 35, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 3, 0, $player.maxYinshui)>>
<<price>> 30
<<weight>> 0.5
<<description>>
标准的白面包。
饱食度 +35, 饮水 -3 | Standard white bread.
Satiety +35, Thirst -3
<<tags 'food' 'loot'>>
<</consumable>>
/* ==========================================
食物 - 蔬果/汤类 (补水)
========================================== */
/* 苹果 */
<<consumable "apple" "苹果|Apple">>
<<set $player.baoshi to Math.clamp($player.baoshi + 10, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 10, 0, $player.maxYinshui)>>
<<price>> 15
<<weight>> 0.2
<<description>>
新鲜的红苹果。多汁爽脆。
饱食度 +10, 饮水 +10 | A fresh red apple. Juicy and crunchy.
Satiety +10, Thirst +10
<<tags 'food' 'loot'>>
<</consumable>>
/* 浆果 */
<<consumable "berry" "浆果|Berries">>
<<set $player.baoshi to Math.clamp($player.baoshi + 5, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 5, 0, $player.maxYinshui)>>
<<price>> 5
<<weight>> 0.1
<<description>>
一把野果。
饱食度 +5, 饮水 +5 | A handful of wild berries.
Satiety +5, Thirst +5
<<tags 'food' 'loot'>>
<</consumable>>
/* 黄瓜 */
<<consumable "cucumber" "黄瓜|Cucumber">>
<<set $player.baoshi to Math.clamp($player.baoshi + 8, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 15, 0, $player.maxYinshui)>>
<<price>> 8
<<weight>> 0.3
<<description>>
一根绿黄瓜。非常清爽。
饱食度 +8, 饮水 +15 | A green cucumber. Very refreshing.
Satiety +8, Thirst +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 番茄 */
<<consumable "tomato" "番茄|Tomato">>
<<set $player.baoshi to Math.clamp($player.baoshi + 10, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 12, 0, $player.maxYinshui)>>
<<price>> 8
<<weight>> 0.2
<<description>>
多汁的红番茄。
饱食度 +10, 饮水 +12 | A juicy red tomato.
Satiety +10, Thirst +12
<<tags 'food' 'loot'>>
<</consumable>>
/* 南瓜汤 */
<<consumable "nanguatang" "南瓜汤|Pumpkin Soup">>
<<set $player.baoshi to Math.clamp($player.baoshi + 35, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 20, 0, $player.maxYinshui)>>
<<price>> 50
<<weight>> 0.4
<<description>>
奶油南瓜汤。温暖且补水。
饱食度 +35, 饮水 +20 | Creamy pumpkin soup. Warm and hydrating.
Satiety +35, Thirst +20
<<tags 'food' 'loot'>>
<</consumable>>
/* 蔬菜汤 */
<<consumable "shucaitang" "蔬菜汤|Vegetable Soup">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 25, 0, $player.maxYinshui)>>
<<price>> 40
<<weight>> 0.4
<<description>>
蔬菜做的热汤。
饱食度 +30, 饮水 +25 | Hot soup made from vegetables.
Satiety +30, Thirst +25
<<tags 'food' 'loot'>>
<</consumable>>
/* 鱼汤 */
<<consumable "yutang" "鱼汤|Fish Soup">>
<<set $player.baoshi to Math.clamp($player.baoshi + 35, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 20, 0, $player.maxYinshui)>>
<<price>> 45
<<weight>> 0.4
<<description>>
鱼做的肉汤。
饱食度 +35, 饮水 +20 | Broth made from fish.
Satiety +35, Thirst +20
<<tags 'food' 'loot'>>
<</consumable>>
/* 牛奶粥 */
<<consumable "niunaizhou" "牛奶粥|Milk Porridge">>
<<set $player.baoshi to Math.clamp($player.baoshi + 40, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 30, 0, $player.maxYinshui)>>
<<price>> 55
<<weight>> 0.4
<<description>>
用牛奶煮的燕麦。
饱食度 +40, 饮水 +30 | Oats cooked in milk.
Satiety +40, Thirst +30
<<tags 'food' 'loot'>>
<</consumable>>
/* 煮荞麦 */
<<consumable "boiled_buckwheat" "煮荞麦|Boiled Buckwheat">>
<<set $player.baoshi to Math.clamp($player.baoshi + 40, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 15, 0, $player.maxYinshui)>>
<<price>> 60
<<weight>> 0.4
<<description>>
水煮荞麦。
饱食度 +40, 饮水 +15 | Buckwheat cooked in water.
Satiety +40, Thirst +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 煮玉米 */
<<consumable "boiled_corn" "煮玉米|Boiled Corn">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 5, 0, $player.maxYinshui)>>
<<price>> 30
<<weight>> 0.3
<<description>>
一根甜玉米。
饱食度 +25, 饮水 +5 | A cob of sweet corn.
Satiety +25, Thirst +5
<<tags 'food' 'loot'>>
<</consumable>>
/* 煮意面 */
<<consumable "boiled_pasta" "煮意面|Pasta">>
<<set $player.baoshi to Math.clamp($player.baoshi + 45, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 5, 0, $player.maxYinshui)>>
<<price>> 65
<<weight>> 0.4
<<description>>
水煮意大利面。
饱食度 +45, 饮水 +5 | Boiled pasta.
Satiety +45, Thirst +5
<<tags 'food' 'loot'>>
<</consumable>>
/* 米饭 */
<<consumable "boiled_rice" "米饭|Rice">>
<<set $player.baoshi to Math.clamp($player.baoshi + 40, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 5, 0, $player.maxYinshui)>>
<<price>> 60
<<weight>> 0.4
<<description>>
一碗白米饭。
饱食度 +40, 饮水 +5 | A bowl of white rice.
Satiety +40, Thirst +5
<<tags 'food' 'loot'>>
<</consumable>>
/* 卷心菜 */
<<consumable "cabbage" "卷心菜|Cabbage">>
<<set $player.baoshi to Math.clamp($player.baoshi + 15, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 10, 0, $player.maxYinshui)>>
<<price>> 10
<<weight>> 1.0
<<description>>
一颗新鲜卷心菜。
饱食度 +15, 饮水 +10 | A head of fresh cabbage.
Satiety +15, Thirst +10
<<tags 'food' 'loot'>>
<</consumable>>
/* 生菜 */
<<consumable "lettuce" "生菜|Lettuce">>
<<set $player.baoshi to Math.clamp($player.baoshi + 8, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 5, 0, $player.maxYinshui)>>
<<price>> 5
<<weight>> 0.2
<<description>>
新鲜的绿叶菜。
饱食度 +8, 饮水 +5 | Fresh green leaves.
Satiety +8, Thirst +5
<<tags 'food' 'loot'>>
<</consumable>>
/* 沙拉 */
<<consumable "salad" "沙拉|Salad">>
<<set $player.baoshi to Math.clamp($player.baoshi + 20, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 10, 0, $player.maxYinshui)>>
<<price>> 35
<<weight>> 0.3
<<description>>
混合蔬菜。
饱食度 +20, 饮水 +10 | Mixed vegetables.
Satiety +20, Thirst +10
<<tags 'food' 'loot'>>
<</consumable>>
/* ==========================================
饮料类 (Drink) - 增加饮水,可能含少量热量
========================================== */
/* 冰咖啡 (利尿/解渴) */
<<consumable "coffee_cold" "冰咖啡|Iced Coffee">>
<<set $player.yinshui to Math.clamp($player.yinshui + 15, 0, $player.maxYinshui)>>
<<set $player.baoshi to Math.clamp($player.baoshi + 2, 0, $player.maxBaoshi)>>
<<price>> 35
<<weight>> 0.3
<<description>>
冷咖啡。提神醒脑。
饮水 +15, 饱食度 +2 | Cold coffee. Refreshing.
Thirst +15, Satiety +2
<<tags 'drink' 'loot'>>
<</consumable>>
/* 炼乳 (高糖/粘稠) */
<<consumable "condensed_milk" "炼乳|Condensed Milk">>
<<set $player.yinshui to Math.clamp($player.yinshui + 10, 0, $player.maxYinshui)>>
<<set $player.baoshi to Math.clamp($player.baoshi + 20, 0, $player.maxBaoshi)>>
<<price>> 40
<<weight>> 0.3
<<description>>
浓缩的甜牛奶。高能量但非常粘稠。
饮水 +10, 饱食度 +20 | Thick, sweet milk. High energy but very sticky.
Thirst +10, Satiety +20
<<tags 'drink' 'loot'>>
<</consumable>>
/* 酒品 (脱水) */
<<consumable "jiupin" "酒品|Liquor">>
<<set $player.yinshui to Math.clamp($player.yinshui - 15, 0, $player.maxYinshui)>>
<<set $player.hp to Math.clamp($player.hp + 5, 0, $player.maxhp)>>
<<price>> 80
<<weight>> 0.7
<<description>>
烈酒。烧喉咙且让你脱水。
饮水 -15, HP+5 | Strong alcohol. Burns your throat and dehydrates you.
Thirst -15, HP+5
<<tags 'drink' 'loot'>>
<</consumable>>
/* 牛奶 */
<<consumable "milk" "牛奶|Milk">>
<<set $player.yinshui to Math.clamp($player.yinshui + 25, 0, $player.maxYinshui)>>
<<set $player.baoshi to Math.clamp($player.baoshi + 10, 0, $player.maxBaoshi)>>
<<price>> 30
<<weight>> 1.0
<<description>>
新鲜牛奶。对骨骼有益。
饮水 +25, 饱食度 +10 | Fresh milk. Good for bones.
Thirst +25, Satiety +10
<<tags 'drink' 'loot'>>
<</consumable>>
/* 百事可乐 */
<<consumable "pepsicola" "百事可乐|Pepsi Cola">>
<<set $player.yinshui to Math.clamp($player.yinshui + 30, 0, $player.maxYinshui)>>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<price>> 25
<<weight>> 0.3
<<description>>
一罐甜甜的碳酸饮料。
饮水 +30, 饱食度 +30 | A can of sweet, fizzy soda.
Thirst +30, Satiety +30
<<tags 'drink' 'loot'>>
<</consumable>>
/* 瓶装水 */
<<consumable "pingzhuangshui" "瓶装水|Bottled Water">>
<<set $player.yinshui to Math.clamp($player.yinshui + 30, 0, $player.maxYinshui)>>
<<price>> 15
<<weight>> 0.3
<<description>>
纯净瓶装水。
饮水 +30 | Purified bottled water.
Thirst +30
<<tags 'drink' 'loot'>>
<</consumable>>
/* ==========================================
医疗类 (Medical) - 恢复生命值
========================================== */
/* 绷带 */
<<consumable "bengdai" "绷带|Bandage">>
<<set $player.hp to Math.clamp($player.hp + 15, 0, $player.maxhp)>>
<<price>> 30
<<weight>> 0.1
<<description>>
无菌绷带布。止血。
生命 +15 | Sterile bandage cloth. Stops bleeding.
HP +15
<<tags 'medical' 'loot'>>
<</consumable>>
/* 急救药 */
<<consumable "jijiuyao" "急救药|First Aid Kit">>
<<set $player.hp to Math.clamp($player.hp + 60, 0, $player.maxhp)>>
<<price>> 150
<<weight>> 0.8
<<level>> 10
<<description>>
包含消毒剂、缝合线和纱布的完整套件。
生命 +60 | A complete kit containing antiseptics, sutures, and gauze.
HP +60
<<tags 'medical' 'loot'>>
<</consumable>>
/* 喷雾 */
<<consumable "penwu" "喷雾|Healing Spray">>
<<set $player.hp to Math.clamp($player.hp + 30, 0, $player.maxhp)>>
<<price>> 120
<<weight>> 0.2
<<description>>
能迅速愈合伤口的生物医学喷雾。
生命 +30 | Biomedical spray that rapidly closes wounds.
HP +30
<<tags 'medical' 'loot'>>
<</consumable>>
/* 兴奋剂 (副作用: 消耗饱食/水) */
<<consumable "xingfen" "兴奋剂|Adrenaline Shot">>
<<set $player.hp to Math.clamp($player.hp + 20, 0, $player.maxhp)>>
<<set $player.baoshi to Math.clamp($player.baoshi - 10, 0, $player.maxBaoshi)>>
<<price>> 80
<<weight>> 0.1
<<description>>
注射用兴奋剂。提升能量但快速消耗卡路里。
生命 +20, 饱食度 -10 | Injectable stimulant. Boosts energy but burns calories rapidly.
HP +20, Satiety -10
<<tags 'medical' 'loot'>>
<</consumable>>
/* 药丸 (吞服需水) */
<<consumable "yaowan" "药丸|Pills">>
<<set $player.hp to Math.clamp($player.hp + 10, 0, $player.maxhp)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 2, 0, $player.maxYinshui)>>
<<price>> 40
<<weight>> 0.05
<<description>>
通用抗生素。吞咽困难。
生命 +10, 饮水 -2 | General purpose antibiotics. Dry to swallow.
HP +10, Thirst -2
<<tags 'medical' 'loot'>>
<</consumable>>
/* 医疗包 */
<<consumable "yiliao" "医疗包|Medical Bag">>
<<set $player.hp to Math.clamp($player.hp + 80, 0, $player.maxhp)>>
<<price>> 250
<<weight>> 1.5
<<level>> 15
<<description>>
用于治疗严重创伤的专业医疗设备。
生命 +80 | Professional medical equipment for treating serious trauma.
HP +80
<<tags 'medical' 'loot'>>
<</consumable>>
/* ==========================================
其他肉类/混合类 (此处设为标准饱食,不扣水也不加水)
========================================== */
/* 牛肉 */
<<consumable "beef" "牛肉|Raw Beef">>
<<set $player.baoshi to Math.clamp($player.baoshi + 20, 0, $player.maxBaoshi)>>
<<price>> 40
<<weight>> 0.5
<<description>>
一块生牛肉。
饱食度 +20 | A slab of raw beef.
Satiety +20
<<tags 'food' 'loot'>>
<</consumable>>
/* 刺身 */
<<consumable "cishen" "刺身|Sashimi">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<price>> 80
<<weight>> 0.2
<<description>>
新鲜的生鱼片。
饱食度 +25 | Fresh slices of raw fish.
Satiety +25
<<tags 'food' 'loot'>>
<</consumable>>
/* 晚餐 */
<<consumable "dinner" "晚餐|Full Dinner">>
<<set $player.baoshi to Math.clamp($player.baoshi + 80, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 80, 0, $player.maxYinshui)>>
<<price>> 200
<<weight>> 0.8
<<description>>
丰盛的一餐。
饱食度 +80, 饮水 +80 | A complete meal.
Satiety +80, Thirst +80
<<tags 'food' 'loot'>>
<</consumable>>
/* 炖肉 */
<<consumable "dunrou" "炖肉|Stewed Meat">>
<<set $player.baoshi to Math.clamp($player.baoshi + 60, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 60, 0, $player.maxYinshui)>>
<<price>> 150
<<weight>> 0.6
<<description>>
慢火炖煮至软烂的肉。
饱食度 +60, 饮水 +60 | Meat slow-cooked until tender.
Satiety +60, Thirst +60
<<tags 'food' 'loot'>>
<</consumable>>
/* 狗鱼 */
<<consumable "fish_gouyu" "狗鱼|Pike">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<price>> 40
<<weight>> 1.5
<<description>>
一条新鲜的掠食性鱼类。
饱食度 +25 | A fresh predatory fish.
Satiety +25
<<tags 'food' 'loot'>>
<</consumable>>
/* 海草 */
<<consumable "fish_haicao" "海草|Seaweed">>
<<set $player.baoshi to Math.clamp($player.baoshi + 5, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 2, 0, $player.maxYinshui)>>
<<price>> 5
<<weight>> 0.1
<<description>>
可食用的海草。
饱食度 +5, 饮水 +2 | Edible seaweed.
Satiety +5, Thirst +2
<<tags 'food' 'loot'>>
<</consumable>>
/* 鲤鱼 */
<<consumable "fish_liyu" "鲤鱼|Carp">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<price>> 45
<<weight>> 2.0
<<description>>
常见的淡水鱼。
饱食度 +30 | A common freshwater fish.
Satiety +30
<<tags 'food' 'loot'>>
<</consumable>>
/* 鲈鱼 */
<<consumable "fish_luyu" "鲈鱼|Bass">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<price>> 50
<<weight>> 1.8
<<description>>
不错的渔获。
饱食度 +30 | A nice catch.
Satiety +30
<<tags 'food' 'loot'>>
<</consumable>>
/* 绿藻 */
<<consumable "fish_lvzao" "绿藻|Green Algae">>
<<set $player.baoshi to Math.clamp($player.baoshi + 5, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 2, 0, $player.maxYinshui)>>
<<price>> 2
<<weight>> 0.1
<<description>>
水中的藻类。
饱食度 +5, 饮水 +2 | Slime from the water.
Satiety +5, Thirst +2
<<tags 'food' 'loot'>>
<</consumable>>
/* 泥鳅 */
<<consumable "fish_niqiu" "泥鳅|Loach">>
<<set $player.baoshi to Math.clamp($player.baoshi + 10, 0, $player.maxBaoshi)>>
<<price>> 15
<<weight>> 0.1
<<description>>
滑溜的小鱼。
饱食度 +10 | Small slippery fish.
Satiety +10
<<tags 'food' 'loot'>>
<</consumable>>
/* 太阳鱼 */
<<consumable "fish_taiyangyu" "太阳鱼|Sunfish">>
<<set $player.baoshi to Math.clamp($player.baoshi + 15, 0, $player.maxBaoshi)>>
<<price>> 20
<<weight>> 0.3
<<description>>
色彩斑斓的小鱼。
饱食度 +15 | A colorful small fish.
Satiety +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 烤鱼 */
<<consumable "kaoyu" "烤鱼|Roast Fish">>
<<set $player.baoshi to Math.clamp($player.baoshi + 45, 0, $player.maxBaoshi)>>
<<price>> 90
<<weight>> 0.5
<<description>>
穿在棍子上的烤鱼。
饱食度 +45 | Fish grilled on a stick.
Satiety +45
<<tags 'food' 'loot'>>
<</consumable>>
/* 肉 (错误拼写) */
<<consumable "Meet" "肉|Meat">>
<<set $player.baoshi to Math.clamp($player.baoshi + 20, 0, $player.maxBaoshi)>>
<<price>> 40
<<weight>> 0.5
<<description>>
一块生肉。
饱食度 +20 | A chunk of raw meat.
Satiety +20
<<tags 'food' 'loot'>>
<</consumable>>
/* 南瓜 */
<<consumable "pumpkin" "南瓜|Pumpkin">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 15, 0, $player.maxYinshui)>>
<<price>> 20
<<weight>> 2.0
<<description>>
一个大橙色南瓜。
饱食度 +25, 饮水 +15 | A large orange pumpkin.
Satiety +25, Thirst +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 兔子 */
<<consumable "rabbit" "兔子|Rabbit">>
<<set $player.baoshi to Math.clamp($player.baoshi + 25, 0, $player.maxBaoshi)>>
<<price>> 35
<<weight>> 1.5
<<description>>
一只死兔子。
饱食度 +25 | A dead rabbit.
Satiety +25
<<tags 'food' 'loot'>>
<</consumable>>
/* 肉排 */
<<consumable "roupai" "肉排|Steak">>
<<set $player.baoshi to Math.clamp($player.baoshi + 60, 0, $player.maxBaoshi)>>
<<price>> 120
<<weight>> 0.4
<<description>>
优质切块肉,烹饪得当。
饱食度 +60 | A premium cut of meat, cooked well.
Satiety +60
<<tags 'food' 'loot'>>
<</consumable>>
/* 生日蛋糕 */
<<consumable "shengridangao" "生日蛋糕|Birthday Cake">>
<<set $player.baoshi to Math.clamp($player.baoshi + 80, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - 5, 0, $player.maxYinshui)>>
<<price>> 250
<<weight>> 1.0
<<description>>
带糖霜的甜蛋糕。高糖分可能会让你口渴。
饱食度 +80, 饮水 -5 | A sweet cake with icing. High sugar might make you thirsty.
Satiety +80, Thirst -5
<<tags 'food' 'loot'>>
<</consumable>>
/* 生鱼片 */
<<consumable "shengyupian" "生鱼片|Raw Fish Slice">>
<<set $player.baoshi to Math.clamp($player.baoshi + 15, 0, $player.maxBaoshi)>>
<<price>> 50
<<weight>> 0.1
<<description>>
切片鱼肉。
饱食度 +15 | Sliced fish.
Satiety +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 寿司 */
<<consumable "shousi" "寿司|Sushi">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<price>> 75
<<weight>> 0.2
<<description>>
米饭和鱼肉卷。
饱食度 +30 | Rice and fish roll.
Satiety +30
<<tags 'food' 'loot'>>
<</consumable>>
/* 蔬菜 */
<<consumable "shucai" "蔬菜|Vegetables">>
<<set $player.baoshi to Math.clamp($player.baoshi + 15, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui + 15, 0, $player.maxYinshui)>>
<<price>> 12
<<weight>> 0.5
<<description>>
什锦蔬菜。
饱食度 +15, 饮水 +15 | Assorted greens.
Satiety +15, Thirst +15
<<tags 'food' 'loot'>>
<</consumable>>
/* 鹿肉 */
<<consumable "venison" "鹿肉|Venison">>
<<set $player.baoshi to Math.clamp($player.baoshi + 30, 0, $player.maxBaoshi)>>
<<price>> 50
<<weight>> 0.6
<<description>>
来自鹿的野味。
饱食度 +30 | Game meat from a deer.
Satiety +30
<<tags 'food' 'loot'>>
<</consumable>>
<<consumable "xiaobeibao" "小背包|Small BackPack">>
<<set $maxBeibaoSize += 5>>
<<price>> 20
<<weight>> 0.2
<<description>>
小型背包扩容物,增加5格背包容量。|Small backpack expansion item, increasing the backpack capacity by 5 slots.
<<tags 'beibao' 'loot'>>
<</consumable>>
<<consumable "dabeibao" "大背包|Big BackPack">>
<<set $maxBeibaoSize += 10>>
<<price>> 40
<<weight>> 0.2
<<description>>
大型背包扩容物,增加10格背包容量。|Large backpack expansion item, increasing the backpack capacity by 10 slots.
<<tags 'beibao' 'loot'>>
<</consumable>>
<<consumable "xiaocangku" "小仓库|Small Warehouse">>
<<set $maxCangkuSize += 10>>
<<price>> 20
<<weight>> 0.2
<<description>>
小型仓库扩容物,增加10格仓库容量。|Small warehouse expansion item, increases warehouse capacity by 10 slots.
<<tags 'beibao' 'loot'>>
<</consumable>>
<<consumable "dacangku" "大仓库|Big Warehouse">>
<<set $maxCangkuSize += 20>>
<<price>> 40
<<weight>> 0.2
<<description>>
大型仓库扩容物,增加20格仓库容量。|Large warehouse expansion item, increasing the warehouse capacity by 20 slots.
<<tags 'beibao' 'loot'>>
<</consumable>>
<<consumable "yaoping_ap" "AP药水|AP Potion">>
<<set $player.xingdongli += 1>>
<<price>> 40000
<<weight>> 0.2
<<description>>
永恒联邦内部流出的基因改造药水,永久增加1点AP。|A genetic modification potion leaked from within the Eternal Federation, permanently increasing AP by 1 point.
<<tags 'yaoping' 'loot'>>
<</consumable>>
<<consumable "yaoping_hp" "HP药水|HP Potion">>
<<set $player.maxhp += 10, $player.hp = $player.maxhp>>
<<price>> 20000
<<weight>> 0.2
<<description>>
Saika在某种巧合下研制出的基因改造药水,永久增加10点HP上限。|The genetically modified potion developed by Saika by some coincidence permanently increases the maximum HP by 10 points.
<<tags 'yaoping' 'loot'>>
<</consumable>>
<<consumable "yaoping_bs" "饱食药水|Satiety Potion">>
<<set $player.baoshidiaolv += 0.1>>
<<price>> 10000
<<weight>> 0.2
<<description>>
在某种巧合下研制出的基因改造药水,永久减少10%的饱食消耗。|A genetically modified potion accidentally developed, permanently reduces satiety consumption by 10%..
<<tags 'yaoping' 'loot'>>
<</consumable>>
<<consumable "yaoping_ys" "饮水药水|Thirst Potion">>
<<set $player.yinshuidiaolv += 0.1>>
<<price>> 10000
<<weight>> 0.2
<<description>>
在某种巧合下研制出的基因改造药水,永久减少10%的饮水消耗。|A genetically modified potion accidentally developed, permanently reduces thirst consumption by 10%..
<<tags 'yaoping' 'loot'>>
<</consumable>><h1 class="game-title">
<span class="game-name">Doomsday</span>
<span class="game-version">version <<=$game.version>></span>
</h1><center>[img[setup.ImagePath+'/changjing/shuniucheng/0.png']]</center>
<br><br>
<<pickup $cangku 'binggan' 10 'pingzhuangshui' 5 'bengdai' 5>>
<<set _newItemId to setup.generateEquipment('homemade_gun')>>
<<if _newItemId>>
<<run $beibao.pickup(_newItemId, 1)>>
<<run setup.Equipment.equip($beibao, _newItemId)>>
<</if>>
<<set $player.fuzhong = setup.getInvWeight($beibao)>>
<<updatemeter '$fuzhongBar' `$player.fuzhong / $player.maxFuzhong`>>
<<shopReflash>>
<<lang>>
枢纽城--中立商业城邦。这里不关心信仰,只认信用点。
<br><br>
金属摩擦发出的尖利噪音和人群浑浊的气味,是“枢纽城”给新来者最直接的问候。我穿过用废卡车、生锈集装箱和粗糙焊接钢板构成的巨大城门,正式踏入了这个在废墟中野蛮生长的庞然大物。这里曾经是区域性物流中心,如今,高耸的旧龙门吊上悬挂的不是集装箱,而是警戒哨和狙击平台;宽阔的堆场上不再是整齐的货柜,而是密密麻麻、杂乱延伸的棚屋、帐篷和由各种材料拼凑起来的栖身之所。空气里混合着劣质燃料的刺鼻味、食物烹煮的气息、排泄物的臭味,以及一种钢铁与绝望摩擦后特有的铁锈味。
<br><br>
穿过脏乱但至少有一条主干道维持着基本通行秩序的“沉渣区”,我来到了一片旧车库。这里大多是卷帘门锈死、窗户破碎的空壳。一个一个的穿过它们,最后,我走进了一个相对完整、带一个小隔间、卷帘门勉强能拉下一半的车库。里面空荡荡,只有些油污和灰尘,但至少四面有墙,头顶有不算太漏的顶棚。
<br><br>
我进来时,Yua正在忙碌。
<br><br>
她正从背包里拿出几个小型传感器和警报器——这些是她从联邦基地带出来的少数还能用的“玩具”——布置在门口和唯一的窗户周围。看到我回来,Yua顺手往我身后指了一下,我顺着Yua手指的方向,检查了那扇勉强能用的后门,用找到的铁棍和铁丝做了个简易门闩。
<br><br>
当我们终于坐下,用收集的碎木生起一个小火堆,烧开一壶水时,一种短暂的、脆弱的安宁感弥漫在这个充满铁锈和灰尘气味的空间里。我们暂时安全了,有了一个可以称之为“基地”的角落。
|EN|
Hub City—a neutral commercial city-state. Here, they care nothing for faith, recognizing only Credits.
<br><br>
The screeching of metal on metal and the muddled stench of the crowds are Hub City's most direct greeting to newcomers. Passing through the massive city gates constructed from scrapped trucks, rusted shipping containers, and roughly welded steel plates, I officially stepped into this colossus that has grown wildly amidst the ruins. This was once a regional logistics center. Now, the towering old gantry cranes dangle not shipping containers, but sentry posts and sniper platforms; the vast stacking yards are no longer filled with neat rows of cargo, but with a dense, chaotic sprawl of shacks, tents, and shelters cobbled together from whatever materials were at hand. The air is a thick mix of the pungent tang of low-grade fuel, the smell of cooking food, the stench of excrement, and that specific metallic scent of rust created when steel rubs against despair.
<br><br>
Crossing through the "Sediment District"—filthy and chaotic, yet maintaining basic traffic order along one main artery—I arrived at a cluster of old garages. Most were hollow shells with rusted-shut rolling doors and shattered windows. I moved past them one by one, finally stepping into a relatively intact unit with a small partition and a rolling door that could barely be pulled halfway down. It was empty inside, save for some grease stains and dust, but at least it had four walls and a roof that didn't leak too badly.
<br><br>
Yua was already busy when I walked in.
<br><br>
She was retrieving a few small sensors and alarms from her backpack—some of the few usable "toys" she had managed to bring from the Federation base—and arranging them around the entrance and the solitary window. Seeing me return, Yua gestured behind me. Following her direction, I checked the barely functional rear door and fashioned a makeshift latch using an iron bar and some wire I found scrounging around.
<br><br>
When we finally sat down, started a small fire with gathered wood scraps, and boiled a pot of water, a fleeting, fragile sense of peace permeated this space filled with the scent of rust and dust. We were safe for now. We had a corner we could call "base."
<</lang>>
<br><br>
<<linkreplace 'continue'>>
<<lang>>
我从口袋里翻出今天刚办好的暂住证明,递给Yua。那是两张薄薄的金属片,上面蚀刻着歪扭的编码和我们模糊的面部扫描影像。在枢纽城,这就是“人”的证明,比旧世界的身份证沉重百倍。我把其中一张递给Yua,她点点头,随手塞进贴身口袋,继续擦拭手里那把老旧的自制土枪。
<<yua>>“黑哥”手下一个小头目输给我的,赌我三天内搞不到联邦边境巡逻队的换岗时间。他输了。枪保养得还行,但是只能单发,凑活着用。<</yua>>
她将手枪和一个压满子弹的弹匣推到我面前。<br><br>
我拿起枪。冰冷的金属触感很熟悉,但重量比我以前在联邦用的制式手枪要轻。检查枪膛,拉动套筒,弹簧的回馈力还算均匀。末世里,这算是份不错的礼物了。
<<yua>>我在那支了一块板子,以后我会把接到的委托都列在上面。如果你回来时我不在,你就自己处理它。<</yua>>
<<yua>>现在我们有了一个新委托。“Saika的修理铺”发布的,报酬非常不错,她答应如果我们能顺利完成任务,她会帮我们改造扩容一下我们的收纳背包,这可以现在少有的黑科技。至于要的东西嘛...<br>任何还能用的零件、电缆、以及……一本纸质书,什么书都行。地点是旧城图书馆的地下档案馆,那里塌了一半,丧尸不多,但结构危险。<br>详细的任务信息你一会儿去任务板上看一下。<</yua>>
<<you>>书?电子元件我能理解,铜线也是硬通货。书?<</you>>
<<yua>>(耸耸肩)Saika说她最近迷上了“用纸的感觉”。谁知道呢,也许她想生火。总之,她要,我们送。这是我们在枢纽城的第一个正经“送货”委托,干净,报酬实在。把信誉建立起来,以后才能接到更值钱的活。<</yua>>
她顿了顿,又递给我一个枪套,看样式跟走线,应该是yua自己手工缝制的。
<<yua>>武器只是简单的扔包里是不能使用的,你需要把它装备好。<br>记住,$player.name,你的“特殊情况”是我们的底牌,但别依赖它。感觉不到痛,不代表不会死。这次要去的图书馆,地下结构不稳,别被埋在里面。还有……(她指了指自己的耳朵)留意动静,别光靠眼睛。<</yua>>
<<yua>>我还搞到几个绷带、一些吃的以及两瓶净水,放到了仓库的箱子里,你需要就自己拿。<</yua>>
我拍了拍yua的肩膀,站了起来。
<<you>>等我回来。<</you>>
|EN|
I fished the temporary residence permits we just got today out of my pocket and handed them to Yua. They were two thin metal plates, etched with crooked codes and our blurry facial scans. In Hub City, this is the proof of being a "person," a hundred times heavier than the ID cards of the old world. I handed one to Yua; she nodded, tucked it into an inner pocket, and continued wiping the old homemade pipe gun in her hand.
<<yua>>A sub-boss working for "Black Bro" lost it to me. He bet I couldn't get the Federation border patrol rotation schedule within three days. He lost. The gun is maintained okay, but it's single-shot only. It'll do for now.<</yua>>
She pushed the pistol and a fully loaded magazine across the table to me.<br><br>
I picked up the gun. The cold metal touch was familiar, but the weight was lighter than the service pistols I used in the Federation. I checked the chamber and pulled the slide; the spring tension was even. In the apocalypse, this counts as a decent gift.
<<yua>>I propped up a board over there. From now on, I'll list the commissions I get on it. If I'm not here when you get back, handle it yourself.<</yua>>
<<yua>>Now we have a new commission. It's from "Saika's Repair Shop." The pay is excellent. She promised that if we complete the mission smoothly, she'll help modify and expand our storage backpacks. That's rare tech these days. As for what she wants...<br>Any usable parts, cables, and... a paper book. Any book will do. The location is the Old City Library's underground archives. It's half-collapsed. Not many zombies, but the structure is dangerous.<br>Go check the mission board for detailed info in a bit.<</yua>>
<<you>>A book? I understand electronic components; copper wire is hard currency. But a book?<</you>>
<<yua>>(Shrugs) Saika said she's recently gotten into "the feeling of paper." Who knows, maybe she wants to start a fire. Anyway, she wants it, we deliver. This is our first proper "delivery" commission in Hub City. Clean, solid pay. We need to build up our reputation so we can get more valuable jobs later.<</yua>>
She paused, then handed me a holster. Judging by the style and stitching, Yua must have sewn it herself.
<<yua>>You can't use a weapon if you just throw it in your bag; you need to equip it.<br>Remember, $player.name, your "special condition" is our ace in the hole, but don't rely on it. Not feeling pain doesn't mean you won't die. The library's underground structure is unstable, don't get buried inside. And... (She points to her ear) listen for movement, don't just rely on your eyes.<</yua>>
<<yua>>I also managed to get a few bandages, some food, and two bottles of purified water. I put them in the box in the storage area. Take them if you need them.<</yua>>
I patted Yua on the shoulder and stood up.
<<you>>Wait for me.<</you>>
<</lang>>
<br><br>
<<link "Continue" "yua">>
<<set $game.start to true>>
<</link>>
<</linkreplace>><<run setup.ensureEquipmentQualityStyles()>>
<div class="panel-container" id="equip-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>装备栏|EN|ACTIVE EQUIPMENT<</lang>></span>
</div>
<div class="grid-layout equip-grid">
<<for _slot range setup.Equipment.slots>>
<<capture _slot>>
<<if $equipment[_slot]>>
<<set _equId = $equipment[_slot]>>
<<set _equInfo to setup.Item.get(_equId)>>
<<if !_equInfo and $itemInstances[_equId]>>
<<set _equInfo to $itemInstances[_equId]>>
<</if>>
<<set _imgName to _equId.substring(0, _equId.lastIndexOf('_'))>>
<<set _qualityData = setup.getEquipmentQualityData(_equId)>>
<<set _qualityClass = _qualityData ? ' equip-quality-' + _qualityData.tier : ''>>
<<set _durabilityClass = _qualityData ? ' durability-' + _qualityData.durabilityState : ''>>
<div @class="'slot occupied tooltip-down' + _qualityClass + _durabilityClass" @data-slot="_slot">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_equInfo.name)>></div>
<<if _qualityData and _qualityData.hasDurability>>
<div class="item-durability-bar">
<div class="item-durability-fill" @style="'width:' + _qualityData.durabilityPercent + '%'"></div>
</div>
<</if>>
</div>
<!-- Tooltip 显示在下方 -->
<div class="tooltip-content">
<h4><<= setup.t(_equInfo.name)>></h4>
/* 显示伤害 (如果是武器) */
<<if _equInfo.damage>>
<p>Damage: <span class="highlight"><<= _equInfo.damage>></span></p>
<</if>>
/* 显示防御 */
<<if _equInfo.defence>>
<p>Defence: <span class="highlight"><<= _equInfo.defence>></span></p>
<</if>>
/* 显示魅力 */
<<if _equInfo.charm>>
<p>Charm: <span class="highlight"><<= _equInfo.charm>></span></p>
<</if>>
<p>Price: <span class="highlight"><<= _equInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _equInfo.weight>></span></p>
/* 显示耐久 */
<<if _equInfo.durability >= 0>>
<p>Durability: <span class="highlight"><<= _equInfo.durability>></span></p>
<</if>>
<<if _equInfo.level>>
<p>Level: <span class="highlight"><<= _equInfo.level>></span></p>
<</if>>
<<if _equInfo.description>>
<p style="color:#aaa; margin-top:5px;"><<=setup.t(_equInfo.description)>></p>
<</if>>
</div>
<div class="item-actions">
<<link 'Unequip'>>
<<set _unequipResult = setup.Equipment.unequipToSource(setup.getActiveWorkbenchSource(passage()), _slot)>>
<<if _unequipResult !== true>>
<<run UI.alert(_unequipResult)>>
<<else>>
<<run Engine.play(passage())>>
<</if>>
<</link>>
</div>
</div>
<<else>>
<div class="slot empty tooltip-down" @data-slot="_slot"></div>
<</if>>
<</capture>>
<</for>>
</div>
</div><<set $mapStage = 1>>
<<set $usedContent = []>>
<<initStage $mapStage>>
<<goto "StageMap">>/* 检查是否需要抽新卡 */
<<set $mapStage = setup.getActiveMapStage()>>
<<set _cfg = setup.stageConfig[$mapStage]>>
<<drawNodes>>
<h2><<=setup.t(_cfg.name)>></h2>
<small><<lang>>剩余节点数|EN|Number of remaining nodes<</lang>>: $mapQueue.length</small>
/* 检查是否所有卡都抽完且场上无卡 */
<<if $visibleNodes.length == 0 and $mapQueue.length == 0>>
地图已清空!
<<link "Go Home">>
<<goto "Home">>
<</link>>
<<else>>
<div class="node-container">
/* 遍历当前可见的3个节点 */
<<for _i, _node range $visibleNodes>>
<<capture _i, _node>>
<<nodeLink _node _i>>
<</capture>>
<</for>>
<!-- 节点 4 (重新侦察) -->
<<if $visibleNodes.length > 0>>
<div class="map-node">
/* 1. 构建卡片 HTML */
<<set _rerollHtml = `
<div class="node-content">
<div class="node-icon" style="border-color:#00bcd4;">🔄</div>
<!-- 注意:在反引号里必须用原生 img 标签,不能用 [img[]] 语法 -->
<!-- 记得加上和其他节点一样的 style 保持统一 -->
<img src="${setup.ImagePath}changjing/next.png" style="width:100px; height:100px; object-fit:cover; border:2px solid #333;">
<div class="node-title">${setup.t("下个路口|Next Intersection")}</div>
</div>
`>>
/* 2. 生成全卡片链接 */
<<link _rerollHtml>>
/* 这里可以写消耗逻辑 */
<<rerollMap>>
<</link>>
</div>
<</if>>
</div>
<</if>>
/*
<<script>>
console.log("MapConfig:", State.variables.mapQueue, setup.stageConfig[$mapStage]);
<</script>>*/<<if setup.checkCycleOnce("status_5min", 5) && $player.isHome is false>>
/* 1. 计算本次的基础衰减量 */
<<set _baoShiJianShao = 2 * (1 - $player.baoshidiaolv)>>
<<set _yinshuiJianShao = 1 * (1 - $player.yinshuidiaolv)>>
/* --- 2. 处理 饱食度 (Baoshi) --- */
<<if $player.baoshi > 0>>
/* 正常扣饱食 */
<<set $player.baoshi -= _baoShiJianShao>>
<<else>>
/* 饱食已空:扣饮水 (数值为 _baoShiJianShao) */
<<set $player.yinshui -= _baoShiJianShao>>
<</if>>
/* --- 3. 处理 饮水度 (Yinshui) --- */
/* 注意:由于上面饱食空了可能会扣一次饮水,这里要再次检查饮水是否大于0 */
<<if $player.yinshui > 0>>
/* 正常扣饮水 */
<<set $player.yinshui -= _yinshuiJianShao>>
<<else>>
/* 饮水已空:扣生命 (数值为 _yinshuiJianShao) */
<<set $player.hp -= _yinshuiJianShao>>
<</if>>
<<set $player.baoshi to Math.clamp($player.baoshi, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui, 0, $player.maxYinshui)>>
<<set $player.yuwang to Math.clamp($player.yuwang+1, 0, $player.maxYuwang)>>
/* --- 5. 处理 负重惩罚 (Fuzhong) --- */
/* 逻辑:饱食度 50% 以下时,每缺 1 点饱食,扣 1 点负重 */
<<set _threshold = $player.maxBaoshi * 0.5>>
<<if $player.baoshi < _threshold>>
/* 计算差值:(50%线) - (当前饱食) */
<<set _penalty = _threshold - $player.baoshi>>
/* 当前负重 = 基础负重 - 惩罚值 */
<<set $player.maxFuzhong to Math.clamp($player.orgMaxFuzhong - _penalty, 0, $player.orgMaxFuzhong)>>
<<else>>
/* 身体健康,恢复基础负重 */
<<set $player.maxFuzhong to $player.orgMaxFuzhong>>
<</if>>
/* --- 6. 死亡判定 --- */
<<if $player.hp <= 0>>
<<goto "GameOver">>
<</if>>
<</if>><<set
window.GameDays to [
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
];
window.GameMonths to [
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
];
$gameDate to new Date(2026, 1, 1, 8, 0);
$startDate to new Date(2026, 1, 1, 8, 0);
$isTimePaused to false;
>>
<<widget "addmins">>
<<run $gameDate.setMinutes($gameDate.getMinutes() + $args[0])>>
<<run setup.updateClockUI()>>
<</widget>>
<<widget "addhours">>
<<run $gameDate.setHours($gameDate.getHours() + $args[0])>>
<<run setup.updateClockUI()>>
<</widget>>
<<widget "adddays">>
<<run $gameDate.setHours($gameDate.getHours() + $args[0] * 24)>>
<<run setup.updateClockUI()>>
<</widget>>
<<widget "date">>
<<print String.format("{0} {1} {2}, {3}",
GameDays[$gameDate.getDay()],
GameMonths[$gameDate.getMonth()],
$gameDate.getDate(),
$gameDate.getFullYear()
)>>
<</widget>>
<<widget "timeDay">>
<<print String.format("{0}",
GameDays[$gameDate.getDay()]
)>><</widget>>
<<widget "time12hr">>
<<if $gameDate.getHours() eq 0>>
12
<<elseif $gameDate.getHours() gt 12>>
<<print $gameDate.getHours() - 12>>
<<else>>
<<print $gameDate.getHours()>>
<</if>>:
<<if $gameDate.getMinutes() lt 10>>0<</if>><<print $gameDate.getMinutes()>>
<<if $gameDate.getHours() gte 12>>PM<<else>>AM<</if>>
<</widget>>
<<widget "timeCycle">>
<<if $gameDate.getHours() > 6 && $gameDate.getHours() < 12>>
<<set $timeCycle = 'morning'>>
<<elseif $gameDate.getHours() > 6 && $gameDate.getHours() < 18>>
<<set $timeCycle = 'afternoon'>>
<<elseif $gameDate.getHours() > 6 && $gameDate.getHours() < 22>>
<<set $timeCycle = 'evening'>>
<<else>>
<<set $timeCycle = 'night'>>
<</if>>
<</widget>>
<<widget "time24hr">>
<<if $gameDate.getHours() lt 10>>0<</if>><<print $gameDate.getHours()>>:<<if $gameDate.getMinutes() lt 10>>0<</if>><<print $gameDate.getMinutes()>>
<</widget>>
<<widget "gameday">>
/* 1. 创建日期的副本,以免修改到原始的游戏时间 */
<<set _startClone to new Date($startDate)>>
<<set _nowClone to new Date($gameDate)>>
/* 2. 午夜制逻辑:将时分秒归零 */
<<run _startClone.setHours(0, 0, 0, 0)>>
<<run _nowClone.setHours(0, 0, 0, 0)>>
/* 3. 计算毫秒差值 */
<<set _diff to _nowClone - _startClone>>
/* 4. 计算天数 (86400000 是 24小时的毫秒数) */
/* 第1天是 Day 1,所以要 + 1 */
<<set _currentDay to Math.floor(_diff / 86400000) + 1>>
/* 5. 存入全局变量 $game.day */
/* 防御性编程:如果没有 $game 对象则创建一个 */
<<if not $game>>
<<set $game to {}>>
<</if>>
<<set $game.day to _currentDay>>
/* 6. 输出显示 */
<<print _currentDay>>
<</widget>>
<<widget "datetime">><<date>> <<time24hr>><</widget>>
/* 游戏已进行:<<gamemins>> 分钟 */
<<widget "gamemins">>
<<script>>
var sv = State.variables;
// 1. 直接复用刚才定义的 JS 函数 (如果没定义JS,下面这行可以手动重写计算逻辑)
// var currentMins = setup.getTotalMinutes();
// 如果你不想依赖 JS 文件,可以用下面这几行原生逻辑:
var start = sv.startDate.getTime();
var now = sv.gameDate.getTime();
var diff = now - start;
var currentMins = Math.floor(diff / 60000);
// 2. 赋值给 $game 变量,方便后续使用
if (!sv.game) { sv.game = {}; }
sv.game.totalMins = currentMins;
// 3. 输出显示
jQuery(this.output).wiki(currentMins);
<</script>>
<</widget>>
/* 游戏已进行:多少天,多少分钟 */
<<widget "playtime">>
<<script>>
var totalMins = setup.getTotalMinutes(); // 或者把上面的计算逻辑复制过来
var hours = Math.floor(totalMins / 60);
var mins = totalMins % 60;
var output = hours + "h " + mins + "m";
jQuery(this.output).wiki(output);
<</script>>
<</widget>><div id="dynamic-game-zone">
<<include "yuaShop_Render">>
</div><<widget "shopGrid">>
<<set _shopInv to $args[0]>>
<<set _shopName to $args[1] || "SHOP">>
<<set _keeperImg to $args[2]>>
<<set _keeperText to $args[3]>>
<<set _maxShopCount to $args[4]>>
<<set _renderTarget to $args[5]>>
<div class="panel-container" id="shop-display">
<!-- 1. 头部:标题与玩家金钱 -->
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<= _shopName>></span>
<!-- 显示玩家金钱 -->
<span class="shop-money" style="color:#ffd700; text-shadow: 0 0 5px rgba(255,215,0,0.5); font-family:monospace;">
Your Cash:<<= formatUSD($player.money)>>
</span>
</div>
<!-- 2. 店主区域 (如果有头像或台词才显示) -->
<<if _keeperImg or _keeperText>>
<div class="shopkeeper-area" style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px; padding: 10px; background: rgba(255,255,255,0.05); border-radius: 8px; border-left: 3px solid #00bcd4;">
<<if _keeperImg>>
<img @src="_keeperImg" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid #444; object-fit: cover;">
<</if>>
<<if _keeperText>>
<div style="font-size: 0.9em; color: #ccc; font-style: italic;">
"<<= _keeperText>>"
</div>
<</if>>
</div>
<</if>>
<!-- 3. 商品网格 -->
<div class="grid-layout wed-inv-grid">
<<for _itemId, _qty range _shopInv.table>>
<<set _itemInfo to setup.Item.get(_itemId)>>
/* 捕获变量,防止循环覆盖 */
<<capture _itemId, _itemInfo>>
/* 图片路径处理 */
<<set _imgName to _itemId>>
<<if $itemInstances[_itemId]>>
<<set _imgName to _itemId.substring(0, _itemId.lastIndexOf('_'))>>
<</if>>
/* 判断是否买得起 (用于样式) */
<<set _canAfford to $player.money >= _itemInfo.price>>
<div @class="'slot occupied ' + (_canAfford ? '' : 'unaffordable')">
<div class="item-wrapper">
[img[setup.ImgWPath + _imgName + '.png']]
<div class="item-label"><<= setup.t(_itemInfo.name)>></div>
/* 价格角标 */
<div class="item-amount"
@style="'background-color: rgba(0, 0, 0, 0.9); color:' + (_canAfford ? '#ffd700' : '#f44336')">
$<<= _itemInfo.price>>
</div>
</div>
/* Tooltip 悬浮提示 */
<div class="tooltip-content">
<h4><<= setup.t(_itemInfo.name)>></h4>
<p>Price: <span class="highlight" style="color:#ffd700">$<<= _itemInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _itemInfo.weight>></span></p>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px;"><<= setup.t(_itemInfo.description)>></p>
<</if>>
</div>
/* 操作按钮 */
<div class="item-actions">
<<if _canAfford>>
<<link `'Buy ($' + _itemInfo.price + ')'`>>
<<if $player.money >= _itemInfo.price>>
<<set $player.money -= _itemInfo.price>>
<<moveItem _shopInv $beibao _itemId 1 $maxBeibaoSize>>
<<if _renderTarget>>
<<replace "#dynamic-game-zone">>
<<include _renderTarget>>
<</replace>>
<<else>>
<<run Engine.play(passage())>>
<</if>>
<</if>>
<</link>>
/* 如果你想让玩家可以一次买多个,可以在这里加更多按钮 */
<<else>>
<a style="cursor:not-allowed; opacity:0.6; color:#f44336; border-color:#f44336;">No Money</a>
<</if>>
</div>
</div>
<</capture>>
<</for>>
/* 补齐空格子 (为了美观) */
<<set _currentCount to Object.keys(_shopInv.table).length>>
<<set _fillCount to 20 - _currentCount>> /* 假设显示20格 */
<<if _fillCount > 0>>
<<for _i to 0; _i lt _fillCount; _i++>>
<div class="slot empty"></div>
<</for>>
<</if>>
</div>
</div>
<style>
/* 商店专用:买不起的样式 */
.slot.unaffordable .item-wrapper img {
filter: grayscale(1) opacity(0.5); /* 图片变灰 */
}
.slot.unaffordable .item-amount {
color: #f44336 !important; /* 价格变红 */
border-color: #f44336 !important;
}
</style>
<</widget>><div class="cangku-page">
<!-- 左侧:背包区域 -->
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>背包|EN|INVENTORY<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<<itemGrid $beibao "sell" $cangku $maxBeibaoSize>>
<<weightDisplay>>
</div>
<<set _action = setup.t("我淘到一些新家伙,你如果感兴趣可以看一眼|I scavenged some new stuff. Come take a look if you are curious.")>>
<<shopGrid $shopyua "YUA'S SHOP" setup.ImagePath+'npc/yua/touxiang.png' _action $maxShopyua yuaShop_Render>>
</div>
[[Back|yua]]
/*
<<return "Back">>
*/
<<toggleclass "body" "home">>
<<lang>>
顺着下水道一路往下走,越靠近黑市,水声就越听不清了,取而代之的是人声、笑声、叫卖声,还有某种故意被放大的热闹。等我真正走进去时,才发现这地方根本不像“市场”,更像是依附在地下管网里的另一座城。废弃的检修通道被打通,排水井之间搭起木板和铁皮,昏暗的灯光沿着潮湿的墙面一路铺开,把整片地下空间照得既热闹又肮脏。
<br><br>
这里什么都卖,武器、药品、零件、情报,也卖片刻的麻醉和虚假的快活。每个人都在笑,可那笑声里没多少轻松,倒更像是在证明自己还没被这世道压垮。我站在入口看了一会儿,闻着空气里混杂的污水、机油、酒精和香烟味,忽然明白过来:地上的秩序早就烂掉了,而这里的人只是把那些见不得光的交易,干脆搬进了本来就不见天日的地方。
|EN|
A tunnel through the sewers led deeper and deeper underground. The closer I got to the black market, the harder it became to hear the water. In its place came voices, laughter, haggling, and a kind of noise that felt deliberately amplified. When I finally stepped inside, I realized this place was less a market than another city clinging to the buried pipe network below Hub City. Abandoned maintenance passages had been broken open and linked together. Wooden planks and sheets of scrap metal bridged the old drainage shafts, while dim lights stretched across the damp walls, illuminating the entire underground sprawl in a glow that was lively and filthy at the same time.
<br><br>
Everything was for sale here: weapons, medicine, components, information, and also brief numbness and counterfeit pleasure. Everyone was smiling, but there was very little ease in those smiles. It felt more like proof that they still hadn’t been crushed by the world outside. I stood at the entrance for a while, breathing in the mixed smell of wastewater, engine oil, alcohol, and cigarettes, and suddenly understood: the order above ground had already rotted away. The people here had simply moved all the transactions that couldn’t stand the light into a place that never saw daylight to begin with.
<</lang>>
<br><br>
<<video 'changjing/2/heishi/heishi'>>
<br><br>
<<lang>>
喧闹声里,一个穿红衣的女人靠在高脚桌边,像是早就知道会有人把目光停在她身上。她冲我扬了扬下巴,嘴角勾起一点暧昧的笑,眼神却没什么温度,像是在看一个新来的客人,也像是在估量一件刚被送到门口的货。
<br><br>
<<heishang>>哟,帅哥~生面孔啊。第一次来?想找乐子、找货,还是找点外面不方便问的东西?只要你出得起价,我也许都帮得上。不过嘛……在这里,先想清楚自己到底要什么,再开口。<</heishang>>
|EN|
In the middle of all that noise, a black market merchant dressed in red leaned against a tall table as if she already knew someone’s gaze would stop on her. She tipped her chin at me, the corner of her mouth lifting in a teasing smile, but there was no real warmth in her eyes. She was looking at me like a new customer, and at the same time like a piece of merchandise that had just arrived at her door.
<br><br>
<<heishang>>Well, handsome... fresh face, huh? First time here? Looking for a little fun, looking for goods, or looking for something you can’t conveniently ask about above ground? If your price is good enough, I might be able to help with all of it. But here... you’d better decide what you really want before you open your mouth.<</heishang>>
<</lang>>
<br><br>
<<set _action = setup.t("黑市商人|Black Market Merchant")>>
[[_action|heishiShop]]
<br><br>
<<if $quests.active.includes("q_zx_heishi_xiuli") and !$heishangMafanSeen>>
<<set _action = setup.t("黑商碰到麻烦|The Black Merchant Is In Trouble")>>
[[_action|heishangMafan]]
<br><br>
<</if>>
<<if ($heishangMafanSeen and !$quests.active.includes("q_heishang_shili1") and !$quests.completed.includes("q_heishang_shili1")) or $quests.active.includes("q_heishang_shili1")>>
<<set _action = setup.t("黑商的委托|The Black Merchant's Request")>>
[[_action|heishangMafan]]
<br><br>
<</if>>
<<if $quests.active.includes("q_Saika_lianluoyuan") and !$quests.completed.includes("q_Saika_lianluoyuan")>>
<<set _action = setup.t("黑商碰到麻烦2|The Black Merchant Is In Trouble 2")>>
[[_action|heishangMafan2]]
<br><br>
<</if>>
<<if $quests.active.includes("q_jynx_findLianluoyuan") and !$quests.completed.includes("q_jynx_findLianluoyuan")>>
<<set _action = setup.t("废弃库房|Abandoned Storehouses")>>
[[_action|hesexiaowu]]
<br><br>
<</if>>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]
<<restockHeishiShop>>
<div id="dynamic-game-zone">
<<include "heishiShop_Render">>
</div><div class="cangku-page">
<!-- 左侧:背包区域 -->
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<lang>>背包|EN|INVENTORY<</lang>></span>
<span class="capacity-bar"><<lang>>背包容量|EN|Capacity<</lang>>: $beibao.uniqueLength / $maxBeibaoSize </span>
</div>
<<itemGrid $beibao "sell" $cangku $maxBeibaoSize>>
<<weightDisplay>>
</div>
<<set _action = setup.t("有货就摆,有人要就卖。你要的东西,不一定每天都有。|If I have it, I put it out. If someone wants it, I sell it. What you need won't be here every day.")>>
<<shopGrid $shopheishi "BLACK MARKET" setup.ImagePath+'npc/heishang/heishang.png' _action $maxShopheishiSize heishiShop_Render>>
</div>
[[Back|Heishi]]<<set _playerStatuses = setup.Battle.getStatusSummary("player")>>
<<if $battle.phase === "player">>
<<if !setup.Battle.canUnitAct("player")>>
<div class="skill-btn" style="border-color: #f44336; cursor: default;">
<div class="skill-icon">💤</div>
<div class="skill-name" style="color: #f44336;"><<=setup.t("眩晕|STUNNED")>></div>
<div style="font-size:11px; text-align:center; color:#888;"><<=setup.t("本回合无法行动|Cannot act this turn")>></div>
</div>
<<button _btnEndTurn>>
<<run setup.Battle.enemyTurn()>>
<</button>>
<<else>>
<<set _skills = setup.Battle.getPlayerSkills()>>
<<set _blockedApCost = setup.Battle.getBlockedApCost()>>
<<for _i, _skillId range _skills>>
<<set _skill = setup.SkillDB[_skillId]>>
<<capture _skillId, _skill>>
<<set _apCost to setup.Battle.getPlayerSkillApCost(_skillId, _skill)>>
<<set _costLabel to setup.Battle.getPlayerSkillCostLabel(_skillId, _skill)>>
<<set _canPayCost to setup.Battle.canPlayerPaySkillCost(_skillId, _skill)>>
<<set _isLockedByDebuff to _blockedApCost gt 0 and _apCost is _blockedApCost>>
<<set _isUsedThisTurn to setup.Battle.isPlayerSkillSpentThisTurn(_skillId)>>
<<if _isUsedThisTurn>>
<div class="skill-btn" style="opacity: 0.5; filter: grayscale(0.85); cursor: not-allowed; border-color:#ffb74d;">
<div class="skill-cost"><<= _costLabel>></div>
<div class="skill-icon"><<= _skill.icon || "⚔️">></div>
<div class="skill-name" style="color:#ffd08a;"><<=setup.t(_skill.name)>></div>
<div style="font-size:11px; text-align:center; color:#ffd08a;"><<=setup.t("本回合已使用|Already used this turn")>></div>
</div>
<<elseif !_isLockedByDebuff and _canPayCost>>
<<set _btnHtml = `
<div class="skill-btn">
<div class="skill-cost">_costLabel</div>
<div class="skill-icon"><<= _skill.icon || "⚔️">></div>
<div class="skill-name"><<=setup.t(_skill.name)>></div>
<div style="font-size:11px; text-align:center; color:#888;"><<=setup.t(_skill.desc)>></div>
</div>
`>>
<<link _btnHtml>>
<<run setup.Battle.useSkill(_skillId)>>
<</link>>
<<elseif _isLockedByDebuff>>
<div class="skill-btn" style="opacity: 0.5; filter: grayscale(0.7); cursor: not-allowed; border-color:#f44336;">
<div class="skill-cost"><<= _costLabel>></div>
<div class="skill-icon"><<= _skill.icon || "⚔️">></div>
<div class="skill-name" style="color:#ff8e8e;"><<=setup.t(_skill.name)>></div>
<div style="font-size:11px; text-align:center; color:#ff8e8e;"><<=setup.t("本回合该 AP 档位被封锁|This AP tier is sealed this turn")>></div>
</div>
<<else>>
/* AP 不足时的显示(不可点击) */
<div class="skill-btn" style="opacity: 0.5; filter: grayscale(1); cursor: not-allowed;">
<div class="skill-cost"><<= _costLabel>></div>
<div class="skill-icon"><<= _skill.icon || "⚔️">></div>
<div class="skill-name"><<=setup.t(_skill.name)>></div>
<div style="font-size:11px; text-align:center; color:#888;">Not enough AP</div>
</div>
<</if>>
<</capture>>
<</for>>
<</if>>
<<else>>
<p>Enemy Turn...</p>
<!-- 如果敌人回合有动画延迟,这里可以使用 <<timed>> 宏 -->
<</if>><!-- 中文注释:BattleEnemies 现在主要负责战斗首屏模板。后续刷新会由 BattleRenderer 复用 enemy-* 根节点,只同步内部内容。 -->
<<for _i, _enemy range $battle.enemies>>
<<capture _i, _enemy>>
<div @id="'enemy-' + _i" @class="'fighter-unit ' + (_enemy.hp <= 0 ? 'dead' : '')">
<<if _enemy.hp > 0>>
/*暂时不做敌人的动作预告
<div class="intent-icon">
<span class="tooltip">Intent: Heavy Attack (15 Dmg)</span>
</div>
*/
<<set _enemyStats = setup.Battle.getUnitComputedStats(_enemy)>>
<<set _enemyStatuses = setup.Battle.getStatusSummary(_enemy)>>
<div class="status-bar">
<div style="font-weight:bold; font-size:14px;"><<print setup.t(_enemy.name)>></div>
<div class="hp-bar-bg"><div class="hp-bar-fill" @style="'width:' + Math.max(0, (_enemy.hp / _enemy.maxHp) * 100) + '%'"></div></div>
<div style="font-size:12px; margin-top:2px;">HP: <<print _enemy.hp>>/<<print _enemy.maxHp>></div>
</div>
<div class="stats-row">
<div class="stat-badge atk" title="Attack">
<span class="stat-icon-atk">⚔️</span>
<span><<print _enemyStats.atk || 0>></span>
</div>
<div class="stat-badge def" title="Defense">
<span class="stat-icon-def">🛡️</span>
<span><<print _enemyStats.def || 0>></span>
</div>
</div>
<div style="margin:6px 0 4px; display:flex; flex-wrap:wrap; gap:4px;">
<<if _enemyStatuses.length > 0>>
<<for _st range _enemyStatuses>>
<span @title="_st.tooltip" style="padding:1px 5px; border:1px solid #555; border-radius:10px; font-size:10px; color:<<= _st.kind === 'debuff' ? '#ff8080' : '#8cff8c'>>;"><<print _st.icon>><<print _st.counterText>></span>
<</for>>
<<else>>
<span style="color:#777; font-size:10px;"><<=setup.t("无效果|No effects")>></span>
<</if>>
</div>
<div class="sprite-container">
<img @src="_enemy.img" />
</div>
<div class="shadow-base"></div>
<<else>>
<!-- B. 敌人死亡 -->
<div style="height: 100px; display: flex; align-items: flex-end; justify-content: center;">
<span style="color:#888; font-weight:bold;">(Defeated)</span>
</div>
<!-- 死亡时也可以保留尸体图片,加上 CSS 滤镜 -->
<div class="sprite-container" style="filter: grayscale(100%) brightness(0.5); opacity: 0.6;">
<img @src="_enemy.img" />
</div>
<</if>>
</div>
<</capture>>
<</for>><<for _log range $battle.logs.slice().reverse()>>
<div class="log-entry"> ><<print _log>></div>
<</for>><<set _pStats = setup.Battle.getPlayerTotalStats()>>
<<set _pStatuses = setup.Battle.getStatusSummary("player")>>
<<set _btnEndTurn = setup.t("结束回合|End Turn")>>
<<set _btnEndTurn = setup.t("结束回合|End Turn")>>
<h3><<=setup.t("状态|STATUS")>></h3>
<div class="stat-row"><span><<=setup.t("行动点|AP")>></span> <span class="stat-val" style="color:#ffb300">⚡ <<print $battle.playerAP>> / $player.xingdongli</span></div>
<div class="stat-row"><span><<=setup.t("攻击|Attack")>></span> <span class="stat-val">⚔️ <<print _pStats.damage>></span></div>
<div class="stat-row"><span><<=setup.t("防御|Defense")>></span> <span class="stat-val" style="color:#aaa">🛡️ <<print _pStats.defence>></span></div>
<div class="stat-row"><span><<=setup.t("生命|HP")>></span> <span class="stat-val" style="color:#ff8080">❤ <<print $player.hp>> / <<print _pStats.maxHp>></span></div>
<div class="stat-row" style="display:block;">
<span><<=setup.t("效果|Effects")>></span>
<div style="margin-top:6px; display:flex; flex-wrap:wrap; gap:6px;">
<<if _pStatuses.length > 0>>
<<for _st range _pStatuses>>
<span @title="_st.tooltip" style="padding:2px 6px; border:1px solid #555; border-radius:10px; font-size:11px; color:<<= _st.kind === 'debuff' ? '#ff8080' : '#8cff8c'>>;"><<print _st.icon>> <<print _st.name>>(<<print _st.detailText>>)</span>
<</for>>
<<else>>
<span style="color:#777; font-size:11px;"><<=setup.t("无|None")>></span>
<</if>>
</div>
</div>
<div style="margin-top:20px;">
<<if setup.Battle.canUnitAct("player")>>
<<button _btnEndTurn>>
<<run setup.Battle.enemyTurn()>>
<</button>>
<<else>>
<button disabled style="background:#333; color:#f44336; border-color:#f44336;"><<=setup.t("眩晕|STUNNED")>></button>
<</if>>
</div><!-- 中文注释:BattlePlayerUnit 现在主要负责战斗首屏模板。后续刷新会由 BattleRenderer 持续复用 player-unit 根节点。 -->
<div id="player-unit" @class="'fighter-unit ' + ($player.hp <= 0 ? 'dead' : '')">
<<updateCaptionInfo>>
<<set _pStatuses = setup.Battle.getStatusSummary("player")>>
<<set _pStats = setup.Battle.getPlayerTotalStats()>>
<<if $player.hp > 0>>
<!-- 状态条 -->
<div class="status-bar">
<div style="font-weight:bold; font-size:14px;"><<= $player.name>></div>
<div class="hp-bar-bg">
<div class="hp-bar-fill" @style="'width:' + Math.max(0, (_pStats.maxHp > 0 ? ($player.hp / _pStats.maxHp) : 0) * 100) + '%'"></div>
</div>
<div style="font-size:12px; margin-top:2px;">
<<print $player.hp>>/<<print _pStats.maxHp>></div>
<div style="margin-top:6px; display:flex; flex-wrap:wrap; gap:4px;">
<<if _pStatuses.length > 0>>
<<for _st range _pStatuses>>
<span @title="_st.tooltip" style="padding:1px 5px; border:1px solid #555; border-radius:10px; font-size:10px; color:<<= _st.kind === 'debuff' ? '#ff8080' : '#8cff8c'>>;"><<print _st.icon>><<print _st.counterText>></span>
<</for>>
<<else>>
<span style="color:#777; font-size:10px;"><<=setup.t("无效果|No effects")>></span>
<</if>>
</div>
</div>
<!-- 立绘 -->
<div class="sprite-container">
[img[setup.ImagePath+'/npc/you/player.png']]
</div>
<div class="shadow-base"></div>
<<else>>
<!-- 玩家死亡显示的文字 -->
<div style="color:red; font-weight:bold; margin-bottom:10px;">DEAD</div>
<</if>>
</div><h3><<lang>>当前任务|EN|Current Missions<</lang>></h3>
<<if $quests.active.length === 0>>
<p><<lang>>你当前没有进行中的任务。|EN|You have no active missions.<</lang>></p>
<<else>>
<<for _i, _qid range $quests.active>>
<<capture _i, _qid>>
<<set _q = setup.QuestDB[_qid]>>
<<set _isReady = setup.QuestManager.canComplete(_qid)>>
<!-- 样式:如果可完成,边框变绿,否则默认 -->
<div class="quest-box" @style="'padding:10px; margin-bottom:15px; border: 1px solid ' + (_isReady ? '#4caf50' : '#555')">
<!-- 标题区域 -->
<div style="display:flex; justify-content:space-between; align-items:center;">
<h3 style="margin:0;"><<=setup.t(_q.name)>></h3>
<<if _isReady>>
<span style="color:#4caf50; font-weight:bold; font-size:0.8em;">[<<lang>>已完成|EN|COMPLETED<</lang>>]</span>
<<else>>
<span style="color:#e6c200; font-size:0.8em;">[<<lang>>进行中|EN|IN PROGRESS<</lang>>]</span>
<</if>>
</div>
<p style="color:#ccc; font-style:italic;"><<=setup.t(_q.desc)>></p>
<hr style="border-color:#333;">
<!-- 进度显示 -->
<div style="font-size: 0.9em;">
<<if _q.type === "fetch">>
<strong><<=setup.t("要求:|Requirements:")>></strong>
<ul style="margin-top:5px;">
<<for _itemId, _qty range _q.req>>
<<capture _itemId, _qty>>
<!-- === 分支 A: 金钱需求 === -->
<<if _itemId === "money">>
<<set _have = $player.money>>
<li>
<span style="color:#ffd700; font-weight:bold;">💰</span>:
<!-- 如果钱够显示绿色,不够显示黄色/红色 -->
<span @style="_have >= _qty ? 'color:#4caf50' : 'color:#e6c200'">
<<= _have>> / <<= _qty>>
</span>
</li>
<!-- === 分支 B: 物品需求 === -->
<<else>>
<<set _itemDef = setup.Item.get(_itemId)>>
<<set _have = setup.QuestManager.countFetchItemTotal(_itemId)>>
<<if _itemDef>>
<!-- 如果数量够了,显示绿色 -->
<li>
<<print setup.t(_itemDef.name)>>:
<span @style="_have >= _qty ? 'color:#4caf50' : 'color:#e6c200'">
<<print _have>> / <<print _qty>>
</span>
</li>
<</if>>
<</if>>
<</capture>>
<</for>>
</ul>
<<elseif _q.type === "kill">>
<strong><<lang>>目标:|EN|Target:<</lang>></strong>
<<set _targetId = _q.req.targetId>>
/* 去数据库查找怪物信息,如果找不到(防错)就直接显示ID */
<<set _enemyInfo = setup.EnemyDB[_targetId]>>
<<set _enemyName = _enemyInfo ? _enemyInfo.name : _targetId>>
/* 显示怪物名字 (使用青色高亮,调用翻译函数) */
<span style="color: #00bcd4; font-weight: bold;">
<<= setup.t(_enemyName)>>
</span>
<br>
<<lang>>进度:|EN|Progress:<</lang>>
<<set _prog = $quests.progress[_qid] || 0>>
<<set _target = _q.req.count>>
<span @style="_prog >= _target ? 'color:#4caf50' : 'color:#e6c200'">
<<print _prog>> / <<print _target>>
</span>
<span style="font-size: 0.9em; color: #888;"><<lang>>已消灭|EN|Eliminated<</lang>></span>
<<elseif _q.type === "talk">>
<<lang>>目标:找到联系人并与其交谈。|EN|Goal: Find and talk to the contact.<</lang>>
<</if>>
</div>
<!-- 底部提示 -->
<<if _isReady>>
<div style="margin-top:10px; padding:5px; background:rgba(76, 175, 80, 0.1); color:#4caf50; text-align:center; font-size:0.9em;">
<!-- 根据任务来源提示去哪里交任务 -->
<<if _q.from === "yua">>
<<lang>>任务目标已达成。请回到Yua那里提交任务。|EN|Objective complete. Return to Yua to turn in.<</lang>>
<<elseif _q.from === "saika">>
<<lang>>任务目标已达成。请回到Saika那里提交任务。|EN|Objective complete. Return to Saika to turn in.<</lang>>
<<else>>
<<lang>>任务目标已达成。|EN|Objective complete.<</lang>>
<</if>>
</div>
<</if>>
</div>
<</capture>>
<</for>>
<</if>>
/*
<br>
<<return "Back">>*/<<widget "missionBoard">>
<!--
$args[0]: NPC ID (字符串),对应任务数据中 from 的值(例如 "yua", "lisa")。
$args[1]: NPC 显示名字 (字符串),用于标题显示(例如 "Yua", "Lisa")。-->
<<set _npcId to $args[0]>>
<<set _npcName to $args[1]>>
<h3><<print _npcName>><<lang>>的任务板|EN|'s Mission Board<</lang>></h3>
<!-- =============================================
第一部分:提交任务 (Turn In)
============================================= -->
<<set _turnInFound = false>>
<h4><<lang>>提交任务|EN|Turn In Quests<</lang>></h4>
<<for _i, _qid range $quests.active>>
<<capture _i, _qid>>
<<set _q = setup.QuestDB[_qid]>>
<!-- 筛选条件:必须是当前NPC(_npcId)发布的任务,且满足完成条件 -->
<<if _q.from === _npcId && setup.QuestManager.canComplete(_qid)>>
<<set _turnInFound = true>>
<div class="quest-box" style="border: 1px solid #4caf50; padding: 10px; margin-bottom: 10px;">
<h4 style="margin-top:0; color:#4caf50;"><<=setup.t(_q.name)>> (<<lang>>可完成|EN|Ready<</lang>>)</h4>
<p><<=setup.t(_q.desc)>></p>
<!-- 显示将要扣除的资源 -->
<<if _q.type === "fetch">>
<div style="margin: 5px 0; font-size: 0.9em; color: #aaa;">
<<lang>>交付内容:|EN|Turn in:<</lang>>
<ul style="margin-top:0px; padding-left: 20px;">
<<for _itemId, _qty range _q.req>>
<<if _itemId === "money">>
<li style="color:#ffd700;">💰: <<= _qty>></li>
<<else>>
<li><<= setup.t(setup.Item.get(_itemId).name)>>: <<= _qty>></li>
<</if>>
<</for>>
</ul>
</div>
<</if>>
<!-- 奖励预览 -->
<<renderRenWuJiangLi _q>>
<!-- 完成按钮 -->
<<button "<<lang>>提交委托|EN|Complete Request<</lang>>">>
<<run setup.QuestManager.complete(_qid)>>
<<updateCaptionInfo>>
<!-- 刷新当前页面 -->
<<run Engine.play(passage())>>
<</button>>
</div>
<</if>>
<</capture>>
<</for>>
<<if !_turnInFound>>
<div style="color:#888; font-style:italic; margin-bottom: 20px;">
<<lang>>没有可提交的任务。|EN|No quests to turn in.<</lang>>
</div>
<</if>>
<hr>
<!-- =============================================
第二部分:新任务 (New Requests)
============================================= -->
<h4><<lang>>新委托|EN|New Requests<</lang>></h4>
<<set _availableFound = false>>
<<for _qid, _q range setup.QuestDB>>
<<capture _qid, _q>>
<!-- 逻辑:没接取 && 没完成 && 来源是当前NPC -->
<<if !$quests.active.includes(_qid) && !$quests.completed.includes(_qid) && _q.from === _npcId>>
<<set _offerable = true>>
<<if _q.type === "talk" and (!_q.req || !_q.req.passage || !Story.has(_q.req.passage))>>
<<set _offerable = false>>
<</if>>
<<if _offerable and (!_q.prereq || $quests.completed.includes(_q.prereq))>>
<<set _availableFound = true>>
<div class="quest-offer">
<b><<=setup.t(_q.name)>></b>: <<=setup.t(_q.desc)>> <br>
<<if _q.type === "fetch">>
<<lang>>任务要求:|EN|Requirements:<</lang>>
<ul>
<<for _itemId, _qty range _q.req>>
<<if _itemId === "money">>
<!-- 显示需要的钱 -->
<li><span style="color:#ffd700;">💰</span>: <<= _qty>></li>
<<else>>
<!-- 显示需要的物品 -->
<<set _have = $beibao.count(_itemId)>>
/* 这里你可能想加上装备的统计逻辑,但为了保持简洁先维持原样,或者复用任务列表里的装备统计代码 */
<li><<= setup.t(setup.Item.get(_itemId).name)>>: <<= _have>> / <<= _qty>></li>
<</if>>
<</for>>
</ul>
<<elseif _q.type === "kill">>
<<set _prog = $quests.progress[_qid] || 0>>
<<lang>>进度:|EN|Progress:<</lang>> <<print _prog>> / <<print _q.req.count>> <<lang>>已消灭目标。|EN|Targets eliminated.<</lang>>
<<elseif _q.type === "talk">>
<<lang>>目标:找到联系人并与其交谈。|EN|Goal: Find and talk to the contact.<</lang>>
<</if>>
<!-- 任务奖励 -->
<<renderRenWuJiangLi _q>>
<<link "Accept Request">>
<<run setup.QuestManager.accept(_qid)>>
<!-- 接受后刷新当前页面,而不是跳转到写死的页面 -->
<<run Engine.play(passage())>>
<</link>>
</div>
<hr>
<</if>>
<</if>>
<</capture>>
<</for>>
<<if !_availableFound>>
<div style="color:#888; font-style:italic;">
<<lang>>暂时没有新委托。|EN|No new requests at the moment.<</lang>>
</div>
<</if>>
<</widget>>
<<widget "renderRenWuJiangLi">>
<<set _q to $args[0]>>
<!-- === 新增:显示任务奖励 === -->
<<if _q.rewards>>
<div class="quest-rewards">
<strong>Rewards:</strong>
/* 1. 显示金币 */
<<if _q.rewards.money>>
<span style="color: #ffd700; margin-right: 10px;">
💰 <<print _q.rewards.money>>
</span>
<</if>>
/* 2. 显示物品 */
<<if _q.rewards.item>>
/* 获取物品图片路径 (假设你的setup.Item.get能取到) */
/* 这里假设 _q.rewards.item 是 ID,如 "Baseball_bat" */
<<set _rItem to _q.rewards.item>>
<div class="reward-item-slot">
<!-- 显示图片 -->
[img[setup.ImgWPath + _rItem + '.png']]
<!-- ★ 核心:直接复用 Tooltip Widget ★ -->
<<renderItemTooltip _rItem>>
</div>
<</if>>
</div>
<</if>>
<</widget>>
<<widget "renderItemTooltip">>
<<set _itemId to $args[0]>>
<<set _itemInfo to setup.Item.get(_itemId)>>
/* 如果物品不存在,防错 */
<<if _itemInfo>>
<div class="tooltip-content">
<div class="tooltip-section">
<h4><<= setup.t(_itemInfo.name)>></h4>
<p>Price: <span class="highlight"><<= _itemInfo.price>></span></p>
<p>Weight: <span class="highlight"><<= _itemInfo.weight>></span></p>
<<if _itemInfo.damage>>
<p>Damage: <span class="highlight"><<= _itemInfo.damage>></span></p>
<</if>>
<<if _itemInfo.durability>>
<p>Durability: <span class="highlight"><<= _itemInfo.durability>></span></p>
<</if>>
<<if _itemInfo.level>>
<p>Level: <span class="highlight"><<= _itemInfo.level>></span></p>
<</if>>
<<if _itemInfo.description>>
<p style="color:#aaa; margin-top:5px; font-style:italic;"><<= setup.t(_itemInfo.description)>></p>
<</if>>
</div>
</div>
<</if>>
<</widget>><<widget "allItemTable">>
<<if typeof $itemAtlasCategoryFilter === "undefined">>
<<set $itemAtlasCategoryFilter to "all">>
<</if>>
<<if typeof $itemAtlasEquipFilter === "undefined">>
<<set $itemAtlasEquipFilter to "all">>
<</if>>
<<set _categoryFilters to [["全部|All", "all"], ["装备|Equipment", "equipment"], ["黑商|Black Market", "heishi"], ["材料|Materials", "material"], ["食物+饮水|Food + Drink", "fooddrink"], ["医疗用品|Medical", "medical"], ["工具|Tools", "tool"], ["杂物|Misc", "misc"], ["贵重品|Valuables", "valuable"], ["钥匙/门禁|Keys / Cards", "keycard"], ["任务物品|Quest Items", "renwu"]]>>
<<set _equipFilters to [["全部装备|All Equipment", "all"], ["手枪|Pistol", "pistol"], ["霰弹枪|Shotgun", "shotgun"], ["冲锋枪|SMG", "smg"], ["重武器|Heavy", "heavy"], ["步枪|Rifle", "rifle"], ["狙击枪|Sniper", "sniper"], ["副武器|Offhand", "offhand"], ["头部|Head", "head"], ["衣服|Body", "body"], ["鞋子|Feet", "feet"]]>>
<div class="item-atlas-filters">
<div class="item-atlas-filter-row">
<span class="item-atlas-filter-label"><<= setup.t("分类|Category")>></span>
<div class="item-atlas-filter-options">
<<for _filter range _categoryFilters>>
<<capture _filter>>
<<set _isActive to $itemAtlasCategoryFilter is _filter[1]>>
<<set _btnHtml to `<span class="item-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $itemAtlasCategoryFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
<div class="item-atlas-filter-row">
<span class="item-atlas-filter-label"><<= setup.t("装备细分|Equipment Slot")>></span>
<div class="item-atlas-filter-options">
<<for _filter range _equipFilters>>
<<capture _filter>>
<<set _isActive to $itemAtlasEquipFilter is _filter[1]>>
<<set _btnHtml to `<span class="item-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $itemAtlasEquipFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
</div>
<div style="overflow-x: auto;">
<table class="item-debug-table">
<thead>
<tr>
<th style="width: 60px;">Icon</th>
<th>Name & ID</th>
<th>Level</th>
<th>Price</th>
<th>Stats</th>
<th>Wt.</th>
<th>Slot</th>
<th>Tags</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<<set _shown to 0>>
<<for _id, _item range setup.Item.list>>
<<if setup.itemAtlasMatchesFilters(_item, $itemAtlasCategoryFilter, $itemAtlasEquipFilter)>>
<<set _shown += 1>>
<tr>
<td>
<img @src="setup.ImgWPath + _id + '.png'" class="table-icon" onerror="this.style.display='none'">
</td>
<td>
<div style="font-weight:bold; color:#fff;">
<<= _item.name>>
</div>
<div style="font-size:10px; color:#666;">ID: <<= _id>></div>
</td>
<td><<= _item.level || "-">></td>
<td style="color:#ffd700;">
$<<= _item.price || 0>>
</td>
<td>
<<if _item.minDamage or _item.maxDamage>>
<div style="color:#ff8a80">
Dmg:
<<if _item.minDamage == _item.maxDamage>>
<<= _item.minDamage>>
<<else>>
<<= _item.minDamage>>-<<= _item.maxDamage>>
<</if>>
</div>
<</if>>
<<if _item.minDefence or _item.maxDefence>>
<div style="color:#82b1ff">
Def:
<<if _item.minDefence == _item.maxDefence>>
<<= _item.minDefence>>
<<else>>
<<= _item.minDefence>>-<<= _item.maxDefence>>
<</if>>
</div>
<</if>>
<<if _item.maxDurability>>
<div style="color:#aaa">Dur: <<= _item.maxDurability>></div>
<</if>>
<<if _item.minCharm or _item.maxCharm>>
<div style="color:#e040fb">
Chm:
<<if _item.minCharm == _item.maxCharm>>
<<= _item.minCharm>>
<<else>>
<<= _item.minCharm>>-<<= _item.maxCharm>>
<</if>>
</div>
<</if>>
<<if !_item.minDamage and !_item.maxDamage and !_item.minDefence and !_item.maxDefence and !_item.maxDurability and !_item.minCharm and !_item.maxCharm>>
<span style="color:#555">-</span>
<</if>>
</td>
<td><<= _item.weight || 0>></td>
<td><<= _item.slot || "-">></td>
<td>
<<if _item.tags and _item.tags.length > 0>>
<<for _tag range _item.tags>>
<span class="tag-badge"><<= _tag>></span>
<</for>>
<<else>>
-
<</if>>
</td>
<td class="small-text">
<<= setup.t(_item.description)>>
</td>
</tr>
<</if>>
<</for>>
<<if _shown is 0>>
<tr>
<td colspan="9" class="item-atlas-empty-cell"><<= setup.t("当前筛选下没有物品。|No items match the current filters.")>></td>
</tr>
<</if>>
</tbody>
</table>
</div>
<div class="item-atlas-summary">
<<= setup.t("当前显示|Showing")>>: <<= _shown>>
</div>
<</widget>><div class="item-atlas-page">
<h2>物品图鉴 / Item Database</h2>
<hr>
<<allItemTable>>
<<back "Back">>
<<script>>
console.log(setup.Item.list, State.variables.itemInstances);
<</script>>
<style>
.item-atlas-page .item-atlas-filters {
margin-bottom: 16px;
padding: 12px;
border: 1px solid #333;
background: rgba(0, 0, 0, 0.4);
}
.item-atlas-page .item-atlas-filter-row + .item-atlas-filter-row {
margin-top: 10px;
}
.item-atlas-page .item-atlas-filter-label {
display: block;
margin-bottom: 6px;
font-size: 12px;
font-weight: bold;
color: #00bcd4;
text-transform: uppercase;
}
.item-atlas-page .item-atlas-filter-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.item-atlas-page .item-atlas-filter-options a {
display: inline-flex !important;
width: auto !important;
flex: 0 0 auto;
align-items: center;
justify-content: center;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
text-decoration: none !important;
box-shadow: none !important;
}
.item-atlas-page .item-atlas-filter-btn {
display: inline-block;
padding: 4px 10px;
border: 1px solid #555;
border-radius: 999px;
background: rgba(255,255,255,0.04);
color: #bbb;
font-size: 11px;
}
.item-atlas-page .item-atlas-filter-btn.active {
border-color: #00bcd4;
background: rgba(0, 188, 212, 0.16);
color: #fff;
}
.item-atlas-page .item-atlas-summary {
margin-top: 12px;
color: #aaa;
font-size: 12px;
}
/* 物品列表表格样式 */
.item-atlas-page .item-debug-table {
width: 100%;
border-collapse: collapse;
background-color: rgba(0, 0, 0, 0.5);
font-size: 14px;
color: #ddd;
}
.item-atlas-page .item-debug-table th,
.item-atlas-page .item-debug-table td {
border: 1px solid #444;
padding: 8px;
text-align: left;
vertical-align: middle;
}
.item-atlas-page .item-debug-table th {
background-color: #1a1a2e;
color: #00bcd4;
font-weight: bold;
text-transform: uppercase;
}
.item-atlas-page .item-debug-table tr:nth-child(even) {
background-color: rgba(255, 255, 255, 0.05);
}
.item-atlas-page .item-debug-table tr:hover {
background-color: rgba(0, 188, 212, 0.1);
}
/* 图片样式 */
.item-atlas-page .table-icon {
width: 48px;
height: 48px;
object-fit: contain;
background: rgba(255,255,255,0.1);
border-radius: 4px;
border: 1px solid #555;
}
.item-atlas-page .small-text {
font-size: 12px;
color: #aaa;
max-width: 250px;
}
/* 标签样式 */
.item-atlas-page .tag-badge {
display: inline-block;
background: #333;
padding: 2px 4px;
margin: 1px;
border-radius: 2px;
font-size: 10px;
color: #bbb;
border: 1px solid #555;
}
.item-atlas-page .item-atlas-empty-cell {
text-align: center;
color: #888;
padding: 18px;
}
</style>
</div><<widget "allSkillCards">>
<<if typeof $skillAtlasSourceFilter === "undefined">>
<<set $skillAtlasSourceFilter to "all">>
<</if>>
<<if typeof $skillAtlasMainhandFilter === "undefined">>
<<set $skillAtlasMainhandFilter to "all">>
<</if>>
<<if typeof $skillAtlasCostFilter === "undefined">>
<<set $skillAtlasCostFilter to "all">>
<</if>>
<<set _sourceFilters to [["全部|All", "all"], ["头部|Head", "head"], ["衣服|Body", "body"], ["鞋子|Feet", "feet"], ["副武器|Offhand", "offhand"], ["主武器|Mainhand", "mainhand"]]>>
<<set _mainhandFilters to [["全部主武器|All Mainhand", "all"], ["手枪|Pistol", "pistol"], ["霰弹枪|Shotgun", "shotgun"], ["冲锋枪|SMG", "smg"], ["重武器|Heavy", "heavy"], ["步枪|Rifle", "rifle"], ["狙击枪|Sniper", "sniper"]]>>
<<set _costFilters to [["全部|All", "all"], ["0", "0"], ["1", "1"], ["2", "2"], ["3+", "3plus"]]>>
<div class="skill-atlas-filters">
<div class="skill-atlas-filter-row">
<span class="skill-atlas-filter-label"><<= setup.t("部位|Source")>></span>
<div class="skill-atlas-filter-options">
<<for _filter range _sourceFilters>>
<<capture _filter>>
<<set _isActive to $skillAtlasSourceFilter is _filter[1]>>
<<set _btnHtml to `<span class="skill-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $skillAtlasSourceFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
<div class="skill-atlas-filter-row">
<span class="skill-atlas-filter-label"><<= setup.t("主武器细分|Mainhand Type")>></span>
<div class="skill-atlas-filter-options">
<<for _filter range _mainhandFilters>>
<<capture _filter>>
<<set _isActive to $skillAtlasMainhandFilter is _filter[1]>>
<<set _btnHtml to `<span class="skill-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $skillAtlasMainhandFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
<div class="skill-atlas-filter-row">
<span class="skill-atlas-filter-label"><<= setup.t("费用|Cost")>></span>
<div class="skill-atlas-filter-options">
<<for _filter range _costFilters>>
<<capture _filter>>
<<set _isActive to $skillAtlasCostFilter is _filter[1]>>
<<set _btnHtml to `<span class="skill-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $skillAtlasCostFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
</div>
<<set _cards to setup.getSkillAtlasCards($skillAtlasSourceFilter, $skillAtlasMainhandFilter, $skillAtlasCostFilter)>>
<div class="skill-atlas-summary">
<<= setup.t("当前显示|Showing")>>: <<= _cards.length>>
</div>
<div class="skill-atlas-grid">
<<if _cards.length > 0>>
<<for _card range _cards>>
<div class="skill-atlas-card">
<div class="skill-atlas-card-head">
<div class="skill-atlas-icon"><<= _card.icon>></div>
<div class="skill-atlas-heading">
<div class="skill-atlas-name"><<= setup.t(_card.name)>></div>
<div class="skill-atlas-meta">
<span class="skill-atlas-cost"><<= _card.costLabel>></span>
<span class="skill-atlas-id">ID: <<= _card.id>></span>
</div>
</div>
</div>
<div class="skill-atlas-desc"><<= setup.t(_card.desc)>></div>
<div class="skill-atlas-tags">
<<for _label range _card.sourceLabels>>
<span class="skill-atlas-tag"><<= _label>></span>
<</for>>
</div>
</div>
<</for>>
<<else>>
<div class="skill-atlas-empty"><<= setup.t("当前筛选下没有技能。|No skills match the current filters.")>></div>
<</if>>
</div>
<</widget>><div class="skill-atlas-page">
<h2>技能图鉴 / Skill Database</h2>
<hr>
<<allSkillCards>>
<<back "Back">>
<style>
.skill-atlas-page {
width: 100%;
max-width: 692px;
box-sizing: border-box;
}
.skill-atlas-page .skill-atlas-filters {
margin-bottom: 16px;
padding: 12px;
border: 1px solid #333;
background: rgba(0, 0, 0, 0.4);
}
.skill-atlas-page .skill-atlas-filter-row + .skill-atlas-filter-row {
margin-top: 10px;
}
.skill-atlas-page .skill-atlas-filter-label {
display: block;
margin-bottom: 6px;
font-size: 12px;
font-weight: bold;
color: #00bcd4;
text-transform: uppercase;
}
.skill-atlas-page .skill-atlas-filter-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.skill-atlas-page .skill-atlas-filter-options a {
display: inline-flex !important;
width: auto !important;
flex: 0 0 auto;
align-items: center;
justify-content: center;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
text-decoration: none !important;
box-shadow: none !important;
}
.skill-atlas-page .skill-atlas-filter-btn {
display: inline-block;
padding: 4px 10px;
border: 1px solid #555;
border-radius: 999px;
background: rgba(255,255,255,0.04);
color: #bbb;
font-size: 11px;
}
.skill-atlas-page .skill-atlas-filter-btn.active {
border-color: #00bcd4;
background: rgba(0, 188, 212, 0.16);
color: #fff;
}
.skill-atlas-page .skill-atlas-summary {
margin-bottom: 12px;
color: #aaa;
font-size: 12px;
}
.skill-atlas-page .skill-atlas-grid {
display: grid;
grid-template-columns: repeat(2, 340px);
justify-content: space-between;
align-content: start;
gap: 12px;
}
.skill-atlas-page .skill-atlas-card {
width: 340px;
min-height: 200px;
box-sizing: border-box;
padding: 14px;
border: 1px solid #444;
border-radius: 10px;
background: rgba(0, 0, 0, 0.45);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}
.skill-atlas-page .skill-atlas-card-head {
display: flex;
gap: 12px;
align-items: flex-start;
margin-bottom: 10px;
}
.skill-atlas-page .skill-atlas-icon {
width: 42px;
height: 42px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
font-size: 24px;
}
.skill-atlas-page .skill-atlas-heading {
flex: 1;
min-width: 0;
}
.skill-atlas-page .skill-atlas-name {
color: #fff;
font-size: 16px;
font-weight: bold;
}
.skill-atlas-page .skill-atlas-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 6px;
}
.skill-atlas-page .skill-atlas-cost,
.skill-atlas-page .skill-atlas-id {
display: inline-block;
padding: 2px 8px;
border-radius: 999px;
font-size: 10px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
color: #bbb;
}
.skill-atlas-page .skill-atlas-cost {
color: #ffd166;
border-color: rgba(255, 209, 102, 0.45);
}
.skill-atlas-page .skill-atlas-desc {
min-height: 66px;
color: #cfcfcf;
font-size: 12px;
line-height: 1.55;
}
.skill-atlas-page .skill-atlas-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 12px;
}
.skill-atlas-page .skill-atlas-tag {
display: inline-block;
padding: 3px 8px;
border-radius: 999px;
border: 1px solid #4f5b66;
background: rgba(255,255,255,0.05);
color: #9ecfe0;
font-size: 10px;
}
.skill-atlas-page .skill-atlas-empty {
padding: 18px;
border: 1px dashed #555;
border-radius: 10px;
color: #888;
text-align: center;
background: rgba(255,255,255,0.02);
}
</style>
</div><<widget "allEnemyCards">>
<<if typeof $enemyAtlasChapterFilter === "undefined">>
<<set $enemyAtlasChapterFilter to "all">>
<</if>>
<<if typeof $enemyAtlasRankFilter === "undefined">>
<<set $enemyAtlasRankFilter to "all">>
<</if>>
<<set _chapterFilters to setup.getEnemyAtlasChapterFilters()>>
<<set _rankFilters to [["全部级别|All Ranks", "all"], ["普通|Normal", "normal"], ["精英|Elite", "elite"], ["BOSS|Boss", "boss"], ["特殊|Special", "special"]]>>
<div class="enemy-atlas-filters">
<div class="enemy-atlas-filter-row">
<span class="enemy-atlas-filter-label"><<= setup.t("章节|Chapter")>></span>
<div class="enemy-atlas-filter-options">
<<for _filter range _chapterFilters>>
<<capture _filter>>
<<set _isActive to $enemyAtlasChapterFilter is _filter[1]>>
<<set _btnHtml to `<span class="enemy-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $enemyAtlasChapterFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
<div class="enemy-atlas-filter-row">
<span class="enemy-atlas-filter-label"><<= setup.t("级别|Rank")>></span>
<div class="enemy-atlas-filter-options">
<<for _filter range _rankFilters>>
<<capture _filter>>
<<set _isActive to $enemyAtlasRankFilter is _filter[1]>>
<<set _btnHtml to `<span class="enemy-atlas-filter-btn ${_isActive ? 'active' : ''}">${setup.t(_filter[0])}</span>`>>
<<link _btnHtml>>
<<set $enemyAtlasRankFilter to _filter[1]>>
<<run Engine.show()>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
</div>
<<set _cards to setup.getEnemyAtlasCards($enemyAtlasChapterFilter, $enemyAtlasRankFilter)>>
<div class="enemy-atlas-summary">
<<= setup.t("当前显示|Showing")>>: <<= _cards.length>>
</div>
<div class="enemy-atlas-grid">
<<if _cards.length > 0>>
<<for _card range _cards>>
<div class="enemy-atlas-card">
<div class="enemy-atlas-card-head">
<div class="enemy-atlas-portrait-wrap">
<<if _card.img>>
<img class="enemy-atlas-portrait" @src="_card.img">
<<else>>
<div class="enemy-atlas-portrait enemy-atlas-portrait-empty">?</div>
<</if>>
</div>
<div class="enemy-atlas-heading">
<div class="enemy-atlas-name"><<= setup.t(_card.name)>></div>
<div class="enemy-atlas-meta">
<span class="enemy-atlas-pill enemy-atlas-level">Lv. <<= _card.level>></span>
<span class="enemy-atlas-pill enemy-atlas-id">ID: <<= _card.id>></span>
</div>
</div>
</div>
<div class="enemy-atlas-stats">
<div class="enemy-atlas-stat"><span>HP</span><strong><<= _card.hp>></strong></div>
<div class="enemy-atlas-stat"><span>ATK</span><strong><<= _card.atk>></strong></div>
<div class="enemy-atlas-stat"><span>DEF</span><strong><<= _card.def>></strong></div>
<div class="enemy-atlas-stat"><span>SPD</span><strong><<= _card.spd>></strong></div>
</div>
<div class="enemy-atlas-desc"><<= setup.t(_card.desc)>></div>
<div class="enemy-atlas-ai-block">
<div class="enemy-atlas-ai-title"><<= setup.t("AI 行为|AI Pattern")>></div>
<div class="enemy-atlas-ai-desc"><<= _card.aiDesc>></div>
</div>
<div class="enemy-atlas-tags">
<<for _label range _card.chapterLabels>>
<span class="enemy-atlas-tag"><<= _label>></span>
<</for>>
<span class="enemy-atlas-tag enemy-atlas-tag-rank"><<= _card.rankLabel>></span>
<span class="enemy-atlas-tag">AI: <<= _card.aiKey>></span>
</div>
</div>
<</for>>
<<else>>
<div class="enemy-atlas-empty"><<= setup.t("当前筛选下没有怪物。|No enemies match the current filters.")>></div>
<</if>>
</div>
<</widget>><div class="enemy-atlas-page">
<h2>怪物图鉴 / Monster Database</h2>
<hr>
<<allEnemyCards>>
<<back "Back">>
<style>
.enemy-atlas-page {
width: 100%;
max-width: 692px;
box-sizing: border-box;
}
.enemy-atlas-page .enemy-atlas-filters {
margin-bottom: 16px;
padding: 12px;
border: 1px solid #333;
background: rgba(0, 0, 0, 0.4);
}
.enemy-atlas-page .enemy-atlas-filter-row + .enemy-atlas-filter-row {
margin-top: 10px;
}
.enemy-atlas-page .enemy-atlas-filter-label {
display: block;
margin-bottom: 6px;
font-size: 12px;
font-weight: bold;
color: #00bcd4;
text-transform: uppercase;
}
.enemy-atlas-page .enemy-atlas-filter-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.enemy-atlas-page .enemy-atlas-filter-options a {
display: inline-flex !important;
width: auto !important;
flex: 0 0 auto;
align-items: center;
justify-content: center;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
text-decoration: none !important;
box-shadow: none !important;
}
.enemy-atlas-page .enemy-atlas-filter-btn {
display: inline-block;
padding: 4px 10px;
border: 1px solid #555;
border-radius: 999px;
background: rgba(255,255,255,0.04);
color: #bbb;
font-size: 11px;
}
.enemy-atlas-page .enemy-atlas-filter-btn.active {
border-color: #00bcd4;
background: rgba(0, 188, 212, 0.16);
color: #fff;
}
.enemy-atlas-page .enemy-atlas-summary {
margin-bottom: 12px;
color: #aaa;
font-size: 12px;
}
.enemy-atlas-page .enemy-atlas-grid {
display: grid;
grid-template-columns: repeat(2, 340px);
justify-content: space-between;
align-content: start;
gap: 12px;
}
.enemy-atlas-page .enemy-atlas-card {
width: 340px;
min-height: 420px;
box-sizing: border-box;
padding: 14px;
border: 1px solid #444;
border-radius: 10px;
background: rgba(0, 0, 0, 0.45);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}
.enemy-atlas-page .enemy-atlas-card-head {
display: flex;
gap: 12px;
align-items: flex-start;
margin-bottom: 12px;
}
.enemy-atlas-page .enemy-atlas-portrait-wrap {
width: 92px;
flex: 0 0 92px;
}
.enemy-atlas-page .enemy-atlas-portrait {
width: 92px;
height: 92px;
display: block;
object-fit: contain;
border-radius: 8px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
}
.enemy-atlas-page .enemy-atlas-portrait-empty {
display: flex;
align-items: center;
justify-content: center;
color: #777;
font-size: 32px;
}
.enemy-atlas-page .enemy-atlas-heading {
flex: 1;
min-width: 0;
}
.enemy-atlas-page .enemy-atlas-name {
color: #fff;
font-size: 16px;
font-weight: bold;
line-height: 1.4;
}
.enemy-atlas-page .enemy-atlas-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.enemy-atlas-page .enemy-atlas-pill {
display: inline-block;
padding: 2px 8px;
border-radius: 999px;
font-size: 10px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
color: #bbb;
}
.enemy-atlas-page .enemy-atlas-level {
color: #ffd166;
border-color: rgba(255, 209, 102, 0.45);
}
.enemy-atlas-page .enemy-atlas-stats {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
margin-bottom: 12px;
}
.enemy-atlas-page .enemy-atlas-stat {
padding: 8px 6px;
border: 1px solid #444;
border-radius: 8px;
background: rgba(255,255,255,0.04);
text-align: center;
}
.enemy-atlas-page .enemy-atlas-stat span {
display: block;
color: #8ea7b0;
font-size: 10px;
text-transform: uppercase;
}
.enemy-atlas-page .enemy-atlas-stat strong {
display: block;
margin-top: 4px;
color: #fff;
font-size: 14px;
}
.enemy-atlas-page .enemy-atlas-desc,
.enemy-atlas-page .enemy-atlas-ai-desc {
color: #cfcfcf;
font-size: 12px;
line-height: 1.55;
}
.enemy-atlas-page .enemy-atlas-desc {
min-height: 78px;
}
.enemy-atlas-page .enemy-atlas-ai-block {
margin-top: 12px;
padding: 10px;
border: 1px solid #3d4952;
border-radius: 8px;
background: rgba(120, 160, 180, 0.08);
}
.enemy-atlas-page .enemy-atlas-ai-title {
margin-bottom: 6px;
color: #8fd3e8;
font-size: 11px;
font-weight: bold;
text-transform: uppercase;
}
.enemy-atlas-page .enemy-atlas-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 12px;
}
.enemy-atlas-page .enemy-atlas-tag {
display: inline-block;
padding: 3px 8px;
border-radius: 999px;
border: 1px solid #4f5b66;
background: rgba(255,255,255,0.05);
color: #9ecfe0;
font-size: 10px;
}
.enemy-atlas-page .enemy-atlas-tag-rank {
color: #ffd9a0;
border-color: rgba(255, 190, 110, 0.4);
}
.enemy-atlas-page .enemy-atlas-empty {
padding: 18px;
border: 1px dashed #555;
border-radius: 10px;
color: #888;
text-align: center;
background: rgba(255,255,255,0.02);
}
</style>
</div><div class="panel-header">
<span>WORKBENCH</span>
<span style="color:#ffd700;">$ <<= $player.money>></span>
</div>
<<set _sourceInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _targetInfot = ''>>
<<if $repairTarget>>
<<set _targetInfo = setup.Item.get($repairTarget)>>
<</if>>
<<if _targetInfo>>
<<set _instance = $itemInstances[$repairTarget]>>
<<=_targetInfo>>
/* 1. 物品预览 */
<div class="repair-preview">
<div class="repair-icon">
<<set _imgName to $repairTarget.substring(0, $repairTarget.lastIndexOf('_'))>>
<img @src="setup.ImgWPath + _imgName + '.png'">
</div>
<div class="repair-info">
<div class="repair-name"><<= setup.t(_targetInfo.name)>></div>
<div class="repair-durability">
Dur: <<= _instance.durability>> / <<= _targetInfo.maxDurability>>
<span style="color:#4caf50;">(-> 100%)</span>
</div>
/* 计算百分比 */
<<set _pct = (_instance.durability / _targetInfo.maxDurability) * 100>>
<<set _gainPct = 100 - _pct>>
<div class="dur-bar-track">
<div class="dur-bar-current" @style="'width:' + _pct + '%'"></div>
<div class="dur-bar-gain" @style="'left:' + _pct + '%; width:' + _gainPct + '%'"></div>
</div>
</div>
</div>
/* 2. 计算消耗 (示例:修复1点耐久需要1块钱) */
/* 你可以写个函数 setup.calcRepairCost(_instance) */
<<set _costMoney = setup.calcRepairCost(_targetInfo, _instance)>>
/* 零件消耗逻辑:耐久 >= 50 需 1 个,< 50 需 2 个 */
<<set _costParts = _instance.durability >= 50 ? 1 : 2>>
/* 检查当前来源容器里的零件数量 */
<<set _haveParts = _sourceInv.count("weapons_parts")>>
<div class="cost-list">
<div style="font-size:12px; color:#00bcd4; margin-bottom:5px; text-transform:uppercase;">Cost</div>
<div class="cost-item">
<span class="cost-name">💰 Money</span>
<span @class="'cost-val ' + ($player.money >= _costMoney ? 'enough' : 'short')">
<<= $player.money>> / <<= _costMoney>>
</span>
</div>
<!-- 2. 武器零件显示 -->
<div class="cost-item">
<span class="cost-name">🛠️ <<= setup.t(setup.Item.get("weapons_parts").name)>></span>
<span @class="'cost-val ' + (_haveParts >= _costParts ? 'enough' : 'short')">
<<= _haveParts>> / <<= _costParts>>
</span>
</div>
</div>
/* 3. 修理按钮 */
<<if $player.money >= _costMoney and _haveParts >= _costParts>>
<<button "REPAIR ITEM">>
<<set $player.money -= _costMoney>>
<<run _sourceInv.drop("weapons_parts", _costParts)>>
/* 恢复耐久 */
<<set _instance.durability = _targetInfo.maxDurability>>
<<set _targetInfo.durability = _targetInfo.maxDurability>>
/* 刷新界面 */
<<set $repairTarget = null>> /* 修完清空选中,或者保留 */
<<run Engine.play(passage())>>
<</button>>
<<else>>
<button class="repair-btn" disabled>CANNOT AFFORD</button>
<</if>>
<<else>>
/* 空状态 */
<div class="repair-empty">
<div style="font-size:40px; opacity:0.5;">🔧</div>
<p>Select an item from the left<br>to repair.</p>
</div>
<</if>>
<<if $workbenchSource neq "cangku" and $workbenchSource neq "beibao">><<set $workbenchSource = "beibao">><</if>>
<<set _benchInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _benchMaxSize = setup.getWorkbenchMaxSizeBySource($workbenchSource)>>
<<if $repairTarget and !_benchInv.has($repairTarget)>><<set $repairTarget = ''>><</if>>
<div class="cangku-page">
<!-- 左侧:工作台物品区域 -->
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<= setup.t($workbenchSource is "cangku" ? "仓库|Warehouse" : "背包|Inventory")>></span>
<span class="capacity-bar"><<lang>>容量|EN|Capacity<</lang>>: <<= _benchInv.uniqueLength>> / <<= _benchMaxSize>> </span>
</div>
<div style="display:flex; gap:8px; margin:8px 0;">
<<button "INVENTORY">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("beibao")>><<run Engine.play(passage())>><</button>>
<<button "WAREHOUSE">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("cangku")>><<run Engine.play(passage())>><</button>>
</div>
<<itemGrid _benchInv "repair" null _benchMaxSize>>
<<if $workbenchSource is "beibao">><<weightDisplay>><</if>>
</div>
<!-- 右侧:修理台容器 -->
<div class="panel-container" id="repair-bench">
<<include "renderZBXiuLi">>
</div>
</div>
<<return "Back">>
<div class="panel-header">
<span>REFORGE BENCH</span>
<span style="color:#ffd700;">$ <<= $player.money>></span>
</div>
<<set _sourceInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _targetInfo = null>>
<<set _templateInfo = ''>>
<<if $reforgeTarget>>
<<set _targetInfo = setup.Item.get($reforgeTarget)>>
<<if !_targetInfo and $itemInstances[$reforgeTarget]>>
<<set _targetInfo = $itemInstances[$reforgeTarget]>>
<</if>>
<<set _templateId = setup.getEquipmentTemplateId($reforgeTarget)>>
<<if _templateId>>
<<set _templateInfo = setup.Item.get(_templateId)>>
<</if>>
<</if>>
<<if _targetInfo and _templateInfo>>
<<set _instance = $itemInstances[$reforgeTarget]>>
<div class="repair-preview">
<div class="repair-icon">
<<set _imgName to $reforgeTarget.substring(0, $reforgeTarget.lastIndexOf('_'))>>
<img @src="setup.ImgWPath + _imgName + '.png'">
</div>
<div class="repair-info">
<div class="repair-name"><<= setup.t(_targetInfo.name)>></div>
<div class="repair-durability">
Dur: <<= _instance.durability>> / <<= _targetInfo.maxDurability>>
<span style="color:#4caf50;">(-> Max)</span>
</div>
<div style="color:#aaa; font-size:12px; margin-top:6px;">
<<lang>>重铸会基于模板重新生成属性与技能,并将耐久恢复至满值。|EN|Reforge rerolls the item from its template, rerandomizes stats and skills, and restores full durability.<</lang>>
</div>
</div>
</div>
<<set _costMoney = _templateInfo.price>>
<<set _haveWrench = _sourceInv.count("banshou")>>
<<set _haveHammer = _sourceInv.count("chuitou")>>
<<set _haveCoal = _sourceInv.count("coal")>>
<<set _haveGears = _sourceInv.count("gears")>>
<<set _haveElectronicComponents = _sourceInv.count("dianziyuanjian")>>
<div class="cost-list">
<div style="font-size:12px; color:#00bcd4; margin-bottom:5px; text-transform:uppercase;">Cost</div>
<div style="color:#aaa; font-size:12px; margin-bottom:6px;">
<<lang>>扳手与锤头只需要携带,不会在重铸时被消耗。|EN|The wrench and hammer head only need to be carried and will not be consumed by reforging.<</lang>>
</div>
<div class="cost-item">
<span class="cost-name">💰 Money</span>
<span @class="'cost-val ' + ($player.money >= _costMoney ? 'enough' : 'short')">
<<= $player.money>> / <<= _costMoney>>
</span>
</div>
<div class="cost-item">
<span class="cost-name">🛠️ <<= setup.t(setup.Item.get("banshou").name)>></span>
<span @class="'cost-val ' + (_haveWrench >= 1 ? 'enough' : 'short')"><<= _haveWrench>> / 1</span>
</div>
<div class="cost-item">
<span class="cost-name">🔨 <<= setup.t(setup.Item.get("chuitou").name)>></span>
<span @class="'cost-val ' + (_haveHammer >= 1 ? 'enough' : 'short')"><<= _haveHammer>> / 1</span>
</div>
<div class="cost-item">
<span class="cost-name">🔥 <<= setup.t(setup.Item.get("coal").name)>></span>
<span @class="'cost-val ' + (_haveCoal >= 5 ? 'enough' : 'short')"><<= _haveCoal>> / 5</span>
</div>
<div class="cost-item">
<span class="cost-name">⚙️ <<= setup.t(setup.Item.get("gears").name)>></span>
<span @class="'cost-val ' + (_haveGears >= 3 ? 'enough' : 'short')"><<= _haveGears>> / 3</span>
</div>
<div class="cost-item">
<span class="cost-name">🔌 <<= setup.t(setup.Item.get("dianziyuanjian").name)>></span>
<span @class="'cost-val ' + (_haveElectronicComponents >= 1 ? 'enough' : 'short')"><<= _haveElectronicComponents>> / 1</span>
</div>
</div>
<<if $player.money >= _costMoney and _haveWrench >= 1 and _haveHammer >= 1 and _haveCoal >= 5 and _haveGears >= 3 and _haveElectronicComponents >= 1>>
<<button "REFORGE ITEM">>
<<set $player.money -= _costMoney>>
<<run _sourceInv.drop("coal", 5)>>
<<run _sourceInv.drop("gears", 3)>>
<<run _sourceInv.drop("dianziyuanjian", 1)>>
<<run setup.reforgeEquipment($reforgeTarget, $workbenchSource)>>
<<set $reforgeTarget = null>>
<<run Engine.play(passage())>>
<</button>>
<<else>>
<button class="repair-btn" disabled>CANNOT AFFORD</button>
<</if>>
<<else>>
<div class="repair-empty">
<div style="font-size:40px; opacity:0.5;">♻️</div>
<p>Select an item from the left<br>to reforge.</p>
</div>
<</if>>
<<set $reforgeTarget = null>>
<<if $workbenchSource neq "cangku" and $workbenchSource neq "beibao">><<set $workbenchSource = "beibao">><</if>>
<<set _benchInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _benchMaxSize = setup.getWorkbenchMaxSizeBySource($workbenchSource)>>
<div class="cangku-page">
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<= setup.t($workbenchSource is "cangku" ? "仓库|Warehouse" : "背包|Inventory")>></span>
<span class="capacity-bar"><<lang>>容量|EN|Capacity<</lang>>: <<= _benchInv.uniqueLength>> / <<= _benchMaxSize>> </span>
</div>
<div style="display:flex; gap:8px; margin:8px 0;">
<<button "INVENTORY">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("beibao")>><<run Engine.play(passage())>><</button>>
<<button "WAREHOUSE">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("cangku")>><<run Engine.play(passage())>><</button>>
</div>
<<itemGrid _benchInv "reforge" null _benchMaxSize>>
<<if $workbenchSource is "beibao">><<weightDisplay>><</if>>
</div>
<div class="panel-container" id="reforge-bench">
<<include "renderZBChongZhu">>
</div>
</div>
<<return "Back">><div class="panel-header">
<span>ENCHANT BENCH</span>
<span style="color:#ffd700;">$ <<= $player.money>></span>
</div>
<<set _sourceInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _targetInfo = ''>>
<<set _templateInfo = ''>>
<<set _enchantCost = null>>
<<set _skillList = []>>
<<set _canEnchant = false>>
<<if $enchantTarget>>
<<set _targetInfo = setup.Item.get($enchantTarget)>>
<<if !_targetInfo and $itemInstances[$enchantTarget]>>
<<set _targetInfo = $itemInstances[$enchantTarget]>>
<</if>>
<<set _templateId = setup.getEquipmentTemplateId($enchantTarget)>>
<<if _templateId>>
<<set _templateInfo = setup.Item.get(_templateId)>>
<</if>>
<<if _templateInfo>>
<<set _enchantCost = setup.getEquipmentEnchantCost(_templateInfo)>>
<</if>>
<<if !_targetInfo or !_templateInfo or !_enchantCost or _targetInfo.slot is "offhand" or !_sourceInv.has($enchantTarget)>>
<<set $enchantTarget = ''>>
<<set $enchantCount = 1>>
<<set _targetInfo = ''>>
<<set _templateInfo = ''>>
<<set _enchantCost = null>>
<<else>>
<<set _skillList = Array.isArray(_targetInfo.skill) ? _targetInfo.skill : (_targetInfo.skill ? [_targetInfo.skill] : [])>>
<<set _canEnchant = $player.money >= _enchantCost.money>>
<<for _costItem range _enchantCost.items>>
<<set _haveCount = _sourceInv.count(_costItem.id)>>
<<if _haveCount < _costItem.count>>
<<set _canEnchant = false>>
<</if>>
<</for>>
<</if>>
<</if>>
<<if _targetInfo and _templateInfo and _enchantCost>>
<div class="repair-preview">
<div class="repair-icon">
<<set _imgName to $enchantTarget.substring(0, $enchantTarget.lastIndexOf('_'))>>
<img @src="setup.ImgWPath + _imgName + '.png'">
</div>
<div class="repair-info">
<div class="repair-name"><<= setup.t(_targetInfo.name)>></div>
<div class="repair-durability">
<<lang>>耐久|EN|Durability<</lang>>: <<= _targetInfo.durability>> / <<= _targetInfo.maxDurability>>
<span style="color:#4caf50;">(-> Keep)</span>
</div>
<div style="color:#aaa; font-size:12px; margin-top:6px;">
<<lang>>附魔只会重抽技能,装备的属性与耐久保持不变。|EN|Enchanting only rerolls skills; the item's stats and durability stay unchanged.<</lang>>
</div>
<<if _skillList.length > 0>>
<div style="margin-top:8px;"><<= setup.buildEquipmentSkillDescription(_skillList)>></div>
<<else>>
<div style="color:#aaa; font-size:12px; margin-top:8px;">
<<lang>>当前没有技能,但附魔后至少会生成 1 个技能。|EN|This item currently has no skills, but enchantment will generate at least one.<</lang>>
</div>
<</if>>
</div>
</div>
<div style="color:#aaa; font-size:12px; margin-top:6px;">
<<lang>>这个物品会被分解成什么。|EN|This item will break down into what.<</lang>>
</div>
<div class="cost-list">
<div style="font-size:12px; color:#00bcd4; margin-bottom:5px; text-transform:uppercase;">Cost</div>
<div style="color:#aaa; font-size:12px; margin-bottom:6px;">
<<lang>>工具箱只需要在当前打开的背包/仓库页签里携带,不会被消耗。|EN|The toolbox only needs to be present in the currently open inventory/warehouse tab and will not be consumed.<</lang>>
</div>
<div class="cost-item">
<span class="cost-name">💰 Money</span>
<span @class="'cost-val ' + ($player.money >= _enchantCost.money ? 'enough' : 'short')">
<<= $player.money>> / <<= _enchantCost.money>>
</span>
</div>
<<for _costItem range _enchantCost.items>>
<<set _costItemInfo = setup.Item.get(_costItem.id)>>
<div class="cost-item">
<span class="cost-name">🛠️ <<= setup.t(_costItemInfo.name)>></span>
<span @class="'cost-val ' + (_sourceInv.count(_costItem.id) >= _costItem.count ? 'enough' : 'short')"><<= _sourceInv.count(_costItem.id)>> / <<= _costItem.count>></span>
<<if !_costItem.consume>><span style="color:#4caf50; margin-left:6px;">(<<lang>>不消耗|EN|Not consumed<</lang>>)</span><</if>>
</div>
<</for>>
</div>
<<if _canEnchant>>
<<button "ENCHANT ITEM">>
<<set $player.money -= _enchantCost.money>>
<<for _costItem range _enchantCost.items>>
<<if _costItem.consume>>
<<run _sourceInv.drop(_costItem.id, _costItem.count)>>
<</if>>
<</for>>
<<run setup.enchantEquipment($enchantTarget, $workbenchSource)>>
<<set $enchantTarget = null>>
<<set $enchantCount = 1>>
<<run Engine.play(passage())>>
<</button>>
<<else>>
<button class="repair-btn" disabled>CANNOT AFFORD</button>
<</if>>
<<else>>
<div class="repair-empty">
<div style="font-size:40px; opacity:0.5;">✨</div>
<p>Select an item from the left<br>to enchant.</p>
</div>
<</if>>
<<set $enchantTarget = null>>
<<if $enchantCount and $enchantCount < 1>><<set $enchantCount = 1>><</if>>
<<if $workbenchSource neq "cangku" and $workbenchSource neq "beibao">><<set $workbenchSource = "beibao">><</if>>
<<set _benchInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _benchMaxSize = setup.getWorkbenchMaxSizeBySource($workbenchSource)>>
<div class="cangku-page">
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<= setup.t($workbenchSource is "cangku" ? "仓库|Warehouse" : "背包|Inventory")>></span>
<span class="capacity-bar"><<lang>>容量|EN|Capacity<</lang>>: <<= _benchInv.uniqueLength>> / <<= _benchMaxSize>> </span>
</div>
<div style="display:flex; gap:8px; margin:8px 0;">
<<button "INVENTORY">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("beibao")>><<run Engine.play(passage())>><</button>>
<<button "WAREHOUSE">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("cangku")>><<run Engine.play(passage())>><</button>>
</div>
<<itemGrid _benchInv "enchant" null _benchMaxSize>>
<<if $workbenchSource is "beibao">><<weightDisplay>><</if>>
</div>
<div class="panel-container" id="enchant-bench">
<<include "renderZBFuMo">>
</div>
</div>
<<return "Back">><div class="panel-header">
<span>WORKBENCH</span>
<span style="color:#00bcd4;"><<lang>>分解|EN|BREAKDOWN<</lang>></span>
</div>
<<set _sourceInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _targetInfo = ''>>
<<set _recipe = null>>
<<set _ownedCount = 0>>
<<set _previewCount = 1>>
<<set _canBreakdown = false>>
<<if $breakdownTarget>>
<<set _targetInfo = setup.Item.get($breakdownTarget)>>
<<set _recipe = setup.getBreakdownRecipe($breakdownTarget)>>
<<set _ownedCount = _sourceInv.count($breakdownTarget)>>
<<if !_targetInfo or !_recipe or _ownedCount <= 0>>
<<set $breakdownTarget = ''>>
<<set $breakdownCount = 1>>
<<set _targetInfo = null>>
<<set _recipe = null>>
<<else>>
<<set _previewCount = Number($breakdownCount) || 1>>
<<if _previewCount < 1>>
<<set _previewCount = 1>>
<</if>>
<<if _previewCount > _ownedCount>>
<<set _previewCount = _ownedCount>>
<</if>>
<<set _canBreakdown = setup.canBreakdownResultFit($workbenchSource, $breakdownTarget, _previewCount, _recipe.outputs)>>
<</if>>
<</if>>
<<if _targetInfo and _recipe>>
<div class="repair-preview">
<div class="repair-icon">
<<set _imgName to $breakdownTarget>>
<<if $breakdownTarget.indexOf('_') > 0>>
<<set _imgName to $breakdownTarget.substring(0, $breakdownTarget.lastIndexOf('_'))>>
<</if>>
<img @src="setup.ImgWPath + _imgName + '.png'">
</div>
<div class="repair-info">
<div class="repair-name"><<= setup.t(_targetInfo.name)>></div>
<div class="repair-durability">
<<lang>>持有数量|EN|Owned<</lang>>: <<= _ownedCount>>
</div>
<div style="color:#aaa; font-size:12px; margin-top:6px;">
<<= setup.t("只消耗当前选中的物品,不需要额外材料或金钱。|EN|Only the selected item is consumed. No extra materials or money are required.")>>
</div>
</div>
</div>
<div class="cost-list">
<div style="font-size:12px; color:#00bcd4; margin-bottom:5px; text-transform:uppercase;">Breakdown Result</div>
<<for _output range _recipe.outputs>>
<<set _outputInfo = setup.Item.get(_output.id)>>
<div class="cost-item">
<span class="cost-name">↳ <<= setup.t(_outputInfo ? _outputInfo.name : _output.id)>></span>
<span class="cost-val enough"><<= _output.count * _previewCount>></span>
</div>
<</for>>
</div>
<div class="cost-list">
<div style="font-size:12px; color:#00bcd4; margin-bottom:5px; text-transform:uppercase;">Quantity</div>
<div style="display:flex; align-items:center; gap:8px;">
<<button "-">>
<<set $breakdownCount = Number($breakdownCount) || 1>>
<<if $breakdownCount > 1>>
<<set $breakdownCount -= 1>>
<<else>>
<<set $breakdownCount = 1>>
<</if>>
<<replace "#breakdown-bench">><<include "renderZBGongZuoTai">><</replace>>
<</button>>
<<textbox "$breakdownCount" _previewCount>>
<<button "+">>
<<set $breakdownCount = Number($breakdownCount) || 1>>
<<if $breakdownCount < _ownedCount>>
<<set $breakdownCount += 1>>
<<else>>
<<set $breakdownCount = _ownedCount>>
<</if>>
<<replace "#breakdown-bench">><<include "renderZBGongZuoTai">><</replace>>
<</button>>
</div>
<div style="color:#888; font-size:12px; margin-top:6px;">
<<lang>>最小数量为 1。|EN|Minimum quantity is 1.<</lang>>
</div>
</div>
<<if _canBreakdown>>
<<button "BREAK DOWN">>
<<set $breakdownCount = Number($breakdownCount) || 1>>
<<if $breakdownCount < 1>>
<<set $breakdownCount = 1>>
<</if>>
<<set _ownedCountNow = _sourceInv.count($breakdownTarget)>>
<<if $breakdownCount > _ownedCountNow>>
<<set $breakdownCount = _ownedCountNow>>
<</if>>
<<run _sourceInv.drop($breakdownTarget, $breakdownCount)>>
<<for _output range _recipe.outputs>>
<<run _sourceInv.pickup(_output.id, _output.count * $breakdownCount)>>
<</for>>
<<if State.variables.itemInstances and State.variables.itemInstances[$breakdownTarget]>>
<<run setup.cleanupBrokenEquipmentInstance($breakdownTarget)>>
<</if>>
<<updateCaptionInfo>>
<<if _sourceInv.count($breakdownTarget) <= 0>>
<<set $breakdownTarget = ''>>
<</if>>
<<set $breakdownCount = 1>>
<<run Engine.play(passage())>>
<</button>>
<<else>>
<button class="repair-btn" disabled>NO SPACE</button>
<div style="color:#ffb74d; font-size:12px; margin-top:6px;">
<<lang>>当前页签容器空间不足,先清出位置再分解。|EN|This tab does not have enough space. Clear some room first.<</lang>>
</div>
<</if>>
<<else>>
<div class="repair-empty">
<div style="font-size:40px; opacity:0.5;">🧰</div>
<p>Select a configured item or eligible equipment<br>from the left to break down.</p>
</div>
<</if>>
<<if !$breakdownCount or $breakdownCount < 1>>
<<set $breakdownCount = 1>>
<</if>>
<<if $workbenchSource neq "cangku" and $workbenchSource neq "beibao">><<set $workbenchSource = "beibao">><</if>>
<<set _benchInv = setup.getWorkbenchInventoryBySource($workbenchSource)>>
<<set _benchMaxSize = setup.getWorkbenchMaxSizeBySource($workbenchSource)>>
<<if $breakdownTarget and (!setup.getBreakdownRecipe($breakdownTarget) or !_benchInv.has($breakdownTarget))>>
<<set $breakdownTarget = ''>>
<<set $breakdownCount = 1>>
<</if>>
<div class="cangku-page">
<<include "Zhuangbei-w">>
<br><br>
<div class="panel-container" id="inv-display">
<div class="panel-header">
<span style="font-size: 1.2em; font-weight: bold;"><<= setup.t($workbenchSource is "cangku" ? "仓库|Warehouse" : "背包|Inventory")>></span>
<span class="capacity-bar"><<lang>>容量|EN|Capacity<</lang>>: <<= _benchInv.uniqueLength>> / <<= _benchMaxSize>> </span>
</div>
<div style="display:flex; gap:8px; margin:8px 0;">
<<button "INVENTORY">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("beibao")>><<run Engine.play(passage())>><</button>>
<<button "WAREHOUSE">><<run setup.clearWorkbenchSelections()>><<run setup.setWorkbenchSource("cangku")>><<run Engine.play(passage())>><</button>>
</div>
<<itemGrid _benchInv "breakdown" null _benchMaxSize>>
<<if $workbenchSource is "beibao">><<weightDisplay>><</if>>
</div>
<div class="panel-container" id="breakdown-bench">
<<include "renderZBGongZuoTai">>
</div>
</div>
<<return "Back">><<set _gameOverWeaponLoss = setup.resolveGameOverWeaponLoss()>><<lang>>
敌人如潮水般合围,我身上已不知添了多少伤口。温热的血浸透衣物,黏腻地贴在皮肤上,每一次动作都带起一阵撕裂感——不,不是疼痛,只是一种沉重的、湿冷的阻涩,以及力量正随鲜血一同流失的清晰认知。<br>
痛觉的缺失在此刻成了冰冷的恩赐:我不必分神对抗剧痛,只需计算——计算每一次挥刀的角度,计算每一次闪避的时机,计算如何用一道非致命的伤,去换对方一条命。
<br><br>
<center>[img[setup.ImagePath+'/gameover.gif']]</center>
<br>
我撞开一个缺口,背上同时挨了沉重的一击,闷响在体内震荡。没有痛呼,我只是顺着那股力道向前扑去,撞进狭窄的巷道。身后的嘶吼声与脚步声紧追不舍。
<br><br>
奔跑。肺像破风箱般嘶吼,腿沉重如灌铅,但脚步未曾停歇。直到冲进一片相对安全的废墟阴影,背靠冰冷的断墙,我才低头查看。背包不知何时被划开一道长口子,里面辛苦攒下的物资早已在亡命奔逃中洒落殆尽,不知遗失在身后哪段黑暗里。
<br><br>
月光照在空空如也的破背包上,也照在我浑身狰狞的伤口上。感受不到疼痛,但失去的份量,却沉甸甸地压在了心头。<<if _gameOverWeaponLoss.active>><br><br><<if _gameOverWeaponLoss.hasWeapon>>我在逃亡时,拼死翻找背包,匆忙中捞起一把武器。<<else>>我在逃亡时,拼死翻找背包,但是什么武器都没捞到。<</if>><</if>>
|EN|
The enemies closed in like a tidal wave. I had lost count of the wounds on my body. Warm blood soaked through my clothes, clinging viscously to my skin; every movement pulled at the torn flesh—not pain, exactly, just a heavy, wet drag, and the clear awareness that my strength was draining away with every drop.
<br>
The absence of pain became a cold mercy in that moment: I didn’t have to fight agony for focus. All I needed was calculation—calculating the precise angle of each swing of the blade, the exact timing of every dodge, the exact trade of one non-lethal wound for an enemy’s life.
<br><br>
<center>[img[setup.ImagePath+'/gameover.gif']]</center>
<br>
I forced open a gap and broke through. At the same moment, a heavy blow landed on my back; the dull impact reverberated inside me. No cry of pain—just riding the force forward, crashing into a narrow alley. Behind me, the snarls and pounding footsteps chased relentlessly.
<br><br>
Running. Lungs rasped like broken bellows; legs felt like lead weights, yet my feet never faltered. Only when I finally plunged into the relative safety of a ruined shadow and pressed my back against a cold broken wall did I pause to look down. At some point my backpack had been sliced open along a long tear; everything I had painstakingly gathered had scattered during the desperate flight—lost somewhere in the darkness behind me.
<br><br>
Moonlight fell on the empty, ruined pack and on the grotesque wounds covering my body. I felt no pain, but the weight of what was lost pressed heavily on my heart.<<if _gameOverWeaponLoss.active>><br><br><<if _gameOverWeaponLoss.hasWeapon>>In the escape, I desperately rummaged through my backpack and hurriedly grabbed a weapon.<<else>>In the escape, I desperately rummaged through my backpack, but found no weapon at all.<</if>><</if>>
<</lang>>
<br><br>
<<link 'Home' 'Home'>>
<<set $player.hp = $player.maxhp>>
<<set $player.baoshi = $player.maxBaoshi>>
<<set $player.yinshui = $player.maxYinshui>>
<<if !_gameOverWeaponLoss.keptWeaponId>>
<<dropall $beibao>>
<</if>>
<<updateCaptionInfo>>
<</link>><<widget "updateCaptionInfo">>
<<updatemeter '$hpBar' `$player.hp / $player.maxhp`>>
<<updatemeter '$baoshiBar' `$player.baoshi / $player.maxBaoshi`>>
<<updatemeter '$yinshuiBar' `$player.yinshui / $player.maxYinshui`>>
<<updatemeter '$yuwangBar' `$player.yuwang / $player.maxYuwang`>>
<<set $player.fuzhong = setup.getInvWeight($beibao)>>
<<updatemeter '$fuzhongBar' `$player.fuzhong / $player.maxFuzhong`>>
<</widget>>
/* 在每个具体场景(比如 Item_01)结束时调用 */
<<widget "backToMap">>
<<set _backPassage to $args[0] || "Map">>
<<link "Back To Map">>
<<goto _backPassage>>
<</link>>
<</widget>>
/* 重置访问记录(比如在撤退点调用) */
<<widget "resetRun">>
<<set $usedContent = []>>
/* 其他重置逻辑 这里将来可能还会插入结算画面 */
<<goto "Home">>
<</widget>>
<<widget video>>
<<if !settings.SFWmode>>
<<set _extension = ($args[1] ?? 'mp4')>>
<<set _width = ($args[2] ?? null)>>
<<set _url to setup.videoPath+'/'+$args[0]+'.' + _extension>>
<video controls autoplay loop onloadstart="this.volume=0.0" @style="_width ? 'width:' + _width + '; max-width:100%; height:auto;' : null">
<source @src="_url">
</video>
<<else>>
<div class="safe-placeholder">SFW MODE ON</div>
<</if>>
<</widget>>
<<widget "sleep">>
/* --- 1. 计算需要睡多久 (分钟) --- */
/* 获取当前是一天中的第几分钟 (例如 01:30 = 90分钟) */
<<set _currentMinsOfDay to ($gameDate.getHours() * 60) + $gameDate.getMinutes()>>
<<set _sleepCheckYuwang to $player.yuwang>>
/* 目标时间是 06:00 = 360分钟 */
<<set _targetMins to 360>>
/* 一天总共 1440 分钟 */
<<set _minsInDay to 1440>>
<<if _currentMinsOfDay < _targetMins>>
/* 情况A:现在是凌晨 (比如 02:00),还没到 06:00 */
/* 直接算出差值:360 - 120 = 睡 240 分钟 */
<<set _sleepDuration to _targetMins - _currentMinsOfDay>>
<<else>>
/* 情况B:现在已经过了 06:00 (比如 22:00) */
/* 算法:(今天剩下的时间) + (明天的 360 分钟) */
<<set _sleepDuration to (_minsInDay - _currentMinsOfDay) + _targetMins>>
<</if>>
/* --- 2. 执行睡眠 (推动时间) --- */
/* 直接调用你的 addmins,这样界面会自动刷新 */
<<addmins _sleepDuration>>
/*
垃圾回收函数:清理无效的装备实例
*/
<<run setup.garbageCollectItems()>>
/* --- 4. 资源结算 --- */
/* 计算比率:标准睡眠是 8小时 (480分钟) */
/* 如果睡了 480分钟,比率就是 1;睡了 240分钟,比率就是 0.5 */
<<set _ratio to _sleepDuration / 480>>
/* 限制最小消耗比率 (可选:防止睡10分钟回满血的Bug,至少按半小时算) */
<<set _ratio to Math.max(_ratio, 0.1)>>
/* 欲望限制,超过70%时,HP回复只能达到70% */
<<set _yuwangRatio to 1>>
<<if $player.yuwang gt ($player.maxYuwang *0.7)>>
<<set _yuwangRatio to 0.7>>
<</if>>
/* HP 回复 (乘上比率) */
<<set $player.hp = Math.clamp($player.hp + ($player.maxhp * $game.hpAdd * _ratio * _yuwangRatio), 0, $player.maxhp)>>
<<set $player.hp = Math.clamp($player.hp + $player.maxhp*$game.hpAdd, 0, $player.maxhp)>>
<<set $player.baoshi to Math.clamp($player.baoshi - $game.baoshiXiaohao, 0, $player.maxBaoshi)>>
<<set $player.yinshui to Math.clamp($player.yinshui - $game.yinshuiXiaohao, 0, $player.maxYinshui)>>
<<set $player.xizao to false>>
<<set $player.chifan to false>>
<<shopReflash>>
<<restockHeishiShop>>
/* --- 5. 睡眠事件判定 --- */
<<set _saikaSleepChance to 0>>
<<if _sleepCheckYuwang lt 50>>
<<set _saikaSleepChance to 0.3>>
<<elseif _sleepCheckYuwang lt 70>>
<<set _saikaSleepChance to 0.5>>
<<else>>
<<set _saikaSleepChance to 1>>
<</if>>
<<if $quests.completed.includes("q_kill_Buxingzhe") and Math.random() lt _saikaSleepChance>>
<<goto "saikaSleep">>
<</if>>
<</widget>>
<<widget "chifan">>
<<set $player.baoshi to $player.maxBaoshi>>
<<set $player.yinshui to $player.maxYinshui>>
<<set $player.chifan to true>>
<</widget>>
<<widget "xizao">>
<<set $player.hp = Math.clamp($player.hp + 20, 0, $player.maxhp)>>
<<set $player.xizao to true>>
<</widget>>
<<widget "shopReflash">>
/*商店每2天刷新一次*/
<<if setup.tryRestock($shopYuaObj, 2) or !hasVisited("yuaShop")>>
<<set setup.dropTable to []>>
<<set _tags to ["tool", "misc", "material", "food", "drink"]>>
<<set _ids to setup.getDropList(_tags, 20)>>
<<set _ids to _ids.toUnique()>>
/* 4. 合并到总掉落表中 */
<<set setup.dropTable to setup.dropTable.concat(_ids)>>
<<if setup.dropTable.length gt 0>>
/* 清理掉落包,把已经生成的掉落物品塞到掉落包里 */
<<dropall $shopyua>>
<<for _i, _templateId range setup.dropTable>>
<<capture _i, _templateId>>
<<set _templateItem to setup.Item.get(_templateId)>>
<<if _templateItem.hasTag('equipable')>>
<<set _newItemId to setup.generateEquipment(_templateId)>>
<<if _newItemId>>
<<run $shopyua.pickup(_newItemId, 1)>>
<</if>>
<<else>>
<<run $shopyua.pickup(_templateId, 1)>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<notify 3s>><<=setup.t("商店引进了新的货品|The store has introduced new goods.")>><</notify>>
<</if>>
<</widget>>
<<widget "restockHeishiShop">>
<<set _shouldRestock to setup.tryRestock($shopHeishiObj, 2) or !hasVisited("heishiShop")>>
<<if _shouldRestock>>
<<set setup.dropTable to []>>
<<set _tags to ["heishi", "tool"]>>
<<set _ids to setup.getDropList(_tags, $maxShopheishiSize)>>
<<set _ids to _ids.toUnique()>>
<<set _questHeishiIds to setup.getBlackMarketQuestItemIds()>>
<<if _questHeishiIds.length gt 0>>
<<set _ids to _ids.concat(_questHeishiIds).toUnique()>>
<</if>>
<<set setup.dropTable to setup.dropTable.concat(_ids)>>
<<if setup.dropTable.length gt 0>>
<<dropall $shopheishi>>
<<for _i, _templateId range setup.dropTable>>
<<capture _i, _templateId>>
<<set _templateItem to setup.Item.get(_templateId)>>
<<if _templateItem and _templateItem.hasTag('equipable')>>
<<set _newItemId to setup.generateEquipment(_templateId)>>
<<if _newItemId>>
<<run $shopheishi.pickup(_newItemId, 1)>>
<</if>>
<<elseif _templateItem>>
<<run $shopheishi.pickup(_templateId, 1)>>
<</if>>
<</capture>>
<</for>>
<</if>>
<<else>>
<<set _questHeishiIds to setup.getBlackMarketQuestItemIds()>>
<<if _questHeishiIds.length gt 0>>
<<for _i, _templateId range _questHeishiIds>>
<<capture _i, _templateId>>
<<if !$shopheishi.has(_templateId)>>
<<run $shopheishi.pickup(_templateId, 1)>>
<</if>>
<</capture>>
<</for>>
<</if>>
<</if>>
<</widget>><<video 'changjing/1/CampPath_1'>>
<br><br>
<<lang>>
朔风裹着沙砾刮过荒草坡,我踩着枯草地深一脚浅一脚地穿行。视野尽头忽然晃过一道佝偻的影子,定睛看去 —— 是只落单的女丧尸。
<br><br>
她还保持着人类的轮廓,破旧的衣衫下,皮肤没有溃烂流脓,也没有浮现出那种濒死的青灰色腐斑。指节没有发黑肿胀,裸露在外的脚踝甚至还留着血色。这绝对是刚被咬不久的 “新生体”,动作远比那些烂成骨架的老丧尸要快。
<br><br>
我屏住呼吸,慢慢往后退了半步。
|EN|
The north wind whipped sand and grit across the barren grass slope; I trudged through the withered turf, sinking deep one step, shallow the next. At the edge of my vision, a hunched shadow suddenly flickered. I focused— it was a lone female zombie.
<br><br>
She still retained a human silhouette. Beneath her tattered clothes, her skin hadn’t rotted or oozed pus, nor had the deathly bluish-gray decay spots appeared. Her knuckles weren’t blackened and swollen; even the exposed ankles still held a trace of blood color. This was definitely a “newborn”—freshly bitten not long ago. Her movements were far quicker than those ancient ones that had already rotted down to skeletons.
<br><br>
I held my breath and slowly retreated half a step.
<</lang>>
<br><br>
<<if $quests.active.includes("q_Saika_zs3")>>
<<set _action = setup.t("抓住她(你的背包里需要一根绳子)|Catch her (A rope is needed in your backpack)")>>
<<if $beibao.has("shengzi")>>
<<link _action "CampPath01">>
<</link>>
<<else>>
<a class="link-disabled">_action</a>
<</if>>
<</if>>
<<link "Fight" "Slime_Fight">>
<</link>>
<<backToMap "StageMap">><<lang>>
我攥紧手里的绳子,指尖用力将绳圈收成能自由伸缩的活结,屏住气敛着脚步,从那只新生女丧尸的身后悄然逼近。
<br><br>
<<video 'changjing/1/CampPath_2'>>
<br><br>
绳圈精准地套上她的脖颈,我猛地向后拽紧绳头,死死扼住她的喉咙,让她发不出半点嘶吼。
<br><br>
我弓着身子,半拖着她在荒草里踉跄前行,一只手死死拽紧绳索防止松脱,另一只手攥着腰间的短刀,目光片刻不离她胡乱挥舞的利爪 —— 必须死死盯住,稍有不慎,那沾着涎水的尖牙就会咬穿我的皮肉。
<br><br>
|EN|
I gripped the rope tightly, fingers working to cinch the loop into a freely adjustable slipknot. Holding my breath, I muffled my footsteps and crept up quietly from behind the newborn female zombie.
<br><br>
<<video 'changjing/1/CampPath_2'>>
<br><br>
The loop landed perfectly around her neck. I yanked back hard on the end, tightening it in one brutal pull—choking off any possible screech before it could escape her throat.
<br><br>
Bent low, I half-dragged her stumbling through the tall, dead grass. One hand clamped relentlessly on the rope to keep it from slipping, the other clutched the short knife at my waist. My eyes never left her wildly flailing claws—not for a second. One careless lapse and those saliva-slick fangs would tear straight through my flesh.
<br><br>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<<lang>>
我咬着牙,半拖半拽地将这只新生丧尸往不远处的房车挪去。那辆锈迹斑斑的房车是我三天前清理出来的临时据点,车里的腐尸被我拖去填了荒野的坑,角落的蛛网也尽数扫净,方圆百米之内,更是反复排查过三遍,绝不会有潜藏的活尸突然窜出来。
<br><br>
<<video 'changjing/1/CampPath_3'>>
<br><br>
我用力踹开虚掩的车门,将丧尸猛地掼进去,后背抵着门板重重喘了口气 —— 至少在这扇铁皮门里,暂时是安全的。
<br><br>
我狠狠拽紧绳索,将绳头在锈迹斑斑的铁床头绕了三圈,打了个死结。丧尸被牢牢捆在床板上,四肢徒劳地挣动,喉咙里溢出嗬嗬的低吼。我又俯身扯了扯绳结,确认它嵌进了丧尸脖颈的皮肉里,绝不会有挣脱的可能,这才直起身,长长舒了口气。
<br><br>
掌心已经沁出冷汗,我从帆布背包的夹层里,小心翼翼掏出Saika给的试剂 —— 玻璃管身冰凉,里面的淡蓝色液体在应急灯的昏光下微微晃动。
<br><br>
我攥着试剂凑近,指尖控制不住地发颤。针头刺破丧尸颈侧皮肤的瞬间,心跳猛地撞进喉咙。
<br><br>
等待的每一秒都像被拉长的钝刀。我盯着她抽搐的四肢,掌心的冷汗越渗越多,连呼吸都变得小心翼翼。
<br><br>
她绝对是刚被咬不久的,皮肤不仅没有泛起腐尸的青灰,她的身体甚至还残留着活人的温度。
<br><br>
如果Saika他们的实验真的成功了…… 如果这支试剂真的能逆转感染……
<br><br>
那这场该死的、看不到尽头的末日,说不定真的要结束了。
<br><br>
|EN|
Gritting my teeth, I half-dragged, half-hauled this freshly turned zombie toward the RV nearby. That rusted-out camper was a temporary outpost I had cleared three days ago. I had dragged the rotting corpses inside to fill a pit in the wasteland, swept away every cobweb in the corners, and triple-checked everything within a hundred meters to ensure no lurking undead would suddenly ambush me.
<br><br>
<<video 'changjing/1/CampPath_3'>>
<br><br>
I kicked open the slightly ajar door with force, slammed the zombie inside, and leaned my back against the door panel, gasping heavily—at least behind this sheet metal door, I was safe for the moment.
<br><br>
I yanked the rope tight, wrapped the end three times around the rusty iron bedframe, and tied a dead knot. The zombie was securely bound to the bed, limbs thrashing in vain, letting out low, guttural growls from its throat. I leaned over and tugged at the knot again, confirming it had dug into the flesh of the zombie's neck with absolutely no chance of breaking free. Only then did I straighten up and let out a long breath.
<br><br>
Cold sweat was already seeping from my palms. I carefully fished Saika's reagent out from the lining of my canvas backpack—the glass vial was ice-cold, the pale blue liquid inside swaying slightly under the dim light of the emergency lamp.
<br><br>
I gripped the vial and leaned in, my fingertips trembling uncontrollably. The moment the needle pierced the skin on the side of the zombie's neck, my heartbeat slammed into my throat.
<br><br>
Every second of waiting felt like a dull knife being drawn out. I stared at her twitching limbs, the cold sweat on my palms growing heavier, and even my breathing became cautious.
<br><br>
She had definitely been bitten only recently; not only had her skin not turned the ashen gray of a corpse, but her body even retained the warmth of the living.
<br><br>
If Saika and the others' experiment is really successful... If this reagent could really reverse the infection...
<br><br>
Then this goddamned, endless apocalypse might actually be coming to an end.
<</lang>>
<<set _action = setup.t("1小时后|1 Hour Later")>>
<<linkreplace _action>>
<<lang>>
<br><br>
她脸色苍白,额头渗出细密的汗珠,呼吸浅而急促。Saika说半个小时应该就有结果,但现在已经一个小时过去了,可她还是没有好转的迹象——瞳孔涣散,唇色发青,手指偶尔抽搐一下,像在抗拒什么。
<br><br>
<center>[img[setup.videoPath + "changjing/1/CampPath_1.png"]]</center>
<br>
Saika之前说过的话像钉子一样扎在我脑子里:“如果药不起作用……就得靠你给她注入生命的活力。人类最原始的热量、最直接的连接……只有那样,才可能激活最后的应激反应。”我喉咙发苦,胸口像堵了块石头。
<br><br>
我重新固定住绑在她脖子上、胳膊上的绳子,并将她的腿也捆成了M字型。在确认了她不会伤到我之后,我俯下身,手指颤抖着扒开她的内裤。
<<you>>Saika这个臭娘们,说的不一定是真的!她很有可能是在故意报复我在图书馆对她做的事情...该死的,我现在应该怎么办?<</you>>
|EN|
<br><br>
Her face was pale, beads of fine sweat seeping from her forehead. Her breathing was shallow and rapid. Saika said there should be results within half an hour, but it's been an hour now, and she still shows no signs of improvement—her pupils are dilated, her lips have turned blue, and her fingers twitch occasionally, as if resisting something.
<br><br>
<center>[img[setup.videoPath + "changjing/1/CampPath_1.png"]]</center>
<br>
The words Saika spoke earlier pierced my mind like nails: "If the drug doesn't work... you'll have to inject her with the vitality of life yourself. The most primal human heat, the most direct connection... only that might trigger a final stress response." My throat felt bitter, and my chest felt heavy, as if blocked by a stone.
<br><br>
I re-secured the ropes binding her neck and arms, and tied her legs into an M-shape. After confirming she couldn't hurt me, I leaned down, my fingers trembling as I pulled her panties aside.
<<you>>That bitch Saika, she might be lying! She's probably doing this just to get back at me for what I did to her in the library... Damn it, what should I do now?<</you>>
<</lang>>
<div id="bath-options">
<<set _action = setup.t("为她注入生命的活力|Infuse her with the vitality of life")>>
<<link _action>>
<<replace "#bath-options">>
<<video 'changjing/1/CampPath_4'>>
<br><br>
<<lang>>
她的身体已经冰凉得吓人,皮肤下却还残留着一丝微弱的温度,像最后的火苗。我解开裤子,掏出肉棒,先把自己弄硬,然后贴近她,缓缓推进。她的小穴入口冰冷而紧致,我咬紧牙关,开始动——不是温柔的占有,而是带着绝望和急切的撞击,像要把自己的温度全部灌进她身体里。
<br><br>
传教士体位让我能清楚地看到她的脸。她的睫毛湿漉漉地颤动,唇瓣被自己咬得发白,偶尔从喉咙深处漏出一声细碎的、几乎听不见的呜咽,像在回应,又像只是本能的反应。我双手抓着她的腿,腰肢一次次重重顶到底,每一次撞击都让床发出沉闷的吱呀声。
<br><br>
她的内壁渐渐有了反应,从冰冷变得温热,收缩得越来越紧,贪婪地吸取着我的一切。终于,我低吼了一声,所有积攒的热流一股股涌进去,填满她最深处。
<br><br>
<<video 'cum'>>
<br><br>
我双手扶在腿上,大口喘息着。我抬头观察她时,竟意外的发现,她眼角有一滴泪在滑落!!!
<br><br>
有反应!!!
<br><br>
我飞快爬到她身前,手掌抚过她的脸颊,指尖蹭掉她眼角的泪水,仔细观察着她的反应。她没睁眼,但胸口起伏得比刚才明显了一些,呼吸也平稳了些许。她的手指动了动,轻轻抓住我的手臂,像在确认我还在。我低头轻轻吻了一下她的额头,声音哑得不成样子。
<<you>>……孩子,坚持住。别让我白费力气。<</you>>
但是好景不长,不一会儿,她就开始疯狂的抽搐,挣扎的非常剧烈。我有点慌了神,正在我思考着还可以做点什么的时候,突然一切都归于了平静...
<br><br>
我静静的在旁边伫立很久......然后拿出Saika给我的设备,抽取她身上的血液,打包封好,装进背包。然后帮她整理衣服,抗出房车,在旁边刨了个坑,把她埋了。
<br><br>
看着眼前的土包,我甚至都不知道这个穿着学生服的孩子叫什么名字......
|EN|
Her body was terrifyingly cold, yet there was still a faint trace of warmth beneath her skin, like the last embers of a flame. I unzipped my pants, pulled out my cock, got myself hard first, then moved close to her and slowly pushed in. The entrance to her pussy was cold and tight. I gritted my teeth and started moving—not a gentle possession, but thrusts filled with despair and urgency, as if trying to pour all my warmth into her body.
<br><br>
The missionary position allowed me to see her face clearly. Her eyelashes trembled wetly, her lips were bitten white by herself, and occasionally a faint, almost inaudible whimper escaped from the depths of her throat, as if in response, or perhaps just an instinctive reaction. I grabbed her legs with both hands, my waist slamming hard against her over and over again, each thrust making the bed let out a dull creak.
<br><br>
Her inner walls gradually responded, warming up from the cold, contracting tighter and tighter, greedily taking in everything from me. Finally, I let out a low growl, and all the accumulated heat surged in waves, filling her deepest part.
<br><br>
<<video 'cum'>>
<br><br>
I propped my hands on her legs, gasping for breath. When I looked up at her, I was surprised to find a tear sliding from the corner of her eye!!!
<br><br>
There's a reaction!!!
<br><br>
I quickly crawled over to her, my palm brushing her cheek, my fingertips wiping away the tears from the corner of her eyes, carefully observing her reaction. She didn't open her eyes, but the rise and fall of her chest was more noticeable than before, and her breathing was a little steadier. Her fingers moved, gently grasping my arm, as if confirming that I was still there. I bent down and softly kissed her forehead, my voice hoarse beyond recognition.
<<you>>... Child, hold on. Don't make my efforts in vain.<</you>>
But the good times didn't last long. After a while, she started convulsing wildly, struggling violently. I panicked a little. Just as I was thinking about what else I could do, suddenly everything went quiet...
<br><br>
I stood quietly beside her for a long time... Then I took out the device Saika gave me, drew blood from her body, sealed it up, and put it in my backpack. Then I helped her straighten her clothes, carried her out of the RV, dug a hole nearby, and buried her.
<br><br>
Looking at the mound of earth in front of me, I didn't even know the name of this child in a school uniform...
<</lang>>
<<backToMap "StageMap">>
<</replace>>
<</link>>
<<set _action = setup.t("直接杀死她|Kill Her")>>
<<link _action>>
<<replace "#bath-options">>
<center>[img[setup.videoPath + "baotou.gif"]]</center>
<<lang>>
我掏出枪,一枪打爆了她的头。在确定她彻底没有反应后,拿出Saika给我的设备,抽取她身上的血液,打包封好,装进背包。然后帮她整理衣服,抗出房车,在旁边刨了个坑,把她埋了。
<br><br>
看着眼前的土包,我甚至都不知道这个穿着学生服的孩子叫什么名字......
|EN|
I drew my gun and put a single shot through her head. After confirming she showed no further reaction, I took out the equipment Saika had given me, drew blood from her body, sealed it carefully, and packed it into my bag. Then I straightened her clothes, carried her out of the RV, dug a shallow grave nearby, and buried her.
<br><br>
Staring at the small mound of earth in front of me, I realized I didn’t even know the name of this child who had been wearing a school uniform...
<</lang>>
<<backToMap "StageMap">>
<</replace>>
<</link>>
</div>
<<pickup $beibao 'sangshixueqing' 1>>
<</linkreplace>>
<</linkreplace>>
<<set $game.hpAdd = 1>>
<<set $game.baoshiXiaohao = 20>>
<<set $game.yinshuiXiaohao = 20>>
<center>[img[setup.ImagePath+'/changjing/woshi.png']]</center>
<br>
<<lang>>
最后一块隔热棉被塞进墙缝的刹那,车库角落里那个用废旧复合板和锈蚀铁皮围起的三平方米空间,终于有了“房间”的轮廓。我和Yua退后两步,肩并肩看着这几日辛苦的成果:把木板加工,拼成一个床架子;从废弃车辆里拆下的座椅海绵,被洗净、晒干、层层拼叠,裹上勉强算干净的帆布,成了我们末世里的第一张“床”;墙上钉着拾荒时捡回来的隔音垫与破毯子,虽然斑驳,但至少挡住了大部分缝隙里钻进来的阴风。
<br><br>
Yua先躺了上去,老旧弹簧发出不堪重负的呻吟,随即归于平缓。她拍了拍身旁的位置。
<<yua>>来试试,$player.name。比睡在冰冷的水泥地上强一万倍。<</yua>>
我躺下,身下的“床垫”谈不上柔软,甚至能感觉到下面垫着的木板条,但它忠实地承托住了身体的重量,隔绝了地气的潮湿。一种奇异的、久违的“安定感”,从与之接触的背部缓慢渗透开来。头顶,是我们用捡来的半透明塑料瓦楞板补上的漏洞,朦胧的月光和远处霓虹的杂光洒下来,在天花板上投出模糊的光影。
<br><br>
我们并排躺着,中间隔着一拳的距离,能听到彼此轻微的呼吸声。黑暗中,Yua先开了口,声音里带着罕见的松弛。
<br><br>
<center>[img[setup.ImagePath+'/changjing/0/yua_shui.png']]</center>
<<yua>>要是以后……我是说如果,咱们信用点攒够了,或许能换到更靠内城的地方。找个有真正窗户的房间,早上能被阳光晒醒,而不是被垃圾车的轰鸣吵醒。<</yua>>
<<you>>然后呢?(我问道,目光停在那块透光的“天窗”上)<</you>>
<<yua>>然后……搞个小炉子,不是烧废料的那种。要能稳定燃烧的,可以一直烧着热水。这样随时回来,都有口热水喝,也许……还能擦个澡。(她的声音低下去,像是在描绘一个奢侈到不敢大声说出的梦)还可以在门后种点东西。我听说黑市有卖耐辐射的菌包,不需要阳光,给点水就能长。哪怕是蘑菇呢,也算个新鲜菜。<</yua>>
我没说话,脑海里却跟着她的话勾勒出那副图景:稳定的热源,洁净的水,一点点可预期的、自己长出来的食物。这些在旧世界微不足道的东西,此刻听起来如同乌托邦般美好。
<<yua>>(轻声问)你呢?没点什么想法?<</yua>>
想法?我的思绪飘忽了一下。疼痛的感觉早已遗忘,但此刻背脊感受到的粗糙织物纹路,耳边她平稳的呼吸,空气中漂浮着新木头、铁锈和尘埃混合的、独属于这间车库的气味——这些感觉如此鲜明。或许,所谓的“新生活”,并不是抵达某个明确的彼岸。
<<you>>就这样(我听见自己说,声音在狭小的空间里显得格外清晰)能安稳睡到天亮,不用半夜摸枪。就行。<</you>>
Yua似乎轻轻笑了一下,没有评价。寂静重新流淌,但不再是以往那种充满戒备、一触即发的寂静。这是一种疲惫得到安抚、精神暂时松弛下来的宁静。身下的床依然简陋,房间依旧狭小,危机四伏的世界仅被一墙薄板隔开。但在此刻,这一点点由双手搭建起来的、粗糙的庇护所,以及身旁可以交付后背的同伴,就是我们所能想象、并正竭力构建的,关于“未来”最真切的样子。
<br><br>
月光悄悄移动了几分,照亮了她闭眼后微微颤动的睫毛,也照亮了我们之间,那足以容纳无数未言之意与微弱希望的一拳之距。
|EN|
The moment the last piece of insulation padding was stuffed into the wall crack, the three-square-meter space in the garage corner—enclosed by scrap composite boards and rusted sheet metal—finally took on the silhouette of a "room." Yua and I stepped back, standing shoulder to shoulder, surveying the fruits of our labor over the past few days: wood processed and assembled into a bed frame; foam sponges stripped from abandoned vehicle seats, washed, dried, stacked in layers, and wrapped in barely-clean canvas to become our first "bed" in the apocalypse. The walls were nailed with scavenged soundproofing pads and tattered blankets; though mottled, they at least blocked out the damp drafts whistling through the cracks.
<br><br>
Yua lay down first. The old springs let out an overwhelmed groan before settling into silence. She patted the spot beside her.
<<yua>>Try it, $player.name. It's ten thousand times better than sleeping on the cold concrete floor.<</yua>>
I lay down. The "mattress" beneath me wasn't exactly soft—I could even feel the wooden slats underneath—but it faithfully supported my weight, isolating me from the ground's damp chill. A strange, long-lost sense of "stability" slowly permeated from my back where it touched the bed. Above, through the hole we'd patched with scavenged translucent plastic corrugated board, hazy moonlight and the scattered glow of distant neon lights spilled down, casting blurred shadows on the ceiling.
<br><br>
We lay side by side, a fist's distance between us, close enough to hear each other's shallow breathing. In the darkness, Yua spoke first, her voice holding a rare sense of relaxation.
<br><br>
<center>[img[setup.ImagePath+'/changjing/0/yua_shui.png']]</center>
<<yua>>If later... I mean if, we save enough Credits, maybe we can move closer to the Inner City. Find a room with real windows. Wake up to sunlight in the morning instead of the roar of garbage trucks.<</yua>>
<<you>>And then? (I asked, my gaze fixed on the translucent "skylight")<</you>>
<<yua>>And then... get a small stove. Not one that burns scrap. One with stable combustion, so we can keep water hot all the time. That way, whenever we come back, there's hot water to drink, maybe... even take a sponge bath. (Her voice lowered, as if describing a dream too luxurious to speak aloud) We could also plant something behind the door. I heard the black market sells radiation-resistant fungus packs. They don't need sunlight, just water. Even if it's just mushrooms, it counts as fresh vegetables.<</yua>>
I didn't speak, but my mind sketched that picture along with her words: a stable heat source, clean water, a little bit of predictable, homegrown food. These things, trivial in the old world, sounded as beautiful as Utopia right now.
<<yua>>(Asking softly) What about you? No ideas?<</yua>>
Ideas? My thoughts drifted for a moment. The sensation of pain was long forgotten, but right now, the texture of the rough fabric against my back, the sound of her steady breathing, the scent floating in the air—a mix of new wood, rust, and dust unique to this garage—felt so vivid. Perhaps, the so-called "new life" isn't about reaching some definite shore.
<<you>>Just this. (I heard myself say, my voice sounding exceptionally clear in the cramped space) To sleep soundly until dawn without reaching for a gun in the middle of the night. That's enough.<</you>>
Yua seemed to chuckle lightly, offering no comment. Silence flowed once more, but it was no longer that alert, hair-trigger silence of before. It was a tranquility where exhaustion was soothed, and the spirit could momentarily relax. The bed beneath us was still crude, the room still cramped, and a danger-filled world was separated from us by only a thin wall of board. But in this moment, this tiny, rough shelter built by our own hands, and the companion beside me to whom I could entrust my back, was the truest form of the "future" we could imagine and were striving to build.
<br><br>
The moonlight shifted quietly, illuminating her eyelashes which trembled slightly as she closed her eyes, and illuminating the space between us—that fist's distance, enough to hold countless unspoken words and faint hopes.
<</lang>>
<br><br>
[[Sleep|YuaWakeup]]<<sleep>>
<center>[img[setup.videoPath+'yua/qichang0/0.png']]</center>
<<lang>>
清晨,阳光从车库高处的窄窗斜斜漏进来,落在我们昨晚刚拼好的木床上。空气里还带着新锯木头的淡淡味道,混着外面荒废小城里偶尔飘来的尘土气。Yua侧着身蜷在被子里,长发散在枕头上,呼吸均匀而绵长,像终于卸下了所有防备。
<br><br>
我坐起身,揉了揉眼睛,看了她一会儿。她睡得沉,睫毛一动不动,嘴角甚至还带着一点昨晚笑过的弧度。
|EN|
Early in the morning, sunlight slanted in through the narrow window high up in the garage, falling on the wooden bed we had just assembled last night. The air still held the faint scent of freshly sawed wood, mixed with the occasional whiff of dust drifting in from the desolate town outside. Yua was curled up on her side under the covers, her long hair scattered across the pillow. Her breathing was even and deep, as if she had finally let down all her defenses.
<br><br>
I sat up, rubbed my eyes, and watched her for a while. She was sleeping soundly; her eyelashes were motionless, and the corners of her mouth even held a trace of the smile from last night.
<</lang>>
<<set _action = setup.t("耳朵|ear")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/taoerduo'>>
<br><br>
<<lang>>
我忍不住伸手,轻轻用指尖在她耳廓里挠了挠——她只是皱了皱眉,头往枕头里埋得更深,哼了一声,像小猫在抗议,却没睁眼。
|EN|
I couldn't resist reaching out and gently tickling the inside of her ear with my fingertip—she merely frowned, buried her head deeper into the pillow, and let out a soft grunt. It was like a kitten protesting, but she didn't open her eyes.
<</lang>>
<<set _action = setup.t("脚|foot")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/naojiaoxin'>>
<br><br>
<<lang>>
我笑了笑,又挪到床尾,捉住她露在外面的脚踝,指尖在她脚心轻轻划过。那地方最怕痒,她平时一碰就缩成一团尖叫,这次却只脚趾蜷了蜷,腿本能地往回缩了一下,又懒洋洋地伸直,继续睡。三年了,她还是这样,睡着的时候像个孩子,固执地不肯醒。
|EN|
I smiled, shifted to the foot of the bed, took hold of her exposed ankle, and lightly traced my fingertip across the sole of her foot. That was her most ticklish spot. Usually, a mere touch would make her curl into a ball and shriek, but this time, her toes just curled inward. Her leg instinctively retracted a bit, then lazily stretched back out as she continued to sleep. It's been three years, and she’s still like this—like a child when she sleeps, stubbornly refusing to wake up.
<</lang>>
<<set _action = setup.t("屁股|ass")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/pigu'>>
<br><br>
<<lang>>
我掀开一点被子,手掌顺着她的小腿侧滑上去,掀起她的睡衣下摆,捏了捏她臀部的软肉。她嘤咛了一声,声音又软又黏,身体却只是晃了晃,像在梦里找个更舒服的姿势。
|EN|
I lifted the covers a bit, my palm sliding up the side of her calf to pull up the hem of her sleepwear, and gave the soft flesh of her buttock a squeeze. She let out a soft moan, the sound sweet and heavy with sleep, but her body only shifted slightly, as if finding a more comfortable position inside her dream.
<</lang>>
<<set _action = setup.t("小穴|pussy")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/b'>>
<br><br>
<<lang>>
我顿了顿,心跳忽然快了一拍。手指继续往下,停在她大腿根部,隔着内裤的布料,轻轻按了按那片最柔软的地方。布料已经有些温热,带着她身体残留的温度。我没有再用力,只是指腹在那里缓缓摩挲,像在确认她还在,像在提醒自己我们还活着,还能这样毫无防备地贴近彼此。
<br><br>
Yua依然赖在床上不肯睁眼。她刚才只是微微动了动,从侧卧翻成仰躺,被子滑到腰间,睡衣皱巴巴地堆在胸口下方,露出小腹那片平滑的皮肤。我手指还停在她腿间,隔着薄薄的内裤布料,轻轻摩挲着那片温热的软处。她没说话,只是臀部懒懒地晃了晃,像在回应,又像只是睡梦里无意识的调整姿势。布料下的温度一点点渗进指尖,让人呼吸都有些不稳。
|EN|
I paused, my heart skipping a beat. My fingers continued downward, resting where her thighs met. Through the fabric of her panties, I gently pressed against that softest of places. The fabric was already warm, holding the lingering heat of her body. I didn't apply any more pressure; I just slowly caressed the spot with the pads of my fingers. It was a way to confirm she was still here, to remind myself that we were alive, and that we could still be this close, this defenseless with one another.
<br><br>
Yua still lingered in bed, refusing to open her eyes. She had shifted just slightly a moment ago, rolling from her side onto her back. The blanket slid down to her waist, and her sleepwear bunched up just below her chest, exposing the smooth skin of her lower abdomen. My fingers remained between her legs, gently caressing that warm, soft spot through the thin fabric of her panties. She didn't speak; her hips just swayed lazily. It felt like a response, or perhaps just an unconscious adjustment of her posture in her sleep. The warmth beneath the fabric seeped into my fingertips little by little, making my breathing grow unsteady.
<</lang>>
<br><br>
<<set _action = setup.t("胸|breasts")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/xiong'>>
<br><br>
<<lang>>
我顺势把手往上移,掌心贴着她腰侧的曲线,慢慢滑进睡衣下摆,指腹掠过她肋骨下方那片细腻的皮肤,再往上,覆上她胸口的柔软。她的呼吸立刻乱了一拍,胸膛随着指尖的触碰微微起伏。我用拇指轻轻蹭过那颗已经微微挺立的凸起,她喉咙里溢出一声极轻的、带着鼻音的哼唧,像终于被扰醒了,却又舍不得彻底清醒。下一秒,她在床上打了个滚,整个人翻过来面对我,眼睛还半闭着,睫毛湿漉漉地颤动,嘴角带着一点没睡够的委屈。睡衣彻底歪了,领口滑到肩下,露出大半边胸口,在晨光里泛着淡淡的粉。
|EN|
I slid my hand upward, my palm pressing against the curve of her waist, and slowly slipped it under the hem of her sleepwear. My fingertips grazed the delicate skin beneath her ribs before moving higher to cup the softness of her breast. Her breath hitched immediately, her chest rising and falling slightly with my touch. As I gently brushed my thumb over the already semi-erect peak, a very faint, nasal whimper escaped her throat—as if she had finally been teased into waking but was reluctant to fully rouse herself. A second later, she rolled over in bed, turning to face me. Her eyes were still half-closed, her lashes trembling damply, and the corners of her mouth held a hint of petulance from not getting enough sleep. Her sleepwear was completely askew now; the collar had slipped off her shoulder, exposing a large expanse of her chest that glowed with a faint flush in the morning light.
<</lang>>
<<set _action = setup.t("亲吻|kiss")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/kiss'>>
<br><br>
<<lang>>
我再也忍不住,低头俯下去,把脸埋进她胸前。先是嘴唇贴上那片温热的皮肤,轻轻吻着锁骨下方,再往下,含住那颗已经敏感的凸起,用舌尖缓缓绕着打圈。她立刻绷紧了身体,手指本能地插进我头发里,指尖用力抓了一下,又很快松开,像怕弄疼我。她的呼吸变得又急又碎,从胸腔深处挤出来,带着一点刚醒的沙哑和羞涩的颤音。胸口随着每一次吸吮起伏得更明显,另一边的手臂环住我的后颈,把我往她身上按得更紧,像在无声地催促,又像只是想把我整个抱住。我换到另一边,重复着同样的动作,舌尖轻刮,嘴唇包裹,偶尔用牙齿轻轻啃咬一下。她整个人弓起来,腰肢离开床面,喉咙里漏出一连串细碎的、压抑不住的呜咽。声音闷在唇缝里,却又忍不住溢出来,在安静的车库里格外清晰。
|EN|
I couldn't hold back any longer. I lowered my head and buried my face against her chest. First, my lips pressed against that warm skin, gently kissing just below her collarbone, then moving lower to take that already sensitive peak into my mouth, swirling my tongue slowly around it. She immediately tensed up, her fingers instinctively threading through my hair. She gripped hard for a second, then quickly relaxed, as if afraid of hurting me. Her breathing turned rapid and ragged, forced out from deep within her chest, carrying a trace of morning huskiness and a shy tremor. Her chest rose and fell more noticeably with every suck, and her other arm encircled the back of my neck, pressing me tighter against her—like a silent urging, or perhaps just a desire to hold me close. I switched to the other side, repeating the motions: grazing with my tongue, enveloping with my lips, and occasionally giving a gentle nibble with my teeth. She arched her back, her hips lifting off the bed, while a string of fragmented, uncontrollable whimpers leaked from her throat. The sounds were muffled behind her lips but spilled out anyway, sounding incredibly distinct in the quiet garage.
<</lang>>
<br><br>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/kou'>>
<br><br>
<<lang>>
Yua仰躺在床上,晨光从窄窗漏进来,落在她脸上,睫毛投下细细的影子。她眼睛半睁着,带着刚醒的朦胧,唇角还残留着刚才被吻得发红的痕迹。被子早就滑到一边,她只剩那件皱巴巴的睡衣挂在肩上,胸口随着呼吸轻轻起伏。
<br><br>
我跪在她身侧,俯下身,手掌先抚过她的脸颊,指腹蹭过她湿润的下唇。她没躲,只是睫毛颤了颤,视线顺着我的动作往下落,瞳孔微微放大,像在无声地确认接下来会发生什么。
<br><br>
我慢慢往前,把肉棒送到她唇边。她先是顿了一下,呼吸热热地喷在我皮肤上,然后唇瓣轻轻张开,舌尖试探性地碰了碰,像在适应这份亲密的重量。她的手从床单上抬起来,一只扶住我的大腿,指尖微微用力,像在稳住自己,也像在稳住我。
<br><br>
她开始动,动作起初很慢,很轻——只是用嘴唇包裹住龟头,舌面缓缓滑过,带着一点小心翼翼的试探。温热的口腔包裹上来,那种湿软的触感瞬间让人头皮发麻。我低头看她,她眼睛闭上了,长睫毛在眼睑上投下阴影,脸颊因为用力而微微鼓起,偶尔从鼻腔里漏出细碎的、闷闷的鼻音。
<br><br>
渐渐地,她节奏加快了些。头微微前后移动,舌尖在敏感的地方打着圈,偶尔用牙齿轻轻刮一下,又立刻用唇瓣安抚过去。她的手也没闲着,一只握住根部,配合着嘴里的动作轻抚,另一只还扣在我大腿上,指甲因为用力而微微陷进肉里。她的呼吸越来越乱,从鼻子里挤出来,带着一点湿热的颤音。喉咙深处偶尔发出低低的、含糊的呜咽,像被堵住又忍不住想溢出来。唾液从唇角滑落,顺着下巴往下淌,在晨光里亮晶晶的。
<br><br>
她没停,只是更用力地含住肉棒,舌头卷着龟头,像要把所有注意力都集中在这一刻。我伸手插进她发丝里,指尖轻轻扣住她的后脑,不是强迫,只是顺着她的节奏,感受她每一次前后移动带来的震颤。她的胸口起伏得更剧烈,睡衣彻底滑落,露出两点挺立的粉红,随着身体的晃动轻轻颤着。
<br><br>
她忽然睁开眼,视线往上抬,湿漉漉的瞳孔对上我的眼睛。那一眼带着点羞涩,又带着点挑衅,像在说“看你能忍多久”。然后她故意放慢了动作,舌尖只在最敏感的地方打转,唇瓣收紧,吸吮得又慢又重。我喉结滚了滚,低低地喘了一声,手指在她发间收紧。她像是得到了鼓励,嘴角弯起一点弧度,又加快了节奏,头前后移动得更流畅,喉咙深处发出细碎的、湿润的声响。
|EN|
Yua lay back on the bed. Morning light leaked through the narrow window, falling across her face and casting delicate shadows from her eyelashes. Her eyes were half-open, hazy with sleep, and the corners of her lips still bore the red traces of my kisses. The blanket had long since slid aside; only that wrinkled sleepwear hung off her shoulder, her chest rising and falling gently with her breath.
<br><br>
I knelt beside her and leaned down. My palm brushed over her cheek first, the pad of my finger grazing her moist lower lip. She didn't pull away; her lashes merely fluttered. Her gaze followed my movement downward, her pupils dilating slightly, as if silently confirming what was about to happen.
<br><br>
I moved forward slowly, bringing my cock to her lips. She paused for a moment, her hot breath fanning against my skin, before her lips parted gently. Her tongue tip touched it tentatively, as if adjusting to this intimate weight. Her hand lifted from the sheets to rest on my thigh, fingertips pressing in slightly—as if to steady herself, or perhaps to steady me.
<br><br>
She began to move. At first, it was slow and light—just her lips wrapping around the head, the flat of her tongue sliding slowly over it with careful exploration. The warmth of her mouth enveloped me, that wet, soft sensation instantly sending a tingle through my scalp. I looked down at her. Her eyes were closed, long lashes casting shadows on her lids. Her cheeks hollowed slightly with the effort, and occasionally, soft, muffled sounds escaped through her nose.
<br><br>
Gradually, her rhythm quickened. Her head bobbed slightly back and forth, the tip of her tongue swirling over the sensitive spots. Occasionally, she’d graze me lightly with her teeth, only to immediately soothe it with her lips. Her hands weren't idle either. One grasped the base, stroking in time with the movement of her mouth, while the other remained gripped on my thigh, her nails digging slightly into my flesh. Her breathing grew more erratic, forced out through her nose, carrying a wet, heated tremor. Low, muffled whimpers occasionally rose from the back of her throat, sounding like they were blocked but desperate to escape. Saliva slipped from the corner of her mouth, trailing down her chin, glistening in the morning light.
<br><br>
She didn't stop; instead, she sucked harder, her tongue curling around the head as if focusing all her attention on this single moment. I reached out and threaded my fingers through her hair, gently cupping the back of her head. It wasn't to force her, but simply to follow her rhythm, feeling the vibration of every movement. Her chest heaved more violently. Her sleepwear slipped off completely, revealing two erect pink points that trembled gently with the motion of her body.
<br><br>
She suddenly opened her eyes, gazing upward, her moist pupils locking onto mine. That look held a hint of shyness, but also a touch of defiance, as if asking, "Let's see how long you can last." Then, she deliberately slowed her movements. The tip of her tongue swirled only around the most sensitive spot, her lips tightening to suck slowly and heavily. My Adam's apple bobbed. I let out a low gasp, my fingers tightening in her hair. Taking this as encouragement, the corner of her mouth curved up slightly. She picked up the pace again, her head bobbing more fluidly, while small, wet sounds resonated from deep within her throat.
<</lang>>
<<set _action = setup.t("插入|Push In")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/in'>>
<br><br>
<<lang>>
我俯下身,膝盖将她的大腿撑开,内裤扒到一侧,先是用龟头在她最柔软的唇瓣间缓缓来回摩挲。她的小穴已经湿润,温热的触感顺着皮肤渗过来,每一次轻蹭都让她的腰肢不由自主地轻颤一下。她没出声,只是睫毛颤得更厉害,唇被自己咬住,喉咙里偶尔漏出一声极轻的、压抑的鼻音。
<br><br>
润滑足够后,我稍稍调整角度,肉棒对准那片温热的入口,慢慢往前推进。不是急切的占有,而是那种缓慢的、几乎折磨人的深入——先是龟头一点点挤开小穴柔软的褶皱,她立刻绷紧了身体,双手本能地抓住我的手臂,指甲微微陷进肉里,又很快松开,像怕真的伤到我。
<br><br>
我低头看她,她眼睛半睁半闭,瞳孔湿漉漉地映着我的影子,脸颊烫得像要烧起来。唇瓣张开,呼吸碎成一片一片,每一次吸气都带着细微的颤音。我继续往前,一寸一寸地填满她,直到完全贴合。她整个人弓起来,脊背离开床面,喉咙里溢出一声长长的、带着哭腔的呜咽,像终于忍不住了。
<br><br>
我停在那里不动,让她适应这份饱胀感。她的内壁紧紧裹住我,温热而湿润,每一次细微的收缩都像在无声地回应。她的腿缠上来,脚踝交叉在我腰后,脚跟抵着我的后背,把我往她身体里按得更深,像怕我抽离,又像在乞求更多。
|EN|
I leaned down, using my knees to spread her thighs and pulling her panties to the side. I began by slowly rubbing the head back and forth between her softest lips. Her pussy was already wet; the warm sensation seeped through my skin, and every gentle brush made her waist tremble involuntarily. She didn't make a sound, but her lashes fluttered more violently. She bit her lip, and occasionally a very faint, suppressed whimper leaked from her throat.
<br><br>
Once there was enough lubrication, I adjusted my angle slightly, aligned my cock with that warm entrance, and slowly pushed forward. It wasn't an urgent possession, but a slow, almost torturous penetration—first, the head pushed apart the soft folds of her pussy bit by bit. She immediately tensed up, her hands instinctively grabbing my arms. Her nails dug slightly into my flesh but quickly relaxed, as if afraid of actually hurting me.
<br><br>
I looked down at her. Her eyes were half-open, her moist pupils reflecting my shadow, and her cheeks burned as if they were on fire. Her lips were parted, her breath breaking into fragments, every inhalation carrying a subtle tremor. I continued forward, filling her inch by inch until we were completely flushed against each other. She arched her entire body, her back leaving the bed, and a long, sobbing whimper spilled from her throat, as if she finally couldn't hold it back any longer.
<br><br>
I stopped there, holding still to let her adjust to the fullness. Her inner walls wrapped tightly around me, warm and wet, every tiny contraction feeling like a silent response. Her legs wrapped around me, ankles crossing behind my waist. Her heels pressed against my back, pushing me deeper into her body, as if afraid I would pull away, or perhaps begging for more.
<</lang>>
<<set _action = setup.t("传教士|Missionary")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/chuanjiao'>>
<br><br>
<<lang>>
我开始动,起初很慢,很轻——只是浅浅地退出一点,再缓缓推进。她的腰肢跟着节奏起伏,每一次撞击都让她的胸口轻轻晃动,睡衣彻底滑落,露出两点挺立的粉红,随着身体的晃动颤颤巍巍。汗意从她颈侧渗出来,顺着锁骨往下淌,在晨光里亮晶晶的。
<br><br>
节奏渐渐加快,她的手从我的手臂移到后颈,指尖扣住我的头发,用力得几乎要扯疼。她的呼吸越来越乱,越来越重,从胸腔深处挤出来,夹杂着细碎的、破碎的喘息。偶尔从唇缝里漏出短促的呜咽,像被撞碎的叹息,又像在求饶。
<br><br>我低头吻住她,把那些声音全都吞进嘴里。舌尖缠绕,带着一点急切。她回应得更热烈,腰肢迎上来,内壁一次次收紧,像要把我整个吸进去。
|EN|
I began to move. At first, it was slow and light—just withdrawing shallowly before slowly thrusting back in. Her hips rose and fell in time with the rhythm. Every impact made her breasts sway gently. Her sleepwear slipped off completely, revealing two erect pink points that trembled with the movement of her body. A sheen of sweat broke out on the side of her neck, trickling down her collarbone, glistening in the morning light.
<br><br>
The rhythm gradually quickened. Her hands moved from my arms to the back of my neck, her fingers tangling in my hair and gripping hard enough to almost hurt. Her breathing grew increasingly erratic and heavy, forced out from deep within her chest, intermingled with fragmented, broken gasps. Occasionally, short whimpers escaped from between her lips—sounding like shattered sighs, or perhaps pleas for mercy.
<br><br>
I lowered my head to kiss her, swallowing all those sounds into my mouth. Our tongues entwined, carrying a hint of urgency. She responded even more fervently, her hips rising to meet mine, her inner walls tightening again and again as if trying to swallow me whole.
<</lang>>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/houru'>>
<br><br>
<<lang>>
Yua还沉浸在刚才的余韵里,呼吸还没完全平复。我双手扶住她的腰,轻轻一翻,她顺势就趴了下去,脸埋进枕头,长发散乱地披在背上,像一幅凌乱却诱人的画。她没抗拒,只是膝盖本能地往前挪了挪,右腿弯成弓字形,膝盖抵着床单,小腿往外张开,露出大腿内侧那片温热的皮肤。臀部微微翘起,腰往下塌出一个自然的弧度,像在无声地邀请,又像只是因为身体还软着而自然形成的姿势。
<br><br>
我俯下身,从后面贴上去,胸口压在她背上,双手撑在她身侧,把她整个圈在怀里。她的脊背紧贴着我,汗意混在一起,黏腻又滚烫。呼吸喷在她耳后,她立刻颤了一下,喉咙里溢出一声闷闷的、带着鼻音的哼唧。我调整角度,从身后缓缓推进。小穴的入口还湿润着,温热的褶皱一点点被撑开,她整个人往前弓了一下,又被我手臂圈住腰拉回来。推进的那一刻,她指尖死死扣进床单,指节泛白,关节因为用力而发抖。喉咙深处挤出一声长长的、压抑的呜咽,像被填满的饱胀感让她一下子失了力气。我开始动,起初很慢,很深——每一次都退到边缘,再重重顶进去,让她感受到那种被完全占有的重量。她的腰肢跟着节奏起伏,臀部本能地往后迎合,每一次撞击都让她的身体跟着晃动,胸口贴着床单摩擦,发出细碎的、湿润的声响。右腿弓得更开,像在帮我找更贴合的角度。
<br><br>
我渐渐加快节奏,她的手臂支撑不住,整个人往前塌下去,只剩脸埋进枕头,臀部却还高高翘着,迎合着每一次深入。她的呜咽越来越频繁,尾音拖得长长的,像在求饶,又像在乞求更多。终于,她整个人猛地一颤,脊背绷成铁弓,右腿绷直了又软下去,指尖几乎要撕开床单。她软下去,像被抽空了力气,趴在那里大口喘息,肩膀剧烈起伏,汗水把发丝黏成一缕缕贴在脸颊上。我伏在她背上,手臂环住她的腰,听着她耳边凌乱的心跳,一下比一下重,和我的混在一起,分不清谁的更快。
|EN|
Yua was still basking in the afterglow of what just happened, her breathing not yet fully settled. I held her waist and gently turned her over. She went with the motion, lying prone with her face buried in the pillow, her long hair scattered across her back like a messy but alluring painting. She didn't resist; her knees simply moved forward instinctively. Her right leg bent at an angle, knee pressing against the sheet and calf opening outward, exposing the warm skin of her inner thigh. Her hips lifted slightly, her waist dipping into a natural arch—like a silent invitation, or perhaps just a natural pose because her body was still so pliable.
<br><br>
I lowered my body and pressed against her from behind, my chest crushing against her back, hands planted on either side of her, effectively encircling her in my arms. Her spine pressed tight against me; our sweat mixed together, sticky and scalding. As my hot breath fanned behind her ear, she trembled immediately, a muffled, nasal whimper escaping her throat. I adjusted my angle and slowly thrust inside from behind. The entrance to her pussy was still wet, the warm folds being stretched apart bit by bit. She arched forward, but I hooked my arm around her waist and pulled her back. The moment I pushed in, her fingertips dug desperately into the sheets, knuckles turning white and joints shaking with the exertion. A long, suppressed sob squeezed out from deep within her throat, as if the sensation of being completely filled had drained her of all strength. I began to move. At first, it was slow and deep—retreating to the brink each time before driving back in heavily, letting her feel the full weight of being possessed. Her waist rose and fell with the rhythm, her hips instinctively pushing back to meet me. Every impact made her body shake, her chest sliding against the sheets and creating small, wet sounds. She opened her right leg wider, as if helping me find an even better fit.
<br><br>
I gradually picked up the pace. Her arms couldn't support her any longer, and she collapsed forward, face buried in the pillow, though her buttocks remained lifted high, meeting every deep thrust. Her whimpers grew more frequent, the tail ends dragging out long, sounding like she was begging for mercy, or perhaps begging for more. Finally, her entire body gave a violent shudder. Her spine went taut as a drawn bow, her right leg straightening stiffly before going limp, her fingertips almost tearing through the sheets. She collapsed, as if drained of all strength, lying there panting heavily, her shoulders heaving violently. Sweat plastered strands of hair to her cheek. I lay on her back, arms wrapped around her waist, listening to the chaotic heartbeat in her ears—each beat heavier than the last, mixing with mine until I couldn't tell whose was faster.
<</lang>>
<<set _action = setup.t("女上位|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/nvshang'>>
<br><br>
<<lang>>
Yua喘息渐渐平复下来,刚才那阵剧烈的颤栗像潮水退去,只剩身体里残留的余温。她趴在我身上好一会儿,脸埋在我颈窝,呼吸热热地喷在皮肤上,像在借着我的体温慢慢回神。
<br><br>
然后,她忽然动了。双手撑在我胸口,用力一推,我就顺势仰躺下去,枕头陷进后脑。她没给我反应的时间,直接跨坐上来,双膝跪在我腰两侧,右腿还带着刚才弓字形的余韵,微微弯曲着贴近我的身体。睡衣早就滑到腰间,胸口完全敞开,汗水在锁骨和乳沟间亮晶晶地闪着光。她低头看我一眼,眼睛里还带着刚缓过来的迷雾,却又多了一丝平日里战斗时才有的锐利和掌控感。
<br><br>
三年末世,刀光血影里练出来的身姿和耐力,此刻全化作她腰肢的柔韧和节奏。她双手按在我肩上,指尖微微用力,像在稳住自己,也像在宣示主导。她慢慢往下坐,先是用小穴最柔软的地方在我的龟头上轻轻蹭了蹭,带着一点故意折磨的意味。那里还湿润着,温热的触感顺着皮肤渗过来,让我忍不住低哼了一声。她嘴角弯起一点笑,带着点得逞的坏,又带着点温柔。然后她调整角度,缓缓往下沉。小穴被肉棒一点点撑开,她自己控制着深度和速度——不是急切的吞没,而是那种缓慢的、几乎让人发疯的深入。她的内壁紧紧裹住我,每一寸推进都让她自己颤一下,喉咙里溢出细碎的、压抑的鼻音。但她没停,腰肢稳稳地往下,直到完全贴合。
<br><br>
那一刻,她整个人顿住,脊背绷直,胸口剧烈起伏,长发垂下来,扫过我的脸和胸口,像丝绸般痒。她闭着眼,睫毛湿漉漉地颤动,唇被自己咬住,像在适应这份饱胀感,也像在享受掌控一切的快感。接着,她开始动。起初很慢,很深——腰肢前后摇摆,像在画圈,每一次都让最敏感的地方被充分摩擦。她的大腿肌肉因为常年奔跑和格斗而结实有力,膝盖稳稳撑在床垫上,支撑着她上下起伏的节奏。汗水从她额角滑下来,顺着鼻梁滴到我胸口,滚烫。节奏渐渐加快,她双手从我肩上移到胸口,指尖掐进皮肤,留下浅浅的红痕,像在借力,也像在标记。她腰肢的摆动越来越流畅,越来越有力,每一次坐下都带着撞击的闷响,臀部撞到我大腿根的声响在车库里回荡,混着她从胸腔深处挤出的、越来越碎的喘息。她的胸口随着动作晃动,挺立的粉红在晨光里颤颤巍巍。
<br><br>
她忽然俯下身,双手撑在我耳侧,长发像帘子垂下来,遮住我们两人的脸。她低头吻我,舌尖缠绕得又急又乱,像要把刚才被我主导的份都讨回来。腰肢没停,继续前后摇摆,内壁一次次收紧,像要把我整个吸进去。她的呼吸乱成一片,从唇缝里漏出的呜咽带着哭腔,却又带着一种征服的满足。汗水混在一起,顺着她的脊背往下淌,也顺着我的小腹往下淌,黏腻又滚烫。她忽然绷紧全身,腰肢猛地往下坐到底,整个人弓成一道弧,喉咙里发出一声长长的、破碎的呜咽。
|EN|
Yua's breathing gradually calmed. The violent tremors from moments ago receded like a tide, leaving only the lingering warmth within her body. She lay on top of me for a good while, face buried in the crook of my neck, her hot breath fanning against my skin as if she were using my body heat to slowly come back to her senses.
<br><br>
Then, she moved suddenly. Placing her hands on my chest, she gave a firm push. I followed the momentum and lay back, the back of my head sinking into the pillow. She didn't give me time to react, straddling me directly. Kneeling on either side of my waist, her right leg still held the echo of its previous arched position, bent slightly as it pressed close to my body. Her sleepwear had long since slipped down to her waist, leaving her chest completely exposed. Sweat glistened brightly between her collarbone and cleavage. She looked down at me. Her eyes still held the haze of recovery, but now there was an added glint of sharpness and control—the kind I usually only saw in combat.
<br><br>
Three years of the apocalypse, a physique and endurance forged in blood and steel—all of it now translated into the flexibility and rhythm of her waist. Her hands pressed onto my shoulders, fingertips digging in slightly—as if to steady herself, or perhaps to declare dominance. She lowered herself slowly, first using the softest part of her pussy to rub gently against the head, carrying a hint of deliberate torture. It was still wet there; the warm sensation seeped through my skin, making me let out an involuntary low groan. The corner of her mouth curved into a smile—a little mischievous with success, yet also tender. Then she adjusted her angle and sank down slowly. Her pussy stretched open bit by bit to accommodate the cock. She controlled the depth and speed herself—not an urgent swallowing, but a slow, almost maddening penetration. Her inner walls wrapped tightly around me. Every inch of progress made her tremble, and fragmented, suppressed nasal sounds spilled from her throat. But she didn't stop; her waist lowered steadily until we were completely flush.
<br><br>
In that moment, she froze. Her spine straightened, her chest heaving violently. Her long hair hung down, brushing against my face and chest, itching like silk. Her eyes were closed, lashes fluttering damply. She bit her lip, as if adapting to the fullness, or perhaps enjoying the thrill of controlling everything. Then, she began to move. At first, it was slow and deep—her waist rocking back and forth, moving in circles, ensuring the most sensitive spots were fully frictioned with every motion. Her thigh muscles, toned by years of running and fighting, were firm and powerful. Her knees planted steadily on the mattress, supporting the rhythm of her rising and falling. Sweat slid from her temple, dripping down the bridge of her nose onto my chest—scalding hot. The rhythm gradually accelerated. Her hands moved from my shoulders to my chest, fingertips digging into the skin and leaving faint red marks—as if borrowing strength, or perhaps marking me. The swaying of her waist became more fluid, more powerful. Every descent carried the thud of impact; the sound of her buttocks hitting the base of my thighs echoed in the garage, mixing with the increasingly fragmented gasps squeezed from deep within her chest. Her breasts swayed with the movement, the erect pink points trembling in the morning light.
<br><br>
She suddenly leaned down, hands planting beside my ears. Her long hair fell like a curtain, shielding both our faces. She lowered her head to kiss me, our tongues tangling urgently and chaotically, as if she wanted to reclaim everything from when I had been in the lead. Her waist didn't stop; she continued rocking back and forth, her inner walls tightening again and again, as if trying to suck me in completely. Her breathing was a mess. The whimpers leaking from between her lips sounded like sobbing, yet held a satisfaction of conquest. Our sweat mingled, running down her spine and trickling down my lower abdomen—sticky and boiling hot. Suddenly, her whole body tensed. She slammed her hips down to the very base, arching her body into a bow, and a long, shattered whimper tore from her throat.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/qichang0/cum'>>
<br><br>
<<lang>>
我忽然觉得胸口像被什么点燃了,再也忍不住。双手扣住她的腰,用力一翻,她整个人就被我压回床上,仰躺着,长发散乱地铺在枕头上,眼睛半睁,瞳孔里还残留着刚才的迷雾和笑意。我膝盖撑在她两侧,低头吻住她,把她所有的喘息都堵进嘴里。腰肢猛地往前一顶,肉棒深深埋进去。她立刻绷紧全身,双手本能地抓住我的后背,指甲掐进肉里,喉咙里溢出一声短促的、带着哭腔的呜咽。
<br><br>
我开始动,节奏又快又狠——每一次都重重撞到底,再几乎完全抽出,只剩龟头卡在入口,然后又猛地顶进去。她的腰肢被撞得跟着起伏,胸口剧烈晃动,挺立的粉红在晨光里颤颤巍巍。床板发出细碎的吱呀声,混着她从唇缝里漏出的、越来越碎的喘息。汗水从我额角滑下来,滴在她锁骨上。她眼睛闭紧,睫毛湿漉漉地颤动,唇被自己咬得发白,却又忍不住张开,发出细碎的、破碎的呜咽,像在求饶,又像在乞求更猛烈一点。
<br><br>
狠狠的抽插几下之后,我感觉临界点到了。猛地抽出肉棒,膝盖往前挪,把肉棒送到她唇边。她还没完全回神,只是本能地张开嘴,舌尖轻轻碰了碰。下一秒,我低低喘了一声,所有积攒的热流都涌出来,一股股射进她温热的口腔里。她喉咙动了动,像在吞咽,又像只是被呛到。唇角溢出一点白浊,顺着下巴滑下来,在晨光里亮晶晶的。
<br><br>她没躲,只是闭着眼,睫毛颤颤地眨了几下,脸颊烫得像要烧起来。舌尖还轻轻卷着,像在帮我清理最后一点残留。我伏在她身上,大口喘息,手掌抚过她的脸颊,指腹蹭掉她唇角的那点痕迹。她终于睁开眼,视线湿漉漉地对上我,带着一点羞涩,又带着一点得逞的笑。
<<yua>>(唇瓣动了动,声音哑哑的,带着鼻音)……你这家伙……真不客气。<</yua>>
她伸手环住我的脖子,把我拉下来,额头抵着额头。呼吸还乱着,却慢慢平复下来。
<br><br>
我们就这样静静贴着,听着彼此的心跳,一下比一下慢,和车库外偶尔吹过的风声混在一起。三年末世,外面是荒凉和危险,但这一刻,我们谁也没动,只是抱着,像要把所有温度都锁在彼此身上,再不放开。
<br><br>
新的一天,又开始了!
|EN|
I suddenly felt as if a fire had been lit in my chest, and I couldn't hold back any longer. I gripped her waist and flipped her over with force. She was pressed back onto the bed, lying supine, her long hair sprawled messily across the pillow. Her eyes were half-open, her pupils still holding the haze and amusement from moments ago. I braced my knees on either side of her, lowered my head to kiss her, sealing all her gasps within my mouth. My hips drove forward violently, burying my cock deep inside. She immediately tensed her whole body, her hands instinctively grabbing my back. Her nails dug into my flesh, and a short, sobbing whimper spilled from her throat.
<br><br>
I began to move, the rhythm fast and ruthless—each time slamming to the hilt, then withdrawing almost completely, leaving only the head caught at the entrance before driving back in with force. Her waist rose and fell with the impact, her chest shaking violently, the erect pink points trembling in the morning light. The bedboards creaked, mixing with the increasingly fragmented gasps leaking from her lips. Sweat slid from my temple, dripping onto her collarbone. Her eyes were squeezed shut, lashes fluttering damply. She bit her lip until it turned white, yet couldn't help parting them to let out broken whimpers—sounding like she was begging for mercy, or perhaps begging for it to be even harder.
<br><br>
After a few savage thrusts, I felt the breaking point arrive. I pulled out abruptly, shuffled my knees forward, and brought my cock to her lips. She hadn't fully recovered yet; she simply opened her mouth instinctively, her tongue tip touching it lightly. The next second, I let out a low gasp, and all the accumulated heat surged out, shooting wave after wave into her warm mouth. Her throat worked, as if swallowing, or perhaps just choking slightly. A bit of white fluid spilled from the corner of her lips, sliding down her chin, glistening in the morning light.
<br><br>
She didn't pull away. She just closed her eyes, eyelashes fluttering, her cheeks burning hot. Her tongue curled gently, as if helping me clean up the last remnants. I collapsed over her, panting heavily. My palm brushed her cheek, thumb wiping away that trace from the corner of her mouth. She finally opened her eyes, her wet gaze meeting mine, holding a hint of shyness but also a triumphant smile.
<<yua>>(Her lips moved, voice husky and nasal) ...You... really didn't hold back.<</yua>>
She reached up to wrap her arms around my neck, pulling me down until our foreheads rested against each other. Our breathing was still chaotic, but slowly settling.
<br><br>
We stayed like that, quietly pressed together, listening to each other's heartbeats slow down beat by beat, mingling with the occasional sound of the wind outside the garage. Three years of the apocalypse; outside was desolation and danger. But in this moment, neither of us moved. We just held on, as if trying to lock all our warmth within each other, never to let go.
<br><br>
A new day has begun!
<</lang>>
<br>
<<set $player.yuwang to 0>>
<<set $characters.yua.sexCount += 1>>
<<updateCaptionInfo>>
[[Home]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<video 'yua/xizao0/xi'>>
<br><br>
<<lang>>
我们的小屋终于多了一个勉强能叫“浴室”的角落——用加工后的木板和旧水管拼凑出来的淋浴区,角落里勉强塞进了那个我刚捡回来的浴缸,水是从屋顶接雨水过滤后加,用旧电池发电加热的。热水不算多,但够泡一次奢侈的澡。
<br><br>
Yua一看到那桶冒着热气的泡泡水,眼睛就亮了。她甚至没等我把最后一块隔板钉好,就推开我。
<<yua>>(脸上挂满笑容)我先来!憋了太久了!<</yua>>
她走进那块用旧帘子围起来的小空间,门帘一拉,里面传来布料摩擦的声音。睡衣、短裤、内裤一件件被随意扔到帘子外,落在水泥地上,叠成一小堆。接着是轻微的水声,和她低低的、满足的叹息。她跪坐在地上,把泡沫挤在手上,先从肩膀开始抹。泡沫在皮肤上堆积,像一层轻薄的白云,慢慢往下蔓延。她的动作不急,带着一种难得的悠闲,指尖在锁骨上打圈,再顺着胸口的曲线滑下去,泡沫顺着乳沟往下淌,亮晶晶的。水面荡起细小的波纹,她把更多泡沫涂到小腹、大腿内侧,甚至弯下腰,把泡沫抹到臀部和大腿根。跪坐的姿势让她的脊背绷出一道柔美的弧,腰窝那里积了点泡沫,顺着往下流,像一条细细的白色小溪。
<<yua>>(笑着自言自语)……终于能像个人一样洗澡了。<</yua>>
她低头吹了吹手上的泡沫,泡沫堆得越来越多,她干脆整个人坐进桶里,水没过胸口,只剩肩膀和膝盖露在外面。热气升腾,把她的脸熏得微微泛红,长发湿了些,贴在颈侧。她闭上眼,头往后靠在桶沿,长长地呼出一口气,像把这些年来的尘土、血腥和疲惫都随着这口气吐了出去。
<br><br>
她伸手在水里捞起一把泡沫,举到眼前,看着它在指间慢慢破裂,然后轻轻抹到脸上。泡沫沾在睫毛上,她眨眨眼,笑出声来。那声音在狭小的浴室里回荡,带着一点孩子气的开心,又带着一点劫后余生的温柔。帘子外,我听着水声和她偶尔发出的小声哼歌,胸口忽然热热的。我们终于有了一个能泡澡的地方,哪怕只是个拼凑的浴室,哪怕热水只够用一次。
<<yua>>(忽然从里面喊)喂……你不进来一起泡吗?水还热着呢。<</yua>>
|EN|
Our little shelter finally had a corner that could barely be called a "bathroom"—a bathing area cobbled together from processed planks and old pipes. I had managed to squeeze in the bathtub I just scavenged. The water was filtered rainwater collected from the roof, heated using old batteries. There wasn't much hot water, but it was enough for one luxurious bath.
<br><br>
Yua's eyes lit up the moment she saw the tub filled with steaming, bubbly water. She didn't even wait for me to nail the last partition board in place before pushing me aside.
<<yua>>(Beaming) Me first! It's been way too long!<</yua>>
She stepped into the small space enclosed by an old curtain. With a swish of the curtain, the sound of fabric rustling came from inside. Her sleepwear, shorts, and panties were tossed out one by one, landing on the concrete floor to form a small pile. Then came the soft sound of water and a low, satisfied sigh. She knelt on the floor, squeezing foam onto her hands and starting with her shoulders. The foam piled up on her skin like a layer of thin white clouds, slowly spreading downward. Her movements were unhurried, carrying a rare sense of Saikasure. Her fingertips circled her collarbones, then slid down the curve of her breasts, the foam trickling down her cleavage, glistening in the light. Tiny ripples disturbed the water's surface as she applied more foam to her lower abdomen and inner thighs, even bending forward to spread it over her buttocks and the base of her thighs. Her kneeling posture arched her back into a beautiful curve; a bit of foam gathered in the small of her back, flowing down like a thin white stream.
<<yua>>(Laughing to herself) ...Finally, I can bathe like a human being.<</yua>>
She lowered her head to blow the foam from her hands. As the bubbles piled up, she simply slid her whole body into the tub. The water submerged her chest, leaving only her shoulders and knees exposed. The rising steam flushed her face a soft pink, and her damp hair clung to the side of her neck. She closed her eyes, leaned her head back against the rim of the tub, and exhaled a long breath—as if expelling years of dust, bloodshed, and exhaustion along with it.
<br><br>
She scooped up a handful of foam, holding it before her eyes to watch the bubbles slowly pop between her fingers, then gently wiped it onto her face. Foam clung to her eyelashes; she blinked and laughed aloud. The sound echoed in the cramped bathroom, carrying a childish delight mixed with the tenderness of survival. Outside the curtain, listening to the splashing water and her occasional soft humming, my chest felt suddenly warm. We finally had a place to bathe, even if it was just a cobbled-together bathroom, and even if the hot water was only enough for one go.
<<yua>>(Suddenly calling out from inside) Hey... aren't you coming in to join me? The water's still hot.<</yua>>
<</lang>>
<div id="bath-options">
<<set _action = setup.t("一起洗澡|Take a shower together")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
我脱光衣服,走进浴室,Yua拍拍椅子,示意我坐下,然后她从对面挪过来,跪坐在我面前。
<br><br>
<<video 'yua/xizao0/yiqixi'>>
<br><br>
她先低头在自己手上挤了一大团泡沫,然后双手捧起自己的胸,把泡沫均匀地涂抹上去。泡沫在皮肤上堆积,裹住那两团柔软,亮晶晶的,像镀了一层白纱。她动作不急,带着一点故意慢的意味,指尖在乳晕周围打圈,泡沫越抹越多,顺着曲线往下流。
<br><br>
然后她往前倾身,把胸口贴到我身上。先是从我的胸膛开始,缓缓地上下滑动,用那裹满泡沫的柔软在我皮肤上涂抹。温热的触感混着泡沫的滑腻,每一次摩擦都带着轻微的按摩力道——她故意用胸口的弧度压住我的胸肌,左右摇晃,像在用身体给我做最亲密的清洗。
<<yua>>舒服吗?好久没这么好好洗过了……<</yua>>
她声音低低的,带着水汽和一点懒散的鼻音。泡沫在她胸前被挤压变形,又在她滑动时重新涂开,滑到我的小腹,再往上回到胸口。她的呼吸喷在我颈侧,热热的,带着泡沫的清香。她将整个身体都扔在我身上,腰肢微微扭动,让胸口的按摩更有节奏——时轻时重,时而用乳尖轻轻刮过我的皮肤,时而整团压下来,像要把泡沫和温度都揉进我身体里。
|EN|
I stripped naked and walked into the bathroom. Yua patted the chair, signaling for me to sit down. Then, she shifted over from across me and knelt in front of me.
<br><br>
<<video 'yua/xizao0/yiqixi'>>
<br><br>
She first lowered her head and squeezed a large dollop of foam onto her hands, then cupped her breasts with both hands to spread the foam evenly. The bubbles piled up on her skin, wrapping those two soft mounds and glistening like a plating of white gauze. Her movements were unhurried, carrying a hint of deliberate languor. Her fingertips swirled around her areolas; as the foam built up, it began to cascade down her curves.
<br><br>
Then she leaned forward, pressing her chest against mine. Starting from my chest, she slid slowly up and down, using that foam-covered softness to lather my skin. The warm touch mixed with the slipperiness of the foam, and every rub carried a gentle massaging force—she deliberately pressed the curves of her breasts against my pecs, swaying side to side, as if using her body to give me the most intimate wash.
<<yua>>Does it feel good? It's been so long since we've had a proper wash...<</yua>>
Her voice was low, thick with the humidity and a lazy nasal twang. The foam was squeezed and distorted against her chest, then spread out again as she slid down to my lower abdomen and back up to my chest. Her hot breath fanned against the side of my neck, carrying the fresh scent of the foam. She pressed her entire weight against me, her waist swaying slightly to give the massage a rhythm—sometimes light, sometimes heavy; sometimes grazing my skin with her nipples, sometimes pressing the full weight of her breasts down, as if trying to knead both the foam and her warmth into my body.
<</lang>>
<<set _action = setup.t("胸推|Boobs Push")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao0/xiongtui'>>
<br><br>
<<lang>>
Yua刚才那阵用身体给我涂抹的动作已经让我全身发烫,肉棒早已坚硬如铁,顶在了Yua的小腹上。她低下头,视线落在我已经硬挺起来的肉棒,嘴角立刻弯起一个坏坏的笑。
<br><br>
她弯下腰,又挤了一大团泡沫在手上,先在自己胸前均匀涂抹,这次抹得更厚,泡沫堆得像两团雪白的棉花糖,裹住那两团柔软,亮晶晶的,几乎要溢出来。然后她双手捧着胸,往前倾身,把泡沫直接涂到我硬挺的肉棒上。
<br><br>
指尖先是轻轻绕着我的龟头打圈,然后再用手掌握住肉棒,把泡沫均匀抹开,温热的触感混着滑腻的泡沫,让人头皮瞬间发麻。她没急着动,只是用胸口的弧度贴上来,先从根部开始,缓缓往上滑动。她的乳房软软地压住我,泡沫在皮肤间被挤压变形,又顺着滑动重新涂开。动作不快,却带着一种缓慢的、几乎折磨人的节奏——胸口左右摇晃,乳尖偶尔轻轻刮过敏感的地方,又立刻用柔软的弧度包裹住,像在用身体给我做最亲密的按摩。
<<yua>>这里也要……好好清洗哦。<</yua>>
她忽然俯下身,嘴唇贴到我耳边,热热的呼吸喷在耳廓,声音哑哑的,尾音拖得长长的,像在耳语,又像在命令。
<br><br>
她的长发湿漉漉地垂下来,扫过我的肩膀和胸口,带着泡沫的清香。胸口的按摩没停,反而更用力了些——她双手从两侧托住自己的乳房,把我的肉棒夹在中间,前后滑动,泡沫在肉棒上涂得越来越厚,滑腻的触感混着她体温和胸口的柔软,每一次摩擦都让人腰眼发酸。
|EN|
Yua’s previous movements of using her body to spread the foam over me had already made my whole body flush with heat; my cock was hard as steel, pressing insistently against her soft lower abdomen. She lowered her gaze, eyes landing on my now fully erect shaft, and a naughty, mischievous smile immediately curved her lips.
<br><br>
She bent at the waist, squeezed another large dollop of foam into her hands, and first spread it thickly and evenly across her own chest—this time even more generously, the suds piling up like two fluffy mounds of snow-white cotton candy, encasing those tender, glistening breasts and threatening to overflow. Then, cradling her breasts with both hands, she leaned forward and pressed the foam directly onto my rigid cock.
<br><br>
Her fingertips started by gently circling my glans in slow, teasing loops, then her palm wrapped firmly around the shaft, spreading the foam evenly. The warm sensation combined with the slick, slippery lather sent an immediate tingling rush across my scalp. She didn’t rush into stroking—instead she simply pressed the soft curve of her chest against me, starting from the base and gliding slowly upward. Her breasts pressed softly yet fully against my length; the foam squished and reshaped between our skin with each motion, then spread anew on the return glide. The rhythm was deliberate and unhurried, almost torturously slow—her chest swaying gently from side to side, her nipples occasionally brushing the most sensitive spots before immediately enveloping them again in plush warmth, as if her entire body was delivering the most intimate, lingering massage.
<<yua>>This part… needs to be cleaned very thoroughly too, okay~?<</yua>>
She suddenly leaned in close, lips brushing my ear, hot breath washing over the sensitive skin. Her voice came out low and husky, the final syllable drawn out long and sultry—half whisper, half teasing command.
<br><br>
Her wet hair hung in damp strands, trailing across my shoulders and chest, carrying the clean, fragrant scent of the foam. The breast massage didn’t pause; if anything, it intensified—she cupped her breasts from the sides, trapping my cock snugly between them, then began sliding up and down with more deliberate pressure. The foam coated my shaft thicker with every pass; the slippery glide, mixed with her body heat and the yielding softness of her breasts, sent aching waves of pleasure surging straight to the base of my spine with each stroke.
<</lang>>
<<set _action = setup.t("手推|Hand Job")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao0/shou'>>
<br><br>
<<lang>>
Yua跪坐在我面前,胸口裹满泡沫,刚才那阵胸推已经让我全身紧绷得像拉满的弓。她低头看了一眼我硬挺的地方,眼睛里闪过一丝得逞的笑意,然后伸出手,一只手握住根部,另一只手包裹住前端,开始快速上下撸动。
<br><br>
动作不重,却节奏极快,指尖带着泡沫的滑腻,每一次滑动都精准地摩擦最敏感的地方。她的掌心温热,泡沫在指缝间被挤压成细密的白色泡沫,顺着肉棒往下淌,滴进水里,荡起细小的波纹。
<<yua>>……忍得住吗?<</yua>>
她声音低哑,贴在我耳边,带着一点故意撩拨的鼻音。话音刚落,她又往前倾身,把胸口贴上来。乳尖轻轻扫过龟头,先是左边一下,再右边一下,像羽毛般轻,却带着电流般的刺激。泡沫裹在乳尖上,滑腻的触感混着那点挺立的硬度,每一次轻扫都让我腰眼发酸,呼吸瞬间乱了。
<br><br>
她的手没停,撸动的速度更快了些,指尖偶尔收紧,拇指在龟头上打着圈,配合着胸口的轻扫,像两股力量同时拉扯着我。她的呼吸也跟着乱起来,从鼻子里漏出细碎的、湿热的喘息,胸口随着动作起伏,乳尖一次次扫过,泡沫在两人之间被挤压成白色的细沫。
|EN|
Yua knelt in front of me, her chest thickly coated in foam. The earlier titjob had already left my whole body strung tight like a fully drawn bow. She glanced down at my straining erection, a flash of triumphant mischief lighting up her eyes, then reached out—one hand wrapping firmly around the base, the other cupping the head—before starting to stroke rapidly up and down.
<br><br>
The pressure wasn’t heavy, but the rhythm was relentlessly fast. Her fingertips, slick with foam, glided with perfect precision over the most sensitive spots each time. Her palm radiated warmth; the lather squeezed between her fingers into fine, dense white bubbles that trailed down the shaft, dripping into the water and sending tiny ripples outward.
<<yua>>…Can you hold it together?<</yua>>
Her voice came out low and husky, right against my ear, laced with that deliberate, teasing nasal drawl. The words had barely left her lips before she leaned in again, pressing her chest forward. Her stiff nipples grazed the tip of my cock—first the left side, then the right—like feathers brushing over skin, yet carrying an electric jolt. Foam clung to her nipples, blending the slippery glide with that firm, protruding hardness; each light sweep sent aching pleasure spiking straight to my lower back, my breathing fracturing instantly.
<br><br>
Her hand never slowed—in fact, the strokes grew even quicker. Her fingers occasionally tightened their grip, her thumb circling the glans in tight spirals, perfectly synced with the teasing sweeps of her chest, as though two opposing forces were pulling me apart at once. Her own breathing grew ragged too, tiny, wet, heated pants escaping through her nose. Her chest rose and fell with the motion, nipples dragging across me again and again, the foam between us churning into fine white froth.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao0/cum'>>
<br><br>
<<lang>>
我再也忍不住,腰肢猛地一挺,低低地喘了一声。她的手立刻用力一推,把我推到临界点。热流一股股涌出来,全射在她掌心和胸口上,白浊混着泡沫,顺着她的手指往下淌。
<br><br>
她没立刻松手,只是慢慢放缓动作,指尖轻轻抚过前端,像在帮我清理最后一点残留。胸口还贴着我,乳尖上沾了点白浊,她低头看了一眼,嘴角弯起一个懒懒的笑。
<<yua>>……呼,终于射了啊。感觉好烫……<</yua>>
她声音哑哑的,带着一点满足的鼻音。把沾着白浊的手举到眼前,看了看泡沫和精液混在一起的模样,然后干脆把手指伸进水里冲了冲。胸口上的痕迹也被她用手抹开,混进泡沫里,像什么都没发生过。
我靠在浴缸壁上,大口喘息,胸口起伏得厉害。她往前挪了挪,跪坐着贴近我,把脸埋进我颈窝,笑着小声哼哼。
<<yua>>现在……轮到你帮我洗干净了哦。<</yua>>
浴室里热气氤氲,只剩水声、泡沫破裂的轻响,和我们交缠的呼吸。外面风还在敲铁门,但这一刻,我们谁也没在意。只是泡在热水和泡沫里,像要把所有荒凉都融化,只剩彼此的温度、心跳,和这份难得的、毫无顾忌的亲密。
|EN|
I couldn't hold back anymore. My hips thrust forward violently, and I let out a low gasp. Her hand immediately applied firm pressure, pushing me right over the edge. Hot streams surged out, wave after wave, splashing over her palm and chest. The white fluid mixed with the foam, trickling down her fingers.
<br><br>
She didn't let go immediately. Instead, she slowly relaxed her grip, her fingertips gently brushing over the head as if helping me clean up the last remnants. Her chest was still pressed against me, her nipple stained with a bit of white. She looked down at it, the corners of her lips curling into a lazy smile.
<<yua>>...Phew, you finally let it out. It feels so hot...<</yua>>
Her voice was husky, carrying a satisfied nasal hum. She held her hand up to her eyes, examining the mixture of foam and semen, then simply dipped her fingers into the water to rinse them off. She wiped the traces from her chest, blending them into the lather as if nothing had happened.
I slumped against the wall of the tub, panting heavily, my chest heaving. She scooted forward, kneeling close to me, and buried her face in the crook of my neck, humming a soft laugh.
<<yua>>Now... it's your turn to wash me clean.<</yua>>
The bathroom was filled with curling steam, leaving only the sound of water, the soft popping of bubbles, and our intertwined breathing. Outside, the wind still rattled the iron door, but in this moment, neither of us paid it any mind. We just soaked in the hot water and foam, as if to melt away all the desolation, leaving only each other's warmth, heartbeats, and this rare, unreserved intimacy.
<</lang>>
<br><br>
<<set $player.yuwang to 0>>
<<set $characters.yua.sexCount += 1>>
<<updateCaptionInfo>>
[[Leave|yua]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</replace>>
<</link>>
<<set _action = setup.t("再等等|Wait a little longer")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
我笑了笑,没立刻回答,只是把门帘掀开一条缝,看见她泡在泡沫里,眼睛弯成月牙,脸上还沾着点没冲干净的泡沫,像个刚从梦里醒来的小孩。
<<you>>……再等会儿,我先把热水再加一点。<</you>>
她哼了一声,往水里沉了沉,只剩眼睛和鼻尖露在泡沫外面。浴室里热气氤氲,泡沫轻轻破裂的声音,和她低低的笑声混在一起。
<br><br>-
外面,风还在敲铁门,但这一刻,车库里只有水声、泡沫,和我们终于能喘口气的安静。
|EN|
I smiled and didn't answer right away, simply lifting the curtain a crack to peek inside. I saw her soaking amidst the foam, her eyes curved into crescent moons of delight. There was still a dab of unrinsed foam clinging to her face, making her look like a child just wakin+g from a dream.
<<you>>...Give me a second. Let me top up the hot water first.<</you>>
She let out a huff and sank lower into the water, leaving only her eyes and the tip of her nose exposed above the bubbles. The bathroom was filled with curling steam; the soft sound of bubbles popping mixed with her low laughter.
<br><br>
Outside, the wind was still banging against the iron door, but in this moment, the garage held only the sound of water, the foam, and the quiet peace where we could finally catch our breath.
<</lang>>
<br><br>
[[Leave|yua]]
<</replace>>
<</link>>
</div>
<<xizao>>
<<set $game.zaotang to true>><<set $game.chufang to true>>
<<lang>>
厨房终于建好了。
<br><br>
那天早上,天还没完全亮,窄窗外透进一点灰蓝的光。我醒来时床边已经空了,闻到空气里淡淡的油烟和煎蛋的香味。揉揉眼睛走过去,推开厨房那块用旧门板隔出来的帘子,就看见Yua站在灶前,背对着我,头发随意扎着,身上穿着那件旧T恤和短裤,袖子卷到胳膊肘,腰上系了块从旧布料剪的围裙。她正低头翻动平底锅里的面条。她动作不算熟练,但很认真——切好的葱花、从枢纽城换来的几片火腿肠,全都摆得整整齐齐。我靠在门框上,看着她忙碌的背影,心里忽然热热的,像有什么东西堵在胸口。我们从叛逃那天起就没正经吃过几顿热饭,更别说有人一大早起来给我做早餐。
<br><br>
我故意清了清嗓子,笑着开口。
<<you>>哟,懒猪今天转性了?太阳打西边出来了?<</you>>
<<video 'yua/chufang0/talk'>>
<br><br>
Yua手一顿,锅铲差点掉锅里。她转过头,瞪了我一眼,脸颊被灶火熏得微微红,眼睛却亮亮的,带着一点嗔怪。
<<yua>>讨厌,谁懒猪了!<</yua>>
她把锅铲搁一边,走过来轻轻捶了我胸口一下,又很快收回手,像怕真打疼我。顿了顿,她声音低下来,带着一点认真。
<<yua>>……知道你今天又要出任务。昨晚听你说睡不着,我就想着……至少让你吃饱了再去冒险。万一饿着肚子,反应慢了怎么办?<</yua>>
她说完,低头摆弄了一下锅里的面条,勺子在锅沿上轻轻敲了两下,像在掩饰什么。蒸汽升上来,把她的睫毛熏得湿湿的。
<br><br>
我走过去,从后面环住她的腰,下巴搁在她肩上。她的身体先是僵了一下,又很快放松,靠进我怀里。
<<you>>……傻瓜。<</you>>
她哼了一声,却没推开我,反而把头往后靠了靠,声音闷闷的。
<<yua>>枢纽城的物资供应还算可以,我们挣的积分虽然不多,但每天换点吃的还是够的。鸡蛋、火腿肠、面条……这些都不算稀罕。今天特意多煎了两个蛋,还加了点从上次任务带回来的辣酱。你不是爱吃辣的吗?<</yua>>
她说着,把煎好的蛋盛到盘子里,递到我面前。蛋煎得金黄,边缘微微焦脆,中间蛋黄还颤颤的,像没完全熟透,正好是我喜欢的半熟。我接过盘子,低头在她脸颊上亲了一下。
<<you>>谢谢。吃饱了才有力气回来找你。<</you>>
她脸更红了,转身去盛自己的那份。
<<yua>>(几乎低不可闻的声音)那你是打算先吃饭还是先吃...<</yua>>
|EN|
The kitchen was finally finished.
<br><br>
That morning, the sky wasn’t fully light yet; only a faint gray-blue glow slipped in through the narrow window. When I woke, the bed beside me was already empty. The faint smell of cooking oil and fried eggs drifted through the air. I rubbed my eyes, got up, and pushed aside the curtain made from an old door panel that served as the kitchen divider. There was Yua, standing at the stove with her back to me—hair tied up casually, wearing that old T-shirt and shorts, sleeves rolled to her elbows, and a makeshift apron cut from scrap fabric tied around her waist. She was bent over the frying pan, carefully turning the noodles. Her movements weren’t especially practiced, but they were earnest: neatly chopped green onions, a few slices of ham sausage traded from Hub City, all arranged with care. I leaned against the doorframe, watching her busy silhouette, and suddenly my chest felt warm, something thick blocking my throat. Since the day we defected, we hadn’t had many proper hot meals—let alone someone getting up early to make me breakfast.
<br><br>
I cleared my throat on purpose and spoke with a grin.
<<you>>Yo, lazy pig’s turned over a new leaf today? The sun must be rising in the west.<</you>>
<<video 'yua/chufang0/talk'>>
<br><br>
Yua’s hand froze mid-motion; the spatula nearly slipped into the pan. She turned her head, shot me a glare—cheeks flushed pink from the stove fire, eyes bright and sparkling with mock annoyance.
<<yua>>Jerk! Who’re you calling lazy pig?!<</yua>>
She set the spatula aside, walked over, and gave my chest a light thump—then quickly pulled her hand back, as if afraid she’d actually hurt me. After a pause, her voice softened, turning serious.
<<yua>>…I know you’ve got another mission today. Last night you said you couldn’t sleep, so I thought… at least let you go out on a full stomach. What if you get hungry out there and your reactions slow down?<</yua>>
She finished speaking and lowered her head, fiddling with the noodles in the pan. The spoon tapped lightly against the rim twice, like she was trying to hide something. Steam rose, dampening her lashes.
<br><br>
I stepped forward, wrapped my arms around her waist from behind, and rested my chin on her shoulder. Her body stiffened for a second, then melted back against me.
<<you>>…Silly.<</you>>
She huffed, but didn’t push me away. Instead she leaned her head back against mine, voice muffled.
<<yua>>Hub City’s supply lines are decent enough. The points we earn aren’t much, but they cover daily food swaps—eggs, ham sausage, noodles… nothing too fancy. Today I specially fried two extra eggs and added some of that chili sauce we brought back from the last run. You like spicy stuff, right?<</yua>>
As she spoke, she plated the fried eggs and handed them to me. They were golden, edges slightly crisp, yolks still soft and trembling—half-done, just the way I like them. I took the plate, leaned down, and kissed her cheek.
<<you>>Thanks. Gotta eat well so I have the strength to come back to you.<</you>>
Her face flushed deeper. She turned to serve her own portion.
<<yua>>(almost inaudible whisper) So… are you eating breakfast first, or eating…<</yua>>
<</lang>>
<div id="bath-options">
<<set _action = setup.t("先吃Yua|Yua First")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
她声音低低的,可我还是敏锐的捕捉到了她的情绪。我喉结滚了滚,几乎没犹豫。
<<you>>(趴在她耳边)先吃你。<</you>>
她笑出声,扑过来把我推到沙发上。我顺势坐下,腿微微分开。她没站直,而是跪到地上,脸贴近我的两腿之间,鼻尖几乎蹭到我裤裆。热热的呼吸隔着布料透过来,我瞬间就硬了,裤子被顶起一个明显的弧度。Yua低头一看,嘴角弯起坏坏的弧度。
<br><br>
<<video 'yua/chufang0/tuo'>>
<br><br>
她伸手一把抓住我的裤腰,往下一扯。我的裤子连着内裤一起被拉到膝盖,硬挺的肉棒立刻弹出来,直直对着她。她眼睛亮了亮,没说话,只是先用手指轻轻碰了碰前端,像在确认它的温度和硬度。
|EN|
Her voice was soft and low, but I still caught the subtle shift in her mood sharp and clear. My throat bobbed; I didn’t even hesitate.
<<you>>(leaning close to her ear) You first.<</you>>
She burst into laughter and lunged forward, shoving me down onto the sofa. I let myself fall back, sitting with my legs parting slightly. She didn’t stand back up—instead she dropped to her knees on the floor, her face dipping between my thighs until the tip of her nose was almost brushing my crotch. Hot breath seeped through the fabric; I hardened instantly, the front of my pants tenting into a blatant, straining curve. Yua glanced down, and a wicked, playful smile curved her lips.
<br><br>
<<video 'yua/chufang0/tuo'>>
<br><br>
Her hands shot to my waistband and yanked downward in one swift motion. Pants and boxers came down together to my knees; my rigid cock sprang free, jutting straight toward her. Her eyes lit up, sparkling with interest. She didn’t say a word—just reached out first with gentle fingertips, brushing the very tip as though testing its heat, its firmness.
<</lang>>
<<set _action = setup.t("前戏|Foreplay")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/qianxi'>>
<br><br>
<<lang>>
我们都很急切,像憋了太久的火一下子点着。Yua三两下把自己身上的T恤和短裤扒光,内裤也扔到一边,全身赤裸地跪在我左侧。她的皮肤在晨光里泛着淡淡的粉,长发散下来,扫过我的大腿。
<br><br>
她右手扶住我的肩膀,指尖用力,像在稳住自己,也像在把我固定住。左手直接握住我的肉棒,掌心温热,带着一点刚才做饭时残留的油渍味。她开始上下撸动,节奏不快,却带着一种熟悉的力道——拇指偶尔在龟头打圈,指尖轻轻刮过冠状沟,肆意的撩拨着我的神经。
<br><br>
我也没闲着。左手伸过去,覆上她胸口的柔软。掌心包裹住一侧乳房,指腹揉捏着那团温热的软肉,拇指和食指夹住乳尖,轻轻捻转。她立刻颤了一下,喉咙里溢出一声闷闷的哼唧,胸口往前挺了挺,像在把更多塞进我手里。而右手则顺着她的腰往下滑,指尖掠过小腹,停在她两腿之间。
<br><br>
Yua的小穴已经湿了,我用中指和食指轻轻分开阴唇,指腹在入口处打圈,沾上她的湿意,再缓缓往里探,拇指同时按住那颗肿胀的凸起,轻揉重按。她的内壁温热而紧致,每一次指尖的深入都让她腰肢轻颤,左手撸动的节奏也跟着乱了些。
|EN|
We were both desperate, like a fire that had been smoldering for too long suddenly roaring to life. In just a few quick motions Yua stripped off her T-shirt and shorts, tossing her panties aside too. Completely naked, she knelt to my left. Her skin glowed with a faint pink flush in the morning light, her long hair falling loose and brushing across my thigh.
<br><br>
Her right hand gripped my shoulder, fingers digging in hard—as if steadying herself, or pinning me in place. Her left hand wrapped straight around my cock; her palm was warm, still carrying the faint trace of cooking oil from earlier. She began stroking up and down—not fast, but with that familiar, confident pressure: her thumb occasionally circling the head, fingertips lightly scraping along the coronal ridge, teasing my nerves without mercy.
<br><br>
I wasn’t idle either. My left hand reached over, covering the soft swell of her breast. My palm enveloped one side completely, fingers kneading the warm, yielding flesh; thumb and forefinger pinched her nipple gently, rolling and twisting. She shuddered at once, a muffled, needy hum escaping her throat as her chest arched forward, pressing more of herself into my hand. Meanwhile my right hand slid down along her waist, fingertips gliding over her flat stomach before settling between her thighs.
<br><br>
Yua was already soaked. I used my middle and index fingers to gently part her folds, circling the entrance with my fingertips to gather her wetness, then slowly pushed inside while my thumb pressed firmly against her swollen clit—rubbing lightly, then harder. Her inner walls were hot and tight; every inch my fingers sank deeper made her hips tremble, and the rhythm of her stroking hand faltered, growing erratic.
<</lang>>
<<set _action = setup.t("插入|Push In")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/in'>>
<br><br>
<<lang>>
Yua喘息着爬上来,双膝跪在我腰两侧,长发垂下来,扫过我的胸口。她右手扶住我的肉棒,先在自己湿润的洞口处蹭了蹭,龟头沾上她的湿意,滑腻又滚烫。然后她调整角度,缓缓往下坐。
<br><br>
入口被一点点撑开,她自己控制着深度,腰肢往下沉,直到完全吞没我。内壁温热而紧致,一下子裹住我,让我忍不住低喘了一声。
|EN|
Yua climbed up, breathing hard, her knees settling on either side of my waist. Her long hair draped down, brushing across my chest in soft strands. With her right hand she steadied my cock, first rubbing the head teasingly against her slick entrance—coating it in her wetness, slippery and scorching hot. Then she shifted her hips, finding the right angle, and slowly sank down.
<br><br>
The tight entrance parted gradually under her control; she lowered herself inch by inch, dictating the depth until her hips finally settled flush against mine and she took me completely inside. Her inner walls were hot and impossibly tight, enveloping me in one smooth, overwhelming grip. I couldn’t hold back a low, ragged groan.
<</lang>>
<<set _action = setup.t("女上|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/nvshang'>>
<br><br>
<<lang>>
Yua顿了顿,双手撑在我胸口,指尖微微用力,像在稳住自己。接着,她开始动了起来——腰肢前后摇摆,起初慢而深,每一次坐下都让最敏感的地方被充分摩擦。她的胸口随着节奏起伏,挺立的粉红乳头在晨光里颤颤巍巍,汗意从锁骨往下淌,亮晶晶的。
<<yua>>嗯……好深……<</yua>>
她的声音哑哑的,从喉咙深处挤出来,带着一点哭腔。节奏渐渐加快,臀部撞到我大腿根的闷响在车库里回荡,混着湿润的黏腻声响。她的呼吸越来越乱,越来越碎,偶尔从唇缝里漏出细碎的呜咽,像在压抑,又像忍不住要溢出来。
|EN|
Yua paused for a moment, her hands braced against my chest, fingertips pressing in just enough to steady herself. Then she started to move—her hips rocking back and forth, slow and deep at first. Each downward motion dragged the most sensitive parts along her tight, slick walls in full, deliberate friction. Her breasts rose and fell with the rhythm, the stiff pink nipples trembling delicately in the morning light; beads of sweat trailed from her collarbone downward, glistening like tiny jewels on her skin.
<<yua>>Mmm… so deep…<</yua>>
Her voice came out hoarse and raw, forced from deep in her throat with a faint, trembling cry at the edges. The pace gradually quickened; the muffled slap of her hips meeting the tops of my thighs echoed through the garage, mingling with the wet, slippery sounds of our bodies joining. Her breathing grew more and more erratic—shorter, more fragmented—until little broken whimpers slipped from between her lips, as though she were trying to hold them back but couldn’t quite keep them contained.
<</lang>>
<<set _action = setup.t("女上后入|Reverse Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/nvshangfan'>>
<br><br>
<<lang>>
一会儿,她忽然停下,双手按住我的胸,身体往前倾了倾,然后转过身——背对着我重新坐下来。她的臀部完全展现在我眼前,圆润而结实,常年战斗练出的肌肉线条在晃动时绷紧又放松。双手撑在我大腿上,她开始疯狂上下起伏,像打桩机一样,每一次坐下都重重到底,臀肉撞击的啪啪声清脆又急促。
<br><br>
我的整个视线都被她的大屁股占据——它在我眼前疯狂晃动,上下颠簸,汗水顺着脊柱沟往下淌,滴到我小腹上,滚烫。她的长发甩在背上,随着节奏甩动,像黑色的鞭子。臀部的弧度每一次坐下都挤压变形,又弹起,带着一种原始的、让人血脉偾张的节奏。
<<yua>>啊……要……要到了……<</yua>>
她忽然停下,身体猛地一僵,整个人弓成一道弧。内壁一次次剧烈收缩,裹住我,像要把我整个吸进去。她的臀部死死往下压住我,大腿绷紧,膝盖几乎要滑开。喉咙里发出一声长长的、破碎的呜咽,尾音拖得极长,像哭又像叹。全身颤栗着,从脊背到腿根都在细微地抖动,汗水大颗大颗往下掉。
<br><br>
她软了下去,整个人往后倒入我怀里,双手撑起勾住我的脖子,大口喘息。她肩膀剧烈起伏,长发黏在我身上,湿漉漉的,但她与我对视的目光里,整个眼睛都是亮晶晶的,像天上的星星一样璀璨。
<br><br>
Yua的臀部还贴着我,内壁的余韵还在轻轻抽搐,像在舍不得放开。我伸手扶住她的腰,指尖陷进她湿润的皮肤里。她没立刻起来,只是把头往后靠了靠,声音哑得几乎听不清。
<<yua>>……呼……差点……腿软了……<</yua>>
|EN|
After a while she suddenly stopped, hands pressing firmly against my chest as she leaned forward slightly. Then she turned around—facing away from me now—and sank back down onto me. Her ass was fully on display right in front of my eyes: round, firm, the muscle lines honed from years of combat flexing and releasing with every movement. Bracing both hands on my thighs, she began to bounce wildly up and down like a jackhammer—each descent slamming all the way down, the crisp, rapid slap of her ass cheeks against my hips ringing out sharp and urgent.
<br><br>
My entire field of vision was consumed by her big, perfect ass—shaking furiously before me, bouncing up and down, sweat tracing glistening paths down the groove of her spine and dripping hot onto my lower abdomen. Her long hair whipped across her back in time with the rhythm, snapping like dark lashes. Every time she bottomed out, the full curves of her ass compressed and deformed against me, then sprang back with elastic force, carrying a raw, primal rhythm that set my blood roaring.
<<yua>>Ah… I’m… I’m gonna…<</yua>>
She froze abruptly, body locking rigid as she arched into a tight bow. Her inner walls clenched violently again and again, gripping me like she wanted to pull me completely inside. Her hips pressed down hard, thighs straining, knees threatening to slide apart. A long, shattered moan tore from her throat, the tail end drawn out endlessly—half sob, half sigh. Her whole body trembled, fine shivers rippling from her spine all the way down to her thighs; sweat poured off her in heavy drops.
<br><br>
She went limp and collapsed backward into my arms, hands reaching up to hook around my neck as she gasped for air. Her shoulders heaved violently, damp hair clinging to my skin, but when our eyes met, hers were sparkling—entirely bright and luminous, like stars scattered across the night sky.
<br><br>
Yua’s ass was still flush against me, the aftershocks of her climax pulsing gently around my length, as though reluctant to let go. I reached around to hold her waist, fingertips sinking into her slick, heated skin. She didn’t get up right away—just tilted her head back to rest against my shoulder, her voice so hoarse it was barely audible.
<<yua>>…Haa… almost… my legs went completely weak…<</yua>>
<</lang>>
<<set _action = setup.t("传教士|Missionary")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/chuanjiao'>>
<br><br>
<<lang>>
Yua已经没了力气,整个人软软地瘫着,胸口剧烈起伏,汗水把长发黏在脸颊和颈侧。我把她轻轻抱起,转身放到地毯上。兽皮地毯是我们从废墟里捡来的,厚实而柔软。
<br><br>
她顺势仰躺下去,双腿微微分开,膝盖弯曲,像在无意识地邀请。我跪在她身前,双手抓住她的手腕,扣住她的两只手腕固定住。她的手臂被拉直,胸口随之挺起,乳尖在晨光里颤颤巍巍。
<br><br>
我俯下身,低头吻住她,把她残余的喘息全都吞进嘴里。然后腰肢猛地往前一顶,深深埋进去。她立刻绷紧全身,喉咙里溢出一声长长的、带着哭腔的呜咽。内壁还残留着高潮后的余韵,温热而敏感,每一次深入都让她腰肢不由自主地弓起。
<br><br>
我开始动了起来,节奏又快又狠——每一次都重重撞到底,再几乎完全抽出,只剩龟头卡在入口,然后猛地顶进去。她的身体跟着节奏起伏,胸口剧烈晃动,汗水顺着锁骨往下淌。双手被我扣住,她只能用腿缠上来,脚踝交叉在我腰后,脚跟抵着我的后背,像要把我锁住不许离开。
<<yua>>……啊……太……太猛了……<</yua>>
她的声音碎成一片一片,从唇缝里漏出来,夹杂着细碎的呜咽,像在求饶,又像在乞求更深。地毯下的兽皮摩擦着她的背,每一次撞击都发出闷闷的声响,混着湿润的黏腻轻响,在车库里回荡。我低喘着加快速度,手扣得更紧,她的指尖死死反握住我的手,指甲陷进肉里。她的呼吸越来越乱,越来越重,内壁一次次收缩,像要把我整个吸进去。
|EN|
Yua had no strength left; her whole body went limp and boneless, chest heaving violently as sweat plastered her long hair to her cheeks and the sides of her neck. I lifted her gently, turned, and laid her down on the carpet. The animal-hide rug—we’d scavenged it from some ruins—was thick and soft beneath us.
<br><br>
She settled onto her back instinctively, legs parting just slightly, knees bent in an unconscious invitation. I knelt between her thighs, grabbing both her wrists and pinning them above her head. Her arms stretched straight, forcing her chest to arch upward; her stiff nipples trembled in the soft morning light.
<br><br>
I leaned down, capturing her mouth in a deep kiss, swallowing the last of her ragged breaths. Then my hips surged forward in one hard thrust, burying myself to the hilt inside her. She tensed instantly, a long, broken moan spilling from her throat—half cry, half sob. Her inner walls still fluttered with the aftershocks of her climax, hot and hypersensitive; every deep plunge made her spine arch involuntarily off the rug.
<br><br>
I started moving—fast and rough—slamming in to the base each time, pulling out almost completely until only the head remained caught at her entrance, then driving back in with full force. Her body rocked with the rhythm, breasts bouncing wildly, sweat sliding in rivulets down her collarbone. With her hands pinned, she could only wrap her legs around me, ankles crossing at the small of my back, heels digging into my spine like she was locking me in place, refusing to let me pull away.
<<yua>>…Ah… too… too intense…<</yua>>
Her voice shattered into fragments, leaking from between her lips in broken whimpers—part plea for mercy, part desperate begging for more, deeper. The animal hide beneath her back rasped with every thrust, the dull thuds of impact blending with the wet, slippery sounds of our joining, echoing through the garage. I panted harder, picking up speed, gripping her wrists even tighter; her fingertips clutched back fiercely, nails biting into my skin. Her breathing grew wilder, heavier—inner walls clenching again and again, as if trying to draw me in completely.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/chufang0/cum'>>
<br><br>
<<lang>>
终于,我感觉临界点到了,肉棒猛地抽出,膝盖往前挪,把肉棒送到她唇边。
<br><br>
她本能地张开嘴,舌尖轻轻碰了碰。下一秒,我低低喘了一声,所有热流一股股涌出来,全射进她温热的口腔里。白浊灌满她的嘴,她喉咙动了动,像在吞咽,又像只是被呛到。唇角溢出一点,顺着下巴滑下来,亮晶晶的。
<br><br>
她没躲,反而把头往前一送,一口含住我的肉棒。舌尖卷着龟头,轻轻吮吸,像在做简单的战后清洁。口腔的温热和湿润包裹上来,带着一点残留的白浊,她缓缓前后移动几次,把最后一点都舔干净。
<br><br>
最后,她嘴唇收紧,吸着龟头慢慢往外拨。肉棒从她唇间滑出时,发出清脆的“啵”的一声,像拔开瓶塞,又像在空气里炸开一个小小的气泡。她睁开眼,视线湿漉漉地对上我,嘴角弯起一个懒懒的、满足的笑。
<<yua>>……呼……全给你了……<</yua>>
她声音哑得几乎听不清,带着鼻音。伸手抹掉唇角的那点痕迹,然后把脸埋进我胸口,身体软软地贴上来,像终于卸下了所有力气。
<br><br>
我伏在她身上,大口喘息,手掌抚过她的背脊,指尖顺着脊柱沟往下划。她没说话,只是把腿缠上来,把我整个人圈住。我们就这样静静贴着,听着彼此的心跳,一下比一下慢,和车库外偶尔吹过的风声混在一起。
<<you>>……呼……现在,我们可以吃饭了吧……<</you>>
我把头埋在Yua的头发里,在她耳边笑着打趣道。
|EN|
Finally, I felt the breaking point hit. I pulled out sharply, shifting my knees forward to bring my cock right to her lips.
<br><br>
She opened her mouth instinctively, the tip of her tongue brushing lightly against me. The next second, a low groan tore from my throat as thick spurts of heat surged out, flooding her warm mouth in heavy pulses. White cum filled her completely; her throat worked once—swallowing, or maybe just choking slightly. A little overflow escaped the corner of her lips, trailing slowly down her chin in a glistening line.
<br><br>
She didn’t pull away. Instead she leaned forward, taking me fully into her mouth again. Her tongue curled around the head, sucking gently—like a simple, tender cleanup after battle. The wet heat of her mouth enveloped me, still carrying traces of my release; she moved slowly back and forth a few times, licking every last drop clean.
<br><br>
At last, her lips tightened around the tip, drawing it out slowly with deliberate suction. When my cock finally slipped free from her mouth, it came with a crisp, wet “pop”—like uncorking a bottle, or a tiny bubble bursting in the air. She opened her eyes, gaze hazy and liquid as it met mine, and a lazy, deeply satisfied smile curved her lips.
<<yua>>…Haa… all yours now…<</yua>>
Her voice was so hoarse it was barely audible, thick with a nasal rasp. She reached up to wipe away the stray trace at the corner of her mouth, then buried her face against my chest, her body melting bonelessly against me as though every ounce of strength had finally drained away.
<br><br>
I collapsed over her, panting hard, my palm stroking down the length of her back, fingertips tracing the dip of her spine. She said nothing—just wrapped her legs around me again, locking me in place. We stayed like that, pressed close and quiet, listening to each other’s heartbeats gradually slow, mingling with the occasional gust of wind outside the garage.
<<you>>…Haa… now we can finally eat, right…?<</you>>
I murmured the words into her hair, chuckling softly against her ear.
<</lang>>
<br><br>
<<set $player.yuwang to 0>>
<<set $characters.yua.sexCount += 1>>
<<updateCaptionInfo>>
<<set _action = setup.t("厨房|Kitchen")>>
[[_action|Kitchen]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</replace>>
<</link>>
<<set _action = setup.t("吃饭|Eat Meal")>>
<<link _action "Kitchen">>
<</link>>
</div>
[img[setup.ImagePath+'/changjing/home/chufang.png']]
<br><br>
<<lang>>Yua已经把饭准备好了。|EN|Yua has already prepared the meal.<</lang>>
<div id="bath-options">
<<set _action = setup.t("吃饭|Eat Meal")>>
<<link _action>>
<<replace "#bath-options">>
<<chifan>>
<center>[img[setup.videoPath+'/yua/chi.png']]</center>
<<lang>>吃过饭后,我感觉自己状态非常好。
|EN|
After we finished eating, I felt in absolutely great shape.<</lang>>
[[Leave|Home]]
<</replace>>
<</link>>
[[Leave|Home]]
</div><!-- 获取当前小时数 -->
<<set _hour = $gameDate.getHours()>>
<!-- 判断是否是深夜 (22点以后 或 6点以前) -->
<<set _isYuaXizao = (_hour >= 21 && _hour <= 23)>>
<<if _isYuaXizao>>
<<video 'yua/xizao1/xizao'>>
<br><br>
<<lang>>Yua正在洗澡。|EN|Yua is taking a shower.<</lang>>
<<set _action = setup.t("一起洗澡|Take a shower together")>>
[[_action|Yua Xizao]]
[[Leave|Home]]
<<else>>
[img[setup.ImagePath+'/changjing/home/yushi.png']]
<br><br>
<<set _action = setup.t("洗澡|Shower")>>
[[_action|Shower]]
[[Leave|Home]]
<</if>><<xizao>>
<center>[img[setup.ImagePath+'shower.gif']]</center>
<br><br>
<<lang>>
洗了一个热水澡之后,我感觉精神抖擞。
|EN|
After taking a nice hot shower, I felt completely refreshed and full of energy.
<</lang>>
[[Leave|Home]]<<video 'yua/xizao1/jinmen'>>
<br><br>
<<lang>>
晚上,车库的浴室里热气氤氲,水声哗哗地响着。Yua已经在里面洗了好一会儿,蒸汽把帘子熏得半透明,隐约能看见她模糊的轮廓,长发湿漉漉地贴在背上。我今天也有些兴致,推开帘子走进去。她转过头,看见是我,先是愣了一下,随即弯起眼睛笑。
<<yua>>……你怎么进来了?不是说今天累了想早点睡吗?<</yua>>
<<you>>累是累,但看见你洗澡就……不想睡了。<</you>>
|EN|
The bathroom in the garage was thick with steam that evening, the sound of running water echoing steadily. Yua had already been showering for a while; the vapor made the curtain semi-transparent, faintly outlining her silhouette—her long, wet hair clinging to her back. I was in the mood tonight too, so I pushed the curtain aside and stepped in. She turned her head, saw it was me, froze for a second, then her eyes curved into a smile.
<<yua>>…What are you doing in here? Didn’t you say you were tired and wanted to sleep early tonight?<</yua>>
<<you>>I am tired, but seeing you showering like this… suddenly I don’t feel like sleeping anymore.<</you>>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao1/xi'>>
<br><br>
<<lang>>
她轻笑一声,把花洒从自己头上移开,转身递给我。
<<yua>>那就一起吧,来,我帮你冲。<</yua>>
她接过花洒,对准我的胸口和肩膀,水流温热地冲下来,带走一天的尘土和疲惫。我偶尔低头吻她,她踮起脚回应,唇瓣湿湿的,带着沐浴露的淡淡清香。亲吻断断续续,水声盖不住我们交缠的呼吸,时不时就贴上去亲一口,又分开,又贴上来,像在水里偷来的小秘密。
|EN|
She let out a soft laugh, lifted the showerhead from over her own head, and turned to hand it to me.
<<yua>>Then let’s do it together. Here, I’ll rinse you off.<</yua>>
She took the showerhead back, aiming the warm stream at my chest and shoulders. The water cascaded down, washing away the day’s dust and exhaustion in soothing rivulets. Every now and then I leaned down to kiss her; she rose on her tiptoes to meet me, her lips slick and wet, carrying the faint, fresh scent of body wash. Our kisses came in fits and starts—water rushing loud enough to muffle everything else, yet not quite drowning out our tangled breaths. We’d press together for a quick, stolen kiss, pull apart just enough to breathe, then lean in again—like little secrets snatched in the middle of the spray.
<</lang>>
<<set _action = setup.t("前戏|Foreplay")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao1/bao'>>
<br><br>
<<lang>>
我俩的兴致都慢慢烧起来了。
<br><br>
她把花洒挂回墙上的钩子,水流改成细细的雨状,从头顶洒下来,淋在我们两人身上。她转过身,背对着我,整个人的重量都靠进我怀里,背贴着我的胸口,头往后仰,搁在我肩上,长发湿漉漉地贴在我的颈侧,带着沐浴露的清香。
<br><br>
我从后面抱住她,胸口贴上她的后背,双手先覆上她的胸。掌心包裹住那两团温热的软肉,指腹轻轻揉捏,拇指在乳尖上打圈。她立刻颤了一下,头往后靠在我肩上,喉咙里溢出一声低低的哼唧。
<<yua>>……嗯……轻点……<</yua>>
我没停,手掌顺着她的胸口往下,掠过小腹,指尖在肚脐周围打转,又继续往下,停在她腿间。那里已经湿润,不只是水流的缘故。我用中指和食指轻轻分开阴唇,指腹在入口处缓缓摩挲,沾上她的湿意,然后指尖停在她最敏感的凸起上——不是往里探,而是用指腹轻轻按住阴蒂,缓缓打圈。动作不重,却带着一种缓慢的、几乎折磨人的节奏。她的呼吸立刻乱了,胸口起伏得更快,臀部本能地往后靠了靠,像在追逐那点触感,又像在把我顶得更紧。
<<yua>>……嗯……那里……<</yua>>她声音哑哑的,从喉咙深处挤出来,带着一点颤音。
|EN|
Our arousal was slowly building, heat rising between us like steam in the shower.
<br><br>
She hung the showerhead back on the wall hook, switching the flow to a fine, gentle rain that pattered down from above, drenching us both. She turned around, facing away now, and let her full weight lean back into me—her back pressing flush against my chest, head tilting backward to rest on my shoulder. Her wet hair clung to the side of my neck, carrying the clean, fresh scent of body wash.
<br><br>
I wrapped my arms around her from behind, chest molding to her spine. My hands moved first to her breasts, palms enveloping the warm, soft mounds; my fingertips kneaded gently, thumbs circling her nipples in slow loops. She shivered instantly, head dropping heavier against my shoulder as a low, muffled hum slipped from her throat.
<<yua>>…Mmm… lighter…<</yua>>
I didn’t stop. My hands slid downward from her chest, skimming over the flat plane of her stomach; fingertips swirled teasingly around her navel before continuing lower, settling between her thighs. She was already slick there—not just from the water. I used my middle and index fingers to gently part her folds, fingertips stroking slowly along the entrance to gather her wetness, then settled right over her most sensitive bud. Instead of pushing inside, I simply pressed the pad of my finger against her swollen clit and began to circle—slowly, deliberately, with a light but maddeningly patient rhythm. Her breathing fractured at once; her chest rose and fell faster, hips instinctively rocking backward, chasing the touch while also pressing herself tighter against me.
<<yua>>…Mmm… right there…<</yua>> Her voice came out hoarse and trembling, forced from deep in her throat with a faint quiver.
<</lang>>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao1/kou'>>
<br><br>
<<lang>>
Yua忽然察觉到身后硬挺的触感——我的肉棒已经顶在她臀缝间,隔着水流和热气,硬得发烫。她低低笑了一声,转过身来,面对着我,眼睛湿漉漉地抬起来看我。
<br><br>
她声音娇嗔,带着一点故意埋怨的鼻音。右手伸下来,指尖轻轻弹了一下我的肉棒前端,像在惩罚,又像在撩拨。
<<yua>>就你最不老实了……<</yua>>
那一下弹得我浑身一颤,低喘了一声。她嘴角弯起,没再说话,直接蹲下去,水流冲在她背上,泡沫顺着脊背往下淌。
<br><br>她双手扶住我的大腿,指尖微微用力,像在稳住自己,也像在把我固定住。低头先是用唇瓣轻轻碰了碰前端,热热的呼吸喷上来,让人头皮发麻。然后她张开嘴,舌尖卷住龟头,缓缓往里含。口腔温热而湿润,一下子包裹住我,带着水流的滑腻。
<br><br>
她开始动了起来,起初很慢,很轻——只是用嘴唇包裹住前端,舌面在冠状沟打圈,偶尔用牙齿轻轻刮一下,又立刻用舌尖安抚过去。她的手也没闲着,一只握住根部,配合着嘴里的动作轻抚,另一只还扣在我大腿上,指甲因为用力而微微陷进肉里。
<<yua>>……嗯……好硬……<</yua>>
她声音从喉咙深处闷闷地漏出来,带着含糊的鼻音。节奏渐渐加快,头前后移动得更流畅,舌尖在敏感的地方卷着,像要把所有注意力都集中在这一刻。唾液混着水流从唇角滑落,顺着下巴往下淌,在水光里亮晶晶的。她没停,只是更用力地含住,喉咙深处发出细碎的、湿润的声响。
|EN|
Yua suddenly noticed the hard press behind her—my cock was already nestled firmly between her ass cheeks, scorching hot through the cascade of water and steam. She let out a low, amused laugh, then turned around to face me, lifting her wet-lidded eyes to meet mine.
<br><br>
Her voice came out in a playful whine, laced with that deliberate, teasing nasal tone. Her right hand reached down, fingertips flicking lightly against the tip of my cock—like a little punishment, or maybe just more teasing.
<<yua>>You’re the naughtiest one here…<</yua>>
The flick sent a full-body shiver through me; I let out a low gasp. Her lips curved into a smile, and without another word she sank down into a squat. Water streamed over her back, foam trailing down her spine in slow rivulets.
<br><br>Her hands braced on my thighs, fingers digging in just enough to steady herself—or pin me in place. She leaned in first, brushing her soft lips feather-light against the head; hot breath washed over me, making my scalp tingle. Then she parted her lips, tongue curling around the glans as she slowly took me into her mouth. The wet heat enveloped me instantly, slick with water and her own warmth.
<br><br>
She started moving—slow and gentle at first—just her lips wrapped around the tip, tongue gliding in lazy circles along the coronal ridge. Every so often her teeth grazed ever so lightly, only to be soothed immediately by the flat of her tongue. Her hands weren’t idle: one gripped the base, stroking in sync with her mouth’s rhythm; the other stayed clamped on my thigh, nails biting faintly into skin from the effort.
<<yua>>…Mmm… so hard…<</yua>>
Her voice leaked out muffled and throaty, thick with a nasal hum around me. The pace gradually quickened—her head sliding forward and back more smoothly, tongue swirling insistently over the most sensitive spots, as though pouring every bit of focus into this single moment. Saliva mixed with shower water dribbled from the corners of her mouth, trailing down her chin in glistening strands that caught the light. She didn’t pause—just sucked harder, deeper, the soft, wet sounds from her throat growing more frequent and intimate.
<</lang>>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<br><br>
<<video 'yua/xizao1/houru'>>
<br><br>
<<lang>>
浴室里水流还在细细洒下,热气把玻璃墙熏得模糊一片。Yua转过身后,我从后面贴上去,双手扶住她的腰,肉棒对准入口,缓缓往前推进。她立刻颤了一下,喉咙里溢出一声闷闷的呜咽。入口还湿润着,温热的褶皱一点点被撑开,我没急着动,只是先完全埋进去,让她适应这份饱胀感。
<br><br>
然后我开始动了起,站着从后面输出,节奏又深又稳——每一次都退到边缘,再重重顶到底。她的身体跟着撞击往前晃,臀肉撞到我小腹的啪啪声混着水流,格外清晰。她躬着身子,双手从浴缸边缘移下来,撑在自己的膝盖上,脊背绷成一道夸张的弧,胸口往下垂,随着每一次撞击前后晃动。我双手从后面绕过去,覆上她的胸。掌心包裹住那两团柔软,指腹用力揉捏,拇指和食指夹住乳尖轻轻拉扯。她整个人弓得更厉害,喉咙里发出一连串细碎的、带着哭腔的喘息。
<<yua>>……啊……好深……别……别停……<</yua>>
她的声音碎成一片一片,从唇缝里漏出来,夹杂着水声和黏腻的轻响。我低喘着加快速度,手掌揉得更重,指尖掐住乳尖拉扯一下,她腰肢猛地往前一挺,内壁一次次收缩,像要把我整个吸进去。
<br><br>
我拉起她的右手,抬到身后,绕到我的颈后。她顺势侧过头,脸颊贴近我的脸,嘴唇湿湿地贴上来。我们一边亲吻,一边继续动。舌尖缠绕得又急又乱,带着水汽和沐浴露的味道。她喉咙里发出的呜咽全被我吞进嘴里,只能从鼻腔里挤出细碎的鼻音。右手扣在我颈后,指尖用力,像在把我拉得更近。亲吻断断续续,水珠顺着她的脸颊滑到唇角,我们的呼吸混在一起,越来越重。她的臀部本能地往后迎合,每一次撞击都让她的身体跟着晃动,胸口在我的掌心被揉得变形。内壁的收缩越来越频繁,越来越紧,像在逼我到边缘。
|EN|
The shower continued to rain down in a soft, steady mist, steam fogging the glass walls into a hazy blur. Once Yua had turned around, I pressed up behind her, hands settling on her waist. I aligned myself with her entrance and slowly pushed forward. She shuddered at once, a muffled whimper escaping her throat. She was still slick and ready; the warm, velvety folds yielded gradually as I sank in deeper. I didn’t rush—just buried myself to the hilt first, letting her adjust to the full, stretching fullness.
<br><br>
Then I began to move—standing behind her, thrusting deep and steady. Each stroke pulled back to the very edge before slamming home again. Her body rocked forward with every impact; the sharp, wet slap of her ass against my lower abdomen mixed clearly with the sound of running water. She bent forward, hands sliding from the edge of the tub to brace on her own knees, her spine arching into an exaggerated curve, breasts hanging and swaying heavily with each thrust. I reached around from behind, cupping her breasts in both hands—palms enveloping the soft mounds, fingers kneading firmly while thumbs and forefingers pinched and tugged lightly at her nipples. She arched even harder, a string of broken, crying gasps spilling from her throat.
<<yua>>…Ah… so deep… don’t… don’t stop…<</yua>>
Her voice fractured into pieces, leaking from between her lips amid the water and slick sounds. I panted harder, picking up speed—hands squeezing her breasts more roughly, fingertips pulling her nipples once, twice. Her hips jerked forward instinctively; her inner walls clenched in fierce, rhythmic spasms, as though trying to draw me in completely.
<br><br>
I lifted her right hand, guiding it up and back to hook around my neck. She turned her head to the side, cheek pressing close to mine, wet lips finding my mouth. We kissed while I kept thrusting—tongues tangling urgently and messily, tasting of steam and body wash. Every whimper from her throat was swallowed by me; only faint, nasal moans escaped through her nose. Her fingers dug into the back of my neck, pulling me closer. Our kisses broke and reformed in ragged bursts, water droplets sliding down her cheek to mingle at the corners of our joined lips. Our breaths grew heavier, more desperate. Her hips rocked back instinctively to meet each thrust, her body swaying with the rhythm, breasts deforming under my palms. The contractions inside her came faster and tighter, pushing me relentlessly toward the edge.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'cum_hou'>>
<br><br>
<<lang>>
终于,我感觉临界点到了。猛地抽出肉棒,热流一股股涌出来,全射在她圆润的臀部上。白浊顺着臀缝往下淌,混着水流,亮晶晶地滑到大腿根,又被热水冲淡。她整个人颤了一下,双手撑在膝盖上差点滑开,喉咙里发出一声长长的、满足的叹息。
<<yua>>……呼……全射在屁股上了……好烫……<</yua>>
她声音哑哑的,带着鼻音。慢慢直起身,转过来面对我,双手环住我的脖子,把脸埋进我颈窝。臀部还残留着一点白浊,她没急着冲掉,只是把身体贴紧我,像在借我的体温慢慢回神。我伸手扶住她的腰,低头吻她的额头。水流从头顶洒下来,把一切都冲刷干净,只剩我们贴合的温度,和彼此凌乱的心跳。
<br><br>
浴室里热气氤氲,只剩水声和偶尔从她唇间漏出的、细碎的低叹。外面风还在敲着铁门,但这一刻,我们谁也没在意。只是站在热水里,像要把所有荒凉都洗掉,只剩彼此的温度和心跳。
|EN|
Finally, I felt the edge hit. I pulled out sharply, hot pulses surging out in thick ropes, spilling entirely across the smooth curves of her ass. White cum trailed down the cleft, mingling with the shower water—glistening as it slid toward her inner thighs before being washed away by the steady stream. Her whole body shuddered; her hands braced on her knees nearly slipped, and a long, deeply satisfied sigh escaped her throat.
<<yua>>…Haa… you came all over my ass… so hot…<</yua>>
Her voice was hoarse and nasal, rough from exertion. Slowly she straightened, turning to face me. Her arms looped around my neck, face burying into the crook of my shoulder. A little of my release still clung to her skin; she made no move to rinse it off right away—just pressed her body flush against mine, drawing warmth from me as she gradually came back to herself. I held her waist steady, dipping my head to kiss her forehead. The water poured down from above, rinsing everything clean, leaving only the heat of our pressed bodies and the ragged rhythm of our heartbeats.
<br><br>
Steam filled the bathroom thick and heavy; only the steady patter of water and the occasional soft, fragmented sigh slipping from her lips remained. Outside, the wind continued rattling the iron door, but in this moment neither of us paid it any mind. We simply stood under the hot spray, as though washing away every trace of desolation until nothing was left but each other’s warmth and the quiet echo of our pulses.
<</lang>>
<br><br>
<<xizao>>
<<set $player.yuwang to 0>>
<<set $characters.yua.sexCount += 1>>
<<updateCaptionInfo>>
[[Leave|Home]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><center>[img[setup.videoPath+'/changjing/1/zacaocharu/pengwu.png']]</center>
<br><br>
<<if !$quests.active.includes("q_tasha_qz1") && !$quests.completed.includes("q_tasha_qz1")>>
<<lang>>
我出了枢纽城沿着荒废的乡间小路往前走。路两边是枯死的玉米地和倒伏的围栏,树林已经开始吞噬一切,枝条像枯骨一样伸向天空。
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>帮帮我……有人吗?<</say>>
我停下脚步,视线落在前方不远处的一座破旧小屋上——铁皮搭成的棚屋,屋顶生锈,墙板斑驳,门前堆着些枯枝和废弃的农具。门锁着,黑洞洞的,像一张没牙的嘴。门上挂着一扇歪斜的铁栅栏,栅栏后隐约有动静。就在我准备过去查看时,里面再次传来一个女人的声音,尖锐而急促,却带着明显的虚弱。
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>帮帮我……有人吗?求求你……帮帮我!<</say>>
声音断断续续,像被什么堵住,又像在拼命挤出来。
<br><br>
我弓腿,弯腰,掏出腰间的枪,降低身位的同时,双眼快速扫视棚屋的四周,确定周围没有异常后,慢慢靠近。风吹过,铁皮屋发出吱呀的哀鸣,门缝里透出一点霉味和陈年的灰尘气。
<br><br>
我试着推开铁栅栏,但是它被锁住了,栅栏因为被推搡而发出刺耳的摩擦声。里面光线很暗,只有从门缝漏进来的灰白光,照出屋子的大致轮廓。里面站着一个女人,她的衣服破破烂烂,头发乱成一团,脸上全是灰尘和干涸的血迹,但眼睛还亮着,带着求生的绝望。她看到我,立刻挣扎着坐起来。
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>“求求你……帮我解开……我被困在这里好几天了……他们走了也可能死了,我被扔在了这里……求求你……<</say>>
她的声音颤抖,带着哭腔,却努力保持清醒。屋子里没有明显的丧尸痕迹,但空气里那股腐朽的味道让我警觉。我蹲下身,检查铁栅栏——栅栏锈迹斑斑,但锁扣是新的,像是最近才加的。
<<you>>(低声问她)你是谁?谁把你锁在这里的?<</you>>
她喘着气,眼睛死死盯着我,像怕我下一秒就走。
<<tasha>> 我叫……Tasha......(看着我的眼睛,犹豫起来)我和我的小队来这里搜物资……就是......用我当诱饵……吸引路过的幸存者……求求你,帮我出去……我已经五天没吃东西了,我不想死在这里……<</tasha>>
我秒懂了她的意思,她可不是什么善男信女,而是个搞仙人跳的!不过我也惊讶于她的坦白。末世就是这样,人的危险程度一点也不比丧尸小。
<br><br>
我蹲在铁栅栏外,枪口依然低垂,但没完全放下,视线在她脸上快速扫过。她的眼睛红肿,嘴唇干裂,破烂的衣服上沾满干血和泥土,看起来确实像被困了好几天。
<<you>>呵……怎么把自己搞成这样,你那些“好队友”呢?全死光了?<</you>>
<<tasha>>(喉咙动了动,声音更虚弱,却没躲我的目光)他们……操作失误。当时弄出来的动静太大,引来了附近的一群变异丧尸……他们全被撕了。我因为一直装成受害者,被锁在这里,才躲过一劫。后来那些丧尸被别的声音吸引走,我才敢偷偷喊人……钥匙在他们身上,可他们已经……变成了那种东西。我不知道他们现在在哪里……<</tasha>>
她顿了顿,眼睛里闪过一丝算计,却又很快被疲惫盖住。
<<tasha>>如果你能帮我撬开锁,或者找到钥匙……我可以把我们骗来的1000积分全给你,或者……让你免费来一发。随便你怎么玩,我都行……求你了……<</tasha>>
我没立刻回答,只是低头看了看铁栅栏的锁扣——新的,质量不错,开枪打掉肯定行,但枪声在这荒郊野外传得老远。附近有变异丧尸出没,谁知道它们离这儿多近?为了一个搞仙人跳的女人,把自己搭进去,不值。
<<you>>行,我帮你。但动静太大我不会开枪撬锁。你先老实待着,别乱动。<</you>>
她眼睛亮了一下,点点头,身体往后缩了缩,像怕我反悔。我站起身,绕着棚屋走了一圈,检查四周有没有埋伏或丧尸痕迹。枯草里只有风声和远处树林的低吼,没发现活物。屋后有个破窗,玻璃碎了半边,我用枪管拨开残片,探头往里看——里面除了她再没别人,也没明显的陷阱。
<br><br>
我转身回到门前。
|EN|
I left Hub City and walked along the abandoned country road. On both sides were fields of dead corn and collapsed fences; the woods were already swallowing everything, branches reaching toward the sky like dry bones.
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>Help me… is anyone there?<</say>>
I stopped, my gaze falling on a dilapidated shack not far ahead—an iron-sheet shelter with a rusted roof, peeling walls, and a pile of dry branches and discarded farm tools in front. The door was locked, pitch black inside like a toothless mouth. A crooked iron grate hung in front of it; something moved faintly behind the bars. Just as I prepared to approach, the woman’s voice came again—sharp and urgent, yet clearly weak.
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>Help me… is anyone there? Please… help me!<</say>>
The voice came in fits and starts, as if muffled or struggling to break free.
<br><br>
I crouched low, drew the gun from my waist, and moved forward with reduced profile, eyes scanning the surroundings for threats. The wind blew, making the iron sheets groan mournfully; a faint smell of mold and old dust leaked from the door crack.
<br><br>
I tried pushing the iron grate—it was locked. The bars scraped harshly when pushed. Inside was dim; only pale gray light seeped through the gaps, outlining the rough shape of the room. A woman stood there—clothes torn and ragged, hair matted, face covered in dust and dried blood—but her eyes were still bright, filled with desperate survival instinct. When she saw me, she struggled to sit up.
<<say '???' setup.videoPath+'changjing/1/zacaocharu/tasha.png'>>“Please… help me get out… I’ve been trapped here for days… they left or maybe died, I was left behind… please…”<</say>>
Her voice trembled with a sob, yet she fought to stay coherent. No obvious zombie signs inside, but the rotting smell in the air kept me alert. I squatted down to inspect the grate—rusted bars, but the lock was new, likely recently installed.
<<you>>(quietly asking her) Who are you? Who locked you in here?<</you>>
She gasped for air, eyes locked on me as if afraid I’d leave any second.
<<tasha>> My name… is Tasha… (looking into my eyes, hesitating) My team and I came here to scavenge supplies… they… used me as bait… to lure passing survivors… Please, get me out… I haven’t eaten in five days… I don’t want to die here…<</tasha>>
I instantly understood—she wasn’t some innocent victim; she was part of a scam, a honey trap setup. Still, I was surprised by her candor. In the end times, humans could be just as dangerous as zombies.
<br><br>
I stayed crouched outside the grate, gun barrel low but not holstered, eyes quickly scanning her face. Her eyes were red and swollen, lips cracked, ragged clothes stained with dried blood and dirt—she really did look like she’d been trapped for days.
<<you>>Heh… how’d you end up like this? What about your “good teammates”? All dead?<</you>>
<<tasha>>(throat bobbing, voice weaker but eyes unflinching) They… messed up. Made too much noise and attracted a pack of mutated zombies nearby… they were all torn apart. I was kept locked up pretending to be the victim, so I survived. Later the zombies were drawn away by other sounds, and I dared to call out… The key was on them, but they’ve… turned into those things now. I don’t know where they are…<</tasha>>
She paused; a flash of calculation passed through her eyes, quickly buried under exhaustion.
<<tasha>>If you can pry the lock or find the key… I’ll give you all 1000 points we scammed, or… you can have me for free. Any way you want… please…<</tasha>>
I didn’t answer right away—just glanced at the lock again. New, sturdy—shooting it off would work, but the noise would carry far in this wilderness. Mutated zombies nearby—who knew how close? Risking myself for a honey-trap operator wasn’t worth it.
<<you>>Fine, I’ll help. But if it makes too much noise, I’m not shooting the lock. Stay still and don’t move.<</you>>
Her eyes brightened; she nodded and shrank back, as if afraid I’d change my mind. I stood and circled the shack, checking for ambushes or zombie signs. Only wind through dead grass and distant forest growls—no living threats. Behind the shack was a broken window, half the glass gone; I used the gun barrel to push aside shards and peered in—only her inside, no obvious traps.
<br><br>
I returned to the front door.
<</lang>>
<br><br>
<div id="bath-options">
<<set _action = setup.t("帮助Tasha|Help Tasha")>>
<<link _action>>
<<replace "#bath-options">>
<<run setup.QuestManager.accept("q_tasha_qz1")>>
<<lang>>
<<you>>钥匙真在你队友身上?<</you>>
<<tasha>>真的……他们被丧尸撕了之后,钥匙应该还在他们衣服口袋里……或者……掉在附近……<</tasha>>
我没再问,收起工具,站起身。
<<you>>我可以试着找找,但不保证结果。如果被我发现你是在骗我……我回来第一件事就是崩了你。<</you>>
她点点头,声音小得几乎听不见。
<<tasha>>我没骗你……真的……谢谢你……<</tasha>>
我转身往树林方向走,枪握在手里,脚步放轻。风吹过枯玉米地,发出沙沙声,像在嘲笑我的决定。身后,铁栅栏后的她还在低声喘息,声音断断续续,像最后的求救,又像最后的诱饵。
<br><br>
我不知道自己会不会真的再回来,也不知道这女人说的是真是假。
<br><br>
末世里,信任从来都是奢侈品。我只知道——如果钥匙真在丧尸身上,我最多试一次。一次之后,一切随缘。
|EN|
<<you>>The key really is on your teammates?<</you>>
<<tasha>>It’s true… After they were torn apart by the zombies, the key should still be in their clothing pockets… or maybe… it fell nearby…<</tasha>>
I didn’t ask any more. I put away the tools and stood up.
<<you>>I’ll try looking for it, but I’m not promising anything. If I find out you’re lying to me… the first thing I’ll do when I get back is put a bullet in you.<</you>>
She nodded, her voice so faint it was almost inaudible.
<<tasha>>I’m not lying… really… thank you…<</tasha>>
I turned and headed toward the woods, gun in hand, footsteps light. The wind rustled through the dead cornfield, making a hissing sound—like it was mocking my decision. Behind me, her ragged breathing continued from behind the iron grate, intermittent and weak—like a final plea for help, or perhaps the last bait.
<br><br>
I didn’t know if I’d actually come back, or whether this woman was telling the truth.
<br><br>
In the end times, trust has always been a luxury. All I knew was—if the key really was on those zombies, I’d try once. Just once. After that… whatever happens, happens.
<</lang>>
<<set _action = setup.t("打开(需要民房钥匙)|Open(Need Private House Key)")>>
<<if $beibao.has("minfangkey") || $keybao.has("minfangkey")>>
<<link _action "zacaocharu01">>
<</link>>
<<else>>
<a class="link-disabled">_action</a>
<</if>>
<</replace>>
<</link>>
<<set _action = setup.t("拒绝Tasha|Reject Tasha")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
末世里,信任从来都是奢侈品。像Tasha这样的人并不值得被帮助!我决定留她在这里自生自灭。
|EN|
In the end times, trust has always been a luxury. People like Tasha aren’t worth helping! I decided to leave her here to fend for herself.
<</lang>>
<br><br>
<</replace>>
<</link>>
</div>
<<else>>
<<lang>>
我再次小心的检查了四周,并没有发现任何异常。
|EN|
I carefully checked the surroundings once more, and there was nothing unusual around.
<</lang>>
<br><br>
<<set _action = setup.t("打开(需要民房钥匙)|Open(Need Private House Key)")>>
<<if $beibao.has("minfangkey") || $keybao.has("minfangkey")>>
<<link _action "zacaocharu01">>
<</link>>
<<else>>
<a class="link-disabled">_action</a>
<</if>>
<</if>>
<<backToMap "StageMap">><<if $characters["saika"].location is "AncientBookRoom01">>
<center>[img[setup.ImagePath + "changjing/1/AncientBookRoom2.png"]]</center>
<<lang>>
我推开暗门,门轴发出一声低沉的、几乎被灰尘闷住的吱呀。里面立刻涌出一股陈旧的纸张味和淡淡的霉味,混着备用电源嗡嗡作响的低频噪音。应急灯只亮了三盏,蓝色的光线勉强勾勒出房间的轮廓,光圈之间是长长的阴影,像被什么东西故意吞噬了。
<br><br>
我握紧手中的武器,枪口微微下压,缓慢地扫视四周。书架一排排矗立,像沉默的士兵,高到几乎触顶,书脊上的烫金字迹在昏光下泛着冷冷的金属光泽。书被保存得异常完好,没有撕扯、啃咬或血迹,甚至连灰尘都薄得均匀,像有人定期擦拭过。空气里没有腐臭,没有丧尸特有的那种酸腐的体液气味,只有安静……太安静了。
<br><br>
我沿着书架间的过道往前走,脚步尽量放轻,皮靴底踩在旧地毯上几乎没声。右手食指始终贴着扳机护弓,左手握着手电筒,筒口用布裹了一层,只露出一道细细的光束,扫过书脊、扫过地面、扫过天花板。光束掠过时,偶尔照到几本外文书名……内容杂乱,却又诡异地整齐,像被人刻意排列过。
|EN|
I pushed open the hidden door; the hinges let out a low, dust-muffled creak that seemed almost smothered by time. Immediately, a wave of stale paper scent and faint mildew rushed out, mingled with the low-frequency hum of a backup generator buzzing somewhere in the walls. Only three emergency lights were on—blueish glows that barely sketched the room's outline, leaving long, swallowing shadows between the pools of light, as if something had deliberately devoured the spaces in between.
<br><br>
I gripped my weapon tighter, barrel angled slightly downward, and swept the room slowly. Rows of bookshelves stood like silent sentinels, towering almost to the ceiling; the gold-embossed titles on the spines caught the dim light with a cold, metallic sheen. The books were unnaturally well preserved—no tears, no bite marks, no bloodstains, not even uneven dust layers. The dust was thin and even, as though someone had been wiping them down regularly. The air held no rot, no trace of the sour, bodily decay that always clung to the infected—only silence… an oppressive, too-perfect silence.
<br><br>
I moved forward along the narrow aisles between the shelves, keeping my steps as light as possible; the soles of my boots barely whispered against the old carpet. My right index finger rested constantly against the trigger guard, while my left hand held the flashlight—its beam muffled by a wrapped cloth, allowing only a thin, controlled ray. I swept it methodically: across spines, over the floor, up to the ceiling. Whenever the light passed, it caught glimpses of foreign titles… the contents seemed chaotic at first glance, yet strangely orderly, as if someone had deliberately arranged them with meticulous intent.
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<center>[img[setup.ImagePath + "changjing/1/AncientBookRoom1.png"]]</center>
<<lang>>
就是这种感觉——有人在看你。
<br><br>
我背靠着一排书架,深吸一口气。不是丧尸那种本能的饥饿注视,而是……有意识的、审视的、带着某种耐心的目光。你猛地转身,手电筒的光束像刀一样切过黑暗,扫过刚才站过的位置、扫过对面的书架、扫过天花板角落的通风口。什么都没有。只有光束在灰尘颗粒上切割出一道道细小的光柱,然后迅速被黑暗吞没。
<br><br>
你走到房间尽头,发现那个独立的卫生间。门半掩着,门缝里透出更暗的阴影。你用枪管轻轻顶开门,里面只有马桶、水槽、镜子。镜面蒙着一层薄灰,映出你自己的轮廓——疲惫、警惕、瞳孔在昏光里放大。没人。也没有血迹、爪痕、碎玻璃。干净得像从来没被使用过。
<br><br>
可能是我太过紧张了,一阵尿意上来,于是我决定先上个厕所。
|EN|
That exact feeling—someone is watching you.
<br><br>
I leaned back against a row of bookshelves and took a deep breath. It wasn’t the instinctive, ravenous stare of a zombie… it was conscious, scrutinizing, patient in a way that made the hairs on the back of my neck stand up. I spun around abruptly; the flashlight beam sliced through the darkness like a blade—across the spot I’d just been standing in, over the opposite shelves, up into the corners of the ceiling vents. Nothing. Only thin pillars of light carved through floating dust motes, then swallowed instantly by the black.
<br><br>
I moved to the far end of the room and found the separate restroom. The door was ajar, a deeper shadow leaking from the gap. I nudged it open with the barrel of my gun. Inside: just a toilet, a sink, a mirror. The mirror was coated in a thin film of dust, reflecting my own outline—exhausted, alert, pupils dilated wide in the dim glow. No one. No blood, no claw marks, no shattered glass. It was so clean it looked like it had never been used.
<br><br>
Maybe I was just too tense. A sudden urge to piss hit me, so I decided to use the toilet first.
<</lang>>
<<set _pStats = setup.Battle.getPlayerTotalStats()>>
<<if _pStats.charm lt 5>>
<<set _action = setup.t("某人关注到了你,但是由于你的魅力太低,她决定再观察一下。(需要魅力>5)|Someone has noticed you, but due to your low charm, she decides to observe a little longer. (Requires Charm > 5)")>>
<<return _action>>
<<else>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan0/chujian'>>
<br><br>
<<lang>>
我把枪收起来,背对着门,解开裤子,正对着马桶放水。突然,门“吱呀”一声被推开。我整个人一激灵,尿线差点偏了,差点溅到鞋上。右手本能地往枪那边抓去,转身的同时已经半蹲,枪口抬到胸口高度。
<br><br>门口站着的竟然一个女孩。她看起来二十五六岁,面容姣好,戴着一副眼镜,头发随意的扎在脑后,脸色苍白,但眼睛很亮,像夜里的猫。双手举到肩膀高度,掌心朝外,示意她没拿武器。
<<say '???' setup.ImagePath+'npc/saika/touxiang.png'>>别开枪……我没别的意思。<</say>>
她的声音低而稳,带着一点沙哑,像很久没好好说过话。你手指扣在扳机护弓上,枪口没放下,视线快速扫过她全身——没有丧尸咬痕,没有血迹,衣服虽然脏,但没撕裂。她没往前一步,就站在门口,灯光把她的影子拉得很长。
<<you>>(喉咙发干,声音压得低沉)你是谁?怎么进来的?<</you>>
她没立刻回答,只是视线从你的枪口移到你的脸上,又很快移开,像在评估你会不会真的扣扳机。
<<say '???' setup.ImagePath+'npc/saika/touxiang.png'>>我跟我的同伙走散,被困在这里了。我刚刚在楼上看到你的身手非常厉害,所以...希望你能带我出去...<</say>>
我仔细的打量着她,她说话时,我一直盯着她的眼睛,同时在心里默默盘算着。
<<you>>我带你出去可以,但是我需要你把你在这里发生的事情全部都告诉我。特别是,你有没有碰到一个叫Saika的女人!<</you>>
<<saika>>我...叫Saika……就是你来找的那个人。<</saika>>
我脑子嗡的一声,像被什么东西砸中。枪口微微下压,但没完全放下。
<<you>>……Saika?黑哥悬赏找的那支小队的Saika?<</you>>
她点点头,嘴角扯出一个很淡的、几乎看不出的苦笑。
<<saika>>对,就是我。我的小队全没了……我一个人躲在这里...<</saika>>
你慢慢直起身,把枪收低,但食指还贴着扳机护弓。尿意早就没了,只剩肾上腺素在血管里乱窜。
<<you>>你失联之后,黑哥发布了悬赏,我接了,他让我把你带回去,活的!<</you>>
<<saika>>我猜到了……<</saika>>
她顿了顿,视线落到地上,又抬起来,直直看着我。
<<saika>>我们带来的设备坏了,无法联络城里,出去的路也被惊动的丧尸堵死,我被困在这里,出不去。我试过几次,都差点被撕了。我看你身手不错,动作干净利落,一看就是练过的!所以……我挑了这个时机跟你见面,是怕你身体比脑子反应快,走火把我崩了。<</saika>>
我沉默了两秒,脑子里快速过了一遍这一路上搜寻到的线索。Saika往前走了一小步,双手还是举着。
<<saika>>但是我们暂时还不能走,这次碰到意外,我的任务还没完成...不过……你先把裤子拉链拉好吧。刚才你尿得挺急的。<</saika>>
我看着她,枪口终于完全放下,但没收进枪套。胸口那股被注视的寒意还没完全消散,但现在多了一层更现实的警惕。
|EN|
I holstered my gun, turned my back to the door, unzipped my pants, and started relieving myself into the toilet. Suddenly the door creaked open with a low groan. My whole body jolted—my stream nearly veered off course, almost splashing my boots. Instinctively my right hand shot toward the gun as I spun around, already dropping into a half-crouch, barrel rising to chest height.
<br><br>Standing in the doorway was a girl. She looked about twenty-five or twenty-six, features delicate and attractive, wearing glasses, hair casually tied back. Her face was pale, but her eyes were strikingly bright—like a cat’s in the dark. Both hands were raised to shoulder level, palms out, signaling she was unarmed.
<<say '???' setup.ImagePath+'npc/saika/touxiang.png'>>Don’t shoot… I mean no harm.<</say>>
Her voice was low and steady, slightly hoarse, as though she hadn’t spoken properly in a long time. My finger rested against the trigger guard; the barrel stayed up. My eyes quickly scanned her from head to toe—no bite marks, no blood, clothes dirty but intact. She didn’t step forward, just stood in the doorway, her shadow stretched long by the light.
<<you>>(throat dry, voice low and rough) Who are you? How did you get in here?<</you>>
She didn’t answer immediately. Her gaze shifted from the gun barrel to my face, then quickly away again—like she was gauging whether I’d actually pull the trigger.
<<say '???' setup.ImagePath+'npc/saika/touxiang.png'>>I got separated from my team and ended up trapped here. I saw you upstairs—your movements are impressive. So… I was hoping you could get me out…<</say>>
I studied her carefully. While she spoke, I kept my eyes locked on hers, mentally running through every possible angle.
<<you>>I can get you out, but first you tell me everything that happened here. Especially—have you seen a woman named Saika?!<</you>>
<<saika>>I… am Saika. The one you’re looking for.<</saika>>
My mind buzzed like I’d been hit. The barrel dipped slightly, but not all the way.
<<you>>…Saika? The Saika from Black Bro’s bounty—the one from that squad?<</you>>
She nodded, the corner of her mouth pulling into a faint, almost invisible bitter smile.
<<saika>>Yes, that’s me. My whole team is gone… I’ve been hiding here alone…<</saika>>
I slowly straightened, lowered the gun but kept my index finger against the trigger guard. The urge to piss had vanished completely; only adrenaline surged through my veins now.
<<you>>After you went dark, Black Bro put out a bounty. I took the job—he wants you back alive!<</you>>
<<saika>>I figured as much…<</saika>>
She paused, eyes dropping to the floor, then lifting again to meet mine directly.
<<saika>>Our comms gear broke. We couldn’t contact the city. The way out got blocked by alerted zombies. I’ve been stuck here—tried escaping a few times, nearly got torn apart each one. I see you're quite skilled, with clean and neat movements. You must have trained before! So... I chose this time to meet you because I was afraid your body would react faster than your brain and you might accidentally shoot me.<</saika>>
I stayed silent for two seconds, brain racing through every clue I’d gathered on the way here. Saika took a small step forward, hands still raised.
<<saika>>But we can’t leave yet. Something unexpected happened—my mission isn’t finished… though… you should probably zip up your fly properly first. You looked pretty desperate earlier.<</saika>>
I stared at her. The barrel finally dropped completely, though I didn’t holster it. The cold prickle of being watched hadn’t fully faded, now layered with a more grounded wariness.
<</lang>>
<<linkreplace _action>>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan0/daliang.png"]]</center>
<br>
<<lang>>
说着,Saika竟然蹲了下来,打量了一眼我的肉棒。
<<saika>>...嗯...想不到还挺大的<</saika>>
我低头一看,果然拉链没完全拉上。尴尬一闪而过,我赶紧拉好,咳了一声。
<<you>>(咳)你先去外面等我!帮你可以,但你得把所有事都告诉我——你的小队是怎么没的,你怎么活下来的,这里到底发生了什么。还有……具体的任务是什么?<</you>>
<<saika>>成交!<</saika>>
她呼出一口气,像终于卸下什么重担,转身向门外走去,嘴角又扯出那个淡得几乎看不见的笑。
|EN|
As she spoke, Saika actually crouched down and gave my cock a quick, appraising glance.
<<saika>>…Hm… didn’t expect it to be this big.<</saika>>
I looked down—sure enough, the zipper wasn’t fully closed. A flash of embarrassment hit me; I hurriedly zipped it up and cleared my throat.
<<you>>(cough) Go wait outside first! I’ll help you, but you have to tell me everything—how your team got wiped out, how you survived, what the hell really happened here. And… what exactly is your mission?<</you>>
<<saika>>Deal!<</saika>>
She let out a long breath, as though finally setting down some heavy burden. Turning toward the door, she walked out, the corner of her mouth pulling into that faint, almost imperceptible smile again.
<</lang>>
<br><br>
<<set $characters["saika"].location to "AncientBookRoom">>
<<run setup.QuestManager.complete("q_Saika_shizong")>>
<<return "Back">>
<</linkreplace>>
<</linkreplace>>
<</if>>
<</linkreplace>>
<<else>>
<center>[img[setup.ImagePath + "changjing/1/AncientBookRoom1.png"]]</center>
<<lang>>
Saika不在这里,我检查了四周,这里并没有什么异常。但在检查时,我发现一些物资,应该是Saika为我准备的。
|EN|
Saika wasn’t here. I checked the surroundings—nothing out of the ordinary. But while searching, I found some supplies; they must have been left here by Saika for me.
<</lang>>
<<link "Pickup" Diaoluo>>
<<generateLoot 5
`{
tags: "food",
max: 1,
chance: 0.3
}`
`{
tags: "drink",
max: 2,
chance: 0.5
}`
`{
tags: "medical",
max: 1,
chance: 0.2
}`
`{
tags: "valuable",
min: 0,
max: 1,
chance: 0.01
}`
>>
<<run $diaoluo.pickup("shengzi", 1)>>
<</link>>
<<return "Back">>
<</if>><<missionBoard "saika" "Saika">>
<<link "Back">><<goto $characters["saika"].location>><</link>>
<center>[img[setup.videoPath + "saika/tushuguan0/AncientBookRoom2.png"]]</center>
<<lang>>
我从卫生间出来,回到那个昏暗的藏书室。藏书室里还有几张能用的桌子,我和Saika没再靠着书架站着,而是走过去,拉开椅子坐下,应急灯的蓝光从头顶洒下来,把整个环境映照的竟然有一种反差感的温馨。
<br><br>
<<saika>>小队的事……其实没说完。<</saika>>
她侧着身,用左手支着头,将整个身体的重量压在桌子上,眼睛直视着我。
<<saika>>丧尸已经开始变异了。我们这次进来是想要收集一下丧尸变异到什么程度的信息,同时看看能不能调查出引起丧尸变异的原因。最后,我还需要一些丧尸的身体组织进行化验研究分析。<</saika>>
她顿了顿,目光定定的看了我一会。
<<saika>>但我们一进档案室,就出事了。丧尸的变异程序远超我们的预估,队长倒下了,我们还没反应过来,丧尸就从四面八方涌进来了。它们不乱咬,像被指挥一样,堵住所有出口。我们边打边退,最后只剩我一个人钻进这个藏书室,封了暗门。<</saika>>
她停下,视线直直钉在你脸上。
<br><br>
应急灯嗡鸣着,灯光偶尔闪烁,像在呼吸。我靠在椅背上,心里合计着Saika所说内容的真假,并评估着帮她的可行性与风险。
<<you>>我这次的任务是把你带回去,而不是帮你完成计划。那得另外算钱。我不是你的队友,也不是黑哥的打手。<</you>>
她嘴角扯出一个自嘲的笑,点点头。
<<saika>>行,我懂。你还真是不见兔子不撒鹰。<</saika>>
她站起来,拍拍裤子上的灰,转身从书架后拉出一个小工具箱。
<<saika>>你应该也知道,我是一名机械师,为了表示诚意,我可以帮你修装备。你的武器与护甲都有着不同程度的磨损,战术刀刃口也钝了,我有备件,可以帮你修好。但我得先做一些准备……我需要你帮我找几样东西回来<</saika>>
她把工具箱推到桌子中央,视线又落回你脸上。
<<saika>>这些东西都在这栋楼的藏书室层,或者隔壁储藏室。丧尸不多,但小心点。帮我弄回来,我就把你的装备修好。<</saika>>
桌子上的应急灯又闪了一下,影子在墙上晃了晃,像有人在暗中点头。我看着她,她没躲我的目光,只是静静等着,像在赌我会不会伸手接下这份“诚意”。
|EN|
I came out of the restroom and returned to the dimly lit archive room. A few usable tables remained; Saika and I no longer stood leaning against the bookshelves. Instead, we walked over, pulled out chairs, and sat down. The blue light from the emergency lamps poured down from overhead, bathing the entire space in an oddly contrasting warmth—almost cozy against the gloom.
<br><br>
<<saika>>About my team… I didn’t finish telling you everything.<</saika>>
She leaned sideways, propping her head on her left hand, letting her full weight rest against the table as she looked straight into my eyes.
<<saika>>The zombies have begun mutating. Our mission here was to gather data on the extent of the mutations, try to uncover the cause behind them, and collect tissue samples for lab analysis and research.<</saika>>
She paused, her gaze fixed on me for a long moment.
<<saika>>But the second we entered the archive section, things went to hell. The mutation rate was far beyond our projections. The captain fell first. Before we could react, zombies flooded in from every direction. They weren’t mindless—they didn’t bite chaotically; they moved like they were being directed, sealing every exit. We fought while retreating, but in the end I was the only one who made it into this hidden room and sealed the secret door.<</saika>>
She stopped, her eyes locked directly on my face.
<br><br>
The emergency light buzzed overhead, flickering now and then like it was breathing. I leaned back in my chair, mentally weighing the truth of her words and calculating the feasibility and risks of helping her.
<<you>>My job this time is to bring you back—not to help you finish your mission. That’s extra pay. I’m not your teammate, and I’m not Black Bro’s hired muscle.<</you>>
She pulled a self-deprecating smile at the corner of her mouth and nodded.
<<saika>>Got it. You really don’t move until you see the payoff.<</saika>>
She stood up, brushed the dust off her pants, then turned and pulled a small toolbox out from behind a bookshelf.
<<saika>>You probably already know I’m a mechanic. To show good faith, I can tune up your gear. Your weapon and armor have varying degrees of wear; your tactical knife is dull too. I have spare parts—I can get them back into top condition. But I need to prep first… so I’ll need you to help me retrieve a few things.<</saika>>
She pushed the toolbox to the center of the table, her gaze returning to my face.
<<saika>>The items are on the lab floor of this building, or in the adjacent storage room. There aren’t many zombies, but stay careful. Bring them back, and I’ll fix your equipment.<</saika>>
The emergency light on the table flickered again; shadows danced briefly across the wall like someone nodding in the dark. I looked at her. She didn’t avoid my stare—just waited quietly, betting on whether I’d take the bait of her “good faith.”
<</lang>>
[[Back|saika-RenWuBan]]<<lang>>
Saika接过你递过去的物品,还有一包意外找到的、包装皱巴巴但没开封的香烟。她低声说了句“谢谢”,转身把东西搁在桌子上,弯腰打开工具箱,准备开始修理我的装备。
<br><br>
就在她转身的那一瞬,我动了。
<br><br>
我从后面猛地欺身而上,一把将她整个人摁到桌面上。桌面发出沉闷的“咚”声,她的胸口和脸颊贴上冰冷的木板,来不及做任何反应就被我右手举起的枪管顶住太阳穴。
|EN|
Saika took the items you handed her, including an unexpected pack of cigarettes—wrinkled packaging but still sealed. She murmured a quiet “Thank you,” turned, and set everything on the table. Bending down, she opened the toolbox, ready to start repairing my gear.
<br><br>
In the instant she turned her back, I moved.
<br><br>
I lunged forward from behind, slamming her entire body down onto the desk. The tabletop thudded dully under the impact. Her chest and cheek pressed against the cold wood; before she could react, the barrel of my raised gun was already pressed firmly against her temple.
<</lang>>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan0/anzhu.png"]]</center>
<br>
<<lang>>
应急灯的冷蓝光从头顶洒下来,把她的侧脸照得苍白,瞳孔瞬间放大。她呼吸一滞,身体僵硬了半秒,然后慢慢转过头,眼睛里满是震惊和一丝难以掩饰的慌乱。
<<saika>>……你……你干什么?<</saika>>
她的声音有点抖,但没尖叫,也没挣扎,只是死死盯着我,像在评估我会不会真的扣扳机。我压低声音,枪管往前顶了顶,让冰冷的金属更贴近她的皮肤。
<<you>>很抱歉,我对刑侦也略懂一点哦。我刚才在馆里搜索这些物品时,发现了一些很有意思的痕迹!所以,现在你是不是应该告诉我,你的同伴到底是怎么死的?或者说,你是怎么害死他们的,以及你为什么要这样做。<</you>>
Saika的眼神彻底慌了。瞳孔剧烈收缩,呼吸急促起来,像被扼住了喉咙。她沉默了很久,久到应急灯的嗡鸣声都显得刺耳。终于,她闭了闭眼,声音低得几乎听不见。
<<saika>>……好,我说。<</saika>>
她深吸一口气,像在把所有伪装都吐出去。
<<saika>>丧尸病毒爆发没多久,我的家人就全死了……爸妈、弟弟,全被感染后撕成碎片。我一个人活下来,差点疯掉。后来听说“永恒联邦”在招募科学家研制抗病毒血清,我就去了。我以为那是最后的希望。可我进去了才发现……他们根本不是在救人。他们打着“血清”的旗号,网罗所有顶尖生物学家,实际是为统治者研制生化战士和长生不老药。那些实验体……我亲眼见过,他们把活人改造成怪物,再把怪物改造成更强的怪物。我逃不掉,只能继续伪装。<</saika>>
她顿了顿,声音更低。
<<saika>>后来,我偶然接触到“解放阵线”的人。他们是由从联邦叛逃的科学家组成核心团队的势力,是一群真正想要结束这个乱世的人。我们实力太弱,只能潜伏在各大势力里做卧底,收集情报。我被安排到中立商业城邦--枢纽城,潜伏在黑哥身边。黑哥虽然很看中我,但那也只是因为我的机械师身份可以给他带来巨大的利益。他从不允许我单独行动,身边总有眼线跟着。这次任务……是我唯一的机会。除掉那些眼线,独自完成实验。<</saika>>
她抬起眼,直直看着你,蓝光在她瞳孔里反射出细碎的光点。
<<saika>>解放阵线已经研制出能让病毒“定向变异”的化合物……或许,让新感染者保留意识,成为新人类。我们需要活体数据来验证。我利用这次行动,杀了黑哥派来的眼线。然后我躲进这里,等一个能信任……或者能被利用的人进来。<</saika>>
我听到“永恒联邦”四个字时,眼神不自觉晃了晃。Yua和我就是从那里叛逃出来的,而我……是联邦目前唯一没被销毁的生化战士实验品。
<br><br>
Saika说这些的时候,我一直盯着她的眼睛,而且我也是从联邦出来的人,这次我知道,她没有再撒谎。她的瞳孔没有闪烁,呼吸虽然乱,但节奏是真实的恐惧和疲惫。我枪管没放下,但声音缓了些。
<<you>>黑哥对你其实不错。虽然是为了利益,但他没亏待你。你为什么不跟他坦白?<</you>>
Saika苦笑了一声,声音带着自嘲。
<<saika>>坦白?黑哥那种人,我见得太多了。他们嘴上说要秩序、要重建,实际上只想当独裁者。能力越强的人,越是这样。他要是知道解放阵线有这种东西,会第一个抢过去,用来扩充自己的势力。和平?对他们来说,和平只是另一种统治工具。我一开始骗你,也是因为……我怕你也是那种人。<</saika>>
她顿了顿,声音低下去。
<<saika>>现在你知道了。枪你可以开,但我求你……至少听完我的计划,帮我完成这次实验。之后,你想怎么处置我都可以。价钱……你已经知道我的底牌了,我没什么东西可以给你的,唯一剩下的就只有这具身体。你看看,我长的其实还不错!<</saika>>
她的脸贴在桌面上,侧脸被压得微微变形,却没躲你的目光,这么说时,还有手理了理自己的头发,给了我一个看似甜美的笑容。
<br><br>
应急灯嗡鸣着,蓝光在我们之间拉出一道冷冷的界线。
|EN|
The cold blue light from the emergency lamp poured down from above, casting her profile in stark pallor; her pupils dilated instantly. Her breathing hitched, body rigid for half a second before she slowly turned her head. Her eyes were full of shock and barely concealed panic.
<<saika>>…What… what are you doing?<</saika>>
Her voice trembled, but she didn’t scream or struggle—just stared at me, as if gauging whether I would really pull the trigger. I kept my voice low, pressing the barrel forward until the cold metal pressed closer against her skin.
<<you>>Sorry, but I know a little about criminal investigation too. While I was searching for these items in the archive, I found some very interesting traces! So now… shouldn’t you tell me exactly how your teammates died? Or rather—how you killed them, and why you did it.<</you>>
Saika’s expression collapsed into pure panic. Her pupils shrank sharply; her breathing turned rapid, as though her throat had been seized. She stayed silent for a long time—so long that the hum of the emergency light grew grating. Finally, she closed her eyes and spoke in a voice barely above a whisper.
<<saika>>…Fine. I’ll tell you.<</saika>>
She drew a deep breath, as if exhaling every last pretense.
<<saika>>Not long after the zombie virus broke out, my entire family was gone… Mom, Dad, my little brother—all torn apart after infection. I survived alone and nearly lost my mind. Then I heard the “Eternal Federation” was recruiting scientists to develop an antiviral serum, so I went. I thought it was our last hope. But once inside… I realized they weren’t saving anyone. Under the banner of “serum research,” they gathered the world’s top biologists to create biochemical soldiers and immortality drugs for the rulers. I saw the test subjects with my own eyes—they turned living people into monsters, then turned those monsters into even stronger ones. I couldn’t escape; I could only keep pretending.<</saika>>
She paused, voice dropping lower.
<<saika>>Later, I came into contact with people from the “Liberation Front.” They’re a force built around scientists who defected from the Federation—people who genuinely want to end this chaos. We’re too weak to fight openly, so we infiltrate major factions as moles, gathering intelligence. I was assigned to the neutral trade hub—Hub City—to stay close to Black Bro. He valued me highly, but only because my skills as a mechanic brought him massive profits. He never let me act alone; there were always watchers. This mission… was my only chance. Eliminate the eyes, complete the experiment on my own.<</saika>>
She lifted her gaze, looking straight at you; tiny shards of blue light reflected in her pupils.
<<saika>>The Liberation Front has developed a compound that can induce “directed mutation” in the virus… perhaps allowing newly infected to retain consciousness and become a new kind of human. We need live data to confirm it. I used this operation to eliminate Black Bro’s watchers. Then I hid here, waiting for someone I could trust… or someone I could use.<</saika>>
When I heard the words “Eternal Federation,” my eyes flickered involuntarily. Yua and I had defected from there—and I… am the Federation’s only surviving biochemical soldier prototype that hasn’t been destroyed.
<br><br>
While Saika spoke, I kept staring into her eyes. Having come from the Federation myself, I knew this time—she wasn’t lying anymore. Her pupils didn’t waver; her breathing, though ragged, carried the rhythm of genuine fear and exhaustion. I kept the barrel steady, but my voice softened slightly.
<<you>>Black Bro actually treated you quite well. Even if it was for profit, he never shortchanged you. Why didn’t you just come clean with him?<</you>>
Saika gave a bitter laugh, voice laced with self-mockery.
<<saika>>Come clean? I’ve seen too many men like Black Bro. They talk about order, about rebuilding—while all they really want is to be dictators. The more capable they are, the worse they get. If he knew the Liberation Front had something like this, he’d be the first to seize it and use it to expand his own power. Peace? To people like him, peace is just another tool for control. I lied to you at first because… I was afraid you were the same kind of person.<</saika>>
She paused, voice dropping even lower.
<<saika>>Now you know everything. You can pull the trigger. But I beg you… at least hear out my plan and help me finish this experiment. After that, you can do whatever you want with me. As for payment… you already know all my cards. I have nothing left to offer—except this body. Look, I’m actually quite pretty, aren’t I?<</saika>>
Her cheek was pressed against the desk, slightly distorted from the pressure, yet she didn’t look away. As she spoke, she even reached up to smooth her hair and gave me what looked like a sweet smile.
<br><br>
The emergency light hummed overhead, drawing a cold blue line between us.
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
我听完Saika的话后,陷入了久久的沉默。
<br><br>
这个女人跟Yua和我一样,都在这个末世里失去了所有,心里埋藏着巨大的伤恸。 她现在唯一的执念就是制造出丧尸病毒血清,终结这个末世,为她的家人报仇。为此,她不惜牺牲她的肉体与生命。她也是一名真正的战士。
<br><br>
我把枪从她的太阳穴上移开,金属管口离开皮肤时,她的身体微微一颤,却没立刻动弹。应急灯的蓝光在她侧脸上投下冷冷的阴影,我看着她被压得变形的脸颊和那缕被她自己理开的乱发,心里涌起一股复杂的情绪。
<<you>>我们心里都清楚,能拯救人类的,从来都不是某种血清。但为了你死去的家人……我可以帮你这个忙。<</you>>
Saika的眼睛瞬间亮了亮,嘴角刚弯起一个真正的笑,我左手却猛地按住她的腰,把她重新摁回桌面。她的呼吸一滞,身体本能地绷紧,却没挣扎。
<br><br>
我右手掀起她的短裙,黑丝包裹下的臀部在蓝光里显出柔和却诱人的弧度,丝袜的纹理在灯光下泛着微光。我一边解开裤子,一边俯下身,声音贴着她的耳边。
<<you>>忙我可以帮,但你骗我的那部分惩罚,也必须得受。<</you>>
<<video 'saika/tushuguan0/houceng'>>
<br><br>
我并没有真的进一步。我只是把硬挺的肉棒贴在她被黑丝包裹的臀上,缓缓摩挲。布料的摩擦带来一种隔着层的、又痒又热的触感。Saika明显感受到了我的意图,她没躲,反而侧过身,右手从桌面伸过来,轻轻按住我的肉棒,用掌心和臀部的弧度把我夹在中间。
|EN|
After hearing Saika’s words, I fell into a long silence.
<br><br>
This woman, like Yua and me, had lost everything in this end of the world—carrying immense grief buried deep inside. Her only obsession now was to create an antiviral serum for the zombie virus, to end this apocalypse and avenge her family. For that, she was willing to sacrifice her body and her life. She was a true warrior too.
<br><br>
I slowly lifted the gun from her temple. The moment the cold metal left her skin, her body gave a faint shiver, but she didn’t move. The emergency light’s blue glow cast cold shadows across her profile; I looked at her cheek pressed flat against the desk and the stray lock of hair she had smoothed back herself. A complex wave of emotion surged in my chest.
<<you>>We both know deep down that no serum alone can save humanity. But… for the sake of your lost family… I’ll help you with this.<</you>>
Saika’s eyes lit up instantly; the corner of her mouth began to curve into a genuine smile—until my left hand suddenly pressed down on her waist, pinning her back to the desk. Her breath caught; her body tensed instinctively, but she didn’t struggle.
<br><br>
With my right hand, I lifted the hem of her short skirt. Beneath the black stockings, her hips showed a soft yet enticing curve in the blue light, the nylon weave shimmering faintly. As I undid my pants, I leaned down, voice low against her ear.
<<you>>I’ll help you—but the punishment for deceiving me… you still have to take it.<</you>>
<<video 'saika/tushuguan0/houceng'>>
<br><br>
I didn’t go further than that. I simply pressed my hardened length against her silk-clad hips, sliding slowly back and forth. The friction through the fabric created a layered sensation—itchy, hot, and maddening. Saika clearly understood my intent. She didn’t pull away. Instead she turned slightly to the side, her right hand reaching back from the desk to gently grasp me, using her palm and the curve of her hips to hold me snugly between them.
<</lang>>
<br><br>
<<linkreplace _action>>
<<lang>>
我在Saika的臀上缓缓摩蹭时,她忽然转过身来,脸颊贴着桌面,眼睛湿漉漉地看向我,声音低哑却带着一丝颤抖。
<<saika>>你其实……可以做的更多。<</saika>>
她慢慢撑起身子,坐到桌面上,身子往后微微仰靠,双手撑在身后支撑身体,双腿自然分开。蓝光从头顶洒下来,把她的轮廓勾勒得柔软又脆弱。她伸手握住我的肉棒,指尖温热,带着一点小心翼翼的试探,把它引向自己腿间。
<br><br>
<<video 'saika/tushuguan0/ceng'>>
<br><br>
隔着黑丝和内裤,她按住我的肉棒,让那份硬挺贴合在她柔软的小穴上,继续缓慢地前后磨蹭。丝袜的细腻纹理和布料的阻隔让触感更折磨人,每一次滑动都带着湿热的反馈,她的呼吸越来越乱,胸口起伏得明显,喉咙里偶尔漏出细碎的、压抑的鼻音。
<br><br>
她忽然伸手,撕开黑丝裆部的一道口子,丝线断裂的声音在安静的藏书室里格外清晰。接着她掰开内裤,露出那片温热的湿润,右手抓着我的肉棒往里塞。
<br><br>
那一刻,我往后退了一步,拉上裤子拉链,伸手扶住她的手臂,把她轻轻拉起来。她顺势坐到桌沿上,短裙滑落盖住大腿,双手理了理凌乱的头发和衣服,眼睛抬起来,怔怔地看了我好久。蓝光在她瞳孔里映出细碎的光点,像有泪光在打转,但却什么也没掉下来。
<<saika>>……谢谢你……<</saika>>
她的声音很轻,几乎被应急灯的嗡鸣盖过去。带着一点哽咽,又带着一种久违的释然。她低头看着自己的手,指尖还残留着刚才的温度,肩膀微微耸动,像在努力平复情绪。我没立刻说话,只是站在她面前,伸手把她额前的一缕乱发别到耳后。她的睫毛颤了颤,终于抬起头,直直看着我。
<<you>>后面需要我做什么?<</you>>
她深吸一口气,声音恢复了些许平静,却还是带着鼻音。
<<saika>>我需要你帮我击杀 3 只【小女孩丧尸】,并把她们的身体组织带一些给我,我需要用它们来完成药剂的最后一步合成。<</saika>>
我点点头,拿起枪,重新披上战术盔甲,没有给她更多的回应,直接拉开门走了出去。此时她的心情,还是让她一个人慢慢整理吧。
|EN|
As I slowly rubbed Saika's buttocks, she suddenly turned around, her cheek pressed against the table, her eyes looking at me wetly, her voice hoarse yet with a hint of trembling.
<<saika>>You can actually... do more.<</saika>>
She slowly propped herself up, sat on the table, leaned back slightly, supported herself with her hands behind her, and spread her legs naturally. Blue light spilled down from above, outlining her figure softly and delicately. She reached out and grabbed my penis, her fingertips warm and tentative, guiding it between her legs.
<br><br>
<<video 'saika/tushuguan0/ceng'>>
<br><br>
Through the black silk and panties, she pressed my penis, making that hardness fit against her soft pussy, continuing to slowly rub back and forth. The delicate texture of the silk stockings and the barrier of the fabric made the touch more torturous. Each slide brought a hot and humid feedback. Her breathing became more and more disordered, her chest rose and fell noticeably, and occasionally faint, suppressed nasal sounds escaped from her throat.
<br><br>
She suddenly reached out and tore a hole in the crotch of the black silk. The sound of the thread breaking was especially clear in the quiet library. Then she pulled aside her panties, revealing that warm wetness, and grabbed my penis with her right hand to push it inside.
<br><br>
In that moment, I stepped back, zipped up my pants, reached out to steady her arm, and gently helped her up. She sat on the edge of the desk, her short skirt falling to cover her thighs again. Her hands smoothed her disheveled hair and clothes. Then she lifted her eyes and stared at me for a long time. The blue light reflected tiny flecks in her pupils—like tears gathering, yet none fell.
<<saika>>...Thank you...<</saika>>
Her voice was very soft, almost drowned out by the hum of the emergency light. It carried a little choking, and also a long-lost sense of relief. She looked down at her hands, the tips of which still retained the temperature from just now, and her shoulders shrugged slightly, as if trying to calm her emotions. I didn't speak immediately, just stood in front of her, reached out and tucked a strand of messy hair from her forehead behind her ear. Her eyelashes trembled, and she finally looked up, staring straight at me.
<<you>>What do you need me to do next?<</you>>
She took a deep breath, her voice regained some calm, but still carried a nasal tone.
<<saika>>I need you to help me kill 3 [Little Girl Zombies] and bring me some of their body tissues. I need them to complete the final step of synthesizing the potion.<</saika>>
I nodded, picked up the gun, put on the tactical armor again, didn't give her more response, and directly opened the door and walked out. At this time, her mood was better left for her to sort out alone.
<</lang>>
<<return "Back">>
<</linkreplace>>
<</linkreplace>><<lang>>
我把背包里的冷冻管递给Saika时,她的手指微微颤抖了一下。她接过去,动作很轻,像捧着最后一线希望。
<br><br>
我把整个过程仔细的讲给她听:从找到那个穿着学生服的丧尸开始,到血清注射后漫长的等待,再到她最后那点微弱的反应,最后是我掏枪结束一切。说到注入“生命精华”时,我声音低了下去,没细说细节,只说“按你说的,我试了……然后她才有了明显的反应,但还是失败了。
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan0/anwei.png"]]</center>
<br><br>
Saika听得很认真,眼睛一直盯着我,没打断。等我说完,她沉默了好一会儿,才伸手轻轻按住我的手臂。
<<saika>>……对不起......。<</saika>>
她的声音很轻,同时握住我的手,捏了两下,以示对我的安慰。我心里能意识到,明明她才是最盼着成功的那个人,可她现在却在安慰我。我看着她眼底的疲惫和压抑的失望,心里反而更堵。她低头看着手里的冷冻管,拇指摩挲着管壁上的霜花。
<<saika>>你提到……注入生命精华后,她的反应才明显起来。这点很重要。之前血清单独作用时几乎没变化,但是有了生命精华的介入后,她的体温、心跳、甚至神经电位都有了剧烈波动。这说明……触发条件可能不是单纯的化学物质,而是“活性生命能量”的直接传递。人类最原始的……连接。<</saika>>
她顿了顿,抬头看我,眼神里多了一丝探究,又很快掩饰过去。
<<saika>>我可以用这些丧尸血液样本做进一步分析,调整血清配比。也许下一次……就能稳定住那个反应窗口。<</saika>>
她说得小心翼翼,却掩不住那股跃跃欲试的劲头。
<br><br>
她提到注入生命精华时,一到灵光像闪电一样突然划过我的心头。我突然联想到......我曾经是联邦的实验体,唯一存活下来的生化战士。我的身体里流着他们调配的基因药剂,能在极端条件下维持生命活性,甚至短暂“点燃”濒死者的应激反应。这就是为什么Saika的血清在我介入后,才有了那一瞬的“复苏”迹象。我看着她。她眼睛亮亮的,像看到了一条新路。
<br><br>
我沉默了很久。这是Yua和我之间最大的秘密,埋得比任何人都深。我回过头审视着saika在实验台前忙碌的身影,她的手指飞快地在离心机上操作,眼睛里那股跃跃欲试的光芒越来越亮。她明明刚经历了一次彻底的失败,可现在却像打了鸡血一样,已经开始规划下一次实验的变量调整、样本配比、甚至实验体的筛选标准。这个女人虽然没有害我的心思,但她并不是自己人......但我看着她那副跃跃欲试的表情,明显已经从这次的失败中走了出来,想立刻开展下一次的试验......她现在明显把注入生命精华理解成了,简单的来一发,想要继续让我帮她......
<br><br>
这个疯女人,明显还想让我继续帮她干丧尸!她虽然宽慰了我,但为了她的理想,这事儿她绝对干的出来!!!
<br><br>
那个过程我实在不愿意回想!不行,顾不上那么多了!!!我深吸一口气,把压在胸口很久的那块石头终于吐出来。
|EN|
When I handed Saika the cryogenic tube from my backpack, her fingers trembled slightly. She took it with the utmost care, as though holding the last thread of hope.
<br><br>
I recounted the entire process in detail: from finding the zombie in the school uniform, to the long wait after injecting the serum, to that faint final reaction, and finally drawing my gun to end it. When I reached the part about “infusing life essence,” my voice dropped. I didn’t go into details, only saying, “Like you told me, I tried… and that’s when she showed a clear reaction. But it still failed.”
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan0/anwei.png"]]</center>
<br><br>
Saika listened intently, eyes fixed on me without interruption. When I finished, she stayed silent for a long while before reaching out to gently touch my arm.
<<saika>>…I’m sorry…<</saika>>
Her voice was soft. She squeezed my hand twice—a small gesture of comfort. I realized that even though she was the one who had pinned all her hopes on success, she was now consoling me. Looking at the exhaustion and suppressed disappointment in her eyes only made my chest feel heavier. She lowered her gaze to the cryogenic tube, thumb tracing the frost patterns on its surface.
<<saika>>You mentioned… the reaction only became noticeable after infusing life essence. That’s crucial. The serum alone produced almost no change, but once life essence was introduced, her body temperature, heartbeat—even neural activity—showed dramatic fluctuations. This suggests… the trigger isn’t purely chemical. It’s the direct transfer of “active life energy.” The most primal human… connection.<</saika>>
She paused, glancing up at me with a flicker of curiosity that she quickly masked.
<<saika>>I can use these zombie blood samples for further analysis and refine the serum formula. Maybe next time… we can stabilize that reaction window.<</saika>>
She spoke cautiously, but the eager spark in her voice was unmistakable.
<br><br>
The moment she mentioned infusing life essence, a lightning bolt of realization struck me. I suddenly remembered—I was once a federal test subject, the only surviving biochemical soldier. My body carries their engineered gene agents, capable of sustaining vital functions under extreme conditions and even briefly “igniting” the stress response in the dying. That was why Saika’s serum only showed that fleeting “revival” sign after my involvement. I looked at her. Her eyes were bright, like she’d just glimpsed a new path.
<br><br>
I stayed silent for a long time. This was the deepest secret between Yua and me—buried deeper than anyone knew. Turning back, I watched Saika bustling at the lab bench—fingers flying over the centrifuge, eyes gleaming with growing excitement. She had just suffered a complete failure, yet here she was, already energized, planning the next experiment’s variables, sample ratios, even criteria for selecting test subjects. This woman meant me no harm, but she wasn’t truly one of us… and looking at her eager expression, she had clearly moved past the setback and was itching to start the next trial… she clearly interpreted “infusing life essence” as simply doing it again, and wanted me to keep helping her…
<br><br>
This crazy woman obviously still wants me to keep hunting zombies for her! She may have comforted me, but for the sake of her ideal, she’d absolutely do it again!!!
<br><br>
I really don’t want to relive that process! No, no time to hesitate!!! I took a deep breath and finally let out the stone that had been crushing my chest for so long.
<</lang>>
<<set _action = setup.t("告诉她实情|Tell her the truth")>>
<<linkreplace _action>>
<br><br>
<<lang>>
<<you>>Saika......我告诉你一个秘密......我...是联邦的实验体。唯一存活下来的生化战士!他们在我身上注射过基因药剂,让我的细胞活性远超常人,这次能短暂的“点燃”濒死者的应激反应,很可能跟这个有关系。这是我和Yua最大的秘密,也是我们叛逃的原因。我的身体……不是正常人的身体。<</you>>
Saika的眼睛瞬间睁大,手里的试管差点滑落。她盯着我看了很久,像在确认我是不是在开玩笑。她的表情从震惊到震惊后的平静,再到一种复杂的理解。
<<saika>>……原来是这样。<</saika>>
<<you>>我可以继续帮你,但仅限于帮你收集样本,注入生命精华的事儿,我......无能为力......<</you>>
她轻轻呼出一口气,把试管放回架子上,转身面对我。
<<saika>>我完全能理解你的决定。你已经为这个实验付出太多了……那种感觉,我无法想象。谢谢你告诉我这个秘密。我不会再逼你继续“激活”任何实验体。这次真的结束了。<</saika>>
<<saika>>(顿了顿,声音软下来)你这趟辛苦了。你先休息一下,我去准备点吃的,陪你吃完饭,你就先回去吧。剩下的……我自己想办法。<</saika>>
她转身走向藏书室角落的小隔间,那里有个简易的加热板和一些从枢纽城带回来的罐头食物。她动作很快,没多久就端来两碗热腾腾的杂烩粥——米、豆子、几块压缩肉干,还有一点从旧罐头里挖出来的蔬菜酱。香气在冷空气里散开,让人胃口大开。我确实饿了,也累了。接过碗,低头吃了几口。粥很烫,咸香入味,带着一点家常的温暖。Saika坐在对面,笑着看我吃。
<<saika>>多吃点。你这几天都没好好休息。<</saika>>
我点点头,又舀了一勺。然后,头忽然一沉。视野开始模糊,像蒙上了一层灰雾。碗从手里滑落,粥洒了一桌。我想站起来,却发现腿软得像棉花。胸口一阵恶心,胃里翻江倒海。
<br><br>
我猛地抬头,看向Saika。她还坐在那里,表情平静,甚至带着一丝歉意。碗里的粥她一口没动。我张嘴想说什么,却只发出一声含糊的低吼。
<<you>>你……<</you>>
我的意识迅速下沉,像坠进深渊。最后一眼,我看到她轻轻叹了口气,伸手合上我的眼皮。然后,一切都黑了。我失去了意识。
<br><br>
不知过了多久,我逐渐恢复了意识。脑海里闪过晕迷前Saika走向我的表情,我暮然一惊,想要起身时,才意识到我的双手被铐住,眼睛被蒙上了,就连我身上的装备与衣物,也都被卸掉了。
<br><br>
这时,我耳边听得脚步声传来,脚步声由远及近,轻而稳,是Saika的节奏——她走路时左脚总比右脚稍重一点,这是之前我注意到的她的习惯。然后紧跟着是一阵悉悉索索的声音。
|EN|
<<you>>Saika… I’m going to tell you a secret… I… was a federal test subject. The only surviving biochemical soldier! They injected me with gene agents that give my cells far superior vitality to normal people. That brief “ignition” of the dying subject’s stress response this time… it’s very likely connected to this. This is the biggest secret between Yua and me—and the reason we defected. My body… isn’t a normal human body.<</you>>
Saika’s eyes widened instantly; the cryogenic tube nearly slipped from her fingers. She stared at me for a long time, as if confirming whether I was joking. Her expression shifted from shock to a calm after the shock, then to a complicated understanding.
<<saika>>…So that’s how it is.<</saika>>
<<you>>I can keep helping you—but only with collecting samples. As for infusing life essence… I’m… incapable of that anymore…<</you>>
She let out a soft breath, placed the tube back on the rack, and turned to face me.
<<saika>>I completely understand your decision. You’ve already given far too much for this experiment… I can’t even imagine what that felt like. Thank you for telling me this secret. I won’t force you to “activate” any more test subjects. This really ends here.<</saika>>
<<saika>>(after a pause, voice softening) You’ve had a hard trip. Rest for a bit. I’ll prepare something to eat. We’ll have a meal together, and then you can head back. The rest… I’ll figure out on my own.<</saika>>
She turned toward the small partitioned corner of the lab, where there was a simple heating plate and some canned goods brought back from Hub City. She moved quickly; soon she brought over two steaming bowls of mixed porridge—rice, beans, a few pieces of compressed jerky, and a bit of vegetable paste scraped from old cans. The aroma spread through the cold air, instantly whetting the appetite. I was genuinely hungry and exhausted. I took the bowl and ate a few mouthfuls. The porridge was hot, savory, and carried a touch of homey warmth. Saika sat across from me, smiling as she watched me eat.
<<saika>>Eat more. You haven’t rested properly these past few days.<</saika>>
I nodded and took another spoonful. Then my head suddenly grew heavy. My vision blurred, as though shrouded in gray mist. The bowl slipped from my hand, porridge spilling across the table. I tried to stand, but my legs felt like cotton. Nausea surged in my chest; my stomach churned violently.
<br><br>
I jerked my head up toward Saika. She was still sitting there, expression calm—even carrying a trace of apology. She hadn’t touched her own bowl. I opened my mouth to speak, but only a muffled growl came out.
<<you>>You…<</you>>
My consciousness sank rapidly, like falling into an abyss. In my last glimpse, I saw her sigh softly and reach out to close my eyelids. Then everything went black. I lost consciousness.
<br><br>
After an unknown amount of time, awareness slowly returned. The image of Saika approaching me before I passed out flashed through my mind—I jolted awake and tried to sit up, only to realize my hands were cuffed, my eyes blindfolded, and even my gear and clothing had been stripped away.
<br><br>
At that moment, footsteps approached—steady and light, growing closer. It was Saika’s rhythm—her left foot always slightly heavier than the right, a habit I’d noticed before. Then came a soft rustling sound.
<</lang>>
<<set _action = setup.t("挣扎|Struggle")>>
<<link _action 'ChuYanWanCheng01'>>
<</link>>
<</linkreplace>><<lang>>
当我要挣扎着想要坐起来时,一具温热的、赤裸的身体突然压上我的胸膛,将我死死按了回去。
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/ya.png"]]</center>
Saika的膝盖跪在我腰两侧,双腿夹紧我的髋部,让我完全动弹不得。她的胸口贴着我的胸肌,柔软而滚烫,呼吸急促地喷在我颈侧。
<<saika>>别害怕……我不会伤害你。<</saika>>
她的声音贴着我的耳朵,低哑而带着一丝歉意,却又透着不容置疑的决绝。温热的唇瓣蹭过我的耳廓,往下移到喉结,轻吻了一下,像在安抚,又像在标记。<<saika>>以后都由我来收集你的生命精华......(轻吻嘴唇)我知道你家里已经有了一个美娇娘……Yua,对吧?所以……第一次,由我主动,你是被迫的。这是我能想到的、最好的办法了<</saika>>
然后不由我分说,Saiak就吻了上来。
<br><br>
<<video 'saika/tushuguan1/wen'>>
|EN|
Just as I struggled to sit up, a warm, naked body suddenly pressed down on my chest, pinning me firmly back in place.
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/ya.png"]]</center>
Saika's knees straddled my waist, her thighs clamping tightly around my hips, rendering me completely immobile. Her breasts pressed against my chest—soft and scorching hot—her quick, ragged breaths fanning across my neck.
<<saika>>Don't be afraid… I won't hurt you.<</saika>>
Her voice was right against my ear, low and husky, carrying a trace of apology yet laced with an unyielding resolve. Warm lips brushed my earlobe, then slid down to my Adam's apple, planting a gentle kiss—part soothing, part claiming. <<saika>>From now on, I'll be the one to collect your life essence… (soft kiss on the lips) I know you already have a beautiful girl at home… Yua, right? So… for the first time, I'll take the initiative, and you'll be the one forced. This is the best way I could think of.<</saika>>
Before I could protest, Saika leaned in and kissed me deeply.
<br><br>
<<video 'saika/tushuguan1/wen'>>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Saika的唇贴上来时,带着一点凉意和急切的温度。她的吻密而细碎,像雨点般一路往下,从我的嘴唇滑到脖子,牙齿轻轻啃咬喉结,又往下到锁骨,舌尖在皮肤上打圈。她的长发垂下来,像丝绸般扫过我的脸颊和胸口,凉滑而痒。我蒙着眼,只能靠触感感受。她一路俯身向下,唇瓣掠过我的乳头时,她故意用舌尖绕着打转,轻咬一下,又立刻用温热的口腔包裹住,吸吮得我胸口一紧。她继续往下,吻过腹肌,每一块肌肉都被她用唇舌描摹一遍,像在确认我的轮廓。
<br><br>
她的手也没闲着,指尖顺着我的腰线往下,扒掉最后那条内裤。冰冷的空气一触即离,取而代之的是她掌心的温热。她握住我的肉棒,指尖带着一点颤抖,却很坚定地揉捏、撩拨,龟头被她拇指轻轻按压,冠状沟被她指腹反复摩挲,直到我完全硬挺起来。
<br><br>
她低低喘了一声,像在确认我已经失去抵抗的意志。然后重新跨坐上来,双膝跪在我腰两侧,双手扶住我的肩膀,把我拉起一些,让我半坐着,胸口贴近我的脸。她先是拉开我的眼罩,然后伸手撩起自己的胸衣,薄薄的杯托被她一把拉起,白花花的胸脯完全暴露在空气里,乳尖已经挺立,泛着淡淡的粉。
<br><br>
<<video 'saika/tushuguan1/xiong'>>
<br><br>
她捧住自己的胸,将乳尖送到我嘴边。我张开嘴,含住一侧乳尖,舌尖绕着打圈,牙齿轻轻啃咬。她立刻颤了一下,喉咙里溢出一声闷闷的呜咽,双手扣住我的后脑,把我往她胸前按得更紧。
<<saika>>用力点……没关系……<</saika>>
我吸吮得更重,舌面卷着乳晕,另一只手被她抓住,按到她另一侧胸上。她开始前后摇晃腰肢,让乳尖在我嘴里进出,呼吸越来越乱,胸口起伏得厉害。她的长发散下来,像帘子遮住我们两人的脸,汗意从她颈侧渗出,顺着锁骨往下淌,滴在我胸口,滚烫。
<br><br>
她忽然俯下身,吻住我的唇,把刚才我留在她胸上的温度又吻回来。舌尖缠绕得又湿又热,像要把所有愧疚和决心都吞进这个吻里。
|EN|
When Saika’s lips met mine, they carried a faint coolness mixed with urgent heat. Her kisses came in quick, scattered bursts—like raindrops trailing downward from my mouth to my neck. Her teeth grazed my Adam’s apple in gentle nips, then moved lower to my collarbone, her tongue tracing slow circles on my skin. Her long hair fell like silk across my face and chest, cool and ticklish. Blindfolded, I could only feel her. She continued downward, lips brushing my nipple—she deliberately circled it with the tip of her tongue, gave a light bite, then enveloped it in the warm wetness of her mouth, sucking until my chest tightened. She kept going, kissing across my abs, tracing every muscle with her lips and tongue as if memorizing my shape.
<br><br>
Her hands weren’t idle either. Fingertips followed the line of my waist downward, slipping off the last of my underwear. The brief chill of air was replaced by the heat of her palm. She wrapped her fingers around my cock—her touch trembling slightly but resolute—stroking, teasing, her thumb pressing gently against the head while her fingertips repeatedly glided along the sensitive ridge until I was fully hard.
<br><br>
She let out a soft, breathless sound, as though confirming I no longer had the will to resist. Then she straddled me again, knees on either side of my waist, hands on my shoulders pulling me up slightly so I was half-sitting, my chest close to her face. She first removed my blindfold, then lifted her own top—the thin fabric cups pulled up in one motion, baring her pale breasts to the air. Her nipples were already stiff, flushed a soft pink.
<br><br>
<<video 'saika/tushuguan1/xiong'>>
<br><br>
She cupped her breast and guided the nipple to my lips. I parted them, taking it into my mouth, tongue circling slowly, teeth grazing lightly. She shuddered instantly, a muffled whimper escaping her throat. Her hands gripped the back of my head, pressing me harder against her chest.
<<saika>>Harder… it’s okay…<</saika>>
I sucked more firmly, tongue flattening over the areola. She guided my other hand to her remaining breast. She began rocking her hips back and forth, letting the nipple slide in and out of my mouth. Her breathing grew ragged, chest heaving. Her long hair fell like a curtain around our faces. Sweat beaded along her neck, trailing down her collarbone and dripping hot onto my chest.
<br><br>
Suddenly she leaned down, capturing my lips again—returning the warmth I’d left on her skin in a deep, wet kiss. Our tongues tangled urgently, as though she were pouring every ounce of guilt and resolve into that single connection.
<</lang>>
<<set _action = setup.t("小穴|Pussy")>>
<<linkreplace _action>>
<br><br>
<<lang>>
一阵亲吻与吮吸过后,Saika的呼吸已经乱得不成样子。她从我胸口慢慢抬起头,脸颊烫得像要烧起来,眼睛湿漉漉的,在蒙眼的黑暗里我只能靠触感感受到她瞳孔里的热意。她轻轻推了推我的肩膀,让我重新躺下,手铐勒得我腕骨更紧,却也让我完全无法反抗。
<br><br>
她跪坐在我腰侧,先是干脆的一把扯掉胸衣,接着勾住丁字裤的两侧细绳,缓缓往下拉。布料从臀缝滑出,带着一点湿润的黏腻声。然后她双腿分开,膝盖往前挪,直接跨到我头上——骑士坐姿,将她的小穴正对着我的嘴。
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/xue.png"]]</center>
温热的湿意几乎是立刻贴了上来,带着她独有的淡淡体香和刚才积累的潮意。她双手撑在我的胸两侧,腰肢微微下沉,让她最柔软的地方完全压到我唇上。<<saika>>……舔吧……用舌头……帮我……<</saika>>
她的声音哑得厉害,带着一点命令,又带着一丝颤抖。我张开嘴,舌尖先是轻轻的碰了碰她小穴的入口,尝到咸湿的温度。她立刻颤了一下,喉咙里溢出一声闷闷的呜咽,臀部本能地往下压了压,像在催促。我舌面卷上去,从下往上舔过那颗已经肿胀的凸起,绕着打圈,又轻轻吸吮。她整个人弓起来,双手死死捉住自己的大腿,指节泛白。她的呼吸越来越碎,从胸腔深处挤出来,夹杂着细碎的喘息和压抑不住的呜咽。
<<saika>>……嗯……那里……再深一点……<</saika>>
她开始前后摇晃腰肢,让小穴在我唇舌间滑动,每一次摩擦都带出更多湿意,顺着我的下巴往下淌。她的长发垂下来,像帘子遮住我的脸,汗水从她大腿内侧滑落,滴在我颈侧。我的舌尖不停的往里探,卷着内壁最敏感的那点,她立刻绷紧全身,臀部猛地往下坐,喉咙里发出一声长长的、破碎的呜咽。
<br><br>
她的节奏越来越乱,越来越急,像在追逐什么。胸口剧烈起伏,乳尖在空气里颤颤巍巍。终于,她整个人猛地一僵,腰肢弓成一道夸张的弧,内壁剧烈收缩,一股热流涌出来,全洒在我唇舌间。
|EN|
After a long series of kisses and gentle sucking, Saika’s breathing had become completely unsteady. She slowly lifted her head from my chest—her cheeks flushed as if burning, eyes glistening even though I couldn’t see them through the blindfold. I could only sense the heat in her gaze through touch. She pushed lightly at my shoulders, guiding me back down; the handcuffs bit tighter into my wrists, leaving me utterly unable to resist.
<br><br>
She knelt beside my waist, swiftly pulling off her top, then hooked her fingers into the thin strings of her thong and slowly drew it down. The fabric slid free with a faint, slick sound. Spreading her legs, she shifted forward and straddled my face in a knight’s position—her most intimate place hovering directly above my mouth.
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/xue.png"]]</center>
The warm, damp heat pressed against me almost immediately, carrying her unique subtle scent mixed with the arousal that had built up earlier. Her hands braced on either side of my chest as she lowered her hips, letting her softest part settle fully against my lips. <<saika>>…Lick… use your tongue… help me…<</saika>>
Her voice was hoarse, commanding yet trembling. I parted my lips; the tip of my tongue brushed lightly against her entrance, tasting the salty warmth. She shivered instantly, a muffled whimper escaping her throat as her hips instinctively pressed down harder, urging me on. My tongue flattened, gliding upward to circle the swollen bud, then sucking gently. She arched sharply, hands gripping her own thighs until her knuckles whitened. Her breathing fractured—short, broken gasps and barely suppressed moans spilling from deep in her chest.
<<saika>>…Mmm… right there… deeper…<</saika>>
She began rocking her hips back and forth, sliding herself along my tongue with each motion, more wetness coating my chin. Her long hair fell like a curtain around us; sweat trailed down the insides of her thighs, dripping hot onto my neck. My tongue delved deeper, curling against the most sensitive inner spot—she tensed all over, hips slamming down as a long, shattered moan tore from her throat.
<br><br>
Her rhythm grew erratic and desperate, chasing release. Her chest heaved violently, nipples trembling in the air. Finally her whole body locked rigid, back arching into an exaggerated curve as her inner walls clenched hard—a rush of warmth flooded over my lips and tongue.
<</lang>>
<<set _action = setup.t("脚|Footjob")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Saika从我头上慢慢退开,双腿还微微颤抖着。她没说话,只是慢慢后移,膝盖挪到我的腰侧,再往下,跨到我的两腿之间坐下。她双腿垂下来,一只脚先是轻轻蹭过我的大腿内侧,黑丝的细腻纹理带着她体温的余热,丝滑得让人头皮发麻。
<<saika>>……该轮到你了。<</saika>>
她的声音哑哑的,带着一点鼻音。她把双腿并拢,黑丝包裹的小腿和脚掌夹住我硬挺的肉棒。丝袜的触感凉而滑,带着她刚才高潮后的湿意。她先是用脚心轻轻压住前端,脚趾灵活地卷着冠状沟,像在试探,又像在故意折磨。
<br><br>
<<video 'saika/tushuguan1/jiao'>>
<br><br>
接着,Saika的脚开始上下揉搓——双脚并拢,像握住一根滚烫的柱子,脚掌前后滑动,黑丝的摩擦带来一种独特的、细碎的快感。她的脚踝微微转动,让脚心和脚背交替贴合,每一次滑动都让丝袜纹理刮过最敏感的地方。我的呼吸瞬间乱了,胸口起伏得厉害,却只能被动承受,我想伸手握住Saika的小腿,却被手上的手铐勒得生疼。
<<saika>>舒服吗?……别忍着……<</saika>>
她低声呢喃,脚趾故意夹紧我的龟头,然后又松开,再用脚心重重压下去。她的动作不快,却节奏极稳,像在用脚掌给我做最缓慢、最折磨人的按摩。黑丝被汗水和体液浸湿,变得更滑腻,摩擦声在安静的藏书室里格外清晰,混着她偶尔从喉咙里漏出的细碎喘息。她一只脚往下移,用脚背轻轻蹭着根部,另一只脚继续上下撸动,脚趾时不时卷住前端打圈。她的小腿肌肉因为用力而微微绷紧,黑丝在灯光下泛着微光,勾勒出脚踝到小腿的优美线条。
|EN|
After a while, Saika slowly eased back from above my face, her thighs still quivering faintly. Without a word, she shifted downward—knees sliding to my sides, then settling between my legs. Her legs draped over mine; one foot first brushed lightly along my inner thigh, the delicate weave of her black stockings carrying the lingering warmth of her body, so smooth it sent tingles racing across my scalp.
<<saika>>…Your turn now.<</saika>>
Her voice was hoarse, laced with a slight nasal tone. She pressed her legs together, the silk-clad calves and soles encasing my rigid length. The cool, slippery texture of the stockings—still damp from her earlier release—wrapped around me. She began by pressing the soft arch of her foot gently against the tip, toes curling nimbly around the sensitive ridge, teasing, almost tormenting.
<br><br>
<<video 'saika/tushuguan1/jiao'>>
<br><br>
Then her feet started to move—both soles together, gliding up and down like hands gripping a heated column. The friction of the nylon created a unique, delicate sensation, every slide sending shivers through me. Her ankles rotated subtly, alternating between the arch and the top of her foot, the textured silk repeatedly grazing the most sensitive spots. My breathing fractured instantly, chest heaving, yet I could only endure passively. I tried to reach for her calf, but the handcuffs bit painfully into my wrists.
<<saika>>Does it feel good?… Don’t hold back…<</saika>>
She murmured softly, toes deliberately squeezing the head before releasing, then pressing down firmly with the sole again. Her movements were unhurried but perfectly rhythmic—like the slowest, most torturous massage imaginable. The stockings grew slicker with sweat and arousal, the soft rustling sound echoing clearly in the quiet lab, mingling with the occasional faint gasps slipping from her throat. One foot drifted lower, the top gently stroking the base while the other continued its steady strokes; toes occasionally curled around the tip in tight circles. The muscles of her calves tensed slightly with effort, the black silk gleaming under the light, tracing the elegant lines from ankle to calf.
<</lang>>
<<set _action = setup.t("女上|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Saika的脚掌还在我前端轻轻揉搓,黑丝已经被汗水和我的爱液浸得湿透,丝滑的触感混着黏腻的热意,让我硬得发疼。她低低喘息着,脚趾卷住冠状沟最后一次撩拨,然后慢慢把腿收回来。
<br><br>
她跨坐上来,双膝跪在我腰两侧,双手扶住我的肩膀,把我稍稍拉起一些。她的呼吸喷在我脸上,带着刚才高潮后的余韵和淡淡的薄荷味。她低头,右手握住我坚硬的肉棒,对准自己湿润的入口,缓缓往下坐。Saika的小穴入口温热而紧致,一点点将我吞没。她发出一声长长的、压抑的叹息,腰肢微微颤抖,像在适应这份饱胀感。她的内壁裹住我,收缩得越来越紧,贪婪地吸取着我的一切。
<br><br>
<<video 'saika/tushuguan1/nvshang'>>
<br><br>
适应了几秒后,Saika开始动了,她的腰肢疯狂扭动,前后摇摆,每一次坐下都重重到底,臀部撞击我的大腿根,发出黏腻而急促的啪啪声。她的胸口剧烈起伏,乳尖在空气里颤颤巍巍。
<br><br>
同时,她伸手到我身后,摸索着解开手铐。金属咔嗒一声松开,手腕终于解放,我立刻本能地环住她的腰,指尖陷进她湿润的皮肤里,把她往自己身上按得更紧。她俯下身,嘴唇贴上来,吻得又急又乱。舌尖撬开我的齿缝,缠绕在一起,带着她刚才的味道和急切的热意。她的吻断断续续,一边上下动作,一边把呜咽和喘息全吞进我嘴里。她的长发垂下来,像帘子遮住我们两人的脸,汗水混着体温,滴在我的脸颊上。
<<saika>>……嗯……就这样……全给我……<</saika>>
她的声音从唇缝里漏出来,哑得不成样子,却带着一种疯狂的满足。腰肢扭得更快、更狠,每一次坐下都让最深处被完全填满。内壁一次次收缩,像要把我整个吸进去。我双手扣住她的臀,帮她加力,迎合她的节奏。她的胸口贴着我的胸,乳尖摩擦我的皮肤,硬挺而滚烫。呼吸越来越乱,越来越重,分不清谁的更快。
|EN|
Saika’s soles continued to gently rub against the tip, the black stockings now soaked through with sweat and my own arousal, their slick texture blending with sticky warmth until the ache of hardness became almost unbearable. She breathed softly, toes curling around the sensitive ridge one last time in a final tease before slowly drawing her legs back.
<br><br>
She shifted forward, straddling me again—knees planted on either side of my waist, hands on my shoulders pulling me up slightly. Her breath washed over my face, carrying the lingering afterglow of her climax and a faint trace of mint. Lowering her head, her right hand wrapped around my rigid length, guiding it to her slick entrance before slowly sinking down. The warm, tight opening of her core gradually enveloped me, inch by inch. A long, suppressed sigh escaped her; her hips trembled faintly as she adjusted to the fullness. Her inner walls clung to me, tightening more and more, greedily drawing in everything I had to give.
<br><br>
<<video 'saika/tushuguan1/nvshang'>>
<br><br>
After a few seconds to adjust, Saika began to move—her hips twisting wildly, rocking back and forth. Each downward motion slammed fully home, her ass meeting my thighs with wet, urgent slaps. Her chest rose and fell dramatically, nipples trembling in the air.
<br><br>
At the same time, she reached behind me, fumbling with the handcuffs. The metal clicked open, freeing my wrists at last. Instinctively my arms wrapped around her waist, fingers sinking into her damp skin, pulling her down harder against me. She leaned forward, lips crashing into mine in a frantic, messy kiss—tongue prying past my teeth, tangling urgently with mine, carrying the taste of her earlier release and desperate heat. The kiss broke and reformed in ragged bursts; she swallowed my every sound while her hips kept moving. Her long hair fell like a curtain around our faces, sweat mingling with body heat, dripping hot onto my cheek.
<<saika>>…Mmm… just like this… give it all to me…<</saika>>
Her voice leaked from between our lips, hoarse beyond recognition yet laced with wild satisfaction. Her hips moved faster, harder—each descent filling her completely. Her inner walls clenched again and again, as though trying to pull me entirely inside. My hands gripped
<</lang>>
<<set _action = setup.t("女上后入|Reverse Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Saika喘息着从我身上稍稍抬起,调整姿势,转过身背对着我。她的长发甩到背后,像黑色的瀑布扫过我的胸口,汗水顺着她的脊背往下淌,在蓝光里亮晶晶的。
<br><br>
她重新跨坐上来,双膝跪在两侧,臀部对准我的肉棒。她双手撑在我大腿上,指尖微微用力,像在稳住自己。腰肢微微下沉,让入口再次对准我,缓缓坐下。这次因为背对,她能控制得更深、更彻底。她发出一声长长的、带着满足的叹息,内壁温热地裹住我,一点点吞没到底。她没急着动,先是顿了顿,让身体适应这份饱胀感。
<br><br>
<<video 'saika/tushuguan1/nvshangfan'>>
<br><br>
然后,她开始蹲起蹲落——双腿弯曲,双手扶着我的大腿作为支撑点,臀部疯狂地上下套弄。每一次落下都重重到底,撞击声黏腻而急促,啪啪的撞击声回荡在藏书室里。她的臀肉在蓝光下颤颤巍巍,黑丝已经被汗水浸湿,贴着皮肤泛着微光。
<<saika>>……嗯……这样……更深……<</saika>>
她的声音从喉咙深处挤出来,哑得不成样子,却带着一种失控的快意。腰肢扭动得越来越快,越来越狠,像要把所有积攒的情绪都通过这个动作发泄出来。她的臀部一次次撞击我的大腿根,内壁收缩得越来越紧。她的呼吸乱成一片,从唇缝里漏出的呜咽越来越高,越来越碎。
<br><br>
她忽然绷紧全身,双手死死扣住我的腿,指甲陷进肉里。腰肢猛地往下坐到底,整个人弓成一道弧,喉咙里发出一声长长的、破碎的呜咽。内壁剧烈收缩,裹住我,疯狂吮吸着我的一切。
<br><br>
她软下去,整个人往前塌,双手撑在我腿上,大口喘息。肩膀剧烈起伏,长发黏在背上,汗水把她整个人都浸湿了。她没立刻起来,只是把头往后靠了靠,声音哑哑的,带着鼻音。
<<saika>>……呼……又……又来了……<</saika>>
她慢慢转过身,趴在我胸口,脸埋进我颈窝。她的胸口贴着我的胸,乳尖还硬挺着,轻轻摩擦我的皮肤。呼吸渐渐平复,却还带着细碎的颤音。
<<saika>>……休息一下……我……我还想要……<</saika>>
她轻轻吻了吻我的锁骨,像在确认我还在。然后她把脸埋得更深,声音低得几乎听不清。
<<saika>>对不起……但我停不下来……<</saika>>
|EN|
Saika lifted herself slightly off me with ragged breaths, shifting to turn around—facing away now. Her long hair whipped back like a dark cascade across my chest; sweat traced glistening paths down her spine under the blue light.
<br><br>
She straddled me again, knees on either side, hips aligning over my length. Hands braced on my thighs, fingers pressing in for balance, she lowered herself slowly—guiding the tip back to her entrance before sinking down. This time, with her back to me, she could take me deeper, more completely. A long, contented sigh escaped her as her warm inner walls enveloped me inch by inch until she was fully seated. She paused for a moment, letting her body adjust to the overwhelming fullness.
<br><br>
<<video 'saika/tushuguan1/nvshangfan'>>
<br><br>
Then she began to rise and fall—legs bending, hands steady on my thighs as leverage, hips driving up and down in a frantic rhythm. Each descent slammed home with wet, urgent slaps echoing through the lab. Her curves trembled under the dim blue glow, black stockings clinging damply to her skin, shimmering faintly.
<<saika>>…Mmm… like this… even deeper…<</saika>>
Her voice came rough and broken from deep in her throat, laced with unrestrained pleasure. Her hips twisted faster, harder—like she was releasing every pent-up emotion through the motion. Her ass met my thighs again and again; her inner walls clenched tighter with each stroke. Her breathing shattered into fragments—high, fractured moans slipping from her lips.
<br><br>
Suddenly her whole body tensed, hands gripping my thighs until her nails dug in. She dropped down hard one last time, back arching sharply as a long, shattered cry tore from her throat. Her walls pulsed violently around me, drawing me in with desperate intensity.
<br><br>
She collapsed forward, hands braced on my legs, gasping for air. Her shoulders heaved; damp hair clung to her back, sweat soaking her completely. She didn’t rise right away—just tilted her head back slightly, voice hoarse and nasal.
<<saika>>…Haa… again… it happened again…<</saika>>
Slowly she turned, draping herself across my chest, face burying into the crook of my neck. Her breasts pressed against me, still peaked nipples brushing my skin. Her breathing gradually steadied, though faint tremors lingered.
<<saika>>…Just a moment… I… I still want more…<</saika>>
She pressed a soft kiss to my collarbone, as though reassuring herself I was still there. Then she buried her face deeper, voice dropping to a near-whisper.
<<saika>>I’m sorry… but I can’t stop…<</saika>>
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<<lang>>
那一天的我们两人,都陷入了彻底的疯狂,不知疲惫的折腾,不停的变换着体位,像是在用身体丈量我们之间最后的界限。
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/houru.png"]]<br>后入</center>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/ceru.png"]]<br>侧入</center>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/chuanjiao.png"]]<br>传教式</center>
我们不知道折腾了多久,直到最后她的手伸到我腿间,轻轻握住我的肉棒,指尖熟练地撸动,节奏不快,却带着一种温柔的坚持。
<<saika>>……最后一次……给我……<</saika>>
<<video 'saika/tushuguan1/cum'>>
<br><br>
她低头,唇瓣贴近我的耳边,轻声呢喃。她的手加快了速度,拇指在前端打圈,指腹反复摩挲冠状沟。我低喘了一声,热流喷薄而出。她趴在我胸口大口喘息,汗水把长发黏成一缕缕贴在脸颊上。
<br><br>
她已经软得几乎动不了,缓缓拿起旁边的试管,一点一点的收集着每一滴生命精华。白浊的精液在试管里晃动,她小心翼翼地封好盖子,放到旁边后,又趴在我身上,一动不动。
<br><br>
我看着她,内心最柔软的地方再次被触动。如果只是为了收集我的生命精华,继续她的实验,她完全不需要做到这种程度。毕竟在性这方面,女孩子有着独特的吸引力与优势,更何况她这样漂亮、身材又好的女人。她完全可以冷冰冰地把我当成工具,可她没有。她在我耳边低语,在我身上颤抖,在我怀里呜咽……那些情绪,更多还是对我发自内心的安抚与感谢。
<br><br>
只是我无法分辨,她到底把我视为实现理想的最后希望,还是……她的男人。
<br><br>
Yua的笑脸忽然浮现在我的脑海里。她现在又在做什么呢?应该还在车库里,守着那张我们一起拼的木床,等我回去。或许正煮着粥,或许正擦拭武器,或许只是靠在窗边看外面的荒凉。我又该怎么跟她说明这一切呢?
<br><br>
我闭上眼,胸口像压了块铁。Saika已经睡着了,呼吸均匀地喷在我颈侧,手指还无意识地抓着我,像是怕我突然消失掉。藏书室的应急灯嗡鸣着,蓝光拉长了我们的影子,像两条纠缠在一起的线,再也分不开。
<br><br>
我不知道明天该怎么面对Yua,也不知道Saika的实验最终会走向哪里。但这一刻,我只想让她好好睡一会儿。或许,这就是末世里,我们能给彼此的,最后一点温柔。
|EN|
That day, both of us fell into complete abandon—tireless, relentless, shifting positions again and again as if trying to measure the final boundaries between us with our bodies.
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/houru.png"]]<br>Doggy Style</center>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/ceru.png"]]<br>Spooning</center>
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan1/chuanjiao.png"]]<br>Missionary</center>
We lost track of how long it went on until finally her hand reached between my legs, fingers gently wrapping around my length, stroking with a slow, tender persistence.
<<saika>>…One last time… give it to me…<</saika>>
<<video 'saika/tushuguan1/cum'>>
<br><br>
She leaned close, lips brushing my ear in a soft whisper. Her pace quickened slightly, thumb circling the tip while her fingertips glided along the sensitive ridge. A low groan escaped me as warmth surged forth. She collapsed against my chest, breathing hard, sweat matting her long hair to her cheeks in strands.
<br><br>
She was too spent to move much, but she slowly reached for the test tube nearby, carefully collecting every drop of essence. The milky fluid swirled inside; she sealed it with care, set it aside, then draped herself over me again, motionless.
<br><br>
I looked at her, and something soft inside me stirred again. If this were only about gathering my life essence for her experiments, she didn’t have to go this far. In matters of intimacy, a woman holds her own unique power and allure—especially someone as beautiful and well-formed as her. She could have treated me coldly, like a mere tool. But she didn’t. She whispered in my ear, trembled against me, whimpered in my arms… those emotions felt more like genuine comfort and gratitude toward me.
<br><br>
Yet I couldn’t tell—did she see me only as the last hope for her ideal, or… as her man?
<br><br>
Yua’s smiling face suddenly flashed in my mind. What was she doing right now? Probably still in the garage, watching over the wooden bed we pieced together, waiting for me to come back. Maybe cooking porridge, cleaning weapons, or simply leaning by the window gazing at the desolate outside world. How could I ever explain all this to her?
<br><br>
I closed my eyes, chest heavy as iron. Saika had already fallen asleep, her even breaths warm against my neck, fingers still unconsciously clutching me as if afraid I’d vanish. The emergency lights in the lab hummed, blue glow stretching our shadows across the wall—two intertwined lines that could no longer be separated.
<br><br>
I didn’t know how I’d face Yua tomorrow, or where Saika’s experiments would ultimately lead. But in this moment, I just wanted to let her rest. Perhaps this was the last bit of gentleness we could offer each other in this broken world.
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.saika.sexCount += 1>>
<<updateCaptionInfo>>
<<set _action = setup.t("返回|Back")>>
[[_action|AncientBookRoom]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<script>>
// 1. 检查背景音乐开关
// 如果玩家在设置里关闭了背景音乐,直接跳过,不播放任何东西
if (!settings.bgMusicEnabled) {
// 确保音乐是停止的
$.wiki('<<audio ":bgm" stop>>');
} else {
// 2. 获取当前页面的标签
var currentTags = Story.get(passage()).tags;
var isNoReturn = currentTags.includes("noreturn");
var $history = jQuery('#ui-bar-history');
if ($history.length) {
$history.toggle(!isNoReturn);
$history.find('button').prop('disabled', isNoReturn);
}
// 3. 定义当前应该播放哪首 (默认为 null)
var trackToPlay = null;
if (currentTags.includes("zhandou")) {
trackToPlay = "bgm_zhandou";
} else if (currentTags.includes("huodui")) {
trackToPlay = "bgm_huodui";
} else if (currentTags.includes("tansuo")) {
trackToPlay = "bgm_tansuo";
}
// 4. 执行播放/停止逻辑
if (trackToPlay) {
// --- 情况 A: 有对应音乐 ---
var track = SimpleAudio.tracks.get(trackToPlay);
// 关键判断:只有当【目标音乐没在播放】时,才执行切换
// 这样如果你从一个 wild 场景走到另一个 wild 场景,音乐不会断,也不会重头放
if (track && !track.isPlaying()) {
// 1. 瞬间停止该组所有其他音乐
$.wiki('<<audio ":bgm" stop>>');
// 2. 瞬间开始播放新音乐 (音量100%)
$.wiki('<<audio "' + trackToPlay + '" volume 1 loop play>>');
//console.log("BGM Switched to:", trackToPlay);
}
} else {
// --- 情况 B: 没有对应音乐 (Tag不匹配) ---
// 瞬间停止所有 BGM
$.wiki('<<audio ":bgm" stop>>');
}
}
<</script>><<missionBoard "tasha" "Tasha">>
<<link "Back">><<goto $characters["tasha"].location>><</link>>
<center>[img[setup.videoPath+'/changjing/1/zacaocharu/zhan.png']]</center>
<br><br>
<<lang>>
Tasha就那么赤条条地站在昏暗的光里,像一尊被剥光了所有伪装的雕像。
<br><br>
她的皮肤在灰白光线下几乎透明,锁骨和肋骨因为长时间饥饿而清晰可见,胸口微微起伏,每一次呼吸都带着轻微的颤抖。干涸的血迹在她大腿内侧蜿蜒,像一条条暗红色的河流。她没遮掩,也没刻意摆姿势,只是静静站着,双手垂在身侧,指尖微微蜷曲,像在克制着某种本能的羞耻或恐惧。她的眼睛直直盯着我,瞳孔在暗光里放大,黑得发亮,却又湿得像要滴出水来。那眼神里有太多东西混在一起——绝望、算计、屈辱、解脱,还有一丝……近乎疯狂的感激。
<br><br>
她看到我进来,嘴角弯起一个很淡的笑。她的声音还有点虚弱,却比之前喊救命时清晰了很多。
<<tasha>>我其实听懂了你话里的意思……一切随缘……我当时已经不抱任何希望了。没想到……你真的会回来。<</tasha>>
她忽然笑了,笑得眼泪顺着脸颊滑下来,划开脸上的灰尘和血痕,留下两条干净的轨迹。
<<tasha>>你是一个真正意义上的好人!我不知道该怎么谢你……1000积分,全给你。或者……你想怎么玩都行,我现在就可以。你选吧。<</tasha>>
她的眼睛直直盯着我,没躲闪,也没羞涩。风从门缝吹进来,卷起地上的枯叶,铁皮屋发出低低的哀鸣。她的身体在冷光里微微发抖——不是冷的,是紧张,或者是别的什么。
<<you>>你不怕我拿了钱就走?或者……做完之后再杀你灭口?<</you>>
<<tasha>>(苦笑,耸肩)怕啊……但我已经没得选了。我已经五天没吃东西了……要不是你,我大概再撑两天就饿死了。求你……不管你选哪一个,都放我走吧。<</tasha>>
她的声音最后那句几乎是耳语,却带着一种豁出去的决绝。棚屋里安静得只剩风声和链子的轻响。我看着她,沉默不语。
<br><br>
末世里,人比丧尸更危险。可有时候,人也比丧尸更可怜。这一刻,看着她赤裸的身体、颤抖的肩膀、眼角的泪,我忽然觉得——她不是在交易,她是在用最后一点人性,向这个世界求一线生机。
<br><br>
现在,我该怎么选?拿钱走人?还是……兑现她口中的另一半承诺?
|EN|
Tasha stood there completely bare in the dim light, like a statue stripped of every last pretense.
<br><br>
Her skin looked almost translucent under the pale gray glow; her collarbones and ribs stood out sharply from days of starvation, her chest rising and falling with faint, trembling breaths. Dried blood trailed in dark red streaks along the insides of her thighs. She made no attempt to cover herself, no deliberate pose—just stood quietly, hands limp at her sides, fingertips slightly curled as if suppressing some instinctive shame or fear. Her eyes locked straight onto mine, pupils wide in the low light, black and shining, yet wet enough to seem on the verge of spilling over. In that gaze was a storm of emotions—despair, calculation, humiliation, relief, and something close to frantic gratitude.
<br><br>
When she saw me enter, the corner of her mouth curved into a faint smile. Her voice was still weak, but clearer than when she had been calling for help.
<<tasha>>I actually understood what you meant… “whatever happens, happens”… I had already given up all hope. I never thought… you would really come back.<</tasha>>
She suddenly laughed—a sound that sent tears sliding down her cheeks, cutting clean tracks through the dust and blood on her face.
<<tasha>>You’re a real good person! I don’t know how to thank you… 1000 points, all yours. Or… you can do whatever you want with me, right now. Your choice.<</tasha>>
Her eyes never wavered from mine—no evasion, no coyness. The wind slipped through the door crack, stirring dead leaves across the floor; the iron sheets of the shack gave a low, mournful groan. Her body trembled faintly in the cold light—not from the temperature, but from tension, or something else.
<<you>>Aren’t you afraid I’ll just take the points and leave? Or… finish with you and then silence you for good?<</you>>
<<tasha>>(bitter smile, a small shrug) Of course I’m afraid… but I don’t have any choice left. I haven’t eaten in five days… if you hadn’t come back, I’d probably only last another two before starving. Please… whichever you choose, just let me go afterward.<</tasha>>
Her last words were almost a whisper, yet carried a reckless finality. The shack fell silent except for the wind and the faint clink of chains. I looked at her without speaking.
<br><br>
In the end times, people are more dangerous than zombies. But sometimes, they’re also more pitiful. In this moment, seeing her bare body, trembling shoulders, and the tears at the corners of her eyes, I suddenly realized—she wasn’t making a transaction. She was using the very last shred of her humanity to beg this world for a single chance at survival.
<br><br>
Now, what should I choose? Take the points and walk away? Or… fulfill the other half of the promise she mentioned?
<</lang>>
<div id="bath-options">
<<set _action = setup.t("来一发|Let's have a go")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
<br><br>
看着一丝不挂的Tasha站在那里,灰白的日光从门缝漏进来,在她身上镀了一层冷冷的薄光。她没遮掩,也没刻意诱惑,只是静静站着,像把最后的底牌全摊开,等着我捡起或者踢开。她的皮肤因为饥饿和寒冷而微微泛青,胸口随着呼吸轻轻起伏,乳尖因为冷风而挺立,腰侧一道旧伤疤蜿蜒,像一条暗红的河流。她眼睛里没泪,却有种让人胸口发闷的坦然——不是勾引,是赤裸裸的交易,也是她最后的赌注。
<br><br>
傻子才要钱。我不是傻子。
<br><br>
我往前走了一步,把枪插回腰间,伸手扣住她的腰,把她整个人拉进怀里。她的身体冰凉,却在接触到我体温的那一刻,像被点燃了似的微微颤抖。她没抗拒,也没主动,只是仰起头,眼睛直直看着我,像在确认我真的要了。<<you>>来一发。<</you>>
<<video 'changjing/1/zacaocharu/kou'>>
<br><br>
她没说话,只是嘴角弯起一个很淡的弧度,像松了一口气,又像认命了。她慢慢蹲下去,膝盖跪在冰冷的木板上,双手扶住我的腰带,三两下解开,拉下裤子,我的肉棒直接弹了出来。她没犹豫,低头张开嘴,一口含住。
<br><br>
她的口腔温热而湿润,舌尖先是轻轻卷过龟头,绕着冠状沟打圈,像在试探温度,又像在安抚。接着她往前送,嘴唇包裹住更多,喉咙深处发出低低的、含糊的鼻音。她的手也没闲着,一只握住根部,配合着嘴里的动作轻抚,另一只按在我大腿上,指甲微微陷进肉里,像在借力稳住自己。
<br><br>
她开始前后移动,节奏不快,却很稳。舌面贴着下侧敏感的筋脉反复摩挲,偶尔用牙齿轻轻刮一下,又立刻用唇瓣安抚过去。唾液从唇角滑落,顺着下巴滴到她胸口,在冷光里亮晶晶的。她抬头看我一眼,眼睛湿漉漉的,却带着一种专注的认真,像在把全部注意力都放在取悦我上。
<<tasha>>……嗯……这样……可以吗……<</tasha>>
她的声音从喉咙深处闷闷地漏出来,含糊不清,却带着一点讨好的意味。她加快了节奏,头前后摆动得更流畅,喉咙深处偶尔发出细碎的湿润声响。她的胸口随着动作轻轻晃动,乳尖在空气里颤颤巍巍。汗水从她额角滑下来,滴在我的小腹上,滚烫。我伸手插进她乱糟糟的头发,指尖扣住她的后脑,顺着她的节奏感受每一次深喉带来的震颤。她的呼吸越来越乱,从鼻子里挤出细碎的鼻音,偶尔被堵住,又忍不住漏出来。
|EN|
<br><br>
Watching Tasha stand there completely naked, the pale gray sunlight seeped through the crack of the door, casting a cold, thin layer of light over her body. She made no attempt to cover herself, nor did she deliberately seduce; she just stood quietly, as if laying out her last remaining cards, waiting for me to pick them up or kick them away. Her skin had a faint bluish tinge from hunger and cold, her chest rose and fell gently with each breath, her nipples were erect from the cold air, and an old scar curved along her waist, like a dark red river. There were no tears in her eyes, yet there was a suffocating calmness—a raw transaction, not seduction, and her final gamble.
<br><br>
Only a fool would ask for money. I’m no fool.
<br><br>
I took a step forward, slid the gun back into my waistband, reached out to grip her waist, and pulled her entire body into my arms. Her body was icy cold, but the moment it came into contact with my warmth, she trembled slightly as if ignited. She didn’t resist, nor did she take initiative; she just tilted her head back, her eyes fixed on mine, as if confirming that I truly wanted this. <<you>>Let’s do it.<</you>>
<<video 'changjing/1/zacaocharu/kou'>>
<br><br>
She said nothing, but the corners of her mouth curved into a faint arc, as if she’d let out a breath of relief, or perhaps accepted her fate. She slowly knelt down, her knees hitting the cold wooden floor, her hands gripping my belt. With a few quick movements, she unbuckled it and pulled down my pants, my cock springing free. Without hesitation, she lowered her head, opened her mouth, and took it in one go.
<br><br>
Her mouth was warm and moist. Her tongue first gently curled around the glans, circling the coronal ridge, as if testing the temperature or offering comfort. Then she pushed forward, her lips taking in more, a low, muffled hum escaping from the back of her throat. Her hands weren’t idle either—one wrapped around the base, stroking in time with the movements of her mouth, the other pressing against my thigh, her nails digging slightly into the flesh as if to steady herself.
<br><br>
She began to move back and forth, not quickly, but steadily. The surface of her tongue repeatedly glided over the sensitive vein on the underside, occasionally grazing it lightly with her teeth before immediately soothing it with her lips. Saliva slipped from the corner of her mouth, dripping down her chin onto her chest, glistening in the cold light. She looked up at me, her eyes moist but filled with focused earnestness, as if devoting all her attention to pleasing me.
<<tasha>>……Mmm……Is this……okay……<</tasha>>
Her voice came muffled from the depths of her throat, indistinct yet carrying a hint of ingratiation. She quickened her pace, her head swinging back and forth more smoothly, with occasional faint, moist sounds escaping from the back of her throat. Her chest swayed gently with her movements, the tips of her breasts quivering in the air. Sweat slid down from her forehead and dripped onto my lower abdomen, scalding hot. I reached out and ran my hand through her messy hair, my fingertips gripping the back of her head, following her rhythm to feel the tremor from each deep throat movement. Her breathing became more and more erratic, with faint nasal sounds escaping through her nose. Occasionally, it would get blocked, yet she couldn't help but let some slip out.
<</lang>>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<<include 'tashaai01'>>
<</linkreplace>>
<</replace>>
<</link>>
<<set _action = setup.t("Tasha的钱|Tasha's money")>>
<<link _action>>
<<replace "#bath-options">>
<<set $player.money += 1000>>
<<lang>>
<<you>>钱给我,衣服自己穿上。<</you>>
她愣了一下,眼神里闪过一丝明显的失落——不是因为钱,而是因为我拒绝了她的另一半承诺。末世里,找个人依靠比找一顿热饭更奢侈,何况我看起来还不算太坏。
<br><br>
她咬了咬下唇,很快掩饰住那点情绪,转身从铁床底下拖出一个破旧的帆布包。包里塞着一叠皱巴巴的积分卡——枢纽城通用货币,边缘磨得发毛。她数了数,一共十张,每张面值100,合计1000。她把所有的钱一起都塞给了我。
<<tasha>>这是我们谈好的价钱……<</tasha>>
她声音轻得像在自言自语,说完低头笑了笑,笑得有点自嘲,又有点释然。我接过钱,塞进战术背心口袋,没多说。她弯腰捡起地上的破布条,胡乱裹在身上,勉强遮住关键部位。转身时,她的目光不经意往我的跨下瞥了一眼——就一眼,很快移开,嘴角却弯起一个几乎看不见的弧度,像在确认什么,又像在留恋什么。
<<tasha>>我得离开这里……一个人走不远。你能不能……再帮我一次?<</tasha>>
她顿了顿,声音低下去。
<<tasha>>我现在什么都没有了……钱都给你了,身体……本来也可以给你。可你刚才拒绝了免费的那次。现在如果还要……就得收费了。友情价,500一次。你要吗?<</tasha>>
她说得直白,却带着一种自嘲的疲惫。尾音微微上扬,像在试探,又像在给自己留最后一条退路。她的手指无意识地揪着布条边缘,指节因为用力而发白。风从门缝钻进来,吹得布条下摆微微晃动,露出她大腿内侧一道还没结痂的划痕。
<br><br>
她没再往前凑,也没低头躲闪,只是站在原地,赤脚踩在冰冷的木板上,等着我的回答。她的眼神不再是刚才那种豁出去的绝望,而是多了一层清醒的无奈——她知道自己已经拿不出等价的东西了。免费的机会我不要,现在再要她的身体,就得明码标价。这不是诱惑,是交易,而且是她最没底气的交易。
<br><br>
我看着她,却没立刻开口。棚屋里安静得只剩风声和远处树林的低吼。她忽然笑了笑,笑得有点苦。
<<tasha>>我知道你不缺女人……也知道你不缺钱。可我真的走不出去了。一个人在外面,丧尸、抢匪、变异体……我连把趁手的武器都没有。帮我一次,给我点食物,一把武器,我都欠你一条命。<</tasha>>
她顿了顿,声音更低。
<<tasha>>500一次……是我现在唯一能给的价。如果你不要钱,也不要身体……那就当我欠你一个人情。以后有机会,我还你。<</tasha>>
她抬起头,眼睛里没泪,却有种让人胸口发闷的坦荡。不是勾引,不是乞怜,只是赤裸裸地把底牌摊开,让我看清她已经输得一干二净。
<br><br>
我沉默了几秒,风吹过铁皮屋顶,发出低沉的呜咽。
<<you>>先穿好衣服。钱我收了,人情我也记下了,等我回来!<</you>>
她愣了一下,眼神亮了亮,又很快黯下去,像不敢相信自己真的被放过了。她点点头,小声说:
<<tasha>>……谢谢你,没让我觉得自己只值500。<</tasha>>
我没回头,只是加快脚步。
<br><br>
风还在吹,枯玉米地沙沙作响。
<br><br>
末世里,人最贵的从来不是身体,而是那一点没被交易掉的尊严。
<br><br>
我不知道以后会不会再遇见她,也不知道她能不能活到“还人情”的那天。
<br><br>
但至少这一刻,我没让她觉得自己只是一桩买卖。
|EN|
<<you>>Give me the money. Put your clothes on yourself.<</you>>
She froze for a moment, a clear flicker of disappointment crossing her eyes—not for the money, but because I had turned down the other half of her offer. In the end times, finding someone to rely on was rarer and more precious than a hot meal—especially since I didn’t seem like a bad person.
<br><br>
She bit her lower lip, quickly masking the emotion, then turned and dragged an old canvas bag out from under the iron bed frame. Inside was a stack of crumpled point cards—Hub City universal currency, edges worn thin. She counted them: ten cards, 100 each, totaling 1000. She handed the entire stack to me.
<<tasha>>This is what we agreed on…<</tasha>>
Her voice was barely above a whisper. She finished with a small, self-mocking smile tinged with relief. I took the points and slipped them into my tactical vest pocket without another word. She bent down, picked up the torn rags from the floor, and wrapped them around herself as best she could to cover the essentials. As she turned, her gaze flicked briefly downward—only a glance—before darting away again. The corner of her mouth curved almost imperceptibly, as if confirming something, or perhaps lingering on it.
<<tasha>>I need to leave this place… but I won’t get far alone. Could you… help me one more time?<</tasha>>
She paused, voice dropping.
<<tasha>>I have nothing left now… the money’s all yours, and my body… I already offered it for free. But since you refused that… if you still want more, it’ll have to cost. Friend price—500 each time. Do you want?<</tasha>>
She spoke plainly, but with a weary self-mockery. Her tone lifted slightly at the end—testing, leaving herself one last escape route. Her fingers unconsciously tugged at the edge of the rags, knuckles whitening from the pressure. Wind slipped through the door crack, stirring the hem and revealing an unhealed cut on her inner thigh.
<br><br>
She didn’t press closer or look away—just stood there barefoot on the cold boards, waiting for my answer. Her eyes no longer held the reckless desperation from earlier; now they carried a clear-eyed resignation. She knew she had nothing left to barter with. The earlier offer had been fulfilled; any further claim on her body would have to be priced openly. This wasn’t seduction—it was a transaction, and the one she had the least leverage in.
<br><br>
I looked at her without speaking. The shack was silent except for the wind and distant forest growls. She suddenly smiled—a small, bitter curve.
<<tasha>>I know you’re not short on women… or money. But I really can’t make it out alone. Outside—zombies, raiders, mutants… I don’t even have a proper weapon. Help me once—give me some food, a weapon—and I’ll owe you my life.<</tasha>>
She paused, voice lower.
<<tasha>>500 each time… that’s the only price I can offer right now. If you don’t want money or my body… then just consider it a favor owed. If there’s a chance later, I’ll repay you.<</tasha>>
She lifted her head. No tears in her eyes, but a kind of heavy honesty that made the chest tighten. Not seduction, not pleading—just laying all her cards bare, showing she had already lost everything.
<br><br>
I stayed silent for a few seconds, wind moaning through the iron roof.
<<you>>Put your clothes on properly first. I’ve got the money, and I’ll remember the favor. Wait for me to come back.<</you>>
She froze for a moment, eyes brightening slightly, then dimming again—as if she didn’t quite dare believe she’d really been spared. She nodded and said quietly:
<<tasha>>…Thank you… for not making me feel like I’m only worth 500.<</tasha>>
I didn’t look back—just quickened my pace.
<br><br>
The wind kept blowing; the dead cornfield rustled.
<br><br>
In the end times, what people value most is never the body—it’s the last shred of dignity that hasn’t been sold.
<br><br>
I don’t know if I’ll ever see her again, or if she’ll live long enough to repay that favor.
<br><br>
But at least in this moment, I didn’t let her feel like she was just another deal.
<</lang>>
<</replace>>
<</link>>
</div>
<<set _action = setup.t("Tasha的任务板|Tasha's Mission Board")>>
[[_action|tasha-RenWuBan]]<<if $characters["tasha"].location is "zacaocharu01">>
<<video 'changjing/1/zacaocharu/kaisuo'>>
<br><br>
<<lang>>
我掏出的钥匙打开铁栅栏时,锈蚀的锁扣终于“咔嗒”一声松开。门吱呀着推开,一股更浓的霉味和人体气味扑面而来。棚屋里光线昏暗,只有从门缝漏进的灰白光线照亮中央那片空地。
<br><br>
Tasha已经站在那里,一丝不挂。
|EN|
When I inserted the key and turned it, the rusted lock finally clicked open with a dull snap. The door creaked as I pushed it inward; a thicker wave of mold and human scent rushed out to meet me. Inside the shack, the light was dim—only pale gray rays leaking through the cracks illuminated the open space in the center.
<br><br>
Tasha was already standing there, completely bare.
<</lang>>
<br><br>
<<set _action = setup.t("Tasha的任务板|Tasha's Mission Board")>>
[[_action|tasha-RenWuBan]]
<<if $quests.completed.includes("q_tasha_qz1")>>
<<set _cost = 500>>
<<set _action = setup.t("我需要释放(-$500)|I need to be released(-$500)")>>
<div id="interaction-zone">
<<link _action>>
<<if $player.money >= _cost>>
<<set $player.money -= _cost>>
<<updateCaptionInfo>>
<<replace "#interaction-zone">>
<<include "tashaai02">>
<</replace>>
<<else>>
<<script>>
UI.alert(setup.t("我的钱不够!需要 $500。|I don't have enough money! Need $500."));
<</script>>
<</if>>
<</link>>
</div>
<</if>>
<<else>>
<<lang>>
Tasha已经走了,这里空无一人。
|EN|
Tasha had already left. The place was empty, no one around.
<</lang>>
<</if>>
<<backToMap "StageMap">><br><br>
<<video 'changjing/1/zacaocharu/houru'>>
<br><br>
<<lang>>
<br><br>
我跪在她身后,双手扣住她的腰,肉棒前端蹭过她臀缝,沾上湿滑的温度,然后对准那道粉嫩的入口,猛地顶进去。她立刻绷紧全身,喉咙里溢出一声闷闷的呜咽,带着痛楚,又带着一种被填满的满足。内壁温热而紧致,一层层裹住我,像在贪婪地吞噬。我没给她适应的时间,腰肢猛地往前撞,每一次都重重到底,臀肉被撞得颤颤巍巍,发出黏腻的啪啪声。
<<tasha>>……啊……太……太深了……<</tasha>>
她的声音碎成一片一片,从唇缝里漏出来,夹杂着干草摩擦的沙沙声和她自己的喘息。我双手从腰侧往上移,覆上她的胸,掌心包裹住那两团柔软,指腹用力揉捏,拇指捻着乳尖拉扯。她整个人往前弓,脊背绷成一道铁弓,臀部却本能地往后迎合,像在乞求更猛烈一点。
<br><br>
我低喘着加快节奏,每一次抽出都几乎完全离开,只剩前端卡在入口,然后猛地顶进去,撞得她身体跟着往前晃。干草被压得吱呀作响,草屑粘在她膝盖和大腿上,她的长发散乱地披在背上,随着撞击甩动,像黑色的鞭子。
|EN|
I grabbed Tasha's arm and pulled her over to the pile of hay in the corner of the shed. She leaned forward, kneeling on the rough hay with her knees, her hands supporting herself on the ground, her upper body tilted forward, and her waist arched in an exaggerated curve. Her snow-white buttocks were raised high, like an uncarved jade in the grayish light. The pink slit in the middle was slightly open, already glistening with wetness, carrying the residual saliva from the oral sex just now and her own moisture.
<br><br>
I knelt behind her, my hands clasping her waist. The tip of my cock brushed against the crease of her buttocks, catching the slippery warmth, then aimed at that pink entrance and thrust hard inside. She immediately tensed her whole body, a muffled whimper escaping her throat, a mix of pain and the satisfaction of being filled. Her inner walls were warm and tight, wrapping around me layer by layer, as if greedily devouring me. I didn't give her time to adjust, my hips thrusting forward sharply, each time hitting deep, her buttocks trembling from the impact, making sticky slapping sounds.
<<tasha>>... Ah... It's too... too deep...<</tasha>>
Her voice shattered into fragments, slipping through her lips, mixed with the rustle of hay rubbing and her own gasps. My hands moved up from her waist, covering her breasts, my palms enclosing the soft mounds, my fingertips kneading firmly, my thumbs twisting and pulling at her nipples. Her whole body arched forward, her spine tensing into a rigid bow, yet her buttocks instinctively pushed back to meet me, as if begging for something more intense.
<br><br>
I panted and quickened the pace, each withdrawal leaving almost entirely, only the tip remaining at the entrance, then thrusting hard again, making her body sway forward with the impact. The hay creaked under pressure, bits of straw sticking to her knees and thighs. Her long hair hung loose over her back, swinging with each thrust like a black whip.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/1/zacaocharu/cum'>>
<br><br>
<<lang>>
她的呼吸越来越乱,越来越碎,从胸腔深处挤出的呜咽带着哭腔,却又带着一种失控的快意。内壁一次次收缩,像要把我整个吸进去。我伸手绕到前面,指尖按住那颗肿胀的凸起,快速揉按。她立刻绷紧全身,腰肢猛地往下塌,喉咙里发出一声长长的、破碎的尖叫。
<<tasha>>……要……要到了……别停……<</tasha>>
我咬紧牙关,最后几下撞得又狠又深。热流一股股涌出,全灌进她最深处。她整个人猛地一颤,内壁剧烈痉挛,裹住我,像要把我榨干。她软下去,趴在干草上大口喘息,肩膀剧烈起伏,汗水把草屑黏在她背上。我伏在她背上,胸口贴着她的脊背,听着她凌乱的心跳,和我的混在一起,分不清谁的更快。
<br><br>
过了好一会儿,她才转过头,脸颊贴着干草。
<<tasha>>……呼……结束了……<</tasha>>
她没立刻起来,只是把脸埋进臂弯,肩膀还在轻颤,像在平复,也像在消化刚才的一切。我慢慢退出来,帮她翻过身,让她靠在我怀里。她的身体软得像没了骨头,胸口起伏着贴着我,呼吸热热地喷在我颈侧。
<<tasha>>……谢谢……现在,我们扯平了……<</tasha>>
她声音很轻,像怕惊醒什么。我没说话,只是伸手帮她把破布条裹紧。风还在吹,铁皮屋还在吱呀。
<br><br>
过了一会,Tasha慢慢站起来,身体还软着,靠在我胸口,像在借我的体温回神。她的手轻轻抚过我的腰侧,指尖凉凉的。
<<tasha>>我得离开这里……但是我一个人走不远。你能不能……再帮我一次?<</tasha>>
她顿了顿,声音低下去。
<<tasha>>我现在什么都没有了……身体……也给了你。如果你还想要……就得收费了。友情价,500一次。你要吗?<</tasha>>
她说得直白,却带着一种自嘲的疲惫。尾音微微上扬,像在试探,又像在给自己留最后一条退路。她的手指无意识地揪着布条边缘,指节因为用力而发白。风从门缝钻进来,吹得布条下摆微微晃动,露出她大腿内侧一道还没结痂的划痕。
<br><br>
她没再往前凑,也没低头躲闪,只是站在原地,赤脚踩在冰冷的木板上,等着我的回答。她的眼神不再是刚才那种豁出去的绝望,而是多了一层清醒的无奈——她知道自己已经拿不出可以等价交换的东西了。之前的承诺她已经兑现了,现在再要她的身体,就得明码标价。这不是诱惑,是交易,而且是她最没底气的交易。
<br><br>
我看着她,却没立刻开口。棚屋里安静得只剩风声和远处树林的低吼。她忽然笑了笑,笑得有点苦。
<<tasha>>我知道你不缺女人……也知道你不缺钱。可我真的走不出去了。一个人在外面,丧尸、抢匪、变异体……我连把趁手的武器都没有。帮我一次,给我点食物,一把武器,我都欠你一条命。<</tasha>>
她顿了顿,声音更低。
<<tasha>>500一次……是我现在唯一能给的价。如果你不要钱,也不要身体……那就当我欠你一个人情。以后有机会,我还你。<</tasha>>
她抬起头,眼睛里没泪,却有种让人胸口发闷的坦荡。不是勾引,不是乞怜,只是赤裸裸地把底牌摊开,让我看清她已经输得一干二净。
<br><br>
我沉默了几秒,轻轻的拍了拍Tasha的后背。
<<you>>人情我记下了,等我回来。<</you>>
她愣了一下,眼神亮了亮,点点头,小声说:
<<tasha>>……谢谢你,没让我觉得自己只值500。<</tasha>>
我没回头,只是加快脚步。
<br><br>
风还在吹,枯玉米地沙沙作响。
<br><br>
末世里,人最贵的从来不是身体,而是那一点没被交易掉的尊严。
<br><br>
我不知道以后会不会再遇见她,也不知道她能不能活到“还人情”的那天。
<br><br>
但至少这一刻,我没让她觉得自己只是一桩买卖。
|EN|
Her breathing grew more and more erratic, fractured gasps escaping from deep in her chest—half sobs, half wild abandon. Her inner walls clenched again and again, as though trying to draw me in completely. I reached around, fingertips finding the swollen peak and rubbing quickly. She tensed all over, hips dropping sharply as a long, broken cry tore from her throat.
<<tasha>>…I’m… I’m close… don’t stop…<</tasha>>
I gritted my teeth, driving in hard and deep for the final thrusts. Heat surged out in waves, filling her completely. Her whole body shuddered violently; her walls spasmed around me, gripping tight. She went limp, collapsing onto the straw, gasping for air, shoulders heaving. Sweat glued bits of grass to her back. I leaned over her, chest pressed to her spine, listening to our mingled heartbeats—impossible to tell whose raced faster.
<br><br>
After a long while, she turned her head, cheek against the straw.
<<tasha>>…Haa… it’s over…<</tasha>>
She didn’t rise right away—just buried her face in her arms, shoulders still trembling, as though settling or processing everything that had happened. I slowly withdrew, helped turn her over, and pulled her into my arms. Her body was boneless, chest rising and falling against me, warm breaths brushing my neck.
<<tasha>>…Thank you… now we’re even…<</tasha>>
Her voice was soft, almost afraid to disturb the quiet. I said nothing—just reached to tighten the torn rags around her. The wind kept blowing; the iron sheets groaned.
<br><br>
After a moment, Tasha slowly stood, still unsteady, leaning against my chest as though borrowing my warmth to steady herself. Her hand brushed lightly over my side, fingertips cool.
<<tasha>>I need to leave this place… but I won’t get far alone. Could you… help me one more time?<</tasha>>
She paused, voice dropping.
<<tasha>>I have nothing left now… even my body… I already gave you. If you still want more… it’ll have to cost. Friend price—500 each time. Do you want?<</tasha>>
She spoke plainly, but with a tired self-mockery. Her tone rose slightly at the end, testing, leaving herself one last escape route. Her fingers unconsciously tugged at the edge of the cloth, knuckles white from the pressure. Wind slipped through the door crack, stirring the hem of the rags and revealing an unhealed cut on her inner thigh.
<br><br>
She didn’t press closer or look away—just stood there barefoot on the cold boards, waiting for my answer. Her eyes no longer held the reckless desperation from before; now they carried a clear-eyed resignation. She knew she had nothing left to barter with. The earlier promise had been fulfilled; any further claim on her body would have to be priced openly. This wasn’t seduction—it was a transaction, and the one she had the least leverage in.
<br><br>
I looked at her without speaking. The shack was silent except for the wind and distant forest growls. She suddenly smiled—a small, bitter curve.
<<tasha>>I know you’re not short on women… or money. But I really can’t make it out alone. Outside—zombies, raiders, mutants… I don’t even have a proper weapon. Help me once—give me some food, a weapon—and I’ll owe you my life.<</tasha>>
She paused, voice lower.
<<tasha>>500 each time… that’s the only price I can offer right now. If you don’t want money or my body… then just consider it a favor owed. If there’s a chance later, I’ll repay you.<</tasha>>
She lifted her head. No tears in her eyes, but a kind of heavy honesty that made the chest tighten. Not seduction, not pleading—just laying all her cards bare, showing she had already lost everything.
<br><br>
I stayed silent for a few seconds, then gently patted her back.
<<you>>I’ll remember the favor. Wait for me to come back.<</you>>
She froze for a moment, eyes brightening slightly. She nodded and said quietly:
<<tasha>>…Thank you… for not making me feel like I’m only worth 500.<</tasha>>
I didn’t look back—just quickened my pace.
<br><br>
The wind kept blowing; the dead cornfield rustled.
<br><br>
In the end times, what people value most is never the body—it’s the last shred of dignity that hasn’t been sold.
<br><br>
I don’t know if I’ll ever see her again, or if she’ll live long enough to repay that favor.
<br><br>
But at least in this moment, I didn’t let her feel like she was just another deal.
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.tasha.sexCount += 1>>
<<updateCaptionInfo>>
<</linkreplace>><h2 class="ptitle">PATREON CODE</h2>
<br /><br />
<<if recall("patreon code") is true >>
<div class="patreon-box">
Patreon code activated! Thank you!
</div>
<<else>>
<div class="patreon-box">
<a href="https://www.patreon.com/c/starlightagent" target="_blank">
[img[setup.ImagePath+"patreon_logo.png"]]
</a><br /><br />
If you like this game and want to see it grow, please consider supporting the development.
Enter patreon code below to open more unique events.
<br /><br />
<<textbox "_testcode" "">>
<br /><br /><br /><br />
<div class="link-button passage">
<<link "Check">>
<<if setup.suanfa(_testcode) == setup.mimaZhi>>
<<set $suppCode to true>>
<<run memorize("patreon code", true)>>
<<notify 3s>>Patreon code activated!<</notify>>
<<dialogclose>>
<<goto `passage()`>>
<<else>>
<<notify 3s>>Wrong! Error Patreon code!<</notify>>
<</if>>
<</link>>
</div>
</div>
<</if>>
<style>
.patreon-box {
background:#f1c40f;
border-radius: 20px;
padding: 20px;
color: #000;
}
h2.ptitle {
font-weight: bold;
font-size: 200%;
margin: 0.2em 0;
text-align: center;
border-bottom: 5px solid #000;
border-radius: 0px 0px 35px 0px;
text-transform: uppercase;
position: relative;
}
#notify {
z-index:9999999999;
}
</style><<lang>>
我从废弃图书馆最深处拖着步行者的残躯回来时,全身都是它的黑血和腐臭味。它的头颅被我一刀劈开,脑组织和脊髓样本装在密封的冷冻管里,冰凉地贴着我的后腰。Saika在实验室等我,应急灯还是那盏冷蓝色的,嗡鸣声像背景里的心跳。
<br><br>
她接过样本时,手指微微发抖。没多说废话,直接把管子插进离心机,开始新一轮的分离、培养、显微观察。我靠在墙边擦刀,等她忙完。几个小时后,她终于关掉显微镜,摘下护目镜,揉了揉眉心。
<<saika>>……又失败了......<</saika>>
她声音平静得像在说天气,却带着一种疲惫的空洞。她把一个透明的玻璃瓶推到我面前,里面装着半瓶浅红色的液体,表面浮着细小的气泡,像在缓慢呼吸。
<<saika>>但这次……有意外收获。这瓶东西是中间产物,看起来异常活跃。细胞活性高得离谱,代谢速率是普通组织的十几倍。它有很强的修复倾向,甚至能在体外自我增殖……我怀疑它有着强烈的细胞再生能力,普通人或许无法承受这种细胞不停撕裂重生的痛苦,但你不一样……<</saika>>
<<saika>>(顿了顿,眼睛抬起来看我)试试看吧。注射一小剂量,应该没什么大问题。<</saika>>
我小心地接过那瓶液体,药剂的红光在应急灯下折射出诡异的波纹,然后小心的将它放到背包里收到。
<<saika>>我的任务……到此结束了。样本箱拿到了,数据也齐了。剩下的事情解放阵线那边会继续往下做。<br>(顿了顿,声音低下去)但我的身份……还是希望你继续帮我瞒着。这次的事情之后,无论出于何种考虑,黑哥以后肯定都会盯死我,不会再轻易放我出城。以后如果有新的实验想法,需要活体材料……我还是得麻烦你。不是每次都像这次这么极端——大多时候只是抽血、组织活检,或者帮我抓几只新鲜的变异体。<</saika>>
她笑了笑,笑得有点无奈。
<<saika>>作为回报,你有装备需要修理,可以随时来找我。武器、护甲、刀刃……随便什么坏了都可以。另外,我会通过阵线的渠道,试着给你搞些武器,能弄到多少算多少。<</saika>>
她顿了顿,眼神忽然软下来,整个人靠在我身上,语气中带着一丝调侃,却又不完全是玩笑。
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan2/shuo.png"]]</center>
<<saika>>我知道你家里已经有了一位美娇娘……但如果你哪天想换换口味,尝尝不同的味道……随时来找我。不收费,不交易,就当……朋友之间的互助。<</saika>>
她说完,轻轻耸了耸肩,像在掩饰什么,又像真的无所谓。房间里忽然安静了下来,应急灯的蓝光在她镜片上闪了一下,她轻轻耸肩的动作停在半途,像忽然不知道该把这句玩笑收回去还是继续说下去。我看着她,脑海中回闪出最近这段时间两个人相处的点点滴滴,一股别样的情绪在心底泛起。
|EN|
When I dragged the Tyrant’s remains back from the deepest part of the abandoned library, my body was covered in its black blood and rotting stench. Its head had been split open by a single stroke; the brain tissue and spinal cord samples were sealed in cryogenic tubes, pressed coldly against the small of my back. Saika was waiting for me in the lab—the same cold blue emergency light humming overhead like a background heartbeat.
<br><br>
Her fingers trembled slightly when she took the samples. Without wasting words, she inserted the tubes into the centrifuge and began the next round of separation, cultivation, and microscopic observation. I leaned against the wall, wiping my blade clean while I waited. Hours later, she finally switched off the microscope, removed her goggles, and rubbed the bridge of her nose.
<<saika>>…Another failure…<</saika>>
Her voice was calm, almost casual—like commenting on the weather—but it carried a hollow exhaustion. She pushed a transparent glass vial toward me; inside was half a bottle of pale red liquid, tiny bubbles drifting slowly across the surface as if breathing.
<<saika>>But this time… there’s an unexpected result. This is an intermediate product—it looks abnormally active. Cellular activity is off the charts; metabolism rate is ten times that of normal tissue. It shows strong regenerative tendencies, even self-proliferating outside the body… I suspect it has powerful cell regeneration properties. An ordinary person might not be able to withstand the pain of cells constantly tearing and rebuilding, but you’re different…<</saika>>
<<saika>>(after a pause, eyes lifting to meet mine) Try it. A small dose should be fine.<</saika>>
I carefully took the vial; the red glow of the reagent refracted strangely under the emergency light. I placed it securely in my backpack.
<<saika>>My mission… ends here. I’ve got the sample case and the data. The rest will be handled by the Liberation Front.<br>(pausing, voice lowering) But my cover… I hope you’ll keep helping me hide it. After what happened this time, no matter the reason, Black Bro will definitely keep a close eye on me. He won’t let me leave the city so easily anymore. If there are new experimental ideas in the future and live materials are needed… I’ll have to trouble you again. Not every time will be as extreme as this—most will just be blood draws, tissue biopsies, or capturing a few fresh mutants.<</saika>>
She smiled faintly, a touch helpless.
<<saika>>In return, whenever you need gear repaired, come to me anytime. Weapons, armor, blades—anything broken, I can fix. Plus, I’ll try to get you some weapons through the Front’s channels. Whatever I can manage.<</saika>>
She paused, her gaze softening as she leaned against me, tone carrying a hint of teasing that wasn’t entirely a joke.
<br><br>
<center>[img[setup.videoPath + "saika/tushuguan2/shuo.png"]]</center>
<<saika>>I know you already have a beautiful girl at home… but if one day you feel like trying something different, tasting a new flavor… come find me anytime. No charge, no transaction—just mutual help between friends.<</saika>>
She finished with a small shrug, as if trying to downplay it, or perhaps truly indifferent. The room suddenly fell quiet; the emergency light’s blue glow flashed across her glasses. Her shrug froze halfway, as though she suddenly wasn’t sure whether to retract the joke or let it hang. I looked at her, memories of our recent time together flickering through my mind, stirring an unfamiliar emotion in my chest.
<</lang>>
<<set $characters["saika"].location to "Home">>
<div id="bath-options">
<<if recall("patreon code") is true >>
<<set _action = setup.t("临行前的欢愉|A final moment of intimacy before leaving")>>
<<link _action>>
<<replace "#bath-options">>
<br><br>
<<include 'TushuguanComplete01'>>
<<set _action = setup.t("回家|Go Home")>>
[[_action|Home]]
<</replace>>
<</link>>
<<else>>
<<set _action = setup.t("临行前的欢愉(会员事件,需要Patreon Code)|A final moment of intimacy before leaving (Member event, Patreon Code required)")>>
<a class="link-disabled">_action</a>
<</if>>
<<set _action = setup.t("出发|Set Off")>>
<<link _action>>
<<replace "#bath-options">>
<br>
<<lang>>
<<you>>回城吧。黑哥那边……我帮你圆。<</you>>
Saika点点头,没再多说。我们收拾装备,关掉应急灯,推开藏书室的门。
<br><br>
外面的走廊还是那么黑,风从破窗灌进来,卷起地上的灰尘。Saika走在我身边,脚步很轻,像怕惊动什么。
<br><br>
我不知道以后会不会再帮她抓“活体材料”,也不知道那瓶红色的东西会不会真的帮到我。但至少这一刻,我们并肩往外走,像两个终于从深渊里爬出来的人。身后,图书馆的黑暗还在吞噬一切。前方,枢纽城的灯火隐约可见,像遥远的、摇摇欲坠的希望。
|EN|
<<you>>Let’s head back to the city. As for Black Bro… I’ll cover for you.<</you>>
Saika nodded without another word. We packed up our gear, switched off the emergency light, and pushed open the door to the archive room.
<br><br>
The corridor outside was as dark as ever; wind poured through broken windows, stirring dust across the floor. Saika walked beside me, her steps light—as if afraid of waking something.
<br><br>
I didn’t know if I’d ever help her collect “live materials” again, or if that red vial would truly make a difference for me. But at least in this moment, we walked side by side out of the depths—like two people who had finally clawed their way out of the abyss. Behind us, the library’s darkness continued to devour everything. Ahead, the faint lights of Hub City glimmered—like a distant, precarious hope.
<</lang>>
<<set _action = setup.t("回家|Go Home")>>
[[_action|Home]]
<</replace>>
<</link>>
</div>
<<lang>>
Saika察觉到我的异样,抬起头看着我,眼神从刚才的疲惫与调侃里抽离,变成一种更深、更柔的东西——不是勾引,也不是交易,而是一种卸下所有伪装后的、近乎赤裸的坦诚。
<br><br>
我没说话,只是往前一步,把她整个人揽进怀里。她的身体先是僵了一下,随即软下来,像终于找到了可以依靠的支点。她的额头抵着我的下巴,长发扫过我的颈侧,带着消毒水和她自己体温的混合气味。
<br><br>
<<video 'saika/tushuguan2/shou'>>
<br><br>
片刻后,她主动抬起头,吻住我。吻得很轻,先是唇瓣碰了碰,又慢慢加深。同时,她的双手从我腰侧往上滑,撩起我的战术背心下摆,指尖冰凉却带着急切的温度,直接贴上我的腹肌。她低头,唇瓣先是轻轻碰了碰我的锁骨,然后一路往下,吻过胸口,找到一侧乳头。舌尖绕着打圈,先是轻舔,再用牙齿轻轻啃咬,最后整个含进去,吸吮得我胸口一紧。
<br><br>
与此同时,她的左手往下探,熟练地解开我的皮带,拉链声在安静的实验室里格外清晰。她掏出已经硬挺的肉棒,掌心包裹住,上下套弄。动作不急,却带着一种熟悉的节奏——拇指在龟头上打圈,指腹反复摩挲冠状沟,像在确认它的形状,又像在唤醒它最后的热度。我低喘了一声,双手扣住她的腰,把她往自己身上按得更紧。她的胸口贴着我的胸,乳尖隔着薄薄的布料摩擦,硬挺而滚烫。她忽然抬头,吻住我的唇,舌尖撬开齿缝,缠绕得又湿又热,像要把刚才所有压抑的情绪都倾泻在这个吻里。
|EN|
Saika noticed my change and lifted her head to look at me. The exhaustion and teasing in her eyes faded, replaced by something deeper and softer—not seduction, not a transaction, but a raw, almost naked honesty after all pretenses had been stripped away.
<br><br>
I said nothing—just took one step forward and pulled her fully into my arms. Her body stiffened for a moment, then melted against me, as though she had finally found a point of support. Her forehead rested against my chin; her long hair brushed across my neck, carrying the mixed scent of disinfectant and her own warmth.
<br><br>
<<video 'saika/tushuguan2/shou'>>
<br><br>
After a moment, she took the initiative to look up and kiss me. The kiss was very light at first, just a brush of lips, then it gradually deepened. At the same time, her hands slid up from my waist, lifting the hem of my tactical vest. Her fingertips were cold yet carried an eager warmth as they pressed directly against my abs. She lowered her head, her lips first gently brushing my collarbone, then moving downwards all the way, kissing across my chest until she found one nipple. The tip of her tongue circled around it, starting with light licks, then gently nibbling with her teeth, and finally taking it all in, sucking until my chest tightened.
<br><br>
Meanwhile, her left hand moved lower, deftly unbuckling my belt. The zipper sounded unusually clear in the quiet lab. She pulled out my already hardened penis, wrapped her palm around it, and stroked it up and down. Her movements were not hurried, but had a familiar rhythm—her thumb circling the glans, the pads of her fingers repeatedly caressing the coronal sulcus, as if confirming its shape, or awakening its last remaining heat. I let out a low gasp, my hands gripping her waist, pressing her tighter against me. Her chest was pressed against mine, her nipples rubbing through the thin fabric, hard and burning hot. She suddenly looked up, kissed my lips, her tongue prying open the gap between my teeth, tangling wet and hot, as if pouring out all the repressed emotions from just now into this kiss.
<</lang>>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/kou'>>
<br><br>
<<lang>>
Saika用指尖轻轻勾住我的裤腰,慢慢往下拉。裤子滑到膝盖,她也顺势蹲在我的两腿之间。
<br><br>
她抬头看了我一眼,眼睛在蓝光里映出细碎的光点,像藏着点没说出口的温柔。她低头,张开嘴,先是用唇瓣轻轻碰了碰前端,热气喷上来,带着她呼吸里的薄荷味。舌尖试探性地卷过龟头,绕着冠状沟打了个圈,才慢慢往前送,把我的肉棒整个含进去。口腔温热而湿润,舌面贴着下侧敏感的筋脉反复摩挲,节奏不快,但是那种酥麻感却直冲我的脑门。
<br><br>
她的动作很稳,没有急切的吞吐,只是缓慢地前后移动,嘴唇始终包裹得严实。偶尔她会稍稍停顿,用舌面在最敏感的位置来回压一下,又继续。
<br><br>
她的双手扶在我大腿外侧,指尖偶尔收紧,又很快放松,像在用这种方式告诉我节奏。她偶尔会抬起眼睛,透过镜片看我一眼,睫毛在蓝光下投下一小片阴影。每次对视,她都会微微眯起眼睛,像在观察我的反应,又像在享受这种掌控感。我的手自然地落在她头顶,指尖穿过她的头发,却没有用力,只是轻轻按着她的节奏。她察觉到我的手,嘴角微微弯了弯,继续用那种不紧不慢的方式取悦我。房间里只有她唇舌间细微的水声和应急灯的低鸣。
|EN|
Saika hooked her fingertips lightly into my waistband and slowly drew my pants down. They slid to my knees, and she settled onto her knees between my legs.
<br><br>
She looked up at me, her eyes reflecting tiny, fragmented points of light in the blue glow, as if hiding some unspoken tenderness. She lowered her head, opened her mouth, and first gently touched the tip with her lips. A warm breath wafted over, carrying the minty scent of her exhalation. Her tongue tentatively curled around the glans, circled the coronal sulcus, then slowly moved forward, taking my entire penis into her mouth. Her mouth was warm and moist, her tongue repeatedly caressing the sensitive vein on the underside, the rhythm not fast, but that tingling numbness shot straight to my forehead.
<br><br>
Her movements were steady, with no eager thrusting or withdrawing, just a slow back-and-forth motion, her lips always tightly wrapped around. Occasionally, she would pause slightly, pressing the tip of her tongue back and forth against the most sensitive spot before continuing.
<br><br>
Her hands rested on the outside of my thighs, her fingertips occasionally tightening then quickly relaxing, as if using this way to tell me the rhythm. She would occasionally lift her eyes to look at me through her glasses, her eyelashes casting small shadows in the blue light. Every time our eyes met, she would squint slightly, as if observing my reaction, yet also seeming to enjoy this sense of control. My hand naturally fell on top of her head, my fingertips threading through her hair without applying force, just gently following her rhythm. She noticed my hand, the corners of her mouth curving slightly as she continued to pleasure me in that unhurried manner. The only sounds in the room were the faint wet sounds of her lips and tongue, and the low hum of the emergency light.
<</lang>>
<<set _action = setup.t("插入|Push In")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/houru_zhan'>>
<br><br>
<<lang>>
我拉起Saika的手腕,她顺势转过身,双手撑在书架横梁上,背对着我。她的呼吸还带着刚才的余韵,肩膀微微起伏,裙子的下摆在蓝光里晃出浅浅的阴影。
<br><br>
我蹲下身,双手从她腰侧往上滑,掀起裙摆。布料被卷到腰间,露出她白皙的臀部和黑色的蕾丝内裤。内裤边缘已经有些湿痕,我指尖沿着蕾丝边沿划过,她的身体立刻轻颤了一下,膝盖不自觉地并拢,又很快分开,像在克制,又像在邀请。
<br><br>
我勾住内裤两侧,慢慢往下拉。蕾丝从臀缝滑出,带着一点湿润的黏意。她没说话,只是把腿稍稍分开,让内裤更容易褪到膝盖。我把脸贴近她的臀部,鼻尖先蹭到那片温热的皮肤,闻到她身上淡淡的体香混着实验室消毒水的味道。我张开嘴,舌尖直接扫过她的小穴,从下往上,一路掠过阴蒂。她喉咙里立刻漏出一声短促的吸气,臀部本能地往后靠了靠,像在追逐那点触感。
<br><br>
我双手扣住她的臀肉,把她固定住,舌头开始反复扫荡。先是沿着阴唇外侧缓慢打圈,像在描摹形状,再集中到那颗肿胀的凸起,用舌面轻轻压住、旋转,又用舌尖快速点触。她的大腿内侧绷紧,指尖死死抓住书架,指节因为用力而泛白。她的呼吸从胸腔深处挤出来,断断续续,却没发出太大声音,像在极力克制,却又克制不住。
<br><br>
她忽然往前倾,额头抵着书架,低声呢喃。
<<saika>>……别……别逗我了……<</saika>>
声音带着一点颤抖,即有恳求,又带着催促。我站起身,扶住她的腰,对准入口,缓缓推进。她入口温热而紧致,一点点被撑开。她低低“嗯”了一声,头往前垂,额头抵着书架,像在借力稳住身体。
<br><br>
我开始抽送,从后面顶进去,每一次都退到边缘,再重重撞到底。她的臀肉被撞得轻颤,书架上的书微微晃动。她双手撑得更紧,迎合着我的动作,臀部往后送,长发散下来,随着撞击前后晃动。我伸手绕到前面,指尖按住她的阴蒂,跟着我的节奏轻揉。她立刻绷紧全身,喉咙里发出一声压抑的低吟,声音被咬在唇缝里,却还是漏了出来。
<<saika>>……别……别停……<</saika>>
|EN|
I pulled Saika's wrist, and she turned around smoothly, propping her hands on the crossbeam of the bookshelf, with her back to me.Her breath still carried the aftertaste of earlier, her shoulders rising and falling slightly, the hem of her skirt swaying in the blue light, casting faint shadows.
<br><br>
I squatted down, my hands sliding up from her waist, lifting her skirt. The fabric was rolled up to her waist, revealing her fair buttocks and black lace panties. The edges of the panties were already slightly damp. As my fingertips traced along the edge of the lace, her body trembled slightly, her knees unconsciously coming together, then quickly separating, as if restraining herself, yet also inviting.
<br><br>
I hooked the sides of her panties and slowly pulled them down. The lace slid out from between her buttocks, carrying a hint of moist stickiness. She didn't speak, just spread her legs a little wider, making it easier to slide the panties down to her knees. I brought my face close to her buttocks, my nose first brushing against that warm skin, catching the faint scent of her body mixed with the smell of laboratory disinfectant. I opened my mouth, and my tongue directly swept over her little cunt, from bottom to top, all the way past her clitoris. A short gasp immediately escaped her throat, and her buttocks instinctively pushed back a little, as if chasing that touch.
<br><br>
I clasped her buttocks with both hands, holding her in place, and my tongue began to sweep repeatedly. First, I slowly circled the outside of her labia, as if tracing their shape, then focused on that swollen nub, gently pressing and rotating with the flat of my tongue, then quickly flicking it with the tip. The insides of her thighs tensed, her fingertips gripping the bookshelf tightly, her knuckles whitening from the force. Her breaths came in shallow, broken waves from deep in her chest—restrained, yet impossible to fully suppress.
<br><br>
She suddenly leaned forward, her forehead resting against the bookshelf, murmuring softly.
<<saika>>... Don't... don't tease me...<</saika>>
Her voice carried a slight tremor, part pleading, part urging. I stood up, held her waist, aligned myself with her entrance, and pushed in slowly. Her entrance was warm and tight, stretching open bit by bit. She let out a low "hmm", her head hanging forward, forehead pressed against the shelf, as if using it to steady herself.
<br><br>
I started thrusting, pushing in from behind, each time pulling back to the edge before slamming hard into the depths. Her buttocks quivered from the impact, and the books on the shelf shook slightly. She propped herself up more firmly with her hands, matching my movements, pushing her buttocks back. Her long hair fell loose, swaying back and forth with each thrust. I reached around to the front, my fingertips pressing against her clitoris, rubbing gently in time with my rhythm. She tensed all over at once, a suppressed moan escaping her throat, the sound bitten between her lips but still slipping out.
<<saika>>... Don't... don't stop...<</saika>>
<</lang>>
<<set _action = setup.t("女上后入|Reverse Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/nvshangfan'>>
<br><br>
<<lang>>
Saika轻轻推了我一把,让我躺到实验室角落那块临时铺的旧垫子上。蓝光从头顶洒下来,把她的身影拉得细长。她没多说,只是跨坐上来,背对着我。她的手伸到身后,扶住我的肉棒,对准自己,缓缓往下坐。
<br><br>
入口温热,一点点吞没我。Saika发出一声低低的叹息,腰肢先是顿了顿,像在适应这份饱胀感。然后她开始动——双手撑在我大腿上,臀部上下起伏,雪白的臀肉在我眼前晃动,每一次落下都发出轻微的撞击声,节奏由慢到快,不断用身体丈量着我们之间最后的距离。
<br><br>
她的长发随着动作甩动,扫过我的小腹,偶尔有几缕黏在汗湿的皮肤上。她没回头,只是把头微微后仰,喉咙里偶尔漏出细碎的鼻音,像在压抑,又像在享受这种掌控感。她的臀部一次次坐下,曲线在蓝光里颤出柔软的弧度,书架上的影子跟着晃,像在无声地见证。
|EN|
Saika gently pushed me, making me lie down on the old mat temporarily laid in the corner of the laboratory. Blue light spilled down from above, stretching her figure long and slender. She didn't say much, just straddled me, facing away. Her hand reached behind her, grasped my penis, aligned it with herself, and slowly sat down.
<br><br>
The entrance was warm, swallowing me bit by bit. Saika let out a low sigh, and her waist paused for a moment, as if adapting to this sense of fullness. Then she started moving—her hands propped on my thighs, her hips rising and falling, the snow-white buttocks shaking in front of my eyes. Each time she came down, there was a slight impact sound, the rhythm going from slow to fast, constantly measuring the last distance between us with her body.
<br><br>
Her long hair swayed with her movements, brushing against my lower abdomen, and occasionally a few strands stuck to the sweaty skin. She didn't look back; she just tilted her head slightly backward, and from time to time, faint nasal sounds escaped her throat, as if she were suppressing something, yet also as if she were enjoying this sense of control. Her buttocks sat down again and again, the curves trembling into soft arcs in the blue light, and the shadows on the bookshelf shook along with her, as if silently witnessing.
<</lang>>
<<set _action = setup.t("女上位|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/nvshang'>>
<br><br>
<<lang>>
Saika忽然停下,起身,转过身来,面向我重新坐下来。这次我们面对面,她的眼睛直直看着我,镜片后的瞳孔映着我的影子。她双手撑在我胸口,指尖找到我的乳头,轻轻拨弄——先是绕圈,再用指甲轻刮,最后用拇指和食指夹住,慢慢拉扯。她一边上下运动,一边用这种方式加倍刺激我,像在用手指和身体同时索取我的反应。
<br><br>
她的节奏越来越急,胸口起伏得厉害,乳尖在空气里颤动。她低头吻我,唇瓣贴上来,舌尖缠绕得又湿又热,像要把所有情绪都倾泻在这个吻里。她的手指没停,继续拨弄我的乳头,每一次拉扯都让我腰眼发紧。
<<saika>>……就这样……别动……让我来……<</saika>>
她开始加快了上下套弄的速度,内壁收缩得越来越明显,贪婪地榨取我的一切。
|EN|
Saika suddenly stopped, got up, turned around, and sat down again facing me. This time we were face to face, her eyes looking straight at me, and my shadow was reflected in her pupils behind the lenses. She put her hands on my chest, her fingertips found my nipples, and gently teased them—first circling, then lightly scraping with her nails, and finally pinching them with her thumb and index finger, pulling slowly. As she moved up and down, she intensified the stimulation in this way, as if using both her fingers and her body to demand a reaction from me.
<br><br>
Her rhythm became faster and faster, her chest heaving violently, and her nipples trembled in the air. She bent down to kiss me, her lips pressing against mine, her tongue tangling in a wet and hot way, as if pouring all her emotions into this kiss. Her fingers didn't stop, continuing to tease my nipples, and every pull made my lower back tighten.
<<saika>>... Just like this... Don't move... Let me do it...<</saika>>
She started to speed up the pace of moving up and down, and the contraction of her inner walls became more and more obvious, greedily extracting everything from me.
<</lang>>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/houru'>>
<br><br>
<<lang>>
Saika力气渐渐用尽,整个人软下去,趴在我胸口喘息。她的脸埋进我颈窝,肩膀还在轻颤。我翻身把她放平,让她趴在地上,双手撑住垫子,臀部微微翘起。我从后面抱住她,再次推进。
<br><br>
这次的节奏更稳,更深。每一次撞击都让她身体往前晃,双手在垫子上抓出褶皱。她没再说话,只是把头埋进臂弯,偶尔从喉咙里漏出低低的哼声,像在完全放开自己。
|EN|
Saika's strength gradually ran out, and her whole body went limp, collapsing onto my chest as she panted. Her face buried itself in the crook of my neck, and her shoulders still trembled slightly. I rolled over to lay her flat, making her lie on her stomach on the ground, hands propping up the mat, hips lifting slightly. I hugged her from behind and thrust again.
<br><br>
This time, the rhythm was steadier and deeper. Each thrust made her body lurch forward, her hands clawing wrinkles into the mat. She didn't speak anymore, just buried her head in the crook of her arms, occasionally letting out low moans from her throat, completely letting herself go.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/tushuguan2/cum'>>
<br><br>
<<lang>>
我扣住她的腰,最后几下撞得又狠又深。热流涌动,我抽出肉棒,全射在她雪白的臀部上。白浊顺着臀缝往下淌,在蓝光里亮晶晶的,像一场无声的标记。她没立刻动,只是趴在那里,肩膀起伏,呼吸慢慢平复。我跪在她身边,伸手帮她把裙摆拉下来,盖住那片狼藉。她转过头,脸颊贴着垫子,眼睛半睁半闭地看着我。
<<saika>>……结束了……<</saika>>
她的声音很轻,带着一点疲惫的笑意,像终于卸下了所有重担。
<br><br>
房间里安静得只剩应急灯的嗡鸣。我们谁也没再说话,只是静静的靠着,相互依偎,像要把这份温度锁住,任由离别的情绪在彼此心中缓缓流淌。
|EN|
I grabbed her waist, and the final thrusts were fierce and deep. A surge of heat rushed through me; I pulled out my penis and ejaculated all over her snow-white buttocks. The white turbidity trickled down the crevice of her buttocks, glistening in the blue light like a silent mark. She didn't move immediately, just lay there on her stomach, her shoulders heaving as her breathing slowly steadied. I knelt beside her, reached out, and helped her pull down her skirt to cover the mess. She turned her head, her cheek pressed against the mat, looking at me with half-open eyes.
<<saika>>... It's over...<</saika>>
Her voice was soft, with a tired smile, as if she had finally unloaded all her burdens.
<br><br>
The room was so quiet that only the hum of the emergency lights could be heard. Neither of us spoke anymore; we just leaned quietly against each other, snuggling up, as if trying to lock in this warmth, letting the feeling of parting flow slowly in each other's hearts.
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.saika.sexCount += 1>>
<<updateCaptionInfo>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<toggleclass "body" "home">>
<center>[img[setup.videoPath + "saika/tushuguan0/xie.png"]]</center>
<br>
<<lang>>
我过来时Saika正低着头在本子上记录着什么。
|EN|
When I came over, Saika was bent over her notebook, quietly jotting something down.
<</lang>>
<br><br>
<<set _action = setup.t("Saika的任务板|Saika's Mission Board")>>
[[_action|saika-RenWuBan]]
<<set _action = setup.t("装备修理|Equipment Repair")>>
[[_action|zbXiuLi]]
<<if $quests.completed.includes("q_Saika_recalibrate")>>
<<set _action = setup.t("装备重铸|Equipment Reforge")>>
[[_action|zbChongZhu]]
<</if>>
<<if $quests.completed.includes("q_Saika_enchantment")>>
<<set _action = setup.t("装备附魔|Equipment Enchantment")>>
[[_action|zbFuMo]]
<</if>>
<<if $quests.completed.includes("q_zx_gongzuotai")>>
<<set _action = setup.t("工作台|Workbench")>>
[[_action|zbGongZuoTai]]
<</if>>
[[Go Back|Home]]<br><br>
<<video 'changjing/1/zacaocharu/houru2'>>
<br><br>
<<lang>>
我把500块钱塞进Tasha手里,她低头看了一眼,嘴角弯起一个很淡的弧度,没说谢,也没推辞。
<br><br>
我拍了拍她的屁股,掌心贴着那片还残留着刚才温度的皮肤.
<<you>>(轻声示意)转过去。<</you>>
她没犹豫,顺势转过身,双手撑住棚屋窗框,微微弯腰,臀部高高翘起,背脊绷出一道流畅的弧线。灰白的日光从窗缝漏进来,在她腰窝处投下一道细长的光影,像在勾勒她此刻的轮廓。
<br><br>
我上前一步,双手扶住她的腰,肉棒沿着臀线下滑,对准那道温热的入口,缓缓推进。她喉咙里漏出一声短促的吸气,臀部本能地往后靠了靠,主动迎合着我。我腰肢发力,猛地一撞到底,Tasha长长的呻吟了一声。
<br><br>
我没给她任何适应的时间,用双手固定住她的腰身,肉棒每一次都是退到边缘,再重重顶到底。她的臀肉被撞得轻颤,窗框随着节奏发出细微的吱呀声。她的长发散下来,随着撞击前后晃动,几缕黏在汗湿的颈侧。她双手死死抓住窗框,指节泛白,呼吸从胸腔深处挤出来,断断续续,却没发出太大声音,像在极力克制,却又克制不住。
|EN|
I slipped the 500 points into Tasha’s hand. She glanced down at them, the corner of her mouth curving into a faint smile—neither thanks nor refusal.
<br><br>
I gave her hip a light pat, my palm lingering on the skin still warm from before.
<<you>>(softly) Turn around.<</you>>
She didn’t hesitate. She turned, hands bracing against the shack’s window frame, bending slightly at the waist, hips lifting in a smooth, natural curve. Pale gray daylight leaked through the cracks, casting a long, thin shadow across the small of her back, tracing her outline in the dimness.
<br><br>
I took a step forward, placed both hands on her waist, and my penis slid down along the line of her buttocks, aligning with that warm entrance, then slowly pushed in. A short intake of breath escaped her throat, and her hips instinctively pushed back a little, actively meeting me. I tensed my waist, thrusting hard all the way in, and Tasha let out a long moan.
<br><br>
I didn't give her any time to adjust. With both hands holding her waist firmly, my penis pulled back to the edge each time before slamming hard into the deepest part. Her buttocks trembled slightly from the impact, and the window frame let out faint creaks in time with the rhythm. Her long hair fell loose, swaying back and forth with each thrust, a few strands sticking to the sweat-dampened side of her neck. She clung tightly to the window frame with both hands, her knuckles whitening. Her hands gripped the window frame tightly, knuckles whitening; breaths came in shallow, broken waves from deep in her chest—restrained, yet impossible to fully hold back.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/1/zacaocharu/cum'>>
<br><br>
<<lang>>
<<tasha>>……嗯……就这样……<</tasha>>
Tasha的声音低得像耳语,带着一点颤抖。我扣住她的腰,最后几下撞得又狠又深。热流涌出,全灌进她最深处。她整个人猛地一颤,双手抓得更紧,窗框上的灰尘被震落,飘在我们周围。
<br><br>
她软下去,额头抵着窗框,大口喘息。我抽出肉棒,乳白色的精液没了有阻碍,顺着她粉嫩的小穴流淌下来。
|EN|
<<tasha>>…Mmm… just like this…<</tasha>>
Tasha's voice was as low as a whisper, with a hint of trembling. I clasped her waist, and the last few thrusts were fierce and deep. A rush of heat surged out, pouring all into her deepest part. Her whole body trembled violently, her hands gripping even tighter, and the dust on the window frame was shaken off, floating around us.
<br><br>
She went limp, her forehead resting against the window frame, gasping for breath. I pulled out my penis, and without any obstruction, the milky white semen flowed down her pink little pussy.
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.tasha.sexCount += 1>>
<<updateCaptionInfo>>
<</linkreplace>><<lang>>
Tasha蹲在地上,把食物塞进那个破帆布包里。她动作不快,却带着一种终于能动起来的轻松。包拉链坏了一半,她干脆用一段铁丝缠了两圈,拍了拍,像在给它打气。
<br><br>
她站起身,背好武器,然后转向我,眼睛在灰白的光里亮亮的。她忽然往前一步,张开双臂,把我紧紧抱住。她的脸埋进我胸口,鼻尖蹭着我的战术背心,呼吸热热地喷进来,像要把刚才的一切都留在这一抱里。
<br><br>
<center>[img[setup.videoPath+'/changjing/1/zacaocharu/gaobie.png']]</center>
<<tasha>>亲爱的,请允许我这么叫你~谢谢你对我的帮助!我要走了,我的家在糖果镇,如果你想我了,可以去那里找我~<</tasha>>
她声音轻得像耳语,却带着一种难得的明亮,像终于从泥潭里爬出来的人。她抱得用力,指尖抓着我的衣服后摆,像怕我下一秒就推开她。
<br><br>
她松开我,后退半步,又忽然踮起脚,在我唇角轻轻碰了一下。不是吻,只是蜻蜓点水,像在留一个记号。然后她转身,背起帆布包,推开棚屋的铁栅栏。门吱呀一声,像在跟她道别。
<br><br>
她回头看了我一眼,嘴角弯起一个很淡的笑,眼睛里没泪,却有种让人胸口发闷的释然。她走了出去,脚步踩在枯玉米地上,发出细碎的沙沙声。身影越来越小,渐渐被灰白的雾气和枯树吞没。
<br><br>
我站在门口,看着她消失的方向。风吹过,卷起地上的枯叶,在我脚边打了个旋,又散了。棚屋里安静下来,只剩铁链躺在地上,像一段被遗忘的过去。
<br><br>
我没追上去,也没喊她。只是把门关上,锁扣咔嗒一声合拢。
|EN|
Tasha crouched on the ground, stuffing the food into her tattered canvas bag. Her movements were unhurried, yet carried a lightness—like someone finally allowed to move again. The zipper was half-broken; she simply wound a piece of wire around it twice, gave it a pat as if encouraging it.
<br><br>
She stood, shouldered her weapon, then turned to me. Her eyes shone in the pale gray light. Suddenly she stepped forward, arms opening wide to pull me into a tight embrace. Her face buried against my chest, nose brushing my tactical vest, warm breaths sinking in—as though trying to leave everything that had happened in that single hug.
<br><br>
<center>[img[setup.videoPath+'/changjing/1/zacaocharu/gaobie.png']]</center>
<<tasha>>Darling… let me call you that, okay? Thank you for helping me! I’m leaving now. My home is in Candy Town—if you ever miss me, come find me there~<</tasha>>
Her voice was soft as a whisper, yet carried a rare brightness—like someone who had finally clawed her way out of the mud. She held on tightly, fingertips clutching the back of my shirt as though afraid I’d push her away any second.
<br><br>
She let go, stepping back half a pace, then rose on tiptoe to brush her lips lightly against the corner of my mouth—not a full kiss, just a fleeting touch, like leaving a small mark. Then she turned, slung the canvas bag over her shoulder, and pushed open the iron grate. The door creaked as if saying goodbye.
<br><br>
She looked back once, the corner of her mouth curving into a faint smile. No tears in her eyes, but a kind of heavy relief that made the chest tighten. She stepped out, feet crunching softly on the dead cornfield, her figure growing smaller until it was swallowed by the gray mist and withered trees.
<br><br>
I stood at the doorway, watching the direction she disappeared into. Wind blew past, stirring dry leaves into a small whirl at my feet before scattering them. The shack fell silent, only the iron chain lying on the floor like a forgotten piece of the past.
<br><br>
I didn’t chase after her or call out. I simply closed the door; the lock clicked shut with a final snap.
<</lang>>
<<set $characters["tasha"].location to "tangguozhen">>
<<backToMap "StageMap">><<toggleclass "body" "home">>
<<if $quests.active.includes("q_heishang_shili1") and setup.QuestManager.canComplete("q_heishang_shili1")>>
<<lang>>
我在黑市里重新找到那个穿红衣的女人时,她正靠在高脚桌边抽烟。她先看了我一眼,又看了看我身上的血迹和武器,像是在核对一笔刚送到手上的账。
<<you>>你要的事,我做完了。<</you>>
她吐出一口淡白色的烟,眼神还是冷的,却终于没有第一次见面时那种彻底把人隔在外面的疏离。
<<heishang>>不错。至少你不是那种只会站在我面前说大话的废物。<</heishang>>
她把烟按灭,抬手朝我勾了一下,示意我靠近些。
<<heishang>>你要找修理武器的人,这条路我可以替你留意。不过黑市里没有白来的消息。以后想继续做生意,就拿出点让我省心的本事。<</heishang>>
|EN|
When I found the black market merchant again in the black market, she was leaning against a tall table with a cigarette between her fingers. She looked at me first, then at the blood on my gear and the weapons I carried, as if checking a delivery that had finally arrived.
<<you>>What you asked for is done.<</you>>
She let out a pale stream of smoke. Her eyes were still cold, but for the first time they no longer kept me completely at a distance.
<<heishang>>Not bad. At least you are not one of those useless men who stand in front of me talking big and doing nothing.<</heishang>>
She crushed the cigarette out and crooked a finger at me, telling me to come a little closer.
<<heishang>>You wanted a route to someone who can repair weapons. I can keep an ear out for one. But there is no such thing as free information in the black market. If you want to keep doing business with me, then keep proving you are worth the trouble.<</heishang>>
<</lang>>
<<run setup.QuestManager.complete("q_heishang_shili1")>>
<<set _action = setup.t("离开|Leave")>>
[[_action|Heishi]]
<<elseif $quests.active.includes("q_heishang_shili1")>>
<<lang>>
黑商看见我走近,只抬了抬眼皮,像是已经知道我还没把她交代的事情办完。
<<heishang>>先别跟我谈别的。把那 3 只站街女清掉,再回来跟我说话。<</heishang>>
|EN|
When the black market merchant saw me approach, she only lifted her eyes for a moment, as if she already knew I had not finished what she asked.
<<heishang>>Don't talk to me about anything else for now.Kill those 3 Streetwalkers first, then come back and talk to me.<</heishang>>
<</lang>>
<<set _action = setup.t("离开|Leave")>>
[[_action|Heishi]]
<<elseif $heishangMafanSeen and !$quests.completed.includes("q_heishang_shili1")>>
<<lang>>
我再次走到黑商面前时,她正低头摆弄着酒杯,像是不在乎我会不会回来。直到我停在她桌前,她才慢慢抬眼看我。
<<heishang>>想清楚了?还是只是又来听我说一遍,黑市里没有白给的门路。<</heishang>>
我没接她的刺,只是把话说得很直接。
<<you>>你要我做的事,我可以接。<</you>>
黑商盯着我看了两秒,像是在确认我这次是不是终于不像个路过的客人。
<<heishang>>好。去替我清掉那 3 只站街女。做完了,再回来谈你要的修理门路。<</heishang>>
|EN|
When I stepped in front of the black market merchant again, she was turning a glass in her hand as if it made no difference to her whether I came back or not. Only when I stopped at her table did she slowly raise her eyes to me.
<<heishang>>So, you made up your mind? Or did you just come back to hear me say again that nothing in the black market is free?<</heishang>>
I did not react to the barb. I only answered plainly.
<<you>>I'll take the job.<</you>>
She watched me for two seconds, as if checking whether I finally looked like something more than a passing customer.
<<heishang>>Good. Go clear out 3 Streetwalkers for me. When you're done, come back and we'll talk about the repair route you want.<</heishang>>
<</lang>>
<<set _action = setup.t("接下委托|Take the job")>>
<<link _action "Heishi">>
<<run setup.QuestManager.accept("q_heishang_shili1")>>
<</link>>
<br>
<<set _action = setup.t("先离开|Leave for now")>>
<<link _action "Heishi">>
<</link>>
<<else>>
<<lang>>
我挤过黑市里嘈杂的人群,停在那个穿红衣的女人面前。她抬眼看了我一下,眼神短暂地落在我的武器上,像是在确认我值不值得她继续浪费时间。
<<you>>你这里有能修理武器的人吗?或者有枪、刀、护甲之类的货源也行。<</you>>
她听完,只是把酒杯沿着桌面轻轻转了一圈,连一个多余的表情都没有。
<<heishang>>最近联邦查得很严。修枪的、卖枪的、倒零件的,能躲的都躲了,躲不掉的已经被拖走了。你要的这些东西,现在这儿都不好搞。<</heishang>>
她顿了顿,终于抬头看我,语气依旧像在打发一个萍水相逢的客人。
<<heishang>>去别的地方看看吧,帅哥。<</heishang>>
|EN|
I pushed through the noise of the black market and stopped in front of the black market merchant. She looked up at me once, her eyes dropping briefly to my weapons as if deciding whether I was worth any more of her time.
<<you>>Do you know anyone who can repair weapons? Or a route for guns, blades, armor... anything like that.<</you>>
When I finished, she only rolled the rim of her glass across the table. Not even an extra expression crossed her face.
<<heishang>>The Federation has been cracking down hard lately. The people who fix guns, sell them, or move spare parts are all in hiding if they can be. The ones who couldn't hide have already been dragged away. The things you want are not easy to get here right now.<</heishang>>
She paused, then finally looked up at me. Her tone still carried the distance of someone brushing off a stranger she had no reason to care about.
<<heishang>>Try somewhere else, handsome. <</heishang>>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/heishi/mafan.png']]</center>
<br><br>
<<lang>>
我正准备转身,旁边那道垂帘忽然被人从里面掀开。一个留着胡子的高壮男人探进半个身子,眼神先在黑商脸上停住,又慢慢扫过我,像是在衡量这里有没有多余的麻烦。
<br><br>
黑商脸上的神情没变,只是把酒杯放下,语气一下冷了几分。
<<heishang>>今天不接你的生意。滚远点。<</heishang>>
那男人咧嘴笑了一下,笑意却没进眼里。
<<you>>……<</you>>
黑商没再理我,起身朝后面走去。我本来不想管,可看她那张脸,怎么都不像是去谈什么正常买卖。最后我还是装作若无其事地换了个方向,隔着人群悄悄跟了上去。
|EN|
I was about to turn away when the hanging curtain beside us was suddenly pulled open from the inside. A broad, mustached man leaned halfway out. His eyes stopped first on the black market merchant, then slid over me slowly, as if weighing whether I was extra trouble.
<br><br>
The expression on her face did not change. She only set her glass down, and when she spoke her tone turned colder.
<<heishang>>I'm not doing business with you today. Get lost.<</heishang>>
The man bared a smile, but it never reached his eyes.
<<you>>...<</you>>
She stopped paying attention to me and got up to head deeper inside. I had no intention of getting involved, but nothing in her face said this was normal business. In the end, I changed direction as if by accident and followed after them through the crowd.
<</lang>>
<<set _action = setup.t("跟上去|Follow them")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/heishi/mafan'>>
<br><br>
<<lang>>
隔着半掩的门帘,我看见那男人几乎是把路堵死了。语气倒不大,却带着一种吃定了她没地方讲理的下流劲儿。
<br><br>
他说最近枢纽城查得紧,黑市还能开门,全靠他们这些“肯出力的人”在外面挡事。所以以前那点保护费不够了,得加。
<br><br>
加钱只是第一层。那男人很快又把话说得更脏,说她要是真拿不出钱,也可以换个办法还账。跟他走,给他当情妇,往后也就不用再为这些麻烦担惊受怕。
<br><br>
黑商从头到尾都没有软下来。她既没求他,也没顺着他说笑,只是冷冷站在那里,一句一句把话顶回去,像是宁可把这桩生意砸碎,也不肯让对方觉得自己真能压住她。
<br><br>
那男人最后骂了几句,丢下一句“下次就没这么好说话了”,才不情不愿地走了。
|EN|
From behind the half-drawn curtain, I saw the man all but block her path. He was not loud, but there was something filthy in the way he spoke, the kind of tone that came from being certain she had nowhere to appeal.
<br><br>
He said the pressure inside Hub City was getting tighter by the day, and the only reason the black market was still allowed to breathe was because men like him were the ones "putting in the work" outside. So the old protection money was no longer enough. It had to go up.
<br><br>
Money was only the first layer. Before long, he dragged the conversation somewhere dirtier and said that if she could not pay, there was another way to settle the debt. She could go with him, become his mistress, and stop worrying about this kind of trouble in the future.
<br><br>
The black market merchant never softened once. She did not beg, and she did not try to laugh it off. She only stood there and sent every line back at him in a flat, cold voice, as if she would rather smash the whole arrangement than let him think he had truly pressed her down.
<br><br>
In the end the man spat out a few curses and threw down one last warning that next time he would not be so easy to talk to. Only then did he leave.
<</lang>>
<<set _action = setup.t("等她回来|Wait for her to come back")>>
<<linkreplace _action>>
<br><br>
<<lang>>
过了一会儿,黑商像什么都没发生一样重新走回前面的桌边。我本来应该装作不知道,可她刚才那副样子,实在不像还能靠一句“算了”就过去。
<<you>>我不是故意偷听。刚才那事,我听见了。<</you>>
她抬眼看我,没生气,也没急着否认,只是那道目光比刚才更细,像是在重新估量我这个人到底能不能拿来用。
<br><br>
黑商盯着我看了两秒,忽然轻轻笑了一下。那笑里没有多少暖意,更像是终于从一堆废料里挑出一件也许还能用的东西。
<<heishang>>嘴上谁都会说。这样吧,我这刚好有点小麻烦,你帮我把这个任务处理了,让我看看你到底值不值得我费心。<</heishang>>
她身体微微前倾,声音压低了些。<br><br>
<<heishang>>做完了,再回来跟我谈修理武器的人和货源。做不完,你我今天这几句话,就当没说过。<</heishang>>
|EN|
After a while, the black market merchant returned to the front table as if nothing had happened. I should have pretended not to know, but after seeing her stand there like that, it no longer felt like something I could dismiss with a shrug.
<<you>>I wasn't trying to listen in. But I heard what just happened.<</you>>
She looked up at me. She was not angry, and she did not rush to deny anything. Her gaze only turned sharper than before, as if she were reassessing whether I was something she could actually use.
<<you>>If what you need is someone who can handle trouble, I can solve this one for you.<</you>>
She watched me for two seconds, then gave a small laugh. There was no warmth in it. It sounded more like someone digging through scrap and realizing one piece might still have some use left in it.
<<heishang>>Anyone can talk. Well then, I happen to have a small problem here. Help me handle this task and let me see if you're actually worth my trouble.<</heishang>>
She leaned forward slightly, lowering her voice.
<<heishang>>Do that, then come back and we'll talk about people who can repair weapons and routes that still move goods. Fail, and everything we said today disappears here.<</heishang>>
<</lang>>
<<set $heishangMafanSeen = true>>
<<if $quests.active.includes("q_zx_heishi_xiuli")>><<run setup.QuestManager.complete("q_zx_heishi_xiuli")>><</if>>
<br><br>
<<set _action = setup.t("接下委托|Take the job")>>
<<link _action "Heishi">>
<<run setup.QuestManager.accept("q_heishang_shili1")>>
<</link>>
<br>
<<set _action = setup.t("先离开|Leave for now")>>
<<link _action "Heishi">>
<</link>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</if>><<set $currentStage = 2>>
<<lang>>
回到枢纽城后,我与Saika分开,然后独自一人向车库走去。
<br><br>
推开那扇沉重的卷帘门,车库里的暖光裹挟着饭菜的香气扑面而来。<br><br>
Yua正跪坐在工作台前,手边是一堆刚拆解的电子元件。听到动静,她回过头,脸上原本紧绷的线条柔和下来,但那双眼睛——那双看过无数谎言数据的眼睛,立刻锁定了我的脸。
<<yua>>回来了?<</yua>>
她站起身,像往常一样走过来接我的背包。但在指尖触碰到我战术背带的瞬间,她的动作停滞了。<br><br>
鼻翼微动,她抬起头,眼神没有躲闪,直直地刺入我的眼底。
<<yua>>消毒水、陈旧的纸张霉味……还有一种很特殊的香水味。是那个女人的。<</yua>>
<center>[img[setup.ImagePath+'/changjing/2/home/2-1.png']]</center>
她没有质问,只是在陈述一个分析结果。语气冷静得让人心疼。<br><br>
我看着她,喉咙动了动。如果是在旧世界,我也许会撒谎,会掩饰。<br><br>但现在,看着眼前这个为了我背叛了整个联邦的女人,我知道任何谎言都是亵渎。
<<you>>是Saika。那个机械师。<</you>>
我没有松开背包,而是反手握住了Yua的手腕,把她拉近了一些,直到我们呼吸可闻。
<<you>>Yua,我想让你知道那里发生的一切。我不打算瞒你,哪怕是一个字。<</you>>
Yua的瞳孔微微收缩,她感觉到了我语气中的重量。她没说话,只是点了点头,示意我继续。
|EN|
After returning to Hub City, I parted ways with Saika and headed toward the garage alone.
<br><br>
The moment I pushed open the heavy rolling door, warm light and the smell of food washed over me.<br><br>
Yua was kneeling by the workbench, a pile of freshly disassembled electronic parts at her side. Hearing the noise, she turned around. The tension in her face softened at first, but those eyes, eyes that had read through countless lies in raw data, locked onto my face immediately.
<<yua>>You're back?<</yua>>
She rose and came over to take my backpack as usual. But the instant her fingertips brushed my tactical straps, she froze.<br><br>
Her nose twitched slightly. She lifted her head, her gaze unwavering as it pierced straight into my eyes.
<<yua>>Disinfectant. Old paper and mildew... and a very distinctive perfume. Hers.<</yua>>
<center>[img[setup.ImagePath+'/changjing/2/home/2-1.png']]</center>
She didn't question me. She was simply stating the result of an analysis. Her tone was calm enough to make my chest ache.<br><br>
I looked at her, my throat tightening. In the old world, maybe I would have lied. Maybe I would have tried to hide it.<br><br>But now, looking at the woman who had betrayed the entire Federation for me, I knew any lie would be a kind of blasphemy.
<<you>>It was Saika. The mechanic.<</you>>
I didn't let go of my backpack. Instead, I caught Yua by the wrist and pulled her a little closer, until I could feel our breaths mingling.
<<you>>Yua, I want you to know everything that happened there. I'm not going to hide a single word from you.<</you>>
Yua's pupils narrowed slightly. She felt the weight in my voice. She said nothing, only nodded once to tell me to continue.
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
我深吸一口气,把背包放在地上,拉开拉链,拿出了那瓶泛着诡异红光的**【再生细胞药剂】**,放在桌上。
<<you>>这次任务远比我想象的复杂。Saika不仅仅是个机械师,她是解放阵线的卧底。她在研究抗体。<</you>>
我看着Yua的眼睛,一字一句地把所有事情全盘托出:从图书馆的丧尸实验,到我不得已暴露自己“联邦实验体”的身份来挽救实验,再到最后那混乱、绝望又疯狂的性爱。
<br><br>
我没有美化过程,也没有找借口说我是“被迫”的。我坦承了那一刻的肉体反应,坦承了那种在死亡边缘交换体温的渴望,也坦承了Saika最后对我做的——收集“生命精华”。
<<you>>她知道了我们的秘密,Yua。她知道我是89757。但这瓶药剂……<</you>>
我指了指桌上的红瓶子。
<<you>>这是她用那个丧尸样本提取出来的。她说这东西也许能帮我变得更强。她用这个,还有这具身体,换取了我的信任和那个样本。<</you>>
说完这一切,车库里陷入了死一般的寂静。只有角落里电磁炉上炖肉的咕嘟声在响。<br><br>
Yua静静地站在那里,目光从那瓶药剂移到我的脸上,又落回到药剂上。她的表情在快速变化——震惊、刺痛、沉思,最后归于一种令人心悸的冷静。<br><br>
过了良久,她伸出手,拿起了那瓶药剂,对着灯光晃了晃。
<<yua>>你说……她知道你是实验体,而且在你的帮助下,药剂有了活性反应?<</yua>>
<<you>>是。<</you>>
Yua忽然笑了。那不是苦笑,而是一种带着寒意的、极度理性的笑。
<<yua>>哼,聪明的女人。她不仅利用了你的身体,还把我们绑上了她的战车。解放阵线……如果不把你彻底榨干,她是不会罢休的。<</yua>>
她转过身,把药剂小心地放进冷藏箱,然后背对着我,肩膀微微颤抖。
<<you>>Yua……<</you>>
我走过去,从背后抱住她。她的身体很僵硬,但没有推开我。
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-2.png']]</center>
<<yua>>(声音低沉)我是个女人,$player.name。听到自己的男人跟别的女人上床,我心里很难受,真的像被刀割一样疼。<</yua>>
她转过身,眼眶微红,但眼神坚定得可怕。
<<yua>>但首先,我是你的Yua。是你在这个地狱里活下去的保障。如果她的身体能让你放松,如果她的药剂能让你变强……哪怕是利用,只要对你有益,我就能接受。<</yua>>
她伸出手,抚摸着我的脸颊,指尖冰凉。
<<yua>>但你记住了。你的命是我的,你的秘密也是我的。她可以拿走你的体液,可以拿走你的战斗力,但她永远别想拿走我们之间的东西。<</yua>>
<<yua>>还有……<</yua>>
她忽然踮起脚,狠狠地吻住了我。这个吻带着惩罚性的咬噬,充满了占有欲和血腥味。<br><br>
分开时,她喘息着,眼神凶狠。
<<yua>>既然她知道了你的身份,那我们就必须更强。强到就算她想出卖我们,也得掂量掂量后果。这瓶药剂我会拿去分析成分,如果安全,你就用了它。<</yua>>
Yua挣脱我的怀抱,恢复了那个干练的分析师模样,把我推向浴室的方向。
<<yua>>现在,去洗澡。把你身上那个女人的味道洗干净。我不想吃饭的时候还闻到她。<</yua>>
|EN|
I drew a deep breath, set my backpack on the floor, unzipped it, and took out the **【Regenerative Cell Serum】** glowing with that eerie red light, then placed it on the table.
<<you>>This mission was far more complicated than I expected. Saika isn't just a mechanic. She's an undercover operative for the Liberation Front. She's researching antibodies.<</you>>
Looking straight into Yua's eyes, I told her everything, word for word: the zombie experiments in the library, how I had no choice but to expose my identity as a “Federation test subject” to save the experiment, and the chaos, despair, and madness of the sex that came afterward.
<br><br>
I didn't prettify any of it, and I didn't excuse myself by saying I had been “forced.” I admitted my body's response in that moment, admitted that desperate craving to trade warmth on the edge of death, and admitted what Saika did at the end, collecting my “life essence.”
<<you>>She knows our secret, Yua. She knows I'm 89757. But this serum...<</you>>
I pointed at the red bottle on the table.
<<you>>She extracted it from that zombie sample. She said it might make me stronger. She used this, and her body, to buy my trust and that sample from me.<</you>>
When I finished, the garage fell into a deathly silence. Only the bubbling stew in the induction pot at the corner made any sound.<br><br>
Yua stood there quietly, her eyes moving from the serum to my face, then back to the serum again. Her expression shifted rapidly, shock, pain, contemplation, and finally settled into a chilling calm.<br><br>
After a long while, she reached out, picked up the serum, and held it to the light.
<<yua>>So... she knew you were a test subject, and with your help, the serum showed an active reaction?<</yua>>
<<you>>Yes.<</you>>
Yua suddenly smiled. It wasn't a bitter smile, but one laced with coldness, an almost terrifyingly rational smile.
<<yua>>Hmph. Clever woman. She didn't just use your body, she tied us to her war chariot too. The Liberation Front... if they don't squeeze every last drop out of you, they won't stop.<</yua>>
She turned away, carefully placed the serum into the cooler, then stood with her back to me, shoulders trembling faintly.
<<you>>Yua...<</you>>
I walked over and wrapped my arms around her from behind. Her body was stiff, but she didn't push me away.
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-2.png']]</center>
<<yua>>(Her voice low) I'm a woman, $player.name. Hearing that my man slept with another woman hurts. It really hurts, like being cut by a knife.<</yua>>
She turned back toward me. Her eyes were faintly red, but her gaze was frighteningly steady.
<<yua>>But first, I'm your Yua. I'm the one who keeps you alive in this hell. If her body can help you relax, if her serum can make you stronger... then even if it's exploitation, I can accept it, as long as it benefits you.<</yua>>
She reached up and touched my cheek, her fingertips ice-cold.
<<yua>>But remember this. Your life is mine, and your secret is mine too. She can take your fluids, she can take your combat strength, but she will never take what exists between us.<</yua>>
<<yua>>And one more thing...<</yua>>
She suddenly rose onto her toes and kissed me hard. The kiss bit like punishment, full of possessiveness and the taste of blood.<br><br>
When we broke apart, she was breathing hard, eyes fierce.
<<yua>>Now that she knows who you are, we have to become stronger. Strong enough that even if she wants to sell us out, she'll have to think twice about the consequences. I'll analyze this serum. If it's safe, you'll use it.<</yua>>
Yua slipped out of my embrace, putting on the composed face of a capable analyst again as she shoved me toward the bathroom.
<<yua>>Now go take a shower. Wash that woman's scent off you. I don't want to smell her while we're eating.<</yua>>
<</lang>>
<div id="bath-options">
<<lang>>
Yua的反应完全超出我的预料,同时又让我无比感动。<br><br>
我微笑着挪步,同时举起双手,但当我回头准备再说点什么的时候,眼底还是捕捉到了Yua那一丝落寞的神情。<br><br>
不过爱人之间出现问题时,总有一条解决问题的捷径可以走。
|EN|
Yua's reaction was completely beyond my expectations, and it moved me more deeply than I could put into words.<br><br>
I smiled and shifted my steps, hands raised in surrender, but when I turned back to say something else, I still caught that faint trace of loneliness in Yua's expression.<br><br>
Still, when lovers run into a problem, there is always one shortcut to fixing it.
<</lang>>
<<set _action = setup.t("一起洗|Wash together")>>
<<link _action>>
<<replace "#bath-options">>
<<lang>>
我没有给她自己躲在一边受委屈的机会,转身走回去,一把扣住她的手腕,拉着她就往浴室走。<br><br>
<<yua>>喂……你干嘛,放开。<</yua>>
她嘴上还在逞强,另一只手却只是象征性地在我肩上拍了两下,力道轻得像撒气。<br><br>
<<you>>不是叫我洗干净吗?一起。<</you>>
Yua瞪了我一眼,耳根却已经有些发红。她被我一路拽进浴室,热水刚一打开,狭小空间里立刻蒸起一层白雾。<br><br>
<<video 'changjing/2/yua_yushi_01'>><br><br>
我反手关上门,把她抵在门板上。她还想再说什么,嘴唇却先被我堵住,只来得及从齿缝里泄出一声含糊的闷哼。<br><br>
她身上的衣服很快被我一件件扯开。Yua起初还带着点不甘心地推我,可没过多久,攀在我肩上的手指就慢慢收紧,连呼吸都乱了。<br><br>
热水顺着她的发梢和锁骨往下淌,她仰起脸,眼尾发红,声音又低又哑。<br><br>
<<yua>>……混蛋。你就会用这种办法。<</yua>>
<<you>>有用就行。<</you>>
<<video 'changjing/2/yua_yushi_02'>><br><br>
我把她反转过去,压向湿热的浴室玻璃。很快,浴室里就只剩下凌乱的水声、压抑不住的喘息,还有她一次比一次更用力抓紧我的手。<br><br>
等一切结束时,Yua伏在我怀里,胸口还在轻轻起伏。她咬着唇缓了好一会儿,才抬手在我胸口不轻不重地锤了一下。<br><br>
<<you>>现在……我身上就只剩你的味道了。<</you>>
<<yua>>(狠狠地锤了我一下)要死哦~<</yua>>
|EN|
Hot water ran from the tips of her hair and down along her collarbone. She tilted her face up, the corners of her eyes flushed red, her voice low and husky.<br><br>
<<yua>>...Jerk. You always use tricks like this.<</yua>>
<<you>>As long as it works.<</you>>
<<video 'changjing/2/yua_yushi_02'>><br><br>
I turned her around and pressed her against the warm, fogged-up bathroom glass. Before long, the bathroom was filled with nothing but splashing water, ragged breathing, and the way her grip on my hand tightened harder and harder.<br><br>
When it was over, Yua sagged against me, her chest still rising and falling softly. She bit her lip and took a long moment to steady herself before lightly thumping my chest.<br><br>
<<you>>Now... all that's left on me is your scent.<</you>>
<<yua>>(thumps me hard in the chest) You're impossible~<</yua>>
I didn't give her the chance to hide away by herself and swallow the hurt alone. I turned around, walked back, caught her by the wrist, and pulled her straight toward the bathroom.<br><br>
<<yua>>Hey... what are you doing? Let go.<</yua>>
She was still trying to act tough, but her other hand only patted my shoulder twice in token protest, light enough to feel like sulking.<br><br>
<<you>>Didn't you tell me to wash up? Then we're doing it together.<</you>>
Yua shot me a glare, but the tips of her ears had already begun to redden. I dragged her all the way into the bathroom. The moment the hot water came on, the cramped space filled with white steam.<br><br>
<<video 'changjing/2/yua_yushi_01'>><br><br>
I kicked the door shut behind me and pinned her against it. She tried to say something else, but I sealed her lips first, and all that escaped from between her teeth was a muffled little moan.<br><br>
I stripped her clothes off piece by piece. At first Yua still pushed at me with a trace of stubborn resistance, but before long her fingers tightened around my shoulders and even her breathing fell into disarray.<br><br>
Hot water streamed down from her hair and collarbones. She tilted her face up, eyes flushed red at the corners, her voice low and husky.<br><br>
<<yua>>...Asshole. This is always the kind of trick you use.<</yua>>
<<you>>As long as it works.<</you>>
<<video 'changjing/2/yua_yushi_02'>><br><br>
I turned her around and pressed her against the hot, wet bathroom glass. Before long, the room held nothing but the splashing water, the breathing neither of us could keep down, and the way she gripped my hand harder and harder each time.<br><br>
When it was finally over, Yua leaned against me, her chest still rising and falling softly. She bit her lip and took a long moment to steady herself before lifting a hand and giving my chest a light punch.<br><br>
<<you>>Now... your scent is the only one left on me.<</you>>
<<yua>>(She punches me hard.) You'll be the death of me~<</yua>>
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.yua.sexCount += 1>>
<<updateCaptionInfo>>
<<set _action = setup.t("离开|Leave")>>
[[_action|Home]]
<</replace>>
<</link>>
<<set _action = setup.t("不要烦她|Don't bother her.")>>
<<link _action Home>>
<</link>>
</div>
<</linkreplace>><<toggleclass "body" "home">>
<<lang>>
Saika断联后的第一次重联,比我想象中安静得多。
<br><br>
她没有像以前那样带着若有若无的笑,也没有多余的寒暄,只是站在车库工作台边,手指抵着桌沿,像是在强迫自己维持住平稳的呼吸。Yua站在她对面,双臂抱在胸前,神色冷得很,但没有赶人。
<br><br>
真正压得人喘不过气的,不是谁先开口,而是三个人都知道,既然Saika来了,那就说明她那里出现了最坏的情况。
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-3.png']]</center>
<br><br>
最后还是Yua先说话了。
<br><br>
<<yua>>你既然来了,就说明已经发生了不能继续等下去的事了。<</yua>>
她盯着Saika,声音压得很低。<br><br>
<<yua>>那就别绕。直接说,到底出了什么事。<</yua>>
Saika沉默了一下,才轻轻点头。
<br><br>
<<saika>>……如果还有别的路,我不会回来。<</saika>>
|EN|
Saika's first reconnection after the cutoff was much quieter than I had imagined.
<br><br>
She did not wear that faint, elusive smile she used to have, nor did she offer any extra pleasantries. She simply stood by the garage workbench with her fingers pressed against the edge of the table, as if forcing herself to keep breathing steadily. Yua stood across from her with her arms folded over her chest, her expression cold, but she did not drive her away.
<br><br>
What truly made it hard to breathe was not who spoke first, but that all three of us knew that since Saika had come, the worst must have happened on her side.
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-3.png']]</center>
<br><br>
In the end, Yua was the one who spoke first.
<br><br>
<<yua>>Since you came, that means something has already happened that can't wait any longer.<</yua>>
She stared at Saika, keeping her voice very low.<br><br>
<<yua>>Then don't circle around it. Just say it. What happened?<</yua>>
Saika was silent for a moment before giving a slight nod.
<br><br>
<<saika>>...If there had been any other way, I wouldn't have come back.<</saika>>
<</lang>>
<<set _action = setup.t("听她说下去|Let her continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Saika把视线从我脸上移开,像是怕多看一眼,原本好不容易绷住的那点镇定就会散掉。
<br><br>
<<saika>>地下工作站被端了。<</saika>>
她说得很平,反而让那句话更沉。<br><br>
<<saika>>和我对接的联络员失踪。原本负责中转的联络方式,也全部都失效了。<</saika>>
Yua的眼神微微一沉。<br><br>
<<yua>>你确定不是他主动切断联系,自己躲了?<</yua>>
Saika摇头。
<br><br>
<<saika>>我利用黑哥的势力暗中进行了调查,整个联络站已经被抄了。我还偷偷查看了被捕人员的名单,所有人的名字都在,唯独没有这个联络员。<</saika>>
<<saika>>好消息是我们是单独联络,只有这个联络员知道我。坏消息是...如果这个联络员先被他们找到...很可能会因为我而把你们也牵扯进来...<</saika>>
Saika停了停,才把最后那句话补上。<br><br>
<<saika>>我现在唯一能确定的,就是那个联络员和黑市有联系。除此之外,我手里没有更实的线索。<</saika>>
车库里安静了一瞬。Yua没立刻接话,只是看着Saika。
<br><br>
Saika也没有回避。
<br><br>
<<saika>>我不是回来把答案带给你们的。<</saika>>
她的声音有一点发哑。<br><br>
<<saika>>我是回来求你们帮我,把答案找出来。<</saika>>
|EN|
Saika turned her gaze away from my face, as if afraid that if she looked one second longer, the composure she had barely managed to hold together would fall apart.
<br><br>
<<saika>>The underground station has been taken down.<</saika>>
She said it very calmly, which only made the sentence feel heavier.<br><br>
<<saika>>The liaison who worked with me has disappeared. The contact methods that used to handle transfers have all failed as well.<</saika>>
Yua's eyes darkened slightly.<br><br>
<<yua>>Are you sure he didn't cut off contact on his own and go into hiding?<</yua>>
Saika shook her head.
<br><br>
<<saika>>I used Black Brother's influence to investigate in secret. The entire contact station has already been raided. I also secretly checked the list of those arrested. Everyone's name was there, except this liaison.<</saika>>
<<saika>>The good news is that we contacted each other separately, so only this liaison knew me. The bad news is... if they find this liaison first... you may be dragged into this because of me...<</saika>>
Saika paused, then added the last sentence.<br><br>
<<saika>>The only thing I can confirm now is that this liaison had connections to the black market. Other than that, I don't have any firmer lead in my hands.<</saika>>
The garage fell silent for a moment. Yua did not respond immediately. She only looked at Saika.
<br><br>
Saika did not avoid her gaze either.
<br><br>
<<saika>>I didn't come back with the answer for you.<</saika>>
Her voice was a little hoarse.<br><br>
<<saika>>I came back to ask you to help me find it.<</saika>>
<</lang>>
<<set _action = setup.t("我开口|Speak up")>>
<<linkreplace _action>>
<br><br>
<<lang>>
我与Yua对视了一眼,我们都知道,现在多说无益,最重要的是,先找到联络员的线索,再决定下一步的动作。<br>
我靠在桌边,顺着她的话,把最近在黑市碰上的事重新过了一遍。
<br><br>
<<you>>我最近刚好在黑市那边,碰到一个黑商惹上了麻烦。<</you>>
Yua和Saika同时看向我。<br><br>
<<you>>我跟她谈不上有什么交情,但我已经在她面前露过脸,她至少肯听我说话。要是那个失踪的联络员真和黑市有往来,我可以借这个机会接近她,看看能不能从她那边套出点有用的东西。<</you>>
Saika原本绷得很紧的肩线,终于有了一点几乎看不出来的松动。她看着我,镜片后的目光很复杂,像是松了口气,又像是更不愿意把我继续卷进来。
<br><br>
<<saika>>可以。<</saika>>
她答得很快,随后又自己补了一句。<br><br>
<<saika>>但只能由你去接近。现在我不能在黑市露面。只要有人把你和我重新串起来,这条线就会死得更快。<</saika>>
Yua终于开口,语气依旧冷静,却比刚才更像是在下规则。
<br><br>
<<yua>>先说清楚,这不是恢复来往。只是针对这一次,开一条例外。<</yua>>
她看向我。<br><br>
<<yua>>你去黑市接触那个黑商,想办法摸清楚这个失踪联络员到底有没有在那边留下痕迹。<</yua>>
她又转向Saika。<br><br>
<<yua>>你不露面,不插手,也不要把我们往你原来的联络链上硬拽。查到实线之前,谁都别自作聪明。<</yua>>
Saika安静地听完,点了点头。
<br><br>
<<saika>>好。只要你们能摸到一点能确认他去向的东西,我就知道下一步该往哪里追。<</saika>>
|EN|
Yua and I exchanged a glance. We both knew that saying more now would be useless. The most important thing was to find a lead on the liaison first, and then decide what to do next.<br>
Leaning against the table, I went back over what had happened recently at the black market, following her line of thought.
<br><br>
<<you>>I just happened to run into a black-market merchant who got herself into trouble recently.<</you>>
Yua and Saika both turned to look at me at the same time.<br><br>
<<you>>I can't say I have any real connection with her, but she's already seen my face. At the very least, she's willing to listen when I talk. If that missing liaison really had dealings with the black market, I can use this chance to get close to her and see if I can get anything useful out of her.<</you>>
The line of Saika's shoulders, which had been tight the whole time, finally eased by the slightest amount. She looked at me through her lenses with a complicated expression, as if relieved, and at the same time even more unwilling to drag me any deeper into this.
<br><br>
<<saika>>That works.<</saika>>
She answered quickly, then added another sentence herself.<br><br>
<<saika>>But only you can be the one to approach her. I can't show my face in the black market right now. The moment someone links you and me together again, this line will die even faster.<</saika>>
Yua finally spoke. Her tone was still calm, but more than before, it sounded like she was laying down rules.
<br><br>
<<yua>>Let's make this clear first. This is not us resuming contact. This is a one-time exception, just for this matter.<</yua>>
She looked at me.<br><br>
<<yua>>You go to the black market and make contact with that merchant. Find a way to determine whether this missing liaison left any trace there at all.<</yua>>
Then she turned to Saika.<br><br>
<<yua>>You do not show yourself, you do not interfere, and you do not drag us back onto your old contact chain. Until we find a solid lead, no one gets to think they're being clever.<</yua>>
Saika listened quietly and nodded.
<br><br>
<<saika>>All right. As long as you can find even one thing that confirms where he went, I'll know where to chase next.<</saika>>
<</lang>>
<<set _action = setup.t("定下来|Settle It")>>
<<linkreplace _action>>
<br><br>
<<lang>>
话说到这里,三个人之间那根重新绷起来的线,总算暂时没有再继续往断的方向走。
<br><br>
Yua把桌上的资料收拢起来,动作很利落,像是在替这场重联划出最后一道边界。
<br><br>
<<yua>>那就这样。你去黑市。<</yua>>
她看着我,语气没有半点商量的意思。<br><br>
<<yua>>我在后面盯着联邦这几天的巡逻和搜捕动向,顺便给你准备退路。Saika这边,只保留最低限度的接触。谁都别再多走一步。<</yua>>
Saika轻轻应了一声。她没有再多说任务,也没有再试图把气氛拖回平常那种若即若离的样子。走到卷帘门前时,她才停了一下。
<br><br>
她没有回头,只是把声音放得很轻。
<br><br>
<<saika>>……对不起,如果不是已经到了生死关头,我不会回来找你们,现在我能信任的,只有你们了。<</saika>>
她顿了顿。<br><br>
<<saika>>所以,拜托你,把这条线找出来。<</saika>>
卷帘门被掀起一道缝,夜里的冷风一下子灌进来。等那道缝重新落下,Saika的身影也跟着一起消失了。
<br><br>
车库里重新安静下来。我看着紧闭的门板,心里很清楚,从这一刻起,我们已经没有再等下去的余地了。
|EN|
At this point, the line that had tightened again between the three of us finally stopped, for the moment, from pulling further toward breaking.
<br><br>
Yua gathered up the documents on the table with brisk, efficient movements, as if drawing one final boundary around this reconnection.
<br><br>
<<yua>>Then that's it. You go to the black market.<</yua>>
She looked at me, and there was not the slightest room for negotiation in her tone.<br><br>
<<yua>>I'll keep an eye on the Federation's patrol and arrest movements over the next few days, and I'll also prepare a way out for you. As for Saika, contact stays at the absolute minimum. No one takes one step further than that.<</yua>>
Saika answered softly. She said no more about the mission, and she did not try to pull the atmosphere back to that usual half-near, half-distant state. Only when she reached the rolling shutter did she pause.
<br><br>
She did not look back. She only lowered her voice.
<br><br>
<<saika>>...I'm sorry. If this hadn't already become a matter of life and death, I wouldn't have come back to find you. Right now, you're the only ones I can trust.<</saika>>
She paused.<br><br>
<<saika>>So please, find this line.<</saika>>
The rolling shutter lifted open into a narrow slit, and the cold night wind rushed in at once. When the slit closed again, Saika's figure disappeared with it.
<br><br>
The garage fell silent again. Looking at the tightly shut door, I knew very clearly that from this moment on, we no longer had any room left to keep waiting.
<</lang>>
<<set $characters["saika"].location to "">>
<br><br>
<<set _action = setup.t("回家|Go Home")>>
[[_action|Home]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<<toggleclass "body" "home">>
<<lang>>
Saika把那支药剂递给我时,车库外面忽然传来三下很轻、却很急的敲门声。这是Yua约定的特殊暗号,是在提醒我:别磨蹭,出事了。
<br><br>
Saika的手指顿了一下,下意识抬头看向门口。我还没来得及说话,卷帘门后就传来了Yua冷静得有些发紧的声音。
<<yua>>你们两个,都过来。现在。<</yua>>
我和Saika对视了一眼。她没问,推了推眼镜,把药剂收回托盘里,跟着我一起穿过堆着零件和工具箱的狭窄通道,走到车库里面那张临时拼起来的工作台前。
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-3.png']]</center>
<br><br>
Yua已经站在那里了。桌上摊着几张刚从终端里打印出来的截图、几枚临时通行牌,还有一张被她用红笔圈得密密麻麻的城市巡逻分布图。她没有坐,也没有像平时那样先看我,而是先看向Saika。
<br><br>
那一瞬间,空气像被什么东西压住了。没有人开口,但谁都知道,这不是一次普通的碰头。
|EN|
Just as Saika handed me the serum, three light but urgent knocks suddenly came from outside the garage. It was the special signal Yua had agreed on with me, warning me: stop wasting time, something had happened.
<br><br>
Saika's fingers paused for a moment, and she instinctively looked toward the door. Before I could say anything, Yua's voice came from behind the rolling shutter, calm but pulled tight.
<<yua>>You two, come over here. Now.<</yua>>
Saika and I exchanged a glance. She did not ask anything. She pushed up her glasses, put the serum back onto the tray, and followed me through the narrow passage piled with parts and toolboxes to the makeshift workbench inside the garage.
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/home/2-3.png']]</center>
<br><br>
Yua was already standing there. Spread across the table were several screenshots freshly printed from the terminal, a few temporary passes, and a city patrol deployment map covered all over with red circles she had marked. She did not sit down, and she did not look at me first the way she usually did. She looked at Saika first.
<br><br>
For that one moment, the air felt pinned down by something. No one spoke, but all of us knew this was not an ordinary meeting.
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
Yua先开了口。
<br><br>
<<yua>>我先把话说清楚。<</yua>>
她的声音不高,甚至没有带怒气,可正因为太稳,才让人不敢打断。
<br><br>
<<yua>>我知道,你对他不只是利用。<</yua>>
她看着Saika,目光没有躲闪。<br><br>
<<yua>>如果只是利用,你不会把药剂给他,也不会把你自己的研究,甚至你的身份都压到他身上。你不是单纯把他当工具。这个,我看得出来。<</yua>>
Saika沉默了两秒,像是在斟酌要不要接。最后,她还是轻轻吐出一口气,摘下手套,放到桌边。
<br><br>
<<saika>>……是。<</saika>>
她的声音很轻,却没有退。<br><br>
<<saika>>我承认,一开始我确实在利用他。我需要样本,需要一个能帮我把实验继续做下去的人。可后来……事情不是那样了。<</saika>>
她停了停,目光从我脸上掠过去,又落回Yua身上。<br><br>
Yua这才低头,把桌上一张截图推到我们面前。
|EN|
Yua spoke first.
<br><br>
<<yua>>Let me make this clear first.<</yua>>
Her voice was not loud, and there was not even any anger in it, but precisely because it was so steady, no one dared interrupt.
<br><br>
<<yua>>I know you don't see him as just someone to use.<</yua>>
She looked at Saika without avoiding her gaze.<br><br>
<<yua>>If it were only about using him, you wouldn't have given him the serum, and you wouldn't have put your own research, even your identity, on the line for him. You're not simply treating him as a tool. I can see that.<</yua>>
Saika stayed silent for two seconds, as if weighing whether to answer. In the end, she still let out a soft breath, took off her gloves, and set them by the edge of the table.
<br><br>
<<saika>>...Yes.<</saika>>
Her voice was light, but she did not retreat.<br><br>
<<saika>>I admit that at the beginning, I really was using him. I needed samples. I needed someone who could help me keep the experiment going. But later... it wasn't like that anymore.<</saika>>
She paused, her gaze brushing across my face before returning to Yua.<br><br>
Only then did Yua lower her head and push one of the screenshots toward us.
<</lang>>
<<set _action = setup.t("看资料|Look at the files")>>
<<linkreplace _action>>
<br><br>
<<lang>>
屏幕截图上,是一串我看不太懂的联邦内部调度记录。Yua用红笔圈出了其中几条:临时检查站增设、夜间宵禁延长、重点区域封锁、可疑分子筛查升级。
<br><br>
她又把另一页翻过来。上面是几张模糊的监控抓拍,拍到的都是被押进卡车的人影,手被反绑,头上罩着布袋,旁边站着端枪的联邦协查队。
<br><br>
<<yua>>最新收到的消息,联邦正式对解放阵线宣战了!这是我近期的调查结果。<</yua>>
<<yua>>历史上出名的白色恐怖又开始了。<</yua>>
这一次,她的语气终于冷了下来。<br><br>
<<yua>>不是传闻,不是黑市里吓人的小道消息,是公开清剿。布告已经贴出来了!今天下午开始,枢纽城几个出入口全部加了临检,夜里十点之后只许进,不许出。联邦的人已经在拉名单,抓人,封账,顺着接触链往下翻。<</yua>>
她点了点那几张截图。<br><br>
<<yua>>这些人里,有两个我认得。不是认得脸,是认得他们用过的中转标签和信号格式。那不是普通走私客,也不是黑市保安,而是你们解放阵线的人。<</yua>>
<<yua>>你们解放阵线,已经开始有人被抓了!!!<</yua>>
Saika的呼吸明显停了一拍。她伸手去拿那张截图,指尖却在半空里顿住了,像是怕碰实了,这件事就会变成再也赖不掉的现实。
<br><br>
<<saika>>……这么快。<</saika>>
<<yua>>对,就是这么快。<</yua>>
Yua抬起头,眼神锋利得像刀。<br><br>
<<yua>>你现在不是“有风险”。你是一个已经开始往外漏血的伤口。谁还站在你旁边,谁就会被顺着一起切开。<</yua>>
Saika没有生气,也没有像平时那样先拿一句轻描淡写的话把气氛缓一缓。她只是低声开口。
<br><br>
<<saika>>我知道。<</saika>>
她抬起头,镜片后的眼睛有点发亮,却不是委屈,倒更像某种被逼到墙角之后,终于不得不承认现实的清醒。
<br><br>
<<saika>>今天白天我留下的两组暗号,一直都没有得到回应。正常情况下,不会这样。我本来还想再等等……可如果城里已经开始抓人,那就不是等等的问题了。我需要去确认一下,异常的原因是因为风声变紧了,还是已经出事了。<</saika>>
说到这里,她转过脸,看向我,声音压得更低。
<br><br>
<<saika>>继续跟我接触下去,对你们没有任何好处。<</saika>>
|EN|
The screenshot showed a string of Federation internal dispatch records that I could not really understand. Yua had circled several of them in red: added temporary checkpoints, longer nighttime curfews, lockdowns on key areas, upgraded screening of suspicious individuals.
<br><br>
She turned over another page. On it were several blurry surveillance captures showing figures being shoved into trucks, their hands tied behind their backs, sacks over their heads, with Federation auxiliary squads standing beside them with guns in hand.
<br><br>
<<yua>>Latest news received: the Eternal Federation has officially declared war on the Liberation Front! These are the findings of my recent investigation.<</yua>>
<<yua>>The infamous White Terror has begun again in history.<</yua>>
<<yua>>The White Terror has already begun.<</yua>>
This time, her tone finally turned cold.<br><br>
<<yua>>This isn't rumor, and it isn't the kind of frightening gossip passed around in the black market. It's an open purge. The notices have already been posted! Starting this afternoon, several exits of Hub City have all added temporary inspections. After ten at night, entry is allowed, but exit is not. The Federation is already pulling lists, arresting people, freezing accounts, and tracing downward along contact chains.<</yua>>
She tapped those screenshots.<br><br>
<<yua>>Of these people, there are two I recognize. I don't recognize their faces. I recognize the transfer tags and signal formats they used. They aren't ordinary smugglers, and they aren't black-market guards. They are people from your Liberation Front.<</yua>>
<<yua>>People from your Liberation Front have already started getting arrested!!!<</yua>>
Saika's breathing visibly caught for a beat. She reached for the screenshot, but her fingertips stopped in midair, as if she were afraid that once she really touched it, this would become a reality she could never deny again.
<br><br>
<<saika>>...That fast.<</saika>>
<<yua>>Yes, that fast.<</yua>>
Yua raised her head, her gaze sharp as a blade.<br><br>
<<yua>>Right now, you aren't just "a risk." You're a wound that's already started bleeding out into the open. Anyone still standing next to you will be cut open along with you.<</yua>>
Saika did not get angry, and she did not, as usual, first try to ease the atmosphere with some light remark. She only spoke in a low voice.
<br><br>
<<saika>>I know.<</saika>>
She raised her head. Her eyes behind the lenses were faintly bright, but it was not grievance. It was more like the clarity of someone finally forced into a corner and made to admit reality.
<br><br>
<<saika>>The two sets of signals I left today still haven't gotten any response. Under normal circumstances, that wouldn't happen. I had wanted to wait a little longer... but if people have already started getting arrested in the city, then this is no longer a matter of waiting. I need to go confirm whether the reason for the abnormality is that the pressure has tightened, or that something has already happened.<</saika>>
At that, she turned toward me, her voice lower.
<br><br>
<<saika>>There is no benefit for either of you in continuing to stay in contact with me.<</saika>>
<</lang>>
<<set _action = setup.t("听Yua说完|Let Yua finish")>>
<<linkreplace _action>>
<br><br>
<<lang>>
<center>[img[setup.ImagePath+'/changjing/2/home/2-4.png']]</center>
<br>
Yua没有立刻接她的话。她只是把手按在桌沿上,指节因为用力而微微发白。过了几秒,她才像终于把胸口那口气压稳。
<br><br>
<<yua>>所以我今天把你叫来,不是要羞辱你,也不是要跟你抢人。<</yua>>
她看着Saika,一字一句都很清楚。<br><br>
<<yua>>我是要把结论当着三个人的面说清楚。<</yua>>
车库里静得只剩下远处电流轻微的滋滋声。
<br><br>
<<yua>>从现在开始,明面上,我们和你彻底断开。<</yua>>
她没有停顿,直接把最狠的话说完。<br><br>
<<yua>>你不能再来这里,他也不能再主动去找你。黑市、下水道、图书馆这几条替你收集样本的线,全部停掉。只要不是生死关头,谁都不要再主动碰谁。<</yua>>
我下意识想开口,却被Yua抬手止住。
<br><br>
<<yua>>这不是商量。是先活下去。<</yua>>
Saika安静地听完,唇角极轻地动了一下,像是想笑,却最后没笑出来。她扶了扶眼镜,声音比刚才还轻。
<br><br>
<<saika>>好。<</saika>>
她答应得太快,反而让我心里猛地一沉。Yua显然也愣了一下,眼神里闪过一丝几乎看不出来的意外。
<br><br>
<<saika>>你说得没错。现在继续见面,只会把风险一层层往上叠。<</saika>>
她顿了顿,视线终于落到我脸上。<br><br>
<<saika>>如果我这条线真的出了问题,我不会拖累你们。可如果到了生死关头……如果我真的没有别的路了……<</saika>>
她没有把后半句说完,只是轻轻吸了口气,把那点快要漏出来的情绪重新压回去。<br><br>
<<saika>>到那时候,我会来。也只有到那时候,我才会来。<</saika>>
Yua没有立刻应声,只是和Saika对视着。
<br><br>
最后,Yua慢慢点了点头。<br><br>
<<yua>>那就这样。不到生死关头,不再主动联系。<</yua>>
我看着两个女人,心里五味杂陈。我很庆幸于Saika没有说出那种我就死也不会拖累你们的蠢话,但是我更惊讶的是Yua的反应。以我对Yua的了解,她默许Saika可以在生死关头将我们做为依靠,那基本就表示她内心已经接收了Saika是我们的一员这件事实。
<br><br>
Saika收回目光,重新戴上手套,把桌边那支药剂轻轻推回到我这边。
<br><br>
<<saika>>这个你留着。先听Yua的。她比我更适合判断什么时候该冒险。<</saika>>
说完,她转身往外走。走到卷帘门边时,她停了一下,没有回头。
<br><br>
<<saika>>……照顾好他。也照顾好你自己。<</saika>>
卷帘门被掀起一道缝,外面的冷风灌进来,又很快合上。车库重新安静下来,像什么都没发生过,可我知道,有些东西已经被硬生生切开了。
|EN|
<center>[img[setup.ImagePath+'/changjing/2/home/2-4.png']]</center>
<br>
Yua did not answer her at once. She only pressed her hand against the edge of the table, her knuckles turning faintly white from the force. After a few seconds, it was as if she had finally steadied the breath in her chest.
<br><br>
<<yua>>So I didn't call you here today to humiliate you, and I didn't call you here to fight you over him.<</yua>>
She looked at Saika, every word clear.<br><br>
<<yua>>I'm here to make the conclusion clear in front of all three of us.<</yua>>
The garage was so quiet that only the faint hiss of current in the distance remained.
<br><br>
<<yua>>From now on, on the surface, we cut ties with you completely.<</yua>>
She did not pause and said the harshest part outright.<br><br>
<<yua>>You can't come here again, and he can't go looking for you anymore. The black market, the sewers, the library, these lines that were collecting samples for you, all of them stop now. Unless it's a matter of life and death, none of us should make the first move toward the others anymore.<</yua>>
I instinctively wanted to speak, but Yua raised a hand and stopped me.
<br><br>
<<yua>>This isn't a discussion. This is about surviving first.<</yua>>
Saika listened quietly, the corner of her mouth moving very slightly as if she wanted to smile, but in the end no smile came. She adjusted her glasses, her voice even lighter than before.
<br><br>
<<saika>>All right.<</saika>>
She agreed too quickly, and that made my heart sink sharply. Yua was plainly taken aback too; a trace of surprise flashed through her eyes.
<br><br>
<<saika>>You're right. If we keep meeting now, the risk will only pile up layer by layer.<</saika>>
She paused, and at last her gaze settled on my face.<br><br>
<<saika>>If there really is a problem with my line, I won't drag the two of you down with me. But if it comes to life and death... if I truly have no other road left...<</saika>>
She did not finish the rest, only drew a light breath and pressed back down the emotion that was about to spill out.<br><br>
<<saika>>When that time comes, I will come. And only then will I come.<</saika>>
Yua did not respond immediately. She only met Saika's gaze.
<br><br>
At last, Yua nodded slowly.<br><br>
<<yua>>Then that's how it is. Unless it's life and death, no more taking the initiative to contact each other.<</yua>>
I looked at the two women, my feelings all tangled together. I was glad Saika had not said something stupid like I would rather die than drag the two of you down with me, but what surprised me even more was Yua's reaction. From what I know of Yua, the fact that she tacitly allowed Saika to rely on us in a life-and-death moment basically meant that, in her heart, she had already accepted that Saika was one of us.
<br><br>
Saika withdrew her gaze, put her gloves back on, and gently pushed the serum on the table back toward me.
<br><br>
<<saika>>Keep this. Listen to Yua first. She's better suited than I am to judge when it's time to take a risk.<</saika>>
After saying that, she turned and walked toward the door. When she reached the rolling shutter, she paused for a moment without turning back.
<br><br>
<<saika>>...Take care of him. And take care of yourself too.<</saika>>
The shutter was lifted just enough to open a slit, cold wind pouring in from outside, and then it quickly closed again. The garage fell quiet once more, as if nothing had happened, but I knew some things had been forcibly cut apart.
<</lang>>
<<set $characters["saika"].location to "">>
<<set _action = setup.t("离开|Leave")>>
[[_action|Home]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<set $mapStage = 2>>
<<set $usedContent = []>>
<<initStage $mapStage>>
<<goto "StageMap">><<set _imgPath to setup.ImagePath + "changjing/2/b" + random(1, 5) + ".png">>
<center>[img[_imgPath]]</center>
<<lang>>下水道里弥漫着潮湿的霉味、腐水和尸体腐烂混杂的恶臭。两侧的砖墙爬满污渍,浑浊的积水没过脚踝,水面上还漂着破布、骨头和看不清原样的垃圾。我捂着口鼻,在下水道连通的各处小心搜索,最后总算找到了一些有用的东西。|EN|The sewer was filled with the damp stench of mold, foul water, and rotting corpses. The brick walls on both sides were covered in grime, and the murky water rose past my ankles. Bits of rag, bones, and unrecognizable trash floated on the surface. Covering my nose and mouth, I carefully searched through the different connected sections of the sewer, and finally managed to find something useful.<</lang>>
<br><br>
<<link "Pickup" Diaoluo>>
<<generateLoot 5
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "misc",
max: 1,
chance: 0.5
}`
`{
tags: "food",
max: 1,
chance: 0.2
}`
`{
tags: "drink",
max: 1,
chance: 0.2
}`
`{
tags: "tool head feet",
max: 1,
chance: 0.2
}`
`{
tags: "key2",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.1
}`
`{
tags: "valuable",
min: 0,
max: 1,
chance: 0.01
}`
>>
<</link>>
<<backToMap "StageMap">><<set setup.Battle.start(setup.getActiveMapStage(), "normal")>>
<<goto "ZhandouTest">>
<<set setup.Battle.start(setup.getActiveMapStage(), "elite")>>
<<goto "ZhandouTest">><br><br>
<<lang>>
眼前这头庞然大物像是把暴力和压迫都凝成了实体。厚重的肌肉、夸张的骨架和惊人的耐久,让它在近距离几乎像一辆失控的装甲车。
<br><br>
我必须谨慎的对待它。
|EN|
This colossal creature before me seemed to embody violence and oppression in physical form. Its thick muscles, exaggerated skeletal structure, and astonishing endurance made it resemble a runaway armored vehicle at close range.
<br><br>
I had to approach it with extreme caution.
<</lang>>
<<link "Fight">>
<<set setup.Battle.start(setup.getActiveMapStage(), "boss")>>
<<goto "ZhandouTest">>
<</link>>
<<backToMap "StageMap">><h2>Victory!</h2>
<center>[img[setup.ImagePath+'kill.gif']]</center>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo>>
<<if $battle.type is "normal">>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "food drink",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.1
}`
>>
<<elseif $battle.type is "elite">>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
max: 1,
chance: 0.5
}`
`{
tags: "tool",
max: 1,
chance: 0.3
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
max: 3,
chance: 0.5
}`
>>
<<else>>
/* BOSS 或其他情况 */
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "tool",
max: 1,
chance: 0.5
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
min: 1,
max: 3,
chance: 1
}`
>>
<</if>>
<</link>>
<<backToMap "StageMap">><<toggleclass "body" "home">>
<<lang>>
我再回到黑市时,这里已经乱成了一锅粥。
<br><br>
之前那个来找黑商麻烦的混混,果然不是一个人来的。几个打手把摊位撞得东倒西歪,桌子翻了,酒杯碎了,周围的人不是缩到角落里,就是趁乱往外挤。黑商站在吧台后面,脸色冷得像要结冰,可她没有退。
|EN|
When I came back to the black market, the place was already in complete chaos.
<br><br>
The thug who came to cause trouble for the black market merchant didn't come alone after all. A few hired hands had already smashed the stalls into a mess, tables were overturned, glasses were shattered, and the people nearby were either huddled in the corners or trying to squeeze out through the confusion. The black market merchant stood behind the counter, her face cold enough to freeze, but she did not step back.
<</lang>>
<br><br>
<<video 'changjing/2/heishi/luanzhan'>>
<br><br>
<<lang>>
她抬眼看见我,先是一愣,随后那点愣住的神色很快就被压了下去。
<<heishang>>……你来得倒是正好。<</heishang>>
我没有接她这句,只是看着那几个已经开始往她那边逼的打手,直接把判断说出口。
<br><br>
这不是路过的时候顺手帮一把的事。黑商现在撑得住,撑不住,都会决定她愿不愿意把真正的门路给我。
|EN|
She looked up and saw me, froze for half a beat, then quickly pressed that reaction down.
<<heishang>>...You picked a good time to show up.<</heishang>>
I did not answer that. I just watched the hired thugs already closing in on her side of the counter and said the obvious part out loud.
<br><br>
This was no longer the kind of trouble you helped with in passing. Whether she held this line or not would decide whether she ever let me near the real route I came for.
<</lang>>
<br><br>
<<set _action = setup.t("冲上去帮忙|Jump In And Help")>>
[[_action|heishangMafan2Fight]]
<<set setup.Battle.startFixedEncounter(["Liumang","Liumang","Liumang","Liumang"], { level: 2, type: "normal", victoryPassage: "ShengLi_02_Heishang" })>>
<<goto "ZhandouTest">><h2>Victory!</h2>
<center>[img[setup.ImagePath+'kill.gif']]</center>
<<lang>>
黑市里终于安静下来,倒地的流氓和翻烂的摊位挤成一团。黑商站在一片狼藉里看着我,眼神比刚才亮了些。
|EN|
The black market finally went quiet. The thugs on the floor and the wrecked stalls were all tangled together. The black market merchant stood amid the mess watching me, her eyes brighter than before.
<</lang>>
<br><br>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo_HeishangMafan2>>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "food drink",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.1
}`
>>
<</link>>
<<diaoluo 'heishangMafan2_afterfight'>><<toggleclass "body" "home">>
<<lang>>
我敏锐的捕捉到了黑商的情绪变化,于是趁热打铁,把我此行的目的告诉了她。
<br><br>
当她听到解放阵线的联络员时,眉毛不自觉的向上挑了挑,然后告诉我,她还真知道一些消息,不过她并没有当场把话说满,只是朝后面那道帘子抬了抬下巴,示意我跟上。
<br><br>
<<video 'changjing/2/heishi/gensui'>>
<br><br>
她走在前面,步子不快,却故意没给我留出太多距离。到了这一步,我已经很清楚,她要带我去的,绝不是前面那种谁都能听见的交易。
|EN|
I caught the shift in the black market merchant's mood right away, so I struck while the iron was hot and told her exactly why I had come.
<br><br>
When she heard me mention a liaison from the Liberation Front, one of her brows lifted almost on reflex. Then she told me she did in fact know a few things. But she did not lay it all out on the spot. She only tipped her chin toward the curtain in the back and signaled for me to follow.
<br><br>
<<video 'changjing/2/heishi/gensui'>>
<br><br>
She walked ahead at an unhurried pace, but deliberately left very little space between us. By this point, I already knew perfectly well that whatever she meant to tell me was not the kind of business anyone out front was supposed to hear.
<</lang>>
<br><br>
<<set _action = setup.t("跟她去后面|Follow Her To The Back")>>
[[_action|heishangMafan2_backroom]]
<<toggleclass "body" "home">>
<<lang>>
她把门关上时,动作又快又干脆,像是怕我反悔,也像是怕自己反悔。
<br><br>
<<video 'changjing/2/heishang/kiss'>>
<br><br>
下一秒,她就转过身来,直接伸手拽住了我的衣领。那一下没有半点试探,嘴唇立刻压了上来,干脆、发烫,带着一点刚从混乱里捞出来的狠劲。等我回过神,她已经把我往墙边推过去,呼吸贴得很近,像是要把刚才那场争斗全都从身体里压出去。
<br><br>
我没有躲。她也没有给我留退路。
|EN|
When she shut the door, the motion was quick and decisive, as if she were afraid I might change my mind, or as if she were afraid she might.
<br><br>
<<video 'changjing/2/heishang/kiss'>>
<br><br>
The next second she turned around, grabbed my collar, and pulled me in. There was nothing tentative about it. Her lips came down on mine in one hot, blunt motion, carrying the fierceness of someone trying to outrun the chaos outside. By the time I fully reacted, she was already pushing me back against the wall, her breath close enough to blur thought, as if she meant to press every last shred of that fight out of her body.
<br><br>
I didn’t pull away. She didn’t give me the chance to.
<</lang>>
<br><br>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<<lang>>
她一边吻我,一边把我往更里面逼。后室的门被她用脚后跟踢上,发出一声闷响。空间狭窄得只够两个人转身,空气里混着陈年布料、木头灰尘和她身上淡淡的酒气。她的嘴唇发烫,带着刚才打斗后残留的狠劲,舌尖直接撬开我的牙齿,缠得又急又深,像要把外面的混乱全部压进这个吻里。
<br><br>
她推着我后退,我的后背撞上木架,架子上的杂物轻轻晃动,发出细碎的碰撞声。她没松开嘴,反而咬了我下唇一下,不重,却带着明显的报复意味,像在说:刚才外面你那么能打,现在轮到我了。
<br><br>
我刚抬手扣住她的腰,她就顺势退开半步,垂眼看了我一眼。那眼神已经完全变了——不再是外面招呼客人的职业笑容,也不是谈生意时的精明算计,而是一种被危险和兴奋同时点燃的灼热,像一团压抑太久的火终于找到了出口。
<br><br>
<<video 'changjing/2/heishang/kou'>>
<br><br>
她慢慢蹲了下去。
<br><br>
指尖沿着我的胸口一路往下,动作不快,却故意拖长了节奏,像在用这种方式把主导权牢牢抓在自己手里,一点都不肯让。她解开我的皮带,拉下拉链,裤子被她一把拽到膝盖。肉棒弹出来时,她抬眼看了我一下,嘴角勾起一个极浅的弧度。
<br><br>
然后她低头,张开嘴含住了我的肉棒。
<br><br>
没有试探,也没有多余的温柔。她直接含着肉棒一吞到底,嘴唇将整个肉棒严实的包裹住,舌头贴着肉棒下侧用力卷动。她的动作又稳又狠,头前后移动时带着一种毫不掩饰的占有欲,喉咙深处偶尔发出低低的、湿润的声音。她偶尔会把头退到只含住龟头,用舌尖在冠状沟下方快速扫动,然后又猛地含深,喉咙轻轻收缩,像要把我整个人都吞进去。她的呼吸越来越重,鼻息喷在我小腹上,带着酒气和她自己的体温。
|EN|
While kissing me, she pushed me deeper into the back room. The door slammed shut behind her heel with a heavy thud. The space was so narrow that there was barely room for two people to turn around. The air was thick with the scent of old fabric, wood dust, and the faint trace of alcohol on her. Her lips were burning, carrying the fierce edge left over from the fight outside. Her tongue pried past my teeth, tangling urgently and deeply, as though trying to crush all the chaos from outside into this single kiss.
<br><br>
She shoved me backward until my back hit a wooden shelf. The items on it rattled softly. She didn’t release my mouth—instead she gave my lower lip a quick bite, not hard, but clearly retaliatory, as if saying: You were so fierce out there; now it’s my turn.
<br><br>
As I reached to hold her waist, she pulled back half a step and looked up at me. Her gaze had completely changed—no longer the professional smile she used with customers, nor the sharp calculation of business. It was something hotter, ignited by both danger and excitement, like a fire that had been suppressed for too long finally finding an outlet.
<br><br>
<<video 'changjing/2/heishang/kou'>>
<br><br>
She slowly sank down.
<br><br>
Her fingertips trailed down my chest, deliberately slow, as though claiming control inch by inch. She unbuckled my belt, pulled down the zipper, and yanked my pants to my knees. When she looked up at me again, the corner of her mouth curved into a faint, sharp smile.
<br><br>
Then she lowered her head and took me into her mouth.
<br><br>
There was no hesitation, no extra gentleness. She took me in deeply right away, lips sealing tightly around me, her tongue pressing firmly along the underside and moving with steady, insistent strokes. Her movements were controlled yet fierce, each forward and back motion carrying an unmistakable possessiveness. Occasional low, wet sounds escaped from her throat. Sometimes she would pull back until only the tip remained, her tongue flicking quickly over the sensitive area, before taking me deep again, her throat contracting gently. Her breathing grew heavier, warm puffs brushing my lower abdomen, carrying the scent of alcohol and her own heat.
<</lang>>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<br><br>
<<lang>>
等她终于肯重新抬头时,那双眼睛已经潮得发亮。她没有说一句废话,只是扶着旁边的栏杆站起来,胸口起伏得有些快,像是连她自己都被这股冲上来的劲带得有点站不稳。
<br><br>
我伸手把她拽回怀里,她却低低笑了一声,顺着我的力道转过身,双手抓住栏杆,左腿抬起,直接跨在栏杆上。她的身体被拉成一个极度开放的姿势,小穴完全暴露在空气里,粉嫩而湿润,在昏暗的光线中显得格外明显。
<br><br>
<<video 'changjing/2/heishang/houru'>>
<br><br>
我站在她身后,扶住她的腰,对准入口,猛地顶了进去。她喉咙里立刻溢出一声压抑的闷哼,双手死死抓紧栏杆,指节泛白。她的身体往前倾,臀部却本能地往后迎合。
<br><br>
我开始从后面抽插,节奏又快又狠,每一次都撞得极深,栏杆被撞得发出轻微的晃动声。她咬着下唇,努力不让自己发出太大声音,但随着我越来越猛烈的撞击,她还是忍不住从鼻腔里挤出断断续续的低吟。她的左腿跨在栏杆上,脚尖绷直,整个人像被钉在了那里,只能被动承受我的冲击。
|EN|
When she finally lifted her head again, her eyes were glistening and bright. She didn’t say a word—just braced herself on the nearby railing and stood, her chest rising and falling quickly, as if even she was slightly unsteady from the intensity surging through her.
<br><br>
I pulled her back into my arms, but she let out a low, soft laugh. Following my pull, she turned around, hands gripping the railing as she lifted her left leg and hooked it over the bar. Her body was stretched into an extremely open position, fully exposed in the dim light.
<br><br>
<<video 'changjing/2/heishang/houru'>>
<br><br>
I stood behind her, hands steady on her waist, and thrust forward in one firm motion. A suppressed, muffled sound escaped her throat; her hands clenched the railing until her knuckles turned white. Her upper body leaned forward, but her hips instinctively pushed back to meet me.
<br><br>
I began moving from behind—fast and intense—each thrust driving deep, making the railing shake slightly with the impact. She bit her lower lip hard, trying not to make too much noise, but as my pace grew fiercer, she couldn’t hold back the broken, low moans slipping from her nose. With her left leg hooked over the railing, her whole body seemed pinned in place, forced to take every powerful stroke.
<</lang>>
<<set _action = setup.t("女上后入|Reverse Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<lang>>
<<heishang>>……让我来……<</heishang>>
<<video 'changjing/2/heishang/nvshang'>>
<br><br>
她推开我的手,转身让我坐在楼梯上,然后背对着我跨坐上来。她的双手撑在我大腿上,腰肢一沉,直接把肉棒整个吞了进去。她发出一声满足的叹息,臀部开始疯狂上下起伏,采取女上后入的姿势自己掌控节奏。
<br><br>
这一次她动得又狠又急,臀肉撞击我的大腿根,发出清晰而黏腻的啪啪声。她的长发甩在背后,随着动作剧烈晃动,像黑色的鞭子。她一边上下套弄,一边故意把腰扭得更夸张,让肉棒在体内摩擦得更彻底。她的呼吸越来越重,却没再压抑,偶尔从喉咙里漏出低低的、带着哭腔的哼声。
<br><br>
她忽然伸手往后,抓住我的手,按在她自己的胸口上,让我揉捏她的乳房。我扣住她的腰,加力往上顶,她立刻颤了一下,动作更加疯狂,像要把刚才被我主导的份全都讨回来。
<br><br>
楼梯在我们的动作下发出轻微的吱呀声,铁栏杆还在轻轻晃动。她的背脊绷得笔直,汗水顺着脊柱沟往下淌,却没停下,依旧用那种近乎掠夺的节奏上下起伏。
|EN|
<<heishang>>…Let me…<</heishang>>
<<video 'changjing/2/heishang/nvshang'>>
<br><br>
She pushed my hands away, turned, and made me sit on the stairs. Then, with her back to me, she straddled my lap. Her hands braced on my thighs as she lowered her hips, taking me inside her in one smooth motion. A satisfied sigh escaped her lips as her hips began to move—rising and falling with fierce intensity, fully in control in this position.
<br><br>
This time she moved hard and fast, her hips slamming down against my thighs with wet, rhythmic slaps. Her long hair whipped across her back with every motion, like dark lashes. While riding me, she deliberately twisted her waist more dramatically, making each stroke deeper and more intense. Her breathing grew heavier, no longer restrained; low, broken moans occasionally slipped from her throat.
<br><br>
Suddenly she reached back, grabbed my hand, and pressed it to her chest, urging me to touch her breasts. I gripped her waist and thrust upward to meet her—she shuddered instantly, her movements turning even wilder, as if determined to reclaim every bit of control I had taken earlier.
<br><br>
The stairs creaked softly beneath us, the iron railing still trembling lightly. Her spine stayed straight, sweat trailing down the groove of her back, yet she never slowed—continuing that almost possessive, relentless rhythm.
<</lang>>
<<set _action = setup.t("站立势|Standing Position")>>
<<linkreplace _action>>
<br><br>
<<lang>>
女人的体力毕竟有限。
<<heishang>>快……再深一点……<</heishang>>
她嘴里喊得急切,但动作已经明显跟不上,腰肢的起伏越来越慢,呼吸也变得断断续续,像随时会脱力。
<br><br>
<<video 'changjing/2/heishang/zhanli'>>
<br><br>
我低喘一声,一把扣住她的腰,把她从我身上拉起来。她还没反应过来,我就把她整个人推到墙上。她的后背撞上墙壁,发出一声闷响,整个人被我压得死死的。
<br><br>
我低头吻住她,舌头直接闯进她的口腔,吻得又凶又深,像要把她刚才所有的叫喊都吞回去。右手勾起她的左腿,把她整条腿抬高架在我的臂弯上。她被迫单腿站立,身体被拉成一个完全开放的姿势。
<br><br>
我深吸一口气,憋在胸口,肉棒对准她湿润的洞口,猛地刺了进去。
<br><br>
然后我开始疯狂撞击。
<br><br>
每一次都退到边缘,再狠狠顶到底,撞得她后背一次次撞上墙壁,发出有节奏的闷响。她的身体被我钉在墙上,几乎只能被动承受,左腿被我抬得极高,小穴完全暴露,任由我一次次深深贯穿。
<br><br>
她原本还想喊出声,但很快就被我吻得只能发出破碎的鼻音。她的双手死死抓着我的肩膀,指甲陷进肉里,像在借力,也像在求饶。
<br><br>
我没有放慢,反而越撞越狠,越撞越深,像要把这段时间所有的压抑和欲望全部发泄在她身上。
<br><br>
终于,她的身体猛地绷紧,内壁剧烈收缩,整个人像被电流击中一样剧烈颤抖。高潮来得又急又猛,她喉咙里发出一声被堵住的长吟,腿根都在发抖。
|EN|
A woman’s stamina has its limits after all.
<<heishang>>Faster… deeper…<</heishang>>
Her voice was urgent, but her movements were clearly slowing. Her hips rose and fell with less force, her breathing becoming fractured, as though she could collapse at any moment.
<br><br>
<<video 'changjing/2/heishang/zhanli'>>
<br><br>
I let out a low breath, gripped her waist, and lifted her off me. Before she could react, I pushed her against the wall. Her back hit it with a dull thud, her body pinned firmly beneath mine.
<br><br>
I leaned down and kissed her fiercely, tongue pushing past her lips, deep and demanding, as if swallowing every sound she had made earlier. My right hand hooked under her left thigh, lifting it high and hooking it over my arm. She was forced to stand on one leg, her body stretched into a completely open position.
<br><br>
I took a deep breath and thrust forward, entering her in one powerful stroke.
<br><br>
Then I began to move with unrestrained intensity.
<br><br>
Each thrust pulled back almost to the tip before slamming home again, her back repeatedly hitting the wall with rhythmic thuds. She was pinned there, barely able to do anything but take it, her left leg held high, her whole body under my control.
<br><br>
She had tried to cry out at first, but my kiss quickly turned her sounds into broken, muffled gasps. Her hands clutched my shoulders, nails digging in—whether to steady herself or plead for mercy, I wasn’t sure.
<br><br>
I didn’t slow down. If anything, I drove harder and deeper, as though releasing all the pent-up tension and desire of the past days into her.
<br><br>
Finally, her body went rigid. She trembled violently, like she had been struck by lightning. The climax hit her hard and fast; a long, stifled cry escaped her throat as her legs shook uncontrollably.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<lang>>
<<video 'changjing/2/heishang/cum'>>
<br><br>
我也没能再忍,低吼一声,肉棒深深埋到最深处,把所有精液一股脑全射进她体内。
<br><br>
射完之后,我慢慢抽肉棒,白浊的精液立刻从她红肿的小穴里涌出来,顺着大腿内侧缓缓流下,一滴一滴落在地上,在昏暗的光线里留下几点湿痕。
<br><br>
她整个人软软地靠在墙上,双腿发颤,几乎站不住。我伸手扶住她的腰,让她靠在我胸口。她大口喘息,额头抵着我的肩膀,汗水把她的头发黏在脸颊上。
<br><br>
过了好一会儿,她才抬起头,声音又哑又软,带着一点疲惫的笑。
<<heishang>>……你这家伙……真狠……<</heishang>>
|EN|
<<video 'changjing/2/heishang/cum'>>
<br><br>
I couldn’t hold back any longer either. With a low growl, I buried myself as deep as possible and released everything inside her.
<br><br>
Afterward, I slowly withdrew; the warm fluid immediately began to trail down the inside of her thigh, leaving faint wet marks on the floor in the dim light.
<br><br>
She slumped weakly against the wall, legs trembling so badly she could barely stand. I reached out to steady her waist and pulled her against my chest. She gasped for air, forehead resting on my shoulder, sweat matting strands of hair to her cheeks.
<br><br>
After a long moment, she finally lifted her head. Her voice was hoarse and soft, carrying a tired smile.
<<heishang>>…You really are… ruthless…<</heishang>>
<</lang>>
<<set $player.yuwang to 0>>
<<set $characters.heishang.sexCount += 1>>
<<updateCaptionInfo>>
<<set _action = setup.t("等她开口|Wait For Her To Speak")>>
<<linkreplace _action>>
<<lang>>
等那阵几乎要把人烧穿的冲动终于落下去时,她靠在我怀里缓了好一会儿,才慢慢把气息捋顺。房间里安静得只剩彼此的呼吸声,还有门外隐约传来的脚步和叫骂,提醒着这地方从来就不真正安全。
<br><br>
她抬手把散乱的头发拨到耳后,镜片上还蒙着一层薄薄的雾。可等她重新看向我时,眼神已经重新冷静下来,像是刚才那阵近乎失控的热度,已经被她重新压回了身体更深处。
<br><br>
后来那扇门重新打开时,屋里的气息已经完全不一样了。
|EN|
When that near-burning rush finally subsided, she stayed against me for a while, taking her time before her breathing settled. The room was quiet except for the sound of our breaths and the faint footsteps and shouted curses outside, reminding us that this place had never truly been safe.
<br><br>
She lifted a hand and pushed the disordered hair back behind her ear. A thin layer of fog still clouded her lenses. But when she looked at me again, her eyes had already cooled, as if that nearly uncontrolled heat had been pressed back down somewhere deeper inside her.
<br><br>
By the time the door opened again, the air in the room had already changed completely.
<</lang>>
<br><br>
<<set _action = setup.t("听她继续说|Hear Her Out")>>
[[_action|heishangMafan2_clue]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<<toggleclass "body" "home">>
<<lang>>
黑商靠在桌边,伸手把乱掉的头发拨到耳后,视线却一直没从我脸上挪开。
<br><br>
她这次没有再绕圈子。
<<heishang>>你要找的那个联络员,外面还有个情妇。<</heishang>>
她停了一下,抬头扫了一眼我脸上略带惊讶的表情,然后满意的继续说道。
<<heishang>>她叫 Jynx Maze,现在在黑市地下拳台那边当开场的举牌女郎。联邦多半还没有翻到她。<</heishang>>
黑商说到这里,手指在桌面上轻轻点了两下,像是在替我把接下来该走的路也一并划出来。
<<heishang>>我还知道她最近一直在为搞到一个出城的名额发愁。你要是真想撬开她的嘴,就别摆出一副查人的样子,先想想自己能拿什么让她愿意跟你谈。<</heishang>>
这句话落下来的时候,我知道这条线总算真正有了能往前拽的地方。
|EN|
The black market merchant leaned against the table, lifted a hand, and brushed the loose hair back behind her ear. Even then, her eyes never left my face.
<br><br>
This time, she didn't bother circling around the point.
<<heishang>>The liaison you're looking for has a mistress on the outside.<</heishang>>
She paused, glanced up at the slightly surprised expression on my face, and then continued with satisfaction.
<<heishang>>Her name is Jynx Maze. These days she works over at the black market's underground fight pit as one of the opening ring girls. The Federation probably hasn't traced her yet.<</heishang>>
At that, the black market merchant tapped her fingers lightly on the tabletop, as if sketching out the next stretch of road for me at the same time.
<<heishang>>I also know she's been worrying lately about how to get hold of a way out of the city. If you really want to pry her mouth open, don't walk in looking like you're there to investigate her. First think about what you can offer that would make her willing to talk to you.<</heishang>>
By the time her words settled, I knew this line finally had something real to pull on.
<</lang>>
<<if $quests.active.includes("q_Saika_lianluoyuan")>>
<<run setup.QuestManager.complete("q_Saika_lianluoyuan")>>
<<set $saikaReturnHomeAfterLianluoyuan to true>><</if>>
<<if !$quests.active.includes("q_heishang_findJynx") and !$quests.completed.includes("q_heishang_findJynx")>>
<<run setup.QuestManager.accept("q_heishang_findJynx")>>
<</if>>
<br><br>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]<<toggleclass "body" "home">>
<div id="saika-sleep-zone">
<div style="background:#000;color:#f2f2f2;min-height:56vh;padding:42px 24px;box-sizing:border-box;">
<<lang>>
我在半梦半醒之间,感觉有人钻进了我的被窝。
<br><br>
先是一阵很轻的、几乎贴着耳边过去的悉悉窣窣声,像有人怕把我惊醒,连呼吸都刻意放轻了。紧接着,被子里多了一团温热的重量,慢慢靠上我的身体。
<br><br>
那人没有立刻出声,只是安静地贴着我,像在确认我是不是已经睡熟。
|EN|
Half asleep, I felt someone slip into the blankets beside me.
<br><br>
First came a faint rustling sound, so close it almost brushed past my ear, as if whoever it was was trying not to wake me. Then a small, warm weight settled under the covers and slowly leaned against my body.
<br><br>
Whoever it was did not speak right away. She only stayed close, as if checking whether I was truly asleep.
<</lang>>
<br><br>
<<if recall("patreon code") is true >>
<<set _action = setup.t("睁眼查看情况|Open My Eyes")>>
<<link _action>>
<<replace "#saika-sleep-zone">>
<<lang>>
我睁开眼,先看见的是一张离得很近的脸。
<br><br>
<center>[img[setup.videoPath + "saika/home2-1/xiao.png"]]</center>
<br><br>
Saika正侧躺在我身边,头发散在枕头上,手还搭在我被子边缘。见我醒了,她先是顿了一下,随即露出一个有点无奈、又有点放心的笑。
<br><br>
<<saika>>醒了?我还以为你会直接睡到天亮。<</saika>>
她的声音压得很轻,像是怕把这间屋子里仅剩的一点安稳也惊碎。
<<saika>>我留意到你最近一直很累。今天Yua又不在,我有点不放心,所以……今晚就过来陪陪你。<</saika>>
|EN|
When I opened my eyes, the first thing I saw was a face very close to mine.
<br><br>
<center>[img[setup.videoPath + "saika/home2-1/xiao.png"]]</center>
<br><br>
Saika was lying on her side beside me, her hair spread across the pillow, one hand still resting near the edge of my blanket. When she saw I was awake, she paused for a beat, then gave me a smile that was part awkwardness and part relief.
<<saika>>You’re awake? I thought you might sleep straight through to morning.<</saika>>
Her voice was low, as if she were afraid of breaking the last fragile bit of quiet left in the room.
<<saika>>I noticed you’ve been exhausted lately. And Yua isn’t here tonight. I was worried, so... I came to stay with you for a while.<</saika>>
<</lang>>
<br><br>
<<set _action = setup.t("手推|Hand Job")>>
<<linkreplace _action>>
<<video 'saika/home2-1/shou'>>
<br><br>
<<lang>>
我没有再问她为什么会在这里,只是伸手把她往怀里带了一点。
<br><br>
Saika顺势贴上来,身体柔软而温暖。她没有说话,只是把脸埋进我颈窝,鼻尖轻轻蹭着我的皮肤,像在确认我的体温。她的手指沿着我的手臂慢慢滑下去,钻进被子里,找到我的睡裤边缘,轻轻拉开。
<br><br>
她握住我还没完全硬起来的肉棒,指尖带着一点凉意,却动作很轻很慢,像在安抚一只容易惊醒的动物。她一边亲我,唇瓣贴着我的下巴、喉结,一路往下吻,一边用手有节奏地撸动。她的掌心温热,拇指偶尔在我的龟头上轻轻按压,动作不急,却精准得让人逐渐失去抵抗的意志。
|EN|
I didn’t ask why she was here. I simply reached out and drew her a little closer into my arms.
<br><br>
Saika melted against me, her body soft and warm. She said nothing—just buried her face in the crook of my neck, the tip of her nose brushing my skin as if confirming my warmth. Her fingers trailed slowly down my arm, slipping under the covers until they found the waistband of my sleep pants and gently tugged it open.
<br><br>
She wrapped her hand around me, still only half-hard, her fingertips cool but her touch incredibly gentle and slow, as though soothing something easily startled. While kissing me—lips grazing my chin, my throat, then moving lower—she stroked with a steady, unhurried rhythm. Her palm was warm; her thumb occasionally pressed lightly against the tip in slow circles. The movements weren’t rushed, yet they were precise enough to gradually strip away any will to resist.
<</lang>>
<br><br>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<<video 'saika/home2-1/kou'>>
<br><br>
<<lang>>
当我彻底硬起来时,她抬起头看了我一眼,眼睛在黑暗里亮亮的,像藏着一点得逞的笑意。
<br><br>
她没再犹豫,掀开被子,身体往下移,趴在我身上。长发散落在我小腹上,她低头张开嘴,把我整个含进去。口腔温热而湿润,舌头贴着龟头下侧缓慢卷动,节奏稳而深。
<br><br>
她偶尔会把肉棒送得更深,喉咙轻轻收缩,又退出来换气,唇瓣始终将肉棒包裹得严严实实。
|EN|
When I was fully hard, she lifted her head and looked at me. Her eyes gleamed in the darkness, holding a hint of mischievous satisfaction.
<br><br>
She didn’t hesitate any longer. She pushed the blanket aside, slid lower, and settled over me. Her long hair spilled across my lower abdomen as she lowered her head and took me fully into her mouth. The warmth and wetness enveloped me; her tongue moved slowly along the underside in steady, deep strokes.
<br><br>
Occasionally she would take me deeper, her throat contracting gently, then pull back to breathe, her lips keeping a tight seal around me the entire time.
<</lang>>
<br><br>
<<set _action = setup.t("69|69")>>
<<linkreplace _action>>
<<video 'saika/home2-1/69'>>
<br><br>
<<lang>>
我被她完全勾起了性欲,呼吸渐渐乱了,我伸手拉住她的胳膊。
<<you>>转过来……<</you>>
Saika抬起头,唇角还沾着一点晶莹的痕迹。她没问什么,只是乖乖转过身,膝盖跨过我的胸口,面向我的脚边,把湿润的小穴正对着我的脸。
<br><br>
她的身体微微前倾,胸口贴着我的小腹,再次低头含住我的肉棒。这一次她的动作比刚才更专注,头前后移动得流畅而有力,舌尖在敏感的地方反复舔舐。
<br><br>
而我则双手扣住她的臀,把她往下按了按,舌头直接扫过她已经湿润的小穴,从下往上掠过阴蒂。她立刻颤了一下,喉咙里发出一声被肉棒堵住的闷哼,却没有停下,反而含得更深。
<br><br>
我们就这样纠缠在一起。她的舌头和嘴唇在我身上忙碌,我的舌尖则在她最敏感的地方来回扫荡、卷动、轻吸。她的腰肢开始不受控制地轻颤,偶尔会把臀部往下压,像在追逐我的舌头,又像在把更多的自己送到我嘴边。
|EN|
Her actions had fully ignited my desire; my breathing grew ragged. I reached out and grabbed her arm.
<<you>>Turn around…<</you>>
Saika lifted her head, a faint glistening trace still on her lips. She didn’t ask any questions—she simply obeyed, turning so her knees straddled my chest and her face faced toward my feet, bringing her most intimate place directly above my mouth.
<br><br>
She leaned forward, her chest pressing against my lower abdomen, and lowered her head once more to take me into her mouth. This time her movements were even more focused—smooth and powerful, her tongue repeatedly stroking the most sensitive spots.
<br><br>
Meanwhile, I gripped her hips and pulled her down toward me, my tongue gliding directly over her already slick warmth, sweeping upward across her most sensitive point. She shuddered instantly, a muffled sound escaping around me, yet she didn’t stop—taking me even deeper instead.
<br><br>
We remained locked together like this. Her tongue and lips worked intently on me, while my tongue explored her most sensitive areas with slow, deliberate strokes, circles, and gentle suction. Her hips began to tremble uncontrollably; every now and then she would press down further, as if chasing my tongue or offering more of herself to me.
<</lang>>
<br><br>
<<set _action = setup.t("女上位|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'saika/home2-1/nvshang'>>
<br><br>
<<lang>>
Saika被我舌头挑逗得受不了了,小穴已经湿得一塌糊涂。
<br><br>
她忽然翻身,膝盖跨过我的腰,直接骑到我身上。她的呼吸又急又乱,眼睛里带着一点被逼到极致的湿润。
<br><br>
她伸手握住我已经完全硬挺的肉棒,对准自己湿滑的入口,腰往下沉,一口气坐了下去。
<<saika>>……嗯~~……<</saika>>
她发出一声满足又带着颤音的叹息,整根都被她吞没到底。她的双手撑在我胸口,指尖微微用力,像在稳住自己。
<br><br>
接着她开始动——腰肢前后摇摆,动作由慢到快,越来越用力,每一次坐下都让臀部撞到我的大腿根,发出清晰的撞击声。她的长发垂下来,在我眼前晃动,胸口随着节奏起伏,乳尖在昏暗的光线里轻轻颤动。
|EN|
Saika couldn’t take any more of my teasing; she was already soaked.
<br><br>
Suddenly she turned over, knees straddling my waist as she climbed on top of me. Her breathing was quick and ragged, her eyes glistening with overwhelming need.
<br><br>
She reached down, wrapped her fingers around my fully hard length, aligned it with her slick entrance, and sank down in one smooth motion.
<<saika>>…Mmm~~…<</saika>>
A trembling, satisfied sigh escaped her as she took me completely inside. Her hands braced against my chest, fingertips pressing in lightly as she steadied herself.
<br><br>
Then she began to move—hips rocking back and forth, starting slow before gradually building speed and force. Each downward motion brought her hips against my thighs with a clear, rhythmic sound. Her long hair hung down, swaying in front of my eyes; her chest rose and fell with the rhythm, nipples trembling softly in the dim light.
<</lang>>
<br><br>
<<set _action = setup.t("后入|Doggy Style")>>
<<linkreplace _action>>
<<video 'saika/home2-1/houru'>>
<br><br>
<<lang>>
<<saika>>……换个姿势……<</saika>>
她从我身上下来,转过身,跪趴在床上,雪白的臀部高高翘起对着我。我跪到她身后,扶住她的腰,再次深深顶进去。
<br><br>
这一次从后面进入,她的身体明显更敏感,每一次撞击都让她往前晃,双手死死抓着床单。她的背脊绷成一道漂亮的弧线,长发散在背上,随着我的动作前后甩动。
<br><br>
我扣住她的腰,节奏又快又深,她很快就开始忍不住低低地哼出声,声音压抑却带着明显的快意。
|EN|
<<saika>>…Change positions…<</saika>>
She slid off me, turned around, and knelt on the bed with her hips raised high toward me. I moved behind her, hands steady on her waist, and entered her deeply once again.
<br><br>
This time, from behind, her body seemed even more sensitive. Every thrust made her rock forward, her hands clutching the sheets tightly. Her spine arched into a graceful curve, long hair spilling across her back and swaying with my movements.
<br><br>
I gripped her waist, setting a fast and deep rhythm. Before long she couldn’t hold back her soft, muffled moans—restrained, yet clearly filled with pleasure.
<</lang>>
<br><br>
<<set _action = setup.t("传教士|Missionary")>>
<<linkreplace _action>>
<<video 'saika/home2-1/chuanjiao'>>
<br><br>
<<lang>>
<<saika>>……正面……我要看你……<</saika>>
我把她翻过来,让她仰躺着,张开双腿,我扶着肉棒在她的洞口磨蹭两下之后,再次全根没入。
<br><br>
我们面对面,她双腿缠住我的腰,把我锁得更紧。我低头吻她,一边吻,一边用力抽插。她回应得又热又急,舌尖缠着我,双手抱住我的后颈,像怕我突然离开。
<br><br>
她的呼吸越来越乱,内壁收缩得越来越明显。我能感觉到她快要高潮了。
|EN|
<<saika>>…Face to face… I want to see you…<</saika>>
I turned her over so she lay on her back, legs spread. After rubbing the tip against her entrance a couple of times, I sank fully inside her once again.
<br><br>
We were face to face now. She wrapped her legs around my waist, locking me in tightly. I leaned down to kiss her, thrusting deeply while our lips moved together. She responded with fierce heat, her tongue tangling with mine, arms wrapped around the back of my neck as if afraid I might pull away.
<br><br>
Her breathing grew more and more ragged, her inner walls clenching tighter and tighter. I could feel she was getting close.
<</lang>>
<br><br>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<<video 'saika/home2-1/cum'>>
<br><br>
<<lang>>
我加快最后的速度,肉棒在Saika的小穴里横冲直撞。
<br><br>
Saika的身体突然一紧,然后开始不自觉的抖动起来。她的小穴也开始一收一缩,如同婴儿的小嘴一般,不停的吮吸着我的龟头。
<br><br>
一起无法言说的快意上涌,精关瞬间失守。我猛地抽出肉棒,磅礴的热流一股股喷射在她平坦的小腹上,白浊的精液顺着她的腰侧滑落,在昏暗的光线里留下几道明显的痕迹。
<br><br>
Saika软软地躺在那里,大口喘息,胸口剧烈起伏。她伸手抹了一点我射在她肚子上的精液,放到唇边轻轻舔了一下,然后看着我笑了笑,伸手拉我躺下来,让我把她抱进怀里。
<br><br>
她的身体还带着高潮后的余温,贴着我微微发抖,却安心地靠在我胸口。房间里安静下来,只剩下我们渐渐平复的呼吸。
|EN|
I sped up for the final moments, thrusting hard and deep inside her.
<br><br>
Saika’s body suddenly tensed, then began to tremble uncontrollably. Her inner walls clenched and pulsed around me, as if trying to draw me in even deeper.
<br><br>
An overwhelming wave of pleasure surged through me. I couldn’t hold back any longer—I pulled out at the last second, hot pulses spilling across her flat stomach, trailing down her sides in the dim light and leaving glistening traces.
<br><br>
Saika lay there limply, gasping for air, her chest rising and falling rapidly. She reached down, wiped a small amount of the liquid from her stomach, brought it to her lips for a gentle lick, then looked at me with a soft smile. She pulled me down so I could hold her in my arms.
<br><br>
Her body was still warm from her climax, trembling slightly against me, yet she nestled peacefully against my chest. The room fell quiet, filled only with the sound of our gradually slowing breaths.
<</lang>>
<br><br>
<<set $player.yuwang to 0>>
<<set $characters.saika.sexCount += 1>>
<<updateCaptionInfo>>
[[Wake UP|Home]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</replace>>
<</link>>
<<else>>
<<set _action = setup.t("睁眼查看情况(会员事件,需要Patreon Code)|Open My Eyes (Member event, Patreon Code required)")>>
<a class="link-disabled">_action</a>
<</if>>
<br>
<<set _action = setup.t("不管它,继续睡觉|Ignore It And Keep Sleeping")>>
<<link _action>>
<<replace "#saika-sleep-zone">>
<div style="background:#000;color:#f2f2f2;min-height:56vh;padding:42px 24px;box-sizing:border-box;">
<<lang>>
我没有睁眼,只是把呼吸重新放慢,装作自己什么都没察觉。
<br><br>
贴在我身后的那点温热停了一会儿,像是在等我改变主意。可我终究还是没动。过了一阵,被窝里那阵轻微的响动慢慢远了,房间重新安静下来。
<br><br>
等我再真正醒来时,窗外已经亮了。昨晚那点若有若无的动静,像一场没留下痕迹的梦。
|EN|
I did not open my eyes. I only slowed my breathing again and pretended I had noticed nothing at all.
<br><br>
The warmth at my back lingered for a moment, as if waiting for me to change my mind. But I never moved. After a while, the faint rustling under the blankets drifted away, and the room fell quiet again.
<br><br>
By the time I truly woke, daylight had already reached the window. Whatever had brushed past me in the night felt like the kind of dream that left no trace behind.
<</lang>>
<br><br>
[[Wake UP|Home]]
</div>
<</replace>>
<</link>>
</div>
</div>
<<toggleclass "body" "home">>
<<lang>>
黑市深处的喧闹在这里突然变了质。外面的叫卖和笑声像被一道铁门挡在身后,取而代之的是更粗粝的吼叫、拳套砸在肉上的闷响,还有金属铁网被人拍得发颤的声音。地下拳台就藏在一间改造过的仓库里,四周的墙面潮得发暗,临时灯架把惨白的光压在笼子上,让每一张脸都显得兴奋又疲惫。
<br><br>
我刚靠近入口,一个留着莫霍克发型的黑衣主持已经站到铁网前,张开双手把人群的视线往笼子里引。旁边的工作人员盯着门口,确认着每一个进来的人是赌客、拳手,还是会惹麻烦的家伙。这里不卖秩序,只卖开场铃响前那几秒廉价而真实的亢奋。
|EN|
The noise deep inside the black market changed character all at once. The hawking and laughter outside seemed to stop behind a heavy iron door, replaced by harsher shouting, the dull thud of gloves hitting flesh, and the shiver of metal fencing as people slapped it with their hands. The underground fight pit was hidden inside a converted warehouse. The surrounding walls were dark with damp, and makeshift lights pressed a pale, dead glare down over the cage, making every face look excited and exhausted at the same time.
<br><br>
As I neared the entrance, a black-clad host with a mohawk was already standing in front of the fence, arms spread wide as he drew the crowd's attention toward the cage. Staff by the door kept their eyes on everyone coming in, judging whether each one was a bettor, a fighter, or the kind of trouble that would need handling. This place didn't sell order. It sold those few cheap, genuine seconds of exhilaration before the opening bell.
<</lang>>
<br><br>
<<video 'changjing/2/dixiaquantai/kaichang'>>
<br><br>
<<lang>>
主持人喊完最后一句,举着开场牌的女郎从他身后走进笼里。纸牌上的字在灯光下晃动,人群立刻爆出一阵更高亢的口哨和叫骂。她脸上挂着训练过的笑,摆出一副妖娆的体态,眼神却是飘忽的。
|EN|
When the host shouted his last line, the ring girl carrying the opening sign stepped into the cage behind him. The letters on the placard flickered under the lights, and the crowd immediately answered with a louder burst of whistles and abuse. She wore a practiced smile and held herself in a deliberately seductive pose, but her gaze drifted, unfocused.
<</lang>>
<br><br>
<<if $quests.active.includes("q_heishang_findJynx") and !$quests.completed.includes("q_heishang_findJynx")>>
<<lang>>
黑商的线索果然没错,那个女人就是 Jynx Maze。那么,现在的问题就是,怎样在这片吵得让人发疯的地方,让她相信我不是来把她送进更深的麻烦里。
|EN|
The black market merchant's lead was right. That woman was Jynx Maze. So now the question was how to make her believe, in a place noisy enough to drive anyone mad, that I wasn't here to drag her into even deeper trouble.
<</lang>>
<br><br>
<<set _action = setup.t("Jynx")>>
[[_action|talkJynx]]
<br><br>
<</if>>
<<set _action = setup.t("拳赛竞猜|Fight Bet")>>
[[_action|dixiaquantaiBet]]
<br><br>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]
<div class="npc-atlas-page">
<h2>NPC图鉴 / NPC Database</h2>
<hr>
<<set _npcCards to setup.NpcAtlasCards>>
<div class="npc-atlas-grid">
<<for _card range _npcCards>>
<<capture _card>>
<<set _portrait to _card.img>>
<<set _sexCount to setup.getNpcAtlasSexCount(_card)>>
<<set _cardHtml to `<div class="npc-atlas-card">
<div class="npc-atlas-card-head">
<div class="npc-atlas-portrait-wrap">
<img class="npc-atlas-portrait" src="${_portrait}" onerror="this.onerror=null; this.src='${_card.fallbackImg}';">
</div>
<div class="npc-atlas-heading">
<div class="npc-atlas-name">${setup.t(_card.name)}</div>
<div class="npc-atlas-meta">
<span class="npc-atlas-pill npc-atlas-sex-pill">${setup.t("性爱次数|Sex Count")}: ${_sexCount}</span>
</div>
</div>
</div>
<div class="npc-atlas-desc">${setup.t(_card.desc)}</div>
</div>`>>
<<link _cardHtml>>
<<run window.open(_card.articleUrl, "_blank")>>
<</link>>
<</capture>>
<</for>>
</div>
<<back "Back">>
<style>
.npc-atlas-page {
width: 100%;
max-width: 1068px;
box-sizing: border-box;
}
.npc-atlas-page .npc-atlas-grid {
display: grid;
grid-template-columns: repeat(3, 340px);
justify-content: space-between;
align-content: start;
gap: 12px;
}
.npc-atlas-page .npc-atlas-grid a {
display: block !important;
width: auto !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
text-decoration: none !important;
box-shadow: none !important;
}
.npc-atlas-page .npc-atlas-card {
width: 340px;
min-height: 380px;
box-sizing: border-box;
padding: 14px;
border: 1px solid #444;
border-radius: 10px;
background: rgba(0, 0, 0, 0.45);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
transition: border-color 120ms ease, transform 120ms ease, background 120ms ease;
}
.npc-atlas-page .npc-atlas-grid a:hover .npc-atlas-card {
border-color: #00bcd4;
background: rgba(0, 188, 212, 0.08);
transform: translateY(-2px);
}
.npc-atlas-page .npc-atlas-card-head {
display: block;
margin-bottom: 12px;
}
.npc-atlas-page .npc-atlas-portrait-wrap {
width: 100%;
margin-bottom: 14px;
}
.npc-atlas-page .npc-atlas-portrait {
width: 100%;
height: 370px;
display: block;
object-fit: cover;
object-position: center top;
border-radius: 8px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
}
.npc-atlas-page .npc-atlas-heading {
flex: 1;
min-width: 0;
}
.npc-atlas-page .npc-atlas-name {
color: #fff;
font-size: 16px;
font-weight: bold;
line-height: 1.4;
}
.npc-atlas-page .npc-atlas-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.npc-atlas-page .npc-atlas-pill {
display: inline-block;
padding: 2px 8px;
border-radius: 999px;
font-size: 10px;
background: rgba(255,255,255,0.06);
border: 1px solid #555;
color: #bbb;
}
.npc-atlas-page .npc-atlas-sex-pill {
color: #ffd166;
border-color: rgba(255, 209, 102, 0.45);
}
.npc-atlas-page .npc-atlas-desc {
color: #cfcfcf;
font-size: 12px;
line-height: 1.6;
min-height: 108px;
}
</style>
</div><<toggleclass "body" "home">>
<<lang>>
我试着趁她从笼边退下来的空隙靠近,可 Jynx Maze 只是冷冷扫了我一眼,连敷衍的笑都懒得给。这里显然不是她愿意和陌生人搭话的地方。
<br><br>
我低声提起她最近一直在找的那个出城名额,她的手指果然顿了一下,可那点动摇转眼就被压了回去。她仍旧不打算在众目睽睽之下和我多说一句。
|EN|
I tried to approach her during the brief gap after she stepped away from the cage, but Jynx Maze only cut me a cold glance and could not even be bothered to fake a polite smile. This was clearly not a place where she wanted to talk to a stranger.
<br><br>
When I quietly mentioned the seat out of the city she had been chasing, her fingers did pause for a split second, but the reaction was gone just as quickly. She still had no intention of saying more to me with all these eyes on her.
<</lang>>
<<if $quests.active.includes("q_heishang_findJynx")>>
<<run setup.QuestManager.complete("q_heishang_findJynx")>>
<</if>>
<<if !$quests.active.includes("q_jynx_defeatDickens") and !$quests.completed.includes("q_jynx_defeatDickens")>>
<<run setup.QuestManager.accept("q_jynx_defeatDickens")>>
<</if>>
<<set $characters.jynx.location to "talkJynx">>
<br><br>
<<lang>>
就在我还在想该怎么继续时,拳台主持人已经重新夺回了全场的注意力。他高声介绍今天的守擂擂主 Dickens,像故意把所有人的胆量都架到火上去烤一样,报出那串夸张的战绩:50胜,50KO,0败。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/dixiaquantai/dickens.png']]</center>
<br><br>
紧接着,他又宣布欢迎任何人报名攻擂。只要有人能把 Dickens 从擂台上打下去,除了会得到丰厚的奖赏之外,还能得到 Jynx 小姐的一次特殊服务。
<br><br>
我立刻意识到,这也许就是现在最直接、也最公开的接近她的方法。
|EN|
Before I could figure out how to keep pressing, the host had already seized the room's attention again. He introduced tonight's reigning defender, Dickens, and read out a record so absurd it sounded like a warning meant to scorch every challenger in advance: 50 wins, 50 KOs, 0 losses.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/dixiaquantai/dickens.png']]</center>
<br><br>
Then he opened the floor to anyone willing to sign up and try for the throne. Whoever beat Dickens would receive a generous prize and one special service from Miss Jynx.
<br><br>
That was when I realized this might be the most direct and most public way to get close to her.
<</lang>>
<br><br>
<<if $quests.active.includes("q_jynx_defeatDickens") and !$quests.completed.includes("q_jynx_defeatDickens")>>
<<set _action = setup.t("挑战 Dickens(报名费 500,精英战,建议提前存档)|Challenge Dickens (500 fee, elite fight, save first)")>>
[[_action|dixiaquantaiDickensFight]]
<br><br>
<</if>>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
<<toggleclass "body" "home">>
<<if $player.money >= 500>>
<<set $player.money -= 500>>
<<set setup.Battle.startFixedEncounter(["Dickens"], { level: 11, type: "elite", victoryPassage: "ShengLi_02_Dickens" })>>
<<goto "ZhandouTest">>
<<else>>
<<lang>>
报名费要 500 块。我身上的钱还不够,暂时还上不了擂台。
|EN|
The entry fee is 500, and I do not have enough money on me yet. I cannot step into the cage just now.
<</lang>>
<br><br>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
<</if>>
<<toggleclass "body" "home">>
<<video 'changjing/2/dixiaquantai/win'>>
<br><br>
<<lang>>
Dickens 一倒,笼边先静了一下,然后紧接着就炸了。主持人嗓子都快喊破了,台下的人也跟着往前挤,各种根本无法分辨的声音如同海啸般瞬间将拳台淹没。Jynx站在拳台边缘,明显愣了一下。她大概没想到我真的能把那个不败的Dickens打下来。
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/dixiaquantai/bao.png']]</center>
<br><br>
但Jynx反反应很快,她第一时间就冲了上来,然后几乎是把整个人都摔进了我的怀里。她抱得很紧,同时,也借着这个机会,轻声在我我耳边低语道
<<jynx>>没想到你这么厉害,我现在对你之前提过的那个出城名额,有点有兴趣了。<</jynx>>
我听见了,却故意没接茬。现在,到了我拿捏她的时候,毕竟好的钓手,总是要有足够的耐心。
<br><br>
我转过头,直接对主持人说
<<you>>现在该兑现奖励咯~(冲Jynx挑眉)Jynx小姐 的特殊服务~<</you>>
|EN|
Dickens went down, and the edge of the cage fell quiet for half a beat before the whole place blew up. The host was almost shouting his throat raw, and the crowd surged forward with him, a wall of noise so thick it almost swallowed the ring whole. Jynx was standing at the edge of the platform, and for a moment she was clearly stunned. She probably had not expected me to really take the undefeated Dickens down.
<br><br>
<center>[img[setup.ImagePath+'/changjing/2/dixiaquantai/bao.png']]</center>
<br><br>
But Jynx recovered fast. She rushed over at once and practically threw herself into my arms. She held me tight, and while she had the chance, she leaned close to my ear and whispered.
<<jynx>>I didn’t expect you to be this good. I’m getting interested in that spot out of the city you mentioned before.<</jynx>>
I heard her, but I deliberately gave her nothing back. This was the moment to keep my hand on the line. A good angler needs patience.
<br><br>
I turned my head and spoke straight to the host.
<<you>>Time to pay up~ Miss Jynx’s special service.<</you>>
<</lang>>
<<if $quests.active.includes("q_jynx_defeatDickens") and setup.QuestManager.canComplete("q_jynx_defeatDickens")>>
<<run setup.QuestManager.complete("q_jynx_defeatDickens")>>
<</if>>
<br><br>
<<set _action = setup.t("Jynx的特殊服务|Jynx's Special Service")>>
[[_action|jynxfuwu]]
<br><br>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
<<toggleclass "body" "home">>
<<lang>>
Jynx 抬眼看了我一下,没再多说什么,只是伸手勾住我的胳膊,示意我跟她往后台走。拳台外面的叫喊还没停,但休息室的门关上的一瞬,喧闹声就被隔绝在身后,只剩下一盏昏黄的顶灯晃动着。
<br><br>
<<video 'changjing/2/dixiaquantai/tuo'>>
<br><br>
Jynx转过身,背靠着门看了我两秒,像在做最后的确认,然后立马又换上一副开心的笑脸,再次贴上来抱住了我。
<<jynx>>你现在是不是很开心?<</jynx>>
Jynx一边笑着,一边开始解我裤子上的绳带。我不置可否的笑了笑,却没给她任何回应,就这么默默的看着她解开我的绳带,拉下裤子,动作干净利落。
<br><br>
我对这个地下拳台内部的势力分布情况,包括Jynx的情报都知之甚少,但从她见了我开始,就一直在演戏这点来分析,这个骚娘们就绝对不是什么省油的灯。
<br><br>
如果现在就让她摸清了我的真实目的,无论她是制造混乱逃跑或者是叫打手堵我,都不会是我想要看到的结果,所以现在沉默才是我最好的武器,先把她钓上来,然后再一口吃掉!
|EN|
Jynx looked up at me, said nothing, and simply hooked an arm through mine to lead me backstage. The shouting outside the cage had not died down yet, but the moment the lounge door shut behind us, the noise was sealed outside, leaving only a dim yellow ceiling lamp swaying overhead.
<br><br>
<<video 'changjing/2/dixiaquantai/tuo'>>
<br><br>
Jynx turned around and leaned back against the door, watching me for two seconds like she was making one last check. Then she immediately put on that bright, pleased smile again and stepped in to hug me once more.
<<jynx>>Happy now?<</jynx>>
Still smiling, she started untying the cord at my pants. I answered with a vague little smile of my own, but gave her nothing else. I only watched in silence as she loosened the knot, pulled my pants down, and kept moving with neat, practiced efficiency.
<br><br>
I still knew very little about the power structure inside this underground fight pit, and even less about Jynx herself. But from the moment she met me, she had been acting. That alone was enough to tell me she was anything but simple.
<br><br>
If I let her figure out my real purpose right now, whether she chose to stir up chaos and run or call in muscle to block me off, neither outcome would do me any good. So for now, silence was my best weapon. Hook her first, then swallow her whole.
<</lang>>
<<set _action = setup.t("口交|Blow Job")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/dixiaquantai/kou'>>
<br><br>
<<lang>>
Jynx蹲下去时,酒红色的长发甩到肩前,膝盖稳稳跪在有些脏的地板上。她抬头看了我一眼,那眼神带着一点不甘,却又透着一种“既然输了就认”的干脆。然后她低头,张开嘴把我的肉棒含了进去。
<br><br>
她的唇很软,口腔温热。
<br><br>
她没有立刻用很强烈的技巧,而是先稳稳地含住前端,舌头缓慢而用力地卷动,像在适应,也像在试探我的反应。
<br><br>
接着她开始前后移动,动作逐渐加深,每一次都把肉棒含得更深,嘴唇始终包裹得严严实实。
<br><br>
她的左手握住根部,配合着嘴巴的节奏有规律地撸动,指尖偶尔收紧,像在掌控节奏。她的头前后摆动得越来越流畅,喉咙深处偶尔发出细微的湿润声音。她偶尔甚至会把肉棒整个全含进去,喉咙轻轻收缩,然后再退出来换气,舌尖在龟头上快速扫动。
<br><br>
我站在那里,低头看着她起伏的脑袋。她跪姿端正,长发随着动作晃动,偶尔有几缕贴在脸颊上。她抬头和我对视了一次,眼神里混杂着某种屈辱和被激起的倔强,却没有停下。
|EN|
As Jynx knelt down, her wine-red hair fell over her shoulder. She steadied herself on the somewhat dirty floor, then looked up at me. Her eyes held a trace of reluctance, but also the straightforward acceptance of someone who had lost and was ready to honor the result. She lowered her head and took me into her mouth.
<br><br>
Her lips were soft, her mouth warm.
<br><br>
She didn’t start with intense technique. Instead, she held the tip steadily, her tongue moving slowly and deliberately, as if getting used to it and testing my reactions.
<br><br>
Then she began to move her head back and forth, gradually taking me deeper, her lips staying tightly wrapped around me the entire time.
<br><br>
Her left hand gripped the base, stroking in rhythm with her mouth, fingers occasionally tightening as though controlling the pace. Her head moved more fluidly with each pass; soft, wet sounds occasionally escaped from her throat. Sometimes she took me all the way in, her throat contracting gently, before pulling back to breathe, her tongue flicking quickly across the tip.
<br><br>
I stood there, looking down at her moving head. She knelt with perfect posture, her long hair swaying with her movements, a few strands sticking to her cheeks. She glanced up at me once—her eyes a mix of humiliation and stubborn pride—yet she didn’t stop.
<</lang>>
<<set _action = setup.t("射精|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/dixiaquantai/cum'>>
<br><br>
<<lang>>
Jynx的节奏越来越快,舌头和嘴唇的配合也越来越熟练。
<br><br>
我也逐渐感觉到了快感的堆积,终于低喘了一声,热流涌出,全射进了她嘴里。
<br><br>
Jynx喉咙动了动,把大部分都吞了下去,只有少许从唇角溢出,顺着下巴滑落。
<br><br>
她慢慢吐出肉棒,用手背抹了抹嘴角,抬头看着我,声音低哑却带着一丝挑衅。
<<jynx>>……满意了?<</jynx>>
她跪在地上没立刻站起来,只是微微仰着头,眼神复杂地看着我,像在等我下一步的反应。可我只是伸手把她从地上拉了起来。正当她以为我还会说点什么的时候,我只笑着拍了拍她的屁股。
<<you>>这里不是谈事的地方。两天后,我会约你,等我消息。而现在嘛,我该走了^_^<</you>>
<br><br>
她明显怔了一下,像是没想到我会在这种时候把话停在这里。我也没给她更多的反应时间,闪身就从我刚刚早就观察好的逃生通道溜了进去。
开玩笑,我可不想被堵在这里!
|EN|
Jynx’s rhythm grew faster, her tongue and lips working with increasing skill.
<br><br>
I could feel pleasure building inside me. Finally, with a low groan, I reached my limit and released into her mouth.
<br><br>
Jynx’s throat moved as she swallowed most of it, only a small amount escaping the corner of her lips and sliding down her chin.
<br><br>
She slowly released me, wiped her mouth with the back of her hand, and looked up at me. Her voice was husky, carrying a hint of challenge.
<<jynx>>…Satisfied?<</jynx>>
She stayed kneeling on the floor for a moment, head slightly tilted, watching me with a complicated expression, as if waiting for my next move. Instead, I simply reached down and pulled her to her feet. Just as she seemed to expect me to say something more, I smiled and gave her backside a light pat.
<<you>>This isn’t the place to talk business. Two days from now, I’ll contact you. Wait for my message. For now… I have to go^_^<</you>>
<br><br>
She clearly froze for a second, as if she hadn’t expected me to end things so abruptly here. I didn’t give her time to react further — I slipped into the escape route I had scouted earlier and disappeared.
No way was I getting trapped here!
<</lang>>
<br><br>
<<set $player.yuwang to 0>>
<<set $characters.jynx.sexCount += 1>>
<<set $characters.jynx.location to "talkJynx">>
<<updateCaptionInfo>>
<<run setup.QuestManager.accept("q_jynx_yuehui")>>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
<</linkreplace>>
<</linkreplace>>
<div id="dqt-bet-zone">
<<include "dixiaquantaiBet_Render">>
</div><<set _state to setup.DixiaQuantai.ensureToday()>>
<<set _pickedCount to setup.DixiaQuantai.countSelections(_state)>>
<<set _totalCost to setup.DixiaQuantai.betCost * setup.DixiaQuantai.betSlots>>
<style>
#dqt-bet-zone {
padding: 18px 16px 24px;
background: rgba(0,0,0,0.78);
color: #f4f4f4;
border-radius: 14px;
border: 1px solid rgba(255,255,255,0.08);
}
.dqt-title {
font-size: 1.2em;
font-weight: 700;
margin-bottom: 10px;
}
.dqt-note {
color: #cfcfcf;
margin-bottom: 14px;
line-height: 1.5;
}
.dqt-message {
color: #ff9c9c;
margin-bottom: 10px;
}
.dqt-match {
display: grid;
grid-template-columns: 1fr 64px 1fr;
gap: 12px;
align-items: center;
margin: 14px 0;
padding: 12px;
border: 1px solid rgba(255,255,255,0.08);
border-radius: 12px;
background: rgba(255,255,255,0.04);
}
.dqt-side {
display: flex;
gap: 10px;
align-items: center;
min-height: 76px;
padding: 8px;
border-radius: 10px;
border: 3px solid transparent;
background: rgba(0,0,0,0.24);
transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease, opacity 0.16s ease, filter 0.16s ease;
}
.dqt-side.selected {
border: 3px solid #ffd24a;
background: linear-gradient(180deg, rgba(255,210,74,0.28) 0%, rgba(255,210,74,0.12) 100%);
box-shadow: 0 0 0 3px rgba(255,210,74,0.35), 0 14px 32px rgba(255,210,74,0.22);
transform: translateY(-3px) scale(1.01);
}
.dqt-side.winner {
box-shadow: 0 0 0 1px #7dff9e inset;
}
.dqt-side.loser {
opacity: 0.72;
}
.dqt-side.selectable-muted {
opacity: 0.42;
filter: grayscale(0.35);
}
.dqt-side img {
width: 72px;
height: 72px;
object-fit: cover;
border-radius: 10px;
border: 1px solid rgba(255,255,255,0.16);
}
.dqt-name {
font-weight: 700;
margin-bottom: 4px;
}
.dqt-style {
font-size: 0.9em;
color: #bdbdbd;
line-height: 1.35;
}
.dqt-vs {
text-align: center;
font-weight: 700;
letter-spacing: 1px;
color: #ffd24a;
}
.dqt-odds-row {
display: flex;
width: 100%;
height: 10px;
margin-top: 8px;
overflow: hidden;
border-radius: 999px;
border: 1px solid rgba(255,255,255,0.12);
background: rgba(255,255,255,0.08);
}
.dqt-odds-left {
height: 100%;
background: linear-gradient(90deg, #8f1b1b 0%, #d63b3b 100%);
}
.dqt-odds-right {
height: 100%;
background: linear-gradient(90deg, #2d8a36 0%, #6fdd7a 100%);
}
.dqt-actions {
display: flex;
gap: 12px;
margin-top: 8px;
flex-wrap: wrap;
}
.dqt-disabled {
color: #909090;
}
.dqt-summary {
margin-top: 14px;
padding-top: 12px;
border-top: 1px solid rgba(255,255,255,0.08);
}
.dqt-result {
margin-top: 10px;
color: #d8d8d8;
}
.dqt-win {
color: #7dff9e;
}
.dqt-lose {
color: #ff9c9c;
}
.dqt-payoff {
margin-top: 10px;
color: #ffd24a;
}
.dqt-pick-button {
display: block;
width: 100%;
box-sizing: border-box;
padding: 18px 20px;
border-radius: 12px;
border: 2px solid rgba(198, 74, 255, 0.45);
background: linear-gradient(90deg, rgba(50,18,86,0.88) 0%, rgba(56,17,49,0.88) 100%);
color: #f6f1ff;
text-align: center;
font-size: 1.15em;
font-weight: 800;
letter-spacing: 0;
text-decoration: none;
box-shadow: inset 4px 0 0 #7b24ff;
transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease, opacity 0.16s ease;
}
.dqt-pick-button.selected {
border: 2px solid #ffd24a;
background: linear-gradient(90deg, rgba(92,54,5,0.96) 0%, rgba(124,72,8,0.96) 100%);
color: #fff6cc;
box-shadow: 0 0 0 3px rgba(255,210,74,0.28), 0 12px 28px rgba(255,210,74,0.18), inset 6px 0 0 #ffd24a;
transform: translateY(-1px);
}
.dqt-pick-button.dimmed {
opacity: 0.58;
}
</style>
<<if _state.submitted>>
<div class="dqt-title"><<= setup.t("今日拳赛已结算|Today's Fight Bets Are Settled")>></div>
<div class="dqt-note"><<lang>>你今天已经下注过了,明天再来。<br>命中:<<= _state.winCount>>/3<br>投入:$<<= _state.spent>>|EN|You have already placed your bets today. Come back tomorrow.<br>Hits: <<= _state.winCount>>/3<br>Spent: $<<= _state.spent>><</lang>></div>
<<if _state.winCount is 3>>
<div class="dqt-payoff"><<lang>>三场全中,拿走:$<<= _state.rewardMoney>>|EN|Perfect hit, payout: $<<= _state.rewardMoney>><</lang>></div>
<<elseif _state.winCount is 2>>
<div class="dqt-payoff"><<lang>>中 2 场,拿走:$<<= _state.rewardMoney>>|EN|Two hits. Payout: $<<= _state.rewardMoney>><</lang>></div>
<<elseif _state.winCount is 1>>
<div class="dqt-payoff"><<lang>>中 1 场,拿走:$<<= _state.rewardMoney>>|EN|One hit. Payout: $<<= _state.rewardMoney>><</lang>></div>
<<else>>
<div class="dqt-payoff"><<= setup.t("一场没中,今天空手而归。|Not a single hit. You walk away empty-handed today.")>></div>
<</if>>
<<for _i to 0; _i lt _state.contest.length; _i++>>
<<set _match to _state.contest[_i]>>
<<capture _match>>
<<set _key to String(_match.id)>>
<<set _pickUid to _state.selections[_key]>>
<<set _winner to _match.fighters[0]>>
<<if _match.winnerUid is _match.fighters[1].uid>>
<<set _winner to _match.fighters[1]>>
<</if>>
<div class="dqt-match">
<div class="dqt-side <<if _pickUid is _match.fighters[0].uid>>selected<<elseif _winner.uid is _match.fighters[0].uid>>winner<<else>>loser<</if>>">
<img @src="setup.DixiaQuantai.avatarPath + _match.fighters[0].avatar">
<div>
<div class="dqt-name"><<= setup.t(_match.fighters[0].name)>></div>
<div class="dqt-style"><<= setup.t(_match.fighters[0].style)>></div>
</div>
</div>
<div class="dqt-vs"><<= setup.t("对阵|VS")>></div>
<div class="dqt-side <<if _pickUid is _match.fighters[1].uid>>selected<<elseif _winner.uid is _match.fighters[1].uid>>winner<<else>>loser<</if>>">
<img @src="setup.DixiaQuantai.avatarPath + _match.fighters[1].avatar">
<div>
<div class="dqt-name"><<= setup.t(_match.fighters[1].name)>></div>
<div class="dqt-style"><<= setup.t(_match.fighters[1].style)>></div>
</div>
</div>
</div>
<div class="dqt-odds-row">
<div class="dqt-odds-left" @style="'width:' + _match.displayOdds.left + '%'"></div>
<div class="dqt-odds-right" @style="'width:' + _match.displayOdds.right + '%'"></div>
</div>
<div class="dqt-result">
<<if _pickUid is _winner.uid>>
<span class="dqt-win"><<= setup.t("命中|Hit")>></span>
<<else>>
<span class="dqt-lose"><<= setup.t("落空|Miss")>></span>
<</if>>
<<lang>>,胜者:<<= setup.t(_winner.name)>>|EN|, Winner: <<= setup.t(_winner.name)>><</lang>>
</div>
<</capture>>
<</for>>
<br>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
<<else>>
<<if _state.message>><div class="dqt-message"><<= setup.t(_state.message)>></div><</if>>
<div class="dqt-title"><<= setup.t("今日拳赛竞猜|Today's Fight Bets")>></div>
<div class="dqt-note"><<lang>>今天开 5 场,只能从中挑 3 场下注,每场 200。<br>三场全空没有回报;中 1 场返 500,中 2 场返 1500,三场全中返 3000。<br>已选:<<= _pickedCount>>/3;本次投入:$<<= _totalCost>>|EN|Five fights are on the board today, and you may bet on exactly three of them at $200 each.<br>Hit none and you get no payout; hit 1 for $500, hit 2 for $1500, and hit all 3 for $3000.<br>Picked: <<= _pickedCount>>/3; Total stake: $<<= _totalCost>><</lang>></div>
<<for _i to 0; _i lt _state.contest.length; _i++>>
<<set _match to _state.contest[_i]>>
<<capture _match>>
<<set _key to String(_match.id)>>
<<set _pickUid to _state.selections[_key]>>
<<set _pickA to _pickUid is _match.fighters[0].uid>>
<<set _pickB to _pickUid is _match.fighters[1].uid>>
<div class="dqt-match">
<div class="dqt-side <<if _pickA>>selected<<elseif _pickUid>>selectable-muted<</if>>">
<img @src="setup.DixiaQuantai.avatarPath + _match.fighters[0].avatar">
<div>
<div class="dqt-name"><<= setup.t(_match.fighters[0].name)>></div>
<div class="dqt-style"><<= setup.t(_match.fighters[0].style)>></div>
</div>
</div>
<div class="dqt-vs"><<= setup.t("对阵|VS")>></div>
<div class="dqt-side <<if _pickB>>selected<<elseif _pickUid>>selectable-muted<</if>>">
<img @src="setup.DixiaQuantai.avatarPath + _match.fighters[1].avatar">
<div>
<div class="dqt-name"><<= setup.t(_match.fighters[1].name)>></div>
<div class="dqt-style"><<= setup.t(_match.fighters[1].style)>></div>
</div>
</div>
</div>
<div class="dqt-odds-row">
<div class="dqt-odds-left" @style="'width:' + _match.displayOdds.left + '%'"></div>
<div class="dqt-odds-right" @style="'width:' + _match.displayOdds.right + '%'"></div>
</div>
<div class="dqt-actions">
<<if _pickedCount lt 3 or _pickA>>
<<set _pickLeftAction to `<span class="dqt-pick-button ${_pickA ? 'selected' : (_pickUid ? 'dimmed' : '')}">${setup.t("押左边|Bet Left")}</span>`>>
<<linkreplace _pickLeftAction>>
<<run setup.DixiaQuantai.togglePick(_match.id, _match.fighters[0].uid)>>
<<replace "#dqt-bet-zone">>
<<include "dixiaquantaiBet_Render">>
<</replace>>
<</linkreplace>>
<<else>>
<span class="dqt-disabled"><<= setup.t("左边已不能再选|The left side can no longer be picked.")>></span>
<</if>>
<<if _pickedCount lt 3 or _pickB>>
<<set _pickRightAction to `<span class="dqt-pick-button ${_pickB ? 'selected' : (_pickUid ? 'dimmed' : '')}">${setup.t("押右边|Bet Right")}</span>`>>
<<linkreplace _pickRightAction>>
<<run setup.DixiaQuantai.togglePick(_match.id, _match.fighters[1].uid)>>
<<replace "#dqt-bet-zone">>
<<include "dixiaquantaiBet_Render">>
<</replace>>
<</linkreplace>>
<<else>>
<span class="dqt-disabled"><<= setup.t("右边已不能再选|The right side can no longer be picked.")>></span>
<</if>>
<<if !_pickUid>>
<span class="dqt-disabled"><<= setup.t("还没下注这场|No bet placed on this match yet.")>></span>
<</if>>
</div>
<</capture>>
<</for>>
<div class="dqt-summary">
<<if _pickedCount is 3>>
<<if setup.DixiaQuantai.canSubmit(_state)>>
<<set _submitAction = setup.t("确认下注|Confirm Bets")>>
<<linkreplace _submitAction>>
<<run setup.DixiaQuantai.submit()>>
<<replace "#dqt-bet-zone">>
<<include "dixiaquantaiBet_Render">>
<</replace>>
<</linkreplace>>
<<else>>
<span class="dqt-disabled"><<= setup.t("钱不够,得先凑够 $600。|Not enough money. You need to scrape together $600 first.")>></span>
<</if>>
<<else>>
<span class="dqt-disabled"><<lang>>还差 <<= setup.DixiaQuantai.betSlots - _pickedCount>> 场才能下注。|EN|You still need <<= setup.DixiaQuantai.betSlots - _pickedCount>> more match picks before you can bet.<</lang>></span>
<</if>>
<br><br>
<span class="dqt-disabled"><<= setup.t("每天只能来一次。|You only get one visit per day.")>></span>
<br><br>
<<set _back = setup.t("回到拳台|Back to the Pit")>>
[[_back|dixiaquantai]]
</div>
<</if>><<toggleclass "body" "home">>
<<set _hasDateQuest = $quests.active.includes("q_jynx_yuehui")>>
<<if _hasDateQuest>>
<<set $characters.jynx.location to "qiaodong">>
<<lang>>
到了约好的时候,我顺着黑市后头那条窄路往桥洞去。两边挤着车和墙,地上有积灰,也有不知道谁丢下的碎纸和空瓶子。人刚从那条窄缝里穿出来,桥底下那一片地方就整个露在了眼前。
|EN|
When the agreed time came, I took the narrow path behind the black market toward the underpass. There was a vehicle pressed close on one side and a wall on the other, with dust, scraps of paper, and empty bottles underfoot. The moment I came through that tight passage, the whole space under the bridge opened up in front of me.
<</lang>>
<br><br>
<<video 'changjing/2/qiaodong/deng'>>
<br><br>
<<lang>>
桥洞还是那副样子。顶上是灰白的水泥拱,墙上糊满一层压一层的涂鸦,墙根竖着一张发旧的床垫,旁边还堆着塑料盆和垃圾袋。靠路那边停着一辆老皮卡,车旁边支着张桌子,桌上摊着扑克牌、零钱和一个金属酒壶。
<br><br>
我远远看见Jynx就坐在桌边,没有干站着等我。她手里捏着牌,陪那个戴墨镜的胖子慢慢打牌,时不时又把纸袋里的酒往嘴边送一口。
|EN|
The underpass looked exactly like this kind of place always does. A pale concrete arch overhead, graffiti layered over graffiti across the wall, an old mattress propped at the base, and plastic tubs and trash bags piled nearby. An old pickup was parked along the road side, and beside it stood a table scattered with playing cards, loose cash, and a metal flask.
<br><br>
I saw Jynx sitting at the table from afar, not standing idly waiting for me. She held cards in her hand, playing slowly with the fat man wearing sunglasses, occasionally taking a sip of liquor from the paper bag.
<</lang>>
<br><br>
<center>[img[setup.Path+'videos/changjing/2/qiaodong/lai.png']]</center>
<br><br>
<<lang>>
我按约过来,也没故意放慢脚步。脚下的路不宽,人只能贴着车身和墙边穿过去。等我走近了,她才把眼神从牌桌上挪开,抬头看了我一眼。
|EN|
I came because I had set the meeting, and I did not slow down on purpose. The path underfoot was narrow enough that I had to brush past the vehicle and the wall to get through. Only when I drew close did she finally lift her eyes from the card table and look at me.
<</lang>>
<br><br>
<center>[img[setup.Path+'videos/changjing/2/qiaodong/bunai.png']]</center>
<br><br>
<<lang>>
她心里明白,我这几天一直没把话说透,就是在钓着她。可她还是来了,只是来了也不肯先把姿态放低。那两个男的,一个坐在桌边,一个守在车旁,摆明了是她找来撑场面的打手。也正因为身边有人,她今天说话的口气、抬眼看人的神气,都比在拳台那会儿横了不少。
<br><br>
我没急着开口,只先把这点阵仗看清楚。她是在端着,但端得并不稳。
|EN|
She knew full well that I had been deliberately vague these past few days, just stringing her along. Yet she still came, though she refused to lower her guard first. Those two men—one sitting at the table, the other standing by the car—were clearly the muscle she'd brought to back her up. And precisely because she had backup, her tone today and the way she looked at people were far more aggressive than when we'd met at the boxing ring.
<br><br>
I did not rush to speak. I took the full measure of the little setup first. She was putting on a front, but it was not a steady one.
<</lang>>
<br><br>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
我把视线从那两个打手身上收回来,直接跟她说,我不是为了出城名额来的。我找她,是为了打听一个失踪的联络员。
<br><br>
这句话刚出口,Jynx脸上的神气就变了。她显然听明白了这不是普通买卖,也知道这件事一旦往下说,不管我是联邦的人,还是别的什么人,对她都不会有好处。
<br><br>
她只停了半秒,忽然拔高声音,冲着旁边喊道:
<<jynx>>你是统一阵线的人!<</jynx>>
<br><br>
这句话不是说给我听的。她喊出来的同时,手也朝那两个打手那边一抬,意思很清楚:动手!
<br><br>
可我本来就防着这两个人,也没打算给他们围上来的机会。她手刚抬起来,我已经先动了。离我最近的那个才从桌边起身,我一拳砸在他脸上,把人打得往后撞回桌边。另一个从车旁冲过来,我转身又是一拳,正中下巴。
<br><br>
砰砰两下,两个人倒得比她想得还快。
|EN|
I drew my eyes back from the two hired men and told her directly that I had not come for a seat out of the city. I was here to ask about a missing contact.
<br><br>
The moment those words left my mouth, the look on Jynx's face changed. She clearly understood this was not ordinary business, and she knew that once the talk went any further, whether I was with the Federation or with someone else, none of it would be good for her.
<br><br>
She froze for half a second, then suddenly raised her voice and shouted toward the side.
<<jynx>>You're with the Front!<</jynx>>
<br><br>
This wasn’t meant for me. As she shouted, her hand gestured toward the two thugs—the message was clear: Take action!
<br><br>
But I had been watching those two from the start, and I had no intention of letting them close in around me. The instant her hand came up, I moved first. The nearest one had only just started rising from the table when my fist smashed into his face and knocked him back against it. The other rushed in from beside the car; I turned and drove another punch straight into his chin.
<br><br>
Two heavy hits. Both men went down faster than she had planned.
<</lang>>
<br><br>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/zhui'>>
<br><br>
<<lang>>
Jynx脸上的横劲一下就散了。她连狠话都没来得及撂,转身就跑。
<br><br>
她贴着桥边的人行道往前冲,左边停着一排车,右边是写满涂鸦的墙。地上有碎纸和空瓶,她顾不上看,脚步踩得又急又乱。跑到桥边的楼梯口,她扶着墙就往上蹿,外套被风和动作甩开,整个人只剩下逃命的架势。
|EN|
The arrogance on Jynx's face fell apart at once. She did not even have time to throw out another threat before she turned and ran.
<br><br>
She sprinted along the sidewalk beside the bridge, parked cars on her left and a graffiti-covered wall on her right. Scraps of paper and empty bottles lay underfoot, but she did not look down; her steps came fast and uneven. When she reached the stairs by the bridge, she grabbed the wall and rushed upward, her shirt flaring loose with the motion, every part of her body focused on getting away.
<</lang>>
<br><br>
<<video 'changjing/2/qiaodong/cangku'>>
<br><br>
<<lang>>
她一路跑到前面那间旧仓库门口。卷帘门只开了半截,底下留着一道空,她连停都没停,弯腰就钻了进去。
<br><br>
我跟着追到门口,也弯腰钻进仓库。等脚站稳,我先回手把卷帘门拉了下来,直接把门关上。外面的光被门板截住,铁门落下时发出一声闷响。
<br><br>
这下她再想从原路跑,就没那么容易了。
|EN|
She ran all the way to an old warehouse up ahead. The rolling shutter was only half open, leaving a gap at the bottom, and she ducked straight under it without stopping.
<br><br>
I followed her to the entrance and slipped inside as well. Once my feet were steady, I reached back and pulled the rolling shutter down. The light from outside was cut off by the metal door, which dropped with a dull clang.
<br><br>
Now the way back out would not be so easy for her.
<</lang>>
<br><br>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/dai'>>
<br><br>
<<lang>>
卷帘门关上以后,我反而不急了。以前当战士留下的习惯还在,进了这种地方,第一眼看的不是人,而是出口、遮挡物,还有能埋伏的位置。
<br><br>
仓库里没摆几样东西,水泥地上浮着一层灰,墙皮剥开了几块,露出里面发暗的砖。真正能藏人的地方不多:几根柱子后面,墙角的阴影,还有前面那道旧门旁边。Jynx没有受过这种训练,她只会凭直觉往暗处钻,往看起来能挡住身体的地方躲。
<br><br>
我没有追着她乱跑,只沿着左侧慢慢压过去。脚步不快,但每一步都卡住她能退的方向。她躲到柱子后,我就从另一侧露个身影;她想贴着墙角往里缩,我就把声音压低,故意从那边绕过去。仓库不大,她越慌,能选的路就越少。
<br><br>
搜查这种地方,最省力的办法不是把每个角落都翻出来,而是把人往你留下的口子里赶。我给她留的陷阱,就是那道旧门。
<br><br>
她果然上当了。前面一有空,她立刻从阴影里钻出来,伸手就去摸那扇门的门把,以为自己终于找到一条能跑出去的路。
<br><br>
可我早就站在门边的阴影里等她。
<br><br>
一只手从她肩侧穿过去,扣住她的脖子,另一只手压住她往前挣的胳膊,把她整个人带回门边。她喉咙里挤出一声短促的气,双手立刻去掰我的手腕,脚尖还往前蹬了两下,却只是在地上的灰里划出两道浅印。
<br><br>
我贴在她耳边低声笑了一下。
<<you>>跑啊,怎么不跑了?<</you>>
|EN|
Once the rolling shutter was down, I stopped rushing. The habits from my soldier days were still there. In a place like this, the first thing I looked for was not the person. It was the exits, the cover, and the places where someone could set an ambush.
<br><br>
There were only a few things inside the warehouse. Dust lay across the concrete floor, and patches of wall had peeled away to show dark brick underneath. There were not many places where a person could hide: behind the pillars, in the dark corners, or near the old door ahead. Jynx had no training for this. She could only follow instinct, ducking toward shadow and anything that looked like it could hide her body.
<br><br>
I did not chase after her blindly. I moved along the left side, slow and steady. Each step cut off one more direction she could retreat. When she hid behind a pillar, I let her catch a glimpse of me from the other side. When she tried to shrink deeper along the wall, I lowered my voice and circled that way on purpose. The warehouse was not large. The more she panicked, the fewer choices she had.
<br><br>
When searching a place like this, the easiest way is not to tear through every corner. It is to herd the target toward the opening you leave for them. The opening I left her was that old door.
<br><br>
She took the bait. The moment she saw space ahead, she slipped out of the shadows and reached for the handle, thinking she had finally found a way out.
<br><br>
But I was already waiting in the shadow beside the door.
<br><br>
One hand slid past her shoulder and locked around her throat. The other pinned the arm she was trying to force forward, dragging her back against the doorway. A short breath squeezed out of her throat. Both her hands immediately clawed at my wrist, and her toes kicked forward twice, leaving only two shallow marks in the dust.
<br><br>
I leaned close to her ear and gave a low laugh.
<<you>>Run, then. Why did you stop?<</you>>
<</lang>>
<<run setup.QuestManager.complete("q_jynx_yuehui")>>
<br><br>
<<if recall("patreon code") is true >>
<<set _action = setup.t("彻底令Jynx屈服|Break Jynx Completely")>>
[[_action|qiaodongSex]]
<<else>>
<<set _action = setup.t("彻底令Jynx屈服(会员事件,需要Patreon Code)|Break Jynx Completely (Member event, Patreon Code required)")>>
<a class="link-disabled">_action</a>
<</if>>
<br><br>
<<set _action = setup.t("逼问并灭口(Jynx将死亡)|Interrogate and Silence Her (Jynx Will Die)")>>
[[_action|qiaodongKillJynx]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<<else>>
<<lang>>
我从桥边经过时,顺手往底下看了一眼。
|EN|
As I passed by the bridge, I glanced down underneath it.
<</lang>>
<br><br>
<<video 'changjing/2/qiaodong/3ren'>>
<br><br>
<<lang>>
桥洞下面空着一大片地。顶上的水泥拱又高又旧,墙上全是涂鸦,墙根竖着一张发旧的床垫,旁边扔着塑料盆和垃圾袋。靠外那边停着一辆老皮卡,车旁边支了张桌子,桌上摊着牌和几个零碎东西。
<br><br>
三个人占着那块地方。一个戴墨镜的胖男人坐在桌边洗牌,对面坐着个女人,另一个男的弯在车头旁边,不知道在鼓捣什么。三个人谁都不像是在这里歇脚,看着倒像是早就把这块地方当成了自己的地盘。
|EN|
There was a wide patch of open ground under the bridge. The concrete arch overhead was high and old, the wall was covered in graffiti, an old mattress was propped at the base, and plastic tubs and trash bags had been dumped nearby. An old pickup sat closer to the road, and a table had been set up beside it with cards and a few odds and ends spread across the top.
<br><br>
Three people had taken over the spot. A fat man in dark glasses sat at the table shuffling cards, a woman sat across from him, and another man was bent over near the front of the truck, busy with something I could not make out. None of them looked like they were resting there by chance. They looked more like the kind of people who had already decided this patch of ground belonged to them.
<</lang>>
<br><br>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]
<</if>><<toggleclass "body" "home">>
<<lang>>
Jynx被我按在门边,刚才那股横劲已经散得差不多了。她胸口起伏很快,额边的碎发黏着汗,眼睛却还倔强地抬着,像是只要不先低头,就还能给自己留一点面子。
<<you>>不是喜欢摆场子吗?现在没人替你撑了。<</you>>
我松开一点力道,让她自己站稳,却没给她往旁边挪的空间。卷帘门关着,她也没了再逃跑的可能。到了这一步,她也知道,她现在只剩下屈服这一条路可走。
<br><br>
<<video 'changjing/2/qiaodong/qufu'>>
<br><br>
她慢慢蹲了下去。动作不快,像每低一寸都在跟自己较劲。等膝盖碰到地上,她才抬头看我,眼里还有不甘,但更多的是认清现实后的顺从。
<<jynx>>……你到底想怎么样?<</jynx>>
她乖乖地蹲在地上,伸出舌头,看着我慢悠悠的解开皮带,把裤子往下拉了一些。
|EN|
Jynx was pinned against the door by me; the fierce defiance she had earlier had mostly faded. Her chest rose and fell rapidly, strands of hair stuck to her forehead with sweat, yet her eyes still lifted stubbornly — as if refusing to lower her head first would allow her to keep some remaining dignity.
<<you>>Weren’t you so good at putting on a show? Now no one’s here to back you up.<</you>>
I loosened my grip slightly so she could stand on her own, but I didn’t give her any room to slip away. The rolling shutter was closed; she had no chance to run anymore. At this point, she knew her only option left was to submit.
<br><br>
<<video 'changjing/2/qiaodong/qufu'>>
<br><br>
She slowly sank down to her knees. Her movements were unhurried, as though she was fighting herself with every inch. Once her knees touched the floor, she looked up at me. There was still reluctance in her eyes, but more than that was the resignation of someone who had accepted reality.
<<jynx>>…What exactly do you want?<</jynx>>
She knelt obediently on the ground, tongue slightly extended, watching as I leisurely undid my belt and pulled my pants down a bit.
<</lang>>
<<set _action = setup.t("调教|Training")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/tiaojiao'>>
<br><br>
<<lang>>
她想伸手握住我的肉棒,却被我一把将她的手打开。
<<you>>只用嘴。<</you>>
Jynx愣了一下,眼神闪过一丝屈辱,但最终还是张开嘴,把我的肉棒含了进去。
<br><br>
她的唇包裹得很紧,舌头在肉棒上缓慢卷动,动作虽然生涩,却带着一种刻意的讨好。她把头往前送,试图含得更深,喉咙轻轻收缩,发出细微的湿润声音。
<br><br>
<<video 'changjing/2/qiaodong/kou'>>
<br><br>
我低头看着她,伸手扣住她的后脑,却没有用力按,只是掌控着节奏。她呼吸渐渐变重,鼻息喷在我小腹上,酒红色的长发随着动作前后晃动。
|EN|
She tried to reach out and hold my cock, but I swatted her hand away.
<<you>>Only your mouth.<</you>>
Jynx froze for a second, a flash of humiliation in her eyes, but she eventually parted her lips and took me into her mouth.
<br><br>
Her lips formed a tight seal, her tongue slowly curling around me. Her movements were a little clumsy, yet carried a deliberate intent to please. She pushed her head forward, trying to take me deeper, her throat contracting gently and producing soft, wet sounds.
<br><br>
<<video 'changjing/2/qiaodong/kou'>>
<br><br>
I looked down at her, one hand resting on the back of her head — not forcing, just guiding the rhythm. Her breathing grew heavier, warm puffs brushing against my lower abdomen, her wine-red hair swaying back and forth with each motion.
<</lang>>
<<set _action = setup.t("插入|Push In")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/in'>>
<br><br>
<<lang>>
口了一阵后,我忽然掐住Jynx的脖子,把她整个人拉了起来。她被呛得轻咳了一声,嘴角还带着晶莹的液体,眼睛里水光浮动。
<<you>>够了。我现在想要你用小穴来服务我。<</you>>
Jynx喘着气,转过身去。我在她翘起的屁股上重重拍了一巴掌,声音清脆。她身体明显颤了一下,却没敢反抗,只是默默走到墙角,找了一块还算干净的旧布铺在地上。
她开始脱衣服,把外套、T恤、内衣一件件扔到旁边,最后只剩下一条黑色内裤。她弯腰把内裤也褪到脚踝,踢到一边,然后跪下来,双手撑地,高高地翘起屁股,趴在布上。
<br><br>
她把脸侧贴在地面,眼睛半闭着,长发散乱地铺在背上,但是她很快就调整好了自己的表情。露出一副笑脸,并示意我赶紧过来。
<br><br>
我走到她身后,跪在她两腿之间,双手扣住她纤细的腰肢,肉棒对准她那已经湿润的洞口蹭了蹭,然后猛地顶了进去。
<br><br>
<<video 'changjing/2/qiaodong/houru'>>
<br><br>
不需要我示意,Jynx自己主动摇晃起屁股,开始动了起来。我双手按着她的后腰,把她上半身压得更低,直接开始用力抽插,每一下都撞得极深。她的身体随着我的节奏往前晃动,屁股被撞得发出清脆的声响。
|EN|
After a while, I suddenly grabbed Jynx by the throat and pulled her up. She coughed lightly, a glistening trace still on her lips, her eyes watery.
<<you>>Enough. Now I want you to use your pussy to serve me.<</you>>
Jynx panted and turned around. I gave her raised ass a firm slap, the sound sharp. Her body trembled visibly, but she didn’t resist. She quietly walked to the corner, found a relatively clean piece of old cloth, and spread it on the floor.
She began undressing, tossing aside her jacket, T-shirt, and bra one by one until only her black panties remained. She bent over, slid them down to her ankles, kicked them away, then knelt down, hands on the cloth, and raised her hips high.
<br><br>
She rested her cheek against the floor, eyes half-closed, long hair scattered across her back. Soon she adjusted her expression, putting on a smile and motioning for me to come over.
<br><br>
I moved behind her, kneeling between her legs. I gripped her slender waist, rubbed against her already slick entrance a couple of times, then thrust in deeply.
<br><br>
<<video 'changjing/2/qiaodong/houru'>>
<br><br>
Without needing any instruction, Jynx began moving her hips on her own. I pressed down on her lower back, forcing her upper body lower, and started thrusting hard and deep. Her body rocked forward with each impact, the sound of flesh meeting flesh ringing clearly.
<</lang>>
<<set _action = setup.t("女上位|Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/nvshang'>>
<br><br>
<<lang>>
我从后面又猛干了她一阵,撞得Jynx的喘息越来越碎。她双手死死抓着旧布,身体被撞得不断前倾。
<br><br>
我忽然停下动作,拍了拍她的臀,低声命令:
<<you>>转过来,自己坐上来。<</you>>
Jynx喘着气转过身,跨坐在我腰上。她扶着我的肩膀,扶住湿滑的肉棒,对准自己的嫩穴,缓缓坐了下去。
<br><br>
当我的肉棒整根没入她体内时,她仰起头,发出一声压抑已久的叹息。
<br><br>
她开始自己动,腰肢上下起伏,动作由慢到快,逐渐变得又急又狠。她的长发甩动,胸口随着节奏剧烈晃动。她低头看着我,眼神又炙热而迷乱,像要把刚才被我压制的部分全都讨回来。
|EN|
I continued thrusting hard from behind for a while, Jynx’s breaths growing shorter and more fragmented. Her hands clutched the old cloth tightly as her body rocked forward with each impact.
<br><br>
I suddenly stopped, gave her ass a light slap, and commanded in a low voice:
<<you>>Turn around. Get on top.<</you>>
Jynx panted as she turned, straddling my waist. She braced her hands on my shoulders, guided me to her entrance, and slowly sank down.
<br><br>
When I was fully inside her, she tilted her head back with a long, pent-up sigh.
<br><br>
She began moving on her own — hips rising and falling, starting slow before gradually building speed and intensity. Her long hair whipped around, her chest heaving with the rhythm. She looked down at me, her eyes burning with hazy desire, as if determined to reclaim the control she had lost earlier.
<</lang>>
<<set _action = setup.t("女上后入|Reverse Cowgirl")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/nvshanghou'>>
<br><br>
<<lang>>
做了没多久,她忽然俯下身,贴在我耳边喘息道:
<<jynx>>……换个…姿势…我想要…你在后面…<</jynx>>
她从我身上下来,转过身背对着我,再次坐了下去。
<br><br>
她双手撑在我大腿上,腰肢疯狂扭动,雪白的臀部上下套弄得又快又深,每一次坐下都发出响亮的撞击声。我躺在下面,双手扣住她的腰,向上顶撞。
<br><br>
她被我顶得不断发出破碎的哼声,身体越来越软,却依旧拼命地自己动着,像在和自己较劲。
|EN|
Not long after, she suddenly leaned down, breathing heavily against my ear:
<<jynx>>…Change positions… I want you… from behind…<</jynx>>
She slid off me, turned around with her back to me, and lowered herself once again.
<br><br>
Her hands braced on my thighs as her hips moved wildly, rising and falling fast and deep. Each motion produced a loud, rhythmic slap. I lay beneath her, gripping her waist and thrusting upward to meet her.
<br><br>
She let out broken, breathless moans with every deep impact. Her body grew weaker, yet she continued moving desperately, as if fighting with herself.
<</lang>>
<<set _action = setup.t("站立后入式|Standing Doggy Style")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/zhanlihouru'>>
<br><br>
<<lang>>
我捏着她的下巴把她拉起来,让她扶住旁边的水泥柱子,我从后面再次插入。
<br><br>
Jynx刚站稳,我就从后面伸手,双手握住她的脖子,慢慢抬起她的下巴,让她的头完全仰起来。
<br><br>
我低头凝视她的双眼,居高临下!
<br><br>
她喉咙被我掐住,呼吸立刻变得困难,发出断断续续的呜咽。我却在这时从后面猛烈地撞击她,每一下都又深又重。
Jynx的身体在窒息和快感的双重刺激下剧烈颤抖,眼睛翻起一片水光,嘴巴张开却发不出完整的声音。
<br><br>
我掐着她的脖子,疯狂地在她体内进出,直到她全身绷紧,差点晕过去,才松开手。
|EN|
I gripped her chin and pulled her up, making her brace her hands against the nearby concrete pillar. I entered her from behind once again.
<br><br>
The moment she steadied herself, I reached around from behind and wrapped my hands around her throat, slowly tilting her head upward.
<br><br>
I looked down into her eyes from above.
<br><br>
With her throat held, her breathing immediately became labored, broken whimpers escaping her. At the same time, I thrust into her hard and deep from behind.
Jynx’s body trembled violently under the dual assault of restricted breath and overwhelming pleasure. Her eyes grew watery, her mouth opening but unable to form full sounds.
<br><br>
I kept my hands around her throat, driving into her fiercely, until her entire body tensed and she nearly passed out. Only then did I loosen my grip.
<</lang>>
<<set _action = setup.t("飞鸟式|Flying Bird")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/feiniao'>>
<br><br>
<<lang>>
我从后面又狠狠干了她一阵后,忽然停下动作,从后面抬起她的右腿,将她整条腿高高架在我的臂弯上。
<br><br>
她上半身被迫侧向我,几乎整个人悬空,只能靠着左腿勉强支撑,身体完全被我掌控。
<br><br>
我扶着肉棒,对准她已经红肿湿透的小穴,猛地整根插入。Jynx发出一声短促的哭喘,左手立刻死死抱住旁边的水泥柱子,指甲刮得柱子发出细微的摩擦声。
<br><br>
我开始用力抽插,每一下都撞得极深,因为她一条腿被抬高,小穴被撑得更加紧致,每一次进出都带出淫靡的水声。她整个人几乎被我吊着干,只能发出断断续续的哭喘,身体随着我的撞击前后晃动,胸口剧烈起伏,长发凌乱地贴在汗湿的脸颊上。
<<jynx>>……啊……太……太深了……<</jynx>>
她声音已经带上了哭腔,却无法逃脱这个姿势,只能任由我一次次深深贯穿。
|EN|
After thrusting hard into her from behind for a while, I suddenly stopped. I lifted her right leg high, hooking it over my arm.
<br><br>
Her upper body was forced to turn toward me, almost suspended in the air. She could only barely support herself on her left leg, her body completely under my control.
<br><br>
I guided myself to her slick entrance and thrust in deeply all at once. Jynx let out a short, choked cry, her left hand gripping the concrete pillar tightly, nails scraping against it.
<br><br>
I began pounding into her with force, each thrust reaching deep. With one leg raised high, the position made her incredibly sensitive. Every movement produced clear, wet sounds. She was practically hanging from me, only able to let out broken, tearful gasps. Her body rocked back and forth with my rhythm, chest heaving, long hair clinging messily to her sweat-dampened cheeks.
<<jynx>>…Ah… too… too deep…<</jynx>>
Her voice had turned into sobs, yet she couldn’t escape the position—she could only endure each deep thrust.
<</lang>>
<<set _action = setup.t("站立势|Standing Position")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/zhanli'>>
<br><br>
<<lang>>
又干了一阵,我把Jynx放下来,转过她的身体,让她正面抱住我,后背靠在粗糙的墙壁上。我托住她的一条右腿高高抬起,她只能单腿站立,另一条腿缠住我的腰,双手紧紧抱住我的脖子,像怕自己掉下去。
<br><br>
我把肉棒再次塞进她体内,以站立式的姿势用力抽插。Jynx被我压在墙上,每一次撞击都让她后背在墙上摩擦,发出低沉的闷响。她的胸口紧紧贴着我,乳尖因为剧烈的动作而不断摩擦我的皮肤。
<br><br>
她把脸埋进我颈窝,发出破碎又压抑的呻吟,声音越来越高,带着明显的哭意。
<<jynx>>……要……要坏掉了……<</jynx>>
她的腿在我腰上越缠越紧,身体却在剧烈颤抖,像随时会崩溃。
|EN|
After a while, I set Jynx down, turned her around, and had her face me with her back against the rough wall. I lifted her right leg high; she stood on one leg while the other wrapped tightly around my waist, her arms clinging to my neck as if afraid of falling.
<br><br>
I entered her again, thrusting hard in this standing position. Jynx was pinned against the wall; each powerful impact made her back rub against the concrete with low, dull thuds. Her chest pressed tightly against mine, moving with every motion.
<br><br>
She buried her face in the crook of my neck, letting out broken, suppressed moans that grew louder and carried a clear note of crying.
<<jynx>>…It’s… it’s going to break…<</jynx>>
Her leg tightened around my waist even more, but her whole body was trembling violently, as though she might collapse at any moment.
<</lang>>
<<set _action = setup.t("传教士|Missionary")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/chuanjiao'>>
<br><br>
<<lang>>
我把Jynx放下来,让她躺在冰冷的地面上。
<br><br>
我抓住她的双腿,把它们高高抬起压向她的胸口,几乎把她折成两半,以最深的传教士体位猛干她。她的小穴完全暴露在我面前,被我一次次凶狠地贯穿,每一下都顶到最深处。
<br><br>
Jynx的眼睛已经彻底失焦,嘴巴微张,不断发出快要哭出来的声音,泪水从眼角滑落。她双手无力地抓着地上的旧布,指节泛白,身体在我的撞击下不断痉挛。
|EN|
I laid Jynx down on the cold floor.
<br><br>
I grabbed her legs, lifting them high and pressing them toward her chest, folding her body nearly in half. In this deep position, I thrust into her with intense force. Her body was completely open to me, taking every powerful stroke to the deepest point.
<br><br>
Jynx’s eyes had lost focus, her mouth slightly open as broken, tearful sounds escaped her. Tears slid from the corners of her eyes. Her hands weakly clutched the old cloth on the ground, knuckles white, her body convulsing under my relentless rhythm.
<</lang>>
<<set _action = setup.t("射|Cum")>>
<<linkreplace _action>>
<br><br>
<<video 'changjing/2/qiaodong/cum'>>
<br><br>
<<lang>>
我低吼一声,在Jynx体内狠狠冲刺了最后十几下,然后猛地抽出,跪到她脸旁,握着肉棒把滚烫浓稠的精液全部射进了她张开的嘴里。
<br><br>
Jynx喉咙艰难地吞咽着,大部分精液都被她咽下,只有少量从嘴角溢出来,顺着下巴和脸颊滑落。她躺在地上大口喘息,胸口剧烈起伏,眼神一片茫然,脸上带着被彻底操坏后的潮红和泪痕。
<br><br>
她的头发散开,贴在肩头和脸侧,胸口起伏得厉害,脖颈和锁骨也起了一层细汗。我半跪下去,捏着她下巴让她看我。
<<you>>现在肯好好说话了吗?<</you>>
她闭了闭眼,终于不再逞强。
<<jynx>>……联络员躲在黑市外侧那排废弃库房后面。半边窗户被铁皮封住的小屋,里面还有条能通到排水渠的暗道。<</jynx>>
我把这几句话记下,又拍了拍她的脸。
<<you>>记住今天你能活着的原因。老实找个地方躲起来,等这场风波过去。<</you>>
她没有回嘴,只是躺在那儿轻轻点了一下头,像是连反驳的力气都没有了。
|EN|
I let out a low growl, thrusting hard into Jynx for the final dozen strokes, then pulled out and knelt beside her face, releasing thick, hot pulses into her open mouth.
<br><br>
Jynx swallowed with difficulty, taking most of it down, though some escaped the corner of her lips and trailed down her chin and cheek. She lay on the ground gasping for air, chest heaving, eyes dazed and unfocused, her face flushed and streaked with tears from being pushed to the limit.
<br><br>
Her hair was splayed out, clinging to her shoulders and cheeks. Sweat glistened on her neck and collarbone. I knelt halfway down, gripping her chin to make her look at me.
<<you>>Are you ready to talk properly now?<</you>>
She closed her eyes for a moment, finally giving up her defiance.
<<jynx>>…The contact is hiding in the abandoned warehouses behind the outer edge of the black market. The small shack with half its window sealed by iron sheets—there’s a hidden passage inside that leads to the drainage channel.<</jynx>>
I memorized the information, then patted her cheek.
<<you>>Remember why you’re still alive today. Go find a safe place to hide and stay low until this storm passes.<</you>>
She didn’t argue — just lay there and gave a faint nod, as if she no longer had the strength to resist.
<</lang>>
<<run setup.QuestManager.accept("q_jynx_findLianluoyuan")>>
<<set $player.yuwang to 0>>
<<set $characters.jynx.sexCount += 1>>
<<set $characters.jynx.location to "talkJynx">>
<<updateCaptionInfo>>
<br><br>
<<set _back = setup.t("离开仓库|Leave the Warehouse")>>
[[_back|StageMap]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<toggleclass "body" "home">>
<<set $characters.jynx.isDead = true>>
<<set $characters.jynx.location to "dead">>
<<lang>>
我没有松手,只把声音压得更低,逼她把联络员的事一件一件说清楚。
<br><br>
一开始,Jynx还想咬牙撑着。她说不知道,说自己只是帮人传过几句话,说她连那个联络员的真名都没听过。可她越说,呼吸越乱,眼神也越躲。她不是不知道,只是在盘算还能不能拖到我失去耐心。
<br><br>
我没有给她这个机会。
<br><br>
仓库里只剩下她断断续续的喘息声。到最后,她终于撑不住了,把联络员的藏身处说了出来:黑市外侧一排废弃库房后面,有个被铁皮封住半边窗的小屋,里面还有一条能通到排水渠的暗道。
<br><br>
我把这些话都记下,却没有因此放松。相反,我对Jynx彻底失去了信心。
<br><br>
她面对我的逼问能说出秘密,换成联邦的人也会是一样的结果。她知道得太多,也太会给自己找活路。只要她还活着,Yua、Saika,还有我,都可能被她下一次求生的本能拖进危险里。
<br><br>
所以我没有再问。
<br><br>
我从后面捂住她的嘴,干净利落地结束了这一切。等她彻底不再动弹,我才松开手,把她放倒在仓库的阴影里。
<br><br>
这不是愤怒,也不是报复。只是为了我们的安全,我必须灭口。
|EN|
I did not loosen my grip. I only lowered my voice and forced her to explain everything about the contact, piece by piece.
<br><br>
At first, Jynx still tried to hold out. She said she did not know, said she had only passed along a few messages, said she had never even heard the contact's real name. But the more she talked, the more uneven her breathing became, and the more her eyes tried to slip away. She did know. She was only calculating whether she could drag this out until I lost patience.
<br><br>
I did not give her that chance.
<br><br>
Soon the warehouse held nothing but her broken breathing. In the end, she could not take it anymore and gave up the contact's hiding place: behind a row of abandoned storage rooms on the outer edge of the black market, a small room with half its window sealed by sheet metal, and a hidden passage leading into the drainage channel.
<br><br>
I memorized every word, but I did not relax. Instead, I lost my faith in Jynx completely.
<br><br>
If she could give up a secret under my interrogation, she would do the same for the Federation. She knew too much, and she was too good at finding a way to keep herself alive. As long as she lived, Yua, Saika, and I could all be dragged into danger by her next survival instinct.
<br><br>
So I asked no more questions.
<br><br>
I covered her mouth from behind and ended it cleanly. Only after she stopped moving completely did I let go and lower her into the warehouse shadows.
<br><br>
This was not anger, and it was not revenge. For our safety, I had to silence her.
<</lang>>
<br><br>
<<run setup.QuestManager.accept("q_jynx_findLianluoyuan")>>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]<<toggleclass "body" "home">>
<<if $quests.active.includes("q_jynx_findLianluoyuan") and !$quests.completed.includes("q_jynx_findLianluoyuan")>>
<<set $characters.liaison.location to "hesexiaowu">>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/1.png']]</center>
<<lang>>
夜已经彻底压下来了。黑市外侧这一排废弃库房比白天看着还要死,风从铁皮缝里钻过去,刮出一阵一阵发空的响声。
<br><br>
Jynx交代的位置就在最里面。半边窗户被铁皮封死,门板发潮发黑,外头还堆着几只烂木箱,像是早就没人来过。
<br><br>
Saika脚步一下快了,几乎是抢在最前面就要过去。我伸手把她拦住,压低声音。
<<you>>别冲。门口有东西。<</you>>
她身子一绷,立刻停住。Yua也跟着把视线压了过去。
<br><br>
我抬手指给她们看。门框外沿拉着一根几乎看不见的透明鱼线,线头从门把一路牵到侧边的木箱后头,后面绑着两个用铁片、火药和玻璃碎片凑出来的土炸弹。只要有人硬推门,或者踩错位置把线绷紧,这东西就会直接在门口炸开。
<br><br>
这不是拦人的小把戏,而是里面的人准备的同归于尽的手段。
<br><br>
Saika脸色变了,嘴唇抿得很紧,像是想说什么,最后还是忍住了。
<br><br>
我蹲下去顺着线一点点摸,先把绷紧的那截慢慢卸掉,又把卡在门轴边上的引片拆开。整个过程里,门后一直没有动静。安静得太过头了,反而让人更难放松。
<br><br>
等最后一截线垂下来,我才朝她们摆了下手,自己贴到门边,慢慢把门推开一道缝。
<br><br>
|EN|
The night had fully settled over the city. The row of abandoned storehouses along the outer edge of the black market looked even deader than they had by day. Wind slipped through the seams in the sheet metal and scraped out one hollow rattle after another.
<br><br>
The place Jynx gave up was the one all the way at the end. Half the window had been sealed with sheet metal. The door was swollen black with damp, and a few rotten wooden crates were piled outside as if no one had come here in a long time.
<br><br>
Saika suddenly quickened her pace, almost pushing to the front before anyone else. I reached out, stopped her, and lowered my voice.
<<you>>Don't rush it. There's something at the door.<</you>>
She went rigid at once and stopped. Yua's gaze dropped there too.
<br><br>
I pointed it out to them. A nearly invisible length of clear fishing line had been strung along the outer edge of the doorframe. It ran from the handle all the way to the wooden crates off to the side, where two crude bombs made from scrap metal, powder, and broken glass had been tied in place. If someone shoved the door hard or pulled the line tight by stepping in the wrong spot, the whole thing would go off right there in the entrance.
<br><br>
This was not some petty trick to keep people out. It was the kind of setup made by someone inside who was ready to take everyone with him.
<br><br>
Saika's face changed. Her lips pressed into a hard line, like she wanted to say something and forced herself not to. I crouched down and followed the line little by little, easing the tension out of the stretched section first, then removing the trigger plate jammed beside the hinge. The whole time, nothing moved behind the door. The silence was so complete that it only made the place harder to relax in.
<br><br>
Only after the last strand dropped slack did I signal to them, flatten myself beside the frame, and slowly push the door open a crack.
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<br><br>
<<lang>>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/shoot.gif']]</center>
<br><br>
下一秒,一声闷得发钝的轻响突然从黑里钻出来。我本能的反应过来,这是子弹从消音器射出来的声音,身体先脑子一步反应,肩膀一沉,整个人已经闪到门后。子弹打在外头那截砖墙上,只崩下来一小片灰。
<br><br>
Saika终于忍不住了,朝里面压着声音开口。
<<saika>>别开枪,是我。Saika。<</saika>>
屋里停了两秒,才传出来一声很低的吸气。
<br><br>
我这才重新探头进去。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/2.png']]</center>
<br><br>
屋子不大,窗户封了一半,里面只亮着一盏快没油的小灯。空气里全是药味,混着血腥气,闷得人胸口发堵。床铺紧贴着墙,一个人瘫坐在上面,后背靠着墙,脸色灰得像纸。装了消音器的手枪就放在他右手边,枪口还斜对着门口,刚才那一枪显然就是他打出来的。
<br><br>
他看清Saika之后,原本绷死的肩膀明显松了一下。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>……抱歉。我没想到会是你们找过来。<</say>>
他的声音已经很哑了,说完这句还咳了两声,像每多吐一个字都在往外耗命。
<br><br>
可他还是先问了另外一个人。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Jynx呢?<</say>>
我看着他,直接回了一句。
<<you>>还活着。<</you>>
他听完以后,眼神停了停,随即扯出一点很淡的笑。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>那就行。她把我卖了,你还留了她一条命。算是……比我想得厚道。<</say>>
Saika往前走了两步,视线已经落到他腰腹那一片被血浸透的绷带上。
<<saika>>先别说这些了。能走吗?我带你出去。<</saika>>
他摇了下头,动作很轻,却一点余地都没留。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>走不了了。地下站暴露那天,我刚从城外送完情报回来,正好撞见 Rook 领着联邦的人进去查封。就是 Rook,他背叛组织了!!<</say>>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>我当时还没靠近就被外围的哨兵发现,我跟他们交了火,腿上、腰上都中弹了。要不是我熟那片地形,根本跑不掉。后来我联系了Jynx,让她把我转到这里躲了起来。<</say>>
他说到这里,抬手按了一下伤口,呼吸一下重了不少,额角也跟着绷起青筋。
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>现在城里查得太严,药也断了。我这伤已经重到没法行动,就算你们真把我抬出去,也走不远。更麻烦的是,我已经暴露了。带我一起出城,只会连累你们。为了我一个快死的人,不值得。<</say>>
Saika还想开口,被他先一步压住了。
<br><br>
联络员把Saika叫到身边,对着Saika一阵耳语。我从偶尔露出来的几个音里,大概能猜测出来,联络员把他们统一阵线在城外的据点与联络暗号交接给了Saika。
<br><br>
我与Yua交换了一个眼神,我们都更加清晰的意识到:眼前这个人,已经报着必死的决心了!
<br><br>
Saika咬着牙,把每个字都记了下来。Yua一直站在后面没插嘴,这时候才淡淡开口。
<<yua>>你既然已经认出 Rook 了,不会只是想把消息交给我们吧?<</yua>>
床上的人看了她一眼,像是终于等到有人把真正该说的话点出来。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>对。我想拿我自己做饵!<</say>>
屋里安静了一瞬。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Rook知道我没死,也知道我手里还攥着一些能让他升官发财的东西。只要我这边继续露出还活着的动静,他就一定会想办法过来灭口。到时候你们别管我能不能活,把他钉死在这儿。<</say>>
Saika盯着他,眼圈已经有点发红,还想要再说些什么,张了张嘴,却没发出声音。
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>我现在这条命,本来就活不了多久。与其烂在床上,不如换他一起下去。<</say>>
|EN|
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/shoot.gif']]</center>
<br><br>
The next second, a dull, muffled pop burst out of the dark. My body recognized it before my mind did: a suppressed shot. My shoulder dropped, and I had already slipped behind the doorframe before the thought fully formed. The round struck the brick outside and kicked off only a small spray of dust.
<br><br>
Saika finally could not hold back. She called into the room in a low, tight voice.
<<saika>>Don't shoot. It's me. Saika.<</saika>>
Only after two seconds did a quiet intake of breath come from inside. That was when I leaned in again.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/2.png']]</center>
<br><br>
The room was small, with half the window sealed over and only a nearly spent lamp still burning inside. The air was thick with medicine and the metallic smell of blood, enough to make the chest feel tight. A narrow bed had been shoved hard against the wall. A man was slumped there, his back braced to the boards behind him, his face gray as paper. A silenced handgun lay by his right hand, still angled toward the doorway. So that shot had been his.
<br><br>
The moment he recognized Saika, the dead stiffness in his shoulders eased a little.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>...Sorry. I didn't expect it to be you who found your way here.<</say>>
His voice was already hoarse, and he coughed twice after that one line, as if every extra word cost him blood.
<br><br>
But even then, the first thing he asked about was someone else.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Jynx?<</say>>
I looked straight at him and answered plainly.
<<you>>She's still alive.<</you>>
He held my gaze for a moment, then pulled out the faintest trace of a smile.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Then that's enough. She sold me out, and you still left her alive. That was... more mercy than I expected from you.<</say>>
Saika stepped forward, her eyes already fixed on the bandages at his waist and abdomen, soaked through with blood.
<<saika>>Forget that for now. Can you move? I can get you out.<</saika>>
He shook his head once. The motion was light, but it left no room at all.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>I can't. The day the underground station was exposed, I'd just come back from delivering intelligence outside the city. I ran straight into Rook leading Federation men in to seal the place. Rook. He betrayed the organization.<</say>>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>They spotted me before I could even get close. I exchanged fire with the outer sentries and took rounds in the leg and the waist. If I hadn't known that ground so well, I never would have made it out. After that I contacted Jynx and had her move me here to hide.<</say>>
As he said that, he pressed a hand against the wound. His breathing turned heavier at once, the vein at his temple standing out.
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>The city is locked down too tightly now, and the medicine is gone. I'm too badly hurt to move. Even if you did carry me out, I wouldn't get far. Worse than that, I'm exposed already. If you try to take me out with you, all I'll do is drag you down with me. I'm not worth that anymore.<</say>>
Saika tried to speak, but he cut her off first.
<br><br>
He called Saika closer and murmured into her ear. From the few words that came through clearly, I could piece together what he was handing over: the Front's out-of-city safehold, and the code phrase for making contact there.
<br><br>
Yua and I traded a look. Both of us understood the same thing more clearly than before: the man in front of us had already made up his mind to die here.
<br><br>
Saika clenched her teeth and forced herself to remember every word. Yua had stayed silent in the back until then. Only now did she speak.
<<yua>>If you've already identified Rook, then you can't just be handing us the information and leaving it at that.<</yua>>
The man on the bed looked at her, as if someone had finally said the one thing that actually mattered.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Right. I want to use myself as bait.<</say>>
The room went still for a beat.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Rook knows I'm not dead. He also knows I'm still holding things that could make him rich and move him up. If I keep showing signs that I'm alive, he'll come to silence me himself. When he does, don't worry about whether I live through it. Nail him here.<</say>>
Saika stared at him, her eyes already reddening. She looked like she wanted to say something, but no sound came out.
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>This life of mine was never going to last much longer anyway. Better to drag him down with me than rot away on this bed.<</say>>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<<lang>>
我靠在门边,看着他那张已经没有多少血色的脸,直接把话接了过去。
<<you>>你想让我们怎么配合?<</you>>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>只要把消息放出去,说我还活着,Rook就一定会来。但像Rook这样胆小的臭虫,至少会带一个行动队过来。我需要你们的火力支援,一个也别放跑他们。<</say>>
他喘了口气,抬起眼,一字一顿地看着我们三个。
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>帮我把这个叛徒宰了。<</say>>
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>还有一样东西,你拿着吧。是个战术背包,文明时代留下的科技结晶,原本能让我在战斗里快速切换装备。现在我这副样子,已经用不上它了。就当是你们肯帮我这一回的报酬。<</say>>
|EN|
Leaning against the doorframe, I looked at his nearly bloodless face and picked up the thread myself.
<<you>>How do you want us to play this?<</you>>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>If we put word out that I was still alive, Rook would come. But a coward like Rook won't come alone. He'll bring at least one action team with him. I need your fire support, and I need every one of them dead before they can get away.<</say>>
He drew a breath, lifted his eyes, and looked at all three of us one word at a time.
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>Kill that traitor for me.<</say>>
<br><br>
<<say 'liaison' setup.ImagePath+'npc/liaison/liaison.png'>>There's one more thing. Take it. It's a tactical pack, a piece of technology left over from the old world. It was built to let me swap equipment quickly in the middle of a fight. In my condition, I have no use for it anymore. Consider it payment for helping me with this.<</say>>
<</lang>>
<<run setup.QuestManager.complete("q_jynx_findLianluoyuan")>>
<<set _action = setup.t("接受任务|Accept the task")>>
<<link _action 'jishaRook1'>>
<<run setup.QuestManager.accept("q_kill_Pantu")>>
<</link>>
<</linkreplace>>
<</linkreplace>>
<<elseif $quests.active.includes("q_kill_Pantu") >>
<<lang>>
风轻轻吹过树梢,发出沙沙的声音。我与Yua已经按事先观察好的地形,在埋伏点准备好了。
<br><br>
现在,就等Rook上钩了!
|EN|
The breeze gently rustled through the treetops, creating a soft whispering sound. Yua and I had already taken our positions at the ambush point, based on the terrain we had scouted earlier.
<br><br>
Now, all that was left was to wait for Rook to take the bait!
<</lang>>
<<set _action = setup.t("开始行动(注意存档)|Take action(Remember to save)")>>
[[_action|jishaRook2]]
<<elseif $quests.active.includes("q_kill_Pantu") >>
<<lang>>
风轻轻吹过树梢,发出沙沙的声音。我与Yua已经按事先观察好的地形,在埋伏点准备好了。
<br><br>
现在,就等Rook上钩了!
|EN|
The breeze gently rustled through the treetops, creating a soft whispering sound. Yua and I had already taken our positions at the ambush point, based on the terrain we had scouted earlier.
<br><br>
Now, all that was left was to wait for Rook to take the bait!
<</lang>>
<<set _action = setup.t("开始行动(注意存档)|Take action(Remember to save)")>>
[[_action|jishaRook2]]
<<elseif $quests.active.includes("q_Saika_cheli") >>
<<lang>>
<center>[img[setup.ImagePath+'changjing/2/jisharook2/2.png']]</center>
<br><br>
叛徒Rook已经死了,现在最重要的是赶紧与Saika汇合。我捏了捏Yua的手,然后牵着她的手,往Saika约定的地点走去。
|EN|
<center>[img[setup.ImagePath+'changjing/2/jisharook2/2.png']]</center>
<br><br>
The traitor Rook is dead; the most important thing now is to reunite with Saika as soon as possible. I squeezed Yua's hand, then took hers and headed towards the place Saika had arranged.
<</lang>>
<br><br>
<<set _action = setup.t("与Saika汇合|Meet up with Saika")>>
<<link _action 'chucheng1'>>
<</link>>
<<elseif $quests.active.includes("q_kill_Billy") >>
<<lang>>
<center>[img[setup.ImagePath+'changjing/2/chucheng/4.png']]</center>
<br><br>
Billy现在是挡在我们前面的唯一障碍,干掉他,我们就能够逃出生天。
|EN|
<center>[img[setup.ImagePath+'changjing/2/chucheng/4.png']]</center>
<br><br>
The only obstacle standing in our way now is Billy. Take him out, and we can escape to freedom.
<</lang>>
<br><br>
<<set _action = setup.t("干掉他(注意存档)|Take him out(Remember to save)")>>
<<link _action 'jishaBillyFight1'>>
<</link>>
<<else>>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/0.png']]</center>
<<lang>>
夜色把黑市外侧这一排废弃库房压得更矮了些,铁皮棚顶在风里轻轻发颤,偶尔撞出几声又空又冷的响动。
<br><br>
最里面那间小屋半边窗户被铁皮封着,门板发潮发黑,外头歪堆着几只烂木箱和废弃农具,像是早就没人再来管过。
<br><br>
我站在远处扫了一眼,它和周围那些快塌完的破棚子没什么两样。但风吹过的时候,门缝和墙板之间偶尔还是会漏出一点细碎的摩擦声,也许又是某个有着特殊癖好的【大人物】的自留地,我还是不要过去惹麻烦比较好。
|EN|
The night pressed that whole row of abandoned storehouses outside the black market even lower against the ground. The sheet-metal roofs trembled lightly in the wind, knocking out empty, cold little sounds now and then.
<br><br>
The shack at the far end had half its window sealed with sheet metal. The door was damp and blackened, with rotten crates and discarded tools heaped outside, like no one had bothered with the place in ages.
<br><br>
At a glance, it looked no different from the other collapsing shacks around it. But whenever the wind passed through, a faint scrape still leaked from somewhere between the door and the wallboards. Maybe it was just some big shot's private hideout for tastes better left unmentioned. Better not to go over there and invite trouble.
<</lang>>
<<set _action = setup.t("离开|Leave")>>
[[_action|StageMap]]
<</if>>
<<toggleclass "body" "home">>
<<lang>>
联络员把话说完以后,屋里安静了一会儿。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/3.png']]</center>
<br><br>
Saika站在床边,眼睛还是红的。她没有再劝。她心里舍不得,可她也知道,劝不动了。这个人既然后面的事一件件交代的这么清楚,就说明他早就想好了。
<br><br>
我看着床上的联络员,心思也慢慢定了下来。
<br><br>
事情到了这一步,已经不是救不救人的问题了。我们既然接了这条线,就得把后面的事一起接下来。
<br><br>
Yua先开了口。
<<yua>>如果这次真让我们得手,联邦不会只当少了一个Rook。他们会知道,枢纽城里的统一阵线还没有垮,而且还有能力动手杀他们的人。到了那时候,城里只会查得更严,盯得更死。<</yua>>
我听完以后,没有立刻说话。
<br><br>
因为她说的,就是后面一定会发生的事。只要Rook死了,这件事就不可能悄无声息地过去。联邦会封路,会搜人,会把城里能翻的地方都翻一遍。到那时候,我们再想像现在这样在城里活动,就没那么容易了。
<br><br>
<<if !$characters.jynx.isDead>>
Yua说到这里,看了我一眼。
<<yua>>还有Jynx。你当时要是把她一起处理掉,我现在还能少担心一件事。她活着,我们随时都可能被人顺着这条线摸出来。<</yua>>
我没反驳。
<br><br>
因为这话我没法反驳。人是我放的。后面的麻烦,也只能一起算在我头上。
<br><br>
<</if>>
Yua把目光收了回去,继续说道。
<<yua>>所以,这次的事不管成不成,枢纽城都不能久留了。我们得先把出城的办法想出来。<</yua>>
这一次,她没有再像之前那样追着问我要不要因为Saika而把我们牵扯进来。走到现在,她已经默认了一件事:Saika是我们的人。既然是这样,后面的安排就得把她算进去。
<br><br>
Saika沉默了一会儿,才开口。
<<saika>>我这边也许有办法。黑哥一直想招揽我,这件事你们都知道。他手里有一批私货,是他这些年自己从枢纽城里搜刮出来的,不是公账上的东西,是他自己的。<</saika>>
她停了一下,又接着说了下去。
<<saika>>现在联邦查得越来越严,他一直想把那批东西弄到城外去。可那里面有不少机械和设备,路上要是出了问题,一般人处理不了。所以他一直想让我跟车走一趟。只要我点头,他多半愿意带我出去。<</saika>>
我听到这里,已经明白她想说什么了。
<<you>>你先答应他。先把出城的时间套出来。<</you>>
Saika点了点头。
<<saika>>只要时间定下来,我就有机会再要两个名额。到时候你跟Yua可以一起混进车队。<</saika>>
这确实是一条路。
<br><br>
而且是眼下最像样的一条路。
<br><br>
我在心里把前后的事连起来想了一遍,越想越觉得只能这么办。我们本来就不可能一直留在枢纽城。既然迟早要走,那不如把时间和地方都握在自己手里。
<br><br>
我抬头看着她们两个,把最后的安排说了出来。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/4.png']]</center>
<<you>>那就这么定。Saika先去答应黑哥,把他那批私货出城的时间弄清楚。时间一旦定下来,我们就在那一天动手。<</you>>
屋里没人插话,我就接着往下说。
<<you>>到时候我们先把Rook引出来。这是他的心病,他只要知道联络员还活着,多半会亲自过来处理。只要他来了,这件事就能做。<</you>>
我停了一下,把后面的想法说得更明白一些。
<<you>>我们与Rook的动静肯定不会小,枪声一响,城里肯定会乱。联邦会先顾着维持秩序、封锁路口,派巡逻队过来支援。越是这个时候,黑哥越急着把自己的东西送出去。事情一多,下面的人就顾不过来,盘查也可能会比平时更松。我们要尽快解决掉Rook,然后就趁这个时候,跟着他的车队一起出城。<</you>>
说完以后,我看了看Yua,又看了看Saika。
<br><br>
这不是一个好看的计划,也谈不上多稳妥。只是事情走到现在,我们已经没有多少路能选了。留在城里,迟早会出事。既然这样,不如把该做的事放在一起做完。杀了Rook,然后借着城里最乱的时候离开。这至少还是一条能走通的路。
<br><br>
Yua听完,轻轻点了下头。
<br><br>
Saika也没有再多说什么,只应了一声。
<br><br>
床上的联络员看着我们,脸上还是没什么血色,但我从他的眼神里能感觉到,他对这个计划也很满意。他的眼神里甚至还隐约透露出一沫振奋的情绪。
<br><br>
现在,我们要开始讨论伏击与出城的每一个细节,然后开始分头行动,为即将到来的战斗做准备。
|EN|
The liaison finished speaking, and the room fell quiet for a while.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/3.png']]</center>
<br><br>
Saika was still standing by the bed, her eyes red. She did not try to persuade him again. She could not bear it, but she also knew there was no point. If he had already handed over everything that clearly, then he had decided this long ago.
<br><br>
I looked at the liaison on the bed and slowly settled my own thoughts.
<br><br>
At this point, it was no longer a question of whether we could save him. Once we had taken hold of this line, we had to take everything that came after it too.
<br><br>
Yua spoke first.
<<yua>>If we really pull this off, the Federation won't just see it as losing one man named Rook. They'll know the Front inside Hub City is still alive, and still capable of killing their people. Once that happens, the city will only be searched harder and watched more closely.<</yua>>
I did not answer right away.
<br><br>
Because what she said was exactly what would happen next. Once Rook died, this could never pass quietly. The Federation would close roads, search people, and tear through every place in the city they could reach. After that, moving around the city the way we were doing now would not be easy anymore.
<br><br>
<<if !$characters.jynx.isDead>>
Yua glanced at me then.
<<yua>>And there's still Jynx. If you had dealt with her then, I'd have one less thing to worry about now. As long as she's alive, someone may still trace this whole line back to us.<</yua>>
I did not argue.
<br><br>
Because I had no answer to that. I was the one who let her live. Whatever trouble came after that would have to be counted on my head too.
<br><br>
<</if>>
Yua drew her gaze back and continued.
<<yua>>So whether this succeeds or fails, we can't stay in Hub City much longer. We need to figure out how to get out first.<</yua>>
This time she did not press me the way she had before about whether Saika was worth dragging us in deeper. By now she had already accepted one thing: Saika was one of us. If that was true, then every arrangement after this had to include her.
<br><br>
Saika stayed silent for a while before speaking.
<<saika>>I may have a way. Black Bro has been trying to recruit me for a long time. You both know that. He has a batch of private goods he scraped out of Hub City over the years. They are not on any public ledger. They're his own.<</saika>>
She paused, then went on.
<br><br>
<<saika>>The Federation is tightening inspections more and more, and he's been trying to move that batch outside the city. There's a lot of machinery and equipment in it. If something goes wrong on the road, ordinary people won't know how to handle it. That's why he has always wanted me to ride with the convoy at least once. If I say yes, he'll probably be willing to take me out.<</saika>>
By then I already understood what she meant.
<br><br>
<<you>>Agree to it first. Find out when the convoy is leaving.<</you>>
Saika nodded.
<<saika>>Once the time is fixed, I should have a chance to ask for two more slots. Then you and Yua can slip into the convoy with me.<</saika>>
That was a real path.
<br><br>
And for now, it was the only path that looked solid at all.
<br><br>
I connected everything in my head, front to back, and the more I thought about it, the more it felt like the only way forward. We were never going to stay in Hub City forever. If we had to leave sooner or later, then we might as well hold the time and place in our own hands.
<br><br>
I looked up at the two of them and laid out the final arrangement.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/hesexiaowu/4.png']]</center>
<br><br>
<<you>>Then it's settled. Saika goes to Black Bro first and gets the date for moving that private cargo out of the city. Once the day is fixed, that's when we make our move.<</you>>
No one interrupted, so I kept going.
<<you>>First we draw Rook out. This is his sore point. If he learns the liaison is still alive, he'll most likely come to handle it himself. Once he comes, the job becomes possible.<</you>>
I paused, then made the rest even clearer.
<br><br>
<<you>>What happens between us and Rook won't be small. Once the shooting starts, the city will erupt. The Federation will focus on keeping order first, locking down the roads, and sending patrols to reinforce the area. That's exactly when Black Bro will be most desperate to move his own cargo out. The more chaos there is, the less attention his people will get, and inspections may loosen compared to normal. We kill Rook as fast as we can, then use that confusion to leave the city with his convoy.<</you>>
When I finished, I looked at Yua, then at Saika.
<br><br>
It was not a pretty plan, and it was far from safe. But after everything that had happened, we did not have many roads left. If we stayed in the city, trouble would catch us sooner or later. In that case, it was better to finish everything that needed doing in one sweep. Kill Rook, then leave while the city was at its most chaotic. At least that was still a road that might carry us through.
<br><br>
Yua listened and gave a light nod.
<br><br>
Saika said nothing more either. She only gave a short answer of agreement.
<br><br>
The liaison watched us from the bed. His face was still drained of color, but from his eyes I could tell he approved of the plan. There was even a faint trace of something close to grim excitement in them.
<br><br>
Now all that remained was to go through every detail of the ambush and the escape, then split up and begin making ready for the fight ahead.
<</lang>>
<<set _action = setup.t("仓库|Warehouse")>>
<<link _action>><<set $cangkuReturn = passage()>><<goto "Cangku">><</link>>
<<set _action = setup.t("开始行动(注意存档)|Take action(Remember to save)")>>
[[_action|jishaRook2]]<<toggleclass "body" "home">>
<<lang>>
废弃库房外面是一小片荒地,地上全是枯草和碎石,旁边立着一扇锈得发绿的铁门。我半蹲在门后,把身体藏进去大半,只留出一点能看清外面的角度。前面那条路不宽,墙边还长着几棵细高的树,风一吹,树叶就轻轻响。要是有人从那边过来,我第一时间就能看见。
<br><br>
<center><<video 'changjing/2/zhunbei' 'mp4' '40%'>></center>
<br>
我把霰弹枪掰开,快速检查了一下枪膛。然后从口袋里摸出两发子弹,压进枪膛,又把枪合上。金属扣回去的时候,发出一声很轻的脆响。我低头看了看枪身,又用手指把保险摸了一遍。动作不快,但每一步都做得很仔细。
<br><br>
这种时候,手里这把枪比什么都实在。
<br><br>
检查完一切后,我扫了一眼Yua的位置,她已经比出了准备的手势,Rook的人已经走进了最佳伏击点。
|EN|
Outside the abandoned storehouse was a small stretch of wasteland, covered in dead grass and loose gravel. Beside it stood an iron gate, rusted green with age. I crouched behind it, keeping most of my body hidden and leaving myself only a narrow angle to watch the road ahead. The path in front was not wide. A few thin trees stood along the wall, and when the wind moved through them, the leaves gave off a soft rustle. If anyone came from that direction, I would see them at once.
<br><br>
<center><<video 'changjing/2/zhunbei' 'mp4' '40%'>></center>
<br>
I broke open the shotgun and gave the chamber a quick check. Then I pulled two shells from my pocket, pushed them in, and snapped the gun shut again. The metal latch made a light click as it locked. I lowered my head, looked over the gun once more, and ran a finger over the safety. I did not move fast, but I checked every step carefully.
<br><br>
At a time like this, the gun in my hands was the most reliable thing there was.
<br><br>
When I finished, I glanced toward Yua. She had already given the hand signal that she was ready. Rook's people had stepped into the best part of the kill zone.
<</lang>>
<br><br>
<<set _action = setup.t("准备战斗!|Prepare For Battle!")>>
[[_action|jishaRook2Fight1]]<<set setup.Battle.startFixedEncounter(["PaxingzheSS","PaxingzheSS","DubinquanSS","DubinquanSS"], { level: 2, type: "normal", victoryPassage: "ShengLi_02_jishaRook2_1" })>>
<<goto "ZhandouTest">><h2>Victory!</h2>
<center><<video 'changjing/2/zhandou1' 'mp4' '35%'>></center>
<br><br>
<<lang>>
第一批扑上来的人很快就倒下了。
<br><br>
荒地上横着两具爬行者的尸体,那两条变异犬也已经不动了。空气里全是刚开过枪的火药味,耳边还残着枪响后的嗡鸣。我没有站起来,只是借着铁门和尸体的遮挡,快步把能用的东西先收走。
<br><br>
这种时候不能磨蹭。第一批人没按时回去,后面的人很快就会跟上来。我们现在多拿到一发子弹,等会儿都可能多一分把握。
|EN|
The first group that rushed in went down fast.
<br><br>
Two Crawler corpses lay across the wasteland, and the two Zombie Dobermans were not moving anymore either. The air was full of fresh gunpowder, and my ears were still ringing from the shots. I did not stand up. Using the iron gate and the bodies for cover, I quickly gathered anything useful before moving back.
<br><br>
This was no time to waste. If the first group failed to report back on time, the next ones would not be far behind. Every extra round we got now might matter in the next fight.
<</lang>>
<br><br>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo_jishaRook2_1>>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "food drink",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.1
}`
>>
<</link>>
<<diaoluo 'jishaRook2_afterfight1'>><<toggleclass "body" "home">>
<<lang>>
我把顺手摸到的东西全塞进包里,刚把身子缩回铁门后面,就看见Yua又比了个手势。
<br><br>
第二批人也上来了。
<br><br>
这次来的人更多,脚步也更乱。他们显然已经发现前面的人出了事,推进的速度慢了不少,可也正因为这样,他们离伏击点更近了。
<br><br>
我重新握紧枪,压低身体,把呼吸一点点放缓。
|EN|
I stuffed everything I had grabbed into my pack. Just as I pulled myself back behind the iron gate, I saw Yua give another signal.
<br><br>
The second wave was coming too.
<br><br>
There were more of them this time, and their footsteps were less organized. They had obviously realized that something had happened to the people ahead of them, so they were moving much more slowly. But because of that, they were also stepping even deeper into the ambush.
<br><br>
I tightened my grip on the gun again, lowered my body, and slowly eased my breathing back under control.
<</lang>>
<br><br>
<<set _action = setup.t("第二批来了|The Second Wave Is Here")>>
[[_action|jishaRook2Fight2]]<<set setup.Battle.startFixedEncounter(["XiduSS","Liumang","Liumang","DubinquanSS"], { level: 2, type: "normal", victoryPassage: "ShengLi_02_jishaRook2_2" })>>
<<goto "ZhandouTest">><h2>Victory!</h2>
<center><<video 'changjing/2/zhandou2' 'mp4' '35%'>></center>
<br><br>
<<lang>>
第二批人也倒下了。
<br><br>
枪声刚停,我就听见前面传来一阵更急的脚步声。那不是刚才那种乱冲乱撞的动静,而是有人终于压不住了,准备亲自上来看看这里到底出了什么事。
<br><br>
我没有抬头,只是先把近处能拿的东西抓进包里。到了这一步,每多一秒准备,后面都可能少吃一发子弹。
|EN|
The second group went down too.
<br><br>
The moment the gunfire stopped, I heard a new burst of hurried footsteps coming from ahead. It was not the same chaotic rushing as before. Someone had finally lost patience and was coming up in person to see what had happened here.
<br><br>
I did not look up. I just grabbed whatever was close and useful and shoved it into my pack first. At this point, every extra second of preparation might mean one less bullet hitting us later.
<</lang>>
<br><br>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo_jishaRook2_2>>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 2,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 0.8
}`
`{
tags: "food drink",
max: 1,
chance: 0.2
}`
`{
tags: "medical",
min: 0,
max: 1,
chance: 0.1
}`
>>
<</link>>
<<diaoluo 'jishaRook2_afterfight2'>><<toggleclass "body" "home">>
<<lang>>
我刚把最后一件东西塞进包里,Yua那边就传来了新的手势。
<br><br>
这一次,她没有再提醒我有多少人,也没有提醒我从哪边来。
<br><br>
我顺着她示意的方向看过去,终于看见了那个一直躲在后面的人。
<br><br>
是 Rook。
<br><br>
他没有像前两批人那样直接往前冲,身边只跟着一个呕吐者,自己却站得更后,像是还想先拿别人来探路。可惜到这时候,他已经没有退回去的机会了。
|EN|
I had just stuffed the last item into my pack when Yua gave me another signal.
<br><br>
This time, she did not bother telling me how many were coming or which side they were coming from.
<br><br>
I followed the direction she pointed and finally saw the man who had been hanging back this whole time.
<br><br>
It was Rook.
<br><br>
He did not rush forward like the first two groups had. He had only a single Spewer with him, while he himself stayed farther back, as if he still wanted someone else to test the way first. Too bad for him, by then he had already lost the chance to turn around and leave.
<</lang>>
<br><br>
<<set _action = setup.t("Rook来了|Rook Is Here")>>
[[_action|jishaRook2Fight3]]
<<set _action = setup.t("撤离|Evacuate")>>
[[_action|StageMap]]<<set setup.Battle.startFixedEncounter(["OutuSS","Rook"], { level: 2, type: "normal", victoryPassage: "ShengLi_02_jishaRook2_3" })>>
<<goto "ZhandouTest">><h2>Victory!</h2>
<center><<video 'changjing/2/zhandou3' 'mp4' '35%'>></center>
<br><br>
<<lang>>
最后倒下的人就是 Rook。
<br><br>
我亲眼看见他中枪时身子猛地一歪,整个人往后踉跄了两步,像是直到那一刻都没想明白,自己怎么会真走到前面来挨这一枪。
<br><br>
他身边那个呕吐者先一步扑倒在地,Rook还想抬手,还想往后退,可动作已经慢了。下一枪过去,他整个人彻底栽了下去,再也没有起来。
<br><br>
空气一下安静了不少,只剩下耳边还没散干净的枪响余音。我盯着他看了两秒,终于确定,联络员要我们除掉的人,已经死在这里了。
|EN|
The last one to fall was Rook.
<br><br>
I saw his body jerk sideways the moment the bullet hit him. He staggered back two steps, as if even then he still could not understand how he had ended up close enough to take that shot himself.
<br><br>
The Spewer beside him hit the ground first. Rook still tried to lift a hand. He still tried to fall back. But he was already too slow. The next shot hit, and he went down for good. He never got up again.
<br><br>
The air turned much quieter at once, leaving only the fading echo of gunfire in my ears. I kept my eyes on him for two seconds and finally made sure of it: the man the liaison wanted dead had died here.
<</lang>>
<br><br>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo_jishaRook2_3>>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
max: 1,
chance: 0.5
}`
`{
tags: "tool",
max: 1,
chance: 0.3
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
max: 3,
chance: 0.5
}`
>>
<</link>>
<<diaoluo 'jishaRook2_afterfight3'>><<toggleclass "body" "home">>
<<lang>>
<<run setup.QuestManager.complete("q_kill_Pantu")>>
我蹲下身,先把Rook身上还能用的东西摸了出来。
<br><br>
手指碰到他已经发凉的衣服时,我心里反而没什么波动。正在我摸尸的时候,突然轰隆的爆炸声响起,我下意识的匍匐到地上,寻着爆炸的声音望过去,是联络员小屋的方向。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/jisharook2/1.png']]</center>
<br><br>
他门前的诡雷还是被触发了,只是Rook走了埋伏的另一端。
<br><br>
想到这里,我又回头撇了一眼Rook的尸体,这个人把联络员和地下站卖给了联邦,又一路躲在别人后面,最后也还是死在了同样的地方。
<br><br>
我抬头看了一眼Yua的方向,她已经从藏身处出来,一边看着爆炸的方向,一边向我走来。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/jisharook2/2.png']]</center>
<br><br>
Yua握住我的手,将我从地上拉起来。眼神真勾勾的看着我,脸上神情落寞。
<<yua>>我们也算是帮他完成了遗愿,对吧?<</yua>>
<<you>>嗯,他也是一名伟大的战士!<</you>>
<<you>>走吧,接下来按我们原来的计划,趁着城里彻底乱起来之前,尽快与Saika汇合,然后离开这里。<</you>>
我捏了捏Yua的手,然后牵着她的手,往Saika约定的地点走去。
<br><br>
按理说,在这样一个混乱的时代,我俩早已见惯了生死,但最近的一些事还是给了我不小的触动。
<br><br>
我们到底应该怎样活着?又能做些什么?这个念头从我心底升起后,就立刻占满了我的整个脑海,再也挥之不去。
|EN|
I crouched down and first searched Rook's body for anything still worth taking.
<br><br>
When my fingers touched his clothes, already turning cold, I felt almost nothing. Then, while I was still looting the body, a sudden explosion thundered out. I dropped flat to the ground on instinct and looked toward the sound. It had come from the direction of the liaison's shack.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/jisharook2/1.png']]</center>
<br><br>
The trip mine at his door had still gone off after all. It was just that Rook had approached from the other side of the ambush.
<br><br>
Thinking that, I glanced back at Rook's corpse. He had sold the liaison and the underground station out to the Federation, hidden behind other people all the way here, and in the end he had still died in the same place.
<br><br>
I looked up toward Yua. She had already come out from cover. As she watched the direction of the blast, she walked toward me.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/jisharook2/2.png']]</center>
<br><br>
Yua took my hand and pulled me up from the ground. She looked straight at me, her expression subdued.
<<yua>>We helped him fulfill his last wish, didn't we?<</yua>>
<<you>>Yeah. He was a great fighter too.<</you>>
<<you>>Come on. We stick to the original plan. Before the whole city falls into complete chaos, we meet up with Saika as quickly as we can, then we leave this place.<</you>>
I gave Yua's hand a light squeeze, then held on to it as we headed for the place Saika had arranged.
<br><br>
By all rights, in an age this chaotic, the two of us should already have seen more than enough life and death. But what had happened lately still shook me more than I wanted to admit.
<br><br>
How exactly were we supposed to live? And what could we still do? The moment that thought rose in me, it filled my whole mind and would not leave.
<</lang>>
<<set _action = setup.t("与Saika汇合|Meet up with Saika")>>
<<link _action 'chucheng1'>>
<<run setup.QuestManager.accept("q_Saika_cheli")>>
<</link>><<toggleclass "body" "home">>
<<lang>>
<<run setup.QuestManager.complete("q_Saika_cheli")>>
我和Yua赶到和Saika约好的汇合地点时,天已经彻底黑了。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/1.png']]</center>
<br><br>
这一路上,城里果然已经乱了起来。远处不时还能听见零零散散的喊声,几条街外还有人在跑。路边的店铺早早的关了门,巷里挤着不少神色慌张的人。有的人抱着东西往家里赶,有的人干脆蹲在墙边不敢动。治安队的人也比平时多了不少,几辆车从街口急匆匆地开过去,车灯一晃一晃地扫过路面,让本来就紧张的气氛更添几分肃杀。
<br><br>
Saika比我们先到。
<br><br>
她站在墙边,帽檐压得很低,见到我和Yua过来,先抬头看了我们一眼。直到确认我们两个都没事,她肩膀才稍微松了一点。
<br><br>
我没耽搁,把废弃库房那边的事简短地跟她说了一遍。从我们设伏,到Rook带人上钩,再到联络员最后引爆了门口的诡雷,我都说得很快,很直接。
<br><br>
Saika听到Rook死了的时候,只是轻轻点了下头,脸上没什么变化。可等我说到联络员最后还是没能活下来时,我能明显感觉到,她情绪一瞬间产生了巨大的波动。
<br><br>
不过Saika并没有立刻开口,只是低着头站了一会儿。
<br><br>
过了几秒,她才重新抬起头。
<<saika>>我知道了。<</saika>>
她声音很轻,但没有继续陷在情绪里。她只是闭了闭眼,然后很快把自己的情绪压了下去。
<<saika>>我这边也出了点变化。城里的骚乱把黑哥也惊动了。原本他打算把那批私货一次全送出去,现在不敢了,临时改成先送最重要的一车。<</saika>>
她顿了顿,继续往下说。
<<saika>>好消息是,我已经把你和Yua塞进去了。我跟黑哥说,你们两个是我临时找来的护卫,路上可以帮着看车。黑哥答应了。<</saika>>
<<you>>那坏消息呢?<</you>>
<<saika>>坏消息是,他并没有完全信我。他派了自己的贴身护卫之一--比利,一起跟车。名义上是押运,实际上是盯着我。也盯着你们。<</saika>>
Yua皱了下眉。
<<yua>>比利这个人?<</yua>>
<<saika>>这个人很难对付。块头大,手也狠。最麻烦的是,他心思也很阴沉并且对黑哥忠心耿耿。<</saika>>
我点了点头,心里已经明白了。
<br><br>
这就是说,我们没法在城里动手。只要比利还在黑哥的视线里,我们就不能出一点差错。最稳妥的办法,只能是先跟着车队出城,等离开了黑哥的势力范围,我们再找机会把比利解决掉。
<<you>>也行。先出城。<</you>>
我看着她,把后面的安排说清楚。
<<you>>等车出了城,我们再找机会处理比利。先把你送到统一阵线在城外的据点。等你安全了,我和Yua再商量后面去哪里。<</you>>
Saika点了点头,没有异议。
<br><br>
事情走到这一步,已经没什么好多说的了。该失去的人已经失去了,该做的事也只能一件一件往下做。我们三个人都很清楚,今晚只要错一步,后面等着我们的就是无尽的深渊。
<br><br>
Saika带着我们往车库那边走去。
<br><br>
路上她把细节又交代了一遍。我一边听,一边把后面可能出问题的地方都过了一遍。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/2.png']]</center>
<br><br>
等我们走进车库,看见那辆准备出城的货车时,我也第一次见到了比利。
<br><br>
那一眼过去,我心里就沉了一下。
<br><br>
这人站在车边,个子比普通人高出一截,肩膀很宽,胳膊粗得吓人,衣服下面全是实打实的肌肉。他什么都没做,光是站在那里,就已经给人很强的压迫感。那不是单纯块头大的感觉,而是整个人都散发出一股凛冽的杀机。
<br><br>
他转头看了我们一眼,目光先落在Saika身上,又慢慢扫到我和Yua脸上。那一眼没有停太久,可我还是本能地绷紧了些。
比利只问了一句。
<<say '比利' setup.ImagePath+'npc/billy/touxiang.png'>>就是他们?<</say>>
<<saika>>嗯,我带的人。路上多两个人,出点事也好处理。<</saika>>
比利看了我一眼,又看了Yua一眼,最后才淡淡嗯了一声。
|EN|
By the time Yua and I reached the rendezvous point Saika had chosen, night had fully fallen.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/1.png']]</center>
<br><br>
By the time we got there, the city was already coming apart. Shouts still rose now and then in the distance, and people were running through streets a few blocks away. The roadside shops had all pulled their shutters down, and the alleys were packed with frightened faces. Some people were clutching whatever they could carry and hurrying home. Others had simply crouched against the walls and stopped moving. There were more security patrols than usual too. Several vehicles tore past the intersection, their headlights sweeping across the pavement in hard flashes and making the whole atmosphere feel even tenser.
<br><br>
Saika had arrived before us.
<br><br>
She was standing by the wall with the brim of her cap pulled low. When she saw Yua and me coming, she lifted her head and looked us over once. Only after making sure the two of us were unharmed did her shoulders ease a little.
<br><br>
I did not waste time. I gave her the short version of what had happened at the abandoned warehouse -- how we set the ambush, how Rook took the bait and walked straight into it, and how the liaison finally set off the booby trap at the entrance. I kept it quick and clean.
<br><br>
When Saika heard that Rook was dead, she gave only the faintest nod, with almost no change in her expression. But when I told her the liaison still had not made it out alive, I felt the shock strike her in an instant.
<br><br>
She did not speak right away. She only lowered her head and stood there for a moment.
<br><br>
A few seconds later, she raised it again.
<<saika>>I understand.<</saika>>
Her voice was quiet, but she did not let herself sink into it. She closed her eyes for a beat, then forced the feeling back down.
<<saika>>Things changed on my side too. The unrest in the city rattled Black Bro. He was planning to move all of that private cargo out in one run, but he lost his nerve. At the last minute, he changed it to sending out only the most important truck first.<</saika>>
She paused, then continued.
<<saika>>The good news is that I got you and Yua onto it. I told Black Bro you were two guards I brought in at the last minute, that you could help watch the truck on the road. He bought it.<</saika>>
<<you>>And the bad news?<</you>>
<<saika>>The bad news is that he still doesn't fully trust me. He assigned one of his personal bodyguards -- Billy -- to ride with us. Officially, he's there to escort the cargo. In reality, he's there to watch me. And both of you.<</saika>>
Yua frowned.
<<yua>>Billy?<</yua>>
<<saika>>He's trouble. Big, ruthless, and worse than that, careful. And he's absolutely loyal to Black Bro.<</saika>>
I nodded. That was enough.
<br><br>
That meant we could not make a move inside the city. As long as Billy was still within Black Bro's sight, we could not afford even one mistake. The safest option was to leave the city with the convoy first, then deal with Billy once we were outside Black Bro's reach.
<<you>>Fine. We leave the city first.<</you>>
I looked at her and laid out the rest of it.
<<you>>Once the truck is outside the city, we find a chance to deal with Billy. First we get you to the United Front safehold beyond the walls. Once you're safe, Yua and I can decide where to go after that.<</you>>
Saika gave a small nod. She had no objection.
<br><br>
By then, there was not much left to say. The people we were going to lose were already gone, and the things still left to do could only be handled one by one. All three of us understood the same thing clearly: if we made even one wrong step tonight, what waited for us after that would be an endless abyss.
<br><br>
Saika led us toward the garage.
<br><br>
On the way there, she went over the details again. I listened while running through every point where the plan could still break apart.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/2.png']]</center>
<br><br>
That was when I saw Billy for the first time.
<br><br>
He was standing beside the truck meant to carry the cargo out of the city.
<br><br>
The moment I looked at him, my stomach sank.
<br><br>
He was taller than most men by a full head, with broad shoulders and arms thick enough to look dangerous even at rest. He didn't have to do anything. Just standing there was enough. It wasn't only his size. The whole man carried a sharp, cold killing intent.
<br><br>
He turned and looked us over once, his gaze landing on Saika first before sliding slowly toward Yua and me. It did not linger long, but my body still tightened on instinct.
Billy asked only one question.
<<say 'Billy' setup.ImagePath+'npc/billy/touxiang.png'>>These the ones?<</say>>
<<saika>>Yeah. They're with me. Two extra hands on the road make things easier if anything happens.<</saika>>
Billy looked at me, then at Yua, and finally answered with a flat grunt.
<</lang>>
<br><br>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<<lang>>
整个出城的过程比想象中还顺利。Saika上了驾驶位,比利坐在副驾驶,我和Yua坐到后排。货车发动后,一路往城门开去。路上虽然比平时多了不少巡逻和盘查,但正因为城里乱了,很多人都在忙着维持秩序,反而没人有心思去深查这种带着正式通行证的车。
<br><br>
等车到了城门口,守卫照例检查了证件。
<br><br>
可等他们看见副驾驶上的比利后,态度立刻就变了。领头的城卫把证件递回来,又朝车里敬了个礼,随后就挥手放行了。
<br><br>
铁门在前面缓缓打开的时候,我和Yua对视了一眼。这一关,算是过去了。
<br><br>
货车出了城,路也渐渐颠了起来。城里的灯火被甩在身后,前面的夜色越来越深。可我心里并没有轻松下来。
<br><br>
因为比利根本没给我们一点机会。
<br><br>
他看起来像个只会动拳头的粗人,可真坐上这辆车以后,我才发现他心细得很。他一边盯着前面路况,一边留意Saika开车的动作,时不时还会借着后视镜看我和Yua。
<br><br>
那种看法很直接。
<br><br>
不是随便扫一眼,而是在确认我们每个人的手放在哪里,身体有没有动,眼神在往哪边偏。
<br><br>
他是一直在防着我们的。
<br><br>
我和Yua都没有轻举妄动。可时间拖得越久,对我们越不利。真等到了黑哥安排好的卸货点,我们会更麻烦。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/3.png']]</center>
<br><br>
又过了一段路,Yua忽然偏了偏身子。
<br><br>
那动作不大,像只是想换个坐姿。可我一下就知道,她准备动手了。
<br><br>
我心里一紧,还没来得及拦她,她手里的匕首已经滑了出来。
<br><br>
下一秒,比利就发现了。
<br><br>
他反应快得惊人,几乎是头都没怎么回,手已经猛地往后一挥。Yua手里的匕首当场被打飞,刀刃撞在车厢上,发出一声刺耳的响。紧接着,他整个人半转过来,一只手直接掐住了Yua的喉咙。
<<yua>>……!!!<</yua>>
她后背一下撞在车厢上,脸色立刻变了。
<br><br>
我来不及多想,扑上去就抓住了比利的胳膊,想把他从Yua身上扯开。可车厢太窄了,我根本施展不开,手脚都被座位和车壁卡着。比利却像是早就习惯了这种距离下的硬碰硬,胳膊一点点收紧,另一只手还反过来顶住了我。
<br><br>
那一瞬间,我能清楚感觉到他身上的力气有多夸张。
<br><br>
我咬着牙继续发力,可身体就是压不出更好的角度。车厢里没有给我腾挪的空间,我能用上的只有最直接的蛮力。可偏偏在这种地方,正好是比利最占便宜。
<br><br>
Yua的呼吸越来越急,Saika在前面也急了。
<<saika>>都给我坐稳了!<</saika>>
|EN|
The whole escape went even more smoothly than expected. Saika took the driver's seat, Billy sat up front beside her, and Yua and I climbed into the back. Once the truck started up, it rolled straight toward the city gate. There were more patrols and checkpoints than usual along the road, but with the city already in chaos, most of them were too busy holding order together to look too closely at a truck carrying proper papers.
<br><br>
At the gate, the guards checked the documents like normal.
<br><br>
But the moment they saw Billy in the passenger seat, their attitude changed. The lead guard handed the papers back, gave a quick salute toward the cab, and waved us through.
<br><br>
When the iron gate creaked open ahead of us, Yua and I exchanged a glance. That hurdle, at least, was behind us.
<br><br>
Once the truck was outside the city, the road grew rougher. The lights of Hub City fell farther and farther behind us, and the darkness ahead only deepened. But I did not relax.
<br><br>
Because Billy never gave us even the smallest opening.
<br><br>
He looked like the kind of brute who only knew how to swing his fists, but once we were actually in that truck, I realized how careful he really was. He kept one eye on the road ahead, watched Saika's hands on the wheel, and every so often checked Yua and me through the rearview mirror.
<br><br>
The way he watched us was direct.
<br><br>
Not a casual glance -- he was checking where each of our hands rested, whether our bodies had shifted, where our eyes drifted.
<br><br>
He had been guarding against us the whole time.
<br><br>
Neither Yua nor I moved first. But the longer we waited, the worse it became for us. If we let the truck reach Black Bro's unloading point, things would only get harder.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/3.png']]</center>
<br><br>
After a little while, Yua shifted her body slightly.
<br><br>
The movement was small, the kind that might have looked like nothing more than a change in posture. But I knew immediately what it meant. She was about to move.
<br><br>
My chest tightened. Before I could stop her, the knife had already slipped into her hand.
<br><br>
Billy noticed at once.
<br><br>
His reaction was terrifyingly fast. He barely even turned his head before his arm snapped backward. The knife was knocked straight out of Yua's hand and slammed into the metal wall of the truck with a shrill crack. In the same instant, he twisted halfway around and clamped one hand around Yua's throat.
<<yua>>...!<</yua>>
Her back hit the truck wall hard, and the color drained from her face at once.
<br><br>
I didn't have time to think. I lunged in and grabbed Billy's arm, trying to tear him away from her. But the truck was too cramped. I had no room to move, my arms and legs jammed against the seat and the metal wall. Billy, on the other hand, moved like someone who had spent his whole life fighting in spaces exactly like this. His grip tightened inch by inch while his other arm kept driving me back.
<br><br>
In that instant, I felt just how absurd his strength really was.
<br><br>
I gritted my teeth and pushed harder, but I still could not force my body into a better angle. There was simply no room in the cab. All I had to work with was raw force, and in a place like this, that was exactly where Billy held the advantage.
<br><br>
Yua's breathing was getting worse by the second. Saika had heard enough up front.
<<saika>>Brace yourselves!<</saika>>
<</lang>>
<<set _action = setup.t("继续|Continue")>>
<<linkreplace _action>>
<<lang>>
她这句话刚出口,方向盘就猛地往旁边一打。
<br><br>
<center><<video 'changjing/2/chucheng/fanche'>></center>
<br><br>
整个货车一下失去了平衡。
<br><br>
我只觉得视野猛地一歪,紧接着就是一阵天旋地转。车身重重侧翻出去,铁皮摩擦地面的声音刺得人耳朵发麻,车里的东西也全乱了,箱子、碎片、金属碰撞声混成一团,在车厢里来回乱撞。
<br><br>
等一切终于停下来时,我脑子里还有些发晕。
<br><br>
但因为痛觉的丧失还是让我快速的恢复了意识并第一时间从翻倒的车里快速爬了出来。
<br><br>
外面的夜风一吹,我人也清醒了不少。我先把Yua从车里拉出来,又转身去拽Saika。她额头破了点皮,脸上也沾了灰,但人还清醒。等她也跌跌撞撞地出来后,我刚想回头看一眼车里的动静,背后突然一股巨力撞了上来。
<br><br>
是比利。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/4.png']]</center>
<br><br>
他也从车里爬出来了,而且动作比我想得还快。
<br><br>
我整个人被他一脚踹得飞了出去。
<br><br>
我身体还在半空的时候,意识反而先冷静下来了。我顺着那股力把身子扭开,施展了一计鸽子翻身,落地时卸掉了大半冲劲,只往后滑出去一段,便重新站稳了。
<br><br>
脚一落地,我就抬头看了过去。比利已经彻底从车边走了出来。
<br><br>
刚才在车厢里,我被空间卡住,很多动作都出不来。可现在不一样了。
<br><br>
眼前这片空地够大,脚下也够开阔。
<br><br>
我活动了一下肩膀,慢慢吐出一口气,向着比利的方向走了过去。
<br><br>
刚才在车里没打完的那一场,现在该接着做个了结了。
|EN|
The instant she shouted that, she yanked the wheel hard to the side.
<br><br>
The truck lurched out of balance at once.
<br><br>
My vision lurched, then the world spun. The truck slammed over onto its side, metal scraping against the ground with a sound sharp enough to split the ears. Everything in the cab came loose at once -- crates, fragments, bits of metal -- crashing and ricocheting in every direction.
<br><br>
By the time it finally stopped, my head was still swimming.
<br><br>
But the numbness to pain let me recover fast. I crawled out of the overturned truck almost at once.
<br><br>
The night wind hit my face and cleared my head a little more. I dragged Yua out first, then turned back for Saika. She had split the skin on her forehead and her face was smeared with dust, but she was still conscious. After she staggered clear, I had just started to turn and check the truck again when a huge force slammed into my back.
<br><br>
It was Billy.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/4.png']]</center>
<br><br>
He had crawled out too, and faster than I had expected.
<br><br>
One kick from him sent me flying.
<br><br>
While I was still in the air, my mind went strangely calm. I twisted with the force, bled off most of the impact on landing, skidded a short distance backward, and got my footing under me again.
<br><br>
The moment my boots hit the ground, I looked up. Billy had already stepped fully clear of the truck.
<br><br>
Inside the cab, the cramped space had strangled half my movements. Out here, that was no longer true.
<br><br>
The ground in front of us was open, and for the first time there was room to move.
<br><br>
I rolled one shoulder, let out a slow breath, and started walking toward him.
<br><br>
The fight we had left unfinished inside that truck was about to be settled here.
<</lang>>
<<set _action = setup.t("干掉他(注意存档)|Take him out(Remember to save)")>>
<<link _action 'jishaBillyFight1'>>
<<run setup.QuestManager.accept("q_kill_Billy")>>
<</link>>
<<set _action = setup.t("撤离|Evacuate")>>
<<link _action 'StageMap'>>
<<run setup.QuestManager.accept("q_kill_Billy")>>
<</link>>
<</linkreplace>>
<</linkreplace>><<set setup.Battle.startFixedEncounter(["Billy"], { level: 2, type: "normal", victoryPassage: "ShengLi_02_jishaBilly_1" })>>
<<goto "ZhandouTest">><h2>Victory!</h2>
<center><<video 'changjing/2/chucheng/killbilly'>></center>
<<lang>>
比利终于倒下了。
<br><br>
最后那一下命中之后,他高大的身子猛地晃了一下,像是还想硬撑着再往前扑,可腿上的力气已经散了。他踉跄了两步,重重跪倒在地,随后整个人向前栽了下去,再也没有起来。
<br><br>
我站在原地盯了他几秒,确认他确实已经不动了,才慢慢把绷紧的肩膀放松下来。
<br><br>
这一关,算是过去了。
|EN|
Billy finally went down.
<br><br>
When the last hit landed, his huge body lurched hard. It looked as if he still wanted to force himself forward one more time, but the strength had already gone out of his legs. He staggered two steps, crashed down to one knee, and then pitched forward onto the ground for good.
<br><br>
I kept my eyes on him for several seconds, only easing the tension in my shoulders once I was sure he was no longer moving.
<br><br>
That obstacle was finished at last.
<</lang>>
<br><br>
<<set _action = setup.t("搜刮|Scavenge")>>
<<link _action Diaoluo_jishaBilly_1>>
<<generateLoot $battle.maxEnemyLevel
`{
tags: "material",
min: 1,
max: 3,
chance: 1.0
}`
`{
tags: "mainhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "offhand",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "body",
min: 1,
max: 1,
chance: 1.0
}`
`{
tags: "tool",
max: 1,
chance: 0.5
}`
`{
tags: "food drink",
max: 2,
chance: 0.3
}`
`{
tags: "medical",
min: 1,
max: 3,
chance: 1
}`
>>
<</link>>
<<diaoluo 'jishaBilly_afterfight1'>><<toggleclass "body" "home">>
<<run setup.QuestManager.complete("q_kill_Billy")>>
<<lang>>
比利倒下之后,Yua与Saika也快步来到我身边。
<br><br>
我们三个站在原地,谁都没有立刻开口,可胸口那口一直绷着的气,总算一点点松了下来。到了这一刻,我们才终于能真正相信,自己已经成功逃离了枢纽城。
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/5.png']]</center>
<br><br>
Yua一边笑骂着我逞强,一边伸手在我身上到处检查,她知道我无法感觉到疼痛,每次战斗后都会对我例行检查,生怕我身上藏着什么暗伤。
<br><br>
下一秒,她的动作猛地停住,脸上的紧绷很快变成了另一种慌乱。
<br><br>
我低头顺着她的视线看去,这才发现我的腹部划伤了个大口子。衣服早就被血浸透,伤口直到现在还在不停往外渗,连裤腰和手掌上都沾满了黏腻的暗红。
<br><br>
我居然一点都没察觉到。
<br><br>
我张了张嘴,刚想笑笑说没什么大问题,让她别这么紧张,眼前却猛地黑了一下。耳边Yua和Saika的声音像是一下子被拉远了,地面也在视野里歪斜起来。
<br><br>
失血过多带来的眩晕终于在这一刻狠狠干翻了我。
<br><br>
我连一句完整的话都没来得及说出口,就直直地晕了过去。
|EN|
After Billy went down, Yua and Saika hurried over to my side.
<br><br>
For a few seconds, none of us spoke. We just stood there while the breath that had been locked tight in our chests slowly eased out. Only then did it truly sink in that we had finally escaped Hub City.
<br><br>
<center>[img[setup.ImagePath+'changjing/2/chucheng/5.png']]</center>
<br><br>
Still half laughing as she cursed me for acting tough, Yua started checking me over from head to toe. Yua knew I could not feel pain. After every fight, she always made a habit of inspecting me, terrified that I might be carrying some hidden wound without realizing it.
<br><br>
Then her hands stopped cold, and the tension on her face twisted instantly into panic.
<br><br>
I lowered my eyes and followed her stare. Only then did I realize there was a huge gash across my abdomen. My clothes had already been soaked through, and the wound was still steadily spilling blood, smearing sticky dark red across my waistband and palms.
<br><br>
And somehow, I had not noticed a thing.
<br><br>
I opened my mouth, about to laugh it off and tell her it was nothing serious, not to look so worried, when my vision suddenly dimmed. Yua and Saika's voices seemed to be dragged far away, and the ground tilted sideways in front of me.
<br><br>
The dizziness from blood loss finally crashed into me all at once.
<br><br>
I did not even manage to finish a full sentence before everything went black.
<</lang>>
<br><br>
<<set _action = setup.t("失去意识|Black Out")>>
[[_action|yiyuan]]<<toggleclass "body" "home">>
<<set $characters["saika"].location to "Home">>
<center>[img[setup.ImagePath+'changjing/3/yiyuan/1.png']]</center>
<br><br>
<<lang>>
当我再次恢复意识的时候,最先感觉到的是一阵沉重的眩晕,像脑子里被人塞满了浸水的棉絮,连睁眼这个动作都变得异常费力。
<br><br>
我勉强把眼皮撑开一条缝,映入视野的是一张突然凑得很近的脸。
<br><br>
那是个很年轻的姑娘,皮肤白得发亮,五官柔和得近乎精致,眼睛又大又圆,睫毛长得像是细细刷了一层墨。乌黑的长发梳成两条垂在胸前的麻花辫,额前散着轻薄的刘海,把她整个人衬得干净又温软。她穿着浅色的医护服,胸前挂着听诊器,一只手还捏着听诊头,像是刚刚一直在贴着我胸口听动静。
<br><br>
看见我终于睁眼,她先是愣了一下,随即整张脸都亮了起来。
<br><br>
<<say '姑娘' setup.ImagePath+'npc/arina/touxiang.png'>>呀,你终于醒了。<</say>>
待下次更新
|EN|
When consciousness finally returned, the first thing I felt was a thick, pounding dizziness, as if my skull had been stuffed full of waterlogged cotton. Even opening my eyes felt strangely difficult.
<br><br>
I forced my eyelids apart just enough to see, and the first thing that came into focus was a face leaning suddenly very close to mine.
<br><br>
She was a very young woman, fair-skinned and almost luminous, with delicate features and large round eyes framed by long lashes. Her glossy black hair had been braided into two plaits that hung over her chest, and a soft fringe fell across her forehead, giving her a clean, gentle look. She wore a pale medical uniform with a stethoscope around her neck, and she was still holding the chest piece in one hand, as if she had been listening to my heartbeat only a second ago.
<br><br>
The moment she saw my eyes open, she froze for an instant, and then her whole face lit up.
<br><br>
<<say 'young woman' setup.ImagePath+'npc/arina/touxiang.png'>>Ah, you're finally awake.<</say>>
Wait for the next update
<</lang>>
[[Home|Home]]