These balls aren't visible in the game; they're mostly to make other things work.
Used by
<ball name="Anchor" static="true" shape="circle,30" mass="20" towermass="20" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" detachable="false" autobounds="false" grumpy="true" suckable="false" > <part name="body" layer="0" x="0" y="0" image="IMAGE_BALL_ANCHOR_BODY" scale="0.6"/> </ball>
<ball name="AnchorFriendly" static="true" shape="circle,30" mass="20" towermass="20" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" detachable="false" autobounds="false" grumpy="false" suckable="false" > <part name="body" layer="0" x="0" y="0" image="IMAGE_BALL_ANCHORFRIENDLY_BODY" scale="0.6"/> </ball>
<ball name="AnchorSticky" static="false" shape="circle,10" mass="10" towermass="10" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" sticky="true" stuckattachment="true" detachable="false" invulnerable="true" > <part name="body" layer="0" x="0" y="0" image="IMAGE_BALL_ANCHORSTICKY_BODY" scale="0.5" /> </ball>
<ball name="AnchorStickyInvisible" static="false" shape="circle,30" mass="10" towermass="10" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" sticky="true" stuckattachment="true" detachable="false" grumpy="false" > </ball>
<ball name="UtilAttachUnwalkable" shape="circle,24,0.1" mass="30" towermass="5" strands="2" walkspeed="0" climbspeed="1" speedvariance="0" draggable="false" jump="0,0" grumpy="false" detachable="false" invulnerable="true" > <strand type="spring" image="IMAGE_BALL_UTILATTACHUNWALKABLE_STRAND" inactiveimage="IMAGE_BALL_UTILATTACHUNWALKABLE_STRAND" springconstmin="9" springconstmax="9" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="100" shrinklen="90" walkable="false" /> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_UTILATTACHUNWALKABLE_BODY" stretch="16,2,0.5" scale="0.5390625" /> </ball>
<ball name="UtilAttachWalkable" shape="circle,24,0.1" mass="20" towermass="3" strands="1" walkspeed="0.1" climbspeed="2.0" speedvariance="0.2" draggable="true" jump="0,0" grumpy="false" detachable="false" invulnerable="true" > <marker drag="IMAGE_BALL_UTILATTACHWALKABLE_DRAGMARKER_P1" detach="IMAGE_BALL_UTILATTACHWALKABLE_DRAGMARKER_P1" rotspeed="-2"/> <strand type="spring" image="IMAGE_BALL_UTILATTACHWALKABLE_STRAND" inactiveimage="IMAGE_BALL_GENERIC_ARM_INACTIVE" springconstmin="9" springconstmax="9" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="100" shrinklen="90" walkable="true" /> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_UTILATTACHWALKABLE_BODY" stretch="16,2,0.5" scale="0.5390625" /> <!-- Sound FX --> <sound event="marker" id="SOUND_BALL_GENERIC_ROLLOVER1,SOUND_BALL_GENERIC_ROLLOVER2,SOUND_BALL_GENERIC_ROLLOVER3,SOUND_BALL_GENERIC_ROLLOVER4,SOUND_BALL_GENERIC_ROLLOVER5,SOUND_BALL_GENERIC_ROLLOVER6,SOUND_BALL_GENERIC_ROLLOVER7,SOUND_BALL_GENERIC_ROLLOVER8"/> <sound event="pickup" id="SOUND_BALL_UTILATTACHWALKABLE_SQUEAK01,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK02,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK03,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK04,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK05,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK06,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK07,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK08,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK09,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK10,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK11,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK12,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK13,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK14,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK15,SOUND_BALL_UTILATTACHWALKABLE_SQUEAK16"/> <sound event="drop" id="SOUND_BALL_GENERIC_MUMBLE1,SOUND_BALL_GENERIC_MUMBLE2,SOUND_BALL_GENERIC_MUMBLE3,SOUND_BALL_GENERIC_MUMBLE4,SOUND_BALL_GENERIC_MUMBLE5,SOUND_BALL_GENERIC_MUMBLE6,SOUND_BALL_GENERIC_MUMBLE7"/> <sound event="throw" id="SOUND_BALL_GENERIC_MUMBLE1,SOUND_BALL_GENERIC_MUMBLE2,SOUND_BALL_GENERIC_MUMBLE3,SOUND_BALL_GENERIC_MUMBLE4,SOUND_BALL_GENERIC_MUMBLE5,SOUND_BALL_GENERIC_MUMBLE6,SOUND_BALL_GENERIC_MUMBLE7"/> <sound event="bounce" id="SOUND_BALL_GENERIC_BOUNCE1,SOUND_BALL_GENERIC_BOUNCE2,SOUND_BALL_GENERIC_BOUNCE3,SOUND_BALL_GENERIC_BOUNCE4"/> <sound event="land" id="SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="attach" id="SOUND_BALL_GENERIC_ATTACH01,SOUND_BALL_GENERIC_ATTACH02,SOUND_BALL_GENERIC_ATTACH03,SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="attachcloser" id="SOUND_BALL_GENERIC_ATTACH01,SOUND_BALL_GENERIC_ATTACH02,SOUND_BALL_GENERIC_ATTACH03,SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="detaching" id="SOUND_BALL_GENERIC_DETACHING1"/> <sound event="detached" id="SOUND_BALL_GENERIC_ATTACH01,SOUND_BALL_GENERIC_ATTACH02,SOUND_BALL_GENERIC_ATTACH03,SOUND_BALL_GENERIC_DETACHED1"/> <sound event="snap" id="SOUND_BALL_GENERIC_SNAP1"/> <sound event="death" id="SOUND_BALL_GENERIC_DEATH1,SOUND_BALL_GENERIC_DEATH2,SOUND_BALL_GENERIC_DEATH3,SOUND_BALL_GENERIC_DEATH4,SOUND_BALL_GENERIC_DEATH5"/> <sound event="deathfall" id="SOUND_BALL_GENERIC_DEATH1,SOUND_BALL_GENERIC_DEATH2,SOUND_BALL_GENERIC_DEATH3,SOUND_BALL_GENERIC_DEATH4,SOUND_BALL_GENERIC_DEATH5"/> <sound event="suction" id="SOUND_BALL_GENERIC_DETACHED1"/> <sound event="exit" id=""/> </ball>
Used by
<ball name="UtilChapter2" shape="circle,16,0.1" mass="20" towermass="5" strands="2" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" invulnerable="true" > <strand type="spring" image="IMAGE_BALL_UTILCHAPTER2_STRAND" inactiveimage="IMAGE_BALL_UTILCHAPTER2_STRAND" springconstmin="9" springconstmax="9" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="100" shrinklen="90" walkable="false" /> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_UTILCHAPTER2_BODY" scale="0.3" /> </ball>
Used by
<ball name="UtilGooGlobber" shape="circle,100,0.25" mass="10" towermass="10" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" sticky="false" stuckattachment="false" invulnerable="true" > <particles id="OOS_gooGlobs" states="falling" overball="true" /> </ball>
<ball name="UtilGooGlobberMom" shape="circle,50,0" mass="10" towermass="10" strands="1" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" sticky="false" stuckattachment="false" invulnerable="true" contains="10,UtilGooGlobber" popsound="SOUND_BALL_UTILGOOGLOBBERMOM_POP" popduration="1.0" popparticles="OOS_gooGlobs" > <strand type="spring" image="IMAGE_BALL_UTILGOOGLOBBERMOM_STRAND" inactiveimage="IMAGE_BALL_UTILGOOGLOBBERMOM_STRAND" springconstmin="1" springconstmax="1" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="10" shrinklen="100" walkable="false" rope="true" /> </ball>
<ball name="UtilGooGlobberMomQuiet" shape="circle,50,0" mass="10" towermass="10" strands="1" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" sticky="false" stuckattachment="false" invulnerable="true" contains="10,UtilGooGlobber" popsound="SOUND_GLOBAL_EARTHQUAKE" popduration="1.0" popparticles="OOS_gooGlobs" > <strand type="spring" image="IMAGE_BALL_UTILGOOGLOBBERMOMQUIET_STRAND" inactiveimage="IMAGE_BALL_UTILGOOGLOBBERMOMQUIET_STRAND" springconstmin="1" springconstmax="1" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="10" shrinklen="100" walkable="false" rope="true" /> </ball>
<ball name="UtilNoAttachUnwalkable" shape="circle,24,0.1" mass="20" towermass="5" strands="2" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" invulnerable="true" > <strand type="spring" image="IMAGE_BALL_UTILNOATTACHUNWALKABLE_STRAND" inactiveimage="IMAGE_BALL_UTILNOATTACHUNWALKABLE_STRAND" springconstmin="9" springconstmax="9" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="100" shrinklen="90" walkable="false" /> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_UTILNOATTACHUNWALKABLE_BODY" stretch="16,2,0.5" scale="0.5390625" /> </ball>
<ball name="UtilNoAttachWalkableSmall" shape="circle,16,0.1" mass="10" towermass="10" strands="2" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" invulnerable="true" > <strand type="spring" image="IMAGE_BALL_UTILNOATTACHWALKABLESMALL_STRAND" inactiveimage="IMAGE_BALL_UTILNOATTACHWALKABLESMALL_STRAND" springconstmin="1" springconstmax="1" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="600" minlen="10" shrinklen="120" walkable="true" rope="true" /> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_UTILNOATTACHWALKABLESMALL_BODY" stretch="16,2,0.5" scale="0.25" /> </ball>
<ball name="UtilProductLauncherScreamer" shape="circle,50,0" mass="10" towermass="10" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" draggable="false" jump="0,0" grumpy="true" detachable="false" distantsounds="false" sticky="false" stuckattachment="false" invulnerable="false" antigrav="1.0" isantigravunattached="true" > <sound event="death" id="SOUND_BALL_UTILPRODUCTLAUNCHERSCREAMER_DEATH"/> <sound event="deathfall" id="SOUND_BALL_UTILPRODUCTLAUNCHERSCREAMER_DEATH"/> </ball>
Used by
This pseudo-ball surfaces and spams your screen upon completion of Deliverance.
<ball name="Spam" shape="rectangle,90,60,0.3" mass="20" towermass="5" strands="0" walkspeed="0.0" climber="false" speedvariance="0.2" draggable="false" detachable="false" jump="0.0,0.0" grumpy="true" antigrav="0.5" isantigravunattached="true" invulnerable="true" dampening="0.005" > <part name="body" layer="0" x="0" y="0" image="IMAGE_BALL_SPAM_B1,IMAGE_BALL_SPAM_B2,IMAGE_BALL_SPAM_B3,IMAGE_BALL_SPAM_B4,IMAGE_BALL_SPAM_B5,IMAGE_BALL_SPAM_B6" stretch="26,1.25,0.85" scale="1.45" rotate="true" /> </ball>
Used by
This "ball" represents the Time Bugs you can click on certain levels, where undo is available.
<ball name="TimeBug" shape="circle,20" walkforce="0" mass="10" towermass="0" strands="0" walkspeed="0.0" climbspeed="0" speedvariance="0" detachable="false" blinkcolor="0,0,0" jump="0.0,0.0" static="true" hideeyes="false" > <shadow image="IMAGE_BALL_TIMEBUG_GLOW" additive="true" /> <splat image="IMAGE_BALL_TIMEBUG_SPLAT1,IMAGE_BALL_TIMEBUG_SPLAT2"/> <part name="wingLeft" layer="0" x="-7" y="0,0" image="IMAGE_BALL_TIMEBUG_WINGLEFT" scale="0.634375" rotate="false" /> <part name="wingRight" layer="0" x="7" y="0,0" image="IMAGE_BALL_TIMEBUG_WINGRIGHT" scale="0.634375" rotate="false" /> <part name="body0" layer="1" x="0" y="0" image="IMAGE_BALL_TIMEBUG_BODY" stretch="12,3,0.4" scale="0.403125" state="falling" /> <part name="body1" layer="1" x="0" y="0" image="IMAGE_BALL_TIMEBUG_BODY" stretch="12,3,0.4" scale="0.671875" state="standing" /> <part name="lefteye" layer="2" rotate="false" eye="true" pupil="IMAGE_BALL_GENERIC_PUPIL1" pupilinset="12" x="-12,-8" y="-5,5" image="IMAGE_BALL_GENERIC_EYE_GLASS_1" scale="0.35" /> <part name="righteye" layer="2" rotate="false" eye="true" pupil="IMAGE_BALL_GENERIC_PUPIL1" pupilinset="12" x="8,12" y="-5,5" image="IMAGE_BALL_GENERIC_EYE_GLASS_1" scale="0.35" /> <!--particles id="sleepyZzz" states="falling" overball="true" /--> <!-- floating animations --> <sinvariance freq="1.2" amp="0.1" shift="0.0"> <sinanim part="body0" state="falling" type="scale" axis="x" freq="2.0" amp="0.1" shift="0" /> <sinanim part="body0" state="falling" type="scale" axis="y" freq="2.0" amp="0.1" shift="0.5" /> <sinanim part="body0" state="falling" type="translate" axis="y" freq="2.0" amp="2" shift="0" /> <sinanim part="wingLeft" state="falling" type="translate" axis="y" freq="20.0" amp="6" shift="0" /> <sinanim part="wingRight" state="falling" type="translate" axis="y" freq="22.0" amp="6" shift="0" /> </sinvariance> <!-- selected animations --> <sinvariance freq="1.5" amp="0.05" shift="0"> <sinanim part="body0" state="standing" type="scale" axis="x" freq="1.0" amp="0.2" shift="0" /> <sinanim part="body0" state="standing" type="scale" axis="y" freq="1.0" amp="0.2" shift="0.33" /> <sinanim part="wingLeft" state="standing" type="translate" axis="y" freq="8.0" amp="5" shift="0" /> <sinanim part="wingRight" state="standing" type="translate" axis="y" freq="9.0" amp="5" shift="0" /> </sinvariance> <!-- Sound FX --> <sound event="marker" id="SOUND_BALL_GENERIC_ROLLOVER1,SOUND_BALL_GENERIC_ROLLOVER2,SOUND_BALL_GENERIC_ROLLOVER3,SOUND_BALL_GENERIC_ROLLOVER4,SOUND_BALL_GENERIC_ROLLOVER5,SOUND_BALL_GENERIC_ROLLOVER6,SOUND_BALL_GENERIC_ROLLOVER7,SOUND_BALL_GENERIC_ROLLOVER8"/> <sound event="pickup" id="SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="drop" id="SOUND_BALL_GENERIC_MUMBLE1,SOUND_BALL_GENERIC_MUMBLE2,SOUND_BALL_GENERIC_MUMBLE3,SOUND_BALL_GENERIC_MUMBLE4,SOUND_BALL_GENERIC_MUMBLE5,SOUND_BALL_GENERIC_MUMBLE6,SOUND_BALL_GENERIC_MUMBLE7"/> <sound event="throw" id="SOUND_BALL_GENERIC_MUMBLE1,SOUND_BALL_GENERIC_MUMBLE2,SOUND_BALL_GENERIC_MUMBLE3,SOUND_BALL_GENERIC_MUMBLE4,SOUND_BALL_GENERIC_MUMBLE5,SOUND_BALL_GENERIC_MUMBLE6,SOUND_BALL_GENERIC_MUMBLE7"/> <sound event="bounce" id="SOUND_BALL_GENERIC_BOUNCE1,SOUND_BALL_GENERIC_BOUNCE2,SOUND_BALL_GENERIC_BOUNCE3,SOUND_BALL_GENERIC_BOUNCE4"/> <sound event="land" id="SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="attach" id="SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/> <sound event="attachcloser" id="SOUND_BALL_GENERIC_GLEE1,SOUND_BALL_GENERIC_GLEE2,SOUND_BALL_GENERIC_GLEE3,SOUND_BALL_GENERIC_GLEE4,SOUND_BALL_GENERIC_GLEE5,SOUND_BALL_GENERIC_GLEE6,SOUND_BALL_GENERIC_GLEE7,SOUND_BALL_GENERIC_GLEE8,SOUND_BALL_GENERIC_GLEE9,SOUND_BALL_GENERIC_GLEE10,SOUND_BALL_GENERIC_GLEE11"/> <sound event="detaching" id="SOUND_BALL_GENERIC_DETACHING1"/> <sound event="detached" id="SOUND_BALL_GENERIC_DETACHED1"/> <sound event="snap" id="SOUND_BALL_GENERIC_SNAP1"/> <sound event="death" id="SOUND_BALL_GENERIC_DEATH1,SOUND_BALL_GENERIC_DEATH2,SOUND_BALL_GENERIC_DEATH3,SOUND_BALL_GENERIC_DEATH4,SOUND_BALL_GENERIC_DEATH5"/> <sound event="deathfall" id="SOUND_BALL_GENERIC_DEATH1,SOUND_BALL_GENERIC_DEATH2,SOUND_BALL_GENERIC_DEATH3,SOUND_BALL_GENERIC_DEATH4,SOUND_BALL_GENERIC_DEATH5"/> <sound event="suction" id="SOUND_BALL_GENERIC_DETACHED1"/> <sound event="exit" id=""/> </ball>
Used by
Nobody knows for sure what this is. It's probably hardcoded into the game code, and has something to do with the animation at the end of Deliverance.
<ball name="UndeletePillFizz" shape="circle,20" mass="10" towermass="10" strands="0" walkspeed="0" climbspeed="0" speedvariance="0" collidewithattached="false" suckable="false" jump="0.0,0.0" climber="false" draggable="false" contains="4,Spam" popsound="SOUND_BALL_UNDELETEPILLFIZZ_POP4" popdelay="2,12" popduration="4" popparticles="ISH_undeleteFizz" invulnerable="true" autoboundsunattached="true" > <particles id="ISH_undeleteFizz" states="falling" overball="true" /> </ball>