the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "Monster.h"
4#include "RangedAttackMob.h"
5
6class Witch : public Monster, public RangedAttackMob
7{
8public:
9 eINSTANCEOF GetType() { return eTYPE_WITCH; }
10 static Entity *create(Level *level) { return new Witch(level); }
11
12private:
13 static AttributeModifier *SPEED_MODIFIER_DRINKING;
14
15 static const int DATA_USING_ITEM = 21;
16 static const int DEATH_LOOT_COUNT = 8;
17 static const int DEATH_LOOT[DEATH_LOOT_COUNT];
18
19 int usingTime;
20
21public:
22 Witch(Level *level);
23
24protected:
25 virtual void defineSynchedData();
26 virtual int getAmbientSound();
27 virtual int getHurtSound();
28 virtual int getDeathSound();
29
30public:
31 virtual void setUsingItem(bool isUsing);
32 virtual bool isUsingItem();
33
34protected:
35 virtual void registerAttributes();
36
37public:
38 virtual bool useNewAi();
39 virtual void aiStep();
40 virtual void handleEntityEvent(byte id);
41
42protected:
43 virtual float getDamageAfterMagicAbsorb(DamageSource *damageSource, float damage);
44 virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel);
45
46public:
47 virtual void performRangedAttack(shared_ptr<LivingEntity> target, float power);
48};