Repair mode: bag and worn-item clicks in 1.12.1's order, right-clicks clearing the cursor first (#378)

- fix: repair mode
- repair mode: a right-click puts a held payload back, then repairs the item
- repair clicks sound ITEM_REPAIR as they are sent, under the kit's no-duplicates gate
- the repair-all button is no longer driven from Rust
- repair mode: the click bindings' order, for every cursor payload
- worn-item repair clicks drain beside the bag's, in no system of their own

Fixes #147
Fixes #148

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Sam <samuv.eth@gmail.com>
This commit is contained in:
Juozas Polikevičius
2026-09-26 13:42:44 +07:00
committed by GitHub
co-authored by Claude Opus 5.5 Sam
parent 98b0733013
commit 36b1c93fcd
7 changed files with 544 additions and 32 deletions
@@ -338,6 +338,11 @@ impl super::UiScript {
pub fn take_inventory_uses(&mut self) -> Vec<u32> {
std::mem::take(&mut self.model_mut().inventory_uses)
}
/// Drain equipped slots clicked in repair mode, for `CMSG_REPAIR_ITEM`.
pub fn take_inventory_repairs(&mut self) -> Vec<u32> {
std::mem::take(&mut self.model_mut().inventory_repairs)
}
}
fn with_unit_stats<T>(