Add files from old Git

This commit is contained in:
Simon V. Lejel 2021-12-28 00:17:04 +01:00
commit fbf03ce587
49 changed files with 11775 additions and 0 deletions

722
img/Blob/conf/actions.xml Normal file
View file

@ -0,0 +1,722 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime15.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime17.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime28.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime29.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime30.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndDangleLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime32.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime33.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="24" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime37.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime4.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="-8,0" Duration="8" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime19.png" ImageAnchor="64,104" Velocity="-4,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime8.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime10.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitWhileDanglingLegs" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="10" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitAndDangleLegs" Duration="${500+Math.random()*100}" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitWithLegsUp" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime38.png" ImageAnchor="96,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime39.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime40.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime41.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-20" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-10" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-5" Duration="1" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="Divide1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-16" BornY="0" BornBehavior="Divided">
<Animation>
<Pose Image="/shime42.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime43.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime44.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime45.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime46.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="SplitIntoTwo" Type="Sequence">
<ActionReference Name="Divide1" />
<ActionReference Name="Offset" X="16" />
<ActionReference Name="Look" />
<ActionReference Name="Divided" />
</Action>
<Action Name="Divided" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-5"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

173
img/Blob/conf/behaviors.xml Normal file
View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="1" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="30">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<Behavior Name="Divided" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="StandUp" Frequency="200" />
<Behavior Name="SitDown" Frequency="200">
<NextBehavior Add="true">
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="100" />
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitWhileDanglingLegs" Frequency="30" />
<Behavior Name="LieDown" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="SplitIntoTwo" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="100" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="100" />
<Behavior Name="FallFromCeiling" Frequency="50" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="10" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" />
<Behavior Name="WalkLeftAndSit" Frequency="100" />
<Behavior Name="WalkRightAndSit" Frequency="100" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="100" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="100" />
<Behavior Name="JumpFromBottomOfIE" Frequency="50" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="100" />
<Behavior Name="RunAlongIECeiling" Frequency="100" />
<Behavior Name="CrawlAlongIECeiling" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="30" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="100" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="100" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="100" />
<Behavior Name="ClimbIEWall" Frequency="100" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="100" />
<Behavior Name="GrabIEBottomRightWall" Frequency="100" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="50" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="50" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="50" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="50" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

198
img/Cloud/conf/Mascot.xsd Normal file
View file

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.group-finity.com/Mascot" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.group-finity.com/Mascot">
<element name="Mascot" type="tns:Mascot" />
<complexType name="Mascot">
<sequence>
<element name="ActionList" type="tns:ActionList" maxOccurs="unbounded" minOccurs="0" />
<element name="BehaviorList" type="tns:BehaviorList" maxOccurs="unbounded" minOccurs="0" />
</sequence>
</complexType>
<complexType name="ActionList">
<choice maxOccurs="unbounded" minOccurs="0" >
<element name="Action" type="tns:TopAction" />
</choice>
</complexType>
<complexType name="ActionArguments" abstract="true">
<attribute name="Condition" type="tns:Parameter" />
<attribute name="Duration" type="tns:Parameter" />
<attribute name="TargetX" type="tns:Parameter" />
<attribute name="TargetY" type="tns:Parameter" />
<attribute name="InitialVX" type="tns:Parameter" />
<attribute name="InitialVY" type="tns:Parameter" />
<attribute name="X" type="tns:Parameter" />
<attribute name="Y" type="tns:Parameter" />
<attribute name="LookRight" type="tns:Parameter" />
<attribute name="IeOffsetX" type="tns:Parameter" />
<attribute name="IeOffsetY" type="tns:Parameter" />
<attribute name="Gap" type="tns:Parameter" />
<attribute name="BornX" type="tns:Parameter" />
<attribute name="BornY" type="tns:Parameter" />
<attribute name="BornBehavior" type="tns:Parameter" />
<attribute name="VelocityParam" type="tns:Parameter" />
<attribute name="RegistanceX" type="tns:Parameter" />
<attribute name="RegistanceY" type="tns:Parameter" />
<attribute name="Gravity" type="tns:Parameter" />
</complexType>
<complexType name="Action">
<complexContent>
<extension base="tns:ActionArguments">
<choice>
<element name="Animation" type="tns:Animation" maxOccurs="unbounded" minOccurs="0" />
<sequence>
<choice maxOccurs="unbounded" minOccurs="0" >
<element name="ActionReference" type="tns:ActionReference"/>
<element name="Action" type="tns:LowerAction" />
</choice>
</sequence>
</choice>
<attribute name="Type" use="required">
<simpleType>
<restriction base="string">
<enumeration value="Embedded"></enumeration>
<enumeration value="Move"></enumeration>
<enumeration value="Pause"></enumeration>
<enumeration value="Fixed"></enumeration>
<enumeration value="Composite"></enumeration>
<enumeration value="Select"></enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="Class">
<simpleType>
<restriction base="string">
<pattern value="com\.group_finity\.mascot\.action\.[a-zA-Z][a-zA-Z0-9]+" />
</restriction>
</simpleType>
</attribute>
<attribute name="BorderType">
<simpleType>
<restriction base="string">
<enumeration value="Floor"></enumeration>
<enumeration value="Wall"></enumeration>
<enumeration value="Ceiling"></enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="Loop" type="tns:Parameter" />
</extension>
</complexContent>
</complexType>
<complexType name="TopAction">
<complexContent>
<extension base="tns:Action">
<attribute name="Name" type="string" use="required" />
</extension>
</complexContent>
</complexType>
<complexType name="LowerAction">
<complexContent>
<extension base="tns:Action" />
</complexContent>
</complexType>
<complexType name="Animation">
<sequence>
<element name="Pose" type="tns:Pose" maxOccurs="unbounded" minOccurs="1" />
</sequence>
<attribute name="Condition" type="string" />
</complexType>
<complexType name="Pose">
<attribute name="Image" use="required">
<simpleType>
<restriction base="string">
<pattern value=".+\.(png|gif|jpeg|jpg|bmp|PNG|GIF|JPEG|JPG|BMP)" />
</restriction>
</simpleType>
</attribute>
<attribute name="ImageAnchor" use="required">
<simpleType>
<restriction base="string">
<pattern value="-?\d+,-?\d+" />
</restriction>
</simpleType>
</attribute>
<attribute name="Velocity" use="required">
<simpleType>
<restriction base="string">
<pattern value="-?\d+,-?\d+" />
</restriction>
</simpleType>
</attribute>
<attribute name="Duration" type="int" use="required" />
</complexType>
<complexType name="ActionReference">
<complexContent>
<extension base="tns:ActionArguments">
<attribute name="Name" type="string" use="required" />
</extension>
</complexContent>
</complexType>
<complexType name="BehaviorList">
<sequence>
<choice maxOccurs="unbounded" minOccurs="1" >
<element name="Behavior" type="tns:Behavior" />
<element name="Condition" type="tns:BehaviorCondition" />
</choice>
</sequence>
</complexType>
<complexType name="Behavior">
<sequence>
<choice maxOccurs="1" minOccurs="0" >
<element name="NextBehaviorList" type="tns:NextBehaviorList" />
</choice>
</sequence>
<attribute name="Name" type="string" use="required" />
<attribute name="Frequency" type="int" use="required" />
<attribute name="Condition" type="tns:Parameter" />
</complexType>
<complexType name="NextBehaviorList">
<sequence>
<choice maxOccurs="unbounded" minOccurs="1" >
<element name="BehaviorReference" type="tns:BehaviorReference" />
<element name="Condition" type="tns:BehaviorReferenceCondition" />
</choice>
</sequence>
<attribute name="Add" type="boolean" use="required" />
</complexType>
<complexType name="BehaviorReferenceCondition">
<complexContent>
<extension base="tns:NextBehaviorList">
<attribute name="Condition" type="string" />
</extension>
</complexContent>
</complexType>
<complexType name="BehaviorReference">
<attribute name="Name" type="string" use="required" />
<attribute name="Frequency" type="int" use="required" />
<attribute name="Condition" type="tns:Parameter" />
</complexType>
<complexType name="BehaviorCondition">
<complexContent>
<extension base="tns:BehaviorList">
<attribute name="Condition" type="tns:Parameter" />
</extension>
</complexContent>
</complexType>
<simpleType name="Parameter">
<restriction base="string">
<pattern value="([$#]\{.+\})|(\-?[0-9]+(\.[0-9]+)?)|true|false" />
</restriction>
</simpleType>
</schema>

721
img/Cloud/conf/actions.xml Normal file
View file

@ -0,0 +1,721 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime15.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime28.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime17.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime29.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime30.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndDangleLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime32.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime33.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="24" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime37.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime4.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="-8,0" Duration="8" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime19.png" ImageAnchor="64,104" Velocity="-4,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime8.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime10.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitWhileDanglingLegs" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="10" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitAndDangleLegs" Duration="${500+Math.random()*100}" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitWithLegsUp" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime38.png" ImageAnchor="96,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime39.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime40.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime41.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-20" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-10" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-5" Duration="1" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="Divide1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-16" BornY="0" BornBehavior="Divided">
<Animation>
<Pose Image="/shime42.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime43.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime44.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime45.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime46.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="SplitIntoTwo" Type="Sequence">
<ActionReference Name="Divide1" />
<ActionReference Name="Offset" X="16" />
<ActionReference Name="Look" />
<ActionReference Name="Divided" />
</Action>
<Action Name="Divided" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-5"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="1" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<Behavior Name="Divided" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="StandUp" Frequency="200" />
<Behavior Name="SitDown" Frequency="200">
<NextBehavior Add="true">
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="100" />
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitWhileDanglingLegs" Frequency="0" />
<Behavior Name="LieDown" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="SplitIntoTwo" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="100" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="100" />
<Behavior Name="FallFromCeiling" Frequency="50" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" />
<Behavior Name="WalkLeftAndSit" Frequency="100" />
<Behavior Name="WalkRightAndSit" Frequency="100" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="100" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="100" />
<Behavior Name="JumpFromBottomOfIE" Frequency="50" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="100" />
<Behavior Name="RunAlongIECeiling" Frequency="100" />
<Behavior Name="CrawlAlongIECeiling" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="100" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="100" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="100" />
<Behavior Name="ClimbIEWall" Frequency="100" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="100" />
<Behavior Name="GrabIEBottomRightWall" Frequency="100" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="50" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="50" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="50" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="50" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

View file

@ -0,0 +1,43 @@
############################################################
# Default Logging Configuration File
#
# You can use a different file by specifying a filename
# with the java.util.logging.config.file system property.
# For example java -Djava.util.logging.config.file=myfile
############################################################
############################################################
# Global properties
############################################################
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
# handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
handlers= java.util.logging.FileHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level= INFO
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = ./ShimejieeLog%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.FileHandler.level = WARNING
# Limit the message that are printed on the console to INFO and above.
# java.util.logging.ConsoleHandler.level = ALL
# java.util.logging.ConsoleHandler.formatter = com.group_finity.mascot.LogFormatter

View file

