diff --git a/Cargo.toml b/Cargo.toml index aed53e3..365c802 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,4 +104,4 @@ rkon = { version = "0.1" } tower-http = { version = "0.6", features = ["fs", "cors"] } # excel sheet data -icarus = { git = "https://github.com/redstrate/Icarus", branch = "ver/2025.04.16.0000.0000", features = ["Warp", "Tribe", "ClassJob", "World", "TerritoryType", "Race", "Aetheryte", "EquipSlotCategory"], default-features = false } +icarus = { git = "https://github.com/redstrate/Icarus", branch = "ver/2025.04.16.0000.0000", features = ["Warp", "Tribe", "ClassJob", "World", "TerritoryType", "Race", "Aetheryte", "EquipSlotCategory", "Action"], default-features = false } diff --git a/src/common/gamedata.rs b/src/common/gamedata.rs index 5db2a4b..e8020df 100644 --- a/src/common/gamedata.rs +++ b/src/common/gamedata.rs @@ -1,3 +1,4 @@ +use icarus::Action::ActionSheet; use icarus::Aetheryte::AetheryteSheet; use icarus::ClassJob::ClassJobSheet; use icarus::EquipSlotCategory::EquipSlotCategorySheet; @@ -219,4 +220,11 @@ impl GameData { None } + + pub fn get_casttime(&mut self, action_id: u32) -> Option { + let sheet = ActionSheet::read_from(&mut self.game_data, Language::English)?; + let row = sheet.get_row(action_id)?; + + row.Cast100ms().into_u16().copied() + } }