Used by
The standard black ball used in many levels. Can't be detached once you use it in a structure.
<ball name="common" shape="circle,30,0.25" walkforce="500" mass="30" towermass="3.0" strands="2" walkspeed="0.1" climbspeed="2.0" speedvariance="0.2" detachable="false" blinkcolor="0,0,0" jump="0.0,0.3" > <!-- For the marker, we need to be able to specify images for each player --> <marker drag="IMAGE_BALL_COMMON_DRAGMARKER_P1" detach="IMAGE_BALL_COMMON_DRAGMARKER_P1" rotspeed="-2"/> <shadow image="IMAGE_BALL_GENERIC_SHADOW1"/> <particles id="sleepyZzz" states="sleeping" overball="true" /> <strand type="spring" image="IMAGE_BALL_COMMON_STRAND" inactiveimage="IMAGE_BALL_GENERIC_ARM_INACTIVE" springconstmin="9" springconstmax="9" dampfac="0.9" maxlen2="140" maxlen1="200" maxforce="1000" minlen="100" /> <detachstrand image="IMAGE_BALL_COMMON_STRAND" maxlen="60" /> <splat image="IMAGE_BALL_COMMON_SPLAT1,IMAGE_BALL_COMMON_SPLAT2"/> <part name="body" layer="1" x="0" y="0" image="IMAGE_BALL_COMMON_BODY" stretch="16,2,0.5" scale="0.54984375" /> <part name="hilite1" layer="2" x="-5,0" y="6,10" image="IMAGE_BALL_GENERIC_HILITE1" state="attached" scale="0.5" /> <part name="hilite2" layer="2" x="-10,-6" y="0,5" image="IMAGE_BALL_GENERIC_HILITE2" state="attached" scale="0.5" /> <part name="lefteye" layer="2" rotate="true" eye="true" pupil="IMAGE_BALL_GENERIC_PUPIL1" pupilinset="12" x="-12,-8" y="-5,5" xrange="-18,0" yrange="-12,12" image="IMAGE_BALL_GENERIC_EYE_GLASS_1,IMAGE_BALL_GENERIC_EYE_GLASS_2,IMAGE_BALL_GENERIC_EYE_GLASS_3" state="climbing,walking,falling,dragging,detaching,standing,tank" scale="0.5" /> <part name="righteye" layer="2" rotate="true" eye="true" pupil="IMAGE_BALL_GENERIC_PUPIL1" pupilinset="12" x="8,12" y="-5,5" xrange="0,18" yrange="-12,12" image="IMAGE_BALL_GENERIC_EYE_GLASS_1,IMAGE_BALL_GENERIC_EYE_GLASS_2,IMAGE_BALL_GENERIC_EYE_GLASS_3" state="climbing,walking,falling,dragging,detaching,standing,tank" scale="0.5" /> <!-- walking animations --> <sinvariance freq="1.2" amp="0.1" shift="0.0"> <sinanim part="body" state="walking" type="scale" axis="x" freq="2.0" amp="0.1" shift="0" /> <sinanim part="body" state="walking" type="scale" axis="y" freq="2.0" amp="0.1" shift="0.5" /> <sinanim part="body" state="walking" type="translate" axis="y" freq="2.0" amp="2" shift="0" /> <sinanim part="lefteye,righteye" state="walking" type="translate" axis="y" freq="2.0" amp="2" shift="0" /> <sinanim part="righteye" state="walking" type="translate" axis="x" freq="2.0" amp="0.5" shift="0" /> <sinanim part="lefteye" state="walking" type="translate" axis="x" freq="2.0" amp="0.5" shift="0.5" /> </sinvariance> <!-- attached animations --> <sinvariance freq=".6" amp="0.025" shift="0.0"> <sinanim part="body" state="attached" type="scale" axis="x" freq="1.0" amp="0.07" shift="0" /> <sinanim part="body" state="attached" type="scale" axis="y" freq="1.0" amp="0.07" shift="0.5" /> <sinanim part="hilite1,hilite2" state="attached" type="scale" axis="x" freq="1.0" amp="0.07" shift="0" /> <sinanim part="hilite1,hilite2" state="attached" type="scale" axis="y" freq="1.0" amp="0.07" shift="0.5" /> </sinvariance> <!-- dragging animations --> <sinvariance freq="1.5" amp="0.05" shift="0"> <sinanim part="body" state="dragging" type="scale" axis="x" freq="1.0" amp="0.2" shift="0" /> <sinanim part="body" state="dragging" type="scale" axis="y" freq="1.0" amp="0.2" shift="0.33" /> </sinvariance> <sinvariance freq="1.5" amp="0.5" shift="0"> <sinanim part="righteye" state="dragging" type="translate" axis="x" freq="1.0" amp="-1" shift="0" /> <sinanim part="lefteye" state="dragging" type="translate" axis="x" freq="1.0" amp="1" shift="0" /> </sinvariance> <!-- climbing animations --> <sinvariance freq="1.2" amp="0.1" shift="0.0"> <sinanim part="body" state="climbing" type="scale" axis="x" freq="2.0" amp="0.1" shift="0" /> <sinanim part="body" state="climbing" type="scale" axis="y" freq="2.0" amp="0.1" shift="0.5" /> <sinanim part="body" state="climbing" type="translate" axis="y" freq="2.0" amp="2" shift="0" /> <sinanim part="lefteye,righteye" state="climbing" type="translate" axis="y" freq="2.0" amp="2" shift="0" /> <sinanim part="righteye" state="climbing" type="translate" axis="x" freq="2.0" amp="0.5" shift="0" /> <sinanim part="lefteye" state="climbing" type="translate" axis="x" freq="2.0" amp="0.5" shift="0.5" /> </sinvariance> <!-- tank state animations --> <sinvariance freq="0.3" amp="0.02" shift="0.0"> <sinanim part="body" state="tank" type="scale" axis="x" freq="1.0" amp="0.06" shift="0" /> <sinanim part="body" state="tank" type="scale" axis="y" freq="1.0" amp="0.06" shift="0.5" /> <sinanim part="righteye" state="tank" type="translate" axis="x" freq="1.0" amp="0.2" shift="0" /> <sinanim part="lefteye" state="tank" type="translate" axis="x" freq="1.0" amp="0.2" shift="0.5" /> </sinvariance> <sinvariance freq="0.1" amp="1" shift="0.0"> <sinanim part="body,lefteye,righteye" state="tank" type="translate" axis="y" freq="0.4" amp="3" 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_COMMON_SQUEAK01,SOUND_BALL_COMMON_SQUEAK02,SOUND_BALL_COMMON_SQUEAK03,SOUND_BALL_COMMON_SQUEAK04,SOUND_BALL_COMMON_SQUEAK05,SOUND_BALL_COMMON_SQUEAK06,SOUND_BALL_COMMON_SQUEAK07,SOUND_BALL_COMMON_SQUEAK08,SOUND_BALL_COMMON_SQUEAK09,SOUND_BALL_COMMON_SQUEAK10,SOUND_BALL_COMMON_SQUEAK11,SOUND_BALL_COMMON_SQUEAK12,SOUND_BALL_COMMON_SQUEAK13,SOUND_BALL_COMMON_SQUEAK14,SOUND_BALL_COMMON_SQUEAK15,SOUND_BALL_COMMON_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_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="death" 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"/> </ball>