@ -0,0 +1,819 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
<Pose Image="/shime1-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime2-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="7" />
<Pose Image="/shime2-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="7" />
<Pose Image="/shime2-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="7" />
<Pose Image="/shime2-4.png" ImageAnchor="64,128" Velocity="-2,0" Duration="7" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime3-1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime3-2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="5" />
<Pose Image="/shime3-3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime3-4.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime3-5.png" ImageAnchor="64,128" Velocity="-8,0" Duration="5" />
<Pose Image="/shime3-6.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime3-1.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-2.png" ImageAnchor="64,128" Velocity="-10,0" Duration="5" />
<Pose Image="/shime3-3.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-4.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-5.png" ImageAnchor="64,128" Velocity="-10,0" Duration="5" />
<Pose Image="/shime3-6.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="150" />
<Pose Image="/shime4-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime5-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime5-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime6-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="150" />
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime7-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="10" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="50" />
</Animation>
</Action>
<Action Name="SitWhileDanglingLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="150" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime8-4.png" ImageAnchor="64,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="Nodding" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime6-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime23-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime23-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime23-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime23-9.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime23-7.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime23-7.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime23-9.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime10-4.png" ImageAnchor="64,50" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime10-3.png" ImageAnchor="64,50" Velocity="0,0" Duration="16" />
<Pose Image="/shime10-3.png" ImageAnchor="64,50" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-1.png" ImageAnchor="64,50" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-2.png" ImageAnchor="64,50" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-2.png" ImageAnchor="64,50" Velocity="0,0" Duration="16" />
<Pose Image="/shime10-2.png" ImageAnchor="64,50" Velocity="-2,0" Duration="4" />
<Pose Image="/shime10-1.png" ImageAnchor="64,50" Velocity="-2,0" Duration="4" />
<Pose Image="/shime10-3.png" ImageAnchor="64,50" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime11-4.png" ImageAnchor="50,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="50,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="50,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="50,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-2.png" ImageAnchor="50,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="50,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime11-3.png" ImageAnchor="50,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime12-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime13-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-4.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime14-6.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime14-1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="5" />
<Pose Image="/shime14-2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime14-3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
<Pose Image="/shime14-4.png" ImageAnchor="64,128" Velocity="-8,0" Duration="5" />
<Pose Image="/shime14-5.png" ImageAnchor="64,128" Velocity="-8,0" Duration="3" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime15-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime16-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="1.9">
<Animation>
<Pose Image="/shime17-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="3" />
<Pose Image="/shime18-1.png" ImageAnchor="80,128" Velocity="0,0" Duration="25" />
<Pose Image="/shime18-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19-1.png" ImageAnchor="64,128" Velocity="-5,0" Duration="8" />
<Pose Image="/shime19-2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="8" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime19-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime19-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="6" />
<Pose Image="/shime19-5b.png" ImageAnchor="64,128" Velocity="0,0" Duration="6" />
<Pose Image="/shime19-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="6" />
<Pose Image="/shime19-5b.png" ImageAnchor="64,128" Velocity="0,0" Duration="6" />
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime20-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime20-4.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime20-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime20-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="30" />
<Pose Image="/shime20-1b.png" ImageAnchor="64,160" Velocity="0,0" Duration="30" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime20-5.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime20-6.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime20-7.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="8" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-4.png" ImageAnchor="64,160" Velocity="0,0" Duration="8" />
<Pose Image="/shime21-5.png" ImageAnchor="64,160" Velocity="0,0" Duration="10" />
<Pose Image="/shime21-6.png" ImageAnchor="64,160" Velocity="0,0" Duration="2" />
<Pose Image="/shime21-7.png" ImageAnchor="64,160" Velocity="0,0" Duration="2" />
<Pose Image="/shime21-8.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<!-- Special -->
<Action Name="chip" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime24-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-4.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-4b.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-4c.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-5.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5b.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5c.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5d.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5b.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5c.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5d.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5b.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5c.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5d.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5b.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5c.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5d.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-5h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6b.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6c.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6d.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-7.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6i.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6j.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6k.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6g.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-6h.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-7.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-7b.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-7c.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-7d.png" ImageAnchor="64,115" Velocity="0,0" Duration="3" />
<Pose Image="/shime24-7e.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
<Pose Image="/shime24-7f.png" ImageAnchor="64,115" Velocity="0,0" Duration="5" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="Sleep" Type="Sequence" Loop="false">
<ActionReference Name="Nodding" Duration="515" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="PlayWithDarkChip" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="28" />
<ActionReference Name="SitWithLegsDown" Duration="50" />
<ActionReference Name="SitWhileDanglingLegs" Duration="100" />
<ActionReference Name="chip" Condition="${Math.random() &lt; 1}" Duration="283" />
<ActionReference Name="SitWhileDanglingLegs" Duration="123" />
<ActionReference Name="SitWithLegsDown" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.1}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" duration="${500+Math.random()*500}" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime22-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-4b.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-5b.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-5c.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-6b.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-7.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-8.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-9.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-10.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-11.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime17-1.png" ImageAnchor="64,128" Velocity="20,-20" Duration="2" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

View file

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="1">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="5" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="100">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="200" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="500" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="300">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="Sleep" Frequency="300" />
<NextBehavior Add="true">
<BehaviorReference Name="SitAndSpinHead" Frequency="1000" />
</NextBehavior>
<BehaviorReference Name="SitAndSpinHead" Frequency="500" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="500" />
<Behavior Name="SitDown" Frequency="300">
<NextBehavior Add="true">
<BehaviorReference Name="SitAndSpinHead" Frequency="1000" />
<BehaviorReference Name="LieDown" Frequency="1000" />
<BehaviorReferance Name="SitWhileDanglingLegs" Frequency="500" />
</NextBehavior>
</Behavior>
<Behavior Name="PlayWithDarkChip" Frequency="600" />
<Behavior Name="LieDown" Frequency="50">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="StandUp" Frequency="100" />
<Behavior Name="PullUpShimeji" Frequency="900" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="300" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="300" />
<Behavior Name="FallFromCeiling" Frequency="100" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="500" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="500" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="200">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="300" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="300" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" />
<Behavior Name="WalkLeftAndSit" Frequency="400" />
<Behavior Name="WalkRightAndSit" Frequency="400" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="700" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="700" />
<Behavior Name="JumpFromBottomOfIE" Frequency="200" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="900" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="400" />
<Behavior Name="RunAlongIECeiling" Frequency="50" />
<Behavior Name="CrawlAlongIECeiling" Frequency="100">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="300" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="500" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="500" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="300" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="300" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="400" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="400" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="200" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="200" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="300" />
<Behavior Name="ClimbIEWall" Frequency="200" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="300" />
<Behavior Name="GrabIEBottomRightWall" Frequency="300" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="100" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="100" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="300" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="300" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="300" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="300" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="500" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="500" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

721
img/Link/conf/actions.xml Normal file
View file

@ -0,0 +1,721 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime15.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime28.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime17.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime29.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime30.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndDangleLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime32.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime33.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="24" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime37.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime4.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="-8,0" Duration="8" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime19.png" ImageAnchor="64,104" Velocity="-4,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime8.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime10.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitWhileDanglingLegs" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="10" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitAndDangleLegs" Duration="${500+Math.random()*100}" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitWithLegsUp" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime38.png" ImageAnchor="96,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime39.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime40.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime41.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-20" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-10" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-5" Duration="1" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="Divide1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-16" BornY="0" BornBehavior="Divided">
<Animation>
<Pose Image="/shime42.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime43.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime44.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime45.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime46.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="SplitIntoTwo" Type="Sequence">
<ActionReference Name="Divide1" />
<ActionReference Name="Offset" X="16" />
<ActionReference Name="Look" />
<ActionReference Name="Divided" />
</Action>
<Action Name="Divided" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-5"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

173
img/Link/conf/behaviors.xml Normal file
View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="1" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<Behavior Name="Divided" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="StandUp" Frequency="200" />
<Behavior Name="SitDown" Frequency="200">
<NextBehavior Add="true">
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="100" />
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitWhileDanglingLegs" Frequency="0" />
<Behavior Name="LieDown" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="SplitIntoTwo" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="100" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="100" />
<Behavior Name="FallFromCeiling" Frequency="50" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="100" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" />
<Behavior Name="WalkLeftAndSit" Frequency="100" />
<Behavior Name="WalkRightAndSit" Frequency="100" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="100" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="100" />
<Behavior Name="JumpFromBottomOfIE" Frequency="50" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="100" />
<Behavior Name="RunAlongIECeiling" Frequency="100" />
<Behavior Name="CrawlAlongIECeiling" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="100" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="100" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="100" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="100" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="100" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="100" />
<Behavior Name="ClimbIEWall" Frequency="100" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="100" />
<Behavior Name="GrabIEBottomRightWall" Frequency="100" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="50" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="50" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="50" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="50" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

721
img/Naruto/conf/Actions.xml Normal file
View file

