dsh-piggy 0.33.0 → 0.37.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.
Files changed (460) hide show
  1. package/CHANGELOG.md +161 -8
  2. package/LICENSE-noto-emoji.txt +224 -0
  3. package/README.md +29 -16
  4. package/THIRD-PARTY.md +14 -6
  5. package/assets/PROVENANCE.md +17 -0
  6. package/assets/piggy-emoji.woff2 +0 -0
  7. package/assets/pigs/PROVENANCE.md +13 -0
  8. package/assets/pigs/badges/badge-pig-blindbox-first.png +0 -0
  9. package/assets/pigs/badges/badge-pig-blindbox-six.png +0 -0
  10. package/assets/pigs/badges/badge-pig-blindbox-ten.png +0 -0
  11. package/assets/pigs/badges/badge-pig-clean-ten.png +0 -0
  12. package/assets/pigs/badges/badge-pig-devil.png +0 -0
  13. package/assets/pigs/badges/badge-pig-farm-first.png +0 -0
  14. package/assets/pigs/badges/badge-pig-farm-five.png +0 -0
  15. package/assets/pigs/badges/badge-pig-farm-ten.png +0 -0
  16. package/assets/pigs/badges/badge-pig-first-class.png +0 -0
  17. package/assets/pigs/badges/badge-pig-first-fish.png +0 -0
  18. package/assets/pigs/badges/badge-pig-first-job.png +0 -0
  19. package/assets/pigs/badges/badge-pig-first-meal.png +0 -0
  20. package/assets/pigs/badges/badge-pig-first-trip.png +0 -0
  21. package/assets/pigs/badges/badge-pig-fish-five.png +0 -0
  22. package/assets/pigs/badges/badge-pig-gacha-first.png +0 -0
  23. package/assets/pigs/badges/badge-pig-gacha-gold.png +0 -0
  24. package/assets/pigs/badges/badge-pig-gacha-machines.png +0 -0
  25. package/assets/pigs/badges/badge-pig-grown-up.png +0 -0
  26. package/assets/pigs/badges/badge-pig-jobs-hundred.png +0 -0
  27. package/assets/pigs/badges/badge-pig-jobs-ten.png +0 -0
  28. package/assets/pigs/badges/badge-pig-king.png +0 -0
  29. package/assets/pigs/badges/badge-pig-mine-deep.png +0 -0
  30. package/assets/pigs/badges/badge-pig-mine-first.png +0 -0
  31. package/assets/pigs/badges/badge-pig-mine-fossils.png +0 -0
  32. package/assets/pigs/badges/badge-pig-pet-hundred.png +0 -0
  33. package/assets/pigs/badges/badge-pig-play-twenty.png +0 -0
  34. package/assets/pigs/badges/badge-pig-souvenirs-three.png +0 -0
  35. package/assets/pigs/badges/badge-pig-trips-ten.png +0 -0
  36. package/assets/pigs/base/elder/idle.png +0 -0
  37. package/assets/pigs/base/piglet/bathe.png +0 -0
  38. package/assets/pigs/base/piglet/blink.png +0 -0
  39. package/assets/pigs/base/piglet/eat.png +0 -0
  40. package/assets/pigs/base/piglet/idle.png +0 -0
  41. package/assets/pigs/base/piglet/play.png +0 -0
  42. package/assets/pigs/base/piglet/shy-pet.png +0 -0
  43. package/assets/pigs/base/piglet/sleep.png +0 -0
  44. package/assets/pigs/base/piglet/work.png +0 -0
  45. package/assets/pigs/feedback/PROVENANCE.md +17 -0
  46. package/assets/pigs/feedback/README.md +13 -0
  47. package/assets/pigs/feedback/allergy.png +0 -0
  48. package/assets/pigs/feedback/birthday.png +0 -0
  49. package/assets/pigs/feedback/collection-badge.png +0 -0
  50. package/assets/pigs/feedback/collection-bubbles.png +0 -0
  51. package/assets/pigs/feedback/collection-cage.png +0 -0
  52. package/assets/pigs/feedback/collection-check.png +0 -0
  53. package/assets/pigs/feedback/collection-chicken.png +0 -0
  54. package/assets/pigs/feedback/collection-courier.png +0 -0
  55. package/assets/pigs/feedback/collection-fever.png +0 -0
  56. package/assets/pigs/feedback/collection-fitness.png +0 -0
  57. package/assets/pigs/feedback/collection-letter.png +0 -0
  58. package/assets/pigs/feedback/collection-mosquito.png +0 -0
  59. package/assets/pigs/feedback/collection-scallion.png +0 -0
  60. package/assets/pigs/feedback/collection-snack.png +0 -0
  61. package/assets/pigs/feedback/collection-soup.png +0 -0
  62. package/assets/pigs/feedback/collection-stack.png +0 -0
  63. package/assets/pigs/feedback/collection-taro.png +0 -0
  64. package/assets/pigs/feedback/collection-throne.png +0 -0
  65. package/assets/pigs/feedback/courier.png +0 -0
  66. package/assets/pigs/feedback/death-day.png +0 -0
  67. package/assets/pigs/feedback/faint.png +0 -0
  68. package/assets/pigs/feedback/fishing.png +0 -0
  69. package/assets/pigs/feedback/ghost-grave.png +0 -0
  70. package/assets/pigs/feedback/hungry.png +0 -0
  71. package/assets/pigs/feedback/lie-flat.png +0 -0
  72. package/assets/pigs/feedback/music-earbuds.png +0 -0
  73. package/assets/pigs/feedback/music-headphones-v2.png +0 -0
  74. package/assets/pigs/feedback/music-rainbow.png +0 -0
  75. package/assets/pigs/feedback/painting.png +0 -0
  76. package/assets/pigs/feedback/recruit.png +0 -0
  77. package/assets/pigs/feedback/runny-nose.png +0 -0
  78. package/assets/pigs/feedback/sleep-cloud.png +0 -0
  79. package/assets/pigs/feedback/study-book.png +0 -0
  80. package/assets/pigs/feedback/study-determined.png +0 -0
  81. package/assets/pigs/feedback/study-pink-book.png +0 -0
  82. package/assets/pigs/feedback/suspended.png +0 -0
  83. package/assets/pigs/feedback/turning.png +0 -0
  84. package/assets/pigs/feedback/twitch.png +0 -0
  85. package/assets/pigs/forms/pig-devil/bathe.png +0 -0
  86. package/assets/pigs/forms/pig-devil/eat.png +0 -0
  87. package/assets/pigs/forms/pig-devil/fly.png +0 -0
  88. package/assets/pigs/forms/pig-devil/idle.png +0 -0
  89. package/assets/pigs/forms/pig-devil/pet.png +0 -0
  90. package/assets/pigs/forms/pig-devil/play.png +0 -0
  91. package/assets/pigs/forms/pig-devil/relaxed.png +0 -0
  92. package/assets/pigs/forms/pig-devil/sleep.png +0 -0
  93. package/assets/pigs/forms/pig-devil/study.png +0 -0
  94. package/assets/pigs/forms/pig-devil/trip.png +0 -0
  95. package/assets/pigs/forms/pig-devil/work.png +0 -0
  96. package/assets/pigs/forms/pig-fat/bathe.png +0 -0
  97. package/assets/pigs/forms/pig-fat/eat.png +0 -0
  98. package/assets/pigs/forms/pig-fat/idle.png +0 -0
  99. package/assets/pigs/forms/pig-fat/pet.png +0 -0
  100. package/assets/pigs/forms/pig-fat/play.png +0 -0
  101. package/assets/pigs/forms/pig-fat/relaxed.png +0 -0
  102. package/assets/pigs/forms/pig-fat/sleep.png +0 -0
  103. package/assets/pigs/forms/pig-fat/study.png +0 -0
  104. package/assets/pigs/forms/pig-fat/trip.png +0 -0
  105. package/assets/pigs/forms/pig-fat/work.png +0 -0
  106. package/assets/pigs/forms/pig-king/bathe.png +0 -0
  107. package/assets/pigs/forms/pig-king/eat.png +0 -0
  108. package/assets/pigs/forms/pig-king/idle.png +0 -0
  109. package/assets/pigs/forms/pig-king/pet.png +0 -0
  110. package/assets/pigs/forms/pig-king/play.png +0 -0
  111. package/assets/pigs/forms/pig-king/relaxed.png +0 -0
  112. package/assets/pigs/forms/pig-king/sleep.png +0 -0
  113. package/assets/pigs/forms/pig-king/study.png +0 -0
  114. package/assets/pigs/forms/pig-king/trip.png +0 -0
  115. package/assets/pigs/forms/pig-king/work.png +0 -0
  116. package/assets/pigs/forms/pig-round/bathe.png +0 -0
  117. package/assets/pigs/forms/pig-round/eat.png +0 -0
  118. package/assets/pigs/forms/pig-round/idle.png +0 -0
  119. package/assets/pigs/forms/pig-round/pet.png +0 -0
  120. package/assets/pigs/forms/pig-round/play.png +0 -0
  121. package/assets/pigs/forms/pig-round/relaxed.png +0 -0
  122. package/assets/pigs/forms/pig-round/sleep.png +0 -0
  123. package/assets/pigs/forms/pig-round/study.png +0 -0
  124. package/assets/pigs/forms/pig-round/trip.png +0 -0
  125. package/assets/pigs/forms/pig-round/work.png +0 -0
  126. package/assets/pigs/manifest.json +5311 -0
  127. package/assets/pigs/skins/career-astronaut/bathe.png +0 -0
  128. package/assets/pigs/skins/career-astronaut/eat.png +0 -0
  129. package/assets/pigs/skins/career-astronaut/idle.png +0 -0
  130. package/assets/pigs/skins/career-astronaut/pet.png +0 -0
  131. package/assets/pigs/skins/career-astronaut/play.png +0 -0
  132. package/assets/pigs/skins/career-astronaut/relaxed.png +0 -0
  133. package/assets/pigs/skins/career-astronaut/sleep.png +0 -0
  134. package/assets/pigs/skins/career-astronaut/study.png +0 -0
  135. package/assets/pigs/skins/career-astronaut/trip.png +0 -0
  136. package/assets/pigs/skins/career-astronaut/work.png +0 -0
  137. package/assets/pigs/skins/career-chef/bathe.png +0 -0
  138. package/assets/pigs/skins/career-chef/eat.png +0 -0
  139. package/assets/pigs/skins/career-chef/idle.png +0 -0
  140. package/assets/pigs/skins/career-chef/pet.png +0 -0
  141. package/assets/pigs/skins/career-chef/play.png +0 -0
  142. package/assets/pigs/skins/career-chef/relaxed.png +0 -0
  143. package/assets/pigs/skins/career-chef/sleep.png +0 -0
  144. package/assets/pigs/skins/career-chef/study.png +0 -0
  145. package/assets/pigs/skins/career-chef/trip.png +0 -0
  146. package/assets/pigs/skins/career-chef/work.png +0 -0
  147. package/assets/pigs/skins/skin-angel/bathe.png +0 -0
  148. package/assets/pigs/skins/skin-angel/eat.png +0 -0
  149. package/assets/pigs/skins/skin-angel/idle.png +0 -0
  150. package/assets/pigs/skins/skin-angel/pet.png +0 -0
  151. package/assets/pigs/skins/skin-angel/play.png +0 -0
  152. package/assets/pigs/skins/skin-angel/relaxed.png +0 -0
  153. package/assets/pigs/skins/skin-angel/sleep.png +0 -0
  154. package/assets/pigs/skins/skin-angel/study.png +0 -0
  155. package/assets/pigs/skins/skin-angel/trip.png +0 -0
  156. package/assets/pigs/skins/skin-angel/work.png +0 -0
  157. package/assets/pigs/skins/skin-detective/bathe.png +0 -0
  158. package/assets/pigs/skins/skin-detective/eat.png +0 -0
  159. package/assets/pigs/skins/skin-detective/idle.png +0 -0
  160. package/assets/pigs/skins/skin-detective/pet.png +0 -0
  161. package/assets/pigs/skins/skin-detective/play.png +0 -0
  162. package/assets/pigs/skins/skin-detective/relaxed.png +0 -0
  163. package/assets/pigs/skins/skin-detective/sleep.png +0 -0
  164. package/assets/pigs/skins/skin-detective/study.png +0 -0
  165. package/assets/pigs/skins/skin-detective/trip.png +0 -0
  166. package/assets/pigs/skins/skin-detective/work.png +0 -0
  167. package/assets/pigs/skins/skin-mint/bathe.png +0 -0
  168. package/assets/pigs/skins/skin-mint/eat.png +0 -0
  169. package/assets/pigs/skins/skin-mint/idle.png +0 -0
  170. package/assets/pigs/skins/skin-mint/pet.png +0 -0
  171. package/assets/pigs/skins/skin-mint/play.png +0 -0
  172. package/assets/pigs/skins/skin-mint/sleep.png +0 -0
  173. package/assets/pigs/skins/skin-mint/work.png +0 -0
  174. package/assets/pigs/skins/skin-pirate/bathe.png +0 -0
  175. package/assets/pigs/skins/skin-pirate/eat.png +0 -0
  176. package/assets/pigs/skins/skin-pirate/idle.png +0 -0
  177. package/assets/pigs/skins/skin-pirate/pet.png +0 -0
  178. package/assets/pigs/skins/skin-pirate/play.png +0 -0
  179. package/assets/pigs/skins/skin-pirate/relaxed.png +0 -0
  180. package/assets/pigs/skins/skin-pirate/sleep.png +0 -0
  181. package/assets/pigs/skins/skin-pirate/study.png +0 -0
  182. package/assets/pigs/skins/skin-pirate/trip.png +0 -0
  183. package/assets/pigs/skins/skin-pirate/work.png +0 -0
  184. package/assets/pigs/skins/skin-wizard/bathe.png +0 -0
  185. package/assets/pigs/skins/skin-wizard/eat.png +0 -0
  186. package/assets/pigs/skins/skin-wizard/idle.png +0 -0
  187. package/assets/pigs/skins/skin-wizard/pet.png +0 -0
  188. package/assets/pigs/skins/skin-wizard/play.png +0 -0
  189. package/assets/pigs/skins/skin-wizard/relaxed.png +0 -0
  190. package/assets/pigs/skins/skin-wizard/sleep.png +0 -0
  191. package/assets/pigs/skins/skin-wizard/study.png +0 -0
  192. package/assets/pigs/skins/skin-wizard/trip.png +0 -0
  193. package/assets/pigs/skins/skin-wizard/work.png +0 -0
  194. package/client.js +3375 -871
  195. package/package.json +3 -2
  196. package/packages/pet-core/src/core/activity.js +2 -1
  197. package/packages/pet-core/src/core/care.js +6 -0
  198. package/packages/pet-core/src/core/clock.js +51 -2
  199. package/packages/pet-core/src/core/constants.js +51 -1
  200. package/packages/pet-core/src/core/daily.js +4 -3
  201. package/packages/pet-core/src/core/diary.js +12 -3
  202. package/packages/pet-core/src/core/drops.js +1 -1
  203. package/packages/pet-core/src/core/economy.js +163 -0
  204. package/packages/pet-core/src/core/egg.js +14 -10
  205. package/packages/pet-core/src/core/extensions.js +6 -1
  206. package/packages/pet-core/src/core/fishing-auto.js +137 -0
  207. package/packages/pet-core/src/core/fishing.js +106 -21
  208. package/packages/pet-core/src/core/growth.js +1 -1
  209. package/packages/pet-core/src/core/illness.js +84 -9
  210. package/packages/pet-core/src/core/interests.js +3 -2
  211. package/packages/pet-core/src/core/inventory.js +3 -4
  212. package/packages/pet-core/src/core/lines.js +11 -1
  213. package/packages/pet-core/src/core/migrate.js +22 -5
  214. package/packages/pet-core/src/core/offline-feed.js +160 -0
  215. package/packages/pet-core/src/core/pomodoro.js +7 -5
  216. package/packages/pet-core/src/core/profile.js +44 -3
  217. package/packages/pet-core/src/core/school.js +3 -2
  218. package/packages/pet-core/src/core/settlement.js +131 -65
  219. package/packages/pet-core/src/core/state.js +11 -0
  220. package/packages/pet-core/src/core/talk.js +11 -6
  221. package/packages/pet-core/src/core/travel.js +17 -6
  222. package/packages/pet-core/src/core/upgrades.js +10 -0
  223. package/packages/pet-core/src/core/views.js +2 -1
  224. package/packages/pet-core/src/core/wallets.js +150 -0
  225. package/packages/pet-core/src/core/work.js +9 -6
  226. package/packages/pet-core/src/core.js +10 -4
  227. package/packages/pet-core/src/data/art-assets.js +188 -0
  228. package/packages/pet-core/src/data/daily.js +2 -4
  229. package/packages/pet-core/src/data/drops.js +1 -1
  230. package/packages/pet-core/src/data/economy.js +58 -0
  231. package/packages/pet-core/src/data/extensions.js +1 -1
  232. package/packages/pet-core/src/data/fish.js +89 -17
  233. package/packages/pet-core/src/data/fishing-auto.js +22 -0
  234. package/packages/pet-core/src/data/growth.js +1 -6
  235. package/packages/pet-core/src/data/illness.js +1 -1
  236. package/packages/pet-core/src/data/jobs.js +7 -1
  237. package/packages/pet-core/src/data/life.js +2 -0
  238. package/packages/pet-core/src/data/lines-more.js +1 -1
  239. package/packages/pet-core/src/data/lines.js +1 -1
  240. package/packages/pet-core/src/data/minutes.js +2 -0
  241. package/packages/pet-core/src/data/pomodoro.js +1 -3
  242. package/packages/pet-core/src/data/school.js +1 -1
  243. package/packages/pet-core/src/data/shop.js +32 -2
  244. package/packages/pet-core/src/data/skins.js +3 -3
  245. package/packages/pet-core/src/data/travel.js +56 -1
  246. package/packages/pet-core/src/data.js +1 -0
  247. package/routes.js +28 -38
  248. package/scripts/extension-bundle.mjs +17 -0
  249. package/scripts/extension-entry.mjs +16 -13
  250. package/scripts/extension-files.mjs +17 -0
  251. package/scripts/gitee-publish.sh +125 -0
  252. package/scripts/official-extensions.mjs +17 -0
  253. package/scripts/pack-farm-fix4.py +70 -0
  254. package/scripts/pack-farm-ui.py +42 -0
  255. package/scripts/release-notes.mjs +4 -1
  256. package/scripts/typecheck.mjs +3 -3
  257. package/snapshot.js +19 -11
  258. package/src/client/art-framing.js +27 -0
  259. package/src/client/art-path.js +13 -0
  260. package/src/client/art-style.js +10 -0
  261. package/src/client/art.js +116 -7
  262. package/src/client/asset-background.js +30 -0
  263. package/src/client/auto-collapse.js +3 -1
  264. package/src/client/birthday.js +47 -0
  265. package/src/client/css-base.js +64 -4
  266. package/src/client/css-card.js +2 -2
  267. package/src/client/css-fishing.js +8 -0
  268. package/src/client/css-tabs.js +36 -3
  269. package/src/client/css-tiles.js +8 -2
  270. package/src/client/desktop/ext-window.js +42 -0
  271. package/src/client/desktop/geometry.js +8 -30
  272. package/src/client/desktop/index.js +55 -56
  273. package/src/client/desktop/measure.js +42 -133
  274. package/src/client/desktop/panel-window.js +4 -2
  275. package/src/client/desktop/place.js +13 -9
  276. package/src/client/desktop-shell.js +3 -3
  277. package/src/client/effects.js +3 -3
  278. package/src/client/ext-apps.js +60 -3
  279. package/src/client/ext-import.js +111 -0
  280. package/src/client/extensions.js +10 -2
  281. package/src/client/feedback-art.js +85 -0
  282. package/src/client/feedback-framing.js +348 -0
  283. package/src/client/hover-restore.js +125 -0
  284. package/src/client/index.js +29 -24
  285. package/src/client/io.js +27 -1
  286. package/src/client/layout.js +3 -50
  287. package/src/client/life.js +18 -5
  288. package/src/client/normalize-economy.js +18 -0
  289. package/src/client/normalize-fishing.js +31 -2
  290. package/src/client/normalize.js +17 -3
  291. package/src/client/panel.js +71 -45
  292. package/src/client/pending.js +8 -4
  293. package/src/client/pig-actions.js +100 -0
  294. package/src/client/pig-size.js +24 -10
  295. package/src/client/pointer-repaint.js +40 -0
  296. package/src/client/poll-key.js +68 -0
  297. package/src/client/render-hold.js +51 -0
  298. package/src/client/scene.js +9 -1
  299. package/src/client/split.js +48 -9
  300. package/src/client/styles.js +2 -1
  301. package/src/client/tabs/achievements.js +2 -2
  302. package/src/client/tabs/bag.js +14 -1
  303. package/src/client/tabs/card.js +65 -4
  304. package/src/client/tabs/crown.js +2 -2
  305. package/src/client/tabs/dev-economy.js +41 -0
  306. package/src/client/tabs/dev.js +70 -4
  307. package/src/client/tabs/dex.js +3 -2
  308. package/src/client/tabs/extensions.js +3 -1
  309. package/src/client/tabs/fishing-fight.js +52 -23
  310. package/src/client/tabs/fishing.js +73 -7
  311. package/src/client/tabs/fullscreen.js +49 -0
  312. package/src/client/tabs/home.js +1 -1
  313. package/src/client/tabs/pomodoro.js +3 -3
  314. package/src/client/tabs/proxy.js +97 -0
  315. package/src/client/tabs/settings.js +51 -9
  316. package/src/client/tabs/skin-guide.js +20 -18
  317. package/src/client/tabs/skins.js +2 -2
  318. package/src/client/tabs/status.js +14 -2
  319. package/src/client/tabs/travel.js +2 -1
  320. package/src/client/tabs/update.js +5 -4
  321. package/src/client/tabs/work.js +6 -0
  322. package/src/client/update-notice.js +24 -1
  323. package/src/client/wallet.js +81 -0
  324. package/store/api.js +17 -1
  325. package/store/art-route.js +41 -0
  326. package/store/ext-actions.js +1 -1
  327. package/store/ext-api.js +33 -9
  328. package/store/ext-download.js +120 -0
  329. package/store/ext-files.js +97 -0
  330. package/store/ext-import-route.js +35 -0
  331. package/store/ext-import.js +117 -0
  332. package/store/ext-runtime.js +110 -105
  333. package/store/official-extensions.json +2554 -0
  334. package/store/skin-pack.js +55 -11
  335. package/assets/badge-pig-blindbox-first.svg +0 -36
  336. package/assets/badge-pig-blindbox-six.svg +0 -36
  337. package/assets/badge-pig-blindbox-ten.svg +0 -36
  338. package/assets/badge-pig-clean-ten.svg +0 -36
  339. package/assets/badge-pig-devil.svg +0 -36
  340. package/assets/badge-pig-farm-first.svg +0 -36
  341. package/assets/badge-pig-farm-five.svg +0 -36
  342. package/assets/badge-pig-farm-ten.svg +0 -36
  343. package/assets/badge-pig-first-class.svg +0 -36
  344. package/assets/badge-pig-first-fish.svg +0 -36
  345. package/assets/badge-pig-first-job.svg +0 -36
  346. package/assets/badge-pig-first-meal.svg +0 -36
  347. package/assets/badge-pig-first-trip.svg +0 -36
  348. package/assets/badge-pig-fish-five.svg +0 -36
  349. package/assets/badge-pig-gacha-first.svg +0 -36
  350. package/assets/badge-pig-gacha-gold.svg +0 -36
  351. package/assets/badge-pig-gacha-machines.svg +0 -36
  352. package/assets/badge-pig-grown-up.svg +0 -36
  353. package/assets/badge-pig-jobs-hundred.svg +0 -36
  354. package/assets/badge-pig-jobs-ten.svg +0 -36
  355. package/assets/badge-pig-king.svg +0 -36
  356. package/assets/badge-pig-mine-deep.svg +0 -36
  357. package/assets/badge-pig-mine-first.svg +0 -36
  358. package/assets/badge-pig-mine-fossils.svg +0 -36
  359. package/assets/badge-pig-pet-hundred.svg +0 -36
  360. package/assets/badge-pig-play-twenty.svg +0 -36
  361. package/assets/badge-pig-souvenirs-three.svg +0 -36
  362. package/assets/badge-pig-trips-ten.svg +0 -36
  363. package/assets/career-astronaut-bathe.svg +0 -18
  364. package/assets/career-astronaut-eat.svg +0 -18
  365. package/assets/career-astronaut-pet.svg +0 -18
  366. package/assets/career-astronaut-play.svg +0 -18
  367. package/assets/career-astronaut-relaxed.svg +0 -18
  368. package/assets/career-astronaut-study.svg +0 -18
  369. package/assets/career-astronaut-trip.svg +0 -18
  370. package/assets/career-astronaut-work.svg +0 -18
  371. package/assets/career-astronaut.svg +0 -18
  372. package/assets/career-chef-bathe.svg +0 -18
  373. package/assets/career-chef-eat.svg +0 -18
  374. package/assets/career-chef-pet.svg +0 -18
  375. package/assets/career-chef-play.svg +0 -18
  376. package/assets/career-chef-relaxed.svg +0 -18
  377. package/assets/career-chef-study.svg +0 -18
  378. package/assets/career-chef-trip.svg +0 -18
  379. package/assets/career-chef-work.svg +0 -18
  380. package/assets/career-chef.svg +0 -18
  381. package/assets/elder.svg +0 -35
  382. package/assets/pig-devil-bathe.svg +0 -71
  383. package/assets/pig-devil-eat.svg +0 -61
  384. package/assets/pig-devil-fly.svg +0 -51
  385. package/assets/pig-devil-pet.svg +0 -55
  386. package/assets/pig-devil-play.svg +0 -62
  387. package/assets/pig-devil-relaxed.svg +0 -51
  388. package/assets/pig-devil-study.svg +0 -61
  389. package/assets/pig-devil-trip.svg +0 -65
  390. package/assets/pig-devil-work.svg +0 -67
  391. package/assets/pig-devil.svg +0 -51
  392. package/assets/pig-fat-bathe.svg +0 -11
  393. package/assets/pig-fat-eat.svg +0 -13
  394. package/assets/pig-fat-pet.svg +0 -11
  395. package/assets/pig-fat-play.svg +0 -11
  396. package/assets/pig-fat-relaxed.svg +0 -11
  397. package/assets/pig-fat-study.svg +0 -13
  398. package/assets/pig-fat-trip.svg +0 -13
  399. package/assets/pig-fat-work.svg +0 -13
  400. package/assets/pig-fat.svg +0 -13
  401. package/assets/pig-king-bathe.svg +0 -38
  402. package/assets/pig-king-eat.svg +0 -45
  403. package/assets/pig-king-pet.svg +0 -45
  404. package/assets/pig-king-play.svg +0 -45
  405. package/assets/pig-king-relaxed.svg +0 -56
  406. package/assets/pig-king-study.svg +0 -45
  407. package/assets/pig-king-trip.svg +0 -45
  408. package/assets/pig-king-work.svg +0 -45
  409. package/assets/pig-king.svg +0 -56
  410. package/assets/pig-round-bathe.svg +0 -11
  411. package/assets/pig-round-eat.svg +0 -11
  412. package/assets/pig-round-pet.svg +0 -11
  413. package/assets/pig-round-play.svg +0 -11
  414. package/assets/pig-round-relaxed.svg +0 -11
  415. package/assets/pig-round-study.svg +0 -11
  416. package/assets/pig-round-trip.svg +0 -11
  417. package/assets/pig-round-work.svg +0 -11
  418. package/assets/pig-round.svg +0 -13
  419. package/assets/piglet.svg +0 -30
  420. package/assets/skin-angel-bathe.svg +0 -18
  421. package/assets/skin-angel-eat.svg +0 -18
  422. package/assets/skin-angel-pet.svg +0 -18
  423. package/assets/skin-angel-play.svg +0 -18
  424. package/assets/skin-angel-relaxed.svg +0 -18
  425. package/assets/skin-angel-study.svg +0 -18
  426. package/assets/skin-angel-trip.svg +0 -18
  427. package/assets/skin-angel-work.svg +0 -18
  428. package/assets/skin-angel.svg +0 -18
  429. package/assets/skin-detective-bathe.svg +0 -18
  430. package/assets/skin-detective-eat.svg +0 -18
  431. package/assets/skin-detective-pet.svg +0 -18
  432. package/assets/skin-detective-play.svg +0 -18
  433. package/assets/skin-detective-relaxed.svg +0 -18
  434. package/assets/skin-detective-study.svg +0 -18
  435. package/assets/skin-detective-trip.svg +0 -18
  436. package/assets/skin-detective-work.svg +0 -18
  437. package/assets/skin-detective.svg +0 -18
  438. package/assets/skin-mint-bathe.svg +0 -30
  439. package/assets/skin-mint-eat.svg +0 -30
  440. package/assets/skin-mint-pet.svg +0 -30
  441. package/assets/skin-mint-play.svg +0 -30
  442. package/assets/skin-mint.svg +0 -30
  443. package/assets/skin-pirate-bathe.svg +0 -18
  444. package/assets/skin-pirate-eat.svg +0 -18
  445. package/assets/skin-pirate-pet.svg +0 -18
  446. package/assets/skin-pirate-play.svg +0 -18
  447. package/assets/skin-pirate-relaxed.svg +0 -18
  448. package/assets/skin-pirate-study.svg +0 -18
  449. package/assets/skin-pirate-trip.svg +0 -18
  450. package/assets/skin-pirate-work.svg +0 -18
  451. package/assets/skin-pirate.svg +0 -18
  452. package/assets/skin-wizard-bathe.svg +0 -18
  453. package/assets/skin-wizard-eat.svg +0 -18
  454. package/assets/skin-wizard-pet.svg +0 -18
  455. package/assets/skin-wizard-play.svg +0 -18
  456. package/assets/skin-wizard-relaxed.svg +0 -18
  457. package/assets/skin-wizard-study.svg +0 -18
  458. package/assets/skin-wizard-trip.svg +0 -18
  459. package/assets/skin-wizard-work.svg +0 -18
  460. package/assets/skin-wizard.svg +0 -18
