local CONST = require 'config.const' local Suspicion = require 'systems.suspicion' local Base = require 'profession.base' Base.register('mimic', function(unit, ability) unit:storage_set('mimic_active', true) local nearby_area = clicli.area.create_circle_area(unit:get_point(), 10) local units = nearby_area:get_all_unit_in_area() nearby_area:remove() local nearest_npc = nil for _, u in ipairs(units) do if u:has_tag('npc') and u:is_alive() then nearest_npc = u break end end if nearest_npc then unit:follow(nearest_npc, 0.5, 2.0, 4.0, 0, false) end local mimic_timer = clicli.timer.loop(1.0, function(timer, count) if count > 10 or not unit:storage_get('mimic_active') then timer:remove() unit:stop() unit:storage_set('mimic_active', false) return end Suspicion.add(unit, -5) end, '完美模仿', true) unit:storage_set('mimic_timer', mimic_timer) end) return Base