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
28
29
30
31
32
|
#pragma once
#include "Goal.h"
class RangedAttackMob;
class RangedAttackGoal : public Goal
{
private:
Mob *mob; // Owner
RangedAttackMob *rangedAttackMob; // owner
weak_ptr<LivingEntity> target;
int attackTime;
double speedModifier;
int seeTime;
int attackIntervalMin;
int attackIntervalMax;
float attackRadius;
float attackRadiusSqr;
void _init(RangedAttackMob *rangedMob, Mob *mob, double speedModifier, int attackIntervalMin, int attackIntervalMax, float attackRadius);
public:
// 4J Added extra Mob param to avoid weird type conversion problems
RangedAttackGoal(RangedAttackMob *rangedMob, Mob *mob, double speedModifier, int attackInterval, float attackRadius);
RangedAttackGoal(RangedAttackMob *rangedMob, Mob *mob, double speedModifier, int attackIntervalMin, int attackIntervalMax, float attackRadius);
bool canUse();
bool canContinueToUse();
void stop();
void tick();
};
|