<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer itemID="ITEM_ID_STONE_CHIMNEY">
  <Data>
    <Sprite name="s_sprite" fileName="game/tiles_page17.rttex" textureSize="32" frame="30,8" />
    <Sprite name="s_smoke" fileName="game/particles.rttex" textureSize="32" frame="4,1" />

    <Animations>
      <SpriteAnimation name="a_single" sprite="s_sprite" animTime="100" playOnState="Connect.Single">
        <Frame>30,8</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_top" sprite="s_sprite" animTime="100" playOnState="Connect.Top">
        <Frame>29,8</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_middle" sprite="s_sprite" animTime="100" playOnState="Connect.Middle">
        <Frame>28,8</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_bottom" sprite="s_sprite" animTime="100" playOnState="Connect.Bottom">
        <Frame>27,8</Frame>
      </SpriteAnimation>
    </Animations>

    <StateMachines>
      <StateMachine name="Connect">
        <States>
          <State name="Single"/>
          <State name="Top"/>
          <State name="Middle"/>
          <State name="Bottom"/>
        </States>
        <Transitions>
          <Transition to="Single" from="Top|Middle|Bottom">
            <Condition type="and">
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,-1">false</CheckTileId>
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,1">false</CheckTileId>
            </Condition>
          </Transition>

          <Transition to="Top" from="Single|Middle|Bottom">
            <Condition type="and">
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,1">true</CheckTileId>
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,-1">false</CheckTileId>
            </Condition>
          </Transition>
          
          <Transition to="Middle" from="Single|Top|Bottom">
            <Condition type="and">
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,-1">true</CheckTileId>
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,1">true</CheckTileId>
            </Condition>
          </Transition>
          
          <Transition to="Bottom" from="Single|Top|Middle">
            <Condition type="and">
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,-1">true</CheckTileId>
              <CheckTileId ItemId="ITEM_ID_STONE_CHIMNEY" Position="0,1">false</CheckTileId>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <ParticleSystems>
      <ParticleSystem name="ps_smoke">
        <Emitter>
          <Set name="particlesPerEmission">1</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Random name="emissionInterval" min="1" max="5"/>
        </Emitter>
        <Particle>
          <Set name="sprite">s_smoke</Set>
          <Random name="offset" min="-10, -16" max="10,-16" />
          <Set name="lifeTime">2</Set>
          <Set name="initialVelocity">0,-25</Set>
          <Set name="renderAlignment">DOWN_CENTER</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 0</KeyFrame>
            <KeyFrame>0.1, 0.5</KeyFrame>
            <KeyFrame>0.75, 0.5</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 1, 1</KeyFrame>
            <KeyFrame>0.33, -1, 1.33</KeyFrame>
            <KeyFrame>0.66, 1, 1.66</KeyFrame>
            <KeyFrame>1, -1, 2</KeyFrame>
          </Curve>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>

  </Data>
  <RenderRules>
    <Render>
      <SpriteRender name="s_sprite" blend="PREMULTIPLIED_ALPHA" />
    </Render>
    <RenderInWorldSpaceFront>
      <ParticleSystemUpdate name="ps_smoke" onState="Connect.Top|Connect.Single"/>
    </RenderInWorldSpaceFront>
  </RenderRules>
</ItemRenderer>