diff --git a/crates/benilla-ui/src/script/tradeskill/api.rs b/crates/benilla-ui/src/script/tradeskill/api.rs index cbe03f04..242d7c68 100644 --- a/crates/benilla-ui/src/script/tradeskill/api.rs +++ b/crates/benilla-ui/src/script/tradeskill/api.rs @@ -252,12 +252,13 @@ pub(in crate::script) fn install(lua: &Lua) -> mlua::Result<()> { })?, )?; + // GetTradeSkillNumMade(index) (`0x4fdc50`): 1, 1 on a header or past the rows (`0x4fdd13`). g.set( "GetTradeSkillNumMade", lua.create_function(|lua, index: usize| { let model = lua.app_data_ref::().expect("model app_data"); let (min_made, max_made) = - recipe_at(&model, index).map_or((0, 0), |r| (r.min_made, r.max_made)); + recipe_at(&model, index).map_or((1, 1), |r| (r.min_made, r.max_made)); Ok(MultiValue::from_vec(vec![ Value::Integer(i64::from(min_made)), Value::Integer(i64::from(max_made)), diff --git a/crates/benilla-ui/src/script/tradeskill/tests.rs b/crates/benilla-ui/src/script/tradeskill/tests.rs index 779761a3..5be58cc0 100644 --- a/crates/benilla-ui/src/script/tradeskill/tests.rs +++ b/crates/benilla-ui/src/script/tradeskill/tests.rs @@ -235,10 +235,16 @@ fn do_trade_skill_and_getters_no_op_on_a_header_index() { assert!(s .eval::("return GetTradeSkillIcon(1) == nil") .unwrap()); + // But the made counts, which answer 1, 1 on a header and past the last row (`0x4fdd13`). assert_eq!( s.eval::<(i64, i64)>("return GetTradeSkillNumMade(1)") .unwrap(), - (0, 0) + (1, 1) + ); + assert_eq!( + s.eval::<(i64, i64)>("return GetTradeSkillNumMade(99)") + .unwrap(), + (1, 1) ); assert!(s .eval::("return GetTradeSkillCooldown(1) == nil") @@ -488,7 +494,7 @@ fn no_snapshot_shapes_unknown_line_and_nil_info() { assert_eq!( s.eval::<(i64, i64)>("return GetTradeSkillNumMade(1)") .unwrap(), - (0, 0) + (1, 1) ); assert!(s .eval::("return GetTradeSkillCooldown(1) == nil")