e4s-sdk/gamedata/scripts/se_artefact.script
2026-06-17 23:06:51 +03:00

32 lines
1.3 KiB
Text

class "se_artefact" (cse_alife_item_artefact)
function se_artefact:__init (section) super (section)
end
function se_artefact:on_register()
cse_alife_item_artefact.on_register(self)
-- Ïðîâåðÿåì êàñòîìäàòó îáüåêòà íà íàëè÷èå ñòîðè àéäè.
story_objects.check_spawn_ini_for_story_id(self)
end
function se_artefact:on_unregister()
unregister_story_object_by_id(self.id)
cse_alife_item_artefact.on_unregister(self)
end
--------------------
function se_artefact:can_switch_offline ()
-- printf("id [%s] can_switch_offline called, can it [%s]", tostring(self.id), tostring(cse_alife_item_artefact.can_switch_offline (self)))
if alife():actor() and (alife():actor().position:distance_to(self.position) <= 150) then
-- printf("af_id [%s] can not go offline, distance [%s]", tostring(self.id), tostring(db.actor:position():distance_to(self.position)))
return false
end
-- printf("af_id [%s] can go offline, distance [%s]", tostring(self.id), tostring(db.actor:position():distance_to(self.position)))
return cse_alife_item_artefact.can_switch_offline (self)
end
--------------------
function se_artefact:can_switch_online ()
-- printf("id [%s] can_switch_online called, can it [%s]", tostring(self.id), tostring(cse_alife_item_artefact.can_switch_online (self)))
return cse_alife_item_artefact.can_switch_online (self)
end
--------------------