@ -0,0 +1,721 @@
<?xml version="1.0" encoding="UTF-8" ?>
<マスコット xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<動作リスト>
<動作 名前="振り向く" 種類="組み込み" クラス="com.group_finity.mascot.action.Look" />
<動作 名前="変位" 種類="組み込み" クラス="com.group_finity.mascot.action.Offset" />
<!-- 立つ系 -->
<動作 名前="立つ" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="歩く" 種類="移動" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime2.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime3.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
</アニメーション>
</動作>
<動作 名前="走る" 種類="移動" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-4,0" 長さ="2" />
<ポーズ 画像="/shime2.png" 基準座標="64,128" 移動速度="-4,0" 長さ="2" />
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-4,0" 長さ="2" />
<ポーズ 画像="/shime3.png" 基準座標="64,128" 移動速度="-4,0" 長さ="2" />
</アニメーション>
</動作>
<動作 名前="猛ダッシュ" 種類="移動" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime2.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime3.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
</アニメーション>
</動作>
<!-- 座る系 -->
<動作 名前="座る" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime11.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="座って見上げる" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime26.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="座ってマウスを見上げる" 種類="静止" 枠="地面">
<アニメーション 条件="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<ポーズ 画像="/shime26.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
<アニメーション>
<ポーズ 画像="/shime11.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="座って首が回る" 種類="固定" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime26.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime15.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime27.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime16.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime28.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime17.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime29.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime11.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
</動作>
<動作 名前="楽に座る" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime30.png" 基準座標="64,112" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="足を下ろして座る" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime31.png" 基準座標="64,112" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="足をぶらぶらさせる" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime31.png" 基準座標="64,112" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime32.png" 基準座標="64,112" 移動速度="0,0" 長さ="15" />
<ポーズ 画像="/shime31.png" 基準座標="64,112" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime33.png" 基準座標="64,112" 移動速度="0,0" 長さ="15" />
</アニメーション>
</動作>
<!-- 寝そべる系 -->
<動作 名前="寝そべる" 種類="静止" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime21.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="ずりずり" 種類="移動" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime20.png" 基準座標="64,128" 移動速度="0,0" 長さ="28" />
<ポーズ 画像="/shime20.png" 基準座標="64,128" 移動速度="-2,0" 長さ="4" />
<ポーズ 画像="/shime21.png" 基準座標="64,128" 移動速度="-2,0" 長さ="4" />
<ポーズ 画像="/shime21.png" 基準座標="64,128" 移動速度="-1,0" 長さ="4" />
<ポーズ 画像="/shime21.png" 基準座標="64,128" 移動速度="0,0" 長さ="24" />
</アニメーション>
</動作>
<!-- 天井系 -->
<動作 名前="天井に掴まる" 種類="静止" 枠="天井">
<アニメーション>
<ポーズ 画像="/shime23.png" 基準座標="64,48" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="天井を伝う" 種類="移動" 枠="天井">
<アニメーション>
<ポーズ 画像="/shime25.png" 基準座標="64,48" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime25.png" 基準座標="64,48" 移動速度="-1,0" 長さ="4" />
<ポーズ 画像="/shime23.png" 基準座標="64,48" 移動速度="-1,0" 長さ="4" />
<ポーズ 画像="/shime24.png" 基準座標="64,48" 移動速度="-1,0" 長さ="4" />
<ポーズ 画像="/shime24.png" 基準座標="64,48" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime24.png" 基準座標="64,48" 移動速度="-2,0" 長さ="4" />
<ポーズ 画像="/shime23.png" 基準座標="64,48" 移動速度="-2,0" 長さ="4" />
<ポーズ 画像="/shime25.png" 基準座標="64,48" 移動速度="-2,0" 長さ="4" />
</アニメーション>
</動作>
<!-- 壁系 -->
<動作 名前="壁に掴まる" 種類="静止" 枠="壁">
<アニメーション>
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="壁を登る" 種類="移動" 枠="壁">
<アニメーション 条件="#{目的地Y &lt; mascot.anchor.y}">
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,-1" 長さ="4" />
<ポーズ 画像="/shime12.png" 基準座標="64,128" 移動速度="0,-1" 長さ="4" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,-1" 長さ="4" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,-2" 長さ="4" />
<ポーズ 画像="/shime12.png" 基準座標="64,128" 移動速度="0,-2" 長さ="4" />
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,-2" 長さ="4" />
</アニメーション>
<アニメーション 条件="#{目的地Y &gt;= mascot.anchor.y}">
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,2" 長さ="4" />
<ポーズ 画像="/shime12.png" 基準座標="64,128" 移動速度="0,2" 長さ="4" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,2" 長さ="4" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime13.png" 基準座標="64,128" 移動速度="0,1" 長さ="4" />
<ポーズ 画像="/shime12.png" 基準座標="64,128" 移動速度="0,1" 長さ="4" />
<ポーズ 画像="/shime14.png" 基準座標="64,128" 移動速度="0,1" 長さ="4" />
</アニメーション>
</動作>
<!-- IE系 -->
<動作 名前="IEを持って落ちる" 種類="組み込み" クラス="com.group_finity.mascot.action.FallWithIE"
IEの端X="0" IEの端Y="-64">
<アニメーション>
<ポーズ 画像="/shime36.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="IEを持って歩く" 枠="地面" 種類="組み込み" クラス="com.group_finity.mascot.action.WalkWithIE"
IEの端X="0" IEの端Y="-64">
<アニメーション>
<ポーズ 画像="/shime34.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime35.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime34.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
<ポーズ 画像="/shime36.png" 基準座標="64,128" 移動速度="-2,0" 長さ="6" />
</アニメーション>
</動作>
<動作 名前="IEを持って走る" 枠="地面" 種類="組み込み" クラス="com.group_finity.mascot.action.WalkWithIE"
IEの端X="0" IEの端Y="-64">
<アニメーション>
<ポーズ 画像="/shime34.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime35.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime34.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
<ポーズ 画像="/shime36.png" 基準座標="64,128" 移動速度="-8,0" 長さ="2" />
</アニメーション>
</動作>
<動作 名前="IEを投げる" 枠="地面" 種類="組み込み" クラス="com.group_finity.mascot.action.ThrowIE"
初速X="32" 初速Y="-10" 重力="0.5">
<アニメーション>
<ポーズ 画像="/shime37.png" 基準座標="64,128" 移動速度="0,0" 長さ="40" />
</アニメーション>
</動作>
<!-- 落下系 -->
<動作 名前="ジャンプ" 種類="組み込み" クラス="com.group_finity.mascot.action.Jump"
速度="20">
<アニメーション>
<ポーズ 画像="/shime22.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="落ちる" 種類="組み込み" クラス="com.group_finity.mascot.action.Fall"
空気抵抗X="0.05" 空気抵抗Y="0.1" 重力="2">
<アニメーション>
<ポーズ 画像="/shime4.png" 基準座標="64,128" 移動速度="0,0" 長さ="250" />
</アニメーション>
</動作>
<動作 名前="跳ねる" 種類="固定" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime18.png" 基準座標="64,128" 移動速度="0,0" 長さ="4" />
<ポーズ 画像="/shime19.png" 基準座標="64,128" 移動速度="0,0" 長さ="4" />
</アニメーション>
</動作>
<動作 名前="転ぶ" 種類="固定" 枠="地面">
<アニメーション>
<ポーズ 画像="/shime19.png" 基準座標="64,128" 移動速度="-8,0" 長さ="8" />
<ポーズ 画像="/shime18.png" 基準座標="64,128" 移動速度="-4,0" 長さ="4" />
<ポーズ 画像="/shime20.png" 基準座標="64,128" 移動速度="-2,0" 長さ="4" />
<ポーズ 画像="/shime20.png" 基準座標="64,128" 移動速度="0,0" 長さ="10" />
<ポーズ 画像="/shime19.png" 基準座標="64,104" 移動速度="-4,0" 長さ="4" />
</アニメーション>
</動作>
<!-- ドラッグ系 -->
<動作 名前="つままれる" 種類="組み込み" クラス="com.group_finity.mascot.action.Dragged">
<アニメーション 条件="#{footX &lt; mascot.environment.cursor.x-50}">
<ポーズ 画像="/shime9.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
<アニメーション 条件="#{footX &lt; mascot.environment.cursor.x-30}">
<ポーズ 画像="/shime7.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
<アニメーション 条件="#{footX &lt; mascot.environment.cursor.x+30}">
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
<アニメーション 条件="#{footX &lt; mascot.environment.cursor.x+50}">
<ポーズ 画像="/shime8.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
<アニメーション 条件="#{footX &gt;= mascot.environment.cursor.x+30}">
<ポーズ 画像="/shime10.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
</アニメーション>
</動作>
<動作 名前="抵抗する" 種類="組み込み" クラス="com.group_finity.mascot.action.Regist">
<アニメーション>
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="0,0" 長さ="50" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="0,0" 長さ="100" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime5.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime6.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
</アニメーション>
</動作>
</動作リスト>
<!-- 実際の行動 -->
<動作リスト>
<!-- システムが使用する -->
<動作 名前="落下する" 種類="複合" 繰り返し="false">
<動作参照 名前="落ちる"/>
<動作 種類="選択">
<動作 種類="複合" 条件="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<動作参照 名前="跳ねる"/>
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
</動作>
<動作参照 名前="壁に掴まる" 長さ="100" />
</動作>
</動作>
<!-- システムが使用する -->
<動作 名前="ドラッグされる" 種類="複合" 繰り返し="true">
<動作参照 名前="つままれる"/>
<動作参照 名前="抵抗する" />
</動作>
<!-- システムが使用する -->
<動作 名前="投げられる" 種類="複合" 繰り返し="false">
<動作参照 名前="落ちる" 初速X="${mascot.environment.cursor.dx}" 初速Y="${mascot.environment.cursor.dy}"/>
<動作 種類="選択">
<動作 種類="複合" 条件="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<動作参照 名前="跳ねる"/>
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
</動作>
<動作参照 名前="壁に掴まる" 長さ="100" />
</動作>
</動作>
<動作 名前="立ってボーっとする" 種類="複合" 繰り返し="false">
<動作参照 名前="立つ" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="座ってボーっとする" 種類="複合" 繰り返し="false">
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="寝そべってボーっとする" 種類="複合" 繰り返し="false">
<動作参照 名前="寝そべる" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="座って足をぶらぶらさせる" 種類="複合" 繰り返し="false">
<動作参照 名前="楽に座る" 長さ="10" />
<動作参照 名前="足を下ろして座る" 長さ="${100+Math.random()*100}" />
<動作参照 名前="足をぶらぶらさせる" 長さ="${500+Math.random()*100}" />
<動作参照 名前="足を下ろして座る" 長さ="${100+Math.random()*100}" />
<動作参照 名前="楽に座る" 長さ="10" />
</動作>
<動作 名前="壁に掴まってボーっとする" 種類="複合" 繰り返し="false">
<動作参照 名前="壁に掴まる" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="壁から落ちる" 種類="複合" 繰り返し="false">
<動作参照 名前="変位" X="${mascot.lookRight ? -1 : 1}" />
<動作参照 名前="立つ" />
</動作>
<動作 名前="天井に掴まってボーっとする" 種類="複合" 繰り返し="false">
<動作参照 名前="天井に掴まる" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="天井から落ちる" 種類="複合" 繰り返し="false">
<動作参照 名前="変位" Y="1" />
<動作参照 名前="立つ" />
</動作>
<動作 名前="ワークエリアの下辺を歩く" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</動作>
<動作 名前="ワークエリアの下辺を走る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</動作>
<動作 名前="ワークエリアの下辺でずりずり" 種類="複合" 繰り返し="false">
<動作参照 名前="ずりずり" 目的地X="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</動作>
<動作 名前="ワークエリアの下辺の左の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.workArea.left+100+Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="振り向く" 右向き="true" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="ワークエリアの下辺の右の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.workArea.right-100-Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="振り向く" 右向き="false" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="ワークエリアの下辺から左の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="#{mascot.environment.workArea.left}" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.workArea.bottom-64}" />
</動作>
<動作 名前="ワークエリアの下辺から右の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="#{mascot.environment.workArea.right}" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.workArea.bottom-64}" />
</動作>
<動作 名前="走ってワークエリアの下辺の左の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.workArea.left+100+Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="振り向く" 右向き="true" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="走ってワークエリアの下辺の右の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.workArea.right-100-Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="振り向く" 右向き="false" />
<動作参照 名前="立つ" 長さ="${20+Math.random()*20}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="走ってワークエリアの下辺から左の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="#{mascot.environment.workArea.left}" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.workArea.bottom-64}" />
</動作>
<動作 名前="走ってワークエリアの下辺から右の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="#{mascot.environment.workArea.right}" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.workArea.bottom-64}" />
</動作>
<動作 名前="IEの下に飛びつく" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
目的地Y="${mascot.environment.activeIE.bottom}" />
<動作参照 名前="天井に掴まる" 長さ="${100+Math.random()*100}" />
</動作>
<動作 名前="ワークエリアの壁を途中まで登る" 種類="複合" 繰り返し="false">
<動作参照 名前="壁を登る" 目的地Y="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</動作>
<動作 名前="ワークエリアの壁を登る" 種類="複合" 繰り返し="false">
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.workArea.top+64}" />
<動作参照 名前="変位" Y="-64" />
<動作参照 名前="振り向く" />
<動作参照 名前="天井を伝う" 目的地X="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</動作>
<動作 名前="ワークエリアの上辺を伝う" 種類="複合" 繰り返し="false">
<動作参照 名前="天井を伝う" 目的地X="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</動作>
<動作 名前="IEの天井を歩く" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</動作>
<動作 名前="IEの天井を走る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</動作>
<動作 名前="IEの天井でずりずり" 種類="複合" 繰り返し="false">
<動作参照 名前="ずりずり" 目的地X="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</動作>
<動作 名前="IEの天井の左の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="IEの天井の右の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="IEの天井の左の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.activeIE.left+Math.random()*50}" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="落ちる" 初速X="${-15-Math.random()*5}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="IEの天井の右の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="歩く" 目的地X="${mascot.environment.activeIE.right-Math.random()*50}" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="落ちる" 初速X="${15+Math.random()*5}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="走ってIEの天井の左の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="走ってIEの天井の右の端っこで座る" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<動作参照 名前="立つ" 長さ="${100+Math.random()*100}" />
<動作参照 名前="座る" 長さ="${500+Math.random()*1000}" />
</動作>
<動作 名前="走ってIEの天井の左の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.activeIE.left+Math.random()*50}" />
<動作参照 名前="落ちる" 初速X="${-15-Math.random()*5}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="走ってIEの天井の右の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="走る" 目的地X="${mascot.environment.activeIE.right-Math.random()*50}" />
<動作参照 名前="落ちる" 初速X="${15+Math.random()*5}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="猛ダッシュでIEの天井の左の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="猛ダッシュ" 目的地X="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<動作参照 名前="落ちる" 初速X="${-5-Math.random()*2}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="猛ダッシュでIEの天井の右の端っこから飛び降りる" 種類="複合" 繰り返し="false">
<動作参照 名前="猛ダッシュ" 目的地X="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<動作参照 名前="落ちる" 初速X="${5+Math.random()*2}" 初速Y="${-20-Math.random()*5}"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="IEの壁を途中まで登る" 種類="複合" 繰り返し="false">
<動作参照 名前="壁を登る" 目的地Y="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</動作>
<動作 名前="IEの壁を登る" 種類="複合" 繰り返し="false">
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.activeIE.top+64}" />
<動作参照 名前="変位" Y="-64" />
<動作参照 名前="座る" 長さ="5" />
<動作参照 名前="立つ" 長さ="${10+Math.random()*10}" />
<動作参照 名前="歩く" 目的地X="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</動作>
<動作 名前="IEの下辺を伝う" 種類="複合" 繰り返し="false">
<動作参照 名前="天井を伝う" 目的地X="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</動作>
<動作 名前="IEの下辺から左の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="天井を伝う" 目的地X="#{mascot.environment.activeIE.left}" />
<動作参照 名前="振り向く" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.activeIE.bottom-64}" />
</動作>
<動作 名前="IEの下辺から右の壁によじのぼる" 種類="複合" 繰り返し="false">
<動作参照 名前="天井を伝う" 目的地X="#{mascot.environment.activeIE.right}" />
<動作参照 名前="振り向く" />
<動作参照 名前="壁を登る" 目的地Y="#{mascot.environment.activeIE.bottom-64}" />
</動作>
<動作 名前="左の壁に飛びつく" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.workArea.left}" 目的地Y="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<動作参照 名前="壁に掴まる" 長さ="${100+Math.random()*100}" />
</動作>
<動作 名前="右の壁に飛びつく" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.workArea.right}" 目的地Y="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<動作参照 名前="壁に掴まる" 長さ="${100+Math.random()*100}" />
</動作>
<動作 名前="IEの左に飛びつく" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.left}" 目的地Y="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<動作参照 名前="壁に掴まる" 長さ="${100+Math.random()*100}" />
</動作>
<動作 名前="IEの右に飛びつく" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.right}" 目的地Y="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<動作参照 名前="壁に掴まる" 長さ="${100+Math.random()*100}" />
</動作>
<動作 名前="IEを右に投げる" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.left}" 目的地Y="${mascot.environment.activeIE.bottom+64}" />
<動作参照 名前="IEを持って落ちる" />
<動作参照 名前="IEを持って歩く" 目的地X="#{mascot.environment.workArea.right-400}" />
<動作参照 名前="IEを投げる" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="振り向く" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
</動作>
<動作 名前="IEを左に投げる" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.right}" 目的地Y="${mascot.environment.activeIE.bottom+64}" />
<動作参照 名前="IEを持って落ちる" />
<動作参照 名前="IEを持って歩く" 目的地X="#{mascot.environment.workArea.left+400}" />
<動作参照 名前="IEを投げる" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="振り向く" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
</動作>
<動作 名前="走ってIEを右に投げる" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.left}" 目的地Y="${mascot.environment.activeIE.bottom+64}" />
<動作参照 名前="IEを持って落ちる" />
<動作参照 名前="IEを持って走る" 目的地X="#{mascot.environment.workArea.right-400}" />
<動作参照 名前="IEを投げる" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="振り向く" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
</動作>
<動作 名前="走ってIEを左に投げる" 種類="複合" 繰り返し="false">
<動作参照 名前="ジャンプ" 目的地X="${mascot.environment.activeIE.right}" 目的地Y="${mascot.environment.activeIE.bottom+64}" />
<動作参照 名前="IEを持って落ちる" />
<動作参照 名前="IEを持って走る" 目的地X="#{mascot.environment.workArea.left+400}" />
<動作参照 名前="IEを投げる" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
<動作参照 名前="振り向く" />
<動作参照 名前="立つ" 長さ="${50+Math.random()*50}" />
</動作>
<動作 名前="マウスの周りに集まる" 種類="複合" 繰り返し="false">
<動作 種類="複合" 条件="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<動作参照 名前="変位" Y="1" />
<動作参照 名前="落ちる"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 種類="複合" 条件="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<動作参照 名前="変位" X="1" />
<動作参照 名前="落ちる"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 種類="複合" 条件="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<動作参照 名前="変位" X="-1" />
<動作参照 名前="落ちる"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 種類="選択">
<動作参照 名前="猛ダッシュでIEの天井の左の端っこから飛び降りる"
条件="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<動作参照 名前="猛ダッシュでIEの天井の右の端っこから飛び降りる"
条件="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</動作>
<動作参照 名前="猛ダッシュ" 目的地X="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<動作参照 名前="転ぶ" 条件="${Math.random() &lt; 0.05}" />
<動作参照 名前="猛ダッシュ" 目的地X="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<動作参照 名前="転ぶ" 条件="${Math.random() &lt; 0.05}" />
<動作参照 名前="猛ダッシュ" 目的地X="#{mascot.environment.cursor.x+ずれ}"
ずれ="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</動作>
<動作 名前="座ってマウスのほうを見る" 種類="複合" 繰り返し="false">
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<動作参照 名前="座ってマウスを見上げる" 長さ="${10+Math.random()*10}" />
<動作参照 名前="振り向く" 右向き="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</動作>
<動作 名前="座ってマウスのほうを見てたら首が回った" 種類="複合" 繰り返し="false">
<動作参照 名前="座って首が回る" />
</動作>
<動作 名前="引っこ抜く1" 種類="組み込み" クラス="com.group_finity.mascot.action.Breed"
生まれる場所X="-32" 生まれる場所Y="96" 生まれた時の行動="引っこ抜かれる">
<アニメーション>
<ポーズ 画像="/shime1.png" 基準座標="64,128" 移動速度="0,0" 長さ="16" />
<ポーズ 画像="/shime38.png" 基準座標="96,128" 移動速度="0,0" 長さ="4" />
<ポーズ 画像="/shime39.png" 基準座標="96,128" 移動速度="0,0" 長さ="40" />
<ポーズ 画像="/shime40.png" 基準座標="96,128" 移動速度="0,0" 長さ="40" />
<ポーズ 画像="/shime41.png" 基準座標="96,128" 移動速度="0,0" 長さ="40" />
</アニメーション>
</動作>
<動作 名前="引っこ抜く2" 種類="固定">
<アニメーション>
<ポーズ 画像="/shime9.png" 基準座標="32,128" 移動速度="20,-20" 長さ="1" />
<ポーズ 画像="/shime9.png" 基準座標="32,128" 移動速度="20,-10" 長さ="1" />
<ポーズ 画像="/shime9.png" 基準座標="32,128" 移動速度="20,-5" 長さ="1" />
</アニメーション>
</動作>
<動作 名前="引っこ抜く" 種類="複合">
<動作参照 名前="引っこ抜く1" />
<動作参照 名前="引っこ抜く2" />
<動作参照 名前="落ちる" 初速X="${mascot.lookRight ? -20 : 20}"/>
<動作参照 名前="跳ねる" />
<動作参照 名前="寝そべる" 長さ="40" />
</動作>
<動作 名前="引っこ抜かれる" 種類="複合">
<動作参照 名前="落ちる" 初速X="${mascot.lookRight ? 10 : -10}" 初速Y="-40"/>
<動作参照 名前="跳ねる" />
</動作>
<動作 名前="分裂1" 種類="組み込み" クラス="com.group_finity.mascot.action.Breed"
生まれる場所X="-16" 生まれる場所Y="0" 生まれた時の行動="分裂した">
<アニメーション>
<ポーズ 画像="/shime42.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime43.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime44.png" 基準座標="64,128" 移動速度="0,0" 長さ="2" />
<ポーズ 画像="/shime45.png" 基準座標="64,128" 移動速度="0,0" 長さ="5" />
<ポーズ 画像="/shime46.png" 基準座標="64,128" 移動速度="0,0" 長さ="20" />
</アニメーション>
</動作>
<動作 名前="分裂する" 種類="複合">
<動作参照 名前="分裂1" />
<動作参照 名前="変位" X="16" />
<動作参照 名前="振り向く" />
<動作参照 名前="分裂した" />
</動作>
<動作 名前="分裂した" 種類="複合">
<動作参照 名前="落ちる" 初速X="${mascot.lookRight ? 10 : -10}" 初速Y="-5"/>
<動作参照 名前="跳ねる" />
</動作>
</動作リスト>
</マスコット>

