💥 สูตรคำนวณค่าดาเมจ
Luna Plus ASIA — คู่มือสำหรับผู้เล่น 📅 อัพเดท: 2026-05-20 — Patch v2.0.0
📝 เกี่ยวกับคู่มือนี้
คู่มือนี้อธิบาย สูตรคำนวณดาเมจทั้งหมด ที่ระบบใช้ตอนผู้เล่น, มอนสเตอร์ หรือ Pet โจมตี/รักษากัน — ครอบคลุมตั้งแต่การตีธรรมดา, สกิลเวทย์, สถานะดาเมจต่อเนื่อง, ฟื้นฟู HP/MP, ไปจนถึงตัวคูณ PvP/PK/Siege
💡 ต่างจากคู่มือ "📊 สูตรคำนวณค่าสถานะ" อย่างไร?
- สูตรคำนวณค่าสถานะ = สูตรของค่าที่แสดงในหน้า Character (โจมตีกาย, HP, Crit Rate, ฯลฯ)
- สูตรคำนวณค่าดาเมจ (หน้านี้) = สูตรของ "ดาเมจสุดท้าย" ที่เข้าเป้าหมายเมื่อคุณโจมตี
📚 หัวข้อทั้งหมด
⚔️ ดาเมจจากการโจมตี
| หัวข้อ | คำอธิบายสั้น | ลิงก์ |
|---|---|---|
| โจมตีกายภาพ | ดาเมจจากการตีธรรมดา + สกิลกายภาพ (Acc, Block, Crit, Defense) | ดูสูตร |
| โจมตีเวทย์ | ดาเมจจากสกิลเวทย์ + Magic Crit + Magic Defense | ดูสูตร |
☠️ ดาเมจต่อเนื่อง (DOT) และเอฟเฟกต์พิเศษ
| หัวข้อ | คำอธิบายสั้น | ลิงก์ |
|---|---|---|
| สูตร DOT | Poison / Bleeding / Burning / Holy Damage — ดาเมจต่อ Tick | ดูสูตร |
| Mana Burn | ดาเมจกัด MP เมื่อโดนโจมตี | ดูสูตร |
💚 ฟื้นฟูและการรักษา
| หัวข้อ | คำอธิบายสั้น | ลิงก์ |
|---|---|---|
| ฟื้นฟู HP / MP | สูตร Heal HP + Heal MP + ดาเมจ Heal ต่ออันเดด | ดูสูตร |
🎲 ตัวคูณดาเมจตามสถานการณ์
| หัวข้อ | คำอธิบายสั้น | ลิงก์ |
|---|---|---|
| PvP / PK / Siege / GT | ตัวคูณดาเมจที่ใช้แยกตามรูปแบบการต่อสู้ | ดูสูตร |
🧭 ลำดับการคำนวณดาเมจ (ภาพรวม)
ทุกการโจมตีในเกมจะวิ่งตามลำดับนี้ — ใช้เป็นภาพรวมเพื่อเข้าใจว่าค่าไหนคูณก่อน-หลัง:
1. เช็คผู้รับ "Invincible (God)" หรือไม่
✅ ใช่ → หยุดทันที (0 ดาเมจ)
❌ ไม่ → ไปขั้นต่อไป
2. เช็คประเภทผู้โจมตี / ผู้รับ
- ผู้เล่น / Pet / Monster / Trap แต่ละแบบใช้ stat แหล่งต่างกัน
- ผู้รับเป็น Monster Special → ส่วนใหญ่ดาเมจถูกตรึงไว้ที่ 1
3. คำนวณดาเมจฐาน
- กายภาพ: ( Attack − Defense ) × ( ( 1000 + AddDamage + Stat ) ÷ 1000 )
- เวทย์: ( MagicAttack − MagicDefense ) × ( ( 1000 + AddDamage + Stat ) ÷ 1000 )
- DOT: DOT_base × ( 1 + ( STR + INT − VIT − WIS ) ÷ 3000 )
- Heal: ( WIS × 11 + INT × 4 + Lv × 20 ) × SkillVal ÷ 800 + 100
4. ปรับด้วย Level Diff
- ผู้โจมตี Level ต่ำกว่า → ดาเมจลด 1.5% ต่อ Level (กาย+เวทย์)
- DOT → +(Lv ผู้ใช้ − Lv ผู้รับ) เมื่อ ≤ ; +1 เมื่อ >
5. เช็ค Critical
- กายภาพ → CritRate% → damage × 1.5 × (1 + CritDmgRate÷100) + CritDmgPlus
- เวทย์ → ใช้ Magic CritRate / Magic CritDmg
- Block ของผู้รับ "ตัดสิทธิ์" Critical (กายภาพเท่านั้น)
6. คูณตัวคูณตามสถานการณ์
- PvP / PK / Siege / GT / Showdown → ใช้ตัวคูณแยกของแต่ละโหมด
- ถ้าไม่อยู่ในโหมดพิเศษ → ใช้ gEventRate ของ "ดาเมจกาย/เวทย์/พิเศษ"
7. คูณ Ability Weight
- ตามอาชีพผู้ใช้ vs เผ่า/ชนิดผู้รับ
- มอนสเตอร์ → ตาม MonsterKind vs อาชีพผู้เล่น
8. ปัดขั้นต่ำ
- ถ้าดาเมจสุดท้าย < 1 → ปัดเป็น 1 เสมอ
🛡️ กฎร่วมของทุกการโจมตี
1. God Mode ป้องกันได้ทุกอย่าง
| สถานะ | ผล |
|---|---|
| ผู้รับเปิด Invincible / God | ❌ ดาเมจทุกชนิด = 0 (รวม DOT) |
| ผู้โจมตีเป็น GM / User Level ≤ GOD | ✅ ดาเมจ = HP สูงสุดของผู้รับ (One-shot) |
2. Special Monster (มอนสเตอร์พิเศษ)
มอนสเตอร์ที่มี SpecialType ≠ None (เช่น Boss Event, NPC พิเศษ) จะมีกฎดาเมจพิเศษ:
| ชนิดมอนเตอร์พิเศษ | ผล |
|---|---|
| Event Monster (HitByLife) | ดาเมจ = HP สูงสุดผู้รับ ÷ ค่า Life ของ Boss |
| Event Monster (HitByValue) | ดาเมจ = HP สูงสุดผู้รับ ÷ ค่าที่กำหนด |
| Mining Monster (ผู้โจมตีใช้อาวุธเหมือง) | ดาเมจ = Enchant Level ของอาวุธเหมือง^1.25 |
| ชนิดอื่น | ดาเมจ = 1 (ทุก Tick / ทุก Hit) |
| มอนสเตอร์กิจกรรมกับ DOT | ❌ DOT ไม่มีผลเลย |
3. Aggro Penalty (เฉพาะกายภาพ)
เมื่อมอนสเตอร์มี Aggro หลายตัวจาก player คนเดียวกัน:
| จำนวน Aggro | ผลต่อผู้รับ |
|---|---|
| 3+ | Evade ลด: Evade × ( 1 − (Aggro−2)² × 0.01 ) |
| 6+ | Defense ลด: Defense × ( 1 − (Aggro−5)^1.5 × 0.01 ) |
💡 ยิ่งดึง Aggro เยอะ → ยิ่งโดนตียากขึ้น (Block ของ Aggro pen.)
4. ดาเมจขั้นต่ำ = 1
ไม่ว่าคำนวณได้เท่าไรหรือติดลบ — ระบบจะปัดเป็น 1 เสมอ (ป้องกันดาเมจ 0 หรือติดลบ)
🔑 คำศัพท์ที่ใช้ในสูตร
| คำศัพท์ | ความหมาย |
|---|---|
| Attack | ค่าโจมตีกายภาพหลังคำนวณจากอาวุธ + STR + Enchant ฯลฯ |
| MagicAttack | ค่าโจมตีเวทย์หลังคำนวณจาก INT + WIS + Weapon |
| Defense | ค่าป้องกันกายภาพของผู้รับ |
| MagicDefense | ค่าป้องกันเวทของผู้รับ |
| AddDamage | "ค่าสกิลพลัง" ของสกิลที่ใช้ (มาจาก SkillScript / Skill DB) |
| AddType | ประเภทสกิล: 1 = Stat-based, 2 = Weapon-based |
| CriticalRate | โอกาส Crit (กายภาพ) / Magic Critical Rate (เวทย์) |
| CritDmgRate | % เพิ่มดาเมจตอน Crit |
| CritDmgPlus | ค่าคงที่บวกหลัง Crit |
| Shield / Block | โล่ + อัตราบล็อก (กายภาพเท่านั้น) |
| Aggro | จำนวนเป้าหมายที่หมายตาผู้รับอยู่ |
| Ability Weight | ตัวคูณตามอาชีพ × เผ่า/ชนิดเป้าหมาย (จาก AbilityManager) |
| gEventRate | ตัวคูณ Event ในไฟล์พื้นฐาน (ปรับได้ตาม Event) |
| Showdown | โหมด PvP สมัครใจ (ดวลกันแบบ "Show") |
📂 อ้างอิงโค้ดต้นทาง
ทุกสูตรในหมวดนี้แปลมาจาก Code-71/[Server]Map/AttackManager.cpp
| ฟังก์ชัน | บรรทัด | หน้าที่ |
|---|---|---|
PhysicAttack |
~198 | ดาเมจกายภาพ |
MagicAttack |
~817 | ดาเมจเวทย์ |
SpecialAttack |
~1324 | DOT / RecoverLifeDamage |
BurnMana |
~1652 | Mana Burn |
RecoverLife |
~86 | Heal HP |
RecoverMana |
~174 | Heal MP |
RecoverLifeDamage |
~1714 | Heal ที่ทำดาเมจอันเดด |