Operation Null Mind 0.4.1
A 2D roguelike top down shooter game made with SDL2
 
Loading...
Searching...
No Matches
enemy_tactician.h File Reference

This file contains the data for the Tactician enemy type. More...

#include <enemy.h>
#include <gun.h>

Go to the source code of this file.

Classes

struct  TacticianConfig
 

Enumerations

enum  TacticianState { TACTICIAN_STATE_WALKING = 0 , TACTICIAN_STATE_SHOOTING = 1 << 0 , TACTICIAN_STATE_COMMANDING = 1 << 1 }
 

Functions

void Tactician_Start (EnemyData *data)
 [Start] Initializes a Tactician enemy instance
 
void Tactician_Update (EnemyData *data)
 [PostUpdate] Updates the Tactician enemy's state and behavior
 
void Tactician_Render (EnemyData *data)
 
void Tactician_UpdateParticles ()
 Updates all particle emitters related to the Tactician enemy.
 
void Tactician_RenderParticles ()
 

Variables

ParticleEmitter * TacticianBulletEmitter
 
ParticleEmitter * TacticianBulletFragmentsEmitter
 
ParticleEmitter * TacticianMuzzleFlashEmitter
 
ParticleEmitter * TacticianCasingEmitter
 
SDL_Texture * TacticianBuffCircleTexture
 
TacticianConfig TacticianConfigData
 
EnemyData TacticianData
 [Data] Tactician enemy default data
 

Detailed Description

This file contains the data for the Tactician enemy type.

Enumeration Type Documentation

◆ TacticianState

Enumerator
TACTICIAN_STATE_WALKING 
TACTICIAN_STATE_SHOOTING 
TACTICIAN_STATE_COMMANDING 

Function Documentation

◆ Tactician_Render()

void Tactician_Render ( EnemyData *  data)

◆ Tactician_RenderParticles()

void Tactician_RenderParticles ( )

◆ Tactician_Start()

void Tactician_Start ( EnemyData *  data)

[Start] Initializes a Tactician enemy instance

Sets up the Tactician enemy's resources including animations, particle effects, and timers.

Parameters
dataPointer to the enemy data structure to initialize

◆ Tactician_Update()

void Tactician_Update ( EnemyData *  data)

[PostUpdate] Updates the Tactician enemy's state and behavior

Handles the state machine for the Tactician enemy, which can buff nearby enemies and fire bursts of shots at the player. The Tactician is designed to maintain distance from the player while supporting other enemies.

Parameters
dataPointer to the enemy data structure

◆ Tactician_UpdateParticles()

void Tactician_UpdateParticles ( )

Updates all particle emitters related to the Tactician enemy.

Processes particle physics, collision detection, and damage calculation for bullets fired by the Tactician enemy. Also handles special visual effects for the buff ability and bullet impacts.

Variable Documentation

◆ TacticianBuffCircleTexture

SDL_Texture* TacticianBuffCircleTexture
extern

◆ TacticianBulletEmitter

ParticleEmitter* TacticianBulletEmitter
extern

◆ TacticianBulletFragmentsEmitter

ParticleEmitter* TacticianBulletFragmentsEmitter
extern

◆ TacticianCasingEmitter

ParticleEmitter* TacticianCasingEmitter
extern

◆ TacticianConfigData

TacticianConfig TacticianConfigData
extern

◆ TacticianData

EnemyData TacticianData
extern

[Data] Tactician enemy default data

This structure defines the default properties, stats and settings for the Tactician enemy type.

◆ TacticianMuzzleFlashEmitter

ParticleEmitter* TacticianMuzzleFlashEmitter
extern