fix(D-01/A): 3 review bugs + null guards (BUG-001, BUG-002, BUG-003, RISK-003)
BUG-001: TyingInteractionHelper swap now checks V2EquipResult — on failure, rolls back by re-equipping the old bind instead of leaving target untied BUG-002: OwnershipComponent.onUnequipped no longer double-calls unregisterWearer — onCollarRemoved already handles it. Suppressed-alert path calls unregister directly since onCollarRemoved is skipped. BUG-003: PacketSelfBondage handleV2SelfBind now clears completed tying task from PlayerBindState to prevent blocking future tying interactions RISK-003: StruggleCollar get/setResistanceState null-guard on player
This commit is contained in:
@@ -291,6 +291,12 @@ public class PacketSelfBondage {
|
||||
if (playerState.getCurrentTyingTask() == newTask) {
|
||||
newTask.update();
|
||||
}
|
||||
|
||||
// Clear completed task to prevent blocking future tying interactions
|
||||
TyingTask activeTask = playerState.getCurrentTyingTask();
|
||||
if (activeTask != null && activeTask.isStopped()) {
|
||||
playerState.setCurrentTyingTask(null);
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleV2SelfAccessory(
|
||||
|
||||
Reference in New Issue
Block a user