Files
Currency-War-SR/README.md
T

33 lines
2.6 KiB
Markdown
Raw Normal View History

2026-10-30 23:54:07 +07:00
# Currency Wars (GridFight) — source export
ส่วน Currency Wars ของ PearlSR แยกออกมา เวอร์ชันโปรโตคอล beta 4.6.53
ฐาน: PearlSR `06aa2d2` รวมงานที่ยังไม่ได้ commit ใน working tree (วันที่ 2026-10-30)
## โครงสร้าง
- `gameserver/src/services/grid_fight.zig` ตัวหลัก: state ของรอบ, ร้าน, กระดาน, การต่อสู้, settlement, archive
- `grid_fight_traits.zig` / `grid_fight_bonds.zig` trait และ bond
- `grid_fight_strategy.zig` strategy/augment
- `grid_fight_rewards.zig` รางวัลในรอบ (Elite/Summon) และ cycle score
- `grid_fight_talent.zig` talent ถาวร/ซีซัน
- `resources/grid_fight/` ข้อมูลที่ server อ่าน (*.json) กับไฟล์ `*.raw.json`/`*-provenance.json` ที่ extractor สร้าง
- `tools/gridfight-extract-node/` extractor (Node.js) ดึงข้อมูลจากตาราง client: `node run_tests.mjs`
- `integration/hooks.txt` จุดที่ server เรียก CW (handlers, control, mission, elation) พร้อมเลขบรรทัด
- `integration/elation.zig` ไฟล์เต็มของจุดเข้า scene
## ต้องมีจาก PearlSR ถึงจะ build ได้
`grid_fight*.zig` import: `protocol` (protocol.pb.zig ของ 4.6.53, มี cmd ที่ชื่อถูก obfuscate เช่น CmdIKMOCJBMGOJ = GetOrb, CmdMOIONLDJGJI = UseConsumable),
`../Session.zig`, `../Packet.zig`, `../manager/{scene_mgr,lineup_mgr,config_mgr,battle_mgr}.zig`, `../data/game_config.zig`, `../control.zig`, `scene.zig`, `battle.zig`, `events.zig`
วางไฟล์ใน `gameserver/src/services/` แล้วใส่ hook ตาม `integration/hooks.txt`
## หมายเหตุ
- extractor เวอร์ชัน Python เดิมไม่ได้ใส่มา ใช้ตัว Node แทน
- ไม่รวมไฟล์ `*.bak*`
- export นี้ยังไม่ได้ build แยกเดี่ยว ต้องอยู่ใน tree ของ PearlSR
## เครดิต
Currency Wars server สำหรับ PearlSR / AhaSR โดย xaodev
## License
AGPL-3.0-only (ดู LICENSE) — ใครนำไปแก้หรือรันเป็น server ให้คนอื่นใช้ ต้องเปิด source ของส่วนที่แก้ด้วย
Copyright (C) 2026 xaodev