I prefer worm piles to not be destructible at all
allowing the player to wrench them to death is the definition of boring
keeping them indestructable preserves worm ammo counts for new players whom have no idea about any proliferator worm gun thing until much later.
class SomaDrain extends RootPsi { function ActivatePsi() { base.ActivatePsi(); doDrain(); DeactivatePsi(); } function doDrain() { local mod, drain, heal; local obj = ShockGame.GetDistantSelectedObj(); if (obj && Link.AnyExist("StimSensor", obj, "DrainStim")) { drain = GetData("Data1"); mod = GetData("PsiStat") - GetData("Data3"); if (mod > 0) { drain += mod * GetData("Data2"); } heal = scp.Clamp(drain, 0, Property.Get(obj, "HitPoints")); ActReact.Stimulate(obj, "DrainStim", drain, "Player"); ShockGame.HealObj("Player", heal); createFX(obj); } } function createFX(obj) { local fx = scp.CreateAt("Soma Drain FX", obj); if (Property.Possessed(obj, "Creature")) { local lnk = Link.Create("ParticleAttachement", fx, obj); LinkTools.LinkSetData(lnk, "Type", 2); LinkTools.LinkSetData(lnk, "Joint", 3); } }}