package/CHANGELOG.md CHANGED
@@ -7,6 +7,159 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.37.0] — 2026-10-15 · 菜园 4.0:QQ 农场玩法、帮工、离线自动照顾(外壳 0.6.6)
11
+
12
+ ### 菜园 4.0(需要游戏 0.37.0)
13
+ - 菜园照 QQ 农场的规矩重做:29 种作物、18 块地(开局 6 块,其余是荒地,每块 10000 菜币开垦),按真实时间长,关着也照长;长的时候会长草、生虫、干旱(雨天不旱),浇水、除草、杀虫免费还加经验;产量有浮动,收完留枯苗要铲掉才能再种;南瓜、橘子、柚子能收两季,石榴、椰子三季。
14
+ - 菜园有等级:升下一级要「等级 × 100」经验,种子按等级解锁;三种肥料分别多长 2 / 3.5 / 5 小时。一键收获 / 照料 / 铲除 / 播种要先在商店买收割镰、喷雾桶、平地耙、播种器。
15
+ - 两种界面、同一份数据:面板里是**小农场**(前 6 块地 + 一个主按钮做最该做的事,后面的地用一行字报情况);点「大农场」打开**大农场**——桌面版是一扇能拉大缩小的窗口,网页版铺满页面——横版场景、18 块地斜着排、底部工具栏,点地块用手里的工具,也能用 Q/W/E/R 快捷键。大、小农场换成动森风的暖羊皮纸、薄荷按钮和花叶木纹点缀,种子袋、肥料、仓库、商店和购买框也换成同一套样式;小农场的五个工具与底部操作在窄面板里也能完整使用。
16
+ - 帮工猪管 4 / 8 / 16 块地,赚到自己种同样地数的九成(原来七成),仍是六小时收一次仓、满级每小时最多 400;只补这块地原来指定的作物,缺那种种子就停在空地并报「缺××种子」,开荒地先清理再补种(清理不给经验、不吃体力)。
17
+ - 农具档(顺手 / 轻巧 / 高效)从商店下架:3.0.0 线上买过的按买到档位累计退 **1000 / 4000 / 13000** 菜币,只退一次。
18
+ - 老存档照旧:开过的地算数;地里的作物当作长完,按原来的产量收进仓库;旧洒水器、旧肥料和买过的农具档按原价退成菜币;大水壶换成喷雾桶。
19
+ - 扩展素材不再限制图片张数和总大小,可以装下画面更丰富的扩展;每张图片仍会检查大小和完整性。扩展也能打开自己的大窗口,菜园 4.0.8 需要游戏 0.37.0。
20
+
21
+ ### 小猪
22
+ - 普通猪每 8~16 秒眨一次眼;摸猪成功后它会害羞一小会儿,切换状态、隐藏或拖动时停下。
23
+ - 小猪新增眨眼与「摸猪害羞」两张动作图(沿用 0.36.2 起的平涂无描边画风)。
24
+
25
+ ### 离开时和系统时间不对的时候
26
+ - 离线自动照顾从「只吃东西」扩到三类:脏了用一份洗浴用品、闷了拿一个玩具,都优先刚好过线又最便宜的;回来会告诉你用了什么,也写进当天日记,设置里可关。
27
+ - 系统时间被改错或对表拨回去时,猪猪原地不动:不补算、也不重复算;等时间调回来、真实时间越过原来那一点,才接着只算新增的那一段。
28
+ - 离开太久、背包里的东西吃完之后还能撑 10 天;超过 10 天生命垂危(健康只剩 1 格、不能出门),累计满 30 天才撑不住离开(用还魂丹还能救回来)。生命垂危时也能带去看医生,看诊费按同一只猪看诊次数阶梯(第 1 次免费,之后 390 / 585,第 4 次起封顶 780)。
29
+ - 一次结算最多推算到「背包能撑的天数 + 10 天」(绝对不超过 400 天),离开再久也不会一下子长几百天,更不会把面板卡住;年龄只按实际推算过的那一段增长。
30
+
31
+ ### 面板、桌面版和扩展
32
+ - 面板刷新更跟手:画面没变就不重画,菜园的悬停卡不再被抹掉;真变了再重画时也会把悬停卡补回来;按住按钮、松开、点完这一套之前不会中途换掉按住的按钮。
33
+ - 打开大农场时保留原面板,关掉大窗口焦点回到面板(需要桌面外壳 0.6.6)。网页版大农场铺满页面时不再露出面板底色;面板很矮时弹层、遮罩和购买框都不会戳出面板底边;大农场的「开垦」牌不再被旁边地块压住,点得到。
34
+ - 下载扩展遇到坏包会指出真因:单张图片太大、图片名单写坏或文件校验不符都会明确报错,不会悄悄装一个没图的扩展。
35
+ - 桌面版:小猪置顶丢了会在 3 秒内抢回来;全屏时小猪显示成什么样可以在设置里选(见下节)。
36
+
37
+ ### 全屏时隐藏小猪(需要桌面外壳 0.6.5)
38
+ - 设置新增「全屏时(玩游戏、看视频)」:**隐藏小猪**(默认)/ **照常显示**。隐藏时只看小猪所在的那块屏,有程序全屏就把猪和面板收起来,退出全屏再回来;照常显示时猪压在全屏画面上面(独占全屏的游戏系统不让任何窗口盖上去)。选择存在这台电脑上,不进存档。
39
+ - 全屏检测:Windows 用系统自带的 PowerShell 常驻一个小进程(每秒问一次前台窗口),不加新依赖;PowerShell 被禁用时设置里会说明,猪照常显示。Linux 用 xprop(Wayland 下只认得 X11 程序的全屏);macOS 全屏程序在单独的桌面空间,「照常显示」时猪跟进去。旧外壳不显示这一项。
40
+
41
+ ### 修好的问题
42
+ - 菜园扩展遇到被改坏的存档(经验值异常)不会再卡住整个菜园,等级照常算、菜照常种。
43
+ - 离开很久回来,猪猪的年龄不会再少算几天,日记也不会缺页。
44
+ - 生命垂危时原本只能干等:现在能带它去看医生,看一次就把生命值回满(第 1 次看诊免费)。
45
+ - 离开特别久(几百天)时回来快了大约 6 倍,不用再等面板卡一下。
46
+
47
+ ## [0.36.2] — 2026-10-14 · 热修:平涂小猪、离开时自动吃东西、右键更稳(外壳 0.6.5)
48
+
49
+ ### 小猪
50
+ - 小猪立绘换回旧版平涂无描边,去掉「小猪画风」设置。
51
+ - 先撤回开心、照料、闲着与旅行时的反馈图(如三只猪叠在一起那张),照常显示立绘和动作图。
52
+
53
+ ### 离开时自动吃背包里的东西
54
+ - 离开(关机、离线、很久没打开)期间,饱食掉到饿了的线时,猪猪会自己从背包吃一份食物:优先刚好吃饱又最便宜的。不吃药、还魂丹、礼物等非食物。
55
+ - 回来时冒一句「你不在的时候,猪猪自己吃了 苹果×N」,也写进当天日记;背包空了会提示。设置里可关闭,旧存档默认开启。
56
+
57
+ ### 桌面版(外壳 0.6.5)
58
+ - 启动时预先准备好面板:第一次右键马上打开;面板还在加载时再按右键不会把它关掉。
59
+ - 修复轮询刷新替换掉按下中的按钮,导致购买或设置开关偶发点了没反应。
60
+
61
+ ## [0.36.1] — 2026-10-12 · 扩展整包下载(外壳 0.6.4 不变)
62
+
63
+ ### 扩展整包下载
64
+ - 在线安装扩展改成只下一个扩展包(`.piggyext`),不再把代码和几十张图片一个个下:请求少了,国内直连更不容易半路卡住。目录里每条多了整包的地址和校验值;0.36.0 及更早的游戏照旧逐个下载,不受影响。
65
+
66
+ ## [0.36.0] — 2026-10-11 · 动森风菜园矿洞、无描边画风(外壳 0.6.4 不变)
67
+
68
+ ### 小猪画风
69
+ - 完成无黑色描边的 181 张小猪审图候选,保留原角色、耳型、动作和场景;透明 PNG 按基础、形态、皮肤、反馈、徽章分类,逐字提示词和对照总览同步。整套获用户确认后接入游戏;设置新增「无描边 / 黑色描边」,本机记住选择,桌面猪与面板同步切换。导入皮肤保持原图,两套立绘分别校准可见高度,保留原有玩法和状态优先级。
70
+ - 桌面边缘限制覆盖两套立绘的最大可见宽度,修复放大后胖猪电脑图被裁切的问题;换动作或画风仍保持位置和窗口尺寸。
71
+
72
+ ### 菜园、矿洞换成动森风画面
73
+ - 菜园、矿洞的界面换成手绘风素材:海边菜园、木框菜畦、16 种作物各 3 个生长阶段,木牌手账风的矿洞、矿石和化石都有自己的图。
74
+ - 菜园:顶上吊牌计分板放帮工,中间两列菜畦,玩家自己的猪站在旁边;底部木排四个工具一直摆着(不用再点开工具抽屉),下面是仓库、主按钮、商店。玩法和数值都没变。
75
+ - 矿洞:没挖开的格子一律是同样的岩块,矿和化石挖开才看得到;够不着的格子调暗;猪站在最后挖开的那格。
76
+ - 菜园、矿洞升 3.0.0,要游戏 0.36.0 以上。
77
+
78
+ ### 扩展可以带图片
79
+ - 扩展目录多了 `assets/`(manifest 里 `assets` 列出),在线下载、本地导入、官方校验都把图片算进去;面板里用 `app.asset(名字)` 取图,`app.pigArt()` 取玩家现在的猪图。规则见[写扩展](docs/guides/writing-extensions.md)。
80
+
81
+ ## [0.35.0] — 2026-10-10 · 经济体系、新立绘、扩展自动化(外壳 0.6.4)
82
+
83
+ ### 新立绘
84
+ - 普通猪、形态、皮肤、职业、成长阶段、动作、睡姿、不同状态的小猪和成就徽章,全部换成统一的黑色描边透明 PNG,按类型收进 `assets/pigs/`。游戏包反而小了一点。
85
+ - 打工图改成猪趴在地上敲电脑;胖猪的宽图不再被裁掉。
86
+ - 各种立绘按「猪的可见高度」统一校准,换皮肤、换形态时看起来一样大。
87
+ - 自定义皮肤包改收 PNG,制作教程和示例包跟着换;以前做的 SVG 皮肤包照样能导入,已经装过的照常显示。
88
+
89
+ ### 经济
90
+ - **不再限制每天玩几次**:番茄钟每个都给奖励;在线礼包每在线 1 小时一个、不设上限;猪在打工、上学、旅行时也能手动钓鱼。
91
+ - 金币的进出都按来源记账,调试页「经济」能看钱从哪来、花到哪去([设计](docs/design/economy.md))。
92
+ - **扩展有自己的钱**:菜币、矿石币、资质凭证……按扩展定的汇率跟金币互换(换成金币不收费,用金币买多收 5%);删掉扩展时剩下的钱自动换成金币。背包里新增「钱包」页。
93
+ - 各玩法的时薪都按收入区间核过([J1](docs/numbers/J1-economy.md)、[J2](docs/numbers/J2-automation.md))。
94
+
95
+ ### 玩法
96
+ - **钓鱼 2.0**:40 种鱼、4 个钓点(小河、湖、海边、只在晚上开的夜潭)、4 把鱼竿;每种鱼游法不同、速度区间不同。等咬钩只要几秒(竹竿 3~8 秒),难度放在搏斗上,好竿让搏斗更容易;同种鱼越大越值钱。鲜虾鱼饵 15 → 6、夜光鱼饵 40 → 8。老存档送一把碳素竿。
97
+ - **自动钓鱼加长**:可以买鱼篓、2 / 4 小时的自动钓、鱼饵盒;原来的 30 / 60 分钟一点没变。
98
+ - **旅行 7 → 15 个地点**:公园、游乐场、动物园、海洋馆、竹林、雪山、沙漠、太空站(当过宇航员才能去),26 种新纪念品各有一句小故事。
99
+ - **商店新上 27 件**:食物 12、洗浴 6、玩具 9。
100
+ - **每个职业都能打 10 分钟短班**:时薪跟整班一样;短班不算完整一班,不会因为连打短班过劳生病。
101
+
102
+ ### 扩展(都要游戏 0.35.0)
103
+ - **菜园 2.1.0**:16 种作物、8 块地;水壶、收割镰、播种器买了才能一键浇水 / 收获 / 种满;可以雇帮工猪替你收菜补种。界面换成插画版:天空、远山、木框田,主按钮自动做最该做的事。
104
+ - **矿洞 2.1.0**:去掉体力,20 层,5 级镐一级级开路,矿脉、宝箱、化石、炸弹、电梯;可以雇小矿工猪替你挖。界面换成插画版洞窟。
105
+ - **盲盒 3.0.0**:资质凭证放进钱包,1 张值 15 金币,能换成金币但不能用金币买;老存档的凭证打开盲盒时自动搬进钱包。
106
+ - **扭蛋 1.2.0**:三台机器加进商店新上的东西。
107
+ - 帮工、小矿工、自动钓鱼的仓都是攒满 6 小时就停,回来收一下接着干;满级每小时最多 400。
108
+ - **扩展可以从文件导入**:「设置 → 扩展 → 📦 从文件导入」,选发布页上的扩展包 `.piggyext`(或扩展的三个文件)。官方扩展断网也能装;不是官方的先提醒风险,确认后才装,标「本地导入」、不会被在线更新盖掉。
109
+
110
+ ### 桌面版(外壳 0.6.4)
111
+ - 新增代理设置:跟随系统、直连、自定义 HTTP / SOCKS5;游戏更新、外壳更新和在线扩展共用。
112
+ - 小猪大小改成「− 百分比 +」,每次 10%,也能直接输入;换皮肤后照样能调,两个窗口马上同步。
113
+ - 面板开着时,签到 / 礼包小气泡挪到猪旁边,猪说的话也不再被面板挡住。
114
+ - 少问 GitHub:版本列表和在线扩展目录存在本机,一段时间内不重复请求,带 ETag 问「有没有变」,不再撞「每小时次数用完」。
115
+ - 修复两个窗口抢消息导致调试台词不显示。
116
+
117
+ ### 其他
118
+ - 网页版自带的 emoji 字体补上新玩法和扩展里用到的 40 多个表情。
119
+
120
+ ## [0.34.1] — 2026-10-09 · Gitee 的 Windows 安装包改成首次启动下载游戏(外壳 0.6.3)
121
+
122
+ - **Gitee 的 Windows 安装包不再自带游戏**:安装包离 Gitee 单个附件 100MB 的上限只剩一点点,0.34.0 加了新图就放不下了。现在安装包只带外壳,第一次打开会弹个小窗口「正在下载小猪」,下好就进游戏(约 3.5MB);断网或下载失败会说明原因,可以重试、打开下载页或退出。以后更新照旧在主屏「🔄 更新」里。
123
+ GitHub 的安装包、Gitee 的 Linux 和 macOS 安装包不变,照旧自带游戏。
124
+ - 游戏包以后要是超过 95MB,会自动拆成几卷上传,外壳 0.6.3 起按顺序下载、逐卷校验再拼起来;老外壳看不到分卷的版本,会提示先更新外壳。
125
+ - 开发用:`PIGGY_BUNDLED_GAME`(模拟安装包不带游戏)、`PIGGY_GAME_PIN`(指定首次下载用的清单),见 HANDOFF 8.2。
126
+
127
+
128
+ ## [0.34.0] — 2026-10-09 · 一猪多图、生日蛋糕、打盹睡姿(建议更新桌面外壳到 0.6.2)
129
+
130
+ **一猪多图**
131
+ - 普通小猪按状态换成对应的图(图的灵感来自 [PigHub](https://pighub.top/),由 AI 重新画成本项目的样子,见 README「致谢与许可」):
132
+ - 还没拆的纸盒是「猪递」;去世当天还是小猪的样子,满一天后是墓碑旁的幽灵;盲盒寻访页有寻访猪。
133
+ - 生病按病种和阶段:感冒流鼻涕、发烧(感冒第 2 期)、皮肤病起红疹、头晕晕乎乎;咳嗽、肠胃和病危保持原样加病色。
134
+ - 饿了、困了、孤单、脏了、开心;喂食、洗澡、玩耍、升级;上学、兴趣班(健身、听歌、画画)、钓鱼、旅行;部分职业打工(发传单、歌手、作曲、漫画家、运动员、教练、园丁、花店、CEO、明星)。
135
+ - 同一状态有几张图的按小时轮换。专属形态(猪猪王、恶魔猪等)、圆润/胖胖体型和导入的皮肤保留自己的立绘。
136
+ - 几张还没想好放哪的图(徽章、检疫合格、笼子等)先留着不用。
137
+ - **生日**:猪生日当天头顶冒 🎂,点一下开个小派对——猪换成生日派对图、冒彩带,15 秒后恢复;当天点过就不再冒。不发奖励(以后另定)。
138
+ - 图片离线处理成透明底 PNG、长边 256px,桌面版不再有白框;两张听歌图里耳机线、头箍围住的白底也去掉了。
139
+
140
+ **打盹和动作**
141
+ - 打盹时按当前形态换成睡姿,头顶偶尔冒 Zzz;自定义皮肤可以在 ZIP 里加可选的 `sleep.svg`,制作教程和示例包已更新。
142
+ - 摸头轻压回弹,喂食短跳落地,玩耍左右两次小跳。
143
+
144
+ **桌面版(外壳 0.6.2)**
145
+ - Windows 上从桌面直接移到猪身上右键,第一次就能打开菜单(以前常要点好几次)。
146
+ - 点面板里的照顾按钮时,猪的动作和气泡不再被面板盖住。
147
+ - 右键猪不再顺带摸一下;脏和生病时身边绕着苍蝇/病毒;外出时也能看出脏了(「脏」排在外出和饿前面);恢复桌面版的状态变色。以上来自贡献者 [@tetezi](https://github.com/tetezi) 的 [#8](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/8),谢谢!
148
+
149
+ **调试**
150
+ - 调试页新增「立绘」:每张图一个按钮,写明用在哪,点一下猪就显示这张;能指定做哪个小动作(含打盹)、马上过生日;「成长生病」页加了「发烧」。桌面版也能用(以前桌面版的「小动作」按钮是灰的)。
151
+
152
+ **扩展**
153
+ - 盲盒 2.2.2:寻访页加寻访猪图。
154
+
155
+ ## [0.33.1] — 2026-10-07 · 修:开着面板拖猪,面板越跑越远(要更新桌面外壳到 0.6.1)
156
+
157
+ - **Windows 缩放 125%/150% 下开着面板拖猪,面板和猪越拉越远、松手后面板落在别处**(用户反馈录屏):根子在桌面外壳拖动时每一帧「读回窗口大小再设回去」,分数缩放下读回来的比设的大 1px,拖一次猪窗口能从 345 宽涨到 482,钉在窗口右下角的猪被越推越远,鼠标也越甩越远。现在拖动全程用请求的大小、不用读回值;面板每一帧都按猪现在在哪直接算位置,不再在上一帧的面板位置上累加。
158
+ - 拖动中面板和猪哪边对齐不再中途换边(以前拖到屏幕左边面板会横跳一个面板宽),放不下就停在屏幕边;松手后原来那边还放得下就保持。
159
+ - 在 Win11 虚拟机 125% 缩放下用真鼠标开着面板拖 3 次并录屏逐帧量:面板和猪的相对位置拖动全程 90% 的帧偏差 ≤2px、不随时间增长(修前最远偏 204px),猪跟鼠标的距离中位数从 97px 降到 1~5px;Linux GNOME 9 组真拖录屏回归通过。
160
+ - 游戏包会顺带把猪在窗口里的位置报给外壳(贴屏幕边时内容在窗口里挪过),面板按它贴猪;老外壳忽略这条,不影响。
161
+ - 开发用:`tools/drag-film.py --panel` 逐帧量面板和猪的相对位置。
162
+
10
163
  ## [0.33.0] — 2026-10-07 · 桌面版猪和面板分开、扩展成就
11
164
 
12
165
  ### 桌面版:猪和面板各一个窗口(要更新桌面外壳到 0.6.0)
@@ -134,7 +287,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
134
287
  - 重复的加潜能(最多 6 潜)并给资质凭证;凭证商店换盲盒券、指定五星 / 六星、豪华大餐、百草丹。
135
288
  - 开盒:补给箱落下,箱缝透出星级颜色的光再打开;十连两行小箱子逐个翻开,可以跳过;六星撒彩纸。
136
289
  - 1.0 的收集自动换算:摆件保留为潜能,碎片 1 换 2 资质凭证。
137
- - 数值单 `docs/tasks/numbers/X1-blindbox.md`。
290
+ - 数值单 `docs/numbers/X1-blindbox.md`。
138
291
 
139
292
  ## [0.30.0-rc.2] — 2026-10-05 · 盲盒上线 + rc.1 反馈修复(测试版)
140
293
 
@@ -146,7 +299,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
146
299
  - 重复的变碎片,10 碎片换一个没有的普通款,40 碎片换隐藏款。
147
300
  - 开盒:盒子摇两下打开,摆件一个个弹出来,新的标 NEW;隐藏款带金光、撒彩纸。展示柜里每个系列一排小底座,没抽到的是剪影,点一下看介绍,集齐有 🏅。
148
301
  - 装了盲盒以后,签到有 15%、在线礼包有 12% 的机会多送一张🎟 盲盒券,免费开 1 个。
149
- - 数值单 `docs/tasks/numbers/X1-blindbox.md`,代码 `extensions/blindbox/`。
302
+ - 数值单 `docs/numbers/X1-blindbox.md`,代码 `extensions/blindbox/`。
150
303
  - 猪在外面时也能直接点打工、上课、旅行、自动钓鱼:先问「结束 xxx,改去 yyy 吗?」,确认后叫回来再出发(打工到一半没有这一班工钱,上学、旅行退钱,自动钓鱼退鱼饵)。
151
304
 
152
305
  ### Changed
@@ -165,7 +318,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
165
318
 
166
319
  ### Added
167
320
  - **钓鱼三种搏斗玩法**:鱼咬钩后随机是圆盘、竖条拉锯、拉力收线之一(原型见 `docs/prototypes/fishing-fight.html`)。
168
- - **台词翻倍**:原有 32 个场景每个翻倍,新增出门打工 / 上学 / 旅行、买东西、钱不够、钓到鱼 / 稀有鱼 / 鱼跑了、换皮肤、体型变化(审稿单 `docs/tasks/numbers/G4-lines.md`)。同一场景最近 3 句不重复。
321
+ - **台词翻倍**:原有 32 个场景每个翻倍,新增出门打工 / 上学 / 旅行、买东西、钱不够、钓到鱼 / 稀有鱼 / 鱼跑了、换皮肤、体型变化(审稿单 `docs/numbers/G4-lines.md`)。同一场景最近 3 句不重复。
169
322
  - **按时间说话**:早上、中午、下午、傍晚、深夜、凌晨各问候一次;在线满 90 分钟提醒喝水、满 2 小时提醒休息眼睛;元旦、情人节、春节、元宵、清明、劳动节、儿童节、端午、七夕、中秋、国庆、圣诞和猪的生日(农历日期写到 2029 年);周末问候。
170
323
  - **摸不同部位**:左键点猪会真的摸它,头、耳朵、鼻子、肚子、背、尾巴、脚各有反应和台词;30 秒内第 8 下开始不耐烦、不再加心情,停手 1 分钟消气。
171
324
  - **猪自己找事做**:面板收着、猪在家时,每 3–8 分钟打滚、打盹、追蝴蝶、挠痒、伸懒腰、看屏幕或吹泡泡。
@@ -202,7 +355,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
202
355
  - **还魂丹放进药品货架**(商店、背包、图鉴都一样),不再单独一个「复活」格子。
203
356
  - 图鉴道具的筛选页签横着放不下时,可以用鼠标滚轮左右滚。
204
357
  - **更新入口收进设置**:主菜单去掉「更新」格子;有新正式版时设置格子冒红点,设置页顶部「🔄 更新」带红点。更新面板按正式版分组,测试版收在对应正式版下面、默认折叠,标「手动安装」;红点和「更新到最新」只看正式版。
205
- - **照顾数值调整**(确认单 `docs/tasks/numbers/G2-care-balance.md`):吃东西不再扣清洁;洗澡扣饱食、玩耍和玩具扣清洁都减半左右;只有饱食已经 100% 还硬喂才可能胀气,概率 15%;心情每小时掉 2.4(原 3.6),清洁每小时掉 3.6(原 4.2)。
358
+ - **照顾数值调整**(确认单 `docs/numbers/G2-care-balance.md`):吃东西不再扣清洁;洗澡扣饱食、玩耍和玩具扣清洁都减半左右;只有饱食已经 100% 还硬喂才可能胀气,概率 15%;心情每小时掉 2.4(原 3.6),清洁每小时掉 3.6(原 4.2)。
206
359
 
207
360
  ### Fixed
208
361
  - **桌面版导入皮肤 ZIP 总是失败**(提示「ZIP 目录损坏」或一串英文):桌面程序把上传的文件当文字读坏了。现在游戏改用文本方式上传,DSH 网页版和桌面版都能导入,不用更新桌面程序。ZIP 损坏时提示「ZIP 文件损坏,请重新压缩后再导入」。
@@ -439,7 +592,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
439
592
 
440
593
  ## [0.25.0] — 2026-10-01 · — B6 台词
441
594
 
442
- - 24 个场景、90 多句台词(文案见 `docs/tasks/numbers/B6-lines.md`):吃撑、打工回来/累了、上完课、毕业、旅行回来、长大、复活等都会说话。
595
+ - 24 个场景、90 多句台词(文案见 `docs/numbers/B6-lines.md`):吃撑、打工回来/累了、上完课、毕业、旅行回来、长大、复活等都会说话。
443
596
  - 闲着每 20–40 分钟冒一句,先说需要什么(饿/脏/孤单),不需要才闲聊;离开半小时以上再打开会打招呼。
444
597
  - 状态页:「🙋 叫你「主人」 改」可以改称呼;「🔔 免打扰」开了不闲聊、不弹日常消息,生病和死亡照样提醒。
445
598
  - 学习页:「🎯 兴趣」成了学段旁边的一个按钮。
@@ -447,7 +600,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
447
600
 
448
601
  ## [0.25.0] — 2026-10-01 · — B2 成长 · B3 疾病 · B4 学习→职业
449
602
 
450
- 数值全部照 `docs/tasks/numbers/` 里用户 2026-10-01 确认的单子。存档 8 → 11,每一级升级前都会原样备份。
603
+ 数值全部照 `docs/numbers/` 里用户 2026-10-01 确认的单子。存档 8 → 11,每一级升级前都会原样备份。
451
604
 
452
605
  ### B2 成长
453
606
  - 成长值(存档里的 `xp`)按猪时间自己长:每小时 +100,乘照顾系数(心情、饿脏、健康)。
@@ -513,7 +666,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
513
666
 
514
667
  ### Changed(内部,界面无变化)
515
668
  - 客户端源码移到 `src/client/`,`client.js` 改为 esbuild 产物;`npm run build` 生成,
516
- `test/bundle.test.js` 守住产物新鲜度。详见 [docs/REFACTOR-PLAN.md](docs/REFACTOR-PLAN.md)。
669
+ `test/bundle.test.js` 守住产物新鲜度。详见 [docs/archive/REFACTOR-PLAN.md](docs/archive/REFACTOR-PLAN.md)。
517
670
  - 新增 [docs/CONVENTIONS.md](docs/CONVENTIONS.md)(项目版编码规范)。
518
671
  - 分层拆分(均保留同名 barrel,导入路径零改动):`data.js` → `data/` 9 个模块、
519
672
  `core.js` → `core/` 15 个模块、`index.js` → `snapshot/commands/routes`、
@@ -826,7 +979,7 @@ All notable changes to `dsh-pig`. Versions follow the plugin's own
826
979
 
827
980
  ## [0.15.0] — 2026-09-30
828
981
 
829
- 改造计划的第一批(手感 + 商店)。完整计划见 [docs/ROADMAP.md](docs/ROADMAP.md)。
982
+ 改造计划的第一批(手感 + 商店)。完整计划见 [docs/archive/ROADMAP-2026-09-30.md](docs/archive/ROADMAP-2026-09-30.md)。
830
983
 
831
984
  ### Added
832
985
  - **小猪大了一圈。** 40px 在面板里太小了,整套尺寸重排:
@@ -0,0 +1,224 @@
1
+ 本项目的小猪立绘(assets/piglet.svg 及在它基础上改画的各张猪图)参照 Noto Emoji 的 🐖(U+1F416)重绘,
2
+ 属于 Noto Emoji 图片素材的衍生作品。Noto Emoji 的图片素材按 Apache License 2.0 授权,原始声明和许可全文如下。
3
+ 来源:https://github.com/googlefonts/noto-emoji (2D/svg/emoji_u1f416.svg)
4
+
5
+ ----- 原始声明(noto-emoji/2D/svg/LICENSE)-----
6
+
7
+ Copyright 2013 Google, Inc. All Rights Reserved.
8
+
9
+ Licensed under the Apache License, Version 2.0 (the "License");
10
+ you may not use this file except in compliance with the License.
11
+ You may obtain a copy of the License at
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+
15
+ Unless required by applicable law or agreed to in writing, software
16
+ distributed under the License is distributed on an "AS IS" BASIS,
17
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ See the License for the specific language governing permissions and
19
+ limitations under the License.
20
+
21
+ ----- Apache License 2.0 全文 -----
22
+
23
+ Apache License
24
+ Version 2.0, January 2004
25
+ http://www.apache.org/licenses/
26
+
27
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
28
+
29
+ 1. Definitions.
30
+
31
+ "License" shall mean the terms and conditions for use, reproduction,
32
+ and distribution as defined by Sections 1 through 9 of this document.
33
+
34
+ "Licensor" shall mean the copyright owner or entity authorized by
35
+ the copyright owner that is granting the License.
36
+
37
+ "Legal Entity" shall mean the union of the acting entity and all
38
+ other entities that control, are controlled by, or are under common
39
+ control with that entity. For the purposes of this definition,
40
+ "control" means (i) the power, direct or indirect, to cause the
41
+ direction or management of such entity, whether by contract or
42
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
43
+ outstanding shares, or (iii) beneficial ownership of such entity.
44
+
45
+ "You" (or "Your") shall mean an individual or Legal Entity
46
+ exercising permissions granted by this License.
47
+
48
+ "Source" form shall mean the preferred form for making modifications,
49
+ including but not limited to software source code, documentation
50
+ source, and configuration files.
51
+
52
+ "Object" form shall mean any form resulting from mechanical
53
+ transformation or translation of a Source form, including but
54
+ not limited to compiled object code, generated documentation,
55
+ and conversions to other media types.
56
+
57
+ "Work" shall mean the work of authorship, whether in Source or
58
+ Object form, made available under the License, as indicated by a
59
+ copyright notice that is included in or attached to the work
60
+ (an example is provided in the Appendix below).
61
+
62
+ "Derivative Works" shall mean any work, whether in Source or Object
63
+ form, that is based on (or derived from) the Work and for which the
64
+ editorial revisions, annotations, elaborations, or other modifications
65
+ represent, as a whole, an original work of authorship. For the purposes
66
+ of this License, Derivative Works shall not include works that remain
67
+ separable from, or merely link (or bind by name) to the interfaces of,
68
+ the Work and Derivative Works thereof.
69
+
70
+ "Contribution" shall mean any work of authorship, including
71
+ the original version of the Work and any modifications or additions
72
+ to that Work or Derivative Works thereof, that is intentionally
73
+ submitted to Licensor for inclusion in the Work by the copyright owner
74
+ or by an individual or Legal Entity authorized to submit on behalf of
75
+ the copyright owner. For the purposes of this definition, "submitted"
76
+ means any form of electronic, verbal, or written communication sent
77
+ to the Licensor or its representatives, including but not limited to
78
+ communication on electronic mailing lists, source code control systems,
79
+ and issue tracking systems that are managed by, or on behalf of, the
80
+ Licensor for the purpose of discussing and improving the Work, but
81
+ excluding communication that is conspicuously marked or otherwise
82
+ designated in writing by the copyright owner as "Not a Contribution."
83
+
84
+ "Contributor" shall mean Licensor and any individual or Legal Entity
85
+ on behalf of whom a Contribution has been received by Licensor and
86
+ subsequently incorporated within the Work.
87
+
88
+ 2. Grant of Copyright License. Subject to the terms and conditions of
89
+ this License, each Contributor hereby grants to You a perpetual,
90
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
91
+ copyright license to reproduce, prepare Derivative Works of,
92
+ publicly display, publicly perform, sublicense, and distribute the
93
+ Work and such Derivative Works in Source or Object form.
94
+
95
+ 3. Grant of Patent License. Subject to the terms and conditions of
96
+ this License, each Contributor hereby grants to You a perpetual,
97
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
98
+ (except as stated in this section) patent license to make, have made,
99
+ use, offer to sell, sell, import, and otherwise transfer the Work,
100
+ where such license applies only to those patent claims licensable
101
+ by such Contributor that are necessarily infringed by their
102
+ Contribution(s) alone or by combination of their Contribution(s)
103
+ with the Work to which such Contribution(s) was submitted. If You
104
+ institute patent litigation against any entity (including a
105
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
106
+ or a Contribution incorporated within the Work constitutes direct
107
+ or contributory patent infringement, then any patent licenses
108
+ granted to You under this License for that Work shall terminate
109
+ as of the date such litigation is filed.
110
+
111
+ 4. Redistribution. You may reproduce and distribute copies of the
112
+ Work or Derivative Works thereof in any medium, with or without
113
+ modifications, and in Source or Object form, provided that You
114
+ meet the following conditions:
115
+
116
+ (a) You must give any other recipients of the Work or
117
+ Derivative Works a copy of this License; and
118
+
119
+ (b) You must cause any modified files to carry prominent notices
120
+ stating that You changed the files; and
121
+
122
+ (c) You must retain, in the Source form of any Derivative Works
123
+ that You distribute, all copyright, patent, trademark, and
124
+ attribution notices from the Source form of the Work,
125
+ excluding those notices that do not pertain to any part of
126
+ the Derivative Works; and
127
+
128
+ (d) If the Work includes a "NOTICE" text file as part of its
129
+ distribution, then any Derivative Works that You distribute must
130
+ include a readable copy of the attribution notices contained
131
+ within such NOTICE file, excluding those notices that do not
132
+ pertain to any part of the Derivative Works, in at least one
133
+ of the following places: within a NOTICE text file distributed
134
+ as part of the Derivative Works; within the Source form or
135
+ documentation, if provided along with the Derivative Works; or,
136
+ within a display generated by the Derivative Works, if and
137
+ wherever such third-party notices normally appear. The contents
138
+ of the NOTICE file are for informational purposes only and
139
+ do not modify the License. You may add Your own attribution
140
+ notices within Derivative Works that You distribute, alongside
141
+ or as an addendum to the NOTICE text from the Work, provided
142
+ that such additional attribution notices cannot be construed
143
+ as modifying the License.
144
+
145
+ You may add Your own copyright statement to Your modifications and
146
+ may provide additional or different license terms and conditions
147
+ for use, reproduction, or distribution of Your modifications, or
148
+ for any such Derivative Works as a whole, provided Your use,
149
+ reproduction, and distribution of the Work otherwise complies with
150
+ the conditions stated in this License.
151
+
152
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
153
+ any Contribution intentionally submitted for inclusion in the Work
154
+ by You to the Licensor shall be under the terms and conditions of
155
+ this License, without any additional terms or conditions.
156
+ Notwithstanding the above, nothing herein shall supersede or modify
157
+ the terms of any separate license agreement you may have executed
158
+ with Licensor regarding such Contributions.
159
+
160
+ 6. Trademarks. This License does not grant permission to use the trade
161
+ names, trademarks, service marks, or product names of the Licensor,
162
+ except as required for reasonable and customary use in describing the
163
+ origin of the Work and reproducing the content of the NOTICE file.
164
+
165
+ 7. Disclaimer of Warranty. Unless required by applicable law or
166
+ agreed to in writing, Licensor provides the Work (and each
167
+ Contributor provides its Contributions) on an "AS IS" BASIS,
168
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
169
+ implied, including, without limitation, any warranties or conditions
170
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
171
+ PARTICULAR PURPOSE. You are solely responsible for determining the
172
+ appropriateness of using or redistributing the Work and assume any
173
+ risks associated with Your exercise of permissions under this License.
174
+
175
+ 8. Limitation of Liability. In no event and under no legal theory,
176
+ whether in tort (including negligence), contract, or otherwise,
177
+ unless required by applicable law (such as deliberate and grossly
178
+ negligent acts) or agreed to in writing, shall any Contributor be
179
+ liable to You for damages, including any direct, indirect, special,
180
+ incidental, or consequential damages of any character arising as a
181
+ result of this License or out of the use or inability to use the
182
+ Work (including but not limited to damages for loss of goodwill,
183
+ work stoppage, computer failure or malfunction, or any and all
184
+ other commercial damages or losses), even if such Contributor
185
+ has been advised of the possibility of such damages.
186
+
187
+ 9. Accepting Warranty or Additional Liability. While redistributing
188
+ the Work or Derivative Works thereof, You may choose to offer,
189
+ and charge a fee for, acceptance of support, warranty, indemnity,
190
+ or other liability obligations and/or rights consistent with this
191
+ License. However, in accepting such obligations, You may act only
192
+ on Your own behalf and on Your sole responsibility, not on behalf
193
+ of any other Contributor, and only if You agree to indemnify,
194
+ defend, and hold each Contributor harmless for any liability
195
+ incurred by, or claims asserted against, such Contributor by reason
196
+ of your accepting any such warranty or additional liability.
197
+
198
+ END OF TERMS AND CONDITIONS
199
+
200
+ APPENDIX: How to apply the Apache License to your work.
201
+
202
+ To apply the Apache License to your work, attach the following
203
+ boilerplate notice, with the fields enclosed by brackets "[]"
204
+ replaced with your own identifying information. (Don't include
205
+ the brackets!) The text should be enclosed in the appropriate
206
+ comment syntax for the file format. We also recommend that a
207
+ file or class name and description of purpose be included on the
208
+ same "printed page" as the copyright notice for easier
209
+ identification within third-party archives.
210
+
211
+ Copyright [yyyy] [name of copyright owner]
212
+
213
+ Licensed under the Apache License, Version 2.0 (the "License");
214
+ you may not use this file except in compliance with the License.
215
+ You may obtain a copy of the License at
216
+
217
+ http://www.apache.org/licenses/LICENSE-2.0
218
+
219
+ Unless required by applicable law or agreed to in writing, software
220
+ distributed under the License is distributed on an "AS IS" BASIS,
221
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
222
+ See the License for the specific language governing permissions and
223
+ limitations under the License.
224
+
package/README.md CHANGED
@@ -1,27 +1,34 @@
1
- <p align="center"><img src="assets/piglet.svg" width="128" alt="dsh-piggy 的小猪"></p>
1
+ <p align="center"><img src="assets/pigs/base/piglet/idle.png" width="128" alt="dsh-piggy 的小猪"></p>
2
2
 
3
3
  <h1 align="center">dsh-piggy</h1>
4
4
 
5
5
  <p align="center">一只住在 <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a> 里,也能独立住在桌面上的猪。</p>
6
6
 
7
- 它会长大、上学、打工、旅行、钓鱼、生病,也会跟你搭话。界面采用动森风格的 App 主菜单,全部玩法都能用鼠标完成。番茄钟、钓鱼这类玩法是扩展:可以单独关掉、删除,也能从本仓库在线下载新扩展(盲盒、扭蛋、菜园、矿洞)。
7
+ 它会长大、上学、打工、旅行、钓鱼、生病,也会跟你搭话。界面采用动森风格的 App 主菜单,全部玩法都能用鼠标完成。番茄钟、钓鱼这类玩法是扩展:可以单独关掉、删除,也能从本仓库在线下载新扩展(盲盒、扭蛋、菜园、矿洞),下载不了时还能从文件导入。
8
8
 
9
- **欢迎一起画猪。** 目前项目还缺形态、动作和皮肤等美术资源;如果你有喜欢的猪猪形象,欢迎提交 [Pull Request](https://github.com/CLICGGER-TYPES/dsh-piggy/pulls),我会认真看并合并合适的作品。也欢迎 Fork 项目,做一只完全符合自己喜好的猪。自定义皮肤可从[制作教程](docs/guides/creating-skins.md)开始。
9
+ **欢迎一起画猪。** 小猪立绘只有一套无描边平涂透明 PNG,2026-10-13 由旧版 1:1 重画(画法见[小猪画风](docs/art/pig-style.md));如果你有喜欢的猪猪形象,欢迎提交 [Pull Request](https://github.com/CLICGGER-TYPES/dsh-piggy/pulls),我会认真看并合并合适的作品。也欢迎 Fork 项目,做一只完全符合自己喜好的猪。自定义皮肤可从[制作教程](docs/guides/creating-skins.md)开始。
10
10
 
11
- - **完整养成**:照顾、成长、学习、工作、旅行、收藏和晋升形态
12
- - **扩展**:在「设置 → 🧩 扩展」里开关、删除、在线下载和更新,数据保留;扩展默认都开着
13
- - **盲盒**(在线扩展):照明日方舟寻访的规矩——3★~6★ 摆件、常驻和限时卡池轮换 UP、50 抽后六星概率逐抽提升;卡背翻成闪卡,摆件进图鉴,资质凭证在商店换东西
11
+ - **离线照顾**:离开时猪猪会自己用背包里的东西(饿了吃、脏了洗、闷了玩),回来告诉你用了什么并写进日记;默认开启,可在设置里关闭
12
+ - **完整养成**:照顾、成长、学习、工作、旅行、收藏和晋升形态;33 种职业都能打 10 分钟短班,15 个旅行地点带回 52 种纪念品
13
+ - **经济**:不限制每天玩几次;金币按来源记账,扩展有自己的币(菜币、矿石币、资质凭证),按汇率和金币互换,删扩展时自动换成金币
14
+ - **扩展**:在「设置 → 🧩 扩展」里开关、删除、在线下载和更新,数据保留;下载不了时可以「📦 从文件导入」扩展包,官方扩展断网也能装
15
+ - **盲盒**(在线扩展):照明日方舟寻访的规矩——3★~6★ 摆件、常驻和限时卡池轮换 UP、50 抽后六星概率逐抽提升;卡背翻成闪卡,摆件进图鉴,资质凭证放进钱包、在商店换东西
14
16
  - **扭蛋**(在线扩展):零食机、杂货机、药箱三台,每天第一次免费,出现有的食物、洗浴、玩具和药,幸运值满 20 必出金色
15
- - **菜园**(在线扩展):开垦地块、买种子、每个阶段浇一次水,按真实时间生长(离线照算),收获卖钱或放进背包
16
- - **矿洞**(在线扩展):10 层矿洞往下挖,越深矿越值钱,化石和宝石进图鉴;体力 100,每 3 分钟回 1 点
17
- - **钓鱼**:咬钩后随机是圆盘、竖条拉锯、拉力收线三种玩法之一,也能让猪自己出门钓
18
- - **桌面版**:Windows、Linux 和 macOS 可独立运行;猪和面板各一个窗口,开面板、拖到屏幕边、冒气泡,猪都稳稳待在原地
19
- - **角色外观**:完成厨师或宇航员工作解锁职业外观,另有免费内置皮肤,也可导入自己的 SVG 皮肤包
17
+ - **菜园**(在线扩展):照 QQ 农场的规矩重做——29 种作物、18 块地(开局 6 块,其余是荒地,花菜币开垦),按真实时间生长(离线照算);长的时候会长草、生虫、干旱,要浇水、除草、杀虫,收完留枯苗要铲;种子按等级解锁,肥料催熟,南瓜、石榴等能收多季;收割镰、喷雾桶、平地耙、播种器买了才能一键操作;面板里是小农场,也能开大窗口玩大农场,雇帮工猪替你收菜补种(赚到自己种的九成;最新版菜园 4.0.8 需要游戏 0.37.0)
18
+ - **矿洞**(在线扩展):木牌手账风,20 层往下挖,5 级镐一级级开路,有矿脉、宝箱、化石和电梯;雇小矿工猪替你挖
19
+ - **钓鱼**:40 种鱼、4 个钓点、4 把鱼竿,每种鱼游法不同;咬钩后随机是圆盘、竖条拉锯、拉力收线三种玩法之一,也能让猪自己出门钓 30 分钟到 4 小时
20
+ - **桌面版**:Windows、Linux 和 macOS 可独立运行;猪和面板各一个窗口,开面板、拖到屏幕边、冒气泡,猪都稳稳待在原地;小猪大小按百分比调,可以设代理;外壳 0.6.5 预加载隐藏面板,加载期间复按不会取消打开,0.6.6 起打开大农场时保留面板、关掉大窗口焦点回到面板;全屏玩游戏或看视频时,小猪可以选「隐藏」或「照常显示」
21
+ - **角色外观**:完成厨师或宇航员工作解锁职业外观,另有免费内置皮肤,也可导入自己的 PNG 皮肤包(以前做的 SVG 皮肤照样能用)
20
22
  - **Emoji 可选**:网页版和桌面版都自带整套彩色 emoji 字体,「设置 → Emoji 样式」可以在「内置」和「系统自带」之间切,机器上缺字也不会变方框
21
23
  - **出问题能查**:「设置 → 日志 → 导出日志」一键导出运行日志(桌面版弹系统「另存为」),里面记着版本、动作、扩展下载和报错
22
- - **会自己过日子**:按时间问候、提醒喝水休息、过节;点不同部位反应不同;闲着会打滚、打盹、追蝴蝶,桌面版还能出去散步(默认关);每天写一篇带点黑色幽默的日记
24
+ - **会自己过日子**:按时间问候、提醒喝水休息、过节;点不同部位反应不同;闲着会打滚、打盹(换成睡姿,头顶冒 Zzz)、追蝴蝶,桌面版还能出去散步(默认关);每天写一篇带点黑色幽默的日记
25
+ - **一猪多图**:普通小猪饿了、困了、发烧、起红疹、洗澡、上学、听歌、健身、钓鱼时换成对应的图;还没拆的纸盒是「猪递」;生日当天头顶冒蛋糕,点一下开个小派对
23
26
  - **零 token**:不注册模型工具,不向对话注入宠物状态
24
27
 
28
+ <p align="center">
29
+ <img src="docs/screenshots/farm-ui-redraw.png" width="750" alt="菜园 4.0.8:大农场 B 与 292px 小农场 C1">
30
+ </p>
31
+
25
32
  <p align="center">
26
33
  <img src="docs/screenshots/readme-desktop.png" width="250" alt="桌面版:猪和贴在它上方的面板">
27
34
  <img src="docs/screenshots/readme-home.png" width="250" alt="主菜单">
@@ -31,6 +38,9 @@
31
38
  <img src="docs/screenshots/c4-dex-dashboard.png" width="250" alt="图鉴">
32
39
  <img src="docs/screenshots/c6-skins.png" width="250" alt="换肤">
33
40
  </p>
41
+ <p align="center">
42
+ <img src="docs/screenshots/readme-feedback-pigs.png" width="560" alt="不同状态下的小猪:猪递、饿了、发烧、红疹、洗澡、上学、听歌、健身、钓鱼、生日">
43
+ </p>
34
44
 
35
45
  ## 安装
36
46
 
@@ -48,7 +58,7 @@ dsh plugin --profile web add dsh-piggy
48
58
 
49
59
  ### 桌面版
50
60
 
51
- 从 [GitHub Releases](https://github.com/CLICGGER-TYPES/dsh-piggy/releases/latest) 下载对应系统的文件(国内可以用 [Gitee 发行版](https://gitee.com/clicgger/dsh-piggy/releases):Gitee 版的检查更新、游戏包和在线扩展都走 Gitee):
61
+ 从 [GitHub Releases](https://github.com/CLICGGER-TYPES/dsh-piggy/releases/latest) 下载对应系统的文件(国内的 Windows 用户可以用 [Gitee 发行版](https://gitee.com/clicgger/dsh-piggy/releases):Gitee 版的检查更新、游戏包和在线扩展都走 Gitee;Gitee 只发 Windows 安装包,Linux 和 macOS 请用 GitHub):
52
62
 
53
63
  - Windows:`setup.exe` 安装版或 `portable.exe` 便携版
54
64
  - Linux:`AppImage`
@@ -58,7 +68,7 @@ macOS 包暂未签名,第一次打开请在访达中右键应用并选择“
58
68
 
59
69
  「设置 → 更新」会分别显示游戏版本和桌面外壳版本(有新正式版时设置图标上有红点)。游戏包可在 App 内更新;桌面外壳从 v0.2.0 起,Windows 安装版和 Linux AppImage 可在 App 内下载并重启安装。Windows 便携版、未签名 macOS 版需到发布页手动替换;旧版外壳需先手动升级一次。详见[更新说明](docs/guides/updates.md)。
60
70
 
61
- 当前桌面外壳是 **v0.6.0**:猪和面板拆成了两个窗口(面板单独一个窗口贴在猪旁边,开面板、拖动时猪不再跳)。游戏 v0.33.0 起需要这个外壳——旧外壳会继续用自带的游戏包,并在「设置 → 更新」里提示先更新桌面程序(Windows 安装版和 Linux AppImage 可在 App 内更新,其余到发布页下载)。窗口摆放、可点区域、桌面样式等仍在游戏包里,这类修复在「更新」里点一下就到。
71
+ 当前游戏版本是 **v0.37.0**(菜园界面重画、扩展素材不设总量上限)。当前桌面外壳是 **v0.6.6**:猪和面板是两个窗口(面板单独一个窗口贴在猪旁边,开面板、拖动时猪不再跳);0.6.4 加了代理设置(跟随系统 / 直连 / 自定义 HTTP、SOCKS5),面板开着时猪说的话也不再被面板挡住;0.6.5 启动时预先准备好面板(第一次右键马上打开,加载期间复按不会把它关掉);0.6.6 打开大农场时保留原面板、关掉大窗口后焦点回到面板。游戏 v0.33.0 起需要 0.6.x 的外壳——旧外壳会继续用自带的游戏包,并在「设置 → 更新」里提示先更新桌面程序(Windows 安装版和 Linux AppImage 可在 App 内更新,其余到发布页下载)。窗口摆放、可点区域、桌面样式等仍在游戏包里,这类修复在「更新」里点一下就到。
62
72
 
63
73
  在线扩展从本仓库的 [`extensions/registry.json`](extensions/registry.json) 读,文件挂在本仓库的 GitHub Release(`ext-<名字>-<版本>`),下载后逐个核对校验值;只会安装我们自己发布的扩展。格式和写法见[扩展删除与在线下载](docs/design/extension-download.md)。
64
74
 
@@ -78,7 +88,7 @@ macOS 包暂未签名,第一次打开请在访达中右键应用并选择“
78
88
  - [玩法与养成规则](docs/guides/gameplay.md)
79
89
  - [桌面版安装、存档与更新](docs/guides/desktop.md)
80
90
  - [游戏包与桌面外壳怎样更新](docs/guides/updates.md)
81
- - [扩展:删除与在线下载](docs/design/extension-download.md) · [盲盒](docs/design/blindbox.md)
91
+ - [扩展:删除与在线下载](docs/design/extension-download.md) · [盲盒](docs/design/blindbox.md) · [经济体系](docs/design/economy.md)
82
92
  - [日志与导出](docs/design/log-export.md)(设置 → 日志)
83
93
  - [维护交接文档(接手维护先读)](docs/HANDOFF.md)
84
94
  - [开发与调试](docs/DEVELOPMENT.md)
@@ -103,9 +113,12 @@ npm run typecheck
103
113
  |---|---|
104
114
  | [@1nuoiscute](https://github.com/1nuoiscute) | 猪猪王原型与恶魔猪形态、肥猪体型和胖胖猪动作立绘;十六项成就与小猪徽章系统([#6](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/6));扩展公共进度事件与十二项扩展成就([#7](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/7)) |
105
115
  | [@anupamme](https://github.com/anupamme) | 报告桌面版更新依赖的安全问题([#5](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/5)) |
116
+ | [@tetezi](https://github.com/tetezi) | 面板动作时猪窗口置顶、右键不误摸、脏和生病状态的苍蝇/病毒图标、恢复桌面版状态变色与心情优先级调整,附回归测试([#8](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/8),随 [#9](https://github.com/CLICGGER-TYPES/dsh-piggy/pull/9) 合入) |
106
117
 
107
118
  想加玩法、想画猪、想报 bug 都欢迎:到 [Issues](https://github.com/CLICGGER-TYPES/dsh-piggy/issues) 说一声,或直接提 [Pull Request](https://github.com/CLICGGER-TYPES/dsh-piggy/pulls)(Gitee 用户可以在 [Gitee 仓库](https://gitee.com/clicgger/dsh-piggy) 提 Issue)。合并进来的贡献会记在这张表里。
108
119
 
109
120
  ## 致谢与许可
110
121
 
111
- 视觉风格参考 [animal-island-ui](https://github.com/guokaigdg/animal-island-ui),玩法数值参考资料见 [THIRD-PARTY.md](THIRD-PARTY.md)。项目采用 [MIT License](LICENSE)。
122
+ **不同状态的小猪图**(`assets/pigs/feedback/`)的灵感来自 [PigHub](https://pighub.top/) 上的猪猪图片:以那里的猪猪为参考,由 AI(OpenAI 图像生成,codex 操作)重新画成本项目的样子,没有直接复制原图。谢谢 PigHub 和图片作者!如果你是原图作者,觉得侵犯了你的权利或不喜欢这样使用,请[开 issue](https://github.com/CLICGGER-TYPES/dsh-piggy/issues) 告诉我们,我们会删除相关图片。
123
+
124
+ 视觉风格参考 [animal-island-ui](https://github.com/guokaigdg/animal-island-ui),玩法数值参考资料见 [THIRD-PARTY.md](THIRD-PARTY.md)。项目采用 [MIT License](LICENSE);小猪立绘改自 [Noto Emoji](https://github.com/googlefonts/noto-emoji) 的 🐖,按 Apache 2.0 发布(见 [THIRD-PARTY.md](THIRD-PARTY.md))。
package/THIRD-PARTY.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # 第三方致谢与许可
2
2
 
3
- 本插件(`dsh-piggy`)的代码与美术以 MIT 发布。下面列出它参考、依赖或提及的第三方内容。
4
- **没有复制任何第三方代码、文档或游戏原版素材** —— 用到的数值与名称属于事实性数据。
3
+ 本插件(`dsh-piggy`)的代码与美术以 MIT 发布;**小猪立绘例外,见下面「美术」**(改自 Noto Emoji,Apache 2.0)。
4
+ 下面列出它参考、依赖或提及的第三方内容。没有复制任何第三方代码、文档或游戏原版素材——用到的数值与名称属于事实性数据。
5
5
 
6
6
  ## 设计参考资料
7
7
 
@@ -9,7 +9,7 @@
9
9
  |---|---|---|
10
10
  | [xuemian168/qqpet_automation](https://github.com/xuemian168/qqpet_automation) | MIT(其原创部分) | 只参考**数值与名称**:属性阈值、三条疾病链的名称与分期、九门科目名、部分物品名。其源代码、数据文件结构与本项目不同,未复制 |
11
11
  | [ice-cream-headache/ice-cream-headache.github.io](https://github.com/ice-cream-headache/ice-cream-headache.github.io) | MIT | 只参考**界面截图**(宠物在上、奶油色图标栏在下、带标签的属性条)。截图未随本包分发 |
12
- | [guokaigdg/animal-island-ui](https://github.com/guokaigdg/animal-island-ui) | MIT | 只参考**设计 token**:颜色、圆角、缓动曲线。按其 `docs/design-system/css-variables.md` 的取值重写为纯 CSS |
12
+ | [guokaigdg/animal-island-ui](https://github.com/guokaigdg/animal-island-ui) | MIT | 参考设计 token 与 Button、Title、Modal、Tabs、Card、Badge、Progress 外观;菜园 4.0.8 沿用 Modal 的有机 clip-path 几何,以原生 DOM/CSS 实现,无 React 依赖 |
13
13
 
14
14
  ## 运行时依赖
15
15
 
@@ -20,9 +20,17 @@
20
20
 
21
21
  ## 美术
22
22
 
23
- - `assets/piglet.svg`、`assets/elder.svg`:**原创矢量重绘**,由项目作者提供。
24
- 造型取自通用的 🐖 emoji 形象(侧视、卷尾、圆耳),路径、配色与描边为本项目自绘,
25
- 不是任何 emoji 素材集或游戏原版素材的路径拷贝。
23
+ - **小猪立绘改自 [Noto Emoji](https://github.com/googlefonts/noto-emoji) 的 🐖**(`2D/svg/emoji_u1f416.svg`,
24
+ © Google,**Apache License 2.0**):项目作者以 Noto 🐖 的截图为参考重绘了 `assets/piglet.svg`;
25
+ `assets/elder.svg`(老年猪)、各张皮肤 / 职业 / 形态立绘(`assets/skin-*`、`career-*`、`pig-*`)和成就徽章(`assets/badge-pig-*`)
26
+ 都在 `piglet.svg` 的基础上改画,同属衍生作品。这些文件按 Apache 2.0 发布(可以自由使用、修改、再分发,
27
+ 需保留本说明和许可全文),许可全文和原始声明见 [`LICENSE-noto-emoji.txt`](LICENSE-noto-emoji.txt)。
28
+ 改动:重新描成 64×64 视框的平涂路径,调整配色,加了表情、服饰、道具等。
29
+ - 以后新画的猪图只要是在 `piglet.svg` 上改的,同样属于这一条;完全另起炉灶、不参照任何素材的才算 MIT 原创。
30
+ - **不同状态的小猪图(`assets/feedback/*.png`)**:灵感来自 [PigHub](https://pighub.top/) 上的猪猪图片,
31
+ 以其为参考由 AI(OpenAI 图像生成,codex 操作)重新生成,经维护者逐张审定;没有直接复制、描摹或拼贴原图。
32
+ 生成过程、处理步骤见 [`assets/pigs/feedback/PROVENANCE.md`](assets/pigs/feedback/PROVENANCE.md)。
33
+ 如果原图作者认为侵权或不希望这样使用,请开 issue,我们会删除相关图片。
26
34
  - 界面里的其它图形一律用系统 emoji 字体渲染,不附带图形文件。
27
35
 
28
36
  ## 商标