View file

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8" ?>
<マスコット xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<定数 名前="maxCount" 値="50" />
<行動リスト>
<!-- システムが使用する -->
<行動 名前="マウスの周りに集まる" 頻度="0">
<次の行動リスト 追加="false">
<行動参照 名前="座ってマウスのほうを見る" 頻度="1" />
</次の行動リスト>
</行動>
<行動 名前="座ってマウスのほうを見る" 頻度="0">
<次の行動リスト 追加="false">
<行動参照 名前="座ってマウスのほうを見る" 頻度="100" />
<行動参照 名前="座ってマウスのほうを見てたら首が回った" 頻度="1" />
<行動参照 名前="座って足をぶらぶらさせる" 頻度="1" />
</次の行動リスト>
</行動>
<行動 名前="座ってマウスのほうを見てたら首が回った" 頻度="0">
<次の行動リスト 追加="false">
<行動参照 名前="座ってマウスのほうを見る" 頻度="1" />
</次の行動リスト>
</行動>
<!-- システムが使用する -->
<行動 名前="落下する" 頻度="0" />
<!-- システムが使用する -->
<行動 名前="ドラッグされる" 頻度="0" />
<!-- システムが使用する -->
<行動 名前="投げられる" 頻度="0" />
<行動 名前="引っこ抜かれる" 頻度="0" />
<行動 名前="分裂した" 頻度="0" />
<!-- 地面に接しているとき -->
<条件
条件="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<行動 名前="立ってボーっとする" 頻度="200" />
<行動 名前="座ってボーっとする" 頻度="200">
<次の行動リスト 追加="true">
<行動参照 名前="座って足をぶらぶらさせる" 頻度="100" />
<行動参照 名前="寝そべってボーっとする" 頻度="100" />
</次の行動リスト>
</行動>
<行動 名前="座って足をぶらぶらさせる" 頻度="0" />
<行動 名前="寝そべってボーっとする" 頻度="0">
<次の行動リスト 追加="false">
<行動参照 名前="座ってボーっとする" 頻度="100" />
<行動参照 名前="IEの天井でずりずり" 頻度="100"
条件="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<行動参照 名前="ワークエリアの下辺でずりずり" 頻度="100"
条件="${mascot.environment.floor.isOn(mascot.anchor)}" />
</次の行動リスト>
</行動>
<行動 名前="分裂する" 頻度="50" 条件="#{mascot.totalCount &lt; maxCount}" />
</条件>
<!-- 壁に接しているとき -->
<条件
条件="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<行動 名前="壁に掴まってボーっとする" 頻度="100" />
<行動 名前="壁から落ちる" 頻度="50"
条件="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</条件>
<!-- 天井に接しているとき -->
<条件
条件="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<行動 名前="天井に掴まってボーっとする" 頻度="100" />
<行動 名前="天井から落ちる" 頻度="50" />
</条件>
<!-- ワークエリアの下辺に接しているとき -->
<条件 条件="#{mascot.environment.floor.isOn(mascot.anchor)}">
<行動 名前="ワークエリアの下辺を歩く" 頻度="100" />
<行動 名前="ワークエリアの下辺を走る" 頻度="100" />
<行動 名前="ワークエリアの下辺でずりずり" 頻度="10">
<次の行動リスト 追加="false">
<!-- ずりずりした後はそのままボーっとする -->
<行動参照 名前="寝そべってボーっとする" 頻度="1" />
</次の行動リスト>
</行動>
<行動 名前="ワークエリアの下辺の左の端っこで座る" 頻度="100" />
<行動 名前="ワークエリアの下辺の右の端っこで座る" 頻度="100" />
<行動 名前="ワークエリアの下辺から左の壁によじのぼる" 頻度="100" />
<行動 名前="ワークエリアの下辺から右の壁によじのぼる" 頻度="100" />
<行動 名前="走ってワークエリアの下辺の左の端っこで座る" 頻度="100" />
<行動 名前="走ってワークエリアの下辺の右の端っこで座る" 頻度="100" />
<行動 名前="走ってワークエリアの下辺から左の壁によじのぼる" 頻度="100" />
<行動 名前="走ってワークエリアの下辺から右の壁によじのぼる" 頻度="100" />
<行動 名前="IEの下に飛びつく" 頻度="50"
条件="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<行動 名前="引っこ抜く" 頻度="50" 条件="#{mascot.totalCount &lt; maxCount}" />
</条件>
<!-- ワークエリアの壁に接しているとき -->
<条件
条件="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<行動 名前="ワークエリアの壁を途中まで登る" 頻度="100" />
<行動 名前="ワークエリアの壁を登る" 頻度="100" />
</条件>
<!-- ワークエリアの上辺に接しているとき -->
<条件 条件="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<行動 名前="ワークエリアの上辺を伝う" 頻度="100" />
</条件>
<!-- IEの上辺に接しているとき -->
<条件 条件="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<行動 名前="IEの天井を歩く" 頻度="100" />
<行動 名前="IEの天井を走る" 頻度="100" />
<行動 名前="IEの天井でずりずり" 頻度="10">
<次の行動リスト 追加="false">
<!-- ずりずりした後はそのままボーっとする -->
<行動参照 名前="寝そべってボーっとする" 頻度="1" />
</次の行動リスト>
</行動>
<行動 名前="IEの天井の左の端っこで座る" 頻度="100" />
<行動 名前="IEの天井の右の端っこで座る" 頻度="100" />
<行動 名前="IEの天井の左の端っこから飛び降りる" 頻度="100" />
<行動 名前="IEの天井の右の端っこから飛び降りる" 頻度="100" />
<行動 名前="走ってIEの天井の左の端っこで座る" 頻度="100" />
<行動 名前="走ってIEの天井の右の端っこで座る" 頻度="100" />
<行動 名前="走ってIEの天井の左の端っこから飛び降りる" 頻度="100" />
<行動 名前="走ってIEの天井の右の端っこから飛び降りる" 頻度="100" />
</条件>
<!-- IEの壁に接しているとき -->
<条件
条件="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<行動 名前="IEの壁を途中まで登る" 頻度="100" />
<行動 名前="IEの壁を登る" 頻度="100" />
</条件>
<!-- IEの下辺に接しているとき -->
<条件 条件="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<行動 名前="IEの下辺を伝う" 頻度="100" />
<行動 名前="IEの下辺から左の壁によじのぼる" 頻度="100" />
<行動 名前="IEの下辺から右の壁によじのぼる" 頻度="100" />
</条件>
<行動 名前="左の壁に飛びつく" 頻度="50"
条件="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<行動 名前="右の壁に飛びつく" 頻度="50"
条件="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IEが見えるとき -->
<条件 条件="#{mascot.environment.activeIE.visible}">
<行動 名前="IEの左に飛びつく" 頻度="50"
条件="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<行動 名前="IEの右に飛びつく" 頻度="50"
条件="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<行動 名前="IEを右に投げる" 頻度="20"
条件="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<行動 名前="IEを左に投げる" 頻度="20"
条件="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<行動 名前="走ってIEを右に投げる" 頻度="20"
条件="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<行動 名前="走ってIEを左に投げる" 頻度="20"
条件="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</条件>
</行動リスト>
</マスコット>

