shimeji-collection/img/Link/conf/behaviors.xml

174 lines
8.4 KiB
XML
Raw Normal View History

2021-12-28 00:17:04 +01:00
<?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>