fighting-konoha/guide/hit-reactions.md

54 lines
3.8 KiB
Markdown

# Hit feedback, hurt, dan KO
Acuan ini mengikuti [gameplay final](gameplay-standard.md).
## Aset karakter
Petarung baru tetap menyiapkan hurt 4 dan down 4 dengan base yang sama. Hurt: recoil → stagger → regain balance → guard. Down: jatuh ke belakang relatif facing, lalu rebah. Hadap kanan berarti kepala jatuh ke kiri; arah lain memakai runtime flip.
Jaga ukuran kepala, torso, dan anggota tubuh. Pose rebah tidak boleh mengecil agar muat slot. Kurangi ukuran gambar SEMUA pose dalam prompt/generator untuk memberi ruang, lalu normalisasi anatomi terhadap idle. Jika pose saling menempel, utamakan regenerasi row dengan gap yang jelas. Tidak ada efek/blood/impact star yang dibakar ke sprite.
Demo saat ini memakai satu prop dummy, bukan petarung musuh beranimasi. Hurt dummy ditunjukkan lewat state, knockback dan VFX; tidak memakai row hurt ARCO. Jangan mengklaim musuh AI atau animasi bangkit petarung baru sudah tersedia hanya karena asetnya ada.
## Feedback saat hit valid
| Bagian | Perilaku saat ini |
| --- | --- |
| Hit-stop | Melee/slam boleh: ringan0,045 s, kategori berat saat damage≥30 memakai0,085 s |
| Proyektil / drone | Tidak memakai global hit-stop agar pemilik tetap dapat bergerak |
| Warna target | Tidak diberi brightness putih, filter merah, atau blink alpha |
| Pose idle/hurt dummy | Tidak diberi rotasi kecil berulang; hindari pixel shimmer/glitch |
| Percikan / angka / suara | Di titik benturan atau emitter terukur, satu event per hit |
| Knockback | Mengikuti arah benturan; parameter sumber serangan ada di BALANCE |
| Shake | Seluruh stage, singkat dan terkendali; tepi kosong ditutup overscan. Trauma selalu meluruh ke nol, termasuk saat fase intro/K.O. Akhir ronde (K.O., double K.O., time up) mengenolkan trauma sehingga layar K.O. diam, tidak bergetar |
O saat ini damage 24 sehingga tidak otomatis masuk kategori hit-stop≥30; jangan menganggap nama “heavy” sama dengan cabang threshold kode. Sumber kebenaran adalah parameter dan kondisi engine saat ini.
## Pemain
- Hurt mengunci input sekitar 0,42 s, lalu immunity 0,9 s; immunity tidak berarti sprite berkedip.
- Skill memiliki perlindungan hanya selama komitmen cast yang masih aktif. Setelah pose summon0,5 s selesai, pemain dapat bergerak **dan dapat terkena damage**; drone tetap melanjutkan tugas.
- Projectile I melepas karakter ketika peluru keluar. Jangan memakai durasi visual proyektil untuk memperpanjang input lock.
- Kedua lapis HP total 200 harus habis sebelum pemain down/core restart. Latihan memulihkan pemain setelah sekitar 1,7 s; ini belum sistem ronde kompetitif.
- Pada demo, receiveHit diuji lewat hook diagnostik; dummy normal belum menyerang pemain.
## Target latihan
HP target juga200 dalam satu bar berlapis. Hit biasa tetap mengurangi HP, tanpa refill setelah hurt. Ultimate tidak memaksa jatuh/KO.
Saat HP benar-benar nol: state down, recoil/jatuh, kemudian recover setelah 1,7 s. Recovery sekitar 0,4 s, setelah itu target latihan mengisi HP kembali dan kebal0,5 s. Target down/recover/kebal tidak menerima hit baru dan tidak memberi bonus recharge basic.
Jika kelak ada mekanik knockdown nonfatal, jangan mengisi HP hanya karena target bangkit. KO dan knockdown adalah kondisi berbeda.
## Checklist integrasi karakter lain
- [ ] Hurt/down berasal dari identitas yang sama dan skalanya diperiksa terhadap idle.
- [ ] Satu ayunan/peluru/laser tidak memberi damage ulang setiap frame.
- [ ] Hit yang ditolak tidak memberi bonus cooldown.
- [ ] Tidak ada brightness flash, shimmer idle, atau alpha blink yang sebelumnya ditolak pengguna.
- [ ] Owner summon bebas setelah cast dan tidak dibekukan oleh hit laser.
- [ ] Target baru KO setelah kedua lapis HP habis; damage biasa tidak direset.
- [ ] Pause/reset menghentikan atau membersihkan seluruh state yang relevan.
- [ ] Jika menambahkan AI lawan, telegraph/range/recovery dan animasinya dibuat serta diuji tersendiri.