727
img/Pit/conf/actions.xml Normal file
View file

@ -0,0 +1,727 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime15.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime28.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime17.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime29.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime30.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndDangleLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime32.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
<Pose Image="/shime31.png" ImageAnchor="64,112" Velocity="0,0" Duration="5" />
<Pose Image="/shime33.png" ImageAnchor="64,112" Velocity="0,0" Duration="15" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,128" Velocity="0,0" Duration="24" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-1,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="0,0" Duration="16" />
<Pose Image="/shime24.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
<Pose Image="/shime25.png" ImageAnchor="64,48" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime37.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime4.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="-8,0" Duration="8" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime20.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime19.png" ImageAnchor="64,104" Velocity="-4,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x}">
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt; mascot.environment.cursor.x-10 &amp;&amp; FootX &lt; mascot.environment.cursor.x+10}">
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5"/>
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime8.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime10.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitWhileDanglingLegs" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="10" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitAndDangleLegs" Duration="${500+Math.random()*100}" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitWithLegsUp" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime38.png" ImageAnchor="96,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime39.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime40.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime41.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-20" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-10" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-5" Duration="1" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="Divide1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-16" BornY="0" BornBehavior="Divided">
<Animation>
<Pose Image="/shime42.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime43.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime44.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime45.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime46.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="SplitIntoTwo" Type="Sequence">
<ActionReference Name="Divide1" />
<ActionReference Name="Offset" X="16" />
<ActionReference Name="Look" />
<ActionReference Name="Divided" />
</Action>
<Action Name="Divided" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-5"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

173
img/Pit/conf/behaviors.xml Normal file
View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="15" Hidden="true">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="20">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="30" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="30" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="20">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="30" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" Hidden="true" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" Hidden="true" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" Hidden="true" />
<Behavior Name="PullUp" Frequency="0" Hidden="true" />
<Behavior Name="Divided" Frequency="0" Hidden="true" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="StandUp" Frequency="200" Hidden="true" />
<Behavior Name="SitDown" Frequency="200">
<NextBehavior Add="true">
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="100" />
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitWhileDanglingLegs" Frequency="20" />
<Behavior Name="LieDown" Frequency="30">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" Hidden="true" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="SplitIntoTwo" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="100" Hidden="true" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" Hidden="true" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="100" Hidden="true" />
<Behavior Name="FallFromCeiling" Frequency="50" Hidden="true" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="100" Hidden="true" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="100" Hidden="true" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="15" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="100" Hidden="true" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="100" Hidden="true" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" Hidden="true" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" Hidden="true" />
<Behavior Name="WalkLeftAndSit" Frequency="100" Hidden="true" />
<Behavior Name="WalkRightAndSit" Frequency="100" Hidden="true" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="100" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="100" />
<Behavior Name="JumpFromBottomOfIE" Frequency="50" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="50" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" Hidden="true" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="100" Hidden="true" />
<Behavior Name="RunAlongIECeiling" Frequency="100" Hidden="true" />
<Behavior Name="CrawlAlongIECeiling" Frequency="10" Hidden="true">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="100" Hidden="true" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="100" Hidden="true" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="100" Hidden="true" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="100" Hidden="true" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="100" Hidden="true" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="100" Hidden="true" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="100" Hidden="true" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="100" Hidden="true" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="100" Hidden="true" />
<Behavior Name="ClimbIEWall" Frequency="100" Hidden="true" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" Hidden="true" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="100" Hidden="true" />
<Behavior Name="GrabIEBottomRightWall" Frequency="100" Hidden="true" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="50" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" Hidden="true" />
<Behavior Name="JumpFromRightWall" Frequency="50" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" Hidden="true" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="50" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" Hidden="true" />
<Behavior Name="JumpOnIERightWall" Frequency="50" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" Hidden="true" />
<Behavior Name="ThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

View file

