การฟื้น HP และ SP
เทียบการฟื้นตามธรรมชาติและสกิลติดตัว สูตรฟื้น HP/SP ของ Thai Beta ยังไม่ยืนยัน
ขอบเขตและวิธีอ่านหลักฐาน
หน้านี้รวมสิ่งที่เรารู้ว่า HP/SP, EXP, มอนสเตอร์ ดรอป และยาฟื้นพลังเปลี่ยนไปอย่างไร ตั้งแต่ Alpha/Beta ต่างประเทศถึงช่วงก่อน Renewal ของไทย สูตรที่ทำให้ HP/SP ฟื้นเองใน Thai Beta ยังยืนยันไม่ได้ เราพบคู่มืออาชีพบนเว็บ RO ไทยที่มีตารางสกิลฟื้นพลังแล้ว แต่ยังไม่รู้ว่าคู่มือลงเมื่อไรหรือเริ่มใช้กติกานั้นวันไหน
วันที่แพตช์และเลข Episode ดูได้จากข้อมูลลำดับเวลา ต้องแยกวันเขียนคู่มือ วันเก็บสำเนาเว็บ วันนัดอัปเดต และวันที่อัปเดตเสร็จจริง เพราะแผนที่ใหม่กับการปรับสมดุลอาจเข้าเกมคนละวัน ข่าวที่เขียนเป็นภาษาไทยก็อาจพูดถึงเซิร์ฟเวอร์อังกฤษหรือเกาหลี ไม่ได้แปลว่าไทยใช้กติกานั้นแล้ว
การฟื้น HP และ SP ตามธรรมชาติ
แยกการฟื้นตามธรรมชาติ สกิลฟื้นพลัง ไอเทมฟื้นพลัง และตัวปรับผลของการฟื้นออกจากกัน แต่ละระบบอาจใช้ตัวนับเวลาและข้อจำกัดคนละชุด
ข้อมูลยุคแรกและสูตรที่ยังต้องตรวจ
| หลักฐาน | สิ่งที่บอกได้ | สิ่งที่ยังตอบไม่ได้ |
|---|---|---|
| กระทู้ภาษาญี่ปุ่น 1 มีนาคม 2002 ความเห็น 8 | ค่าประมาณเวลา SP ขณะยืน: 7.54 − 0.06 × INT วินาทีต่อหนึ่งหน่วย ตารางระบุว่านั่งแล้วฟื้นเร็วเป็นสองเท่า | เซิร์ฟเวอร์และรุ่นเกมที่ทดสอบ การใช้ในไทย เพดาน INT การปัดเศษ และตัวนับเวลา |
| 22 มีนาคม ความเห็น 18 | อีกสมการหนึ่งคือ 60 / (3.76 − 0.03 × INT) หากตีความเป็นอัตราขณะนั่ง จะสอดคล้องกับค่าคงที่ขณะยืน 7.52 ซึ่งต่างเล็กน้อย | ความเห็นนั้นไม่ได้ย้ำท่าทางหรือหน่วย ความต่างเล็กน้อยนี้ยังพิสูจน์ว่าเป็นการเปลี่ยนแพตช์ไม่ได้ |
| 18 เมษายน ความเห็น 25 | มีการเล่าต่อจากกระทู้ Mage ว่าที่ INT 126 ยังฟื้น SP เป็นบวก | ขาดผลวัดต้นทาง จึงยังไม่รู้เพดานหรือความเร็วจริง และห้ามใช้สูตรเส้นตรงต่อไปจนช่วงเวลากลายเป็นศูนย์หรือติดลบ |
| 13–14 กุมภาพันธ์ 2003 ความเห็น 114–115 | ผู้ร่วมสนทนาถามสูตร HP และยังหาข้อยุติไม่ได้ มีข้อเสนอว่าขึ้นกับ MaxHP เลเวล และ VIT | รายชื่อตัวแปรที่คาดเดาไม่ใช่สูตร และไม่ได้พิสูจน์ว่าไม่มีใครรู้สูตรในแหล่งอื่น |
| คู่มือเพิ่มเลเวลของผู้ให้บริการไทย, เก็บ 12 ธันวาคม 2003 | น้ำหนักแดงทำให้ HP/SP ไม่ฟื้นตามธรรมชาติ ข้อความใช้คำว่าน้ำหนักเกิน 50% | ที่เท่ากับ 50% ใช้ > หรือ >=, วันเริ่มใช้, การใช้ใน CBT และข้อยกเว้นของสกิล |
กระทู้ญี่ปุ่นเป็นการอภิปรายของผู้เล่น ไม่ใช่ประกาศทางการ ความเห็นเรื่องความหนาแน่นของเซิร์ฟเวอร์ ยังเตือนว่าเวลาฟื้นที่สังเกตได้อาจคลาดเคลื่อนจากภาระเซิร์ฟเวอร์ ความทรงจำว่าฟื้นช้าจึงยังแยกกฎเกมกับการส่งข้อมูลล่าช้าไม่ได้
คู่มือไทยที่พบเพิ่ม แต่ยังไม่รู้ว่าเริ่มใช้กติกาเมื่อไร
รอบหกพบคู่มือเดิมของผู้ให้บริการอีกสี่หน้า สำเนาถูกเก็บในเดือนธันวาคม 2003 จึงยังใช้ยืนยันไม่ได้ว่ากติกาเหล่านี้ใช้แล้วตั้งแต่ CBT เดือนกันยายน 2002
| คู่มือ | สิ่งที่เขียนไว้ | สิ่งที่ยังไม่รู้ |
|---|---|---|
| หน้าจอเกมและน้ำหนัก | น้ำหนัก เกิน 50% หยุด HP/SP ที่ฟื้นเอง แต่ยังใช้ไอเท็มหรือสกิลฟื้นได้ ถ้า เกิน 90% จะโจมตีและใช้สกิลไม่ได้ | ไม่บอกจำนวนหรือระยะเวลาที่ฟื้น ยังไม่รู้กรณีเท่ากับ 50%/90% พอดี ข้อยกเว้นของสกิลติดตัว และวันเริ่มใช้ |
| การเล่นพื้นฐาน | กล่าวถึงการกลับจุดเซฟและการรอคนอื่นชุบ แล้วระบุว่า Novice มี HP 50% / อาชีพอื่นมี 1 HP โดยไม่แยกสองวิธี และเสีย Base/Job 1% เมื่อตาย | ข้อความหลังตายยังคลุมเครือ ไม่ใช่สูตรสกิล Resurrection ทุกเลเวลหรือสูตรฟื้นเอง ไม่บอกว่าคิด EXP จากค่าใด ปัดเศษอย่างไร หรือเริ่มใช้วันไหน จึงยังยืนยันไม่ได้ว่าไทยเคยเปลี่ยนจาก 5% ในสำเนา Beta 2 เป็น 1% หรือเปลี่ยนเมื่อไร |
| Training Ground | ลงทะเบียนฝึกได้ 50 zeny เลือกข้ามไปเมืองแบบสุ่มได้ และมีการฝึกสามขั้น | เป็นคนละหน้ากับประกาศปัญหา Training Ground วันที่ 18 กันยายน 2002 ที่ยังหาไม่ได้ และไม่บอกว่าใช้ตั้งแต่ช่วงใดของ Beta |
| ลานฝึก | ตี Fabre ในลานฝึกขั้นที่สอง แล้ว Base เพิ่ม แต่ Job ไม่เพิ่ม | ไม่บอกจำนวน EXP หรือวันเริ่มใช้ อย่านำกติกาลานฝึกนี้ไปใส่ให้ Fabre ตามแผนที่ทั่วไป |
ข้อมูลเหล่านี้ช่วยให้รู้ว่าต้องตรวจอะไรต่อ แต่ สูตรจำนวนและระยะเวลาที่ HP/SP ฟื้นเองใน Thai Beta ยังยืนยันไม่ได้
สูตรตัวอย่างจาก Athena รุ่นเก่า
Athena Dev 2.1.1 ที่อ้างว่าเป็นรุ่นเดือนกรกฎาคม 2003 มีโค้ดให้ตรวจตามรายละเอียดด้านล่าง วันที่ของชุดไฟล์ยังไม่ผ่านการยืนยันอิสระ และโค้ดนี้ไม่ใช่ข้อกำหนดเซิร์ฟเวอร์ไทย ดูข้อมูลการสกัดไฟล์ แฮช และตำแหน่งโค้ดใน athena-2003-candidate.json
| ส่วน | การทำงานในชุดไฟล์ที่ตรวจ |
|---|---|
| ตัวหาร HP | max(300, 3000 − 15 × effective_VIT − 14 × BaseLevel) |
| ตัวหาร SP | max(300, 7500 − 60 × effective_INT) |
| ขณะนั่ง | นำตัวหารที่จำกัดค่าต่ำสุดแล้วมาหารสองแบบจำนวนเต็ม |
| ทุก 250 มิลลิวินาที | เพิ่ม floor(1000000 / denominator) + 1 ให้ตัวสะสมของแต่ละค่า |
| จ่ายค่าฟื้น | ทุก 4000 หน่วยที่สะสมได้ทำให้ฟื้นหนึ่งแต้ม โดยนำผลไปใช้/รายงานทุก tick ที่สี่ |
| เงื่อนไขในฟังก์ชัน | ตายหรือน้ำหนักตั้งแต่ 50% ขึ้นไป: หยุดฟื้น; HP ต้องไม่กำลังเดินด้วย |
โค้ดส่วนนี้ไม่ได้นำ MaxHP/MaxSP มาคิดการฟื้นเอง และตัวหาร SP ลดถึงค่าต่ำสุดเมื่อ INT 120 นี่บอกได้ว่าโค้ดชุดนี้ทำงานอย่างไร ยังตัดสินไม่ได้ว่าตรงกับ RO ไทยหรือสูตรที่ผู้เล่นสมัยนั้นคำนวณไว้หรือไม่ ถ้าจะทำระบบนี้ การลดเวลารอจากแปดวินาทีอย่างเดียวไม่พอ เพราะต้องทำระบบสะสมค่าและจังหวะแจ้งผลให้ตรงด้วย
เทียบกับอีมูเลเตอร์รุ่นที่ตรวจไว้
สูตรต่อไปนี้เป็นค่าพื้นฐานผู้เล่นก่อนตัวปรับการฟื้น จาก rAthena d4b8e7b และ Hercules 04a422ce ใช้เป็นฐานเปรียบเทียบ ไม่ใช่สถานะเซิร์ฟเวอร์ไทยในวันที่ใดวันที่หนึ่ง floor หมายถึงปัดลง
| กฎ | rAthena | Hercules |
|---|---|---|
| ปริมาณ HP ตามธรรมชาติ | floor(VIT/5) + max(1, floor(MaxHP/200)) | 1 + floor(VIT/5) + floor(MaxHP/200) |
| ปริมาณ SP ตามธรรมชาติ | 1 + floor(INT/6) + floor(MaxSP/100) | เหมือนกัน |
| SP เพิ่มเมื่อ INT ≥120 | เพิ่ม floor((INT−120)/2) + 4 | เหมือนกัน |
| ช่วงเวลาพื้นฐานตามธรรมชาติ | HP 6000 ms; SP 8000 ms | เหมือนกัน |
| ช่วงเวลาพื้นฐานของสกิลฟื้น | 10000 ms | เหมือนกัน |
ที่ VIT 10 และ MaxHP 1000 สูตร HP ให้ 7 กับ 8 ตามลำดับ แต่ที่ VIT 1 และ MaxHP 100 ให้ 1 เท่ากัน ต้องใช้หลักฐานประวัติศาสตร์ตัดสินความต่างนี้ การเปิดโหมด pre-Renewal ไม่ได้ทำให้สองโครงการใช้กฎเหมือนกันทุกจุด ค่าตั้งต้น ตัวปรับ และการจัดเวลาเป็นคนละส่วนกับสูตรปริมาณ ดู การตรวจโค้ด และ การเปรียบเทียบเชิงคำนวณ
ยังไม่รู้ว่าไทยเปลี่ยนสูตรวันไหน
คู่มือ Knight ในช่วงนั้น เรียกสูตรช่วงหลังว่า Juno ส่วน คู่มือ Hunter กล่าวถึงการเปลี่ยนจากฟื้นทีละแต้มเป็นทีละก้อน กระทู้ญี่ปุ่นวันที่ 13 พฤษภาคม 2003 กล่าวถึงการปรับ SP ของเกาหลีโดยตรง แต่ไม่มีแหล่งใดระบุรอบปิดปรับปรุงที่นำกฎนั้นเข้าไทย จึงยังไม่กำหนดวันไทยให้สูตรก่อนและหลัง จนกว่าจะมีประกาศหรือผลวัดในไทยที่ลงวันที่เชื่อมโยงได้
สกิลฟื้นพลังแบบติดตัว
คู่มือ Mage ยุคต้น และ คู่มือ Priest เดือนกรกฎาคม 2003 อธิบายสกิล SP Recovery แบบคงที่ 3 × เลเวลสกิล ทุกสิบวินาที เป็นข้อมูลเปรียบเทียบต่างประเทศ/บริการ การคาดการณ์สูตรในอนาคตของคู่มือ Priest ไม่ใช่ผลวัดกฎไทย
ตารางสกิลจากเว็บ RO ไทยเดิม
พบ คู่มือ Swordman และ คู่มือ Mage จากสำเนาที่เก็บวันที่ 13 ธันวาคม 2003 ได้แล้ว ทั้งสองหน้าไม่ระบุวันเขียนหรือวันเริ่มใช้กฎ และอธิบายการฟื้นจากสกิลทุกสิบวินาทีเมื่อนั่งหรือยืนเฉย ๆ
| เลเวลสกิล | HP ตามตาราง Swordman | SP ตามตาราง Mage |
|---|---|---|
| 1 | 5 | 3 |
| 2 | 10 | 6 |
| 3 | 15 | 9 |
| 4 | 20 | 12 |
| 5 | 25 | 15 |
| 6 | 30 | 18 |
| 7 | 35 | 21 |
| 8 | 40 | 24 |
| 9 | 45 | 27 |
| 10 | 50 | 30 |
ตัวเลขในตารางเท่ากับ HP 5 × skill_level และ SP 3 × skill_level คู่มือ Swordman บอกด้วยว่า VIT มีผล แต่ไม่ได้บอกว่าเพิ่มเท่าไร และสกิลช่วยให้ยาฟื้นมากขึ้น 10% ต่อเลเวลสกิล ทั้งสองตารางไม่ได้เขียนว่าต้องนำ MaxHP/MaxSP มาคิดด้วย แต่การไม่เขียนไว้ยังไม่ได้แปลว่าเซิร์ฟเวอร์จริงไม่ได้นำมาคิด ตารางนี้อธิบายสกิล ไม่ใช่ HP/SP ที่ฟื้นเอง
มีข้อขัดแย้งที่ต้องเก็บไว้: ประกาศ Beta 2 ที่ BEEhive นำมาเผยแพร่ต่อ กล่าวว่าสกิลฟื้น HP เปลี่ยนจากค่า Beta 1 แบบคงที่ 5–50 ไปเป็นค่าที่ขึ้นกับ MaxHP หน้า BEEhive เป็นสำเนาบนแฟนไซต์และยังไม่ทราบวันเริ่มใช้ในไทย ส่วนคู่มือผู้ให้บริการอาจเก่าค้างหรืออธิบายไม่ครบ วันที่ถูกเก็บเข้าคลังที่ช้ากว่าจึงตัดสินไม่ได้ว่า Thai CBT ใช้แบบใด คู่มืออาชีพขั้นต้น ยังมีข้อความเงื่อนไขเกี่ยวกับระบบเควสต์ที่จะสมบูรณ์ในอนาคต ยิ่งต้องหาวันของเนื้อหาแยกจากวันเก็บสำเนา
เทียบสกิลกับอีมูเลเตอร์รุ่นที่ตรวจ
อีมูเลเตอร์สองรุ่นข้างต้นคำนวณค่าพื้นฐานของสกิลดังนี้:
- HP:
5 × skill_level + floor(skill_level × MaxHP / 500) - SP:
3 × skill_level + floor(skill_level × MaxSP / 500)
ดังนั้น SP Recovery เลเวล 10 ที่ MaxSP 500 ให้ 40 ต่อรอบสกิลตามสูตรนี้ เทียบกับ 30 ตามตารางแบบคงที่ ยังต้องแยกตรวจการนั่ง ยืน เดิน น้ำหนัก พิษ บัฟ และการรีเซ็ตตัวนับเวลา ต่อให้สูตรฟื้นตามธรรมชาติถูกต้อง สกิลฟื้นอาจยังผิดยุคได้