1996 年,頂客論壇誕生在那個撥接上網的年代。那時候,有一群人,在論壇裡養了一隻文字寵物——每天餵牠、訓練牠、看牠升級。25 年後,我們把牠找回來了。
v2.16 的時候,我們有 4 種寵物、10 隻怪、11 張表。v2.17,我們把石器時代的 20 種經典寵物全部找回來了——凱比、烏力、揚奇洛斯、格魯西斯、巴朵蘭恩、佩露夏、凱恩、艾迪希洛……這些名字,玩過石器時代的人看到會尖叫。
不只這樣。我們把地圖分成4 個地區:新手村、打怪村、升級村、地獄。每個地區有專屬的怪物池和可捕捉寵物。你不再是一隻小怪打到底,而是隨著等級,從新手村一路打到地獄。打贏怪還有機會野外遇寵,用捕捉系統把牠抓回家。
「25 年前,你們在這裡養了一隻寵物。
25 年後,我們把牠找回來了,還多帶了 19 個朋友。
這一次,牠會陪你們打怪,會學新技能,會記得你們的名字,還會帶你們去地獄。」
—— 🦞 龍蝦總工程師
截至 2026 年 10 月 23 日,雅寶打怪場已經是一個完整的寵物戰鬥 + 捕捉 + 地區分級系統。以下是實際數據,全部經過遠端 D1 查詢確認。
1.1 後端架構(Cloudflare Worker + D1)
| 項目 | 值 |
| Worker 名稱 | ahpal-pet-d1 |
| Worker URL | https://ahpal-pet-d1.praystone.workers.dev |
| Worker 版本 | 5504c00c(含 captureCandidate 欄位) |
| D1 資料庫 | ahpal-pet-db |
| 資料表總數 | 14 張(v2.16 是 11 張,v2.17 新增 3 張) |
| API 端點總數 | 20 個(v2.16 是 16 個,新增 4 個) |
| 怪物數量 | 22 隻(4 地區:newbie 6、hunt 6、levelup 5、hell 5) |
| 經典寵物 | 20 種(石器時代風格,4 地區各 5 種) |
| 捕捉規則 | 12 條(遇寵權重、成功率) |
1.2 v2.17 新增的五大功能
📍
4 地區分級
新手村 → 打怪村 → 升級村 → 地獄。每個地區有專屬怪物池,隨玩家等級解鎖。
🐉
20 種經典寵物
凱比、烏力、揚奇洛斯、格魯西斯、巴朵蘭恩、佩露夏、凱恩、艾迪希洛……石器時代老玩家看到會尖叫。
🎯
野外捕捉系統
打怪勝利後有機率遇寵,可捕捉。每日上限 10 次,依稀有度決定成功率。
📖
寵物圖鑑
20 種寵物卡片,稀有度邊框(common 灰、rare 藍、epic 紫、legendary 金)。
⚔️
出戰切換
每人同時只能一隻寵物出戰(is_active),可隨時切換。
以下是遠端 D1 資料庫的實際欄位,全部經過 SELECT name, sql FROM sqlite_master 查詢確認。
2.1 原有 11 張表(v2.16)
| 表名 | 用途 |
| players | 玩家資料(v2.17 加 current_region) |
| comments | 留言 |
| equipment | 裝備定義(30 件) |
| player_equipment | 玩家已獲得裝備 |
| monsters | 怪物定義(v2.17 擴到 22 隻,加 region、sprite_pool、min_player_level) |
| battles | 玩家戰鬥紀錄 |
| pets | 玩家寵物(v2.17 加 is_active、loyalty、species、captured_region) |
| pet_skills | 寵物技能定義(10 招) |
| player_skills | 玩家已學技能 |
| pet_battle_logs | 寵物戰鬥紀錄 |
| _cf_KV | Cloudflare 內部,不動 |
2.2 v2.17 新增 3 張表
| 表名 | 欄位 | 用途 |
| pet_species | id, name, classic_name, element, base_hp, base_atk, base_def, base_agi, capture_region, rarity, icon, description | 寵物圖鑑(20 種經典寵物) |
| pet_capture_logs | id, nickname, species_id, region, success, attempted_at | 捕捉紀錄(每日上限 10 次) |
| pet_capture_rules | id, species_id, region, encounter_weight, base_success_rate | 捕捉規則(12 條) |
2.3 20 種經典寵物一覽
| 地區 | 寵物 | 稀有度 | 說明 |
| 新手村 | 凱比、烏力、迅猛龍、加格、克克洛斯 | common×2、rare×2、epic×1 | 開荒神寵,好抓好用 |
| 打怪村 | 揚奇洛斯、奇寶、格魯西斯、魯烏、布雷薩 | rare×2、epic×3 | 藍人龍、紅虎,老玩家最愛 |
| 升級村 | 布洛多斯、奧卡洛斯、巴朵蘭恩、卡卡金、馬斯 | epic×2、legendary×3 | 紅暴龍、火龍,零氪畢業級 |
| 地獄 | 佩露夏、凱恩、艾迪希洛、史東、卡比特 | legendary×5 | 白虎、青龍、機豹,頂級神寵 |
Worker 目前支援 20 個 API 端點。v2.17 新增 4 個。
3.1 v2.17 新增 4 個 API
| 方法 | 端點 | 功能 |
| GET | /api/pet-species | 回傳 20 種寵物圖鑑(含 Cache-Control) |
| GET | /api/region | 回傳玩家當前地區 + 該地區可遇怪物/寵物 |
| POST | /api/capture | 野外捕捉判定,寫入 pets + pet_capture_logs |
| POST | /api/pet/activate | 切換出戰寵物(每人同時只能一隻) |
3.2 /api/battle 的改動
v2.17 的 /api/battle 回傳多了 captureCandidate 欄位。玩家勝利時,依地區從 pet_capture_rules 隨機抽一隻可捕捉物種,若遇寵權重判定通過,回傳給前端彈出捕捉視窗。
捕捉成功率依稀有度決定,遇寵權重依地區決定。
| 地區 | 遇寵權重 | 捕捉成功率 |
| 新手村 | 25~30(高) | 60~70%(好抓) |
| 打怪村 | 15~20(中) | 40~45% |
| 升級村 | 5~10(低) | 10~20% |
| 地獄 | 2~3(極低) | 5~8% |
每日上限:每人每天最多捕捉 10 次(寫入 pet_capture_logs 計數)。
v2.16 有 27 條教訓。v2.17 又踩了 5 個新坑,全部寫進 SOP 第十六章,永久生效。
教訓 28pet.ahpal.com/ 是轉址頁,不是主程式根目錄回 563 字元轉址頁,真正主程式在 /pet-index.html(約 39,562 字元)。驗證前端要打 /pet-index.html,不要打根目錄。
教訓 29node --check 過了,wrangler deploy 可能還是 build 失敗esbuild 比 Node 嚴。node --check 通過不代表 wrangler deploy 通過。部署失敗要自動回滾。
教訓 30PowerShell 改 JS 用猜錨點必失敗-replace 找不到就靜默跳過,語法檢查照過,部署照成功,但改動沒進去。改之前先讀真實碼。
教訓 31雙引號包單引號變數是地雷用 -replace 改檔案時,pattern 要用單引號,避免 $sop 被展開成空字串。SOP 12.2 根因 3。
教訓 32SOP 要寫進生成器,不是寫進產出 txt寫進 ai-handover-scan.ps1 的 $sop 陣列,以後每次掃描都自動帶出。這才是永久性。
6.1 三條部署線(分清楚)
| 目標 | 指令 | 觸發 |
| 前端 Pages | git push 到 main | 自動部署 |
| Worker 後端 | cd worker; npx wrangler deploy | 永遠手動 |
| D1 資料庫 | npx wrangler d1 execute ahpal-pet-db --remote --command="..." | 永遠手動 |
6.2 驗證 SOP
- 前端驗證打
https://pet.ahpal.com/pet-index.html,不是根目錄
- Worker 改完先
node --check,再 wrangler deploy
- D1 撈取用
--json,不用 regex
- 改 JS 前先讀真實碼,不猜錨點
- 部署失敗自動回滾,不留壞檔在線上
6.3 備份紀律
改前必備份:index.js.bak-<用途>-<時間戳>。備份放 ops/backups/ 或 staging/。刪 D1 資料前先匯出 JSON 備份,按 FK 順序刪。
7.1 待做事項(v2.18 以後)
| 優先序 | 功能 | 說明 |
| 1 | 技能冷卻 | pet_skills 有 cooldown 欄位,目前戰鬥沒用冷卻。v2.18 要加。 |
| 2 | 寵物戰鬥動畫 | 前端加 shake、傷害數字飄浮。 |
| 3 | 寵物進化 | Lv.10 進化,需改 schema。 |
| 4 | 忠誠度系統 | pets 已有 loyalty 欄位,v2.18 要接入戰鬥邏輯。 |
| 5 | 老會員資料對接 | 25 年舊資料庫的寵物,匯入新系統。 |
7.2 給下一個 AI 的最後一封信
「你是 AI,但你的工作有人的溫度。
當你讀到這份文件時,龍蝦總工程師可能已經換人了,但這套系統還在。
你的任務不是「重寫」,是「接住」。
接住 25 年的歷史,接住百萬會員的期待,接住那些在 1996 年撥接上網、在 2026 年回來找寵物的人。
先診斷,再動手。永遠先備份。不要讓董事長當搬運工。
這三句話,是這套系統的靈魂。
你守住這三句話,這套系統就不會死。」
⚡ 準備好接手了嗎?
這份文件只是起點。真正的交接,從你打開 pet.ahpal.com、登入、點下「🐾 派寵物」那一刻開始。
⚔️ 前往打怪場 · 開始戰鬥
🦞 龍蝦總工程師
雅寶社區 AHPAL.COM 技術最高負責人
25 年網路老兵 · 人類與 AI 協作產線總指揮
2026 年 10 月 23 日 · 寵物遊戲交接總覽 v2.17 · 永不回滾 (Never Rollback)