local BuildUtils = {} local BusyActorManagerSubSystem = import("BusyActorManagerSubSystem") local function BuildBonfire(wco) local sub_system = BusyActorManagerSubSystem.Get(wco) local role = sub_system.current_role local bonfire = sub_system:GetNearestBonfire() local role_pos = role:K2_GetActorLocation() local bonfire_pos = bonfire:K2_GetActorLocation() local distance = (role_pos.X - bonfire_pos.X)^2 + (role_pos.Y - bonfire_pos.Y)^2 if distance >= 90000 then sub_system:SpawnBonfire(role_pos) return true end return false end local build_mapping = { [200001] = BuildBonfire } function BuildUtils.Build(wco, item_id) local build_function = build_mapping[item_id] return build_function and build_function(wco) or false end return BuildUtils