@ -0,0 +1,831 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
<Pose Image="/shime1-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime1-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime2-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2-4.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime3-6.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-1.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-2.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-3.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-4.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
<Pose Image="/shime3-5.png" ImageAnchor="64,128" Velocity="-10,0" Duration="3" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime3-6.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3-1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3-2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3-3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3-4.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3-5.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="150" />
<Pose Image="/shime4-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime4-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime5-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime5-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime6-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime6-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime6-9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6-7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime6-8.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime4-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime7-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="10" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="50" />
</Animation>
</Action>
<Action Name="SitWhileDanglingLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="10" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-2.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="1" />
<Pose Image="/shime8-3.png" ImageAnchor="64,115" Velocity="0,0" Duration="12" />
<Pose Image="/shime8-1.png" ImageAnchor="64,115" Velocity="0,0" Duration="10" />
</Animation>
</Action>
<Action Name="sitandblink" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime6-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="150" />
<Pose Image="/shime23-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime23-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime23-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime23-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime23-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="28" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime9-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="4" />
<Pose Image="/shime9-1.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime10-1.png" ImageAnchor="64,64" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime10-3.png" ImageAnchor="64,64" Velocity="0,0" Duration="16" />
<Pose Image="/shime10-3.png" ImageAnchor="64,64" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-1.png" ImageAnchor="64,64" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-2.png" ImageAnchor="64,64" Velocity="-1,0" Duration="4" />
<Pose Image="/shime10-2.png" ImageAnchor="64,64" Velocity="0,0" Duration="16" />
<Pose Image="/shime10-2.png" ImageAnchor="64,64" Velocity="-2,0" Duration="4" />
<Pose Image="/shime10-1.png" ImageAnchor="64,64" Velocity="-2,0" Duration="4" />
<Pose Image="/shime10-3.png" ImageAnchor="64,64" Velocity="-2,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime11-2.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime11-1.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime11-3.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime12-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime13-1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime13-4.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime14-6.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime14-1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime14-2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime14-3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime14-4.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime14-5.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime15-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime16-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime17-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime18-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime18-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime19-1.png" ImageAnchor="64,128" Velocity="-5,0" Duration="8" />
<Pose Image="/shime19-2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="4" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="8" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="-1,0" Duration="4" />
<Pose Image="/shime19-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime19-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="20" />
<Pose Image="/shime18-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="12" />
<Pose Image="/shime18-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime20-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime20-4.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime20-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime20-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="50" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime20-5.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime20-6.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime20-7.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="25" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="4" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="50" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-3.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-2.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-1.png" ImageAnchor="64,160" Velocity="0,0" Duration="10" />
<Pose Image="/shime21-4.png" ImageAnchor="64,160" Velocity="0,0" Duration="15" />
<Pose Image="/shime21-5.png" ImageAnchor="64,160" Velocity="0,0" Duration="8" />
<Pose Image="/shime21-6.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-7.png" ImageAnchor="64,160" Velocity="0,0" Duration="3" />
<Pose Image="/shime21-8.png" ImageAnchor="64,160" Velocity="0,0" Duration="8" />
<Pose Image="/shime21-9.png" ImageAnchor="64,160" Velocity="0,0" Duration="10" />
<Pose Image="/shime21-10.png" ImageAnchor="64,160" Velocity="0,0" Duration="2" />
<Pose Image="/shime21-11.png" ImageAnchor="64,160" Velocity="0,0" Duration="2" />
<Pose Image="/shime21-12.png" ImageAnchor="64,160" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<!-- Conversations -->
<Action Name="mail" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime24-1.png" ImageAnchor="75,115" Velocity="0,0" Duration="30" />
<Pose Image="/shime24-2.png" ImageAnchor="75,115" Velocity="0,0" Duration="20" />
<Pose Image="/shime24-3.png" ImageAnchor="75,115" Velocity="0,0" Duration="20" />
<Pose Image="/shime24-4.png" ImageAnchor="75,115" Velocity="0,0" Duration="60" />
<Pose Image="/shime24-3.png" ImageAnchor="75,115" Velocity="0,0" Duration="10" />
<Pose Image="/shime24-5.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-6.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-7.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-8.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-9.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-10.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-11.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-12.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-13.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-14.png" ImageAnchor="75,115" Velocity="0,0" Duration="15" />
<Pose Image="/shime24-15.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-16.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-17.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-18.png" ImageAnchor="75,115" Velocity="0,0" Duration="15" />
<Pose Image="/shime24-19.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-20.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-21.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-22.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-23.png" ImageAnchor="75,115" Velocity="0,0" Duration="25" />
<Pose Image="/shime24-24.png" ImageAnchor="75,115" Velocity="0,0" Duration="35" />
<Pose Image="/shime24-8.png" ImageAnchor="75,115" Velocity="0,0" Duration="20" />
<Pose Image="/shime24-7.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-6.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-5.png" ImageAnchor="75,115" Velocity="0,0" Duration="2" />
<Pose Image="/shime24-3.png" ImageAnchor="75,115" Velocity="0,0" Duration="20" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="curledup" Type="Sequence" Loop="false">
<ActionReference Name="sitandblink" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="TalkWithLanMail" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="28" />
<ActionReference Name="SitWithLegsDown" Duration="100" />
<ActionReference Name="SitWhileDanglingLegs" Duration="200" />
<ActionReference Name="mail" Condition="${Math.random() &lt; 1}" Duration="687" />
<ActionReference Name="SitWhileDanglingLegs" Duration="123" />
<ActionReference Name="SitWithLegsDown" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.25}" />
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.25}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.5}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" duration="537" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="30" />
<Pose Image="/shime22-1.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-2.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-3.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime22-4.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime22-5.png" ImageAnchor="64,128" Velocity="0,0" Duration="15" />
<Pose Image="/shime22-6.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime22-7.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-8.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-9.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-10.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime22-11.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime17-1.png" ImageAnchor="64,128" Velocity="20,-20" Duration="2" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="1">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="5" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="100">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="200" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="500" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="300">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="curledup" Frequency="300" />
<NextBehavior Add="true">
<BehaviorReference Name="SitAndSpinHead" Frequency="1000" />
</NextBehavior>
<BehaviorReference Name="SitAndSpinHead" Frequency="500" />
<Behavior Name="SitDown" Frequency="300">
<NextBehavior Add="true">
<BehaviorReference Name="SitAndSpinHead" Frequency="1000" />
<BehaviorReference Name="LieDown" Frequency="1000" />
<BehaviorReferance Name="SitWhileDanglingLegs" Frequency="500" />
</NextBehavior>
</Behavior>
<Behavior Name="TalkWithLanMail" Frequency="600" />
<Behavior Name="LieDown" Frequency="50">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="StandUp" Frequency="100" />
<Behavior Name="PullUpShimeji" Frequency="500" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="300" />
<Behavior Name="FallFromWall" Frequency="50" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="300" />
<Behavior Name="FallFromCeiling" Frequency="100" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="500" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="500" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="200">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="300" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="300" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="100" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="100" />
<Behavior Name="WalkLeftAndSit" Frequency="400" />
<Behavior Name="WalkRightAndSit" Frequency="400" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="700" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="700" />
<Behavior Name="JumpFromBottomOfIE" Frequency="200" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="500" Condition="#{mascot.totalCount &lt; 50}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="100" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="400" />
<Behavior Name="RunAlongIECeiling" Frequency="50" />
<Behavior Name="CrawlAlongIECeiling" Frequency="100">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="300" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="500" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="500" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="300" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="300" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="400" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="400" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="200" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="200" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="300" />
<Behavior Name="ClimbIEWall" Frequency="200" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="300" />
<Behavior Name="GrabIEBottomRightWall" Frequency="300" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="100" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="100" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="300" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="300" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="100" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="100" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="200" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="200" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>

741
img/Sora/conf/actions.xml Normal file
View file

