//----------------------------------------------------------------------------- // Purpose: Setup our schedules and tasks, etc. //----------------------------------------------------------------------------- void CNPC_Bug_Builder::InitCustomSchedules( void ) { INIT_CUSTOM_AI( CNPC_Bug_Builder ); // Schedules ADD_CUSTOM_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_FLEE_ENEMY ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_RETURN_TO_BUGHOLE ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_RETURN_TO_BUGHOLE_AND_REMOVE ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_DAWDLE ); // Conditions ADD_CUSTOM_CONDITION( CNPC_Bug_Builder, COND_BBUG_RETURN_TO_BUGHOLE ); // Tasks ADD_CUSTOM_TASK( CNPC_Bug_Builder, TASK_BBUG_GET_PATH_TO_FLEE ); ADD_CUSTOM_TASK( CNPC_Bug_Builder, TASK_BBUG_GET_PATH_TO_BUGHOLE ); ADD_CUSTOM_TASK( CNPC_Bug_Builder, TASK_BBUG_HOLE_REMOVE ); ADD_CUSTOM_TASK( CNPC_Bug_Builder, TASK_BBUG_GET_PATH_TO_DAWDLE ); ADD_CUSTOM_TASK( CNPC_Bug_Builder, TASK_BBUG_FACE_DAWDLE ); // Activities //ADD_CUSTOM_ACTIVITY( CNPC_Bug_Builder, ACT_BUG_WARRIOR_DISTRACT ); AI_LOAD_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_FLEE_ENEMY ); AI_LOAD_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_RETURN_TO_BUGHOLE ); AI_LOAD_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_RETURN_TO_BUGHOLE_AND_REMOVE ); AI_LOAD_SCHEDULE( CNPC_Bug_Builder, SCHED_BBUG_DAWDLE ); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CNPC_Ichthyosaur::InitCustomSchedules( void ) { INIT_CUSTOM_AI( CNPC_Ichthyosaur ); //Interaction REGISTER_INTERACTION( g_interactionAntlionAttacked ); //Schedules ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_CHASE_ENEMY ); ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_PATROL_RUN ); ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_PATROL_WALK ); ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_DROWN_VICTIM ); ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_MELEE_ATTACK1 ); ADD_CUSTOM_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_THRASH ); //Tasks ADD_CUSTOM_TASK( CNPC_Ichthyosaur, TASK_ICH_GET_PATH_TO_RANDOM_NODE ); ADD_CUSTOM_TASK( CNPC_Ichthyosaur, TASK_ICH_GET_PATH_TO_DROWN_NODE ); ADD_CUSTOM_TASK( CNPC_Ichthyosaur, TASK_ICH_THRASH_PATH ); //Conditions ADD_CUSTOM_CONDITION( CNPC_CombineGuard, COND_ANTLIONGRUB_HEARD_SQUEAL ); //Activities ADD_CUSTOM_ACTIVITY( CNPC_Ichthyosaur, ACT_ICH_THRASH ); ADD_CUSTOM_ACTIVITY( CNPC_Ichthyosaur, ACT_ICH_BITE_HIT ); ADD_CUSTOM_ACTIVITY( CNPC_Ichthyosaur, ACT_ICH_BITE_MISS ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_CHASE_ENEMY ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_PATROL_RUN ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_PATROL_WALK ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_DROWN_VICTIM ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_MELEE_ATTACK1 ); AI_LOAD_SCHEDULE( CNPC_Ichthyosaur, SCHED_ICH_THRASH ); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CNPC_Roller::InitCustomSchedules(void) { INIT_CUSTOM_AI( CNPC_Roller ); ADD_CUSTOM_SCHEDULE( CNPC_Roller, SCHED_ROLLER_PATROL ); ADD_CUSTOM_SCHEDULE( CNPC_Roller, SCHED_ROLLER_WAIT_FOR_PHYSICS ); ADD_CUSTOM_SCHEDULE( CNPC_Roller, SCHED_ROLLER_UNSTICK ); ADD_CUSTOM_CONDITION( CNPC_Roller, COND_ROLLER_PHYSICS ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_WAIT_FOR_PHYSICS ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_FIND_PATROL_NODE ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_UNSTICK ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_ON ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_OFF ); ADD_CUSTOM_TASK( CNPC_Roller, TASK_ROLLER_ISSUE_CODE ); AI_LOAD_SCHEDULE( CNPC_Roller, SCHED_ROLLER_PATROL ); AI_LOAD_SCHEDULE( CNPC_Roller, SCHED_ROLLER_WAIT_FOR_PHYSICS ); AI_LOAD_SCHEDULE( CNPC_Roller, SCHED_ROLLER_UNSTICK ); #if 0 ADD_CUSTOM_ACTIVITY(CNPC_Roller, ACT_MYCUSTOMACTIVITY); #endif }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CNPC_EnemyFinder::InitCustomSchedules( void ) { INIT_CUSTOM_AI( CNPC_EnemyFinder ); ADD_CUSTOM_SCHEDULE( CNPC_EnemyFinder, SCHED_EFINDER_SEARCH ); AI_LOAD_SCHEDULE( CNPC_EnemyFinder, SCHED_EFINDER_SEARCH ); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CNPC_AntlionGrub::InitCustomSchedules( void ) { INIT_CUSTOM_AI( CNPC_AntlionGrub ); //Schedules ADD_CUSTOM_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_SQUEAL ); ADD_CUSTOM_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_SQUIRM ); ADD_CUSTOM_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_STAND ); ADD_CUSTOM_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_GIVE_HEALTH ); ADD_CUSTOM_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGUARD_RETREAT ); //Tasks ADD_CUSTOM_TASK( CNPC_AntlionGrub, TASK_ANTLIONGRUB_SQUIRM ); ADD_CUSTOM_TASK( CNPC_AntlionGrub, TASK_ANTLIONGRUB_GIVE_HEALTH ); ADD_CUSTOM_TASK( CNPC_AntlionGrub, TASK_ANTLIONGRUB_MOVE_TO_TARGET ); ADD_CUSTOM_TASK( CNPC_AntlionGrub, TASK_ANTLIONGRUB_FIND_RETREAT_GOAL ); //Conditions ADD_CUSTOM_CONDITION( CNPC_AntlionGrub, COND_ANTLIONGRUB_HEARD_SQUEAL ); ADD_CUSTOM_CONDITION( CNPC_AntlionGrub, COND_ANTLIONGRUB_BEING_SQUASHED ); ADD_CUSTOM_CONDITION( CNPC_AntlionGrub, COND_ANTLIONGRUB_IN_HEAL_RANGE ); //Activities ADD_CUSTOM_ACTIVITY( CNPC_AntlionGrub, ACT_ANTLIONGRUB_SQUIRM ); ADD_CUSTOM_ACTIVITY( CNPC_AntlionGrub, ACT_ANTLIONGRUB_HEAL ); AI_LOAD_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_SQUEAL ); AI_LOAD_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_SQUIRM ); AI_LOAD_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_STAND ); AI_LOAD_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGRUB_GIVE_HEALTH ); AI_LOAD_SCHEDULE( CNPC_AntlionGrub, SCHED_ANTLIONGUARD_RETREAT ); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CNPC_Blob::InitCustomSchedules(void) { INIT_CUSTOM_AI(CNPC_Blob); ADD_CUSTOM_TASK(CNPC_Blob, TASK_MYCUSTOMTASK); ADD_CUSTOM_SCHEDULE(CNPC_Blob, SCHED_MYCUSTOMSCHEDULE); ADD_CUSTOM_CONDITION(CNPC_Blob, COND_MYCUSTOMCONDITION); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CNewNPC::InitCustomSchedules(void) { INIT_CUSTOM_AI(CNewNPC); ADD_CUSTOM_TASK(CNewNPC, TASK_MYCUSTOMTASK); ADD_CUSTOM_SCHEDULE(CNewNPC, SCHED_MYCUSTOMSCHEDULE); ADD_CUSTOM_ACTIVITY(CNewNPC, ACT_MYCUSTOMACTIVITY); ADD_CUSTOM_CONDITION(CNewNPC, COND_MYCUSTOMCONDITION); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CBliinkWiggler::InitCustomSchedules(void) { INIT_CUSTOM_AI(CBliinkWiggler); ADD_CUSTOM_TASK(CBliinkWiggler, TASK_MYCUSTOMTASK); ADD_CUSTOM_SCHEDULE(CBliinkWiggler, SCHED_MYCUSTOMSCHEDULE); //ADD_CUSTOM_ACTIVITY(CBliinkSimpleNPC, ACT_MYCUSTOMACTIVITY); ADD_CUSTOM_CONDITION(CBliinkWiggler, COND_MYCUSTOMCONDITION); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CNPC_Houndeye::InitCustomSchedules(void) { INIT_CUSTOM_AI(CNPC_Houndeye); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_CLOSE_EYE); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_OPEN_EYE); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_THREAT_DISPLAY); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_FALL_ASLEEP); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_WAKE_UP); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_HOP_BACK); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_GET_PATH_TO_CIRCLE); ADD_CUSTOM_TASK(CNPC_Houndeye, TASK_HOUND_REVERSE_STRAFE_DIR); ADD_CUSTOM_CONDITION(CNPC_Houndeye, COND_HOUND_GROUP_ATTACK); ADD_CUSTOM_CONDITION(CNPC_Houndeye, COND_HOUND_GROUP_RETREAT); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_HOP_RETREAT); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_RANGE_ATTACK1); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_ATTACK_STRAFE); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_ATTACK_STRAFE_REVERSE); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_ATTACK); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_RETREAT); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_CHASE_ENEMY); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_COVER_WAIT); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_RALLEY); ADD_CUSTOM_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_PATROL_WALK_LOOP); ADD_CUSTOM_ACTIVITY(CNPC_Houndeye, ACT_HOUND_GUARD); g_interactionHoundeyeGroupAttack = CBaseCombatCharacter::GetInteractionID(); g_interactionHoundeyeGroupRetreat = CBaseCombatCharacter::GetInteractionID(); g_interactionHoundeyeGroupRalley = CBaseCombatCharacter::GetInteractionID(); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_HOP_RETREAT); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_RANGE_ATTACK1); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_ATTACK_STRAFE); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_ATTACK_STRAFE_REVERSE); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_ATTACK); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_RETREAT); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_CHASE_ENEMY); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_COVER_WAIT); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_GROUP_RALLEY); AI_LOAD_SCHEDULE(CNPC_Houndeye, SCHED_HOUND_PATROL_WALK_LOOP); }
//----------------------------------------------------------------------------- // Purpose: Initialize the custom schedules // Input : // Output : //----------------------------------------------------------------------------- void CNPC_RollerDozer::InitCustomSchedules(void) { INIT_CUSTOM_AI( CNPC_RollerDozer ); ADD_CUSTOM_SCHEDULE( CNPC_RollerDozer, SCHED_ROLLERDOZER_CLEAR_DEBRIS ); ADD_CUSTOM_SCHEDULE( CNPC_RollerDozer, SCHED_ROLLERDOZER_IDLE_STAND ); ADD_CUSTOM_CONDITION( CNPC_RollerDozer, COND_ROLLERDOZER_FOUND_DEBRIS ); ADD_CUSTOM_TASK( CNPC_RollerDozer, TASK_ROLLERDOZER_FIND_CLEANUP_NODE ); ADD_CUSTOM_TASK( CNPC_RollerDozer, TASK_ROLLERDOZER_GET_PATH_TO_CLEANUP_POINT ); ADD_CUSTOM_TASK( CNPC_RollerDozer, TASK_ROLLERDOZER_CLEAR_DEBRIS ); AI_LOAD_SCHEDULE( CNPC_RollerDozer, SCHED_ROLLERDOZER_CLEAR_DEBRIS ); AI_LOAD_SCHEDULE( CNPC_RollerDozer, SCHED_ROLLERDOZER_IDLE_STAND ); #if 0 ADD_CUSTOM_ACTIVITY(CNPC_Roller, ACT_MYCUSTOMACTIVITY); #endif }
//----------------------------------------------------------------------------- // Purpose: Setup our schedules and tasks, etc. //----------------------------------------------------------------------------- void CNPC_Bug_Warrior::InitCustomSchedules( void ) { INIT_CUSTOM_AI( CNPC_Bug_Warrior ); // Register our interactions ADD_CUSTOM_INTERACTION( g_interactionBugSquadAttacking ); // Schedules ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_CHASE_ENEMY ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_FLEE_ENEMY ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_CHASE_ENEMY_FAILED ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_PATROL ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_RETURN_TO_BUGHOLE ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_RETURN_TO_BUGHOLE_AND_REMOVE ); ADD_CUSTOM_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_ASSIST_FELLOW_BUG ); // Conditions ADD_CUSTOM_CONDITION( CNPC_Bug_Warrior, COND_WBUG_STOP_FLEEING ); ADD_CUSTOM_CONDITION( CNPC_Bug_Warrior, COND_WBUG_RETURN_TO_BUGHOLE ); ADD_CUSTOM_CONDITION( CNPC_Bug_Warrior, COND_WBUG_ASSIST_FELLOW_BUG ); // Tasks ADD_CUSTOM_TASK( CNPC_Bug_Warrior, TASK_WBUG_GET_PATH_TO_FLEE ); ADD_CUSTOM_TASK( CNPC_Bug_Warrior, TASK_WBUG_GET_PATH_TO_PATROL ); ADD_CUSTOM_TASK( CNPC_Bug_Warrior, TASK_WBUG_GET_PATH_TO_BUGHOLE ); ADD_CUSTOM_TASK( CNPC_Bug_Warrior, TASK_WBUG_HOLE_REMOVE ); ADD_CUSTOM_TASK( CNPC_Bug_Warrior, TASK_WBUG_GET_PATH_TO_ASSIST ); // Activities //ADD_CUSTOM_ACTIVITY( CNPC_Bug_Warrior, ACT_BUG_WARRIOR_DISTRACT ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_CHASE_ENEMY ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_FLEE_ENEMY ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_CHASE_ENEMY_FAILED ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_PATROL ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_RETURN_TO_BUGHOLE ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_RETURN_TO_BUGHOLE_AND_REMOVE ); AI_LOAD_SCHEDULE( CNPC_Bug_Warrior, SCHED_WBUG_ASSIST_FELLOW_BUG ); }