// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Linked wave sculpture // Not compiled or tested in-world // Setup: Put in root; name up to 12 nonphysical children wave_bar. Their link order defines wave phase. Owner-touch starts/stops. // Stop / restore: Owner-touch to stop and restore the captured starting pose before removing, resetting, or relinking. // Notes: Use a small nonphysical rezzed build with clear space. Actual prim transforms change. Original poses live only in script memory. Do not change physical status or link topology during use. Only local Z changes by up to 0.15 meters. Start with enough separation and never relink while active. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Not compiled or tested in-world. list links; list home; integer active; default { state_entry() { integer i; for(i=2;i<=llGetObjectPrimCount(llGetKey())&&llGetListLength(links)<12;++i)if(llGetLinkName(i)=="wave_bar") { links+=[i]; home+=llGetLinkPrimitiveParams(i,[PRIM_POS_LOCAL]); } } touch_start(integer n) { if(llDetectedKey(0)!=llGetOwner()||llGetLinkNumber()>1||llGetStatus(STATUS_PHYSICS))return; active=!active; if(active) { llResetTime(); llSetTimerEvent(0.2); } else { llSetTimerEvent(0.0); integer i; for(i=0;i; llSetLinkPrimitiveParamsFast(llList2Integer(links,i),[PRIM_POS_LOCAL,p]); } } }