@ -0,0 +1,741 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<ActionList>
<Action Name="Look" Type="Embedded" Class="com.group_finity.mascot.action.Look" />
<Action Name="Offset" Type="Embedded" Class="com.group_finity.mascot.action.Offset" />
<!-- Standing -->
<Action Name="Stand" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Walk" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="Run" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-4,0" Duration="2" />
</Animation>
</Action>
<Action Name="Dash" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime2.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime3.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<!-- Sitting -->
<Action Name="Sit" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime64.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndLookAtMouse" Type="Stay" BorderType="Floor">
<Animation Condition="#{mascot.environment.cursor.y &lt; mascot.environment.screen.height/2}">
<Pose Image="/shime64.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
<Animation>
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndSpinHeadAction" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime26.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime15.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime27.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime16.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime28.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime17.png" ImageAnchor="64,128" Velocity="0,0" Duration="10" />
<Pose Image="/shime29.png" ImageAnchor="64,128" Velocity="0,0" Duration="7" />
<Pose Image="/shime11.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="SitWithLegsUp" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime30.png" ImageAnchor="64,103" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitWithLegsDown" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,103" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="SitAndDangleLegs" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime31.png" ImageAnchor="64,103" Velocity="0,0" Duration="30" />
<Pose Image="/shime55.png" ImageAnchor="64,103" Velocity="0,0" Duration="60" />
<Pose Image="/shime54.png" ImageAnchor="64,103" Velocity="0,0" Duration="60" />
<Pose Image="/shime32.png" ImageAnchor="64,103" Velocity="0,0" Duration="30" />
<Pose Image="/shime55.png" ImageAnchor="64,103" Velocity="0,0" Duration="40" />
<Pose Image="/shime54.png" ImageAnchor="64,103" Velocity="0,0" Duration="70" />
<Pose Image="/shime55.png" ImageAnchor="64,103" Velocity="0,0" Duration="60" />
<Pose Image="/shime33.png" ImageAnchor="64,103" Velocity="0,0" Duration="50" />
<Pose Image="/shime31.png" ImageAnchor="64,103" Velocity="0,0" Duration="20" />
<Pose Image="/shime32.png" ImageAnchor="64,103" Velocity="0,0" Duration="30" />
</Animation>
</Action>
<!-- Laying -->
<Action Name="Sprawl" Type="Stay" BorderType="Floor">
<Animation>
<Pose Image="/shime63.png" ImageAnchor="64,108" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Creep" Type="Move" BorderType="Floor">
<Animation>
<Pose Image="/shime20.png" ImageAnchor="64,108" Velocity="0,0" Duration="28" />
<Pose Image="/shime20.png" ImageAnchor="64,108" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,108" Velocity="-2,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,108" Velocity="-1,0" Duration="4" />
<Pose Image="/shime21.png" ImageAnchor="64,108" Velocity="0,0" Duration="24" />
<pose Image="/shime20.png" ImageAnchor="64,108" Velocity="-3,0" Duration="4" />
</Animation>
</Action>
<!-- Ceiling -->
<Action Name="GrabCeiling" Type="Stay" BorderType="Ceiling">
<Animation>
<Pose Image="/shime23.png" ImageAnchor="64,30" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbCeiling" Type="Move" BorderType="Ceiling">
<Animation>
<Pose Image="/shime25.png" ImageAnchor="64,30" Velocity="-5,0" Duration="4" />
<Pose Image="/shime23.png" ImageAnchor="64,30" Velocity="-5,0" Duration="4" />
<Pose Image="/shime24.png" ImageAnchor="64,30" Velocity="-5,0" Duration="4" />
</Animation>
</Action>
<!-- Wall -->
<Action Name="GrabWall" Type="Stay" BorderType="Wall">
<Animation>
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="ClimbWall" Type="Move" BorderType="Wall">
<Animation Condition="#{TargetY &lt; mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-1" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,-2" Duration="4" />
</Animation>
<Animation Condition="#{TargetY &gt;= mascot.anchor.y}">
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,2" Duration="4" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime13.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime12.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
<Pose Image="/shime14.png" ImageAnchor="64,128" Velocity="0,1" Duration="4" />
</Animation>
</Action>
<!-- IE -->
<Action Name="FallWithIe" Type="Embedded" Class="com.group_finity.mascot.action.FallWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="WalkWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-2,0" Duration="6" />
</Animation>
</Action>
<Action Name="RunWithIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.WalkWithIE"
IeOffsetX="0" IeOffsetY="-64">
<Animation>
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime35.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime34.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
<Pose Image="/shime36.png" ImageAnchor="64,128" Velocity="-8,0" Duration="2" />
</Animation>
</Action>
<Action Name="ThrowIe" BorderType="Floor" Type="Embedded" Class="com.group_finity.mascot.action.ThrowIE"
InitialVX="32" InitialVY="-10" Gravity="0.5">
<Animation>
<Pose Image="/shime37.png" ImageAnchor="64,128" Velocity="0,0" Duration="40" />
</Animation>
</Action>
<!-- Falling -->
<Action Name="Jumping" Type="Embedded" Class="com.group_finity.mascot.action.Jump"
VelocityParam="20">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,128" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Falling" Type="Embedded" Class="com.group_finity.mascot.action.Fall"
RegistanceX="0.05" RegistanceY="0.1" Gravity="2">
<Animation>
<Pose Image="/shime22.png" ImageAnchor="64,228" Velocity="0,0" Duration="11" />
<Pose Image="/shime57.png" ImageAnchor="64,228" Velocity="0,0" Duration="5" />
<Pose Image="/shime4.png" ImageAnchor="64,228" Velocity="0,0" Duration="250" />
</Animation>
</Action>
<Action Name="Bouncing" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime53.png" ImageAnchor="64,240" Velocity="0,0" Duration="2" />
<Pose Image="/shime51.png" ImageAnchor="64,200" Velocity="0,0" Duration="3" />
<Pose Image="/shime52.png" ImageAnchor="64,200" Velocity="0,0" Duration="3" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime19.png" ImageAnchor="64,128" Velocity="0,0" Duration="6" />
<Pose Image="/shime18.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Tripping" Type="Animate" BorderType="Floor">
<Animation>
<Pose Image="/shime60.png" ImageAnchor="64,128" Velocity="-8,0" Duration="8" />
<Pose Image="/shime61.png" ImageAnchor="64,113" Velocity="-5,0" Duration="4" />
<Pose Image="/shime61.png" ImageAnchor="64,113" Velocity="-3,0" Duration="4" />
<Pose Image="/shime61.png" ImageAnchor="64,113" Velocity="0,0" Duration="10" />
<Pose Image="/shime62.png" ImageAnchor="64,98" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<!-- Dragging -->
<Action Name="Pinched" Type="Embedded" Class="com.group_finity.mascot.action.Dragged">
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-50}">
<Pose Image="/shime9.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-30}">
<Pose Image="/shime7.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-10}">
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x-10}">
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+30}">
<Pose Image="/shime47.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &lt; mascot.environment.cursor.x+50}">
<Pose Image="/shime8.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
<Animation Condition="#{FootX &gt;= mascot.environment.cursor.x+30}">
<Pose Image="/shime10.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
</Animation>
</Action>
<Action Name="Resisting" Type="Embedded" Class="com.group_finity.mascot.action.Regist">
<Animation>
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="50" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="100" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="5" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime5.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
<Pose Image="/shime6.png" ImageAnchor="64,128" Velocity="0,0" Duration="2" />
</Animation>
</Action>
</ActionList>
<!-- Actual Behavior -->
<ActionList>
<!-- ALWAYS REQUIRED -->
<Action Name="Fall" Type="Sequence" Loop="false">
<ActionReference Name="Falling"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) ||
mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Dragged" Type="Sequence" Loop="true">
<ActionReference Name="Pinched"/>
<ActionReference Name="Resisting" />
</Action>
<!-- ALWAYS REQUIRED -->
<Action Name="Tripped" Type="Sequence" Loop="false">
<ActionReference Name="Dash" Duration="20" />
<ActionReference Name="Tripping" Duration="${500+Math.random()*500}" />
</Action>
<Action Name="Thrown" Type="Sequence" Loop="false">
<ActionReference Name="Falling" InitialVX="${mascot.environment.cursor.dx}" InitialVY="${mascot.environment.cursor.dy}"/>
<Action Type="Select">
<Action Type="Sequence" Condition="${mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor) }">
<ActionReference Name="Bouncing"/>
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
</Action>
<ActionReference Name="GrabWall" Duration="100" />
</Action>
</Action>
<Action Name="StandUp" Type="Sequence" Loop="false">
<ActionReference Name="Stand" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitDown" Type="Sequence" Loop="false">
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="LieDown" Type="Sequence" Loop="false">
<ActionReference Name="Sprawl" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitWhileDanglingLegs" Type="Sequence" Loop="false">
<ActionReference Name="SitWithLegsUp" Duration="10" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitAndDangleLegs" Duration="${500+Math.random()*100}" />
<ActionReference Name="SitWithLegsDown" Duration="${100+Math.random()*100}" />
<ActionReference Name="SitWithLegsUp" Duration="10" />
</Action>
<Action Name="HoldOntoWall" Type="Sequence" Loop="false">
<ActionReference Name="GrabWall" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromWall" Type="Sequence" Loop="false">
<ActionReference Name="Offset" X="${mascot.lookRight ? -1 : 1}" />
<ActionReference Name="Stand" />
</Action>
<Action Name="HoldOntoCeiling" Type="Sequence" Loop="false">
<ActionReference Name="GrabCeiling" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="FallFromCeiling" Type="Sequence" Loop="false">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Stand" />
</Action>
<Action Name="WalkAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="RunAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="CrawlAlongWorkAreaFloor" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkLeftAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongFloorAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="GrabWorkAreaBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="GrabWorkAreaBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkLeftAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="true" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.workArea.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Look" LookRight="false" />
<ActionReference Name="Stand" Duration="${20+Math.random()*20}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkAndGrabBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.left}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="WalkAndGrabBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="#{mascot.environment.workArea.right}" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.bottom-64}" />
</Action>
<Action Name="JumpFromBottomOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${(mascot.anchor.x*3+mascot.environment.activeIE.left+Math.random()*mascot.environment.activeIE.width)/4}"
TargetY="${mascot.environment.activeIE.bottom}" />
<ActionReference Name="GrabCeiling" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ClimbHalfwayAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.workArea.top+64 + Math.random()*(mascot.environment.workArea.height-128)}" />
</Action>
<Action Name="ClimbAlongWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.workArea.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbCeiling" TargetX="${mascot.lookRight ? mascot.environment.workArea.left+Math.random()*100 : mascot.environment.workArea.right-Math.random*100}" />
</Action>
<Action Name="ClimbAlongCeiling" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.workArea.left+64+Math.random()*(mascot.environment.workArea.width-128)}" />
</Action>
<Action Name="WalkAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="RunAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="CrawlAlongIECeiling" Type="Sequence" Loop="false">
<ActionReference Name="Creep" TargetX="${mascot.environment.activeIE.left+64+Math.random()*(mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="SitOnTheLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="SitOnTheRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="JumpFromLeftEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="JumpFromRightEdgeOfIE" Type="Sequence" Loop="false">
<ActionReference Name="Walk" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkLeftAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+100+Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkRightAlongIEAndSit" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-100-Math.random()*300}" />
<ActionReference Name="Stand" Duration="${100+Math.random()*100}" />
<ActionReference Name="Sit" Duration="${500+Math.random()*1000}" />
</Action>
<Action Name="WalkLeftAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.left+Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${-15-Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="WalkRightAlongIEAndJump" Type="Sequence" Loop="false">
<ActionReference Name="Run" TargetX="${mascot.environment.activeIE.right-Math.random()*50}" />
<ActionReference Name="Falling" InitialVX="${15+Math.random()*5}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingLeftEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.left+Math.random()*20+20}" />
<ActionReference Name="Falling" InitialVX="${-5-Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="DashIeCeilingRightEdgeFromJump" Type="Sequence" Loop="false">
<ActionReference Name="Dash" TargetX="${mascot.environment.activeIE.right-Math.random()*20-20}" />
<ActionReference Name="Falling" InitialVX="${5+Math.random()*2}" InitialVY="${-20-Math.random()*5}"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="HoldOntoIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="${mascot.environment.activeIE.top+64 + Math.random()*(mascot.environment.activeIE.height-128)}" />
</Action>
<Action Name="ClimbIEWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.top+64}" />
<ActionReference Name="Offset" Y="-64" />
<ActionReference Name="Sit" Duration="5" />
<ActionReference Name="Stand" Duration="${10+Math.random()*10}" />
<ActionReference Name="Walk" TargetX="${mascot.lookRight ? mascot.environment.activeIE.left+Math.random()*100 : mascot.environment.activeIE.right-Math.random*100}" />
</Action>
<Action Name="ClimbIEBottom" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="${mascot.environment.activeIE.left+64+(Math.random()*mascot.environment.activeIE.width-128)}" />
</Action>
<Action Name="GrabIEBottomLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.left}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="GrabIEBottomRightWall" Type="Sequence" Loop="false">
<ActionReference Name="ClimbCeiling" TargetX="#{mascot.environment.activeIE.right}" />
<ActionReference Name="Look" />
<ActionReference Name="ClimbWall" TargetY="#{mascot.environment.activeIE.bottom-64}" />
</Action>
<Action Name="JumpFromLeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.left}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpFromRightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.workArea.right}" TargetY="${mascot.environment.workArea.bottom-Math.random()*mascot.environment.workArea.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIELeftWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="JumpOnIERightWall" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom-Math.random()*mascot.environment.activeIE.height/4}" />
<ActionReference Name="GrabWall" Duration="${100+Math.random()*100}" />
</Action>
<Action Name="ThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="WalkWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromRight" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.left}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.right-400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="WalkAndThrowIEFromLeft" Type="Sequence" Loop="false">
<ActionReference Name="Jumping" TargetX="${mascot.environment.activeIE.right}" TargetY="${mascot.environment.activeIE.bottom+64}" />
<ActionReference Name="FallWithIe" />
<ActionReference Name="RunWithIe" TargetX="#{mascot.environment.workArea.left+400}" />
<ActionReference Name="ThrowIe" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
<ActionReference Name="Look" />
<ActionReference Name="Stand" Duration="${50+Math.random()*50}" />
</Action>
<Action Name="ChaseMouse" Type="Sequence" Loop="false">
<Action Type="Sequence" Condition="${mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" Y="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.leftBorder.isOn(mascot.anchor) || mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Sequence" Condition="${mascot.environment.workArea.rightBorder.isOn(mascot.anchor) || mascot.environment.activeIE.leftBorder.isOn(mascot.anchor)}">
<ActionReference Name="Offset" X="-1" />
<ActionReference Name="Falling"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Type="Select">
<ActionReference Name="DashIeCeilingLeftEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}"/>
<ActionReference Name="DashIeCeilingRightEdgeFromJump"
Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= (mascot.environment.activeIE.left+mascot.environment.activeIE.right)/2}" />
</Action>
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random()/2 }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="${ mascot.anchor.x+(mascot.environment.cursor.x-mascot.anchor.x)*Math.random() }" />
<ActionReference Name="Tripping" Condition="${Math.random() &lt; 0.05}" />
<ActionReference Name="Dash" TargetX="#{mascot.environment.cursor.x+Gap}"
Gap="${ mascot.anchor.x &lt; mascot.environment.cursor.x ?
-Math.min( mascot.environment.cursor.x-mascot.anchor.x, Math.random()*200) :
Math.min( mascot.anchor.x-mascot.environment.cursor.x, Math.random()*200 ) }" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndFaceMouse" Type="Sequence" Loop="false">
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
<ActionReference Name="SitAndLookAtMouse" Duration="${10+Math.random()*10}" />
<ActionReference Name="Look" LookRight="${mascot.anchor.x &lt; mascot.environment.cursor.x}" />
</Action>
<Action Name="SitAndSpinHead" Type="Sequence" Loop="false">
<ActionReference Name="SitAndSpinHeadAction" />
</Action>
<Action Name="PullUpShimeji1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-32" BornY="96" BornBehavior="PullUp">
<Animation>
<Pose Image="/shime1.png" ImageAnchor="64,128" Velocity="0,0" Duration="16" />
<Pose Image="/shime38.png" ImageAnchor="96,128" Velocity="0,0" Duration="4" />
<Pose Image="/shime39.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime40.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime41.png" ImageAnchor="96,128" Velocity="0,0" Duration="40" />
<Pose Image="/shime58.png" ImageAnchor="96,168" Velocity="0,0" Duration="10" />
<Pose Image="/shime59.png" ImageAnchor="96,128" Velocity="0,0" Duration="20" />
</Animation>
</Action>
<Action Name="PullUpShimeji2" Type="Animate">
<Animation>
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-20" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-10" Duration="1" />
<Pose Image="/shime9.png" ImageAnchor="32,128" Velocity="20,-5" Duration="1" />
</Animation>
</Action>
<Action Name="PullUpShimeji" Type="Sequence">
<ActionReference Name="PullUpShimeji1" />
<ActionReference Name="PullUpShimeji2" />
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? -20 : 20}"/>
<ActionReference Name="Bouncing" />
<ActionReference Name="Sprawl" Duration="40" />
</Action>
<Action Name="PullUp" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-40"/>
<ActionReference Name="Bouncing" />
</Action>
<Action Name="Divide1" Type="Embedded" Class="com.group_finity.mascot.action.Breed"
BornX="-16" BornY="0" BornBehavior="Divided">
<Animation>
<Pose Image="/shime42.png" ImageAnchor="64,132" Velocity="0,0" Duration="30" />
<Pose Image="/shime43.png" ImageAnchor="64,132" Velocity="0,0" Duration="24" />
<Pose Image="/shime44.png" ImageAnchor="64,135" Velocity="0,0" Duration="24" />
<Pose Image="/shime45.png" ImageAnchor="64,135" Velocity="0,0" Duration="24" />
<Pose Image="/shime46.png" ImageAnchor="64,126" Velocity="0,0" Duration="13" />
<Pose Image="/shime65.png" ImageAnchor="64,126" Velocity="0,0" Duration="13" />
</Animation>
</Action>
<Action Name="SplitIntoTwo" Type="Sequence">
<ActionReference Name="Divide1" />
<ActionReference Name="Offset" X="16" />
<ActionReference Name="Look" />
<ActionReference Name="Divided" />
</Action>
<Action Name="Divided" Type="Sequence">
<ActionReference Name="Falling" InitialVX="${mascot.lookRight ? 10 : -10}" InitialVY="-5"/>
<ActionReference Name="Bouncing" />
</Action>
</ActionList>
</Mascot>

