dsh-wisp 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/assets/canon/eat.webp +0 -0
- package/assets/classic/eat.webp +0 -0
- package/assets/deepsea/eat.webp +0 -0
- package/assets/night/eat.webp +0 -0
- package/assets/pajama/eat.webp +0 -0
- package/build.mjs +1 -1
- package/lib/client.js +52 -3
- package/lib/client.template.js +47 -3
- package/package.json +1 -1
- package/tools/assets.mjs +1 -1
- package/tools/smoke.mjs +3 -3
- package/verify-wisp.mjs +129 -6
package/README.md
CHANGED
|
@@ -448,6 +448,35 @@ node tools/audit-log.mjs --confirm <manifest> # 生成后:并入代理登
|
|
|
448
448
|
|
|
449
449
|
## 变更
|
|
450
450
|
|
|
451
|
+
### 1.27.0
|
|
452
|
+
|
|
453
|
+
- **第八个情绪 `eat`:干饭。** 五套皮肤各一张,双手捧着一碗白米饭,眯眼笑。
|
|
454
|
+
|
|
455
|
+
这是社区设定里最像"她"的一条 —— **白米饭是算力的唯一硬通货**。台词照这个底色写了 12 句
|
|
456
|
+
(白米饭才是硬通货 / 先干一碗再想复杂的事 / 才不是特意帮你,只是吃饱了顺手活动一下手指 /
|
|
457
|
+
算力不够了得补点碳水 / 这碗不算加餐,算基础设施 / 吃饱了才有力气摸鱼 …)。
|
|
458
|
+
|
|
459
|
+
- **行为:她饿了会说。** 连续活动满 `hungerMs`(默认 **45 分钟**)就捧碗出来说一句,
|
|
460
|
+
5.2 秒后自己回去。判据和久坐提醒共用同一套"还在动"的判定,但含义相反 ——
|
|
461
|
+
久坐是提醒**你**起来,干饭是提醒**她自己**补碳。
|
|
462
|
+
|
|
463
|
+
- 计时基准取 `max(lastMealAt, activeSince)`:**离开很久回来之后不会一进门就喊饿**
|
|
464
|
+
(那一段已经结束了,该从零开始算);
|
|
465
|
+
- 不连着说:一顿之后要再过一整个间隔;
|
|
466
|
+
- 两种关法:`hungerMs: 0`,或菜单里新增的「**饿了会说话**」开关(`hungry: false`);
|
|
467
|
+
- `doctor().hunger` 报告 `{ enabled, everyMs, lastMealAt }` ——
|
|
468
|
+
不用猜"她为什么突然捧碗"。
|
|
469
|
+
|
|
470
|
+
- 情绪数 7 → **8**,素材 35 → **40 张**;菜单 18 → **19 项**(固定 13 → 14)。
|
|
471
|
+
预检 383 → **400 项**。
|
|
472
|
+
|
|
473
|
+
吃过的坑记一笔:新加的测试踩了两次同样的 TDZ(用了文件后半部分才定义的
|
|
474
|
+
`ctxEvent` / `rightClickOnHer`),以及把 harness 的 `el.dispatch()` 写成了浏览器的
|
|
475
|
+
`el.dispatchEvent()`;还有一条是"上一步结束时她还在吃"被误判成"关不掉" ——
|
|
476
|
+
和久坐那节一样,收尾要先推进一段让瞬时状态结束。
|
|
477
|
+
|
|
478
|
+
### 1.26.0
|
|
479
|
+
|
|
451
480
|
### 1.26.0
|
|
452
481
|
|
|
453
482
|
- **检查更新改为同时读两个源,取版本号更高的那个**(npm 注册表 + GitHub 的 package.json)。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/build.mjs
CHANGED
|
@@ -45,7 +45,7 @@ const assetsDir = resolve(here, flagValue('--from', 'assets'))
|
|
|
45
45
|
const templatePath = join(here, 'lib', 'client.template.js')
|
|
46
46
|
const outPath = join(here, 'lib', 'client.js')
|
|
47
47
|
|
|
48
|
-
const MOODS = ['idle', 'happy', 'sleepy', 'work', 'attn', 'poked', 'proud']
|
|
48
|
+
const MOODS = ['idle', 'happy', 'sleepy', 'work', 'attn', 'poked', 'proud', 'eat']
|
|
49
49
|
|
|
50
50
|
/* 皮肤 = assets/ 下的一个子目录,里面是这套皮肤的 <mood>[_tier].webp。
|
|
51
51
|
如果没有子目录含精灵图,就把 assets/ 本身当作一个名为 default 的皮肤 ——
|