fix(taffy): bind signature monowheel mount active skill, support notify rpcs, and fix misleading debug panel vehicle label
This commit is contained in:
1 parent
2ad6246796
commit
dbcb8addf6
4 files changed
+29
-6
No files matched your search
@@ -44,9 +44,10 @@
|
||||
<div style="margin-bottom:10px;padding:8px;background:#252932;border-radius:6px">
|
||||
<div style="font-weight:bold;margin-bottom:6px;color:#ffb74d">⚡ Quick Spawn Special Vehicles:</div>
|
||||
<button style="background:#8e24aa" onclick="spawnSpecificVehicle(81006020)">🚀 FG Vision Aric (Flying Car) [81006020]</button>
|
||||
<button style="background:#e91e63" onclick="spawnSpecificVehicle(81007104)">🛴 Taffy Monowheel [81007104]</button>
|
||||
<button style="background:#e91e63" onclick="spawnSpecificVehicle(81007104)">🏍️ Shikage Freeman800 (Honda NT1100) [81007104]</button>
|
||||
<button style="background:#00897b" onclick="spawnSpecificVehicle(81007007)">🚁 Reed Ranger Helicopter [81007007]</button>
|
||||
<button style="background:#f4511e" onclick="spawnSpecificVehicle(81006011)">🏍️ Sunset M125 Superbike [81006011]</button>
|
||||
<div style="font-size:11px;color:#81c784;margin-top:6px">💡 หมายเหตุ: รถล้อเดียวของ Taffy (塔菲独轮车) เป็นสกิลกดขี่ของตัวละคร Taffy (กด E / Active Skill) ให้สลับเป็นตัวละคร Taffy แล้วกด E เพื่อแปลงค้อนเป็นรถล้อเดียวขี่ได้ทันที</div>
|
||||
</div>
|
||||
<div>Category: <select id="fleetcat" onchange="filterFleet()"></select></div>
|
||||
<div style="margin-top:6px">Vehicle: <select id="fleet"></select></div>
|
||||
|
||||
@@ -18,6 +18,24 @@ internal sealed partial class GameRouter
|
||||
CombatWeaponDefinition weapon,
|
||||
CombatStyleDefinition style)
|
||||
{
|
||||
if (weapon.SpiritTemplateId == 15020992) // Taffy (塔菲)
|
||||
{
|
||||
// Taffy signature skills:
|
||||
// 51935209: 塔菲普攻1 (Hammer strikes)
|
||||
// 51935213: 塔菲重击 (Heavy slam)
|
||||
// 51935207: 通用闪避 (Dodge)
|
||||
// 51935230: 塔菲主动技_上车A (Taffy Monowheel Mount!)
|
||||
// 51935224: 塔菲大招 (超次元神速连打)
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeCommonSkill, WorldCodec.SkillBinding(unitId, 51935209));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeHeavyAttack, WorldCodec.SkillBinding(unitId, 51935213));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeDodgeSkill, WorldCodec.SkillBinding(unitId, 51935207));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeControlSkill, CombatCodec.ControlBinding(unitId, style));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeActiveSkill, WorldCodec.SkillBinding(unitId, 51935230));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeUniqueSkill, WorldCodec.SkillBinding(unitId, 51935224));
|
||||
ctx.Session.Log.Info($"[COMBAT] bound signature Taffy Monowheel skill profile for unit={unitId}");
|
||||
return;
|
||||
}
|
||||
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeCommonSkill, CombatCodec.CommonBinding(unitId, style));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeHeavyAttack, CombatCodec.HeavyAttackBinding(unitId, style));
|
||||
await ctx.NotifyAsync(MethodId.SyncChangeDodgeSkill, CombatCodec.DodgeBinding(unitId, style));
|
||||
|
||||
@@ -566,31 +566,35 @@ internal sealed partial class GameRouter
|
||||
|
||||
// Taffy Moto / Monowheel Handlers
|
||||
[Handler(MethodId.AskTaffyMotoEnterRush, HandlerPacketKind.Invoke)]
|
||||
[Handler(MethodId.AskTaffyMotoEnterRush, HandlerPacketKind.Notify)]
|
||||
private Task AskTaffyMotoEnterRush(Connection conn, UxRpcMessage msg)
|
||||
{
|
||||
conn.Log.Info("[TAFFY_MOTO] AskTaffyMotoEnterRush");
|
||||
return conn.ReturnEmptyOkAsync(msg);
|
||||
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Handler(MethodId.AskTaffyMotoLeaveRush, HandlerPacketKind.Invoke)]
|
||||
[Handler(MethodId.AskTaffyMotoLeaveRush, HandlerPacketKind.Notify)]
|
||||
private Task AskTaffyMotoLeaveRush(Connection conn, UxRpcMessage msg)
|
||||
{
|
||||
conn.Log.Info("[TAFFY_MOTO] AskTaffyMotoLeaveRush");
|
||||
return conn.ReturnEmptyOkAsync(msg);
|
||||
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Handler(MethodId.OnTafeiMotorColliding, HandlerPacketKind.Invoke)]
|
||||
[Handler(MethodId.OnTafeiMotorColliding, HandlerPacketKind.Notify)]
|
||||
private Task OnTafeiMotorColliding(Connection conn, UxRpcMessage msg)
|
||||
{
|
||||
conn.Log.Info("[TAFFY_MOTO] OnTafeiMotorColliding");
|
||||
return conn.ReturnEmptyOkAsync(msg);
|
||||
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Handler(MethodId.AskGetOffMotor, HandlerPacketKind.Invoke)]
|
||||
[Handler(MethodId.AskGetOffMotor, HandlerPacketKind.Notify)]
|
||||
private Task AskGetOffMotor(Connection conn, UxRpcMessage msg)
|
||||
{
|
||||
conn.Log.Info("[TAFFY_MOTO] AskGetOffMotor");
|
||||
return conn.ReturnEmptyOkAsync(msg);
|
||||
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
| **Safe Fastpatch Loader** | 🟢 ใช้งานได้สมบูรณ์ | ตัวสร้าง `fastpatch_4229938.zip` อัตโนมัติ ทุกคำสั่งถูกครอบด้วย `pcall` ป้องกันข้อความคำสั่งรั่วขึ้นหน้าจอ และหมดปัญหาเกมค้างหน้า Initialize Client |
|
||||
| **Monster Spawning (เสกมอนเตอร์)** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | เสกได้ผ่าน GM Console (`Alt+F1`) และ Debug Panel (`CMD:SPAWN_ENEMY`) ส่งคำสั่งเข้า `gCS.LuaUtils.AddEnemy` โดยตรงไม่ขึ้นเป็นตัวหนังสือบนจอ แต่การเกิดจะขึ้นอยู่กับ NavMesh ใน Chunk นั้นๆ |
|
||||
| **Cutscene & Video Player** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | คำสั่ง `CMD:PLAY_CUTSCENE` สั่งเปิดหน้าต่าง `S_VIDEO_PLAYER_PANEL` และ Timeline ได้ถูกต้อง ไม่ขึ้นเป็นตัวหนังสือบนจอ แต่ Cutscene ID บางตัวอาจไม่มีไฟล์วิดีโอใน Client Leak |
|
||||
| **Taffy Monowheel (塔菲摩托)** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | ลงทะเบียน RPC การขับขี่พื้นฐาน (`AskTaffyMotoEnterRush`, `AskGetOffMotor`, `OnTafeiMotorColliding`) ไว้แล้ว แต่ระบบฟิสิกส์การชนยังไม่สมบูรณ์เท่าตัวเอก |
|
||||
| **Taffy Monowheel (塔菲独轮车)** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | รถล้อเดียวของ Taffy ไม่ใช่เอนทิตีรถโรงรถ แต่เป็นสกิลกดขี่ของตัวละคร Taffy (Active Skill: `51935230` แปลงค้อนเป็นรถล้อเดียว) เซิร์ฟเวอร์ผูกสกิลเฉพาะตัวของ Taffy และลงทะเบียน RPC รองรับการเร่งความเร็ว ชน และลงจากรถไว้เรียบร้อยแล้ว |
|
||||
| **Gacha System (ตู้สุ่มตัวละคร)** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | หน้าร้านค้าเปิดตู้ได้และบายพาสวันหมดอายุ CBT แล้ว แต่ผลการสุ่มยังเป็นการให้ไอเทมแบบสุ่มตายตัว (ยังไม่มี Database เรทกาชาแบบเต็มระบบ) |
|
||||
| **Phone Customization (ตกแต่งมือถือ)** | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | ปลดล็อกไอเทมเคสมือถือ วอลเปเปอร์ จี้ห้อย (`1..200`) ในหน่วยความจำ แต่ยังไม่บันทึกความเปลี่ยนแปลงข้าม Session แบบถาวร |
|
||||
| **Monster Combat AI & Aggro** | 🔴 ยังทำไม่ได้ / วางแผนไว้ | มอนเตอร์ที่เสกออกมาจะยืนนิ่งหรือเคลื่อนที่พื้นฐาน ยังไม่มี Behavior Tree เชิงรุกเข้าโจมตีผู้เล่น (ต้องรอเขียน Combat AI Loop ฝั่งเซิร์ฟเวอร์) |
|
||||
|
||||
Reference in new issue
Block a user