Bobot.h (2)

/*------------------------------------------------------------------------------------
  ___     _                     _   
 | __|_ _| |_ ___ _ _ _ _  __ _| |___
 | _|\ \ /  _/ -_) '_| ' \/ _` | (_-<
 |___/_\_\\__\___|_| |_||_\__,_|_/__/

 ------------------------------------------------------------------------------------*/
extern node_t       nodes[MAX_NODES];                        // Node Table
extern int          number_of_nodes;                        // Number Of Nodes
extern float        AlliesMinCost[MAX_NODES][MAX_NODES];    //distances minimales pour les alliés
extern float        AxisMinCost[MAX_NODES][MAX_NODES];        //distances minimales pour les axis
extern qboolean        PrintInfo;                                // Pour afficher les messages info du gameplay    qtrue=oui qfalse=non
extern qboolean        PrintError;                                // Pour afficher les messages d'erreur qtrue=oui qfalse=non
extern qboolean        PrintDebug;                                // Pour afficher les message de debuggage qtrue=oui qfalse=non
extern char            MessageNode[MAX_NODES][200];            // Liste des messages liés aux nodes
extern Sbobot        bobots[MAX_CLIENTS];                    // les bots
extern int            NodePris[MAX_NODES];                    // Nodes utilisés, MG nest par un bot par exemple.
// FONCTIONS
void BOBOT_COMMON_FollowMe(gentity_t *bobot,usercmd_t *ucmd);
int BOBOT_SPAWN_SpawnBot (char *team, char *name, int skill, int classe, weapon_t weapon, weapon_t weapon2);
void BOBOT_SPAWN_initBot(Sbobot*);
void BOBOT_LOOK_initBot(Sbobot* bobotAI);
void BOBOT_AI_inhibitAction(action_t*);
char *BOBOT_AI_actionToString(int);
int BOBOT_AI_actionToTimeOfValidity(int);
void BOBOT_AI_proposeAction(Sbobot*, objective_t, int, gentity_t*, vec3_t, int);
void BOBOT_DEBUG_printAction(action_t *);
int BOBOT_distancePercentage(float distance,float max);
void BOBOT_COMMON_determineClosestEnemy(gentity_t *bobot, gentity_t **closest, int *distance);
int FUSION_SPAWN_FindFreeClient(void);
void Bobot_Printf( const char *fmt, ... ); //joc G_Printf
void BOBOT_AI_Think (gentity_t *bobot);
//void FUSION_AI_Determine_SR_Goal(gentity_t *bobot);
void FUSION_AI_BotPain(gentity_t *self, gentity_t *attacker, int damage, vec3_t point);
qboolean FUSION_AI_LocateEnemy(gentity_t *bobot);
void BOBOT_AI_Detect_Clients(gentity_t *bobot);
qboolean BOBOT_AI_inFOV(vec3_t viewangles, float fov, vec3_t angles);
void FUSION_AI_DropMed(gentity_t *bobot);
void BOBOT_SpecialMove(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_AI_Action(gentity_t *bobot,Sbobot *bobotAI,usercmd_t *ucmd);
void BOBOT_AI_Choix(gentity_t *bobot,Sbobot *bobotAI,usercmd_t *ucmd);
void BOBOT_AI_Determine_LR_Goal(gentity_t *bobot);
void BOBOT_Look(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_Move(gentity_t *bobot, usercmd_t *ucmd);

void BOBOT_BasicMove(gentity_t *bobot, usercmd_t *ucmd);
qboolean BOBOT_heavy_weapon(int weapon);
int BOBOT_ENGINEER_DynamitePlantedByTeam(gentity_t *bobot,int nodeDyna);
int BOBOT_ENGINEER_FindMine(gentity_t *bobot,int nodeMine);
void BOBOT_ENGINEER_ArmMine(gentity_t *bobot, usercmd_t *ucmd, qboolean barme);
int VerifierMunitions(gentity_t *bobot, weapon_t weapon);
void BOBOT_ENGINEER_PlantMine(gentity_t *bobot, usercmd_t *ucmd);

void BOBOT_AI_Detect_Item(gentity_t *bobot);
qboolean BOBOT_AI_CanHit(gentity_t *bobot, gentity_t *other);
void BOBOT_AI_initBot(Sbobot *bobotAI);
void BOBOT_AI_endOfCurrentAction(Sbobot * bobotAI);
qboolean BOBOT_AI_proposeActionToArms(Sbobot *bobotAI, int action, gentity_t *ent);
int BOBOT_AI_actionToTimeOfValidityWhenHidden(int action);
qboolean BOBOT_AI_currentTargetVisible(gentity_t * bobot, Sbobot *bobotAI);
void BOBOT_DynamitePlanted (gentity_t *ent,qboolean planted,team_t team);
void BOBOT_COMMON_Attack (gentity_t *bobot, usercmd_t *ucmd);
int BOBOT_COMMON_determineClosestTeammate(Sbobot *bobotAI);
void BOBOT_COMMON_determineClosestNodeFromCabinetsArray(gentity_t *bobot, Sbobot *bobotAI, known_cabinet_t *nodesArray, int sizeOfArray, int *closest, int *dist);
void BOBOT_COMMON_determineClosestItem(det_item_t *items, gentity_t **closest, int *dist);
protection_action_t BOBOT_COMMON_findProtectionFromEnemy(gentity_t *bobot, Sbobot *bobotAI);
void BOBOT_COMMON_TakePack(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_COMMON_defendPosition(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_COMMON_chaseEnemy(gentity_t *bobot,usercmd_t *ucmd);
void BOBOT_COMMON_backupTeammate(gentity_t *bobot,usercmd_t *ucmd);
void BOBOT_COMMON_protectFromEnemy(gentity_t *bobot, usercmd_t *ucmd);
qboolean visiblePosition(gentity_t *ent, vec3_t position);
void FUSION_MOVEMENT_Attack (gentity_t *bobot, usercmd_t *ucmd);
qboolean FUSION_MOVEMENT_CanMove(gentity_t *bobot, int direction);
qboolean FUSION_MOVEMENT_SpecialMove(gentity_t *bobot, usercmd_t *ucmd);
void FUSION_MOVEMENT_Move(gentity_t *bobot, usercmd_t *ucmd);
void FUSION_MOVEMENT_ChangeBotAngle (gentity_t *ent);
void BOBOT_MOVEMENT_ChangeBotAngle(vec3_t nouv_angle, gentity_t *bobot) ;
void BOBOT_MOVEMENT_View_Think(gentity_t *bobot);
void BOBOT_FUZZY_evaluateMediumRangeObjectives(gentity_t*, Sbobot*);
void BOBOT_FUZZY_proposeAction(Sbobot*, objective_t, int, vec3_t, int);
qboolean FUSION_MAPPING_FollowPath(gentity_t *bobot);
void FUSION_MAPPING_ShowNodes();
void FUSION_MAPPING_AddNode( int clientNum ); // fretn
//void FUSION_MAPPING_WriteNodes(); // fretn
void BOBOT_MAPPING_ChangeNodeRadius(int deltaradius); //joc_nodes_radius
void FUSION_MAPPING_TouchNode (gentity_t *ent, gentity_t *other, trace_t *trace);
void FUSION_MAPPING_CreateVisibleNode(int i);
void FUSION_MAPPING_CalculateVisibleNodes();
void BOBOT_MAPPING_CalculateVisibleNodes();
void FUSION_MAPPING_HideNodes();
qboolean BOBOT_MAPPING_CreateNodeConnection( int from, int to ,int type);
qboolean BOBOT_MAPPING_DestroyNodeConnection( int from, int to );
void BOBOT_MAPPING_setNextNodeNoise(Sbobot *bobotAI) ;
void FUSION_NAVIGATION_SetGoal(gentity_t *bobot, int goal_node);
int FUSION_NAVIGATION_FindClosestReachableNode(gentity_t *bobot, int range, int type);
int BOBOT_NAVIGATION_FindClosestNode(gentity_t *bobot, int r, int type);
void BOBOT_NODES_LoadNodes(void);
void BOBOT_NODES_LierNode();
void BOBOT_NODES_ResolveAllPaths();
void BOBOT_NODES_Controller_Think(gentity_t *ent);
void BOBOT_NODES_LaunchController();
void BOBOT_NODES_LierNode();
void BOBOT_NODES_UpdateType( int i);
void BOBOT_COMMON_TakeNormalWeapon(int team, usercmd_t *ucmd);
void BOBOT_COMMON_TakePistol(int team, usercmd_t *ucmd);
void BOBOT_COMMON_TakeBestWeapon(gentity_t *bobot,int team, usercmd_t *ucmd);
void BOBOT_ENGINEER_FindDynamite(gentity_t *bobot);
void BOBOT_ENGINEER_Choix_ActionGoal(gentity_t *bobot);
void BOBOT_CLASS_Choix_Action(gentity_t *bobot);
void BOBOT_ENGINEER_Construct(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_ENGINEER_PlantDynamite(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_ENGINEER_ArmDynamite(gentity_t *bobot, usercmd_t *ucmd, qboolean barme);
void BOBOT_CLASS_ChercheRevive(gentity_t *bobot);
void BOBOT_MEDIC_Revive(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_MEDIC_GiveHealth(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_FIELDOPS_GiveAmmo(gentity_t *bobot, usercmd_t *ucmd);
void BOBOT_CLASS_ChercheSoigne(gentity_t *bobot);
void BOBOT_CLASS_ChercheDonneMuni(gentity_t *bobot);
void BOBOT_CLASS_ChercheMedkit(gentity_t *bobot);
//int BOBOT_CLASS_ChercheItem(gentity_t *bobot,int itemType); //char *itemname);
float BOBOT_CLASS_HealthScale( gentity_t *bobot );
float BOBOT_CLASS_AmmoScale( gclient_t *client );
qboolean BOBOT_CLASS_EstClasseProche(int classe,Sbobot *bobotAI);
qboolean BOBOT_CLASS_WeaponCharged( gclient_t *client, int weapon );
void BobotNodeScriptParse( void );
int BobotNodeScriptCmd(char *cmd);
void BOBOT_CONTROL_AddBot(int clientNum);
void PM_CheckForReload(int weapon);
gentity_t *findradius (gentity_t *from, vec3_t org, float rad);
void G_ProjectSource (vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result);
extern void G_Say(gentity_t *ent, gentity_t *target, int mode, const char *chatText);
void G_Voice( gentity_t *ent, gentity_t *target, int mode, const char *id, qboolean voiceonly );
extern void limbo ( gentity_t * ent , qboolean makeCorpse ) ;
extern qboolean G_WeaponCharged( playerState_t* ps, team_t team, int weapon, int* skill );

#endif

 

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site