feat: detailed characters + Noita-style mouse aiming
Character detail: - Player: 68 body parts (was 42) — eyes, hair, cape, hat, gloves - Goblin: 56 body parts (was 39) — red eyes, pointed ears, teeth, skin tones - New body labels: eye, hair, cape, tooth, ear - Updated preview_ascii label map for new part types Mouse aiming (Noita-style): - Track mouse position via CursorMoved events - Track left-click via MouseInput events - Left-click shoots projectile toward mouse cursor direction - Player faces left/right based on mouse X relative to player screen X - Keyboard shoot (hjkl) still works as fallback - Player.facing_right field added - WindowInput: mouse_x, mouse_y, mouse_left, shoot_mouse fields - on_mouse_move(), on_mouse_button() handlers - clear_keys() also clears mouse state on focus loss All 171 tests + 14 scenarios pass.
This commit is contained in:
@@ -8,6 +8,7 @@ pub struct Player {
|
||||
pub inventory: Vec<Item>,
|
||||
pub weapon: Option<Item>,
|
||||
pub armor: Option<Item>,
|
||||
pub facing_right: bool,
|
||||
}
|
||||
|
||||
impl Player {
|
||||
@@ -20,6 +21,7 @@ impl Player {
|
||||
inventory: Vec::new(),
|
||||
weapon: None,
|
||||
armor: None,
|
||||
facing_right: true,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user