174 lines
8.4 KiB
XML
174 lines
8.4 KiB
XML
|
<?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 < 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 >= mascot.environment.activeIE.left &&
|
|||
|
mascot.anchor.x < mascot.environment.activeIE.right}" />
|
|||
|
|
|||
|
<Behavior Name="PullUpShimeji" Frequency="50" Condition="#{mascot.totalCount < 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) &&
|
|||
|
mascot.anchor.x < mascot.environment.workArea.left+400 &&
|
|||
|
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) <mascot.environment.workArea.height/4}" />
|
|||
|
<Behavior Name="JumpFromRightWall" Frequency="50" Condition="#{!mascot.environment.workArea.rightBorder.isOn(mascot.anchor) &&
|
|||
|
mascot.anchor.x >= mascot.environment.workArea.right-400 &&
|
|||
|
Math.abs(mascot.environment.workArea.bottom-mascot.anchor.y) <mascot.environment.workArea.height/4}" />
|
|||
|
|
|||
|
<!-- IE Is Visible -->
|
|||
|
<Condition Condition="#{mascot.environment.activeIE.visible}">
|
|||
|
<Behavior Name="JumpOnIELeftWall" Frequency="50" Condition="#{mascot.anchor.x < mascot.environment.activeIE.left &&
|
|||
|
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) <mascot.environment.activeIE.height/4}" />
|
|||
|
<Behavior Name="JumpOnIERightWall" Frequency="50" Condition="#{mascot.anchor.x > mascot.environment.activeIE.right &&
|
|||
|
Math.abs(mascot.environment.activeIE.bottom-mascot.anchor.y) <mascot.environment.activeIE.height/4}" />
|
|||
|
|
|||
|
<Behavior Name="ThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom < mascot.anchor.y-64 &&
|
|||
|
mascot.anchor.x < mascot.environment.activeIE.left}" />
|
|||
|
<Behavior Name="ThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom < mascot.anchor.y-64 &&
|
|||
|
mascot.anchor.x > mascot.environment.activeIE.right}" />
|
|||
|
<Behavior Name="WalkAndThrowIEFromRight" Frequency="20" Condition="#{mascot.environment.activeIE.bottom < mascot.anchor.y-64 &&
|
|||
|
mascot.anchor.x < mascot.environment.activeIE.left}" />
|
|||
|
<Behavior Name="WalkAndThrowIEFromLeft" Frequency="20" Condition="#{mascot.environment.activeIE.bottom < mascot.anchor.y-64 &&
|
|||
|
mascot.anchor.x > mascot.environment.activeIE.right}" />
|
|||
|
</Condition>
|
|||
|
|
|||
|
</BehaviorList>
|
|||
|
</Mascot>
|