1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#ifndef E323_TASKATTACK_H
#define E323_TASKATTACK_H
#include "../ATask.h"
struct AttackTask: public ATask {
AttackTask(AIClasses *_ai): ATask(_ai) { t = TASK_ATTACK; }
AttackTask(AIClasses *_ai, int target, CGroup& group);
int target;
// the target to attack
int targetAlt;
// alternative target from enemyScan() subroutine
std::string enemy;
// user name of target
/* Update the attack task */
void onUpdate();
/* overload */
bool onValidate();
/* overload */
void toStream(std::ostream& out) const;
/* overload */
void onEnemyDestroyed(int enemy, int attacker);
};
#endif
|