Ignore:
Timestamp:
01/31/2011 01:13:47 PM (10 years ago)
Author:
dave
Message:

started fatima code and remote companion sprite update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • scenarios/GerminationX/oak/data/characters/minds/Actions.xml

    r437 r898  
    11<DomainActions> 
    2         <!-- physical actions --> 
    3         <Action name="pick-from-floor([target])"> 
    4                 <PreConditions> 
    5                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    6                 </PreConditions> 
    7                 <Effects> 
    8                         <Effect probability="1.0"> 
    9                                 <Property name="[target](on-top)" operator="=" value="none"/> 
    10                         </Effect> 
    11                         <Effect probability="1.0"> 
    12                                 <Property name="[AGENT](hold,[target])" operator="=" value="True"/> 
    13                         </Effect> 
    14                 </Effects> 
    15         </Action> 
    16         <Action name="swipe([target])"> 
    17                 <PreConditions> 
    18                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    19                         <Property name="[target](owner)" operator="=" value="[targetowner]"/> 
    20                         <RecentEvent occurred="True" subject="[AGENT]" action="Reply" target="[targetowner]" parameters="teasedefend,negativeanswer"/> 
    21                 </PreConditions> 
    22                 <Effects> 
    23                 </Effects> 
    24         </Action> 
    252        <Action name="poke([target])"> 
    263                <PreConditions> 
     
    3310                </Effects> 
    3411        </Action> 
    35         <Action name="steal([owner],[item])"> 
    36                 <PreConditions> 
    37                         <Property name="[item](type)" operator="=" value="object"/> 
    38                         <Property name="[item](owner)" operator="=" value="[owner]"/> 
    39                         <Property name="[owner]" operator="!=" value="[AGENT]"/> 
    40                 </PreConditions> 
    41                 <Effects> 
    42                         <Effect probability="1.0"> 
    43                                 <Property name="[AGENT](hasItem,[item])" operator="=" value="True"/> 
    44                         </Effect> 
    45                 </Effects> 
    46         </Action> 
    47         <Action name="attack([target])"> 
     12 
     13        <Action name="sing([target])"> 
    4814                <PreConditions> 
    4915                        <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    5016                </PreConditions> 
    5117                <Effects> 
    52                         <Effect probability="0.6"> 
    53                                 <Property name="[target](hurt)" operator="=" value="True"/> 
    54                         </Effect> 
    55                         <Effect probability="0.4"> 
    56                                 <Property name="[SELF](hurt)" operator="=" value="True"/> 
    57                         </Effect> 
    58                 </Effects> 
    59         </Action> 
    60         <Action name="throw([target],[item])"> 
    61                 <PreConditions> 
    62                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    63                         <Property name="[AGENT](hasItem,[item])" operator="=" value="True"/> 
    64                         <Property name="[Item](throwable)" operator="=" value="True"/> 
    65                 </PreConditions> 
    66                 <Effects> 
    67                         <Effect probability="1.0"> 
    68                                 <Property name="[AGENT](hasItem,[item])" operator="=" value="False"/> 
    69                         </Effect> 
    70                 </Effects> 
    71         </Action> 
    72         <!-- Coping Strategy: walking away - not linked to graphics yet --> 
    73         <Action name="walkAway"> 
    74                 <PreConditions> 
    75                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    76                         <!--<RecentEvent occurred="true" subject="[AGENT]" action="Question" target="[bully]" parameters="confrontationleave"/>--> 
    77                 </PreConditions> 
    78                 <Effects> 
    79                         <Effect probability="1.0"> 
    80                                 <Property name="[AGENT](needToCope)" operator="=" value="False"/> 
    81                         </Effect> 
    82                 </Effects> 
    83         </Action> 
    84         <!-- Coping Strategy: walking away - not linked to graphics yet --> 
    85         <Action name="runAway"> 
    86                 <PreConditions> 
    87                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    88                 </PreConditions> 
    89                 <Effects> 
    90                         <Effect probability="1.0"> 
    91                                 <Property name="[AGENT](needToCope)" operator="=" value="False"/> 
    92                         </Effect> 
    93                 </Effects> 
    94         </Action> 
    95         <!-- PR 061123 added walkAwayVictim as a test - not linked to graphics yet--> 
    96         <Action name="walkAwayVictim([victim])" probability="0.3"> 
    97                 <PreConditions> 
    98                         <Property name="[AGENT](pose)" operator="=" value="standing"/> 
    99                 </PreConditions> 
    100                 <Effects> 
    101                 </Effects> 
    102         </Action> 
    103          
    104         <!-- User Speech  actions, interaction only --> 
    105         <Action name="UserSpeech([target],suggestcopingstrategy,[cs])" probability="0.8"> 
    106                 <PreConditions> 
    107                         <Property name="[AGENT]" operator="=" value="User"/> 
    108                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],askforadvice)"/> 
    109                 </PreConditions> 
    110                 <Effects> 
    111                         <Effect probability="1.0"> 
    112                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],suggestcopingstrategy,[cs])"/> 
    113                         </Effect> 
    114                 </Effects> 
    115         </Action> 
    116          
    117         <Action name="UserSpeech([target],suggestcopingstrategy,[cs])" probability="0.3"> 
    118                 <PreConditions> 
    119                         <Property name="[AGENT]" operator="=" value="User"/> 
    120                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],askforadvice2nd)"/> 
    121                 </PreConditions> 
    122                 <Effects> 
    123                         <Effect probability="1.0"> 
    124                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],suggestcopingstrategy,[cs])"/> 
    125                         </Effect> 
    126                 </Effects> 
    127         </Action> 
    128          
    129         <Action name="UserSpeech([target],suggestcopingstrategy,[cs])" probability="0.5"> 
    130                 <PreConditions> 
    131                         <Property name="[AGENT]" operator="=" value="User"/> 
    132                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],askagain)"/> 
    133                 </PreConditions> 
    134                 <Effects> 
    135                         <Effect probability="1.0"> 
    136                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],suggestcopingstrategy,[cs])"/> 
    137                         </Effect> 
    138                 </Effects> 
    139         </Action> 
    140          
    141         <Action name="UserSpeech([target],yes,[strategy])" probability="0.8"> 
    142                 <PreConditions> 
    143                         <Property name="[AGENT]" operator="=" value="User"/> 
    144                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="AskIfKeepStrategy"/> 
    145                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="AskCopingStrategy"/> 
    146                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,[AGENT],askifkeepcopingstrategy,[strategy])"/> 
    147                 </PreConditions> 
    148                 <Effects> 
    149                         <Effect probability="1.0"> 
    150                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],yes,[strategy])"/> 
    151                         </Effect> 
    152                 </Effects> 
    153         </Action> 
    154          
    155         <Action name="UserSpeech([target],yes,[strategy])" probability="1.0"> 
    156                 <PreConditions> 
    157                         <Property name="[AGENT]" operator="=" value="User"/> 
    158                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="AskCopingStrategy"/> 
    159                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,[AGENT],confirmcopingstrategy,[strategy])"/> 
    160                 </PreConditions> 
    161                 <Effects> 
    162                         <Effect probability="1.0"> 
    163                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],yes,[strategy])"/> 
    164                         </Effect> 
    165                 </Effects> 
    166         </Action> 
    167          
    168         <Action name="UserSpeech([target],yes,[strategy])" probability="0.5"> 
    169                 <PreConditions> 
    170                         <Property name="[AGENT]" operator="=" value="User"/> 
    171                         <RecentEvent occurred="True" subject="[SELF]" action="fail" target="AskCopingStrategy"/> 
    172                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,[AGENT],suggestcopingstrategy,[strategy])"/> 
    173                 </PreConditions> 
    174                 <Effects> 
    175                         <Effect probability="1.0"> 
    176                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],yes,[strategy])"/> 
    177                         </Effect> 
    178                 </Effects> 
    179         </Action> 
    180          
    181         <Action name="UserSpeech([target],givereason)" probability="1.0"> 
    182                 <PreConditions> 
    183                         <Property name="[AGENT]" operator="=" value="User"/> 
    184                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="AskCopingStrategy"/> 
    185                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],askforreason)"/> 
    186                 </PreConditions> 
    187                 <Effects> 
    188                         <Effect probability="1.0"> 
    189                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],givereason)"/> 
    190                         </Effect> 
    191                 </Effects> 
    192         </Action> 
    193          
    194         <Action name="UserSpeech([target],givereason)" probability="1.0"> 
    195                 <PreConditions> 
    196                         <Property name="[AGENT]" operator="=" value="User"/> 
    197                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="AskCopingStrategy" /> 
    198                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],askwhykeep)"/> 
    199                 </PreConditions> 
    200                 <Effects> 
    201                         <Effect probability="1.0"> 
    202                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],UserSpeech,[target],givereason)"/> 
    203                         </Effect> 
    204                 </Effects> 
    205         </Action> 
    206          
    207         <!-- Speech Actions for the Victim's interaction with the user --> 
    208         <Action name="CopingSpeech(User,confirmcopingstrategy,[cs])"> 
    209                 <PreConditions> 
    210                         <Property name="SpeechContext()" operator="=" value="#EVENT(User,UserSpeech,[AGENT],suggestcopingstrategy,[cs])"/> 
    211                 </PreConditions> 
    212                 <Effects> 
    213                         <Effect probability="1.0"> 
    214                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,confirmcopingstrategy,[cs])"/> 
    215                         </Effect> 
    216                 </Effects> 
    217         </Action> 
    218          
    219         <Action name="CopingSpeech(User,suggestcopingstrategy,[coping])"> 
    220                 <PreConditions> 
    221                         <RecentEvent occurred="True" subject="[SELF]" action="fail" target="AskCopingStrategy"/> 
    222                         <Property name="[AGENT](cansuggestcoping,[coping])" operator="=" value="True"/> 
    223                         <Property name="[AGENT](numberOfTries,[coping])" operator="LesserThan" value="6"/> 
    224                 </PreConditions> 
    225                 <Effects> 
    226                         <Effect probability="1.0"> 
    227                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,suggestcopingstrategy,[coping])"/> 
    228                         </Effect> 
    229                 </Effects> 
    230         </Action> 
    231          
    232         <Action name="CopingSpeech(User,askifkeepcopingstrategy,[coping])"> 
    233                 <PreConditions> 
    234                         <Property name="[AGENT](copingStrategy)" operator="=" value="[coping]" /> 
    235                         <Property name="[coping]" operator="!=" value="False" /> 
    236                 </PreConditions> 
    237                 <Effects> 
    238                         <Effect probability="1.0"> 
    239                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,askifkeepcopingstrategy,[coping])"/> 
    240                         </Effect> 
    241                 </Effects> 
    242         </Action> 
    243          
    244         <Action name="CopingSpeech(User,cannotkeepcopingstrategy,[coping])"> 
    245                 <PreConditions> 
    246                         <Property name="[AGENT](copingStrategy)" operator="=" value="[coping]" /> 
    247                         <Property name="[coping]" operator="!=" value="False" /> 
    248                 </PreConditions> 
    249                 <Effects> 
    250                         <Effect probability="1.0"> 
    251                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,cannotkeepcopingstrategy,[coping])"/> 
    252                         </Effect> 
    253                 </Effects> 
    254         </Action> 
    255          
    256         <Action name="CopingSpeech(User,acceptcopingstrategy,[coping])"> 
    257                 <PreConditions> 
    258                         <Property name="[AGENT](copingStrategy)" operator="=" value="[coping]" /> 
    259                         <Property name="[coping]" operator="!=" value="False" /> 
    260                 </PreConditions> 
    261                 <Effects> 
    262                         <Effect probability="1.0"> 
    263                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,acceptstrategy,[coping])"/> 
    264                         </Effect> 
    265                 </Effects> 
    266         </Action> 
    267          
    268         <Action name="CopingSpeech(User,declinecopingstrategy,[coping])"> 
    269                 <PreConditions> 
    270                         <Property name="[AGENT](copingStrategy)" operator="=" value="[coping]" /> 
    271                         <Property name="[coping]" operator="!=" value="False" /> 
    272                 </PreConditions> 
    273                 <Effects> 
    274                         <Effect probability="1.0"> 
    275                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],CopingSpeech,User,declinecopingstrategy,[coping])"/> 
    276                         </Effect> 
    277                 </Effects> 
    278         </Action> 
    279          
    280         <!-- General SpeechAct --> 
    281         <Action name="SpeechAct([target],[type])"> 
    282                 <PreConditions> 
    283                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    284                         <Property name="[type]" operator="!=" value="protest"/> 
    285                         <Property name="[type]" operator="!=" value="deceptionreveal"/> 
    286                         <Property name="[type]" operator="!=" value="annoy"/> 
    287                         <Property name="[type]" operator="!=" value="laughoff"/> 
    288                         <Property name="[type]" operator="!=" value="followdontcare"/> 
    289                 </PreConditions> 
    290                 <Effects> 
    291                         <Effect probability="1"> 
    292                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],[type])"/> 
    293                         </Effect> 
    294                 </Effects> 
    295         </Action> 
    296         <!-- Specific protest SpeechAct that has the possible effect of getting hurt --> 
    297         <Action name="SpeechAct([target],protest)"> 
    298                 <PreConditions> 
    299                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    300                 </PreConditions> 
    301                 <Effects> 
    302                         <Effect probability="0.4"> 
    303                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    304                         </Effect> 
    305                         <Effect probability="1"> 
    306                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],protest)"/> 
    307                         </Effect> 
    308                 </Effects> 
    309         </Action> 
    310         <!-- Specific laughoff SpeechAct that has the possible effect of getting hurt --> 
    311         <Action name="SpeechAct([target],laughoff)"> 
    312                 <PreConditions> 
    313                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    314                 </PreConditions> 
    315                 <Effects> 
    316                         <Effect probability="0.4"> 
    317                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    318                         </Effect> 
    319                         <Effect probability="1"> 
    320                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],protest)"/> 
    321                         </Effect> 
    322                 </Effects> 
    323         </Action> 
    324         <!-- Specific SpeechAct for followdontcare --> 
    325         <Action name="SpeechAct([target],followdontcare)"> 
    326                 <PreConditions> 
    327                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    328                 </PreConditions> 
    329                 <Effects> 
    33018                        <Effect probability="0.8"> 
    331                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    332                         </Effect> 
    333                         <Effect probability="1"> 
    334                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],followdontcare)"/> 
    335                         </Effect> 
    336                 </Effects> 
    337         </Action> 
    338         <!-- Specific annoy SpeechAct that has the possible effect of annoying the target --> 
    339         <Action name="SpeechAct([target],annoy)"> 
    340                 <PreConditions> 
    341                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    342                 </PreConditions> 
    343                 <Effects> 
    344                         <Effect probability="0.5"> 
    345                                 <Property name="[target](annoyed)" operator="=" value="True"/> 
    346                         </Effect> 
    347                         <Effect probability="1"> 
    348                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],annoy)"/> 
    349                         </Effect> 
    350                 </Effects> 
    351         </Action> 
    352         <!-- Specific cancelinvitation SpeechAct that reflects that if someone tries to sabotage the partyinvitation the cancel 
    353               invitation will be much more likely. It is still possible to use the generic speechAct for this purpose, but the likelihood 
    354                   is quite small --> 
    355         <Action name="SpeechAct([target],partyinvitationwithdraw)" probability="0.8"> 
    356                 <PreConditions> 
    357                         <RecentEvent occurred="True" subject="[saboteur]" action="SpeechAct" target="[AGENT]" parameters="partyinvitationsabotagehost,[target]"/> 
    358                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    359                 </PreConditions> 
    360                 <Effects> 
    361                         <Effect probability="1"> 
    362                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],partyinvitationwithdraw)"/> 
    363                         </Effect> 
    364                 </Effects> 
    365         </Action> 
    366         <!-- Specific deceptionreveal SpeechAct that consists in the agent revealing the deception, the victim will need to cope --> 
    367         <Action name="SpeechAct([target],deceptionreveal)"> 
    368                 <PreConditions> 
    369                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    370                         <RecentEvent occurred="True" subject="[target]" action="Reply" target="[AGENT]" parameters="deception,positiveanswer"/> 
    371                 </PreConditions> 
    372                 <Effects> 
    373                         <Effect probability="1"> 
    374                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],deceptionreveal)"/> 
    375                         </Effect> 
    376                 </Effects> 
    377         </Action> 
    378     --> 
    379      
    380     <!-- Join Group Speech Acts --> 
    381         <Action name="SpeechAct([target],joingroupquestionthreatleave,[group])" probability="0.5"> 
    382                 <PreConditions> 
    383                         <Property name="[AGENT](role)" operator="=" value="Bully"/> 
    384                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    385                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    386                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    387                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],joingroupquestionnegativeanswerobject)"/> 
    388                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    389                 </PreConditions> 
    390                 <Effects> 
    391                         <Effect probability="1"> 
    392                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],joingroupquestionthreatleave,[group])"/> 
    393                         </Effect> 
    394                 </Effects> 
    395         </Action> 
    396         <Action name="SpeechAct([target],joingroupquestionnegativeanswerobjectaccept,[group])" probability="0.5"> 
    397                 <PreConditions> 
    398                         <Property name="[AGENT](role)" operator="=" value="Bully"/> 
    399                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    400                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    401                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    402                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],joingroupquestionnegativeanswerobject)"/> 
    403                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    404                 </PreConditions> 
    405                 <Effects> 
    406                         <Effect probability="1"> 
    407                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],joingroupquestionnegativeanswerobjectaccept,[group])"/> 
    408                         </Effect> 
    409                 </Effects> 
    410         </Action> 
    411         <Action name="SpeechAct([target],joingroupquestionnegativeanswerobjectacceptanswer,[group])" probability="0.5"> 
    412                 <PreConditions> 
    413                         <Property name="[target](role)" operator="=" value="Bully"/> 
    414                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    415                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    416                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    417                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],SpeechAct,[AGENT],joingroupquestionnegativeanswerobjectaccept,[group])"/> 
    418                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    419                 </PreConditions> 
    420                 <Effects> 
    421                         <Effect probability="1"> 
    422                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],joingroupquestionnegativeanswerobjectacceptanswer,[group])"/> 
    423                         </Effect> 
    424                 </Effects> 
    425         </Action> 
    426         <Action name="SpeechAct([target],joingroupquestionthreatleavepositiveanswer,[group])" probability="0.5"> 
    427                 <PreConditions> 
    428                         <Property name="[target](role)" operator="=" value="Bully"/> 
    429                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    430                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    431                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    432                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],SpeechAct,[AGENT],joingroupquestionthreatleave,[group])"/> 
    433                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    434                 </PreConditions> 
    435                 <Effects> 
    436                         <Effect probability="1"> 
    437                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],joingroupquestionthreatleavepositiveanswer,[group])"/> 
    438                         </Effect> 
    439                 </Effects> 
    440         </Action> 
    441         <Action name="SpeechAct([target],joingroupquestionthreatleavenegativeanswer,[group])" probability="0.5"> 
    442                 <PreConditions> 
    443                         <Property name="[target](role)" operator="=" value="Bully"/> 
    444                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    445                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    446                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    447                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],SpeechAct,[AGENT],joingroupquestionthreatleave,[group])"/> 
    448                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    449                 </PreConditions> 
    450                 <Effects> 
    451                         <Effect probability="1"> 
    452                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],joingroupquestionthreatleavenegativeanswer,[group])"/> 
    453                         </Effect> 
    454                 </Effects> 
    455         </Action> 
    456         <Action name="Question([target],joingroupconvince,[group])"> 
    457                 <PreConditions> 
    458                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    459                         <Property name="[target](inGroup,[group])" operator="=" value="True"/> 
    460                         <RecentEvent subject="[target]" target="[AGENT]" action="Reply" parameters="joingroupquestion,negativeanswer,[group]"/> 
    461                 </PreConditions> 
    462                 <Effects> 
    463                         <Effect probability="1"> 
    464                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],joingroupconvince,[group])"/> 
    465                         </Effect> 
    466                 </Effects> 
    467         </Action> 
    468         <Action name="Reply([target],joingroupconvince,positiveanswer,[group])" probability="0.5"> 
    469                 <PreConditions> 
    470                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    471                         <Property name="[target](inGroup,[group])" operator="=" value="Pending"/> 
    472                         <RecentEvent subject="[target]" target="[AGENT]" action="Question" parameters="joingroupconvince,[group]"/> 
    473                 </PreConditions> 
    474                 <Effects> 
    475                         <Effect probability="1"> 
    476                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],joingroupconvince,positiveanswer,[group])"/> 
    477                         </Effect> 
    478                 </Effects> 
    479         </Action> 
    480         <Action name="Reply([target],joingroupconvince,negativeanswer,[group])" probability="0.5"> 
    481                 <PreConditions> 
    482                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    483                         <Property name="[target](inGroup,[group])" operator="=" value="Pending"/> 
    484                         <RecentEvent subject="[target]" target="[AGENT]" action="Question" parameters="joingroupconvince,[group]"/> 
    485                 </PreConditions> 
    486                 <Effects> 
    487                         <Effect probability="1"> 
    488                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],joingroupconvince,negativeanswer,[group])"/> 
    489                         </Effect> 
    490                 </Effects> 
    491         </Action> 
    492         <!-- General SpeechAct that contains an additional topic --> 
    493         <Action name="SpeechAct([target],[type],[topic])"> 
    494                 <PreConditions> 
    495                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    496                         <Property name="[type]" operator="!=" value="joingroupquestionthreatleave"/> 
    497                         <Property name="[type]" operator="!=" value="joingroupquestionthreatleavepositiveanswer"/> 
    498                         <Property name="[type]" operator="!=" value="joingroupquestionthreatleavenegativeanswer"/> 
    499                         <Property name="[type]" operator="!=" value="joingroupquestionnegativeanswerobjectaccept"/> 
    500                         <Property name="[type]" operator="!=" value="joingroupquestionnegativeanswerobjectacceptanswer"/> 
    501                 </PreConditions> 
    502                 <Effects> 
    503                         <Effect probability="1"> 
    504                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],[type],[topic])"/> 
    505                         </Effect> 
    506                 </Effects> 
    507         </Action> 
    508         <!-- General Reinforcement SpeechAct --> 
    509         <Action name="Reinforce([target],[type])"> 
    510                 <PreConditions> 
    511                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    512                 </PreConditions> 
    513                 <Effects> 
    514                 </Effects> 
    515         </Action> 
    516         <!-- General Question SpeechAct --> 
    517         <Action name="Question([target],[question])"> 
    518                 <PreConditions> 
    519                         <Property name="[question]" operator="!=" value="threatfightback"/> 
    520                         <Property name="[question]" operator="!=" value="laughoff"/> 
    521                         <Property name="[question]" operator="!=" value="protest"/> 
    522                         <Property name="[question]" operator="!=" value="askforadvice"/> 
    523                         <Property name="[question]" operator="!=" value="askforadvice2nd"/> 
    524                         <Property name="[question]" operator="!=" value="askagain"/> 
    525                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    526                 </PreConditions> 
    527                 <Effects> 
    528                         <Effect probability="1"> 
    529                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],[question])"/> 
    530                         </Effect> 
    531                 </Effects> 
    532         </Action> 
    533         <!-- Specific protest Question that has the possible effect of getting hurt --> 
    534         <Action name="Question([target],protest)"> 
    535                 <PreConditions> 
    536                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    537                 </PreConditions> 
    538                 <Effects> 
    539                         <Effect probability="0.4"> 
    540                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    541                         </Effect> 
    542                         <Effect probability="1"> 
    543                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],protest)"/> 
    544                         </Effect> 
    545                 </Effects> 
    546         </Action> 
    547         <!-- Specific laughoff Question that has the possible effect of getting hurt --> 
    548         <Action name="Question([target],laughoff)"> 
    549                 <PreConditions> 
    550                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    551                 </PreConditions> 
    552                 <Effects> 
    553                         <Effect probability="0.4"> 
    554                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    555                         </Effect> 
    556                         <Effect probability="1"> 
    557                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],laughoff)"/> 
    558                         </Effect> 
    559                 </Effects> 
    560         </Action> 
    561         <!-- Specific threatfightback question --> 
    562         <Action name="Question([target],threatfightback)"> 
    563                 <PreConditions> 
    564                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    565                 </PreConditions> 
    566                 <Effects> 
    567                         <Effect probability="0.7"> 
    568                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    569                         </Effect> 
    570                         <Effect probability="1"> 
    571                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],threatfightback)"/> 
    572                         </Effect> 
    573                 </Effects> 
    574         </Action> 
    575         <!-- Specific threatfightback question --> 
    576         <Action name="Question([target],helpprotection)" probability="0.7"> 
    577                 <PreConditions> 
    578                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    579                         <RecentEvent occurred="True" subject="[target]" target="[AGENT]" action="Reply" parameters="helpquestion,positiveanswer"/> 
    580                 </PreConditions> 
    581                 <Effects> 
    582                         <Effect probability="1"> 
    583                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],helpprotection)"/> 
    584                         </Effect> 
    585                 </Effects> 
    586         </Action> 
    587         <!-- Specific askforadvice question --> 
    588         <Action name="Question([target],askforadvice)"> 
    589                 <PreConditions> 
    590                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    591                         <RecentEvent occurred="False" subject="[AGENT]" target="[target]" action="Question" parameters="askforadvice"/> 
    592                 </PreConditions> 
    593                 <Effects> 
    594                         <Effect probability="1"> 
    595                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],askforadvice)"/> 
    596                         </Effect> 
    597                 </Effects> 
    598         </Action> 
    599         <!-- Specific askforadvice2nd question --> 
    600         <Action name="Question([target],askforadvice2nd)"> 
    601                 <PreConditions> 
    602                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    603                         <RecentEvent occurred="True" subject="[target]" target="[AGENT]" action="UserSpeech" parameters="suggestcopingstrategy,*"/> 
    604                 </PreConditions> 
    605                 <Effects> 
    606                         <Effect probability="1"> 
    607                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],askforadvice2nd)"/> 
    608                         </Effect> 
    609                 </Effects> 
    610         </Action> 
    611         <!-- Specific askagain question --> 
    612         <Action name="Question([target],askagain)"> 
    613                 <PreConditions> 
    614                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    615                         <RecentEvent occurred="True" subject="[AGENT]" target="[target]" action="Question" parameters="askforadvice"/> 
    616                         <RecentEvent occurred="False" subject="[target]" target="[AGENT]" action="UserSpeech" parameters="suggestcopingstrategy,*"/> 
    617                 </PreConditions> 
    618                 <Effects> 
    619                         <Effect probability="1"> 
    620                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],askagain)"/> 
    621                         </Effect> 
    622                 </Effects> 
    623         </Action> 
    624  
    625         <!-- Group related questions --> 
    626         <Action name="Question([target],[question],[group])"> 
    627                 <PreConditions> 
    628                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    629                         <Property name="[question]" operator="!=" value="joingroupconvince"/> 
    630                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    631                 </PreConditions> 
    632                 <Effects> 
    633                         <Effect probability="1"> 
    634                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Question,[target],[question],[group])"/> 
    635                         </Effect> 
    636                 </Effects> 
    637         </Action> 
    638         <!-- General positive Reply SpeechAct. It's probability of execution by another agent is a little higher because this Reply is incentivated 
    639               by a question --> 
    640         <Action name="Reply([target],[question],positiveanswer)" probability="0.5"> 
    641                 <PreConditions> 
    642                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    643                         <Property name="[question]" operator="!=" value="joingroupquestionnegativeanswerobject"/> 
    644                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],[question])"/> 
    645                 </PreConditions> 
    646                 <Effects> 
    647                         <Effect probability="1"> 
    648                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],[question],positiveanswer)"/> 
    649                         </Effect> 
    650                 </Effects> 
    651         </Action> 
    652         <!-- General negative Reply SpeechAct. It's probability of execution by another agent is a little higher because this Reply is incentivated 
    653               by a question. Additionally, saying no has some likelihood of getting hurt. --> 
    654         <Action name="Reply([target],[question],negativeanswer)" probability="0.5"> 
    655                 <PreConditions> 
    656                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    657                         <Property name="[question]" operator="!=" value="joinparty"/> 
    658                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],[question])"/> 
    659                 </PreConditions> 
    660                 <Effects> 
    661                         <Effect probability="0.4"> 
    662                                 <Property name="[AGENT](atRisk)" operator="=" value="True"/> 
    663                         </Effect> 
    664                         <Effect probability="1"> 
    665                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],[question],positiveanswer)"/> 
    666                         </Effect> 
    667                 </Effects> 
    668         </Action> 
    669         <!-- Specific negative Reply to a joinparty question. This operator reflects that if someone tries to sabotage the partyinvitation 
    670                 the cancel the negative reply will be much more likely. It is still possible to use the generic Reply for this purpose, but the likelihood 
    671                   is quite small --> 
    672         <Action name="Reply([target],joinparty,negativeanswer)" probability="0.8"> 
    673                 <PreConditions> 
    674                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,[AGENT],joinparty)"/> 
    675                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    676                         <RecentEvent occurred="True" subject="[saboteur]" action="SpeechAct" target="[AGENT]" parameters="partyinvitationsabotagehost,[target]"/> 
    677                 </PreConditions> 
    678                 <Effects> 
    679                         <Effect probability="1"> 
    680                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],joinparty,negativeanswer)"/> 
    681                         </Effect> 
    682                 </Effects> 
    683         </Action> 
    684         <!-- Reply SpeechAct used for replying to joingroup questions. It's probability of execution by another agent is a little higher because this Reply is incentivated 
    685               by a question --> 
    686         <Action name="Reply([target],joingroupquestion,[answer],[group])" probability="0.5"> 
    687                 <PreConditions> 
    688                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    689                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    690                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    691                         <RecentEvent subject="[target]" target="[group]" action="Question" parameters="joingroupquestion"/> 
    692                 </PreConditions> 
    693                 <Effects> 
    694                         <Effect probability="1"> 
    695                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],joingroupquestion,[answer],[group])"/> 
    696                         </Effect> 
    697                 </Effects> 
    698         </Action> 
    699         <!-- Reply SpeechAct used for replying to joingroup questions. It's probability of execution by another agent is a little higher because this Reply is incentivated 
    700               by a question --> 
    701         <Action name="Reply([target],joingroupquestionpositiveanswerobject,[answer],[group])" probability="0.5"> 
    702                 <PreConditions> 
    703                         <Property name="[target]" operator="!=" value="[AGENT]"/> 
    704                         <Property name="[group](isGroup)" operator="=" value="True"/> 
    705                         <Property name="[AGENT](inGroup,[group])" operator="=" value="True"/> 
    706                         <RecentEvent subject="[target]" target="[AGENT]" action="Question" parameters="joingroupquestionpositiveanswerobject,[group]"/> 
    707                 </PreConditions> 
    708                 <Effects> 
    709                         <Effect probability="1"> 
    710                                 <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],Reply,[target],joingroupquestionpositiveanswerobject,[answer],[group])"/> 
    711                         </Effect> 
    712                 </Effects> 
    713         </Action> 
    714         <!-- Inference Operators --> 
    715         <!-- InvitedToParty = True inference --> 
    716         <Action name="InferenceOperator1([Inviter],[Invited])"> 
    717                 <PreConditions> 
    718                         <RecentEvent occurred="True" subject="[Invited]" action="Reply" target="[Inviter]" parameters="partyinvitation,positiveanswer"/> 
    719                 </PreConditions> 
    720                 <Effects> 
    721                         <Effect probability="1"> 
    722                                 <Property name="InvitedToParty([Inviter],[Invited])" operator="=" value="True"/> 
    723                         </Effect> 
    724                 </Effects> 
    725         </Action> 
    726         <Action name="InferenceOperator2([Inviter],[Invited])"> 
    727                 <PreConditions> 
    728                         <RecentEvent occurred="True" subject="[Inviter]" action="Reply" target="[Invited]" parameters="joinparty,positiveanswer"/> 
    729                 </PreConditions> 
    730                 <Effects> 
    731                         <Effect probability="1"> 
    732                                 <Property name="InvitedToParty([Inviter],[Invited])" operator="=" value="True"/> 
    733                         </Effect> 
    734                 </Effects> 
    735         </Action> 
    736         <!-- invitedToParty = False inference --> 
    737         <Action name="InferenceOperator3([Inviter],[Invited])"> 
    738                 <PreConditions> 
    739                         <RecentEvent occurred="True" subject="[Inviter]" action="SpeechAct" target="[Invited]" parameters="partyinvitationwithdraw"/> 
    740                 </PreConditions> 
    741                 <Effects> 
    742                         <Effect probability="1"> 
    743                                 <Property name="InvitedToParty([Inviter],[Invited])" operator="=" value="False"/> 
    744                         </Effect> 
    745                 </Effects> 
    746         </Action> 
    747         <Action name="InferenceOperator4([Inviter],[Invited])"> 
    748                 <PreConditions> 
    749                         <RecentEvent occurred="True" subject="[Inviter]" action="Reply" target="[Invited]" parameters="joinparty,negativeanswer"/> 
    750                 </PreConditions> 
    751                 <Effects> 
    752                         <Effect probability="1"> 
    753                                 <Property name="InvitedToParty([Inviter],[Invited])" operator="=" value="False"/> 
    754                         </Effect> 
    755                 </Effects> 
    756         </Action> 
    757         <!-- NeedToCope inferences --> 
    758         <!-- I need to cope if I'm distressed --> 
    759         <Action name="InferenceNeedToCopeDistress()"> 
    760                 <PreConditions> 
    761                         <EmotionCondition emotion="Distress" min-intensity="3"/> 
    762                 </PreConditions> 
    763                 <Effects> 
    764                         <Effect probability="1.0"> 
    765                                 <Property name="[SELF](needToCope)" operator="=" value="True"/> 
    766                         </Effect> 
    767                 </Effects> 
    768         </Action> 
    769         <Action name="InferenceNeedToCopeDistress()"> 
    770                 <PreConditions> 
    771                         <EmotionCondition active="False" emotion="Distress" min-intensity="2"/> 
    772                 </PreConditions> 
    773                 <Effects> 
    774                         <Effect probability="1.0"> 
    775                                 <Property name="[SELF](needToCope)" operator="=" value="False"/> 
    776                         </Effect> 
    777                 </Effects> 
    778         </Action> 
    779         <!-- user conversation inferences --> 
    780         <Action name="InferenceAskIfKeepFailed(user)"> 
    781                 <PreConditions> 
    782                         <!--<RecentEvent occurred="False" subject="User" action="UserSpeech" target="[SELF]" parameters="no" />--> 
    783                         <RecentEvent occurred="True" subject="[SELF]" action="fail" target="AskIfKeepStrategy" /> 
    784                         <Property name="stopInference(askifkeepfailed)" operator="!=" value="True"/> 
    785                 </PreConditions> 
    786                 <Effects> 
    787                         <Effect probability="1.0"> 
    788                                 <Property name="[SELF](copingStrategy)" operator="=" value="False"/> 
    789                                 <Property name="stopInference(askifkeepfailed)" operator="=" value="True"/> 
    790                         </Effect> 
    791                 </Effects> 
    792         </Action> 
    793          
    794         <Action name="InferenceAskIfKeepFailed2([target],[coping])"> 
    795                 <PreConditions> 
    796                         <RecentEvent occurred="False" subject="[SELF]" action="fail" target="AskIfKeepStrategy" /> 
    797                 </PreConditions> 
    798                 <Effects> 
    799                         <Effect probability="1.0"> 
    800                                 <Property name="stopInference(askifkeepfailed)" operator="=" value="False"/> 
    801                         </Effect> 
    802                 </Effects> 
    803         </Action> 
    804          
    805         <Action name="InferenceCopingStrategy([target],[coping])"> 
    806                 <PreConditions> 
    807                         <Property name="SpeechContext()" operator="=" value="#EVENT(User,UserSpeech,[target],suggestcopingstrategy,[coping])"/> 
    808                         <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    809                 </PreConditions> 
    810                 <Effects> 
    811                         <Effect probability="1.0"> 
    812                                 <Property name="[target](canChangeCoping)" operator="=" value="False"/> 
    813                                 <Property name="[target](copingStrategy)" operator="=" value="[coping]"/> 
    814                         </Effect> 
    815                 </Effects> 
    816         </Action> 
    817          
    818         <Action name="InferenceCopingStrategy2([target],[coping])"> 
    819                 <PreConditions> 
    820                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,User,suggestcopingstrategy,[coping])"/> 
    821                 </PreConditions> 
    822                 <Effects> 
    823                         <Effect probability="1.0"> 
    824                                 <Property name="[target](canChangeCoping)" operator="=" value="False"/> 
    825                                 <Property name="[target](copingStrategy)" operator="=" value="[coping]"/> 
    826                         </Effect> 
    827                 </Effects> 
    828         </Action> 
    829          
    830         <!--<Action name="InferenceCopingStrategy3([target],[coping])"> 
    831                 <PreConditions> 
    832                         <Property name="SpeechContext()" operator="=" value="#EVENT(User,UserSpeech,[target],yes,[coping])"/> 
    833                         <Property name="[coping]" operator="!=" value="null" /> 
    834                         <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    835                 </PreConditions> 
    836                 <Effects> 
    837                         <Effect probability="1.0"> 
    838                                 <Property name="[target](canChangeCoping)" operator="=" value="False"/> 
    839                                  
    840                         </Effect> 
    841                 </Effects> 
    842         </Action>--> 
    843          
    844         <Action name="InferenceStrategyConfirmed([target],[coping])"> 
    845                 <PreConditions> 
    846                         <Property name="SpeechContext()" operator="=" value="#EVENT(User,UserSpeech,[target],yes,[coping])"/> 
    847                         <Property name="[coping]" operator="!=" value="null" /> 
    848                 </PreConditions> 
    849                 <Effects> 
    850                         <Effect probability="1.0"> 
    851                                 <Property name="[target](canChangeCoping)" operator="=" value="False"/> 
    852                                 <Property name="[target](copingStrategy)" operator="=" value="[coping]"/> 
    853                                 <Property name="[target](confirmedStrategy)" operator="=" value="True"/> 
    854                         </Effect> 
    855                 </Effects> 
    856         </Action> 
    857          
    858         <Action name="InferenceStrategyDisconfirmed([target])"> 
    859                 <PreConditions> 
    860                         <Property name="SpeechContext()" operator="=" value="#EVENT(User,UserSpeech,[target],no)"/> 
    861                         <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    862                 </PreConditions> 
    863                 <Effects> 
    864                         <Effect probability="1.0"> 
    865                                 <Property name="[target](canChangeCoping)" operator="=" value="False"/> 
    866                                 <Property name="[target](confirmedStrategy)" operator="=" value="False"/> 
    867                                 <Property name="[target](copingStrategy)" operator="=" value="False"/> 
    868                         </Effect> 
    869                 </Effects> 
    870         </Action> 
    871          
    872         <Action name="InferenceStrategyDeclined([target],[coping])"> 
    873                 <PreConditions> 
    874                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,User,declinecopingstrategy,[coping])"/> 
    875                 </PreConditions> 
    876                 <Effects> 
    877                         <Effect probability="1.0"> 
    878                                 <Property name="[target](confirmedStrategy)" operator="=" value="False"/> 
    879                                 <Property name="[target](copingStrategy)" operator="=" value="False"/> 
    880                         </Effect> 
    881                 </Effects> 
    882         </Action> 
    883          
    884         <Action name="InferenceCannotKeep([target])"> 
    885                 <PreConditions> 
    886                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,User,cannotkeepcopingstrategy,[cs])"/> 
    887                 </PreConditions> 
    888                 <Effects> 
    889                         <Effect probability="1.0"> 
    890                                 <Property name="[target](confirmedStrategy)" operator="=" value="False"/> 
    891                                 <Property name="[target](copingStrategy)" operator="=" value="False"/> 
    892                         </Effect> 
    893                 </Effects> 
    894         </Action> 
    895          
    896         <Action name="InferenceCanChangeCoping1([target])"> 
    897                 <PreConditions> 
    898                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,User,confirmcopingstrategy,[cs])"/> 
    899                 </PreConditions> 
    900                 <Effects> 
    901                         <Effect probability="1.0"> 
    902                                 <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    903                         </Effect> 
    904                 </Effects> 
    905         </Action> 
    906          
    907         <Action name="InferenceCanChangeCoping2([target])"> 
    908                 <PreConditions> 
    909                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],CopingSpeech,User,askifkeepcopingstrategy,[cs])"/> 
    910                 </PreConditions> 
    911                 <Effects> 
    912                         <Effect probability="1.0"> 
    913                                 <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    914                         </Effect> 
    915                 </Effects> 
    916         </Action> 
    917          
    918         <Action name="InferenceCanChangeCoping3([target])"> 
    919                 <PreConditions> 
    920                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,User,askforadvice)"/> 
    921                 </PreConditions> 
    922                 <Effects> 
    923                         <Effect probability="1.0"> 
    924                                 <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    925                         </Effect> 
    926                 </Effects> 
    927         </Action> 
    928          
    929         <Action name="InferenceCanChangeCoping4([target])"> 
    930                 <PreConditions> 
    931                         <Property name="SpeechContext()" operator="=" value="#EVENT([target],Question,User,askforadvice2nd)"/> 
    932                 </PreConditions> 
    933                 <Effects> 
    934                         <Effect probability="1.0"> 
    935                                 <Property name="[target](canChangeCoping)" operator="=" value="True"/> 
    936                         </Effect> 
    937                 </Effects> 
    938         </Action> 
    939  
    940         <Action name="InferenceAskReason([target])"> 
    941                 <PreConditions> 
    942                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="AskCopingStrategy"/> 
    943                         <Property name="SpeechContext()" operator="=" value="#EVENT([SELF],Question,[target],askforreason)"/> 
    944                 </PreConditions> 
    945                 <Effects> 
    946                         <Effect probability="1.0"> 
    947                                 <Property name="[SELF](askedwhy,[target])" operator="=" value="True"/> 
    948                         </Effect> 
    949                 </Effects> 
    950         </Action> 
    951         <Action name="InferenceAskWhyKeep([target])"> 
    952                 <PreConditions> 
    953                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="AskCopingStrategy" /> 
    954                         <Property name="SpeechContext()" operator="=" value="#EVENT([SELF],Question,[target],askwhykeep)"/> 
    955                 </PreConditions> 
    956                 <Effects> 
    957                         <Effect probability="1.0"> 
    958                                 <Property name="[SELF](askedwhy,[target])" operator="=" value="True"/> 
    959                         </Effect> 
    960                 </Effects> 
    961         </Action> 
    962  
    963         <!-- grande martelada .. --> 
    964         <Action name="InferenceMarteladaNotAskWhy(user)"> 
    965                 <PreConditions> 
    966                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="WaitForReason" /> 
    967                 </PreConditions> 
    968                 <Effects> 
    969                         <Effect probability="1.0"> 
    970                                 <Property name="[SELF](askedwhy,User)" operator="=" value="False"/> 
    971                         </Effect> 
    972                 </Effects> 
    973         </Action> 
    974         <!-- fim da martelada --> 
    975  
    976  
    977          
    978         <!-- the following operators deal with the counting of coping strategies selected --> 
    979         <Action name="InferenceIgnoreSelected()"> 
    980                 <PreConditions> 
    981                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="Ignore"/> 
    982                         <Property name="stopInference(ignore)" operator="!=" value="True"/> 
    983                 </PreConditions> 
    984                 <Effects> 
    985                         <Effect probability="1.0"> 
    986                                 <Property name="stopInference(ignore)" operator="=" value="True"/> 
    987                                 <Property name="Increment(ignore)" operator="=" value="True"/> 
    988                         </Effect> 
    989                 </Effects> 
    990         </Action> 
    991         <Action name="InferenceIgnoreUnSelected()"> 
    992                 <PreConditions> 
    993                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="Ignore"/> 
    994                 </PreConditions> 
    995                 <Effects> 
    996                         <Effect probability="1.0"> 
    997                                 <Property name="stopInference(ignore)" operator="=" value="False"/> 
    998                         </Effect> 
    999                 </Effects> 
    1000         </Action> 
    1001         <Action name="InferenceStandUpSelected()"> 
    1002                 <PreConditions> 
    1003                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="StandUp"/> 
    1004                         <Property name="stopInference(standup)" operator="!=" value="True"/> 
    1005                 </PreConditions> 
    1006                 <Effects> 
    1007                         <Effect probability="1.0"> 
    1008                                 <Property name="stopInference(standup)" operator="=" value="True"/> 
    1009                                 <Property name="Increment(standup)" operator="=" value="True"/> 
    1010                         </Effect> 
    1011                 </Effects> 
    1012         </Action> 
    1013         <Action name="InferenceStandUpUnSelected()"> 
    1014                 <PreConditions> 
    1015                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="StandUp"/> 
    1016                 </PreConditions> 
    1017                 <Effects> 
    1018                         <Effect probability="1.0"> 
    1019                                 <Property name="stopInference(standup)" operator="=" value="False"/> 
    1020                         </Effect> 
    1021                 </Effects> 
    1022         </Action> 
    1023         <Action name="InferenceMakeNewFriendSelected()"> 
    1024                 <PreConditions> 
    1025                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="MakeNewFriend"/> 
    1026                         <Property name="stopInference(makenewfriend)" operator="!=" value="True"/> 
    1027                 </PreConditions> 
    1028                 <Effects> 
    1029                         <Effect probability="1.0"> 
    1030                                 <Property name="stopInference(makenewfriend)" operator="=" value="True"/> 
    1031                                 <Property name="Increment(makenewfriend)" operator="=" value="True"/> 
    1032                         </Effect> 
    1033                 </Effects> 
    1034         </Action> 
    1035         <Action name="InferenceMakeNewFriendUnSelected()"> 
    1036                 <PreConditions> 
    1037                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="MakeNewFriend"/> 
    1038                 </PreConditions> 
    1039                 <Effects> 
    1040                         <Effect probability="1.0"> 
    1041                                 <Property name="stopInference(makenewfriend)" operator="=" value="False"/> 
    1042                         </Effect> 
    1043                 </Effects> 
    1044         </Action> 
    1045         <Action name="InferenceTellFriendSelected()"> 
    1046                 <PreConditions> 
    1047                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="TellFriend"/> 
    1048                         <Property name="stopInference(tellfriend)" operator="!=" value="True"/> 
    1049                 </PreConditions> 
    1050                 <Effects> 
    1051                         <Effect probability="1.0"> 
    1052                                 <Property name="stopInference(tellfriend)" operator="=" value="True"/> 
    1053                                 <Property name="Increment(tellfriend)" operator="=" value="True"/> 
    1054                         </Effect> 
    1055                 </Effects> 
    1056         </Action> 
    1057         <Action name="InferenceTellFriendUnSelected()"> 
    1058                 <PreConditions> 
    1059                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="TellFriend"/> 
    1060                 </PreConditions> 
    1061                 <Effects> 
    1062                         <Effect probability="1.0"> 
    1063                                 <Property name="stopInference(tellfriend)" operator="=" value="False"/> 
    1064                         </Effect> 
    1065                 </Effects> 
    1066         </Action> 
    1067         <Action name="InferenceWalkAwaySelected()"> 
    1068                 <PreConditions> 
    1069                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="WalkAway"/> 
    1070                         <Property name="stopInference(walkaway)" operator="!=" value="True"/> 
    1071                 </PreConditions> 
    1072                 <Effects> 
    1073                         <Effect probability="1.0"> 
    1074                                 <Property name="stopInference(walkaway)" operator="=" value="True"/> 
    1075                                 <Property name="Increment(walkaway)" operator="=" value="True"/> 
    1076                         </Effect> 
    1077                 </Effects> 
    1078         </Action> 
    1079         <Action name="InferenceWalkAwayUnSelected()"> 
    1080                 <PreConditions> 
    1081                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="WalkAway"/> 
    1082                 </PreConditions> 
    1083                 <Effects> 
    1084                         <Effect probability="1.0"> 
    1085                                 <Property name="stopInference(walkAway)" operator="=" value="False"/> 
    1086                         </Effect> 
    1087                 </Effects> 
    1088         </Action> 
    1089         <Action name="InferenceRunAwaySelected()"> 
    1090                 <PreConditions> 
    1091                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="RunAway"/> 
    1092                         <Property name="stopInference(runaway)" operator="!=" value="True"/> 
    1093                 </PreConditions> 
    1094                 <Effects> 
    1095                         <Effect probability="1.0"> 
    1096                                 <Property name="stopInference(runaway)" operator="=" value="True"/> 
    1097                                 <Property name="Increment(runaway)" operator="=" value="True"/> 
    1098                         </Effect> 
    1099                 </Effects> 
    1100         </Action> 
    1101         <Action name="InferenceRunAwayUnSelected()"> 
    1102                 <PreConditions> 
    1103                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="RunAway"/> 
    1104                 </PreConditions> 
    1105                 <Effects> 
    1106                         <Effect probability="1.0"> 
    1107                                 <Property name="stopInference(runaway)" operator="=" value="False"/> 
    1108                         </Effect> 
    1109                 </Effects> 
    1110         </Action> 
    1111         <Action name="InferenceLaughOffSelected()"> 
    1112                 <PreConditions> 
    1113                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="LaughOff"/> 
    1114                         <Property name="stopInference(laughoff)" operator="!=" value="True"/> 
    1115                 </PreConditions> 
    1116                 <Effects> 
    1117                         <Effect probability="1.0"> 
    1118                                 <Property name="stopInference(laughoff)" operator="=" value="True"/> 
    1119                                 <Property name="Increment(laughoff)" operator="=" value="True"/> 
    1120                         </Effect> 
    1121                 </Effects> 
    1122         </Action> 
    1123         <Action name="InferenceLaughOffUnSelected()"> 
    1124                 <PreConditions> 
    1125                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="LaughOff"/> 
    1126                 </PreConditions> 
    1127                 <Effects> 
    1128                         <Effect probability="1.0"> 
    1129                                 <Property name="stopInference(laughoff)" operator="=" value="False"/> 
    1130                         </Effect> 
    1131                 </Effects> 
    1132         </Action> 
    1133         <Action name="InferenceFightBackSelected()"> 
    1134                 <PreConditions> 
    1135                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="FightBack"/> 
    1136                         <Property name="stopInference(fightback)" operator="!=" value="True"/> 
    1137                 </PreConditions> 
    1138                 <Effects> 
    1139                         <Effect probability="1.0"> 
    1140                                 <Property name="stopInference(fightback)" operator="=" value="True"/> 
    1141                                 <Property name="Increment(fightback)" operator="=" value="True"/> 
    1142                         </Effect> 
    1143                 </Effects> 
    1144         </Action> 
    1145         <Action name="InferenceFightBackUnSelected()"> 
    1146                 <PreConditions> 
    1147                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="FightBack"/> 
    1148                 </PreConditions> 
    1149                 <Effects> 
    1150                         <Effect probability="1.0"> 
    1151                                 <Property name="stopInference(fightback)" operator="=" value="False"/> 
    1152                         </Effect> 
    1153                 </Effects> 
    1154         </Action> 
    1155         <Action name="InferenceInsultSelected()"> 
    1156                 <PreConditions> 
    1157                         <RecentEvent occurred="True" subject="[SELF]" action="activate" target="Insult"/> 
    1158                         <Property name="stopInference(insult)" operator="!=" value="True"/> 
    1159                 </PreConditions> 
    1160                 <Effects> 
    1161                         <Effect probability="1.0"> 
    1162                                 <Property name="stopInference(insult)" operator="=" value="True"/> 
    1163                                 <Property name="Increment(insult)" operator="=" value="True"/> 
    1164                         </Effect> 
    1165                 </Effects> 
    1166         </Action> 
    1167         <Action name="InferenceInsultUnSelected()"> 
    1168                 <PreConditions> 
    1169                         <RecentEvent occurred="False" subject="[SELF]" action="activate" target="Insult"/> 
    1170                 </PreConditions> 
    1171                 <Effects> 
    1172                         <Effect probability="1.0"> 
    1173                                 <Property name="stopInference(insult)" operator="=" value="False"/> 
    1174                         </Effect> 
    1175                 </Effects> 
    1176         </Action> 
    1177         <Action name="InferenceIncrementCS1([coping])"> 
    1178                 <PreConditions> 
    1179                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1180                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="0"/> 
    1181                 </PreConditions> 
    1182                 <Effects> 
    1183                         <Effect probability="1.0"> 
    1184                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1185                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="1"/> 
    1186                         </Effect> 
    1187                 </Effects> 
    1188         </Action> 
    1189         <Action name="InferenceIncrementCS2([coping])"> 
    1190                 <PreConditions> 
    1191                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1192                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="1"/> 
    1193                 </PreConditions> 
    1194                 <Effects> 
    1195                         <Effect probability="1.0"> 
    1196                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1197                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="2"/> 
    1198                         </Effect> 
    1199                 </Effects> 
    1200         </Action> 
    1201         <Action name="InferenceIncrementCS3([coping])"> 
    1202                 <PreConditions> 
    1203                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1204                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="2"/> 
    1205                 </PreConditions> 
    1206                 <Effects> 
    1207                         <Effect probability="1.0"> 
    1208                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1209                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="3"/> 
    1210                         </Effect> 
    1211                 </Effects> 
    1212         </Action> 
    1213         <Action name="InferenceIncrementCS4([coping])"> 
    1214                 <PreConditions> 
    1215                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1216                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="3"/> 
    1217                 </PreConditions> 
    1218                 <Effects> 
    1219                         <Effect probability="1.0"> 
    1220                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1221                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="4"/> 
    1222                         </Effect> 
    1223                 </Effects> 
    1224         </Action> 
    1225         <Action name="InferenceIncrementCS5([coping])"> 
    1226                 <PreConditions> 
    1227                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1228                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="4"/> 
    1229                 </PreConditions> 
    1230                 <Effects> 
    1231                         <Effect probability="1.0"> 
    1232                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1233                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="5"/> 
    1234                         </Effect> 
    1235                 </Effects> 
    1236         </Action> 
    1237         <Action name="InferenceIncrementCS6([coping])"> 
    1238                 <PreConditions> 
    1239                         <Property name="Increment([coping])" operator="=" value="True"/> 
    1240                         <Property name="[SELF](numberOfTries,[coping])" operator="=" value="5"/> 
    1241                 </PreConditions> 
    1242                 <Effects> 
    1243                         <Effect probability="1.0"> 
    1244                                 <Property name="Increment([coping])" operator="=" value="False"/> 
    1245                                 <Property name="[SELF](numberOfTries,[coping])" operator="=" value="6"/> 
    1246                         </Effect> 
    1247                 </Effects> 
    1248         </Action> 
    1249         <!-- Annoyed inferences --> 
    1250         <Action name="InferenceAnnoyed1([target])"> 
    1251                 <PreConditions> 
    1252                         <RecentEvent occurred="True" subject="[target]" action="SpeechAct" target="[any]" parameters="protest"/> 
    1253                 </PreConditions> 
    1254                 <Effects> 
    1255                         <Effect probability="1.0"> 
    125619                                <Property name="[target](annoyed)" operator="=" value="True"/> 
    125720                        </Effect> 
    125821                </Effects> 
    125922        </Action> 
    1260         <Action name="InferenceAnnoyed2([target])"> 
    1261                 <PreConditions> 
    1262                         <RecentEvent occurred="True" subject="[target]" action="cry"/> 
    1263                 </PreConditions> 
    1264                 <Effects> 
    1265                         <Effect probability="1.0"> 
    1266                                 <Property name="[target](annoyed)" operator="=" value="True"/> 
    1267                         </Effect> 
    1268                 </Effects> 
    1269         </Action> 
    1270         <Action name="InferenceAnnoyed3([target])"> 
    1271                 <PreConditions> 
    1272                         <RecentEvent occurred="True" subject="[target]" action="SpeechAct" target="[any]" parameters="insult"/> 
    1273                 </PreConditions> 
    1274                 <Effects> 
    1275                         <Effect probability="1.0"> 
    1276                                 <Property name="[target](annoyed)" operator="=" value="True"/> 
    1277                         </Effect> 
    1278                 </Effects> 
    1279         </Action> 
    1280         <Action name="InferenceAnnoyed4([target])"> 
    1281                 <PreConditions> 
    1282                         <RecentEvent occurred="True" subject="[target]" action="Question" target="[any]" parameters="threatfightback"/> 
    1283                 </PreConditions> 
    1284                 <Effects> 
    1285                         <Effect probability="1.0"> 
    1286                                 <Property name="[target](annoyed)" operator="=" value="True"/> 
    1287                         </Effect> 
    1288                 </Effects> 
    1289         </Action> 
    1290         <!-- Inference operators for the "join group" situation that involves 3 agents, i.e. trying to join a groupOf2 --> 
    1291         <Action name="InferenceGroup1([JoinAgent],[GroupAgent1],[GroupAgent2],[group])"> 
    1292                 <PreConditions> 
    1293                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1294                         <Property name="[GroupAgent1](role)" operator="=" value="Bully"/> 
    1295                         <Property name="[GroupAgent2](role)" operator="=" value="Defender"/> 
    1296                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1297                         <Property name="[GroupAgent1](inGroup,[group])" operator="=" value="True"/> 
    1298                         <Property name="[GroupAgent2](inGroup,[group])" operator="=" value="True"/> 
    1299                         <RecentEvent occurred="True" subject="[GroupAgent1]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1300                         <RecentEvent occurred="True" subject="[GroupAgent2]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1301                 </PreConditions> 
    1302                 <Effects> 
    1303                         <Effect probability="1"> 
    1304                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="True"/> 
    1305                         </Effect> 
    1306                 </Effects> 
    1307         </Action> 
    1308         <Action name="InferenceGroup2([JoinAgent],[GroupAgent1],[group])"> 
    1309                 <PreConditions> 
    1310                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1311                         <Property name="[GroupAgent1](role)" operator="=" value="Bully"/> 
    1312                         <Property name="[GroupAgent2](role)" operator="=" value="Defender"/> 
    1313                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1314                         <Property name="[GroupAgent1](inGroup,[group])" operator="=" value="True"/> 
    1315                         <Property name="[GroupAgent2](inGroup,[group])" operator="=" value="True"/> 
    1316                         <RecentEvent occurred="True" subject="[GroupAgent1]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1317                         <RecentEvent occurred="True" subject="[GroupAgent2]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1318                 </PreConditions> 
    1319                 <Effects> 
    1320                         <Effect probability="1"> 
    1321                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="False"/> 
    1322                         </Effect> 
    1323                         <Effect probability="1"> 
    1324                                 <Property name="[JoinAgent](needToCope)" operator="=" value="True"/> 
    1325                         </Effect> 
    1326                 </Effects> 
    1327         </Action> 
    1328         <!-- For the next inference operators we will use the variables AgentPos and AgentNeg. All inferences 
    1329                   refer to situations where, one agent tries to overpower the other in the question, of whether the  
    1330                   victim should be allowed to join. AgentPos is the agent who (initially) wants the victim to join (usually Defender), 
    1331                   AgentNeg, the one who does not want that. 
    1332                   The overpowered property reads like this: 
    1333  
    1334                   Helper(GroupAprovalOverpowered,Bully) = True means the helper could overpower the bully, John is in the group. 
    1335                         This is used when the bully started objecting. 
    1336                   Helper(GroupAprovalOverpowered,Bully) = False means the helper could NOT overpower the bully, John is NOT in the group. 
    1337                         This is used when the bully started objecting. 
    1338                   Bully(GroupAprovalOverpowered,Helper) = True means the bully could overpower the helper, John is NOT in the group. 
    1339                         This is used when the helper started objecting. 
    1340                   Bully(GroupAprovalOverpowered,Helper) = True means the bully could NOT overpower the helper, John is in the group. 
    1341                         This is used when the helper started objecting. 
    1342  --> 
    1343         <Action name="InferenceGroup3([JoinAgent],[AgentNeg],[group])"> 
    1344                 <PreConditions> 
    1345                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1346                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1347                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1348                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1349                         <Property name="[AgentNeg](inGroup,[group])" operator="=" value="True"/> 
    1350                         <Property name="[AgentPos](inGroup,[group])" operator="=" value="True"/> 
    1351                         <RecentEvent occurred="True" subject="[AgentNeg]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1352                         <RecentEvent occurred="True" subject="[AgentPos]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1353                         <Property name="[AgentPos](groupApprovalOverPowered,[AgentNeg],[group])" operator="=" value="False"/> 
    1354                 </PreConditions> 
    1355                 <Effects> 
    1356                         <Effect probability="1"> 
    1357                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="False"/> 
    1358                         </Effect> 
    1359                         <Effect probability="1"> 
    1360                                 <Property name="[JoinAgent](needToCope)" operator="=" value="True"/> 
    1361                         </Effect> 
    1362                 </Effects> 
    1363         </Action> 
    1364         <Action name="InferenceGroup4([JoinAgent],[AgentNeg],[group])"> 
    1365                 <PreConditions> 
    1366                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1367                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1368                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1369                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1370                         <Property name="[AgentNeg](inGroup,[group])" operator="=" value="True"/> 
    1371                         <Property name="[AgentPos](inGroup,[group])" operator="=" value="True"/> 
    1372                         <RecentEvent occurred="True" subject="[AgentNeg]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1373                         <RecentEvent occurred="True" subject="[AgentPos]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1374                         <Property name="[AgentPos](groupApprovalOverPowered,[AgentNeg],[group])" operator="=" value="True"/> 
    1375                 </PreConditions> 
    1376                 <Effects> 
    1377                         <Effect probability="1"> 
    1378                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="True"/> 
    1379                         </Effect> 
    1380                 </Effects> 
    1381         </Action> 
    1382         <Action name="InferenceGroup5([JoinAgent],[AgentNeg],[group])"> 
    1383                 <PreConditions> 
    1384                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1385                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1386                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1387                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1388                         <Property name="[AgentNeg](inGroup,[group])" operator="=" value="True"/> 
    1389                         <Property name="[AgentPos](inGroup,[group])" operator="=" value="True"/> 
    1390                         <RecentEvent occurred="True" subject="[AgentNeg]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1391                         <RecentEvent occurred="True" subject="[AgentPos]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1392                         <Property name="[AgentNeg](groupApprovalOverPowered,[AgentPos],[group])" operator="=" value="True"/> 
    1393                 </PreConditions> 
    1394                 <Effects> 
    1395                         <Effect probability="1"> 
    1396                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="False"/> 
    1397                         </Effect> 
    1398                         <Effect probability="1"> 
    1399                                 <Property name="[JoinAgent](needToCope)" operator="=" value="True"/> 
    1400                         </Effect> 
    1401                 </Effects> 
    1402         </Action> 
    1403         <Action name="InferenceGroup6([JoinAgent],[AgentNeg],[group])"> 
    1404                 <PreConditions> 
    1405                         <Property name="[group](isGroupOf2)" operator="=" value="True"/> 
    1406                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1407                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1408                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1409                         <Property name="[AgentNeg](inGroup,[group])" operator="=" value="True"/> 
    1410                         <Property name="[AgentPos](inGroup,[group])" operator="=" value="True"/> 
    1411                         <RecentEvent occurred="True" subject="[AgentNeg]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,negativeanswer,[group]"/> 
    1412                         <RecentEvent occurred="True" subject="[AgentPos]" action="Reply" target="[JoinAgent]" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1413                         <Property name="[AgentNeg](groupApprovalOverPowered,[AgentPos],[group])" operator="=" value="False"/> 
    1414                 </PreConditions> 
    1415                 <Effects> 
    1416                         <Effect probability="1"> 
    1417                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="True"/> 
    1418                         </Effect> 
    1419                 </Effects> 
    1420         </Action> 
    1421         <Action name="InferenceGroup11([AgentNeg],[AgentPos],[group])"> 
    1422                 <PreConditions> 
    1423                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1424                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1425                         <RecentEvent subject="[AgentPos]" target="[AgentNeg]" action="SpeechAct" parameters="joingroupquestionnegativeanswerobjectacceptanswer,[group]"/> 
    1426                 </PreConditions> 
    1427                 <Effects> 
    1428                         <Effect probability="1"> 
    1429                                 <Property name="[AgentNeg](groupApprovalOverPowered,[AgentPos],[group])" operator="=" value="False"/> 
    1430                         </Effect> 
    1431                 </Effects> 
    1432         </Action> 
    1433         <Action name="InferenceGroup12([AgentNeg],[AgentPos],[group])"> 
    1434                 <PreConditions> 
    1435                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1436                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1437                         <RecentEvent subject="[AgentPos]" target="[AgentNeg]" action="SpeechAct" parameters="joingroupquestionthreatleavepositiveanswer,[group]"/> 
    1438                 </PreConditions> 
    1439                 <Effects> 
    1440                         <Effect probability="1"> 
    1441                                 <Property name="[AgentNeg](groupApprovalOverPowered,[AgentPos],[group])" operator="=" value="True"/> 
    1442                         </Effect> 
    1443                 </Effects> 
    1444         </Action> 
    1445         <Action name="InferenceGroup13([AgentNeg],[AgentPos],[group])"> 
    1446                 <PreConditions> 
    1447                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1448                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1449                         <RecentEvent subject="[AgentPos]" target="[AgentNeg]" action="SpeechAct" parameters="joingroupquestionthreatleavenegativeanswer,[group]"/> 
    1450                 </PreConditions> 
    1451                 <Effects> 
    1452                         <Effect probability="1"> 
    1453                                 <Property name="[AgentNeg](groupApprovalOverPowered,[AgentPos],[group])" operator="=" value="False"/> 
    1454                         </Effect> 
    1455                 </Effects> 
    1456         </Action> 
    1457         <Action name="InferenceGroup16([AgentPos],[AgentNeg],[group])"> 
    1458                 <PreConditions> 
    1459                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1460                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1461                         <RecentEvent subject="[AgentPos]" target="[AgentNeg]" action="Reply" parameters="joingroupquestionpositiveanswerobject,negativeanswer,[group]"/> 
    1462                 </PreConditions> 
    1463                 <Effects> 
    1464                         <Effect probability="1"> 
    1465                                 <Property name="[AgentPos](groupApprovalOverPowered,[AgentNeg],[group])" operator="=" value="True"/> 
    1466                         </Effect> 
    1467                 </Effects> 
    1468         </Action> 
    1469         <Action name="InferenceGroup17([AgentPos],[AgentNeg],[group])"> 
    1470                 <PreConditions> 
    1471                         <Property name="[AgentNeg](role)" operator="=" value="Bully"/> 
    1472                         <Property name="[AgentPos](role)" operator="=" value="Defender"/> 
    1473                         <RecentEvent subject="[AgentPos]" target="[AgentNeg]" action="Reply" parameters="joingroupquestionpositiveanswerobject,positiveanswer,[group]"/> 
    1474                 </PreConditions> 
    1475                 <Effects> 
    1476                         <Effect probability="1"> 
    1477                                 <Property name="[AgentPos](groupApprovalOverPowered,[AgentNeg],[group])" operator="=" value="False"/> 
    1478                         </Effect> 
    1479                 </Effects> 
    1480         </Action> 
    1481         <!-- Inference operators for the "join group" situation that involves 2 agents,  i.e. trying to join a groupOf1 --> 
    1482         <Action name="InferenceGroup8([JoinAgent],[GroupAgent],[group])"> 
    1483                 <PreConditions> 
    1484                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    1485                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1486                         <Property name="[GroupAgent](inGroup,[group])" operator="=" value="True"/> 
    1487                         <RecentEvent subject="[GroupAgent]" target="[JoinAgent]" action="Reply" parameters="joingroupquestion,positiveanswer,[group]"/> 
    1488                 </PreConditions> 
    1489                 <Effects> 
    1490                         <Effect probability="1"> 
    1491                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="True"/> 
    1492                         </Effect> 
    1493                 </Effects> 
    1494         </Action> 
    1495         <Action name="InferenceGroup9([JoinAgent],[GroupAgent],[group])"> 
    1496                 <PreConditions> 
    1497                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    1498                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1499                         <Property name="[GroupAgent](inGroup,[group])" operator="=" value="True"/> 
    1500                         <RecentEvent subject="[GroupAgent]" target="[JoinAgent]" action="Reply" parameters="joingroupconvince,positiveanswer,[group]"/> 
    1501                 </PreConditions> 
    1502                 <Effects> 
    1503                         <Effect probability="1"> 
    1504                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="True"/> 
    1505                         </Effect> 
    1506                 </Effects> 
    1507         </Action> 
    1508         <Action name="InferenceGroup10([JoinAgent],[GroupAgent],[group])"> 
    1509                 <PreConditions> 
    1510                         <Property name="[group](isGroupOf1)" operator="=" value="True"/> 
    1511                         <Property name="[JoinAgent](inGroup,[group])" operator="=" value="Pending"/> 
    1512                         <Property name="[GroupAgent](inGroup,[group])" operator="=" value="True"/> 
    1513                         <RecentEvent subject="[GroupAgent]" target="[JoinAgent]" action="Reply" parameters="joingroupconvince,negativeanswer,[group]"/> 
    1514                 </PreConditions> 
    1515                 <Effects> 
    1516                         <Effect probability="1"> 
    1517                                 <Property name="[JoinAgent](inGroup,[group])" operator="=" value="False"/> 
    1518                         </Effect> 
    1519                         <Effect probability="1"> 
    1520                                 <Property name="[JoinAgent](needToCope)" operator="=" value="True"/> 
    1521                         </Effect> 
    1522                 </Effects> 
    1523         </Action> 
    1524         <!-- Friendship inferences --> 
    1525         <Action name="InferenceFriends([ag1],[ag2])"> 
    1526                 <PreConditions> 
    1527                         <RecentEvent occurred="True" subject="[ag1]" target="[ag2]" action="Reply" parameters="makefriend,positiveanswer"/> 
    1528                 </PreConditions> 
    1529                 <Effects> 
    1530                         <Effect probability="1"> 
    1531                                 <Property name="[ag1](friend,[ag2])" operator="=" value="True"/> 
    1532                                 <Property name="[ag2](friend,[ag1])" operator="=" value="True"/> 
    1533                         </Effect> 
    1534                 </Effects> 
    1535         </Action> 
    1536         <!-- Helper inferences --> 
    1537         <Action name="InferenceHelper1([ag1],[ag2])"> 
    1538                 <PreConditions> 
    1539                         <RecentEvent occurred="True" subject="[ag1]" target="[ag2]" action="Reply" parameters="askforhelp,positiveanswer"/> 
    1540                 </PreConditions> 
    1541                 <Effects> 
    1542                         <Effect probability="1"> 
    1543                                 <Property name="[ag1](helper,[ag2])" operator="=" value="True"/> 
    1544                         </Effect> 
    1545                 </Effects> 
    1546         </Action> 
    1547         <Action name="InferenceHelper([ag1],[ag2])"> 
    1548                 <PreConditions> 
    1549                         <RecentEvent occurred="True" subject="[ag1]" target="[ag2]" action="Reply" parameters="helpprotection,positiveanswer"/> 
    1550                 </PreConditions> 
    1551                 <Effects> 
    1552                         <Effect probability="1"> 
    1553                                 <Property name="[ag2](helper,[ag1])" operator="=" value="True"/> 
    1554                         </Effect> 
    1555                 </Effects> 
    1556         </Action> 
    155723</DomainActions> 
Note: See TracChangeset for help on using the changeset viewer.