blob: 49f76f9ed862f444583ffb8fde8b024fcbc07ff9 (
plain)
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
33
34
35
36
37
38
39
|
#pragma once
#include "PathfinderMob.h"
class AgableMob : public PathfinderMob
{
private:
static const int DATA_AGE_ID = 12;
public:
static const int BABY_START_AGE = -20 * 60 * 20;
private:
float registeredBBWidth;
float registeredBBHeight;
public:
AgableMob(Level *level);
virtual bool mobInteract(shared_ptr<Player> player);
protected:
virtual void defineSynchedData();
public:
virtual shared_ptr<AgableMob> getBreedOffspring(shared_ptr<AgableMob> target) = 0;
virtual int getAge();
virtual void ageUp(int seconds);
virtual void setAge(int age);
virtual void addAdditonalSaveData(CompoundTag *tag);
virtual void readAdditionalSaveData(CompoundTag *tag);
virtual void aiStep();
virtual bool isBaby();
virtual void updateSize(bool isBaby);
protected:
virtual void setSize(float w, float h);
void internalSetSize(float scale);
};
|