💥 สูตรคำนวณค่าดาเมจ

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 ที่ทำดาเมจอันเดด

🏠 หน้าแรก Docs | 📊 สูตรคำนวณค่าสถานะ →

8 คนออนไลน์อยู่