176
img/Sora/conf/behaviors.xml Normal file
View file

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Mascot xmlns="http://www.group-finity.com/Mascot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.group-finity.com/Mascot Mascot.xsd">
<BehaviorList>
<!-- ALWAYS REQUIRED -->
<Behavior Name="ChaseMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndFaceMouse" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="100" />
<BehaviorReference Name="SitAndSpinHead" Frequency="1" />
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitAndSpinHead" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitAndFaceMouse" Frequency="1" />
</NextBehavior>
</Behavior>
<!-- ALWAYS REQUIRED -->
<Behavior Name="Fall" Frequency="0" />
<Behavior Name="Tripped" Frequency="200" Hidden="true" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Dragged" Frequency="0" />
<!-- ALWAYS REQUIRED -->
<Behavior Name="Thrown" Frequency="0" />
<Behavior Name="PullUp" Frequency="0" />
<Behavior Name="Divided" Frequency="0" />
<!-- On the Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor) || mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="StandUp" Frequency="200" />
<Behavior Name="SitDown" Frequency="100">
<NextBehavior Add="true">
<BehaviorReference Name="SitWhileDanglingLegs" Frequency="100" />
<BehaviorReference Name="LieDown" Frequency="100" />
</NextBehavior>
</Behavior>
<Behavior Name="SitWhileDanglingLegs" Frequency="0" />
<Behavior Name="LieDown" Frequency="0">
<NextBehavior Add="false">
<BehaviorReference Name="SitDown" Frequency="100" />
<BehaviorReference Name="CrawlAlongIECeiling" Frequency="100" Condition="${mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}" />
<BehaviorReference Name="CrawlAlongWorkAreaFloor" Frequency="100" Condition="${mascot.environment.floor.isOn(mascot.anchor)}" />
</NextBehavior>
</Behavior>
<Behavior Name="SplitIntoTwo" Frequency="0" Condition="#{mascot.totalCount &lt; 10}" />
</Condition>
<!-- On the Wall -->
<Condition Condition="#{ mascot.lookRight ? (
mascot.environment.workArea.rightBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) ) : (
mascot.environment.workArea.leftBorder.isOn(mascot.anchor) ||
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor) ) }">
<Behavior Name="HoldOntoWall" Frequency="100" />
<Behavior Name="FallFromWall" Frequency="100" Condition="${!mascot.environment.floor.isOn(mascot.anchor)}" />
</Condition>
<!-- On the Ceiling -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor) || mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoCeiling" Frequency="100" />
<Behavior Name="FallFromCeiling" Frequency="0" />
</Condition>
<!-- On Work Area Floor -->
<Condition Condition="#{mascot.environment.floor.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongWorkAreaFloor" Frequency="200" />
<Behavior Name="RunAlongWorkAreaFloor" Frequency="0" />
<Behavior Name="CrawlAlongWorkAreaFloor" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="WalkLeftAlongFloorAndSit" Frequency="60" />
<Behavior Name="WalkRightAlongFloorAndSit" Frequency="60" />
<Behavior Name="GrabWorkAreaBottomLeftWall" Frequency="0" />
<Behavior Name="GrabWorkAreaBottomRightWall" Frequency="0" />
<Behavior Name="WalkLeftAndSit" Frequency="0" />
<Behavior Name="WalkRightAndSit" Frequency="0" />
<Behavior Name="WalkAndGrabBottomLeftWall" Frequency="0" />
<Behavior Name="WalkAndGrabBottomRightWall" Frequency="0" />
<Behavior Name="JumpFromBottomOfIE" Frequency="0" Condition="#{mascot.anchor.x &gt;= mascot.environment.activeIE.left &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.right}" />
<Behavior Name="PullUpShimeji" Frequency="0" Condition="#{mascot.totalCount &lt; 10}" />
</Condition>
<!-- On Work Area Facing the Wall -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.workArea.rightBorder.isOn(mascot.anchor) :
mascot.environment.workArea.leftBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbHalfwayAlongWall" Frequency="100" />
<Behavior Name="ClimbAlongWall" Frequency="0" />
</Condition>
<!-- On Work Area Top Facing -->
<Condition Condition="#{mascot.environment.ceiling.isOn(mascot.anchor)}">
<Behavior Name="ClimbAlongCeiling" Frequency="100" />
</Condition>
<!-- On Top of IE -->
<Condition Condition="#{mascot.environment.activeIE.topBorder.isOn(mascot.anchor)}">
<Behavior Name="WalkAlongIECeiling" Frequency="200" />
<Behavior Name="RunAlongIECeiling" Frequency="100" />
<Behavior Name="CrawlAlongIECeiling" Frequency="10">
<NextBehavior Add="false">
<!-- Finished Crawling -->
<BehaviorReference Name="LieDown" Frequency="1" />
</NextBehavior>
</Behavior>
<Behavior Name="SitOnTheLeftEdgeOfIE" Frequency="50" />
<Behavior Name="SitOnTheRightEdgeOfIE" Frequency="50" />
<Behavior Name="JumpFromLeftEdgeOfIE" Frequency="0" />
<Behavior Name="JumpFromRightEdgeOfIE" Frequency="0" />
<Behavior Name="WalkLeftAlongIEAndSit" Frequency="0" />
<Behavior Name="WalkRightAlongIEAndSit" Frequency="0" />
<Behavior Name="WalkLeftAlongIEAndJump" Frequency="0" />
<Behavior Name="WalkRightAlongIEAndJump" Frequency="0" />
</Condition>
<!-- On IE's Side -->
<Condition Condition="#{mascot.lookRight ? mascot.environment.activeIE.leftBorder.isOn(mascot.anchor) :
mascot.environment.activeIE.rightBorder.isOn(mascot.anchor)}">
<Behavior Name="HoldOntoIEWall" Frequency="100" />
<Behavior Name="ClimbIEWall" Frequency="100" />
</Condition>
<!-- On the Bottom of IE -->
<Condition Condition="#{mascot.environment.activeIE.bottomBorder.isOn(mascot.anchor)}">
<Behavior Name="ClimbIEBottom" Frequency="100" />
<Behavior Name="GrabIEBottomLeftWall" Frequency="100" />
<Behavior Name="GrabIEBottomRightWall" Frequency="100" />
</Condition>
<Behavior Name="JumpFromLeftWall" Frequency="0" Condition="#{!mascot.environment.workArea.leftBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &lt; mascot.environment.workArea.left+400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<Behavior Name="JumpFromRightWall" Frequency="0" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &amp;&amp;
mascot.anchor.x &gt;= mascot.environment.workArea.right-400 &amp;&amp;
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) &lt;mascot.environment.workArea.height/4}" />
<!-- IE Is Visible -->
<Condition Condition="#{mascot.environment.activeIE.visible}">
<Behavior Name="JumpOnIELeftWall" Frequency="0" Condition="#{mascot.anchor.x &lt; mascot.environment.activeIE.left &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="JumpOnIERightWall" Frequency="0" Condition="#{mascot.anchor.x &gt; mascot.environment.activeIE.right &amp;&amp;
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) &lt;mascot.environment.activeIE.height/4}" />
<Behavior Name="ThrowIEFromLeft" Frequency="0" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="ThrowIEFromRight" Frequency="0" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
<Behavior Name="WalkAndThrowIEFromRight" Frequency="0" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &lt; mascot.environment.activeIE.left}" />
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="0" Condition="#{mascot.environment.activeIE.bottom &lt; mascot.anchor.y-64 &amp;&amp;
mascot.anchor.x &gt; mascot.environment.activeIE.right}" />
</Condition>
</BehaviorList>
</Mascot>