Revision 903 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
//// Name: KlingonMercM9/behaviorpackages/disruptor-core.st// Purpose: AI for combatative klingon mercs with disruptors////// Includes////// Defines//$define RANGE_WORK 256$define RANGE_PATROL 1024 //Chrissed -> Orginal was 256$define STAGE_TURN 8$define TIME_PLAYER_ATTACK .75//---------------------------------------------------------state START//---------------------------------------------------------{entrycommands{setvartime ( "playerattacked" )}states{CORE_MAIN : default}}//---------------------------------------------------------state CORE_MAIN//---------------------------------------------------------{states{PATROL : VALID_PATROL_NODE_IN_RANGE ( $RANGE_PATROL$ ) //Added by ChrissPLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIED//SNIPER_WAIT : SHOULD_DO_ACTION ( "snipeenemy" )//FOLLOW_THE_LEADER : SHOULD_DO_ACTION ( "follow" ) FOLLOW_TARGET_OUT_OF_RANGE//HANDLE_CALL_VOLUME : SHOULD_DO_ACTION ( "handlecallvolume" ) PLAYER_IN_CALL_VOLUME//GET_OUT_OF_THE_WAY : SHOULD_DO_ACTION ( "getoutoftheway" ) IN_THE_WAY//OUTCOMENTED by Chriss -> PATROL : SHOULD_DO_ACTION ( "patrol" ) VALID_PATROL_NODE_IN_RANGE ( $RANGE_PATROL$ )WORK : SHOULD_DO_ACTION ( "work" ) VALID_WORK_NODE_IN_RANGE ( $RANGE_WORK$ )WANDER : SHOULD_DO_ACTION ( "wander" )HOLD : default}}//---------------------------------------------------------state PATROL//---------------------------------------------------------{//OUTCOMENTED by Chriss// entrycommands// {// incontext "patrol"// }//Added by Chrissentrycommands{unreservecurrenthelpernode}//EofBehavior Patrol ( "walk" )states{PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAINWORK : SHOULD_DO_ACTION ( "work" ) VALID_WORK_NODE_IN_RANGE ( $RANGE_WORK$ )CORE_MAIN : BEHAVIOR_SUCCESS}}//---------------------------------------------------------state PATROL_FAILED//---------------------------------------------------------{legs{idle : default}time ( .75 , 1.0 ) //Changed by Chriss -> time ( 1.0 )states{//OUTCOMENTED by Chriss -> CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIEDPATROL : TIME_DONE}}//---------------------------------------------------------state WORK//---------------------------------------------------------{entrycommands{incontext "work"}Behavior Work ( "walk" )states{PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIEDCORE_MAIN : BEHAVIOR_SUCCESSWORK_FAILED : BEHAVIOR_FAILED}}//---------------------------------------------------------state WORK_FAILED//---------------------------------------------------------{legs{idle : default}time ( 1.0 )states{PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIEDWORK : TIME_DONE}}//---------------------------------------------------------state WANDER//---------------------------------------------------------{entrycommands{incontext "wander"}Behavior MoveRandomDirection ( "walk" , 128 , 96 )states{//SNIPER_WAIT : SHOULD_DO_ACTION ( "snipeenemy" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIED//FOLLOW_THE_LEADER : SHOULD_DO_ACTION ( "follow" ) FOLLOW_TARGET_OUT_OF_RANGE//HANDLE_CALL_VOLUME : SHOULD_DO_ACTION ( "handlecallvolume" ) PLAYER_IN_CALL_VOLUME//GET_OUT_OF_THE_WAY : SHOULD_DO_ACTION ( "getoutoftheway" ) IN_THE_WAYWANDER_WAIT : BEHAVIOR_SUCCESSWANDER_FAILED : BEHAVIOR_FAILED}}//---------------------------------------------------------state WANDER_WAIT//---------------------------------------------------------{Behavior HoldPositiontime ( 7.5 , 10 )states{//SNIPER_WAIT : SHOULD_DO_ACTION ( "snipeenemy" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIED//FOLLOW_THE_LEADER : SHOULD_DO_ACTION ( "follow" ) FOLLOW_TARGET_OUT_OF_RANGE//HANDLE_CALL_VOLUME : SHOULD_DO_ACTION ( "handlecallvolume" ) PLAYER_IN_CALL_VOLUME//GET_OUT_OF_THE_WAY : SHOULD_DO_ACTION ( "getoutoftheway" ) IN_THE_WAYCORE_MAIN : TIME_DONE}}//---------------------------------------------------------state WANDER_FAILED//---------------------------------------------------------{Behavior HoldPositiontime ( 1.0 )states{PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )CORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIED//GET_OUT_OF_THE_WAY : SHOULD_DO_ACTION ( "getoutoftheway" ) IN_THE_WAYWANDER : TIME_DONE}}////---------------------------------------------------------//state SNIPER_WAIT////---------------------------------------------------------//{// Behavior HoldPosition//}//////---------------------------------------------------------//state FOLLOW_THE_LEADER////---------------------------------------------------------//{// entrycommands// {// incontext "noncombatfollow"// }//// Behavior GroupFollow ( 256 , 320 )//// states// {// PLAYER_ATTACKED : ATTACKED_BY_PLAYER ACTORTYPE ( "teammate" )// HANDLE_CALL_VOLUME : SHOULD_DO_ACTION ( "handlecallvolume" ) PLAYER_IN_CALL_VOLUME// CORE_PAIN : SHOW_PAIN// CORE_COWER : OTHER_DIED//// GET_OUT_OF_THE_WAY : SHOULD_DO_ACTION ( "getoutoftheway" ) IN_THE_WAY// CORE_MAIN : BEHAVIOR_SUCCESS// //WANDER_WAIT : BEHAVIOR_SUCCESS// HOLD : BEHAVIOR_FAILED// }//}//state PLAYER_ATTACKED{states{UPGRADE_STAGE : CHECK_VAR_TIME_DIFFERENCE ( "playerattacked" , $TIME_PLAYER_ATTACK$ )CORE_PAIN : default}}state UPGRADE_STAGE{entrycommands{incontext "playerattacked"gotonextstagesetvartime ( "playerattacked" )}states{TURN_AGAINST_PLAYER : STAGE ( $STAGE_TURN$ )CORE_PAIN : default}}state TURN_AGAINST_PLAYER{entrycommands{incontext "turnonplayer"attackplayergroupattack 1failmission 8}}//---------------------------------------------------------state HOLD//---------------------------------------------------------{legs{idle : default}time ( 1.0 )states{//GET_OUT_OF_THE_WAY : IN_THE_WAYCORE_PAIN : SHOW_PAIN//CORE_COWER : OTHER_DIEDCORE_MAIN : TIME_DONE}}////---------------------------------------------------------//state HANDLE_CALL_VOLUME////---------------------------------------------------------//{// entrycommands// {// incontext "incallvolume"// }//// Behavior GotoLiftPosition//// states// {// CORE_MAIN : !PLAYER_IN_CALL_VOLUME// CORE_MAIN : BEHAVIOR_SUCCESS// CALL_VOLUME_FAILED : BEHAVIOR_FAILED// }//}//////---------------------------------------------------------//state CALL_VOLUME_FAILED////---------------------------------------------------------//{// legs// {// duck : default// }//}//////---------------------------------------------------------//state GET_OUT_OF_THE_WAY////---------------------------------------------------------//{// Behavior MoveFromConeOfFire ( "walk" )// time ( 1.5 )//// states// {// CORE_MAIN : BEHAVIOR_SUCCESS// HOLD : BEHAVIOR_FAILED// CORE_MAIN : TIME_DONE// }//}////state CORE_COWER//{// entrycommands// {// cleartorsoanim// }// legs// {// cower : default// }//// time ( 5 , 7.0 )//// states// {// CORE_MAIN : TIME_DONE// }//}//---------------------------------------------------------state CORE_PAIN//---------------------------------------------------------{states{CORE_BIG_PAIN : MOD ( "explosion" )CORE_BIG_PAIN : MOD ( "imod_primary" )CORE_BIG_PAIN : MOD ( "plasmashotgun" )CORE_BIG_PAIN : MOD ( "small_explosion" )CORE_SMALL_PAIN : default}}//---------------------------------------------------------state CORE_BIG_PAIN//---------------------------------------------------------{legs{pain_knockback : default}states{CORE_MAIN : ANIM_DONE}}//---------------------------------------------------------state CORE_SMALL_PAIN//---------------------------------------------------------{entrycommands{saveofflasthitbone}legs{pain_stomach : BONE_DAMAGED ( "Bip01 Pelvis" )pain_stomach : BONE_DAMAGED ( "Bip01 Spine" )pain_chest : BONE_DAMAGED ( "Bip01 Spine2" )pain_head : BONE_DAMAGED ( "Bip01 Head" )pain_shoulder_L : BONE_DAMAGED ( "Bip01 L Clavicle" )pain_shoulder_L : BONE_DAMAGED ( "Bip01 L Upperarm" )pain_shoulder_L : BONE_DAMAGED ( "Bip01 L Forearm" )pain_shoulder_L : BONE_DAMAGED ( "Bip01 L Hand" )pain_shoulder_L : BONE_DAMAGED ( "Bip01 L Finger2" )pain_shoulder_R : BONE_DAMAGED ( "Bip01 R Clavicle" )pain_shoulder_R : BONE_DAMAGED ( "Bip01 R Upperarm" )pain_shoulder_R : BONE_DAMAGED ( "Bip01 R Forearm" )pain_shoulder_R : BONE_DAMAGED ( "Bip01 R Hand" )pain_shoulder_R : BONE_DAMAGED ( "Bip01 R Finger2" )pain_leg_L : BONE_DAMAGED ( "Bip01 L Thigh" )pain_L_lowerleg : BONE_DAMAGED ( "Bip01 L Calf" )pain_L_lowerleg : BONE_DAMAGED ( "Bip01 L Foot" )pain_L_lowerleg : BONE_DAMAGED ( "Bip01 L Toe0" )pain_leg_R : BONE_DAMAGED ( "Bip01 R Thigh" )pain_R_lowerleg : BONE_DAMAGED ( "Bip01 R Calf" )pain_R_lowerleg : BONE_DAMAGED ( "Bip01 R Foot" )pain_R_lowerleg : BONE_DAMAGED ( "Bip01 R Toe0" )pain_chest : default}states{CORE_MAIN : ANIM_DONE}}