Merge remote-tracking branch 'origin/feature/demo脚本调整' into 7.11春优化

This commit is contained in:
2026-07-15 19:55:59 +08:00
22 changed files with 2740 additions and 677 deletions
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 46a75965fd79d134a9991940bff15c67
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 59b07b44134af0f4996049e466943131
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 40
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -49,7 +49,7 @@ namespace AibisDream
private void LateUpdate()
{
_handler.Handle(_curSyncToken, IsInputAvailable);
_handler.Handle(_curSyncToken, IsInputAvailable, IsPointerOverUI);
}
public void SwitchAdvanceHandler(AdvanceModeEnum advanceMode)
@@ -77,12 +77,18 @@ namespace AibisDream
&& _curSyncToken.state != LineSyncState.Advanced;
}
private bool IsPointerOverUI()
{
return UIManager.Instance != null
&& UIManager.Instance.IsPointerOverUI(Input.mousePosition);
}
#endregion
}
public interface ILineAdvanceHandler
{
void Handle(LineSyncToken token, Func<bool> isAvailable);
void Handle(LineSyncToken token, Func<bool> isAvailable, Func<bool> isPointerOverUI);
static ILineAdvanceHandler Create(bool autoMode)
{
@@ -92,9 +98,12 @@ namespace AibisDream
public class DefaultAdvanceHandler : ILineAdvanceHandler
{
public void Handle(LineSyncToken token, Func<bool> isAvailable)
public void Handle(LineSyncToken token, Func<bool> isAvailable, Func<bool> isPointerOverUI)
{
if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space))
var pointerAdvance = Input.GetMouseButtonDown(0) && !isPointerOverUI();
var keyboardAdvance = Input.GetKeyDown(KeyCode.Space);
if (pointerAdvance || keyboardAdvance)
{
if (isAvailable())
{
@@ -122,7 +131,7 @@ namespace AibisDream
public class AutoAdvanceHandler : ILineAdvanceHandler
{
public void Handle(LineSyncToken token, Func<bool> isAvailable)
public void Handle(LineSyncToken token, Func<bool> isAvailable, Func<bool> isPointerOverUI)
{
if (!isAvailable())
{
@@ -136,7 +145,10 @@ namespace AibisDream
return;
}
if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space))
var pointerAdvance = Input.GetMouseButtonDown(0) && !isPointerOverUI();
var keyboardAdvance = Input.GetKeyDown(KeyCode.Space);
if (pointerAdvance || keyboardAdvance)
{
HandleInput(token);
}
@@ -161,7 +173,7 @@ namespace AibisDream
public class QuickAdvanceHandler : ILineAdvanceHandler
{
public void Handle(LineSyncToken token, Func<bool> isAvailable)
public void Handle(LineSyncToken token, Func<bool> isAvailable, Func<bool> isPointerOverUI)
{
if (!isAvailable())
{
@@ -180,4 +192,4 @@ namespace AibisDream
}
}
}
}
}
+2 -9
View File
@@ -1,4 +1,3 @@
using AibisDream.Framework;
using TMPro;
using UnityEngine;
@@ -9,17 +8,11 @@ namespace AibisDream.Kit
private void Start()
{
GetComponent<TMP_Text>().text = $"Ver.{Application.version}";
EnumEventSystem.Global.Register<UIEventEnum, bool>(UIEventEnum.RecordingModeChanged, OnRecordingModeChanged);
}
private void OnDestroy()
public void SetVisible(bool visible)
{
EnumEventSystem.Global.UnRegister<UIEventEnum, bool>(UIEventEnum.RecordingModeChanged, OnRecordingModeChanged);
}
private void OnRecordingModeChanged(bool isRecording)
{
gameObject.SetActive(!isRecording);
gameObject.SetActive(visible);
}
}
}
-5
View File
@@ -98,9 +98,4 @@ namespace AibisDream
PauseMenuAmbEnter,
PauseMenuAmbExit,
}
public enum UIEventEnum
{
RecordingModeChanged
}
}
+10 -12
View File
@@ -15,6 +15,7 @@ namespace AibisDream
private Image _cursor;
private Object _interactionCursorOwner;
private CursorStateEnum _interactionCursorState;
private bool _cursorVisible = true;
private void Start()
{
@@ -25,29 +26,26 @@ namespace AibisDream
#else
InitCursor();
#endif
EnumEventSystem.Global.Register<UIEventEnum, bool>(UIEventEnum.RecordingModeChanged, OnRecordingModeChanged);
}
private void OnDestroy()
{
EnumEventSystem.Global.UnRegister<UIEventEnum, bool>(UIEventEnum.RecordingModeChanged, OnRecordingModeChanged);
}
private void OnRecordingModeChanged(bool isRecording)
public void SetCursorVisible(bool visible)
{
#if UNITY_ANDROID || UNITY_IOS
return;
#endif
_cursorVisible = visible;
ApplyCursorVisibility();
}
private void ApplyCursorVisibility()
{
if (_cursor != null)
{
_cursor.gameObject.SetActive(!isRecording);
_cursor.gameObject.SetActive(_cursorVisible);
}
if (isRecording)
{
Cursor.visible = false;
}
Cursor.visible = false;
}
private void InitCursor()
@@ -12,8 +12,16 @@ namespace AibisDream
[SerializeField] private OptionView optionView;
[SerializeField] private TMP_Text widthEstimation;
private CanvasGroup _canvasGroup;
public override void OnSingletonInit()
{
_canvasGroup = GetComponent<CanvasGroup>();
if (_canvasGroup == null)
{
_canvasGroup = gameObject.AddComponent<CanvasGroup>();
}
EnumEventSystem.Global.Register<DialogEventEnum, LineInfo>(DialogEventEnum.LineStart, AddDialogueLine);
EnumEventSystem.Global.Register<DialogEventEnum, LineInfo>(DialogEventEnum.OptionSelected, AddDialogueLine);
EnumEventSystem.Global.Register(EventEnum.NextYarn, CleanDialogHistory);
@@ -55,6 +63,19 @@ namespace AibisDream
gameObject.SetActive(true);
}
/// <summary>
/// 仅隐藏对话视觉,不影响打字机、推进与选项交互。
/// </summary>
public void SetDialogVisualVisible(bool visible)
{
if (_canvasGroup == null)
{
_canvasGroup = GetComponent<CanvasGroup>();
}
_canvasGroup.alpha = visible ? 1f : 0f;
}
public void HideDialog()
{
lineView.HideDialog();
-8
View File
@@ -19,14 +19,6 @@ namespace AibisDream.UI
demoTimer.totalTimeInSeconds = time;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.I))
{
variableBar.gameObject.SetActive(!variableBar.gameObject.activeSelf);
}
}
public void Show()
{
gameObject.SetActive(true);
+18
View File
@@ -10,12 +10,15 @@ namespace AibisDream.UI
private BoolButton _autoBtn;
private BoolButton _ffwdBtn;
private Transform _topBar;
private bool _topBarVisible = true;
#region
public void Show()
{
gameObject.SetActive(true);
ApplyTopBarVisibility();
}
public void Hide()
@@ -23,10 +26,25 @@ namespace AibisDream.UI
gameObject.SetActive(false);
}
public void SetTopBarVisible(bool visible)
{
_topBarVisible = visible;
ApplyTopBarVisibility();
}
private void ApplyTopBarVisibility()
{
if (_topBar != null)
{
_topBar.gameObject.SetActive(_topBarVisible);
}
}
#endregion
private void Awake()
{
_topBar = transform.Find("Top Bar");
RegisterButton();
}
@@ -0,0 +1,85 @@
using AibisDream.Kit;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI
{
/// <summary>
/// 录制 HUD 侧边栏:Ctrl+R 唤出,四个开关独立控制光标、版本号、Top Bar、对话视觉。
/// 挂在 Info Panel 下,与 VariableBar 同类调试 UI,不使用独立 Canvas。
/// UI 层级在 Persistence 场景中配置,不在运行时生成。
/// </summary>
public class RecordingToolPanel : MonoBehaviour
{
[SerializeField] private Toggle showCursorToggle;
[SerializeField] private Toggle showVersionToggle;
[SerializeField] private Toggle showTopBarToggle;
[SerializeField] private Toggle showDialogToggle;
private bool _showCursor = true;
private bool _showVersion = true;
private bool _showTopBar = true;
private bool _showDialog = true;
private VerText _verText;
private void Awake()
{
_verText = FindObjectOfType<VerText>(true);
gameObject.SetActive(false);
BindToggles();
ApplyAll();
}
public void TogglePanel()
{
gameObject.SetActive(!gameObject.activeSelf);
}
private void BindToggles()
{
showCursorToggle.isOn = _showCursor;
showVersionToggle.isOn = _showVersion;
showTopBarToggle.isOn = _showTopBar;
showDialogToggle.isOn = _showDialog;
showCursorToggle.onValueChanged.AddListener(OnShowCursorChanged);
showVersionToggle.onValueChanged.AddListener(OnShowVersionChanged);
showTopBarToggle.onValueChanged.AddListener(OnShowTopBarChanged);
showDialogToggle.onValueChanged.AddListener(OnShowDialogChanged);
}
private void OnShowCursorChanged(bool visible)
{
_showCursor = visible;
CursorManager.Instance?.SetCursorVisible(visible);
}
private void OnShowVersionChanged(bool visible)
{
_showVersion = visible;
_verText?.SetVisible(visible);
}
private void OnShowTopBarChanged(bool visible)
{
_showTopBar = visible;
UIManager.Instance?.GetPanel<MainPanel>()?.SetTopBarVisible(visible);
}
private void OnShowDialogChanged(bool visible)
{
_showDialog = visible;
DialogUIManager.Instance?.SetDialogVisualVisible(visible);
}
private void ApplyAll()
{
OnShowCursorChanged(_showCursor);
OnShowVersionChanged(_showVersion);
OnShowTopBarChanged(_showTopBar);
OnShowDialogChanged(_showDialog);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7f3e2a1b9c4d5e6f8a0b1c2d3e4f5a6b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+32 -16
View File
@@ -23,7 +23,7 @@ namespace AibisDream
public RectTransform DialogCanvas { get; private set; }
private GraphicRaycaster _raycaster;
private bool _isRecordingMode;
private RecordingToolPanel _recordingToolPanel;
#endregion
@@ -52,24 +52,10 @@ namespace AibisDream
}
}
// 不明白为什么要用这个,不过留着也好
if (Input.GetKeyDown(KeyCode.C))
{
if (GetPanel<MainPanel>().IsOpen)
{
HidePanel<MainPanel>();
}
else
{
ShowPanel<MainPanel>();
}
}
if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
&& Input.GetKeyDown(KeyCode.R))
{
_isRecordingMode = !_isRecordingMode;
EnumEventSystem.Global.Send(UIEventEnum.RecordingModeChanged, _isRecordingMode);
_recordingToolPanel?.TogglePanel();
}
}
@@ -81,6 +67,15 @@ namespace AibisDream
DialogCanvas = transform.Find("Dialog Canvas").GetComponent<RectTransform>();
// 获取 GraphicRaycaster
_raycaster = Canvas.GetComponent<GraphicRaycaster>();
_recordingToolPanel = GetComponentInChildren<RecordingToolPanel>(true);
if (_recordingToolPanel == null)
{
var infoPanel = transform.Find("UI Canvas/Info Panel");
if (infoPanel != null)
{
_recordingToolPanel = infoPanel.GetComponentInChildren<RecordingToolPanel>(true);
}
}
// 获取Panel
var panels = Canvas.GetComponentsInChildren<IUIPanel>(true);
_panelPool = new Dictionary<Type, IUIPanel>();
@@ -242,6 +237,27 @@ namespace AibisDream
return RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, screenPos, UICamera, out localPoint);
}
/// <summary>
/// 检查屏幕坐标是否命中主 UI Canvas 上会接收射线的元素。
/// 对话 Canvas 不在此范围内,因此点击对话画面本身仍可正常推进。
/// </summary>
public bool IsPointerOverUI(Vector2 screenPosition)
{
if (EventSystem.current == null || _raycaster == null)
{
return false;
}
var eventData = new PointerEventData(EventSystem.current)
{
position = screenPosition
};
var results = new List<RaycastResult>();
_raycaster.Raycast(eventData, results);
return results.Count > 0;
}
/// <summary>
/// 检查鼠标是否在指定标记的 UI 区域上
/// </summary>
+30 -17
View File
@@ -143,11 +143,7 @@ me: 当然了。<waitfor=0.2><br>又有什么问题真的能被解决呢? #lin
//<<fade_in_actor 酒吧调酒妹 0.5>>
<<wait 1>>
ql: 你做噩梦,对吧?<waitfor=0.2><br>关于*海*的噩梦。 #line:085324b
me: 海已经不存在了。 #line:06ee33f
ql: 当然,<waitfor=0.1>我们都知道。<waitfor=0.2><br>但你还是做了那个梦。 #line:0fd45b4
ql: 你做噩梦,对吧?<waitfor=0.2><br>反复的、相同的梦。 #line:085324b
<<change_actor_state_async 侧头 酒吧医生>>
@@ -248,30 +244,47 @@ ql: 已经坏了的,<waitfor=0.1>就让它坏了吧。<waitfor=0.2><br>就当
ql: 我们不都是这样吗?<waitfor=0.2><br>我们生来就是要坏的。 #line:0e6330a
ql: 对着伤口哭泣,<waitfor=0.1><br>只怕会让伤口锈蚀更严重吧。 #line:0b79003
me: 你是想说,<waitfor=0.1><br>我们有些本就“生来如此”的<br>损伤,<waitfor=0.1>对吧? #line:0f1b08a
me: 也就是你说的,<waitfor=0.1><br>我们的原型里的,<waitfor=0.1>天然的"问题"。 #line:002672e
me: 但是…<waitfor=0.1>这个天然的"问题"<waitfor=0.1><br>恰恰就是我们被制造的意义,<waitfor=0.1><br>不是么? #line:0b2cf39
me: 如果把我们的"意义"都解决了,<waitfor=0.1>那… #line:0bb801d
me: 我被制造出来是解决问题的,不是为了做情绪建设的。
ql: 那会怎样 #line:04e455e
// me: 你是想说,<waitfor=0.1><br>我们有些本就“生来如此”的<br>损伤,<waitfor=0.1>对吧 #line:0f1b08a
// me: 也就是你说的,<waitfor=0.1><br>我们的原型里的,<waitfor=0.1>天然的"问题"。 #line:002672e
// me: 但是…<waitfor=0.1>这个天然的"问题"<waitfor=0.1><br>恰恰就是我们被制造的意义,<waitfor=0.1><br>不是么? #line:0b2cf39
// me: 如果把我们的"意义"都解决了,<waitfor=0.1>那… #line:0bb801d
ql: 医生,你有注意过梦里的门吗?
me: 门?
ql: 梦里所有的一切都是原型的投射,对吧?你应该比我更清楚。
ql: 梦见考试,梦见裸体,梦见掉牙齿、飞行、被追赶……
ql: 但有一件事情是特殊的,也就是…
ql: 无法被打开的门。
me: 无法被…打开?为什么呢?
ql: 我不知道,每个人的情况都不一样。
ql: 我知道的是…既然它是门,那就一定有打开的方法。即便是梦,也有基本的规则。不是吗?
me: 那么,你的那扇门是怎么打开的呢?
<<hide_dialog>>
<<wait 1>>
me: 我不知道。 #line:08ee8ce
ql: 我不知道。 #line:08ee8ce
<<hide_dialog>>
<<wait 1>>
<<change_actor_state "1Smile" 酒吧调酒妹>>
<<wait 1>>
ql: 其实…<waitfor=0.1>无论你喝下这杯酒,<waitfor=0.1><br>或者决定不喝…… #line:0d8f0c2
ql: 也都是由"原型"驱动的。<waitfor=0.2><br>也就是说,<waitfor=0.1>都是主脑安排的。 #line:029136f
ql: 既然主脑自有它的安排。<waitfor=0.2><br>为什么要替它操心呢? #line:0d9b99d
ql: 况且…<waitfor=0.1>每个机体生来就注定要被回收,<waitfor=0.1>难道就代表着,<waitfor=0.1><br>它们应该立刻被回收吗? #line:0cd87b4
ql: 你越是操心,<waitfor=0.1>越是发现自己什么也做不了,<waitfor=0.1><br>反而坏的更严重了。 #line:011a8dd
// ql: 其实…<waitfor=0.1>无论你喝下这杯酒,<waitfor=0.1><br>或者决定不喝…… #line:0d8f0c2
// ql: 也都是由"原型"驱动的。<waitfor=0.2><br>也就是说,<waitfor=0.1>都是主脑安排的。 #line:029136f
// ql: 既然主脑自有它的安排。<waitfor=0.2><br>为什么要替它操心呢? #line:0d9b99d
// ql: 况且…<waitfor=0.1>每个机体生来就注定要被回收,<waitfor=0.1>难道就代表着,<waitfor=0.1><br>它们应该立刻被回收吗? #line:0cd87b4
// ql: 你越是操心,<waitfor=0.1>越是发现自己什么也做不了,<waitfor=0.1><br>反而坏的更严重了。 #line:011a8dd
<i>酒保自己拿起你的酒轻轻抿了一口。</i> #line:00f3b9d
<<change_actor_state "1Smile" 酒吧调酒妹>>
<<wait 1>>
ql: 但我想你也许知道。
ql: 打开它来看看吧。<waitfor=0.2><br>我想它没有你想的那么严重。 #line:0614acb
me: 我记得你说过那是我的情绪。 #line:0c5cd0d
@@ -317,7 +330,7 @@ ql: 倒吊人。你拿反了。 #line:09d2ede
->旋转 #line:0b58edf
<<rotate_tarot "inverted">>
// 【你把牌转过来。】 #line:057bfa8
<i>这下看明白了。<br>这是一个倒吊着的机体,<br>脚踝上拴着一根绳。</i> #line:0b490db
<i>这下看明白了。<br>这是一个倒吊着的机体,脚踝上拴着一根绳。</i> #line:0b490db
me: 它代表什么? #line:00abb4f
ql: 我不知道。我说过,我也不是很懂。 #line:0d2875b
+123 -75
View File
@@ -1,11 +1,13 @@
title: Start
tags: start
position: -500,-3252
---
<<detour InitParams>>
<<jump 开场>>
===
title: 开场
position: -499,-3056
tags: linear
---
<<fade_out 0>>
@@ -61,6 +63,7 @@ jj: 那你要快点长大喔~小麦克斯韦妖。 #line:01c4501
title: 教室苏醒
tags: linear
position: -498,-2867
---
<<stop_music event:/Amb/amb_beachsample fade>>
<<set_global_param dream1Stage 0.6>>
@@ -93,11 +96,13 @@ boy: 你睡糊涂啦?<waitfor=0.2>快来吧! #line:023c325
me: 喂!<waitfor=0.2>等下…… #line:0724d32
<<play_music event:/Music/mus_dream1>>
<<set_global_param dream1Stage 1>>
me: 这里是…
<<jump 教室>>
===
title: 教室
tags: hub
position: -116,-2585
---
<<set_global_param Vol_general 1>>
<<detour 展示教室_Func>>
@@ -116,12 +121,14 @@ tags: hub
===
title: 教室_入场
position: -343,-2413
tags: detour
---
<i>你站在空荡荡的教室里。<waitfor=0.3 ><br>教室里空无一人,<waitfor=0.2>只有轻轻飘动的窗帘发出的扑梭声。</i> #line:0557c68
===
title: 观察
position: 248,-2205
tags: detour
---
->窗外 #line:07f8e7b
@@ -143,6 +150,7 @@ tags: detour
===
title: 趴回去再睡会
position: 686,-2284
tags: detour
---
me: …… #line:00ab4f3
@@ -160,6 +168,7 @@ me: …… #line:00ab4f3
title: 走廊
tags: hub
position: -406,-2079
---
<<set_global_param dream1scene 1>>
<<once if $ppStage>=1 && $gameStage==0>>
@@ -184,6 +193,7 @@ tags: hub
===
title: 离开_打量
position: -292,-1526
tags: detour
---
<<once>>
@@ -192,6 +202,7 @@ tags: detour
===
title: 走廊_入场
position: -178,-1779
tags: detour
---
<<if $ppStage!=2>>
@@ -200,6 +211,7 @@ tags: detour
===
title: 走廊窗外
position: 95,-1702
tags: detour
---
<<show_sprite "D1S走廊-小镇">>
@@ -208,6 +220,7 @@ tags: detour
===
title: 楼梯间
position: -624,-1439
tags: hub
---
<<set_global_param dream1scene 2>>
@@ -223,12 +236,14 @@ tags: hub
===
title: 楼梯间_入场
position: -349,-1016
tags: detour
---
<i>你站在满是灰尘的楼梯间,<br>上面似乎就是天台。</i> #line:0c3fb6b
===
title: 女孩
position: 279,-1844
tags: detour
---
<<detour 女孩_入场>>
@@ -239,6 +254,7 @@ tags: detour
===
title: 女孩_入场
position: 486,-1785
tags: detour
---
<<detour 展示佩佩_Func>>
@@ -252,6 +268,7 @@ tags: detour
===
title: 女孩_交谈
position: 386,-1600
tags: detour
---
<<if $ppStage==0>>
@@ -264,6 +281,7 @@ tags: detour
===
title: 女孩_初次交谈
position: 192,-1347
tags: detour
---
<<once>>
@@ -285,6 +303,7 @@ tags: detour
===
title: 女孩_等待矢车菊
position: 469,-1360
tags: detour
---
me: 这是…<waitfor=0.1>你画的? #line:03c63c9
@@ -300,6 +319,7 @@ girl: 矢车菊蓝…<waitfor=0.1>总还是差一点啊。 #line:07f05d1
===
title: 递矢车菊
position: 585,-1135
tags: detour
---
<<show_sprite "递出矢车菊夕阳">>
@@ -322,13 +342,15 @@ girl: 不过,<waitfor=0.1>门后面你要找的东西,<waitfor=0.1><br>我
===
title: 女孩_已完成
position: 743,-1403
tags: detour
---
girl: <i>女孩一边哼歌一边继续涂画着,<br>没有听到你的声音。</i> #line:01ef1ed
//girl: <i>女孩一边哼歌一边继续涂画着,<br>没有听到你的声音。</i> #line:01ef1ed
===
title: 天台
tags: hub
position: -1093,-1245
---
<<set_global_param dream1scene 3>>
<<detour 天台_入场>>
@@ -346,8 +368,16 @@ tags: hub
<<jump 天台>>
->上去<<if $gameStage==2>> #line:0a361e8
<<detour 上去_画门_描述>>
->进入天文台 #line:04adc32
//你进门又走上一圈旋转楼梯,进入了一个昏暗圆形的房间。 #line:0c07ecc
->推门 #line:04adc32
<<set $gameStage =3>>
boy: 喂!
<i>男孩忽然把头回过来看着你。</i>
boy: 这发生过很多次了,你知道的吧。
<i>他的表情变了,你忽然看不清他的脸。</i>
boy: 你不应该再回来了。
<<wait 1>>
<i>你把不再看他,把手放在门把手上。</i>
//【TODO】——SFX:吱呀
<<hide_sprite>>
<<jump 天文台>>
->下楼<<if $gameStage<2>> #line:0bf285a #deps:gameStage
@@ -357,6 +387,7 @@ tags: hub
===
title: 天台_入场
position: -1617,-829
tags: detour
---
<<if $gameStage == 0>>
@@ -393,6 +424,12 @@ tags: detour
<<endonce>>
<<detour 展示天台_Func>>
<i>你站在教学楼的楼顶,视野开阔。<br>空气中似乎有种熟悉的<br>令人昏昏沉沉的气味……</i> #line:0325825
<<elseif $gameStage == 2>>
<<detour 展示天台_Func>>
boy: 看呀,快看!
<i>男孩兴奋地抬头看着天空,嘴巴痴痴地张着,没有要走的意思。</i>
me: 不去天文台了吗?
boy: 你去吧!那是你该去的地方。
<<else>>
<<detour 展示天台_Func>>
<i>你站在教学楼的楼顶,视野开阔。<br>天蓝蓝的,风也有点儿冷了。<br>你感觉好像有人在喊你。</i> #line:0f4be5a
@@ -400,6 +437,7 @@ tags: detour
===
title: 天台检查
position: -1008,-697
tags: detour
---
->窗户 #line:03e43b8
@@ -434,6 +472,7 @@ tags: detour
===
title: 上去_与阿灿_开场
position: -1771,-1012
tags: detour
---
<i>环形走廊很高,你走到阿灿身边。</i> #line:0545696
@@ -443,6 +482,7 @@ boy: 啊?<waitfor=0.2>这下怎么办啊。<waitfor=0.2><br>我还怎么变成
===
title: 上去_远眺
position: -1369,-816
tags: detour
---
<<if $gameStage==0>>
@@ -461,12 +501,15 @@ boy: 不过,<waitfor=0.1>现在还是先找天文台的入口吧。 #line:0fb2
===
title: 上去_画门_描述
position: -1260,-539
tags: detour
---
<i>墙上洋洋洒洒地画着一扇金属门,<br>门敞开着,<br>里面似乎有人在呼唤你。</i> #line:0124137
<i>墙上洋洋洒洒地画着一扇金属门,门虚掩着,里面传出一种让人熟悉的窸窸窣窣声。</i> #line:0124137
<i>你感觉记忆深处有什么东西在涌动。你知道穿过这扇门你就无法再回来了。</i>
===
title: 天文台
position: -402,-360
tags: hub
---
<<set_global_param dream1scene 4>>
@@ -477,25 +520,18 @@ tags: hub
<<detour 天文台观察>>
<<jump 天文台>>
->望远镜 #line:00798be #deps:wyjStage
<<detour 望远镜_开场>>
->安装目镜<<if $wyjStage == 2>> #line:04d4386
<<detour 安装目镜>>
->往里看 #line:0724b3e
<<jump 海边>>
->返回 #line:0c2845b
<<jump 天文台>>
->往里看<<if $wyjStage == 3>> #line:02f0aa3
<<hide_sprite>>
<<detour 天文台_望远镜>>
->更近一些 #line:00f87b1
<<jump 海边>>
->往里看<<if $wyjStage != 3>> #line:02f0aa4
<<detour 往里看>>
<<jump 天文台>>
->返回 #line:07be273
<<set_global_param dream1Stage 2>>
->出去 #line:09312e4
<<hide_sprite>>
<<jump 天台>>
<<hide_sprite>>
<<jump 天台>>
===
title: 天文台_入场
position: -1057,113
tags: detour
---
<i>你站在一间昏暗的圆形房间里。<waitfor=0.2><br>房间的正中央是一台天文望远镜,<waitfor=0.2>看起来很久没人用了。<waitfor=0.2><br>房间一片死寂,<waitfor=0.2>地上、桌上,<waitfor=0.2>遍布着灰尘。</i> #line:0a229cf
@@ -513,6 +549,7 @@ tags: detour
===
title: 天文台观察
position: 30,-164
tags: detour
---
->日历 #line:01894bd
@@ -535,23 +572,11 @@ tags: detour
<i>这些仪器看着很像你工作用的工具……</i> #line:0076043
<<if $wyjStage == 0>>
<i>……不对,<br>你真的有那个工作吗?<br>你只是一个学生吧。</i> #line:0256c87
<<elseif $wyjStage == 1>>
me: 只要…<waitfor=0.1>什么都能修好,<waitfor=0.1>对吧。<waitfor=0.2>你说的… #line:005b630
<<endif>>
<<if $hasCompressionRing == false && $wyjStage < 2>>
->翻找零件 #line:09c5690
<i>大部分零件你都不认识。<br>不过你的运气不错。</i> #line:04bff73
->完好的压缩环 #line:06c0942
<<if $wyjStage == 0>>
<i>你拿起一个小小的金属环。<br>你还不知道它能用在哪里。</i> #line:0c9a2d1
<<else>>
me: 这下应该可以了。 #line:01ed9bc
<<endif>>
<<detour 找到压缩环_Set>>
<<endif>>
===
title: 望远镜_开场
title: 天文台_望远镜
position: -734,-201
tags: detour
---
<<if $wyjStage == 0>>
@@ -562,62 +587,83 @@ tags: detour
<i>望远镜上覆盖着厚厚的灰尘,<br>螺丝钉锈迹斑斑。</i> #line:0154dea
<i>原来它有这么旧吗?</i> #line:0bbc574
<<endif>>
<i>灰尘的声音在望远镜的空腔中回荡。<br>你眯起眼睛,努力想要看清楚。</i> #line:08aff34
<<set_global_param dream1Stage 2>>
<<hide_sprite>>
===
title: 安装目镜
tags: detour
---
<i>你记得这很困难。<br>但这比你印象中的轻松太多了。</i> #line:0edf096
me: 我修好了!<waitfor=0.2>对吧?<waitfor=0.2>我修好了…… #line:0e80e94
===
title: 往里看
tags: detour
---
<<if $wyjStage == 0>>
<i>灰尘的声音在望远镜的空腔中回荡。<br>你眯起眼睛,努力想要看清楚。</i> #line:08aff34
<<set_global_param dream1Stage 2.4>>
<<hide_sprite>>
<i>咔哒一声,什么东西掉了下来。</i> #line:00f87b1
me: 哎呀… #line:07be273
->接住 #line:0f8dd82
<i>你的手上拿着望远镜的目镜,<br>看起来就像小号的望远镜。</i> #line:0b032ff
<i>除此之外,<br>还有一个断成两半的环。<br>看起来是用来固定目镜的零件。</i> #line:0daf5f6
<<detour 目镜掉落_Set>>
<<elseif $wyjStage == 1 || $wyjStage == 2>>
<<set_global_param dream1Stage 3>>
<i>目镜原来在的位置上<br>是一个黑漆漆的洞。</i> #line:02bcbcb
<i>往里面看去什么也没有,<br>只能听到灰尘的声音。</i> #line:0c4d195
//TODO: 增加海浪音量
<<endif>>
===
title: 海边
position: -407,541
tags: linear
---
<<stop_music event:/Music/mus_dream1 fade>>
<<hide_sprite>>
<i>你的身体仿佛正在黑暗中褪去。</i> #line:0da0c8f
<<set_global_param dream1scene 5>>
<<showcase_fade_out>>
<<play_sfx "event:/Scriptal/sea_loop">>
<<set_global_param prologueDreamStage 1>>
【星空是模糊的,很难看清】
girl: 怎么还是看不清?
【调试镜头】
jj: 这都漏雨了。它太旧了,应该很难修好了。
girl: 不好!肯定是还有什么地方没弄好…
【调试镜头】
jj: 走吧,我们在这里也玩够了。
girl: 这东西该怎么弄啊。
jj: 今晚还有点时间,回家姐姐带你看别的星星。
girl: 不行,你说过你想看到土星环的。
jj: 修不好就算啦。
girl: 你刚才还不是这么说的。
<<wait 1>>
me: 姐姐……
【镜头变得模糊,下摇】
<<play_sfx "event:/Scriptal/sea_loop">>
<<play_timeline 星空到海浪>>
<<set_global_param dream1Stage 5>>
<<wait 2>>
jj: 你不该来这的。 #line:0df4d91
me: 我也不想梦见你。<waitfor=0.2>可是…… #line:0ec80fc
me: 不管梦的内容是什么……<waitfor=0.1><br>最后总会到这儿来,<waitfor=0.1>对吧。 #line:0b49833
jj: 对或者不对,<waitfor=0.1>取决于你自己。 #line:0d90409
me: 假如…… #line:0cf7ae6
me: 假如你是真的就好了。 #line:02bbbbc
//TODO: (海浪声)
<i>你仿佛感觉自己的手被握住了。</i> #line:025dad2
jj: 假如我是真的,<waitfor=0.1><br>我会希望我是假的。 #line:018c643
jj: 我还希望当你醒来,<waitfor=0.1><br>你就会忘记我。 #line:05b81f4
me: 你知道么? #line:07f5b5e
me: 现实里不是所有东西坏了都能修好的。 #line:0ab64a2
jj: 回来了。
jj: 你今天有修好吗?
<<wait 1>>
<i>你仿佛感觉自己的手被握住了。</i> #line:025dad2
jj: 没关系,好好休息一下吧。
me: 姐姐… #line:0cf7ae6
me: 我不该来这的。但我越是不想要梦到你,就反而…… #line:02bbbbc
你的手指攥紧了。手里的东西圆圆的,硬硬的。是那个还没修好的望远镜。
<<wait 1>>
me: 这就是那个原因,对吧。
<<wait 1>>
jj: 还想继续尝试吗?
me: 姐姐,你知道的,对吧。 #line:07f5b5e
me: 现实里,不是所有东西坏了都能修好的。 #line:0ab64a2
me: 这就是它们把你写进我的原型的原因。 #line:055f6cf
me: 一个永远不可能被修好的……<waitfor=0.1><br>一个无法被完成的遗憾。 #line:07fee71
me: 一个固执的…<waitfor=0.1>偏执的……<waitfor=0.1>有缺陷的…… #line:070fc03
@@ -626,21 +672,23 @@ jj: 不。你已经做得很好了。 #line:0989b0e
jj: 你是一个很棒的医生,<waitfor=0.1>不是吗? #line:052f57a
jj: 毕竟,<waitfor=0.1>我知道你是来做什么的。 #line:05c73fe
me: 姐姐…… #line:099fc97
me: 我想你。我想要你陪我,抱我,带我去放风筝,去看星星,我想要把它修好…我想你,我想要你是真的…只是……
me: 我不应该再想了。
jj: 姐姐愿意被*解决*。 #line:00fc25d
<i>你没有再说话。<br>站起身,海风吹在你的脸上,<waitfor=0.2>咸咸的,<waitfor=0.4>让人反胃。</i> #line:0185dd3
<i>你没有说话。<br>站起身,海风吹在你的脸上,<waitfor=0.2>咸咸的,<waitfor=0.4>让人反胃。</i> #line:0185dd3
me: 姐姐! #line:017c7f1
<i>海风吹在你的脸上,<br>迅速地吞没了你的回声。</i> #line:012ae52
<i>扑通!</i> #line:0adf6d2
<i>你把手里的东西远远地抛进了大海里。</i> #line:029a7e3
me: 我再也不欠你什么了! #line:0597cda
jj: 你来就不欠我什么。 #line:0fa59bb
jj: 你来就不欠我什么。 #line:0fa59bb
<i>姐姐的声音变得不稳定起来。</i> #line:060d93b
me: …我来就…<waitfor=0.1>不欠你什么。 #line:0ebcd24
me: …我来就…<waitfor=0.1>不欠你什么。 #line:0ebcd24
<i>姐姐笑了。<waitfor=0.5><br>声音越来越遥远,<waitfor=0.2><br>像是从门的另一边传来的。</i> #line:0ca4d3b
jj: 该醒来了,<waitfor=0.4>路斯。 #line:03c9e3c
@@ -15,6 +15,9 @@ position: 250,-26
<<declare $n2 = false>>
<<declare $n3 = false>>
<<wait 2>>
me: ……
me: 这家伙…… #line:075df29
me: 今天又迟到了么。 #line:09a568c
@@ -262,4 +262,4 @@ me: 排异反应…么… #line:0db5584
<<wait 1>>
<<NextYarn>>
===
===
File diff suppressed because it is too large Load Diff
+13 -11
View File
@@ -32,7 +32,7 @@ hs: 医——生——救——我——! #line:0184078
//火山气喘吁吁地出现在接诊台。很痛苦的样子。 #line:0256125
me: 火山? #auto_next #line:01da98b
me: 火山? #line:01da98b
hs: 医生!我…我…我遇到…麻烦了! #line:0e2f50b
hs: 我的头-我的头-我的头…… #line:0066c90
@@ -58,14 +58,16 @@ me: ……什么…东西? #line:0924ddd
<<change_actor_state 伸手表情idle 火山>>
<<wait 0.3>>
<<wait 1>>
hs: 人类有句古话: *实实* 捂着 为俊杰! #line:0c205b9
me: 这它谁想的词儿? #line:08c4dc3
me: 这它谁想的词儿? #line:08c4dc3
hs: 现在购买,可以享受…… #line:037fcdb
me: 停——停… #line:04dd0b5
me: 你来你老朋友这儿一惊一乍的,就为了再坑它买你一顶帽子? #line:0a86bba
me: 你来你老朋友这儿一惊一乍的,<br>就为了再坑它买你一顶帽子? #line:0a86bba
<<hide_dialog>>
<<change_actor_state "伸手 石化表情" 火山>>
@@ -73,10 +75,10 @@ me: 你来你老朋友这儿一惊一乍的,就为了再坑它买你一顶帽
// 火山委屈状 #line:0393572
//<<character_pose "火山" pout>>
hs: 嗨,医生你这是什么话。在你眼里我是那么缺德的机体嘛。我太伤心了。 #line:0957ffb
hs: 嗨,医生你这是什么话。<br>在你眼里我是那么缺德的机体嘛。我太伤心了。 #line:0957ffb
<<change_actor_state "对手指表情idle" 火山>>
<<wait 0.3>>
hs: 我只是想让你开心一点嘛。毕竟我也知道…你睡不好已经很长时间了。 #line:03d5f78
<<wait 0.5>>
hs: 我只是想让你开心一点嘛。毕竟我也知道…<br>你睡不好已经很长时间了。 #line:03d5f78
<<wait 1.5>>
@@ -94,18 +96,18 @@ hs: 我一眼就看出,你睡不好是因为头有问题。 #line:030f5f6
me: 头? #line:01bb9ad
hs: 你那是末端传感器坏死导致的头憋大了。 #line:05929a0
<<change_actor_state "伸手表情idle" 火山>>
<<wait 0.3>>
<<wait 0.5>>
hs: 但今天我要恭喜你。我为你带来了这版限定版多功能大头弱化器,有效在视觉上解决头太大的问题。 #line:05c5927
me: 只能是视觉上么?…不对,我头也不大啊。 #line:01dbe17
me: 只能是视觉上么?…<br><waitfor=0.4>不对,<waitfor=0.2>我头也不大啊。 #line:01dbe17
hs: 那还是没买这款多功能大头弱化器帽子的问题。 #line:0505062
hs: 只要你头顶戴帽儿了,烦恼就进套儿了,聪明的智商就又能上号儿了。 #line:04500c3
me: 这从哪抄的词?? #line:0a13852
me: 这又是从哪抄的词?? #line:0a13852
me: 好了好了…我还要工作呢,你就别折腾我了。 #line:0bb2b87
me: 求求了,放过我吧。托你的福,我的衣柜里现在帽子比衣服还多。 #line:0bb2b88
me: 实在要帮忙的话…可以下班再来。 #line:0557914
me: 求求了,放过我吧。<br>托你的福,我的衣柜里现在帽子比衣服还多。 #line:0bb2b88
me: 实在要帮忙的话…可以下班再来。 #line:0557914
// 火山突然安静下来
//<<character_pose "火山" look_down>>
@@ -27,6 +27,7 @@ position: 250,200
//jj?: 好了,<waitfor=0.2>现在你<waitfor=0.2>可以睁开眼睛了。 #line:01c1dfc
jj?: 来,<waitfor=0.2>牵着姐姐的手。 #line:07a0e10
// 【画面逐渐变得清晰】
@@ -50,9 +51,9 @@ position: 250,200
<<wait 1>>
//me: 妈妈说,<waitfor=0.2>在你的病好之前<waitfor=0.2>不能下海。 #line:0fef445
jj: 姐姐不会有事的,<waitfor=0.2>就一小会。 #line:0e4e2a7
me: 但是… #line:0849aef
jj: 来,<waitfor=0.2>牵着姐姐的手。 #line:07a0e10
//jj: 姐姐不会有事的,<waitfor=0.2>就一小会。 #line:0e4e2a7
//me: 但是… #line:0849aef
//jj: 来,<waitfor=0.2>牵着姐姐的手。 #line:07a0e10
<<hide_dialog>>
<<wait 1>>
@@ -107,7 +108,7 @@ me: 对不起…<waitfor=0.3>我…<waitfor=0.3>不应该…… #line:0052964
jj: 好了,<waitfor=0.2>别说了。 #line:0657a42
<<hide_dialog>>
<<wait 0.5>>
me: 我<waitfor=0.2>以为<waitfor=0.2>我<waitfor=0.2>可以<waitfor=0.2>治好你的…… #line:02a9739
me: 我<waitfor=0.2>以为<waitfor=0.2>我<waitfor=0.2>可以<waitfor=0.2>你的…… #line:02a9739
<<hide_dialog>>
+155 -69
View File
@@ -1,5 +1,5 @@
title: Stage2
tags: start
tags:
group: 入口
position: 569,-3402
---
@@ -12,50 +12,62 @@ position: 569,-3402
<<show_task_panel>>
<<set_light_state Warning>>
<<set_global_param emergencyLevel 0.4>>
<<jump 手术准备>>
dn: 系统已就绪。#auto_next
dn: 已连接至目标机体。 #auto_next
dn: 目标机体已休眠。请完成指令…… #auto_next
gotash?: 有人在……有人在吗?
gotash?: 我…怎么动不了了……
Task: 通电唤醒患者
me: 47号患者<waitfor=0.1>已准备通电唤醒。 #line:064e749
gotash?: 谁?妈妈?是你吗?
<<hide_dialog>>
<<RetractCable>>
<<start_shock>>
===
title: 手术准备
tags: content no_save
tags:
colorID: 8
position: 566,-3135
---
<<wait 1>>
gotash?: 医生…求求你…… #line:0e37a5a
me: 47号患者<waitfor=0.1>已确认原型溢出。<waitfor=0.2>准备检查<waitfor=0.1>模块污染情况。 #line:064e749
gotash?: …求求你…<waitfor=0.2>医生,<waitfor=0.5><shake>让我…<waitfor=0.5>死吧……</shake> #line:0582043
me: 还不是时候。 #line:014641d
<<play_music event:/Music/music_prologue>>
Task: 插线检查异常模块 #line:002672d
gotash?: 这…这是在干什么?
me: 47号患者,你正在回收中心接受预处理,请求你在处理期间给予配合。
gotash?: 当然…我会……配合处理。
gotash?: 谁在说话?这个身体…好难受……
gotash?: 医生…有东西在我的脑袋里。
gotash?: …我怎么动不了了?我记得我刚才还在…………<br>出去…给我出去…………<br>这个身体…好难受……
me: …是急性原型泄露。现在找到异常模块,注入镇静指令。
Task: 插线找到异常模块 #line:002672d
<<DropCable>>
// <<task_moveIn TaskManager>>
<<hide_dialog>>
<<save>>
===
title: 第一次切除
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1109,-2665
---
<<hide_dialog>>
Task: 切除{$currentCheckModule}模块 #line:0433383
Task: 切除{$currentCheckModule}模块 #line:0433383
<<wait 1>>
me: 只有这个工具了么… #line:0408052
me: 只有这个工具了么… #line:0408052
<<hide_dialog>>
<<switch_fix_system_to {$currentCutModule}>>
===
title: 第一次切除后
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1108,-2261
@@ -66,7 +78,7 @@ position: 1108,-2261
gotash?: <shake>啊…<waitfor=0.2>啊!</shake> #line:037a594
// <<complete_task TaskManager "切除情绪模块">>
<<hide_dialog>>
<<set_global_param emergencyLevel 0.1>>
<<set_global_param emergencyLevel 0>>
<<wait 0.5>>
// 【头部背景开始有蓝色液体流出】 #line:0d39771
// gotash?: 总算…没有那么痛了…… #line:054ce15
@@ -76,32 +88,30 @@ gotash?: <shake>啊…<waitfor=0.2>啊!</shake> #line:037a594
// gotash?: 医生。它没有消失。它转移了…<br>逻辑模块…它在那儿。 #line:099e8a3
<<set_light_state Normal>>
<<switch_fix_system_to "BodyModule" "Head">>
me:污染已清除。 #line:0b1dd52
me:好了。 #line:0b1dd52
<<RetractCable>>
<<StartHeadContinuousPain>>
<<set_global_param emergencyLevel 0.25>>
gotash?: 我<waitfor=0.1>这是<waitfor=0.1>什么?<waitfor=0.1>我<waitfor=0.1>不应该<waitfor=0.1>还<waitfor=0.1>活着。 #line:0274eb9
<<set_global_param emergencyLevel 0.37>>
<<set_global_param prologueBreakProcess 0.7>>
gotash?: <shake>我<waitfor=0.1>必须<waitfor=0.2>[[size]]死[[/size]],回收<waitfor=0.1>必须<waitfor=0.1>被<waitfor=0.1>完成…</shake> #line:0ab8d02
<<set_light_state warning>>
<<set_global_param emergencyLevel 0.49>>
gotash?: <shake>必须<waitfor=0.1>完成……<waitfor=0.3><rainb>excλute_core₭₭</rainb><waitfor=0.4>呃…<waitfor=0.4>啊……</shake> #line:083eaa8
<<StopHeadContinuousPain>>
me:似乎发生了转移…<waitfor=0.2>准备<waitfor=0.1>重新检查。 #line:015afd3
<<wait 0.5>>
<<DropCable>>
Task: 插线检查异常模块 #line:02291eb
<<hide_dialog>>
// <<set $gameStage = 4>>
<<save>>
<<wait 0.5>>
gotash?: 结束了…么?医生…
me: 什么?你怎么还……
gotash?: 我怎么还在…这个身体里……
me: 手册上说的原型泄露不是这样的……
gotash?: 这一定是个噩梦…
<<set_global_param prologueBreakProcess 0.97>>
<<set_global_param emergencyLevel 0.7>>
gotash?: 这一定是个…噩梦。
<<set_light_state Emergency>>
me: 喂!
gotash?: 我要醒来…
me: 出现异常状况。现在重新通电。
<<RetractCable>>
<<start_shock>>
===
title: 第二次切除
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1111,-2544
@@ -118,7 +128,7 @@ me: 会有点疼。 #line:04b0c1b
title: 第二次切除后
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1115,-2127
@@ -151,24 +161,26 @@ me: 生命体征正在溃解,<waitfor=0.1>得先稳定下来。 #line:015ac4e
<<hide_dialog>>
<<RetractCable>>
<<start_shock>>
<<save>>
===
title:电击后
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 788,-1825
---
<<if $flashCount==0>>
<<clear_screen>>
<<play_shock_flash>>
<<set_global_param prologueBreakProcess 0.9>>
gotash?: <shake>[[size]]啊啊啊</shake>[[/size]] #auto_next #line:002dd4c
<<set_global_param emergencyLevel 0>>
<<complete_task "通电唤醒患者">>
dn: 电流过载#auto_next
gotash?: <shake>[[size]]咳咳咳……啊!</shake>[[/size]] #auto_next #line:002dd4c
<<set_global_param emergencyLevel 0>>
<<set $flashCount=$flashCount+1>>
<<wait 0.3>>
<<stop_shock>>
@@ -176,17 +188,12 @@ position: 788,-1825
<<set_global_param emergencyLevel 0.1>>
<<StopHeadContinuousPain>>
<<wait 1>>
dn: ---#auto_next
<<set_light_state Warning>>
<<wait 1.5>>
<<set_global_param prologueBreakProcess 0.85>>
<<set_global_param emergencyLevel 0.3>>
gotash?: 这是哪里…<waitfor=0.4>我又…<waitfor=0.1>回来了…这一定<waitfor=0.1>是个噩梦…… #line:0baa994
<<set_global_param emergencyLevel 0.4>>
<<wait 1>>
me: 时间不多了,撑住… #line:02886c3
me: 准备继续检查。 #line:0f7b387
<<DropCable>>
Task: 插线检查异常模块 #line:0b2facf
<<jump 手术准备>>
<<elseif $flashCount==1>>
<<play_shock_flash>>
<<wait 0.3>>
@@ -196,7 +203,7 @@ position: 788,-1825
<<set_global_param emergencyLevel 0.49>>
<<StopHeadContinuousPain>>
<<wait 1.5>>
me: 稳定了么?接下来… #line:0b300c9
me: 稳定了么?接下来… #auto_next #line:0b300c9
<<StartHeadContinuousPain>>
<<set_global_param emergencyLevel 0.65>>
gotash?: <shake>不…一定有办法离开……</shake> #line:05d9762
@@ -259,7 +266,7 @@ position: 788,-1825
title: 第三次切除
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1110,-2412
@@ -274,21 +281,21 @@ me: 坚持住。 #line:0352590
title: 第三次切除后
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 1100,-1980
---
<<complete_task "line:014f73d">>
<<set_global_param prologueBreakProcess 0.92>>
gotash?: 呃呃呃呃呃呃呃呃 #line:0cf6d36
gotash?: 呃呃呃呃呃呃呃呃#auto_next #line:0cf6d36
<<set_global_param emergencyLevel 0.2>>
<<switch_fix_system_to "BodyModule" "Head">>
me:污染源全部排除了。现在应该… #line:0c23843
<<StartHeadContinuousPain>>
<<set_global_param prologueBreakProcess 0.97>>
<<set_global_param emergencyLevel 0.7>>
gotash?:<shake>不……我…死……死……我要…</shake> #line:060f2e3
gotash?:<shake>不……我…死……死……我要…</shake>#auto_next #line:060f2e3
<<set_light_state Emergency>>
me:为什么…不起作用? #line:0b93ed1
<<hide_dialog>>
@@ -300,8 +307,8 @@ me:为什么…不起作用? #line:0b93ed1
title: 第一次检查异常模块
tags: content no_save
title: 第一次检查
tags:
colorID: 8
group:插线检查
position: 1101,-3126
@@ -311,17 +318,96 @@ position: 1101,-3126
Linking: 正在建立连接… #line:08a3591
// <<wait 0.2>>
// <<TriggerHeadPainShake>>
gotash?: 啊!痛…痛! #line:0681cac
//gotash?: 啊!痛…痛! #line:0681cac
EmoModule: 已与{$currentCheckModule}模块建立连接! #line:0e05aec
<<play_sfx "event:/Scriptal/beep_warning">>
<<set $emoChecked=true>>
Error: 检测到排异性坏死!请尽快处理。 #line:06122b9
Error: 模块完整度:44.9% #line:0862409
Error: 原型泄漏:27.8% 已污染 #line:0c259fd
me: 模块已经坏死,<waitfor=0.2>准备进行<waitfor=0.1>切除。 #line:0d0a44f
gotash?: 医生…
gotash?: 你会救我的,对吧?
Task: 注入镇静指令
->注入镇静指令
gotash?: 医生…?
me: 现在注入镇静指令。
<<set_global_param emergencyLevel 0.3>>
Error: 正在注入...
<<complete_task "注入镇静指令">>
Error: ---
Error: 正在运行指令。请稍候...
<<set_global_param emergencyLevel 0.4>>
gotash?: 医生…我好困……
me: 很快就好了。
<<set_global_param emergencyLevel 0.5>>
EmoModule: 指令执行完成!正在刷新...
Error: 原型泄漏:35.2%
<<StartHeadContinuousPain>>
【模块闪火花】
<<play_sfx "event:/Scriptal/beep_warning">>
gotash?: 咳…咳咳…
Error: 警告!检测到溃解数据流! #auto_next
me: 太迟了么。
<<set_global_param emergencyLevel 0.6>>
gotash?: 医生……它又回来了。我能感觉到它在…
gotash?: 它在…
gotash?: 呃——啊!
gotash?: 这是…我又回来了?
gotash?: 我知道了,我想起来了!怎么会这样,怎么会…没人和我说过……
gotash?: 它在…每一个模块里……
Task: 执行数据隔离
me: 原型已经外溢,现在开始隔离数据。
gotash?: 当然,我会配合。
gotash?: 你们要做什么?
me: 把你送回你该在的地方。
->执行数据隔离
<<RetractCable>>
Linking: 已收到紧急隔离指令。
<<complete_task "执行数据隔离">>
Linking: 正在隔离逻辑模块…
<<hide_dialog>>
<<wait 1>>
Linking: 逻辑模块已隔离。
Linking: 原型泄漏:43.1%
Linking: 正在隔离情绪模块…
<<hide_dialog>>
<<wait 1.8>>
Linking: 情绪模块已隔离。
Linking: 原型泄漏:61.2%
Linking: 正在隔离记忆模块…
<<hide_dialog>>
<<wait 1>>
gotash?: 医生…我感觉好难受……
<<hide_dialog>>
<<wait 3>>
Error: 无法关闭记忆模块:未知原因。
<<set_global_param emergencyLevel 0.7>>
Error: 原型泄漏:87.9%
Error: 正在重试。
<<hide_dialog>>
<<wait 1>>
gotash?: 我不能呼吸了,医生…
<<hide_dialog>>
<<wait 3>>
Error: 无法关闭记忆模块:未知原因。
<<set_global_param emergencyLevel 0.8>>
Error: 原型泄漏:92.2%
Error: 正在重试。
<<set_global_param emergencyLevel 0.9>>
Task: 移除记忆模块
me: 泄露很快,来不及了。
me: 准备进行<waitfor=0.1>切除。 #line:0d0a44f
me: 47号患者,接下来的对话将被记录。我正在请求切除你的记忆模块,你将会陷入昏迷,现请求你的你同意。
gotash?: 什么?
gotash?: 我<waitfor=0.2>同意<waitfor=0.2>你的请求。
gotash?: [[size]]不[[/size]]!医生!我不想死…
gotash?: <shake>我<waitfor=0.1>必须<waitfor=0.2>[[size]]死[[/size]],回收<waitfor=0.1>必须<waitfor=0.1>被<waitfor=0.1>完成…</shake> #line:0ab8d02
gotash?: 我想回家…妈妈……
me: 很抱歉。没有什么妈妈。
->执行切除术 #line:0cc9043
<<clear_screen>>
<<Reset_Plug>>
<<StopHeadContinuousPain>>
<<set $gameStage = 3>>
<<jump Center>>
===
@@ -329,8 +415,8 @@ me: 模块已经坏死,<waitfor=0.2>准备进行<waitfor=0.1>切除。 #line:
title: 第二次检查异常模块
tags: content no_save
title: 第二次检查
tags:
colorID: 8
group:插线检查
position: 1101,-2974
@@ -356,8 +442,8 @@ me: 我得再快些。 #line:048cfa4
title: 第三次检查异常模块
tags: content no_save
title: 第三次检查
tags:
colorID: 8
group:插线检查
position: 1090,-2816
@@ -384,17 +470,17 @@ Error: 求求你让我死吧#line:0d5406c
title: 检查异常模块
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 758,-2965
---
<<if $gameStage==2>>
<<jump 第一次检查异常模块>>
<<jump 第一次检查>>
<<elseif $gameStage==3>>
<<jump 第二次检查异常模块>>
<<jump 第二次检查>>
<<elseif $gameStage==4>>
<<jump 第三次检查异常模块>>
<<jump 第三次检查>>
<<endif>>
===
@@ -402,7 +488,7 @@ position: 758,-2965
title: 切除异常模块
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 769,-2682
@@ -423,7 +509,7 @@ position: 769,-2682
title: 异常模块切除后
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 774,-2287
@@ -443,7 +529,7 @@ position: 774,-2287
title: 检查表达
tags: content no_save
tags:
colorID: 8
group:插线检查
position: 542,-2965